﻿/* Author:Aruna M
JS file for Having Web Service calls related to NewsShowHome Page And other Client Side Logics

*/
var current=0;
var BroadCastsProxy;
var ViewerRanking=0;//Initialising Ranking Value
var watchNowButtonClicked=false;
var UserId="00000000-0000-0000-0000-000000000000";
var SeriesId="00000000-0000-0000-0000-000000000000";
var EpisodeId="00000000-0000-0000-0000-000000000000";
var serviceInvoked=false;
var modalStarted=false;
var previousComment="";
var Bottom, Top,YAdjustment, XAdjustment,Focus;
var ClientRefreshActivated=false;


window.onload=init;

function init()
{
   SetTimer();
   var NewsItemDiv=getObj('divNewsItems');
   NewsItemDiv.style.display="block";
   if(typeof document.getElementById('ctl00_Content_dlNewsEpisodes')!='undefined'&& typeof document.getElementById('ctl00_Content_dlNewsEpisodes').childNodes !='undefined')
   {
        try
        {
          var showPopUp=setInterval("showModal()",100);
        }
        catch(er)
        {
        
        }
       try
        {
            paging(0);  
        } 
       catch(er)
        {
        
        }
        try
        {
            InitEpisodePlayer();
       } 
       catch(er)
        {
        
        }
        try
        {
            fetchEpisode();
       } 
       
       catch(er)
        {
        
        }
       try
        {
             //getEpisodeComments();
        }
        catch(er)
        {
        
        }
        try
        {
            //IsOpportunityAvailable(getObj('ctl00_Content_SeriesValue').value)
        }
        catch(er)
        {
        
        }
        try
        {
//            var params=new Array();
//            params[0]="series="+getValue('ctl00_Content_SeriesValue');
//            params[1]="episode="+getValue('ctl00_Content_EpisodeValue');
//            setShareParameters("NewsShowHome.aspx",params,'Episode',getValue('ctl00_Content_SeriesValue'),getValue('ctl00_Content_EpisodeValue'));
        }
        catch(er)
        {
    
        }
        
     
     }
      
    
}

function paging(current)
{

// DataList=document.getElementById('ctl00_Content_dlNewsEpisodes');
// DataList.innerHTML=DataList.innerHTML.replace(/<BR>/g,"");
 var items=getObj('ctl00_Content_dlNewsEpisodes').getElementsByTagName('li');
 var x=items.length;
 var itemleft=0;
 var pagestart=0;
 var pagerange=0;
 var pageCount=0;
 var spnEpisodeCount = getObj("spnEpisodeCount");
 /*Hiding all the datalist elements.*/
 for(var i=0;i<items.length;i++)
        {
            items[i].style.display='none';            
        }
pagestart=(12*current)+1;
pagerange=12*(current+1);
if(pagerange>x)
   pagerange=x
spnEpisodeCount.innerHTML= "Stories "+pagestart+"-"+pagerange+" ("+x+"Stories)"; 
/*Counting the number of pages*/
 while(x>0)
     {
            itemleft=x-12;
              x=itemleft;
             pageCount=pageCount+1;
     }
  if(pageCount==1)
        {
            
            getObj("imgPrev").src = getValue('ctl00_Content_CurrentTheme')+ "ThemeImages/arrow_left_off.gif";
            getObj("imgNext").src = getValue('ctl00_Content_CurrentTheme')+ "ThemeImages/arrow_right_off.gif";
            getObj("imgPrev").onclick="";
            getObj("imgNext").onclick="";
            

          }
 if(current%pageCount<pageCount)
         {
              getObj("imgPrev").src = getValue('ctl00_Content_CurrentTheme')+ "ThemeImages/arrow_left_on.gif";
              getObj("imgNext").src = getValue('ctl00_Content_CurrentTheme')+ "ThemeImages/arrow_right_on.gif";
              getObj("imgPrev").onclick=function(){showPrev()};
              getObj("imgNext").onclick=function(){showNext()};
              
             itemleft=items.length-(12*current);
            if(itemleft>12)
            {
                for(var i=12*current;i<12*(current+1);i++)
                {
                    if(items[i].getElementsByTagName('img')[0].src=="")
                    {
                        items[i].getElementsByTagName('img')[0].src=items[i].getElementsByTagName('input')[4].value;
                    }
                    items[i].style.display='';            
                }
            }
            else
            {
                for(var i=12*current;i<items.length;i++)
                {
                    if(items[i].getElementsByTagName('img')[0].src=="")
                    {
                        items[i].getElementsByTagName('img')[0].src=items[i].getElementsByTagName('input')[4].value;
                    }
                    items[i].style.display='';            
                }
            }

           
          }
  if(current%pageCount==0)
         {
              getObj("imgPrev").src = getValue('ctl00_Content_CurrentTheme')+ "ThemeImages/arrow_left_off.gif";
              getObj("imgPrev").onclick="";

         }
  if(current%pageCount==pageCount-1)
         {
              getObj("imgNext").src = getValue('ctl00_Content_CurrentTheme')+ "ThemeImages/arrow_right_off.gif";
              getObj("imgNext").onclick="";
              for(var i=(items.length-1);i>((12*current)-1);i--)
                {
                    if(items[i].getElementsByTagName('img')[0].src=="")
                    {
                        items[i].getElementsByTagName('img')[0].src=items[i].getElementsByTagName('input')[4].value;
                    }
                    items[i].style.display='';            
                }
         }
         
         

   }
   
