﻿                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
var strWebtrendsSite = "Redesign2006"; 
var strCustomWTParams = "";
var strMainSection = "";
var strSubSection = "";
var str3rdLevel = "";
var strTvgServerName = "";

//
// these were moved from the user control to prevent errors
//
var gImages = new Array;
var gIndex = 0;
var DCS = new Object();
var WT = new Object();
var DCSext = new Object();
var gDomain = "sdc.tvguide.com";
var gDcsId = "";

var strSiteHostName = document.location.hostname.toLowerCase();


// necessary domain setting !!!
try
{
    switch(navigator.appName.toLowerCase())
    {
        case "netscape" :
            break;
        default:
            setDocDomain();
            break;
    }
}
catch(err)
{
}  

function setDocDomain()
{
    var domParts = document.domain.split('.');
    
    switch(domParts.length)
    {
        case 0:
            break;
        case 1:
            break;
        default:
            document.domain = domParts[domParts.length-2] + '.' + domParts[domParts.length-1];
            break;
    }
}

function collectWebtrendsData()
{
	var tmpPath = document.location.pathname.split("/");
	for(var n=0; n < tmpPath.length; n++)
	{
		switch(n)
		{
			case 1:
				strMainSection = tmpPath[n];
				break;
			case 2:
				strSubSection = tmpPath[n];
				break;
			case 3:
			    str3rdLevel = tmpPath[n];
			    break;
		}
	}
	dcsVar();
}

function dcsVar()
{
    if(!DCS) 
    {
        DCS = new Object();
    }
    if(!WT)
    {   
        WT = new Object();
    }
    
	var dCurrent=new Date();
	WT.tz=dCurrent.getTimezoneOffset()/60*-1;
	if (WT.tz==0)
	{
		WT.tz="0";
	}
	WT.bh=dCurrent.getHours();
	WT.ul=navigator.appName=="Netscape"?navigator.language:navigator.userLanguage;
	if (typeof(screen)=="object")
	{
		WT.cd=navigator.appName=="Netscape"?screen.pixelDepth:screen.colorDepth;
		WT.sr=screen.width+"x"+screen.height;
	}
	if (typeof(navigator.javaEnabled())=="boolean")
	{
		WT.jo=navigator.javaEnabled()?"Yes":"No";
	}
	if (document.title)
	{
		WT.ti=document.title;
	}
	WT.js="Yes";
	if (typeof(gVersion)!="undefined")
	{
		WT.jv=gVersion;
	}
	DCS.dcsdat=dCurrent.getTime();
	
	DCS.dcssip='www.tvguide.com';
	
	// handle sports.tvguide.com	
	if(strSiteHostName.indexOf("sports")>=0)
	{ DCS.dcssip='sports.tvguide.com'; }

	if(strSiteHostName.indexOf("movies")>=0)
	{ DCS.dcssip='movies.tvguide.com'; }

	DCS.dcsuri=window.location.pathname;
	
	if (window.location.search)
	{
		DCS.dcsqry=window.location.search;
	}
	if ((window.document.referrer!="")&&(window.document.referrer!="-"))
	{
		if (!(navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)<4))
		{
			DCS.dcsref=window.document.referrer;
		}
	}
    dcsTag();
}

function makeNVP(N,V)
{
	return "&"+N+"="+dcsEscape(V);
}

function dcsEscape(S)
{
	if (typeof(RE)!="undefined")
	{
		var retStr = new String(S);
		for (R in RE)
		{
			retStr = retStr.replace(RE[R],R);
		}
		return retStr;
	}
	else
	{
		return escape(S);
	}
}

function dcsCreateImage(dcsSrc)
{
	var rnd = new Date();
	var xS, xY;
	dcsSrc += "&rnd=" + rnd.getTime();
	if (document.images)
	{
		gImages[gIndex]=new Image;
		gImages[gIndex].src=dcsSrc;
		xS = gImages[gIndex].width;
		yS = gImages[gIndex].height;
		gIndex++;
	}
	else
	{
		document.write('<IMG BORDER="0" NAME="DCSIMG" WIDTH="1" HEIGHT="1" SRC="'+dcsSrc+'">');
	}
}

