function getCookie(name) {
	var arg=name+"="; var alen=arg.length; var clen=document.cookie.length;
	if((document.cookie==null)||(document.cookie.length==null)) { return null; }
	var i=0;
	while(i < clen) {
		var j=i+alen;
		if(document.cookie.substring(i,j)==arg) { return getCookieVal(j); }
		i=document.cookie.indexOf(" ",i)+1;
		if(i==0) break;
	}
	return null;
}
function getCookieVal(offset) {
	var endstr=document.cookie.indexOf(";",offset);
	if(endstr==-1) { endstr=document.cookie.length; }
	return unescape(document.cookie.substring(offset,endstr));
}
function getCookieKey(name,key) {
	var result=""; var tcookie=getCookie2(name);
	if(tcookie!=null){temp=tcookie.split("&");
		for(var i=0; i<temp.length; i++) {
			if(temp[i].indexOf(key,0)>=0) {
				args=temp[i].split("="); result=args[1]; break;
			}
		}
	}
	return result;
}
function setCookie(name,value,expires,path,domain,secure){
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime(today.getTime());
	// pass expires as a number of days
	if (expires) { expires = expires * 1000 * 60 * 60 * 24; }
	var expires_date = new Date( today.getTime() + (expires) );
	
	document.cookie=name+"="+escape(value) +
	((expires) ? "; expires="+expires_date.toGMTString() : "") +
	((path) ? "; path="+path : "") +
	((domain) ? "; domain="+domain : "") +
	((secure) ? "; secure" : "");
}
function deleteCookie(name,path,domain ) {
	if(getCookie(name)) document.cookie = name + "=" +
	((path) ? ";path=" + path : "") +
	((domain) ? ";domain=" + domain : "" ) +
	";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
function exemptURL() {
	return false;
}

/* Client-side access to querystring name=value pairs | Version 1.3 | 28 May 2008
License (Simplified BSD): http://adamv.com/dev/javascript/qslicense.txt */
function Querystring(qs) { // optionally pass a querystring to parse
	this.params = {};
	
	if (qs == null) qs = location.search.substring(1, location.search.length);
	if (qs.length == 0) return;

// Turn <plus> back to <space>
// See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
	qs = qs.replace(/\+/g, ' ');
	var args = qs.split('&'); // parse out name/value pairs separated via &
	
// split out each name=value pair
	for (var i = 0; i < args.length; i++) {
		var pair = args[i].split('=');
		var name = decodeURIComponent(pair[0]);
		
		var value = (pair.length==2)
			? decodeURIComponent(pair[1])
			: name;
		
		this.params[name] = value;
	}
}

Querystring.prototype.get = function(key, default_) {
	var value = this.params[key];
	return (value != null) ? value : default_;
}

Querystring.prototype.contains = function(key) {
	var value = this.params[key];
	return (value != null);
}

// Parse the current page's querystring
var qs = new Querystring();

// utm parameters
utmSource = qs.get("utm_source","");
utmSourceOrig = qs.get("utm_source","");
utmCampaign = qs.get("utm_campaign","");
utmMedium = qs.get("utm_medium","");

function checkSource(mdmsource,mdmcampaign) {
	// alert ('mdmsource : ' + mdmsource);
	badSourceArray = ['DFBNL', 'HorNL', 'RotdNL', 'GWNL', 'QzNL']; /* array of bad/nl sources */
	for (var j = 0; j < 10; j++) { /* run this a few times to get them all */
		for (var i = 0; i < badSourceArray.length; i++) { /* check each against the passed source */
		    if (mdmsource.indexOf(badSourceArray[i]) != -1) {
				utmSource = mdmsource.substring(badSourceArray[i].length, mdmsource.length); /* strip out the bad stuff */
				// alert('true: ' + mdmsource + ' ' + badSourceArray[i]);
				// return true; /* if found return true */
	    	}
		    if (mdmcampaign.indexOf(badSourceArray[i]) != -1) {
				utmCampaign = ''; /* blank out the campaign */
				setCookie('FMACampaign','',31,'/');
				// return true; /* if found return true */
	    	}
	  	}
	}
	// alert('false: ' + mdmsource);
	return false; /* else we're okay to read the source */
}
	
if (!checkSource(utmSource,utmCampaign)) { /* check to see if the source is from one of our NLS, if so don't store it */
	//FMASource
	// alert ('utmSource: ' + utmSource);
	if (utmSource != '') {
		setCookie('FMASource',utmSource,31,'/');
	}
	//FMACampaign
	// alert ('utmCampaign: ' + utmCampaign);
	if (utmCampaign != '') {
		setCookie('FMACampaign',utmCampaign,31,'/');
	}
	//FMAMedium
	// alert ('utmMedium: ' + utmMedium);
}

function mdmPixelCode(pixNum){
	if (utmSourceOrig.toLowerCase().indexOf("dhtml") == 0 && pixNum == 0) {
		pixNum = 3;
	}
	if (pixNum == 1) { /* quizzes = 1 */
		document.write('<scr' + 'ipt language="JavaScript" type="text/javascript">');
		document.write('mdmInit(' + pixNum + ');');
		document.write('</scr' + 'ipt>');
	} else if (pixNum == 3) { /* nl signup = 3 */
		/* if (getCookie('mdmNLSignupCode') == null) { // no cookie show dhtml layer
			setCookie('mdmNLSignupCode','layerSeen','','/'); */
			document.write('<link rel="stylesheet" href="/app/quiz/css/interstitial.css" />');
			document.write('<scr' + 'ipt language="javascript" type="text/javascript" src="/app/quiz/js/jquery-1.3.2.js"></scr' + 'ipt>');
			document.write('<scr' + 'ipt language="javascript" type="text/javascript" src="/app/quiz/js/jquery.cookie.js"></scr' + 'ipt>');
			document.write('<scr' + 'ipt language="javascript" type="text/javascript" src="/app/quiz/js/dhtmlHelper.js"></scr' + 'ipt>');
			document.write('<scr' + 'ipt language="JavaScript" type="text/javascript" src="/javascript/dhtmlSite.js"></scr' + 'ipt>');
		/* } else { } // cookie exits, dhtml layer was seen this browser session, don't show on reload */
	} else { /* want to show on page #2 */
		if (getCookie('mdmPixelCode') == null) {
			setCookie('mdmPixelCode','firstPage','','/');
		} else if (getCookie('mdmPixelCode') == 'firstPage') {
			/* easy way to turn on and off for the site but leave it on the test page */
			// if (!exemptURL() && pixNum == 2) { /* on for test page only */
			if (!exemptURL()) { /* on for everything */
				if (pixNum == 2) { pixNum = 0; }
				setCookie('mdmPixelCode','secondPage','','/');
				document.write('<scr' + 'ipt language="JavaScript" type="text/javascript">');
				document.write('mdmInit(' + pixNum + ');');
				document.write('</scr' + 'ipt>');
			} else { }
		} else {
			if (pixNum == 2) { /* if testing pixNum=2 always show anyway */
				pixNum = 0;
				document.write('<scr' + 'ipt language="JavaScript" type="text/javascript">');
				document.write('mdmInit2(' + pixNum + ');');
				document.write('</scr' + 'ipt>');
			}
		}
	}
}

function returnUTMSignupVars(mdmSource, mdmCampaign) {
	utmTmpSource = getCookie('FMASource');
	utmTmpCampaign = getCookie('FMACampaign');
	
	document.write("\n");
	if (utmTmpSource == '' || utmTmpSource == null) {
		document.write('<input type="hidden" name="FormValue_CustomField12" value="' + mdmSource + '" />');
		document.write("\n");
		document.write('<input type="hidden" name="FormValue_CustomField20" value="' + mdmSource + '" />');
	} else {
		document.write('<input type="hidden" name="FormValue_CustomField12" value="' + utmTmpSource + '" />');
		document.write("\n");
		document.write('<input type="hidden" name="FormValue_CustomField20" value="' + utmTmpSource + '" />');
	}
	document.write("\n");
	if (utmTmpCampaign == '' || utmTmpCampaign == null) {
		document.write('<input type="hidden" name="FormValue_CustomField19" value="' + mdmCampaign + '" />');
	} else {
		document.write('<input type="hidden" name="FormValue_CustomField19" value="' + utmTmpCampaign + '" />');
	}
}
