// Analyst tracking

// AA includes
document.write('<SCRIPT LANGUAGE="Javascript" SRC="http://adserver.akqa.net/javascript/aainsertion.2.00.js"></SCRIPT>');

// LiveTracking Methods
function EnableLiveTracking() { window.history.liveTracking = "true", setLiveTracking(); document.location.href = document.location.href; }
function DisableLiveTracking() { window.history.liveTracking = "false", setLiveTracking(); document.location.href = document.location.href; }
function setLiveTracking() { isLiveTracking = (window.history.liveTracking == "true") ? true : false; }
function clearLog() { window.history.alertString = ''; alert('log cleared'); document.location.href = document.location.href; }
function showLiveTracking() {
	var GoBackStr = '<A HREF="'+document.location.href+'">Go back to your current page</A> by clicking here - <B>DO NOT USE YOUR BACK BUTTON</B>';
	var outStr = '<SCRIPT TYPE="text/javascript" SRC="/javascript/analyst.js"></SCRIPT>\n<LINK REL="stylesheet" TYPE="text/css" HREF="/javascript/nav.css">\n\n';
	var addLinks = (typeof window.history.alertString != "undefined" && window.history.alertString != "") ? '<A HREF="javascript:clearLog();">clear log</A> | ' : '';
	addLinks += (isLiveTracking) ? '<A HREF="javascript:DisableLiveTracking();">Disable Tracking</A>' : '<A HREF="javascript:EnableLiveTracking();">Enable Tracking</A>';
	var addLog = (typeof window.history.alertString != "undefined" && window.history.alertString != "") ? window.history.alertString.replace(/\n/g,'<BR>') : '';

	outStr += GoBackStr+'<BR>'+addLinks+'<BR><BR>';
	outStr += addLog;
	outStr += addLinks+'<BR>'+GoBackStr;
	document.write(outStr);
}
function addAlertString(strAlert) {
	if(typeof window.history.alertString == "undefined") window.history.alertString = '';
	window.history.alertString += strAlert;
	window.history.alertString += '\n<B>Date and Time - ';
	window.history.alertString += new Date();
	window.history.alertString += '</B>\n\n';
}

function replace(string, match, replacement) {
	// Within STRING, replace any MATCHing string with the REPLACEMENT.
	var result = '';
	var index = 0;
	var lastIndex = index;
	while (string.length > lastIndex) {
		index = string.indexOf(match, lastIndex);
		if (index == -1) { break }
		result += string.substring(lastIndex, index) + replacement;
		lastIndex = index + match.length;
	}
	result += string.substring(lastIndex, string.length);
	return result;
}
	

// Constants
var doc_url = document.location.toString();
//doc_url = replace(doc_url,"+"," ");
var orange_site =  (doc_url.indexOf('.analyst.') != -1) ? 'ANALYST' : (doc_url.indexOf('oraweb1') != -1) ? 'STAGING' : ((doc_url.indexOf('.akqa.') != -1) || (doc_url.indexOf('uk.localnet') != -1)) ? 'DEV' : 'LIVE';
var isAnalystTesting = (orange_site == 'ANALYST') ? true : false;
var isLiveServer = (orange_site == 'LIVE' && !isAnalystTesting) ? true : false;
var strRedirect = (location.protocol == 'file:') ? 'http:' : location.protocol;
strRedirect += '//adserver.akqa.net/redirect.dll?';
var strAd = (location.protocol == 'file:') ? 'http:' : location.protocol;
strAd += '//adserver.akqa.net/ad.dll?';
var isLiveTracking;
setLiveTracking();

// Clicks
function logClick(add, url) {
	ora_getTrack(add, 'Click');
	if(url) {
		document.location.href=url;
	}
}
function AACampaignTracks() {
	for(var i=0;i<AACampaignTracks.arguments.length;AAGetTracker(AACampaignTracks.arguments[i]),i++);
}
function AAGetTracker(add) {
	ora_getTrack(add, 'Impression');
}
var getAdImage;
function ora_getTrack(add, adType) {
	if(isLiveServer || isLiveTracking) {
		var getAdQryStr = '';
		getAdImage = new Image(1,1);
		if(adType == 'Impression') getAdQryStr += '&RandomID=' + AACreateAUID();
		getAdImage.src = ((adType == 'Impression') ? strAd : strRedirect) + add + getAdQryStr;
	}

	var alertString = 'DEV SERVER\n==========\n' + adType + ': ' + add;
	if(isLiveTracking) addAlertString(alertString);
	if(isAnalystTesting) alert(alertString);
}