function showPrev()
{
   
   if(current>0)
   {
     current=current-1;
    paging (current);
   }
}
function showNext()
{
  
  current=current+1;
 paging (current);         
}

function fetchEpisode()
{

 var currentepisode="";
 if(Request.QueryString("episode")!=null && Request.QueryString("episode").Count()>0)
 {
    currentepisode=Request.QueryString("episode");
 }
 else
 {
    currentepisode=getObj('ctl00_Content_EpisodeValue').value;
 }
 var Lstitems= document.getElementById('ctl00_Content_dlNewsEpisodes').getElementsByTagName('li');

 if(currentepisode=="")
 {
  currentepisode=getObj('ctl00_Content_dlNewsEpisodes_ctl00_itemEpisodeId').value;
  getObj('ctl00_Content_EpisodeValue').value=currentepisode;
 }
 //getVideoForEpisode(currentepisode);
 //InitRanking();
 //GetEpisodeRanking(getValue('ctl00_UserId'),currentepisode);
 for(var i=0;i<Lstitems.length;i++)
     {
         if(Lstitems[i].getElementsByTagName('input')[1].value==currentepisode)
         {
             setCurrentEpisode(Lstitems[i]);
             setUpComingEpisode(Lstitems[(i+1)%Lstitems.length]);
             //playEpisodeVideo(Lstitems[i].getElementsByTagName('input')[2].value)
             break;
         }
      }
 }
  
function InitRanking()
{
 try
    {
        if(validateGUID(getValue('ctl00_Content_EpisodeValue')))
        {
            getViewerRanking(getValue('ctl00_Content_EpisodeValue'));
        }
    }
    catch(er)
    {
    
    }
    try
    {
       if(validateGUID(getValue('ctl00_Content_EpisodeValue')))
       {
            getAverageViewerRating(getValue('ctl00_Content_EpisodeValue'));
       }
    }
    catch(er)
    {
    
    }
    try
    {
       if(validateGUID(getValue('ctl00_Content_EpisodeValue')))
       {
            getFavourite(getValue('ctl00_Content_EpisodeValue'));
       }
    }
    catch(er)
    {
    
    }
  
    
}


function switchEpisodeAfterPlayBack(currentEpisode)
{
   
    var episodeList=document.getElementById('ctl00_Content_dlNewsEpisodes').getElementsByTagName('li');
    var nextItem=0;
    
   
    for(var i=0;i<episodeList.length;i++)
    {
         if(episodeList[i].getElementsByTagName('input')[1].value==currentEpisode)
         {
            episodeList[i].getElementsByTagName('div')[0].className="episcrolloff_box";
            episodeList[i].getElementsByTagName('div')[2].innerHTML="";
            episodeList[i].getElementsByTagName('div')[2].style.display="none";
            nextItem=(i+1)%episodeList.length;
            
            
            if(nextItem==12*(current+1))
            {
            showNext(); 
            } 
            else if(nextItem==0)
            {
            current=0;
            paging(current);
            }      
                
            
            setCurrentEpisode(episodeList[nextItem]);
            if(episodeList.length!=1)
            setUpComingEpisode(episodeList[(nextItem+1)%episodeList.length]);
            
            break;
         }
    }

}

