///////////////////////////////////////////////////////////////////////////////////////
function RObj(ea) {
	var LS="";
	var QS=new Object();
	var un="undefined";
	var f="function";
	var n="number";
	var r="string";
	var e1="ERROR: Index out of range in\r\nRequest.QueryString";
	var e2="ERROR: Wrong number of arguments or invalid property assignment\r\nRequest.QueryString";
	var e3="ERROR: Object doesn't support this property or method\r\nRequest.QueryString.Key"
function Err(arg) {
	if (ea) alert("Request Object:\r\n"+arg)
}
function URID(t) {
	var d="";
	if (t) {
	for (var i=0; i<t.length; ++i) {
	var c=t.charAt(i);d+=(c=="+" ? " ":c);};};
	return unescape(d);
}
function OL(o) {
	var l=0;for (var i in o) {if (typeof(o[i])!=f) l++;};return l;
}
function AK(key) {
	var auk=true;
	for (var u in QS) {if (typeof(QS[u])!=f && u.toString().toLowerCase()==key.toLowerCase()) {
	auk=false;
	return u;
	}
};
if (auk) {QS[key]=new Object();
QS[key].toString=function() {
return TS(QS[key])
};
QS[key].Count=function() {return OL(QS[key])};
QS[key].Count.toString=function() {
return OL(QS[key]).toString()};QS[key].Item=function(e) {
if (typeof(e)==un) return QS[key];else {if (typeof(e)==n) {var a=QS[key][Math.ceil(e)];
if (typeof(a)==un) Err(e1 +"(\""+key+"\").Item("+e+")");
return a;}
else Err("ERROR: Expecting numeric input in\r\nRequest.QueryString(\""+key+"\").Item(\""+e+"\")");}};
QS[key].Item.toString=function(e) {
if (typeof(e)==un) return QS[key].toString();else {var a=QS[key][e];if (typeof(a)==un) Err(e1+"(\""+key+"\").Item("+e+")");
return a.toString();};};QS[key].Key=function(e) {var t=typeof(e);if (t==r) {var a=QS[key][e];
return (typeof(a)!=un && a && a.toString() ? e:"");}else Err(e3+"("+(e?e:"")+")");};QS[key].Key.toString=function() {
return un};};return key}
function AVTK(key, val) {if (key!="") {var key=AK(key);var l=OL(QS[key]);QS[key][l+1]=val;}}
function TS(o) {var s="";for (var i in o) {var ty=typeof(o[i]);if (ty=="object") s+=TS(o[i]);else if (ty!=f) s+=o[i]+", ";};
var l=s.length;if (l>1) return(s.substring(0,l-2));return (s=="" ? un:s);}
function KM(k, o) {var k=k.toLowerCase();for (var u in o) {if (typeof(o[u])!=f && u.toString().toLowerCase()==k) 
return u;};}
if (window.location && window.location.search) {LS=window.location.search;var l=LS.length;if (l>0) {LS=LS.substring(1,l);
var preAmpAt=0;var ampAt=-1;var eqAt=-1;
var k=0;
var skip=false;
for (var i=0; i<l; ++i) {var c=LS.charAt(i);
if (LS.charAt(preAmpAt)=="=" || (preAmpAt==0 && i==0 && c=="=")) skip=true;
if (c=="=" && eqAt==-1 && !skip) eqAt=i;
if (c=="&" && ampAt==-1) {if (eqAt!=-1) ampAt=i;
if (skip) preAmpAt=i+1;skip=false;};
if (ampAt>eqAt) {AVTK(URID(LS.substring(preAmpAt,eqAt)),URID(LS.substring(eqAt+1,ampAt)));preAmpAt=ampAt+1;eqAt=ampAt=-1;++k;};};
if (LS.charAt(preAmpAt)!="=" && (preAmpAt!=0 || i!=0 || c!="=")) {
if (preAmpAt!=l) {
if (eqAt!=-1) AVTK(URID(LS.substring(preAmpAt,eqAt)),URID(LS.substring(eqAt+1,l)));
else if (preAmpAt!=l-1) AVTK(URID(LS.substring(preAmpAt,l)),"");};
if (l==1) AVTK(LS.substring(0,1),"");};};};
var TC=OL(QS);
if (!TC) TC=0
QS.toString=function() {return LS.toString()};QS.Count=function() {
return (TC ? TC:0)};QS.Count.toString=function() {
return (TC ? TC.toString():"0")};QS.Item=function(e) {if (typeof(e)==un) 
return LS;
else {if (typeof(e)==n) {
var e=Math.ceil(e);var c=0;for (var i in QS) {
if (typeof(QS[i])!=f && ++c==e) 
return QS[i];};
Err(e1+"().Item("+e+")");}
else return QS[KM(e, QS)];};return un;};
QS.Item.toString=function() {
return LS.toString()};QS.Key=function(e) {
var t=typeof(e);if (t==n) {
var e=Math.ceil(e);var c=0;for (var i in QS) {if (typeof(QS[i])!=f && ++c==e) 
return i;}}
else if (t==r) {var e=KM(e, QS);var a=QS[e];return (typeof(a)!=un && a && a.toString() ? e:"");
}
else Err(e2+"().Key("+(e?e:"")+")");Err(e1+"().Item("+e+")");};
QS.Key.toString=function() {Err(e2+"().Key");}
this.QueryString=function(k) {if (typeof(k)==un) 
return QS;
else {var k=KM(k, QS);
if (typeof(QS[k])==un) {t=new Object();
t.Count=function() {return 0};
t.Count.toString=function() {return "0"};
t.toString=function() {
return un};t.Item=function(e) {
return un};t.Item.toString=function() {return un};
t.Key=function(e) {Err(e3+"("+(e?e:"")+")");};
t.Key.toString=function() {return un};
return t;}
if (typeof(k)==n) 
return QS.Item(k);
else return QS[k];}}
this.QueryString.toString=function() {return LS.toString();};
this.QueryString.Count=function() {return (TC ? TC:0)};
this.QueryString.Count.toString=function() {return (TC ? TC.toString():"0")};
this.QueryString.Item=function(e) {
if (typeof(e)==un) return LS.toString();
else {if (typeof(e)==n) {var e=Math.ceil(e);var c=0;
for (var i in QS) {
if (typeof(QS[i])!=f && ++c==e) return QS[i];};
Err(e1+".Item("+e+")");}
else return QS[KM(e, QS)];}
if (typeof(e)==(n)) Err(e1+".Item("+e+")");
return un;}
this.QueryString.Item.toString=function() {return LS.toString()};
this.QueryString.Key=function(e) {
var t=typeof(e);if (t==n) {var e=Math.ceil(e);
var c=0;
for (var i in QS) {if (typeof(QS[i])=="object" && (++c==e)) 
{return i;}}}else if (t==r) {var e=KM(e, QS);
var a=QS[e];
return (typeof(a)!=un && a && a.toString() ? e:"");}
else Err(e2+".Key("+(e?e:"")+")");
Err(e1+".Item("+e+")");};
this.QueryString.Key.toString=function() {Err(e2+".Key");};
this.Version=1.1;
this.Author="";}
var Request=new RObj(false);
//////////////////////////////////////////////////////////////////////////////////////