function dcsTag()
{
    if(!DCS) 
    {
        DCS = new Object();
    }
    if(!WT)
    {   
        WT = new Object();
    }
    
	var P="http"+(window.location.protocol.indexOf('https:')==0?'s':'')+"://"+gDomain+(gDcsId==""?'':'/'+gDcsId)+"/dcs.gif?dctype=0";
	
	if(readCookie("wtpgcnt")!=null) { P+="&dcsredirect=1"; }
	else { setCookie("wtpgcnt", "1", 0); }    
	
	for (N in DCS)
	{
		if (DCS[N]) 
		{
			P+=makeNVP(N,DCS[N]);
		}
	}
	for (N in WT)
	{
		if (WT[N]) 
		{
			P+=makeNVP("WT."+N,WT[N]);
		}
	}
	for (N in DCSext)
	{
		if (DCSext[N]) 
		{
			P+=makeNVP(N,DCSext[N]);
		}
	}
	
    if(strMainSection.length<=0)
	{
	    strMainSection = "Home.aspx";
	}
	
	P+="&WT.sv="+strTvgServerName;
	P+="&WT.cg_n="+strMainSection+"&WT.cg_s="+strSubSection;
	P+="&WT.site=" + strWebtrendsSite;
	P+=strCustomWTParams;
	
	if(readCookie("MAPCookie")!=null)
	{
	    P+="&TVG.user=" + escape("Logged In");
	}
	else
	{
	    P+="&TVG.user=" + escape("Anonymous");
	}

    if(readCookie("Provider")!=null)
    {
        P += "&TVG.provgroup=" + escape(readCookie("Provider"));
    }
	
	// send detail page info if available
	var path = document.location.pathname;
	if(strTvObjectName.length>0)
	{
        P+="&WT.objtyp="+escape(strTvObjectType);
        P+="&WT.tvobj="+escape(strTvObjectName);
	    countDetailPage(strTvObjectName, strTvObjectType);
    }
	
    if (P.length>2048&&navigator.userAgent.indexOf('MSIE')>=0)
    {
	    P=P.substring(0,2040)+"&WT.tu=1";
    }
	
	dcsCreateImage(P);
}

function getWebtrendsBase()
{
    var strBase = "http:\/\/sdc.tvguide.com\/dcs.gif?dctype=1";
	if(readCookie("wtpgcnt")!=null) { strBase+="&dcsredirect=1"; }
	else { setCookie("wtpgcnt", "1", 0); }    
	var dCurrent = new Date();
	strBase += "&dcsdat=" + dCurrent.getTime();
	strBase += "&dcssip=" + "www.tvguide.com";	
	strBase += "&dcsuri=" + document.location.pathname;
	strBase += "&WT.tz=" + dCurrent.getTimezoneOffset()/60*-1;
	strBase += "&WT.bh=" + dCurrent.getHours();
	return strBase;
}

var gcCountImage = null;

function executeGridCounter(strDcsImgUrl)
{
    gcCountImage = null;
    
	strDcsImgUrl += "&WT.site=ListingsGrid";
	strDcsImgUrl += "&WT.prof=listings";

	if (strDcsImgUrl.length>2048&&navigator.userAgent.indexOf('MSIE')>=0)
	{
		strDcsImgUrl=strDcsImgUrl.substring(0,2040)+"&WT.tu=1";
	}
	
	var rnd = new Date();
	strDcsImgUrl += "&rnd=" + rnd.getTime();
	
	if (document.images)
	{
 		gcCountImage = new Image();
		gcCountImage.src = strDcsImgUrl;
		var xS = gcCountImage.width;
		var yS = gcCountImage.height;
	}
}

function countHPGridClick(strLocation)
{
    var p = document.location.pathname.toLowerCase();
    if( (p=="/") || (p=="/home.aspx") )
    {
	    var strDcsImgUrl = getWebtrendsBase();
	    strDcsImgUrl += "&GRID.hpclk=" + escape(strLocation);
	    // Commented out by DAN 2009-01-05        
        executeGridCounter(strDcsImgUrl);  
    }
}    