function switchEpisodeOnClick(obj)
{
    
 
    var str=obj.id;
    var arr= str.split("_");

    var item= arr[0]+"_"+arr[1]+"_"+arr[2]+"_"+arr[3]+"_itemEpisodeId";
    
    var currentItem;
    var nextItem;
    
    var lstItems= document.getElementById('ctl00_Content_dlNewsEpisodes').getElementsByTagName('li');
    
     
    for(var i=0;i<lstItems.length;i++)
    {
        
            lstItems[i].getElementsByTagName('div')[0].className="episcrolloff_box";
            lstItems[i].getElementsByTagName('div')[2].innerHTML="";
            lstItems[i].getElementsByTagName('div')[2].style.display="none";
    
            
    }
    
    for(var j=0;j<lstItems.length;j++)
    {
        if(lstItems[j].getElementsByTagName('input')[1].id==item)
        {
            currentItem=lstItems[j];
            nextItem=lstItems[(j+1)%lstItems.length];
            break;
        }
     }
    
    watchNowButtonClicked=true;
    stopEpisodeVideo();
    watchNowButtonClicked=false;
    
    setCurrentEpisode(currentItem);
    if(lstItems.length!=1)
    setUpComingEpisode(nextItem);
    
    if(navigator.appVersion.indexOf("MSIE") != -1)
    {
         event.returnValue = false; // IE          
    }
    
    return(false);    

}

function setCurrentEpisode(item)
{

 
     if(typeof item!='undefined')
     {

        var divEpisodeDescription= getObj('divEpisodeDescription');
        var SerEpisodeTitle=getObj('ctl00_Content_divSerEpisodeTitle');
        divEpisodeDescription.innerHTML="<strong>DESCRIPTION:</strong> "+item.getElementsByTagName('input')[3].value;

        item.getElementsByTagName('div')[0].className="episcrollon_box";
        item.getElementsByTagName('div')[2].innerHTML="Now Playing";
        item.getElementsByTagName('div')[2].className="episcroll_nowplaying";
        item.getElementsByTagName('div')[2].style.display="block";
        getObj('ctl00_Content_EpisodeValue').value=item.getElementsByTagName('input')[1].value;
        
        SerEpisodeTitle.innerHTML= item.getElementsByTagName('div')[3].innerHTML;
        fetchAds();
//        if(getObj('ctl00_Content_hdnDynamicRefresh').value!= '')
//          SetAdParams("NewsShowHome",0,getObj('ctl00_Content_EpisodeValue').value)//Calling The Ad Client
        
     }
     
     
     
   //  SetAdParams("SeriesViewEpisode",0,getObj('ctl00_Content_EpisodeValue').value)//Calling The Ad Client
     
     try
     {
        InitRanking();
     }
     catch(er)
     {
     
     }
     try
     {
        getEpisodeComments();
     }
     catch(er)
     {
     
     }
     try
     {
     
     playEpisodeVideo(item.getElementsByTagName('input')[2].value,item.getElementsByTagName('input')[5].value)
     }
     catch(er)
     {
     
     }
     try
     {
        
        var channelId=Request.QueryString("channel");   
        GetShareDetails(channelId,getValue('ctl00_Content_SeriesValue'));
     }
     catch(er)
     {
        
     }
     
    try
    {
        var pageUrl="watch~"+item.getElementsByTagName('input')[5].value;
        setShareParameters(pageUrl,'Episode',getValue('ctl00_Content_SeriesValue'),getValue('ctl00_Content_EpisodeValue'));
    }
    catch(er)
    {
    
    }
 }
 
