
/* KTVU.com scripts */
// Begin national js scripts

// need dcsFPC function to generate unique visitor values

var gImages=new Array;
var gIndex=0;
var DCS=new Object();
var WT=new Object();
var DCSext=new Object();
var gDomain="statse.webtrendslive.com";

//var gDcsId=siteinfo.thirdparty_info.WT_info.id;
var gDcsId="dcsqer06c10000kjci8awuirt_4w7z";

function prepareVariables() {

	DCSext.ib_station="ktvu";
	DCSext.ib_partner="cox";
	DCSext.ib_ntwk = "core";

	if (document.title){
		WT.ti=document.title;
	}

	WT.ul = navigator.appName=="Netscape"?navigator.language:navigator.userLanguage;
	WT.sr = screen.width+"x" +screen.height;

	var today = new Date();

	WT.tz = (today.getTimezoneOffset()/60)*(-1);
	WT.tz = WT.tz.toString();

	WT.bh = today.getHours().toString();
	WT.cd = navigator.appName=="Netscape"?screen.pixelDepth.toString():screen.colorDepth.toString();

	WT.js="Yes";
	
	
	DCS.dcssip=window.location.hostname;
	DCS.dcsuri=window.location.pathname;
	
	
	if ((window.document.referrer!="")&&(window.document.referrer!="-")){
		if (!(navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)<4)){
			DCS.dcsref=window.document.referrer;
			DCSext.ib_url = window.document.referrer;
		}
	}

	if (typeof(navigator.javaEnabled())=="boolean"){
		WT.jo=navigator.javaEnabled()?"Yes":"No";
	}

	if (typeof(gVersion)!="undefined"){
		WT.jv=gVersion;
	}

	if (parseInt(navigator.appVersion)>3){
		if ((navigator.appName=="Microsoft Internet Explorer")&&document.body){
			WT.bs=document.body.offsetWidth+"x"+document.body.offsetHeight;
		}
		else if (navigator.appName=="Netscape"){
			WT.bs=window.innerWidth+"x"+window.innerHeight;
		}
	}

	WT.fi="No";

		if (window.ActiveXObject){
			if ((typeof(gFV)!="undefined")&&(gFV.length>0)){
				WT.fi="Yes";
			WT.fv=gFV;
			}
		}
		else if (navigator.plugins&&navigator.plugins.length){
			for (var i=0;i<navigator.plugins.length;i++){
				if (navigator.plugins[i].name.indexOf('Shockwave Flash')!=-1){
					WT.fi="Yes";
					WT.fv=navigator.plugins[i].description.split(" ")[2];
					break;
				}
			}
		}
		
		
	dcsFPC(-5);
		
	setSectionAndPage(window.location);	
}
	
	
/* custom function for SigAlert tracking to set parameters based on url */
function setSectionAndPage(url) {
	// Topic=Traffic
	// Section=maps,traveltimes,incidents, etc.
	// MediaType=SigAlert
	
	if (url == null || url == '') return;

	// parse the url to figure out the topic and section for SigAlert pages (example: http://www.sigalert.com/traveltimes.asp?Region=Bay+Area&partner=ktvu)
	var parsed_url = String(url).split('/'); // [0]='http:', [1]='', [2]='www.sigalert.com', ...
	var section = parsed_url[3]; // parse this one out to get just the name of the asp file minus the '.asp'
	section = String(section).split('.'); // this should give [0]=traveltimes without the .asp extension
	WT.cg_n = 'Traffic';
	//WT.cg_s = section[0];
	WT.cg_s = document.title;
	DCSext.mtype = 'detail';
}



function dcsMultiTrack(){
   for (var i=0;i<arguments.length;i++){
      if (arguments[i].indexOf('WT.')==0){
         WT[arguments[i].substring(3)]=arguments[i+1];
         i++;
      }
      if (arguments[i].indexOf('DCS.')==0){
         DCS[arguments[i].substring(4)]=arguments[i+1];
         i++;
      }
      if (arguments[i].indexOf('DCSext.')==0){
         DCSext[arguments[i].substring(7)]=arguments[i+1];
         i++;
      }
   }
   var dCurrent=new Date();
   DCS.dcsdat=dCurrent.getTime();
   dcsTag();
}
// End dcsMultiTrack Function

