//Copyright 2005 BGT Partners (www.bgtpartners.com)
//v1.3
var refURL = getQueryVariable('refURL');

function checkCookie (name,urlcode) {

	var url = getURL(urlcode);
	var typeref= "undefined";
	if (url != "undefined")
	{
		parseData(name, url, urlcode, typeref);
	}
}

function checkCookieMod (name,urlcode,typeref) {

	var url = getURLMod(urlcode,typeref);
	if (url != "undefined")
	{
		parseData(name, url, urlcode, typeref);
	}
}


function parseData (name, url, urlcode, typeref)
{
	var cstring;
	var urlArray = url.split("&");
	var pattern = /Rnd/i
	var urlpattern = /avaya.webex.com/
	var cidValue="undefined";
	
	//Webinar URLs which do NOT have a SRE054 value and HAVE a CID value appended to URL string.
	if (urlArray.length > 2)
	{
		var keyname = "SRE054";
		var keyvalue = "undefined";
		
		//CID Value from querystring takes precedence over CID value from URL from data.xml.
		cidValue = getQueryVariable("cid");
		if (cidValue == "undefined" || cidValue == ""){
			var index = urlArray.length;
			index = index-1;
			cidValue = urlArray[index];
			var temp = cidValue.split("=");
			cidValue = temp[1];
		}
	}
	//Accela URLs do NOT have a SRE054 value and get CID value from query string
	else if (urlArray[1] == "Context=START") 
		{
			var keyname = "SRE054";
			var keyvalue = "undefined";
			
			//CID value retrieved query string.
			cidValue = getQueryVariable("cid");
		}
	//Webinar URLs which do not have a CID in the URL from the XML 
	else if (pattern.test(urlArray[1]) & urlpattern.test(urlArray[0])) 
		{
			var keyname = "SRE054";
			var keyvalue = "undefined";
			
			cidValue = getQueryVariable("cid");
		}	
	//Premium Content URLs which have a SRE054 Value and CID Value appended to URL string from data.xml.	
	else{
			url = urlArray[0];
			var keyname = "SRE054";
			var keyvalue = urlArray[1];
			//Getting CID code from URL retreived from XML
			var temp = url.split("?");
			cidValue = temp[1]; 
			temp = cidValue.split("=");
			cidValue = temp[1];
	}
	if ((refURL != "undefined") && (refURL != "")) { 
		//Parse referring URL and create placement CID
		var cidSuffix;
		cidSuffix = readURLFiles(refURL);
		
		if (cidSuffix != "undefined")
		{
			cidValue = cidValue + "_" + cidSuffix;
		}
	}	
	if ( readCookie('userdata') ) { var revisit = 1; } else { var revisit = 0; }

	if ( readCookie(name) ) {
		if ( eval("readCookie('" + name + "_exp')") ) {
			var exp = eval("readCookie('" + name + "_exp')");
			var exp = Date.parse(exp);
			var timenow = new Date();
			var timenow = Date.parse(timenow);
			if ( timenow <= exp ) {
				if (keyvalue != "undefined") { cstring=modCookie(keyname,keyvalue);}
				else { cstring=unescape(readCookie('userdata'));}
				populate_MDB(url,urlcode,cstring,cidValue);
			}
			else { window.onbeforeunload = function () { }
                   window.location.replace(formPage + "?revisit=" + revisit + "&name=" + name + "&urlcode=" + urlcode + "&cid=" + cidValue + "&" + keyname + "=" + keyvalue + "&type=" + typeref); }
		}
		else { window.onbeforeunload = function () { }
               window.location.replace(formPage + "?revisit=" + revisit + "&name=" + name + "&urlcode=" + urlcode + "&cid=" + cidValue + "&" + keyname + "=" + keyvalue + "&type=" + typeref); }
	}
	else { window.onbeforeunload = function () { }
           window.location.replace(formPage + "?revisit=" + revisit + "&name=" + name + "&urlcode=" + urlcode + "&cid=" + cidValue + "&" + keyname + "=" + keyvalue + "&type=" + typeref); }
}

function readCookie(name) {

    var CookieString = document.cookie;
    var CookieSet = CookieString.split (';');
    var SetSize = CookieSet.length;
    var CookiePieces;
    var ReturnValue = "";
    var x = 0;

	for (x = 0; ((x < SetSize) && (ReturnValue == "")); x++) {
		CookiePieces = CookieSet[x].split ('=');
		if (CookiePieces[0].substring (0,1) == ' ')
			{ CookiePieces[0] = CookiePieces[0].substring (1, CookiePieces[0].length); }
		if (CookiePieces[0] == name)
			{ ReturnValue = CookiePieces[1]; }
	}

	return ReturnValue;
}

