// The purpose of this script is just to track the referrals to the Stratus web site and any search terms used.

/////////////////////////////////////////////
window.onerror = function() {return true;}
//////////////////////////////////////////////
var scripts = document.getElementsByTagName('script');
var myScript = scripts[ scripts.length - 1 ];
var queryString = myScript.src.replace(/^[^\?]+\??/,'');
var params = parseQuery(queryString);
/////////////////////////////////////////////////

/////////////////////////////////////////////////
QueryString.keys = new Array();
QueryString.values = new Array();
// referral
referURL = unescape(document.referrer);
mainURL = referURL.toLowerCase();
QueryString_Parse(referURL);

Referral = document.referrer.match( /:\/\/(www\.)?([^\/:]+)/ ); 
Referral = Referral[2]?Referral[2]:''; 
Referral = Referral.toLowerCase();

// set the different search queries based on search engine.
var keyword = "NA";
var keyword = "NA";
var ReferralPaid = "N";

if (/google/.test(Referral) == true) {

	var keyword = QueryString("q");

	
	// check the current link for Google AdWord variable (&pl=y)
	resourceURL = unescape(document.URL);
	resourceURL = resourceURL.toLowerCase();
	QueryString_Parse(resourceURL);
	
    var AdWords = QueryString("pl");

	if (AdWords == "y" && keyword != "NA") {
	    var keyword = keyword + " AdWord";
		var ReferralPaid = "Y";
	}
				
}else if (/yahoo/.test(Referral) == true) {

	var keyword = QueryString("p");

}else if (/netscape/.test(Referral) == true) {

	var keyword = QueryString("query");
	
} else if (/msn/.test(Referral) == true) {

	var keyword = QueryString("q");
	
} else if (/ask/.test(Referral) == true) {

	var keyword = QueryString("q");
	
} else if (/aol/.test(Referral) == true) {

	var keyword = QueryString("query");			
	
} else if (/live/.test(Referral) == true) {

	var keyword = QueryString("q");	
	
// For testing	
} else if (/mis/.test(Referral) == true) {

	var keyword = QueryString("q");	
	
	// check the current link for Google AdWord variable (&pl=y)
	resourceURL = unescape(document.URL);
	resourceURL = resourceURL.toLowerCase();
	QueryString_Parse(resourceURL);
	
    var AdWords = QueryString("pl");

	if (AdWords == "y" && keyword != "NA") {
	    var keyword = keyword + " AdWord";
		var ReferralPaid = "Y";
	}
	
}

// clean up the keyword
var keyword = keyword.replace('*','');
	keyword = keyword.replace(/\+/g,' ');	
	keyword = keyword.replace('(','');
	keyword = keyword.replace(')','');

// if the referal is not from Stratus just record the referal and not the query string
if (/stratus/.test(Referral) == false){
	// then write a cookie that expires in a day
	ReferralString = document.referrer;
	
	setCookie('Referral',Referral, 1);
	setCookie('Keyword',keyword, 1);
	setCookie('ReferralString',ReferralString, 1);
	setCookie('ReferralPaid',ReferralPaid, 1);
}

/////////////////////////////////////////////
//           Utility Scripts               //
/////////////////////////////////////////////
function QueryString(key)
{
	var value = "empty";
	for (var i=0;i<QueryString.keys.length;i++)
	{
		if (QueryString.keys[i]==key)
		{
			value = QueryString.values[i];
			break;
		}
	}
	return value;
}
/////////////////////////////////////////////
function QueryString_Parse(URL)
{
	var query = URL.substr(URL.indexOf('?')+1);
	var pairs = query.split("&");
	
	for (var i=0;i<pairs.length;i++)
	{
		var pos = pairs[i].indexOf('=');
		if (pos >= 0)
		{
			var argname = pairs[i].substring(0,pos);
			var value = pairs[i].substring(pos+1);
			QueryString.keys[QueryString.keys.length] = argname;
			QueryString.values[QueryString.values.length] = value;		
		}
	}

}
/////////////////////////////////////////////
function parseQuery (query) {
	var Params = new Object ();
	if ( ! query ) return "empty"; // return empty object
	//if ( ! query ) return Params; // return empty object
	var Pairs = query.split(/[;&]/);
	for ( var i = 0; i < Pairs.length; i++ ) {
		var KeyVal = Pairs[i].split('=');
		if ( ! KeyVal || KeyVal.length != 2 ) continue;
		var key = unescape( KeyVal[0] );
		var val = unescape( KeyVal[1] );
		val = val.replace(/\+/g, ' ');
		Params[key] = val;
	}
	return Params;
}

/////////////////////////////////////////////
function getCookie (name) {
	var cname = name + "=";
	var clen = document.cookie.length;
	var cbegin = 0;

	while (cbegin < clen) { 
	var vbegin = cbegin + cname.length;

	if (document.cookie.substring(cbegin, vbegin) == cname) { 
	var vend = document.cookie.indexOf (";", vbegin);
	if (vend == -1) vend = clen;
	return unescape(document.cookie.substring(vbegin, vend));
	}
	cbegin = document.cookie.indexOf(" ", cbegin) + 1;
	if (cbegin == 0) break;
	}
	return ("NA");
}

//////////////////////////////////////////////
function setCookie(name, value, days) { 
	if (!days) days = 1; // default to 1 day if empty 
	var expdate = new Date(); 
	expdate.setTime(expdate.getTime() + days*24*60*60*1000); 
	document.cookie = name + "=" + escape(value) + "; expires=" + expdate.toGMTString() + "; path=/;";
}
//////////////////////////////////////////////


function resetCookies(name){
    setCookie(name, "", -1);
}