
var CrcArcTab = new Array(
0x0000,0xC0C1,0xC181,0x0140,0xC301,0x03C0,0x0280,0xC241,0xC601,0x06C0,0x0780,0xC741,0x0500,
0xC5C1,0xC481,0x0440,0xCC01,0x0CC0,0x0D80,0xCD41,0x0F00,0xCFC1,0xCE81,0x0E40,0x0A00,0xCAC1,
0xCB81,0x0B40,0xC901,0x09C0,0x0880,0xC841,0xD801,0x18C0,0x1980,0xD941,0x1B00,0xDBC1,0xDA81,
0x1A40,0x1E00,0xDEC1,0xDF81,0x1F40,0xDD01,0x1DC0,0x1C80,0xDC41,0x1400,0xD4C1,0xD581,0x1540,
0xD701,0x17C0,0x1680,0xD641,0xD201,0x12C0,0x1380,0xD341,0x1100,0xD1C1,0xD081,0x1040,0xF001,
0x30C0,0x3180,0xF141,0x3300,0xF3C1,0xF281,0x3240,0x3600,0xF6C1,0xF781,0x3740,0xF501,0x35C0,
0x3480,0xF441,0x3C00,0xFCC1,0xFD81,0x3D40,0xFF01,0x3FC0,0x3E80,0xFE41,0xFA01,0x3AC0,0x3B80,
0xFB41,0x3900,0xF9C1,0xF881,0x3840,0x2800,0xE8C1,0xE981,0x2940,0xEB01,0x2BC0,0x2A80,0xEA41,
0xEE01,0x2EC0,0x2F80,0xEF41,0x2D00,0xEDC1,0xEC81,0x2C40,0xE401,0x24C0,0x2580,0xE541,0x2700,
0xE7C1,0xE681,0x2640,0x2200,0xE2C1,0xE381,0x2340,0xE101,0x21C0,0x2080,0xE041,0xA001,0x60C0,
0x6180,0xA141,0x6300,0xA3C1,0xA281,0x6240,0x6600,0xA6C1,0xA781,0x6740,0xA501,0x65C0,0x6480,
0xA441,0x6C00,0xACC1,0xAD81,0x6D40,0xAF01,0x6FC0,0x6E80,0xAE41,0xAA01,0x6AC0,0x6B80,0xAB41,
0x6900,0xA9C1,0xA881,0x6840,0x7800,0xB8C1,0xB981,0x7940,0xBB01,0x7BC0,0x7A80,0xBA41,0xBE01,
0x7EC0,0x7F80,0xBF41,0x7D00,0xBDC1,0xBC81,0x7C40,0xB401,0x74C0,0x7580,0xB541,0x7700,0xB7C1,
0xB681,0x7640,0x7200,0xB2C1,0xB381,0x7340,0xB101,0x71C0,0x7080,0xB041,0x5000,0x90C1,0x9181,
0x5140,0x9301,0x53C0,0x5280,0x9241,0x9601,0x56C0,0x5780,0x9741,0x5500,0x95C1,0x9481,0x5440,
0x9C01,0x5CC0,0x5D80,0x9D41,0x5F00,0x9FC1,0x9E81,0x5E40,0x5A00,0x9AC1,0x9B81,0x5B40,0x9901,
0x59C0,0x5880,0x9841,0x8801,0x48C0,0x4980,0x8941,0x4B00,0x8BC1,0x8A81,0x4A40,0x4E00,0x8EC1,
0x8F81,0x4F40,0x8D01,0x4DC0,0x4C80,0x8C41,0x4400,0x84C1,0x8581,0x4540,0x8701,0x47C0,0x4680,
0x8641,0x8201,0x42C0,0x4380,0x8341,0x4100,0x81C1,0x8081,0x4040);

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="dcsn3p5o3oifwzbe6xmxkntlx_9x5b";