function fetchAds()
{
    if(validateGUID(getObj('ctl00_Content_EpisodeValue').value))
    {
        var Set=ClientRefreshActivated;
        if(Set==true)
        {  
           if(getObj('ctl00_Content_hdnDynamicRefresh').value=='true')
              SetAdParams("NewsShowHome",0,getObj('ctl00_Content_EpisodeValue').value);
        }
        else
        {
            ClientRefreshActivated=true;
        }
    }
  
}  
 
 function setUpComingEpisode(item)
{

     if(typeof item!='undefined')
     {
     item.getElementsByTagName('div')[0].className="episcrolloff_box";
     item.getElementsByTagName('div')[2].innerHTML="up next...";
     item.getElementsByTagName('div')[2].className="episcroll_upnext";
     item.getElementsByTagName('div')[2].style.display="block";
     }
}

 
 function showWatchNow(obj)
 {
       
        obj.getElementsByTagName('input')[0].style.display='block';
 }

 function hideWatchNow(obj)
 {
        obj.getElementsByTagName('input')[0].style.display='none';
 }
 
 /*On clicking the Most Popular News Episodes*/
 function playEpisodeOnClick(obj)
{
 
    var str=obj.id;
    var arr= str.split("_");

    var item= arr[0]+"_"+arr[1]+"_"+arr[2]+"_"+arr[3]+"_EpisodeId";
    
    var popepisode="";
    var currentItem;
    var nextItem;
     
    var lstItems=document.getElementById('ctl00_Content_dlNewsEpisodes').getElementsByTagName('li');    
    
    var lstPopularItems= document.getElementById('ctl00_Content_dlPopularNewsEpisodes').getElementsByTagName('input');
    
     
    for(var i=0;i<lstItems.length;i++)
    {
        
            lstItems[i].getElementsByTagName('div')[0].className="episcrolloff_box";
            lstItems[i].getElementsByTagName('div')[2].innerHTML="";
            lstItems[i].getElementsByTagName('div')[2].style.display="none";
    
            
    }
     for(var k=0;k<lstPopularItems.length;k++)
     {
            if(lstPopularItems[k].id==item)
            {
            popepisode=lstPopularItems[k].value;
            break;
            }
     }
    for(var j=0;j<lstItems.length;j++)
    {
        
        if(lstItems[j].getElementsByTagName('input')[1].value==popepisode)
        {
            currentItem=lstItems[j];
            nextItem=lstItems[(j+1)%lstItems.length];
            break;
        }
     }
    
    watchNowButtonClicked=true;
    stopEpisodeVideo();
    watchNowButtonClicked=false;
    
    setCurrentEpisode(currentItem);
    if(lstItems.length!=1)
    setUpComingEpisode(nextItem);
    
    if(navigator.appVersion.indexOf("MSIE") != -1)
    {
         event.returnValue = false; // IE          
    }
    
    return(false);    

}
 function getEpisodeComments()
{
    
   serviceInvoked=true;
   if(validateGUID(getObj('ctl00_Content_SeriesValue').value) && validateGUID(getObj('ctl00_Content_EpisodeValue').value))
   {
        FliggeeBox.BroadCasts.GetEpisodePosts(getObj('ctl00_Content_SeriesValue').value,getObj('ctl00_Content_EpisodeValue').value,SucceededGetEpisodeComments,GetEpisodeCommentsError);
   }
   
  
    
}
function SucceededGetEpisodeComments(result)
{

     if(result!=null)
     {
        
            var commentsDiv=getObj('divComments')
            var SerEpisodeTitle=getObj('divSerEpisodeTitle')
            var str="";
            var str1="";
            var itemsToShow=0;
            var showAllButton=false;
            if(result.length>10)
            {
                itemsToShow=10;
                showAllButton=true;
            }
            else
            {
                itemsToShow=result.length-1;
                showAllButton=false;
            }
            for(var i=0;i<itemsToShow;i++)
            {
                 
                str=str+'<div style="float: left; position: relative; width: 68px; height: 100%; display: block;padding: 4px; text-align: center;">';
                str=str+'<img src="'+result[i][1] + '+" width="46" height="46" /><br />';
                str=str+'<span class="userid_text">'+result[i][0]+'</span><br />';
                str=str+'<span class="membersince_text">member since '+ result[i][2]+'</span>';
                str=str+'</div>';
                str=str+'<div style="float: left; width: 178px; height: 100%; display: block; padding: 4px;position: relative; text-align: left;">';
                str=str+' <div style="width: 178px; height: 100%; display: block;position: relative; text-align: left;">';
                str=str+result[i][4]+'</div>'
                str=str+'<div style="width: 178px; height: 100%; display: block;position: relative; text-align: left;">';
                str=str+result[i][3]+ '</div>';
                str= str+ "</div>";
                str=str+'<div style="width: 262px; height: 0px; position: relative; clear: both;">';
                str=str+'</div>';
                
                
            }

            
            commentsDiv.innerHTML=str;
            
            if(showAllButton)
            {
                 getObj('LnkShowAll').style.display='block';
                 getObj('LnkShowAll').href=result[result.length-1][0];
            }
            else
            {
                 getObj('LnkShowAll').style.display='none';
                  getObj('LnkShowAll').href="";
            }
     }
     serviceInvoked=false;
}

 function GetEpisodeCommentsError(error)
 {
    
   var commentsDiv=getObj('divComments');
   var str="";
   str=str+'<div style="float: left; position: relative; width: 68px; height: 100%; display: block;padding: 4px; text-align: center;">';
   str=str+Comments.Error_Div_FetchComment;
   str=str+"</div>";
   commentsDiv.innerHTML=str;
   getObj('LnkShowAll').style.display='none';
   serviceInvoked=false;
   
 }
 //function to Add Comments about the series