function countGridAction(strAction, strValue)
{ 
    /* NEW! */ 
    countOmniGridAction(strAction, strValue);
  
	var strDcsImgUrl = getWebtrendsBase();
    strDcsImgUrl += "&GRID.action=" + escape(strAction);
    strDcsImgUrl += "&GRID.value=" + escape(strValue);
    // Commented out by DAN 2009-01-05
    executeGridCounter(strDcsImgUrl);  
}

function countFlyover(strCat, strSubCat, strTitle, iProgramID, iSeriesID, strAction)
{
//    if(!((document.location.port=="80")||(document.location.port=="")))
//    {
//		alert("countFlyover called");
//    }
    
    /* NEW! */ 
    countOmniFlyover(strCat, strSubCat, strTitle, iProgramID, iSeriesID, strAction);

//    if(!((document.location.port=="80")||(document.location.port=="")))
//    {
//		alert("after countOmniFlyover() call");
//    }
        
	var strDcsImgUrl = getWebtrendsBase();
    strDcsImgUrl += "&GRID.flyCat=" + escape(strCat);
    strDcsImgUrl += "&GRID.flySubCat=" + escape(strSubCat);
    strDcsImgUrl += "&GRID.flyTitle=" + escape(strTitle);
    // Commented out by DAN 2009-01-05
    executeGridCounter(strDcsImgUrl);  
    // srCountGridEvent(strCat, strSubCat, strTitle, iProgramID, iSeriesID, strAction);
}

function countFlyoverEx(strCat, strSubCat, strTitle)
{    
	var strDcsImgUrl = getWebtrendsBase();
    strDcsImgUrl += "&GRID.flyCat=" + escape(strCat);
    strDcsImgUrl += "&GRID.flySubCat=" + escape(strSubCat);
    strDcsImgUrl += "&GRID.flyTitle=" + escape(strTitle);
    // Commented out by DAN 2009-01-05
    executeGridCounter(strDcsImgUrl);  
}

function countGridPrefs(strPrefs)
{  
    /* NEW! */ 
    countOmniGridPrefs(strPrefs);
  
	var strDcsImgUrl = getWebtrendsBase();
    strDcsImgUrl += "&GRID.prefs=" + escape(strPrefs);
    // Commented out by DAN 2009-01-05
    executeGridCounter(strDcsImgUrl);  
}

function countGridView(strViewType, strFilter)
{    
	var strDcsImgUrl = getWebtrendsBase();
    strDcsImgUrl += "&GRID.page=" + escape('Listings Grid');
    strDcsImgUrl += "&GRID.view=" + escape(strViewType);
    strDcsImgUrl += "&GRID.filter=" + escape(strFilter);
    // Commented out by DAN 2009-01-05
    executeGridCounter(strDcsImgUrl);  
}

function countListingsSetup(strPageDesc)
{    
	var strDcsImgUrl = getWebtrendsBase();
    strDcsImgUrl += "&GRID.page=" + escape(strPageDesc);
    // Commented out by DAN 2009-01-05
    executeGridCounter(strDcsImgUrl);  
}

function countDetailPage(strObjName, strObjType)
{
	var strDcsImgUrl = getWebtrendsBase();
    strDcsImgUrl += "&WT.objtyp=" + escape(strObjType);
    strDcsImgUrl += "&WT.tvobj=" + escape(strObjName);
    
    if(strMainSection.toLowerCase()=='detail')
    {
        strDcsImgUrl += "&WT.urltyp=" + escape(strObjType+" (querystring)");
    }
    else
    {
        strDcsImgUrl += "&WT.urltyp=" + escape(strObjType+" (friendly-url)");
    }
       
    // Commented out by DAN 2009-01-05
    executeGridCounter(strDcsImgUrl);  
}