function peteImpression ()
{
//	DCSext.im_oln::order_line_number:::DCSext.im_path::PATH:::DCSext.im_pageurl::url:::DCSext.im_position::position


//DCSext.impression_oln::547679-1:::
//DCSext.impression_position::1:::

//DCSext.impression_path::ug.fas.college:::
//DCSext.impression_pageurl::wsd1r.petersons.com:ugchannel:code:searches:srchcrit1.asp:::


	var div_anchors = document.getElementById('anchors');
	if (!div_anchors) return;
	
	var div_tag = div_anchors.getElementsByTagName('div');
	var anchors = new Array();
	var anchors_parameters = new Array();
	var k = 0;
	var var_impression_path, var_impression_pageurl, var_impression_oln_pos, var_oln_pos_position
	var_impression_path = true;
	var_impression_pageurl = true;
	var_impression_oln_pos = true;
	var_oln_pos_position  = 0;
	

	for (var i=0;i<div_tag.length;i++)
	{		
		anchors = div_tag[i].id.split(':::');
		if (anchors.length > 0)
		{
			var anchors_sub_parameters
			for (var j=0; j<anchors.length; j++)
			{
				var beforesplit = anchors[j].toString();
				anchors_sub_parameters = beforesplit.split('::');	
				switch(anchors_sub_parameters[0])
				{
					case 'DCSext.impression_path':
						if (var_impression_path) 
						{	anchors_parameters[0] = anchors_sub_parameters[0];
							anchors_parameters[1] = anchors_sub_parameters[1].replace(/:/g, '/');
							var_impression_path = false;
						} 
						break    
					case 'DCSext.impression_pageurl':
						if (var_impression_pageurl) 
						{	anchors_parameters[2] = anchors_sub_parameters[0];
							anchors_parameters[3] = anchors_sub_parameters[1].replace(/:/g, '/');
							var_impression_pageurl = false;
						} 
						break    
					case 'DCSext.impression_oln':
						if (var_impression_oln_pos) 
						{	
							anchors_parameters[4] = 'DCSext.impression_oln_pos';
							anchors_parameters[5] = anchors_sub_parameters[1];
							var_impression_oln_pos = false;
						} else
						{
							anchors_parameters[5] = anchors_parameters[5] + ';' + anchors_sub_parameters[1];
						}
						
						break    
					case 'DCSext.impression_position':
							anchors_parameters[5] = anchors_parameters[5] + ',' + anchors_sub_parameters[1];
						break    
				} 
			}
		}
	}
	dcsMultiTrackwithArray(anchors_parameters);
}

function dcsMultiTrackwithArray(arrdcsMultiTrack){
	for (var i=0;i<arrdcsMultiTrack.length;i++){
		if (arrdcsMultiTrack[i].indexOf('WT.')==0){
			WT[arrdcsMultiTrack[i].substring(3)]= arrdcsMultiTrack[i+1];
			i++;
		}
		if (arrdcsMultiTrack[i].indexOf('DCS.')==0){
			DCS[arrdcsMultiTrack[i].substring(4)]= arrdcsMultiTrack[i+1];
			i++;
		}
		if (arrdcsMultiTrack[i].indexOf('DCSext.')==0){
			DCSext[arrdcsMultiTrack[i].substring(7)]= arrdcsMultiTrack[i+1];
			i++;
		}
	}	
}

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++;
//			alert('arguments[i].substring(7): ' + arguments[i].substring(7) + '\nDCSext[arguments[i].substring(7)]: ' + DCSext[arguments[i].substring(7)]);
		}
	}
	var dCurrent=new Date();
	DCS.dcsdat=dCurrent.getTime();
	dcsMetainunPgm();
	dcsVisitors();	
	dcsTag();

}


function dcsVar(){
        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=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;
        }
//        WT.sp="@@SPLITVALUE@@";
        DCS.dcsdat=dCurrent.getTime();
        DCS.dcssip=window.location.hostname;
        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;
                }
        }
}

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 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+'">');
        }
}

function dcsMeta(){
        var myDocumentElements;
        if (document.all){
                myDocumentElements=document.all.tags("meta");
        }
        else if (document.documentElement){
                myDocumentElements=document.getElementsByTagName("meta");
        }
        if (typeof(myDocumentElements)!="undefined"){
                for (var i=1;i<=myDocumentElements.length;i++){
                        myMeta=myDocumentElements.item(i-1);
                        if (myMeta.name){
                                if (myMeta.name.indexOf('WT.')==0){
                                        WT[myMeta.name.substring(3)]=myMeta.content;
                                }
                                else if (myMeta.name.indexOf('DCSext.')==0){
                                        DCSext[myMeta.name.substring(7)]=myMeta.content;
                                }
                                else if (myMeta.name.indexOf('DCS.')==0){
                                        DCS[myMeta.name.substring(4)]=myMeta.content;
                                }
                        }
                }
        }
}

function dcsMetaonlyDCSext(){
        var myDocumentElements;
        if (document.all){
                myDocumentElements=document.all.tags("meta");
        }
        else if (document.documentElement){
                myDocumentElements=document.getElementsByTagName("meta");
        }
        if (typeof(myDocumentElements)!="undefined"){
                for (var i=1;i<=myDocumentElements.length;i++){
                        myMeta=myDocumentElements.item(i-1);
                        if (myMeta.name){
                                if (myMeta.name.indexOf('DCSext.')==0){
                                        DCSext[myMeta.name.substring(7)]=myMeta.content;
                                }
                        }
                }
        }
}