function A(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 dcsTag(){
   var P="http"+(window.location.protocol.indexOf('https:')==0?'s':'')+"://"+gDomain+(gDcsId==""?'':'/'+gDcsId)+"/dcs.gif?";
   for (N in DCS){
      if (DCS[N]) {
         P+=A(N,DCS[N]);
      }
   }
   for (N in WT){
      if (WT[N]) {
         P+=A("WT."+N,WT[N]);
      }
   }
   for (N in DCSext){
      if (DCSext[N]) {
         P+=A(N,DCSext[N]);
      }
   }
   if (P.length>2048&&navigator.userAgent.indexOf('MSIE')>=0){
      P=P.substring(0,2040)+"&WT.tu=1";
   }
   dcsCreateImage(P);
}

function dcsCreateImage(dcsSrc){
   
 if (document.images){
      gImages[gIndex]=new Image;
      gImages[gIndex].src=dcsSrc;
      gIndex++;
   } else{
      document.write('<IMG BORDER="0" NAME="DCSIMG" WIDTH="1" HEIGHT="1" SRC="'+dcsSrc+'">');
   } 
  


	// Commented out, but leave in here, this code should be used for testing purposes.
   //alert('<IMG BORDER="0" NAME="DCSIMG" WIDTH="1" HEIGHT="1" SRC="'+dcsSrc+'">');
  //document.write(dcsSrc);
}

function dcsFPC(offset){
	if (typeof(offset)=="undefined"){
		return;
	}
	if (document.cookie.indexOf("WTLOPTOUT=")!=-1){
		return;
	}
	var name="WT_FPC";
	var dCur=new Date();
	var adj=(dCur.getTimezoneOffset()*60000)+(offset*3600000);
	dCur.setTime(dCur.getTime()+adj);
	var dExp=new Date(dCur.getTime()+315360000000);
	var dSes=new Date(dCur.getTime());
	WT.co_f=WT.co_f_i=WT.vt_sid=WT.vt_f=WT.vt_f_a=WT.vt_f_s=WT.vt_f_d=WT.vt_f_tlh=WT.vt_f_tlv="";
	if (document.cookie.indexOf(name+"=")==-1){
		if ((typeof(gWtId)!="undefined")&&(gWtId!="")){
			WT.co_f=gWtId;
		}
		else if ((typeof(gTempWtId)!="undefined")&&(gTempWtId!="")){
			WT.co_f=gTempWtId;
			WT.vt_f="1";
		}
		else{
			//alert('test');
			WT.co_f="2";
			var cur=dCur.getTime().toString();
			for (var i=2;i<=(32-cur.length);i++){
				WT.co_f+=Math.floor(Math.random()*16.0).toString(16);
			}
			WT.co_f+=cur;
			WT.vt_f="1";
		}
		if (typeof(gWtAccountRollup)=="undefined"){
			WT.vt_f_a="1";
		}
		WT.vt_f_s=WT.vt_f_d="1";
		WT.vt_f_tlh=WT.vt_f_tlv="0";
	}
	else{
		var id=dcsGetIdCrumb(name,"id");
		var lv=parseInt(dcsGetCrumb(name,"lv"));
		var ss=parseInt(dcsGetCrumb(name,"ss"));
		if ((id==null)||(id=="null")||isNaN(lv)||isNaN(ss)){
			return;
		}
		WT.co_f=id;
		var dLst=new Date(lv);
		WT.vt_f_tlh=Math.floor((dLst.getTime()-adj)/1000);
		dSes.setTime(ss);
		if ((dCur.getTime()>(dLst.getTime()+1800000))||(dCur.getTime()>(dSes.getTime()+28800000))){
			WT.vt_f_tlv=Math.floor((dSes.getTime()-adj)/1000);
			dSes.setTime(dCur.getTime());
			WT.vt_f_s="1";
		}
		if ((dCur.getDay()!=dLst.getDay())||(dCur.getMonth()!=dLst.getMonth())||
			(dCur.getYear()!=dLst.getYear())){
			WT.vt_f_d="1";
		}
	}
	WT.co_f=escape(WT.co_f);
	WT.co_f_i=WT.co_f+"-"+gDcsId.substring(gDcsId.indexOf("_")+1,gDcsId.length);
	WT.vt_sid=WT.co_f+"."+(dSes.getTime()-adj);
	var expiry="; expires="+dExp.toGMTString();
	document.cookie=name+"="+"id="+WT.co_f+":lv="+dCur.getTime().toString()+
		":ss="+dSes.getTime().toString()+expiry+"; path=/"+
		(((typeof(gFpcDom)!="undefined")&&(gFpcDom!=""))?("; domain="+gFpcDom):(""));
	if (document.cookie.indexOf(name+"=")==-1){
		WT.co_f=WT.co_f_i=WT.vt_sid=WT.vt_f_s=WT.vt_f_d=WT.vt_f_tlh=WT.vt_f_tlv="";
		WT.vt_f=WT.vt_f_a="2";
	}
}

function dcsGetIdCrumb(name,crumb){
	var cookie=dcsGetCookie(name);
	var id=cookie.substring(0,cookie.indexOf(":lv="));
	var aCrumb=id.split("=");
	for (var i=0;i<aCrumb.length;i++){
		if (crumb==aCrumb[0]){
			return aCrumb[1];
		}
	}
	return null;
}

function dcsGetCookie(name){
	var pos=document.cookie.indexOf(name+"=");
	if (pos!=-1){
		var start=pos+name.length+1;
		var end=document.cookie.indexOf(";",start);
		if (end==-1){
			end=document.cookie.length;
		}
		return unescape(document.cookie.substring(start,end));
	}
	return null;
}

function dcsGetCrumb(name,crumb){
	var aCookie=dcsGetCookie(name).split(":");
	for (var i=0;i<aCookie.length;i++){
		var aCrumb=aCookie[i].split("=");
		if (crumb==aCrumb[0]){
			return aCrumb[1];
		}
	}
	return null;
}

function doTracking() {
	prepareVariables();
	dcsMultiTrack();
}


// End national_js scripts