function countGridViewEx(strViewType, strFilter, strProviderType, nChannels, nMinutes, iAjaxLoadTime, iAjaxRender, iAjaxBytes)
{
    /* NEW! */ 
    countOmniGridViewEx(strViewType, strFilter, strProviderType, nChannels, nMinutes, iAjaxLoadTime, iAjaxRender, iAjaxBytes);
    
    nChannels = parseInt(nChannels,10);
    var strChans = "";
    
    if(nChannels<=20)
    {
        strChans = "1-20"; 
    }
    else if(nChannels<=50)
    {
        strChans = "21-50"; 
    }
    else if(nChannels<=100)
    {
        strChans = "51-100"; 
    }
    else if(nChannels<=150)
    {
        strChans = "101-150"; 
    }
    else if(nChannels<=200)
    {
        strChans = "151-200"; 
    }
    else if(nChannels<=250)
    {
        strChans = "201-250"; 
    }
    else if(nChannels<=300)
    {
        strChans = "251-300"; 
    }
    else if(nChannels<=400)
    {
        strChans = "301-400"; 
    }
    else if(nChannels<=500)
    {
        strChans = "401-500"; 
    }
    else if(nChannels<=1000)
    {
        strChans = "501-1000"; 
    }
    else
    {
        strChans = "1001-xxxx"; 
    }

      
	var strDcsImgUrl = getWebtrendsBase();
    strDcsImgUrl += "&GRID.page=" + escape('Listings Grid');
    strDcsImgUrl += "&GRID.view=" + escape(strViewType);
    strDcsImgUrl += "&GRID.ajax=true";
    
    if(readCookie("Provider")!=null)
    {
        strDcsImgUrl += "&TVG.provgroup=" + escape(readCookie("Provider"));
    }

    if (document.location.pathname.toLowerCase().indexOf("betagrid") >= 0)
    {
        strDcsImgUrl += "&GRID.version=Beta-Grid";        
    }
    else
    {
        strDcsImgUrl += "&GRID.version=Classic";
    }

    if(nChannels>0) 
    {
        strDcsImgUrl += "&GRID.filter=" + escape(strFilter);
        strDcsImgUrl += "&GRID.prtype=" + escape(strProviderType);
        strDcsImgUrl += "&GRID.chans=" + escape(strChans+" channels");
        strDcsImgUrl += "&GRID.mins=" + escape(nMinutes+" minutes");
        strDcsImgUrl += "&GRID.aload=" + escape(iAjaxLoadTime+" secs");
        strDcsImgUrl += "&GRID.arender=" + escape(iAjaxRender+" secs");
        strDcsImgUrl += "&GRID.akbytes=" + escape(iAjaxBytes+" KB");
    }
    
    strDcsImgUrl += getFavChannels();    

    // Commented out by DAN 2009-01-05
    executeGridCounter(strDcsImgUrl);  
    
    var strTrax = "http://trax.tvguide.com/listings.gif";
    // pass tvgid
    strTrax += "?uid=" + readCookie("TVGID");    
    // pass back service ID and zip code
    strTrax += "&sid=" + iServiceID + "&zip=" + readCookie("zip");
    // pass back grid start time (local)
    strTrax += "&gdt=" + escape(getGridTime());
    // pass back grid duration (minutes)
    strTrax += "&gmn=" + iGridSpanMinutes;
    // number of channels
    strTrax += "&chs=" + nChannels;
    // number of programs
    strTrax += "&prg=" + objRawData.length;
    // size in bytes
    strTrax += "&byt=" + iResponseBytes;
    // load in milliseconds
    strTrax += "&mil=" + iAjaxMillisecs;
    // data server
    strTrax += "&srv=" + strDataServer;
    // number of grid ads
    strTrax += "&ads=" + iGridAds;
    // cache buster    
    strTrax += "&cb=" + parseInt(Math.random()*10000000,10);
    // make the call back
    loadImageURL(strTrax);
}

function getGridTime()
{
    // date and time of grid shown LOCAL TIME!!!
    var strDate = dtGridLocalStartTime.getFullYear();    
    // months are 0 based
    if(dtGridLocalStartTime.getMonth()<9) { strDate += "0"; }
    strDate += (dtGridLocalStartTime.getMonth()+1);
    // dates are 1 based
    if(dtGridLocalStartTime.getDate()<10) { strDate += "0"; }
    strDate += dtGridLocalStartTime.getDate();
    // add the 24 hour time
    if(dtGridLocalStartTime.getHours()<10) { strDate += "0"; }
    strDate += dtGridLocalStartTime.getHours();
    // add minutes
    if(dtGridLocalStartTime.getMinutes()<10) { strDate += "0"; }
    strDate += dtGridLocalStartTime.getMinutes();
    return strDate;
}