function dcsTag(){
        var P="http"+(window.location.protocol.indexOf('https:')==0?'s':'')+"://"+gDomain+(gDcsId==""?'':'/'+gDcsId)+"/dcs.gif?";
        for (N in DCS){
				//alert('andrew testing - ' + N + ': ' + DCS[N]);
                if (DCS[N]) {
                        P+=A(N,DCS[N]);
                }
        }
        for (N in WT){
				//alert('andrew testing - ' + N + ': ' + WT[N]);
                if (WT[N]) {
                        P+=A("WT."+N,WT[N]);
                }
        }
        for (N in DCSext){
				//alert('andrew testing - ' + N + ': ' + DCSext[N]);
                if (DCSext[N]) {
                        P+=A(N,DCSext[N]);
                        DCSext[N] = null;
                }
        }
        if (P.length>2048&&navigator.userAgent.indexOf('MSIE')>=0){
                P=P.substring(0,2040)+"&WT.tu=1";
        }
        
		DCSext=null;
		DCSext=new Object();  
		dcsMetaonlyDCSext();    
        dcsCreateImage(P);
        
}



function setUVCookie(measure, period)
{	
    if (DCSext[measure] || (measure == 'cg_n' && WT[measure])) 
    {                
        var DCSextValue = '';
        if (measure == 'cg_n')
        { DCSextValue = WT[measure] } 
        else { DCSextValue = DCSext[measure] }
        if (DCSextValue == '') return false;                
		var CookieName = getCookieName(measure, period, '');
		
        DCSextValue = crc16(DCSextValue + measure);                
        return setCookie(measure, period, DCSextValue,'',CookieName);
    }
    return false;
}

function set2dUVCookie(measure1, measure2, period)
{
        var DCSextValue = '';
        var DCSextValue1 = '';
        var DCSextValue2 = '';
        if (measure1 == 'cg_n')
        { DCSextValue1 = WT[measure1]} 
        else { DCSextValue1 = DCSext[measure1] }
        // could loop through these two to clean up the code
        if (measure2 == 'cg_n')
        { DCSextValue2 = WT[measure1] } 
        else { DCSextValue2 = DCSext[measure1]}

        if ((DCSextValue1 == '') || (DCSextValue2 == ''))  return false;
        var CookieName = getCookieName(measure1, period, measure2);
        DCSextValue = crc16(DCSextValue1+DCSextValue2+measure1+measure2);
        return setCookie(measure1, period, DCSextValue, measure2, CookieName);
}


function crc16(str)
{
        var c;
        var crc=0;
        for (var n=0; n< str.length; n++)
        {
          c = str.charCodeAt(n);
          crc= ((crc>>8)&0xFF)^CrcArcTab[(crc^c)&0xFF];
        }
        return crc.toString(32).toUpperCase();
}

function setCookie(measure, period, DCSextValue, measure2, CookieName)
{
    if (document.cookie.match(CookieName))
    {
            // Append Value to Cookie
        var CurrentCookieValue = new String(getCookie(CookieName));
        if (!itemMatch(CurrentCookieValue, DCSextValue))
        {        
                AppendCookie(CurrentCookieValue, DCSextValue, CookieName, measure, period)
                var uvMeasure = measure+period;
                if (measure2 == '') 
                {
//							alert(uvMeasure);
					DCSext[uvMeasure] = 1;
                }
                return true;
        }
    }else
    {// Create Cookie
        createCookie(CookieName, DCSextValue, measure, period, measure2)
        return true;
    }
    return false;
}

function itemMatch(CurrentCookieValue, DCSextValue)
{
        var CurrentCookieValueItem = '';
        CurrentCookieValueArray = CurrentCookieValue.split(',');
        for (var loop=0; loop < CurrentCookieValueArray.length; loop++)
        {
                if (CurrentCookieValueArray[loop] == DCSextValue) return true;
        }
        return false;
}

function AppendCookie(CurrentCookieValue, DCSextValue, CookieName, measure, period)
{
        var today = new Date();
        var expiresM = new Date(today.getUTCFullYear(), today.getMonth()+1, 1);
        var expiresY = new Date(today.getUTCFullYear()+1, 0,1);
        var AppendCookieValue = CurrentCookieValue + "," + DCSextValue
        
        if (period == 'M')
    {document.cookie= CookieName + "=" + AppendCookieValue +
        "; expires=" + expiresM.toGMTString() +
        "; path=/";
    }
        else if (period == 'Y')
    {document.cookie= CookieName + "=" + AppendCookieValue +
        "; expires=" + expiresY.toGMTString() +
        "; path=/";
        }
}