function fu(url) {
	var html = url; 
	var full_url;
	var thelength = html.length; 
	var filename = html.substring(0,(thelength-4)); 
	var extension = url.replace(filename,'');  
	full_url = url + '?gd=' +gd;
	document.location.href = full_url;
}

////////////////////////////////////////////////////////////////
//New Window Popup  
var win=null;
//update hits table 
function updater(wp) {
    //guidx is no longer needed since it is passed as a session. only the script_name is pull via a querystring.
	NewWindow('update.asp?wp='+wp+'&gd='+gd,'newpopup','1','1','custom','back');
} 
//For Live:
function NewWindow(mypage,myname,w,h,pos,infocus){
	win=window.open(mypage, "_blank", "top=9999,left=9999,screenX=9999,screenY=9999,height=1,width=1,"+"location=no,resizable=no,scrollbars=no,staus=no,toolbar=no");
}
////////////////////////////////////////////////////////////////////////

function gdrnd() {
	var choice = "1234567890abcdefghiklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXTZ";
	var size_of_password = 10;
	var password = '';
	for (var i=0; i<size_of_password; i++) {
		var rnd = Math.floor(Math.random() * choice.length);
		password += choice.substring(rnd,rnd+1);
	}

	var choice2 = "1234567890abcdefghiklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXTZ";
	var size_of_password2 = 10;
	var password2 = '';
	for (var j=0; j<size_of_password2; j++) {
		var rnd2 = Math.floor(Math.random() * choice2.length);
		password2 += choice2.substring(rnd2,rnd2+1);
	}

	var MINUTE = 60 * 1000;
	var HOUR = MINUTE * 60;
	var DAY = HOUR * 24;
	var WEEK = DAY * 7;
	var today = new Date();
	var myDate_string = (today) / DAY; 
	
	gdrnd = password + myDate_string + password2 + checkTimeZone();   // + ' ' + hour + ' ' + min + ' ' + sec + ' ' + mil;
    var re = new RegExp (' ','gi') ;
    gdrnd = gdrnd.replace(re, '') ;
    re = new RegExp (':','gi');
    gdrnd = gdrnd.replace(re, '') ;
	re = new RegExp (',','gi');
    gdrnd = gdrnd.replace(re, '') ;
	re = new RegExp ('UTC','gi');
    gdrnd = gdrnd.replace(re, '') ;
	return gdrnd;
}	

function checkTimeZone() {
   var rightNow = new Date();
   var date1 = new Date(rightNow.getFullYear(), 0, 1, 0, 0, 0, 0);
   var date2 = new Date(rightNow.getFullYear(), 6, 1, 0, 0, 0, 0);
   var temp = date1.toGMTString();
   var date3 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
   var temp = date2.toGMTString();
   var date4 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
   var hoursDiffStdTime = (date1 - date3) / (1000 * 60 * 60);
   var hoursDiffDaylightTime = (date2 - date4) / (1000 * 60 * 60);
   return hoursDiffStdTime;
}

var gd, gd1; 
gd1 = Request.QueryString("gd");
//alert(gd1);
if (gd1 != 'undefined') {
	 gd = gd1;
}
else {
	gd = gdrnd();
}

function hm(wp, cid, hid)  {
	var ref;
	ref = document.referrer;	
	//alert(gd);
    //document.write("<img src=rpt_include.aspx?wp="+wp+"&hid="+hid+"&cid="+cid+"&guidx="+gd+"&ref="+ref+" width=1 height=1>");
}