function AddCommentForEpisode(bottom, top,yAdjustment, xAdjustment,focus,userId)
{
    
    //serviceInvoked=true;
    getObj('divCommentsErrorBox').style.display="none";
    var container=getObj('ulErrorDescription');
    container.innerHTML="";
    
    if(getValue('ctl00_Content_TxtComments').length>0 && getValue('ctl00_Content_TxtComments')!='add comment' && getObj('ctl00_Content_TxtComments').value!=previousComment )
    {
        Top=top;Bottom=bottom;XAdjustment=xAdjustment;YAdjustment=yAdjustment;Focus=focus;
        getObj('varCheck').value='Add Comment';
        FliggeeBox.BroadCasts.IsUserLoggedIn(userId,NSH_SucceededLoggedIn);
       
      }
      else
      {
        getObj('divCommentsErrorBox').style.display="";
        if(getValue('ctl00_Content_TxtComments').length==0 || getValue('ctl00_Content_TxtComments')=='add comment')
        {
             
             var new_element = document.createElement('li');
             new_element.innerHTML =Comments.Error_Txt_CommentsBlank;
             container.insertBefore(new_element, container.firstChild);

        }
        else if(getObj('ctl00_Content_TxtComments').value==previousComment)
        {
            var new_element = document.createElement('li');
             new_element.innerHTML =Comments.Error_Txt_CommentsDuplicate;
             container.insertBefore(new_element, container.firstChild);
        }
       
        
      }
      if (navigator.appVersion.indexOf("MSIE") != -1)
      {
          event.returnValue = false; // IE          
      }
      return false;  
   
   
}
   //Ajax Methods for Add comments
function SucceededAddComment(result)
{
   if(result==true)
   { 
//        alert("Thank you for your comment. Your comment has already been created");
        getObj('btnAddComment').disabled=false;
        getObj('ctl00_Content_TxtComments').value="";
        getEpisodeComments();
   }
   else
   {
        getObj('divCommentsErrorBox').style.display='';
        var container=getObj('ulErrorDescription');
        container.innerHTML="";
        var new_element = document.createElement('li');
        new_element.innerHTML =Comments.Error_Btn_AddCommentUnabletoPost;
        container.insertBefore(new_element, container.firstChild);
        
        getObj('btnAddComment').disabled=false;
        previousComment="";
   }
    serviceInvoked=false;   
}

function FailedAddComment(error)
{
    getObj('divCommentsErrorBox').style.display='';
    var container=getObj('ulErrorDescription');
    container.innerHTML="";
    var new_element = document.createElement('li');
    new_element.innerHTML =Comments.Error_Btn_AddCommentUnabletoPost;
    container.insertBefore(new_element, container.firstChild);
    getObj('btnAddComment').disabled=false;
    previousComment="";
    serviceInvoked=false;
}
function showModal()
{
   if(serviceInvoked==true && modalStarted==false)
   {
    $find('ModalPopUp').show();
    modalStarted=true;
   }
   else if(serviceInvoked==false)
   {
     $find('ModalPopUp').hide()
     modalStarted=false;
     
   }
}