function createCookie(CookieName, DCSextValue, measure, period, measure2)
{
        var today = new Date();
        var expiresM = new Date(today.getUTCFullYear(), today.getMonth()+1, 1);
        var expiresY = new Date(today.getUTCFullYear()+1, 0,1);
        
        if (period == 'M')
		{document.cookie= CookieName + "=" + DCSextValue +
        "; expires=" + expiresM.toGMTString() +
        "; path=/";
		}
        else if (period == 'Y')
		{document.cookie= CookieName + "=" + DCSextValue +
        "; expires=" + expiresY.toGMTString() +
        "; path=/";
        }
        var uvMeasure = measure+period;
        if (measure2 == '') 
        {
//			alert(uvMeasure);
			DCSext[uvMeasure] = 1;
		}
}


function getCookieName(measure, period, measure2)
{
        var dateMonth = new Date();
        var intMonth = dateMonth.getMonth() + 1;
        var CookieName =  '';
        
/*        if (period == 'M')
        {
                CookieName =  measure.charAt(2) + measure.charAt(3) + period + intMonth;        
        }
        else {
                CookieName =  measure.charAt(2) + measure.charAt(3) + period;                
        }
        if (measure2 != ''){
                CookieName =  CookieName + measure2.charAt(2) + measure2.charAt(3);
        }
*/		
		if (period == 'M') CookieName = 'wtm' + intMonth;
		if (period == 'Y') CookieName = 'wty';
        
        return         CookieName        
}


function getCookie(varName){
        var pos= document.cookie.indexOf(varName+"=");
        if (pos != -1) {
                var start = pos + varName.length + 1;
                var end = document.cookie.indexOf(";", start);
                 if (end == -1) end = document.cookie.length;
                return document.cookie.substring(start, end);
        }
}

function deleteUVCookies()
{                
        for (UVcookieloop = 0; UVcookieloop < UVcookieArray.length; UVcookieloop++)
        {        
                CookienameM = getCookieName(UVcookieArray[UVcookieloop], 'M', '');        
                CookienameY = getCookieName(UVcookieArray[UVcookieloop], 'Y', '');        
                if (getCookie(CookienameM))
                {
                    document.cookie = CookienameM + "=" + 
                        "; path=/" +
                        "; expires=Thu, 01-Jan-70 00:00:01 GMT";
                }
                if (getCookie(CookienameY))
                {
                    document.cookie = CookienameY + "=" + 
                        "; path=/" +
                        "; expires=Thu, 01-Jan-70 00:00:01 GMT";
                }
        }
}

function set2dUV(measure1, measure2, period){
	if ((DCSext[measure1] || (WT[measure1])) && (DCSext[measure2] || (WT[measure2])))
	{
		if (set2dUVCookie(measure1, measure2, period))
		{
			var uvMeasure = measure1 + measure2 + period;
			DCSext[uvMeasure] = 1;
		}
	}
}

function dcsMetainunPgm() {
	if (((DCSext['p_inunid'])?DCSext['p_inunid']:'') + ((DCSext['p_pgm_inun_id'])?DCSext['p_pgm_inun_id']:'') != '')
	{
		DCSext['p_inun_pgm'] = ((DCSext['p_inunid'])?DCSext['p_inunid']:'') + ((DCSext['p_pgm_inun_id'])?DCSext['p_pgm_inun_id']:'');
	}
}

var UVcookieArray = new Array('p_Category', 'p_Sector', 'p_sponsor', 'p_pgm_inun_id', 'cg_n', 'p_inunid');
var TwoDUVCookieItemArray = new Array('cg_n','p_inunid','cg_n','p_pgm_inun_id');
function dcsVisitors() {

	var UVcookieloop = 0;

	if (document.cookie.length > 2200)
	{
		deleteUVCookies();
	}
	for (UVcookieloop = 0; UVcookieloop < UVcookieArray.length; UVcookieloop++)
	{
//		alert(UVcookieloop);
	    setUVCookie(UVcookieArray[UVcookieloop], 'M')
	    setUVCookie(UVcookieArray[UVcookieloop], 'Y')        
	}

	for (var loopsetCookie=0; loopsetCookie < TwoDUVCookieItemArray.length; loopsetCookie = loopsetCookie+2)
	{
	    set2dUV(TwoDUVCookieItemArray[loopsetCookie],TwoDUVCookieItemArray[loopsetCookie+1],'M');
	    set2dUV(TwoDUVCookieItemArray[loopsetCookie],TwoDUVCookieItemArray[loopsetCookie+1],'Y');
	}
}
dcsVar();
dcsMeta();
dcsMetainunPgm();
peteImpression();
dcsVisitors();
dcsTag();