function getQueryVariable(variable) {
	if (!(unescape(location.href).indexOf("?") == -1)) { 
		var query = location.href.split("?");
		var vars = query[1].split("&");
		var ok = false;
		for (var i=0;i<vars.length;i++) {
			var pair = vars[i].split("=");
			if (pair[0] == variable) {
				ok = true; return pair[1];
			}
		}
		if (!(ok)) { return "undefined"; }
	}
	else { return "undefined"; }
}

function modCookie(keyname,keyvalue){
//Change to array input when converting to the short form!
	var path = "/";
	var domain = "avaya.com";
	var expiration_date = new Date("January 1, 2099");
	expiration_date = expiration_date.toGMTString();
	var userdata = unescape(readCookie('userdata'));
    var CookieString = userdata;
    var CookieSet = CookieString.split ('|');
    var SetSize = CookieSet.length;
    var pair;
	var mod_userdata="undefined"; var ok = true;
	for (var x=0; x < SetSize; x++) {
		pair = CookieSet[x].split ('&');
		if (pair[0].substring (0,1) == ' ')
			{ pair[0] = pair[0].substring (1, pair[0].length); }  //Remove any prefixing space from field name
		if (pair[0].toLowerCase() == keyname.toLowerCase())
			{ pair[1] = keyvalue; ok=false; }
		if(mod_userdata == "undefined"){mod_userdata=pair[0]+"&"+pair[1]+"|"; }
		else {mod_userdata=mod_userdata+pair[0]+"&"+pair[1]+"|"; }
	}
	if (ok) { 
		if(mod_userdata == "undefined"){mod_userdata=keyname+"&"+keyvalue+"|"; }
		else{mod_userdata=mod_userdata+keyname+"&"+keyvalue+"|"; }
	}
	mod_userdata = mod_userdata.substring(0,mod_userdata.length-1);

	document.cookie = 	"userdata=" + escape(mod_userdata) +
						"; expires=" + expiration_date +
						"; path=" + path +
						"; domain=" + domain;

	return (mod_userdata);
}

function populate_MDB(url,urlcode,cstring,cidValue) {
	var ScriptPath = server + "/cgi-bin/bgt/mdb_premcontent.pl";
	var cid = cidValue;
	var checkCode;
	var checkURL;
	var checkCid;
	//var SREpattern = /SRE054/

    var CookieString = cstring;
    var CookieSet = CookieString.split ('|');
    var SetSize = CookieSet.length;
    var pair;
	if (CookieString) {
		var visitorID = readCookie('contsysid');
		document.writeln("<html>");
		document.writeln(" <head>");
		document.writeln("  <script>history.forward();</script>");
		document.writeln(" </head>");
		document.writeln(" <body>");
		document.writeln("  <form name='tempForm' method='post' action='" + ScriptPath + "'>");
		document.writeln("   <input type='hidden' name='session' value='1'>");
		document.writeln("   <input type='hidden' name='revisit' value='1'>");
		//document.writeln("   <input type='hidden' name='SRE054' value='" + keyvalue + "'>");
		for (var x=0; x < SetSize; x++) {
			pair = CookieSet[x].split ('&');
			if (pair[0].substring (0,1) == ' ')
				{  pair[0] = pair[0].substring (1, pair[0].length); }  //Remove any prefixing space from field name
			pair[1] = pair[1].replace(/\+/g, ' ');	//Replace + signs with a space
			if (pair[0] == "visitorID")			{ document.writeln("   <input type='hidden' name='" + pair[0] + "' value='" + visitorID + "'>"); }
			else if (pair[0] == "campaignID") 	{ document.writeln("   <input type='hidden' name='" + pair[0] + "' value='" + cid + "'>"); checkCid=1; }
            else if (pair[0] == "urlcode")          { document.writeln("   <input type='hidden' name='" + pair[0] + "' value='" + urlcode + "'>"); checkCode=1; }
			else if (pair[0] == "url")			{ document.writeln("   <input type='hidden' name='" + pair[0] + "' value='" + url + "'>"); checkURL=1;}
			//else if (SREpattern.test(pair[0]))	{ }
			else { document.writeln("   <input type='hidden' name='" + pair[0] + "' value='" + pair[1] + "'>"); }
		}
		if (checkCid != 1){ document.writeln("   <input type='hidden' name='campaignID' value='" + cid + "'>"); }		
		if (checkCode != 1){ document.writeln("   <input type='hidden' name='urlcode' value='" + urlcode + "'>"); }
		if (checkURL != 1){ document.writeln("   <input type='hidden' name='url' value='" + url + "'>"); }
		document.writeln("  </form>");
		document.writeln(" </body>");
		document.writeln("</html>");
		document.tempForm.submit();
	}
	return true;
}