function IsOpportunityAvailable(series)
{
    if(validateGUID(series))
    {
        FliggeeBox.BroadCasts.IsOpportunityAvailable(series,IsAvailableForBackingSuccess,IsAvailableForBackingError);
        serviceInvoked=true;
    }
    else
    {
        getObj('spnBackShow').style.display='none';
        getObj('spnSupportShow').style.display='none';
   
        getObj('ctl00_Content_imgBackTheShow').style.display='none';
        getObj('ctl00_Content_imgSupportTheShow').style.display='none';
    
    }

    
}

function IsAvailableForBackingSuccess(result)
{
      var hideBackingControls=true; 

       if(result!=null)
       {
           for(var i=0;i<result.length;i++)
           {
                if(result[i].OpportunityId!='00000000-0000-0000-0000-000000000000' && result[i].Type=='Backer')
                {
                
                    getObj('ctl00_Content_hdnBackerOppurtuntiyid').value=result[i].OpportunityId;
                    getObj('ctl00_Content_imgBackTheShow').style.display='';
                    getObj('spnBackShow').style.display='';
                    hideBackingControls=false;
                    
                }  
                
                if(result[i].OpportunityId!='00000000-0000-0000-0000-000000000000' && result[i].Type=='Supporter')
                {
                
                    getObj('ctl00_Content_hdnSupporterOppurtuntiyid').value=result[i].OpportunityId;
                    getObj('ctl00_Content_imgSupportTheShow').style.display='';
                    getObj('spnSupportShow').style.display='';
                    hideBackingControls=false;
                }  
            
           }
           if(hideBackingControls)
           {
              getObj('spnBackShow').style.display='none';
              getObj('spnSupportShow').style.display='none';
              
              getObj('ctl00_Content_imgBackTheShow').style.display='none';  
              getObj('ctl00_Content_imgSupportTheShow').style.display='none';
           }
       }
        serviceInvoked=false;
}
    
function IsAvailableForBackingError(error)
{
    getObj('spnBackShow').style.display='none';
    getObj('spnSupportShow').style.display='none';
   
    getObj('ctl00_Content_imgBackTheShow').style.display='none';
    getObj('ctl00_Content_imgSupportTheShow').style.display='none';
    serviceInvoked=false;
}

function BackTheShow(bottom, top,yAdjustment, xAdjustment,focus)
{
  BackTheShowButtonClicked();
}  


function SupportTheShow(bottom, top,yAdjustment, xAdjustment,focus)
{
    SupportTheShowButtonClicked();
}

function BackTheShowButtonClicked()
{
    __doPostBack('ctl00$Content$imgBackTheShow');
}
function SupportTheShowButtonClicked()
{
    __doPostBack('ctl00$Content$imgSupportTheShow');
}

function NSH_SucceededLoggedIn(result)
{
    if(result==false)
    {
        serviceInvoked=false;
        PopupNewWindow(Bottom, Top,YAdjustment, XAdjustment,Focus);
    
    }
    else
    {
        if(getObj('varCheck').value=='Add Comment')
        {
             getObj('btnAddComment').disabled=true;
             serviceInvoked=true;
             previousComment=getObj('ctl00_Content_TxtComments').value;
             FliggeeBox.BroadCasts.AddCommentForEpisode(getObj('ctl00_Content_SeriesValue').value,getObj('ctl00_Content_EpisodeValue').value,getObj('ctl00_Content_divSerEpisodeTitle').innerHTML,getObj('ctl00_Content_TxtComments').value, SucceededAddComment,FailedAddComment);               
        }
        else if(getObj('varCheck').value=='BackShowIconClick')
        {
            BackTheShowButtonClicked();
            serviceInvoked=false;
        
        }
        else if(getObj('varCheck').value=='SupportShowIconClick')
        {
            SupportTheShowButtonClicked();
            serviceInvoked=false
        }
        
    
    }
}