function getFavChannels()
{
    var fvch = "";
    try
    {
        if(arSelectedChannels!=null)
        {
            if(arSelectedChannels.length>0)
            {
                for(var fv=0; fv<arSelectedChannels.length; fv++)
                {
                    if(fv>0) { fvch+=";"; }                    
                    fvch += arSelectedChannels[fv];
                }
                fvch = "&GRID.favchan=" + fvch;
            }
        }
    }
    catch(e)
    {
        return "";
    }
    return fvch;   
}

var srImage;

function getSmartRecUrlBase()
{
    var srURL = "http://cps.tvguide.com/smartrecs.gif?UserID=";    
    srURL += readCookie("TVGID");
    return srURL;
}

function srCountGridEvent(strCat, strSubCat, strTitle, iProgramID, iSeriesID, strUsageType)
{
    var srURL = getSmartRecUrlBase();
    srURL += "&SeriesID=" + iSeriesID;
    srURL += "&ProgramID=" + iProgramID;
    srURL += "&ProgramCategory=" + escape(strCat);
    srURL += "&ProgramSubCategory=" + escape(strSubCat);
    srURL += "&ProgramTitle=" + escape(strTitle);
    srURL += "&UsageDataType=" + strUsageType;
    callSmartRecs(srURL);       
}

function srAddFav(strRetURL, strUsageType)
{
    var srURL = getSmartRecUrlBase();
    if(strTvObjectName.length>0)
    {
        if(strTvObjectType!="celebrity")
        {
            srURL += "&TvObjectID=" + iTvObjectID;
            srURL += "&TvObjectType=" + escape(strTvObjectType);
            srURL += "&TvObjectName=" + escape(strTvObjectName);
            srURL += "&UsageDataType=" + strUsageType;
            callSmartRecs(srURL);
        }
    } 
    document.location = strRetURL;  
}

function loadImageURL(srURL)
{
	srImage = new Image();
	srImage.src = srURL;
	var xS = srImage.width;
	var yS = srImage.height;
}


function callSmartRecs(srURL)
{
	srImage = new Image();
	srImage.src = srURL;
	var xS = srImage.width;
	var yS = srImage.height;
}

function executeSiteCounter(strDcsImgUrl, strSite, strProfile)
{
    gcCountImage = null;
    
	strDcsImgUrl += "&WT.site=" + escape(strSite);
	strDcsImgUrl += "&WT.prof=" + escape(strProfile);

	if (strDcsImgUrl.length>2048&&navigator.userAgent.indexOf('MSIE')>=0)
	{
		strDcsImgUrl=strDcsImgUrl.substring(0,2040)+"&WT.tu=1";
	}
	
	var rnd = new Date();
	strDcsImgUrl += "&rnd=" + rnd.getTime();
	
	if (document.images)
	{
 		gcCountImage = new Image();
		gcCountImage.src = strDcsImgUrl;
		var xS = gcCountImage.width;
		var yS = gcCountImage.height;
	}
}

function countSportsGuidePage(strSport, strLeague, strKeyword, strHdFilter, strEventFilter)
{
	omni_countSportsGuidePage(strSport, strLeague, strKeyword, strHdFilter, strEventFilter);
	var strDcsImgUrl = getWebtrendsBase();	
    strDcsImgUrl += "&SPORTS.sport=" + escape(strSport);
    strDcsImgUrl += "&SPORTS.league=" + escape(strLeague);
    strDcsImgUrl += "&SPORTS.keyword=" + escape(strKeyword);
    strDcsImgUrl += "&SPORTS.hdfilter=" + escape(strHdFilter);
    strDcsImgUrl += "&SPORTS.eventfilter=" + escape(strEventFilter);

    executeSiteCounter(strDcsImgUrl, "ListingsGrid", "listings");
}