// 	Tracking code for Strachan
//
//	17/09/09	Andrew Banks	Initial Build

var debug = false;
var referrer;
var searchEngine;
var medium;
var keyword;
var ourCookieName = 'strachanTrack';


//	Arrays for SEO tracking
var searchEngineArray = new Array();
searchEngineArray['google.co.uk'] = 'www.google.co.uk';
searchEngineArray['google.com'] = 'www.google.com';
searchEngineArray['yahoo.co.uk'] = 'www.yahoo.co.uk';
searchEngineArray['yahoo.com'] = 'www.yahoo.com';
searchEngineArray['msn.co.uk'] = 'www.msn.co.uk';
searchEngineArray['msn.com'] = 'www.msn.com';
searchEngineArray['ask.co.uk'] = 'www.ask.co.uk';
searchEngineArray['ask.com'] = 'www.ask.com';
searchEngineArray['bing.co.uk'] = 'www.bing.co.uk';
searchEngineArray['bing.com'] = 'www.bing.com';

var axel = Math.random()+"";
var a = axel * 10000000000000;

$(document).ready(function(){
		
	// 	Set the referrer variable
	referrer = document.referrer.toLowerCase();
			
	if($.cookie(ourCookieName) == null)
	{
		// Get the search engine
		for (var i in searchEngineArray) 
		{
			alert('Checking for referrer ' + i);
			
			if (referrer.indexOf(i) != -1) 
			{
				alert('Search Engine was matched as ' + searchEngineArray[i]);
				searchEngine = searchEngineArray[i];
				break;
			}
			else
			{
				alert('Referrer was not a search engine');
			}
		}
		
		
		// Work out the medium
		if(searchEngine)
		{
			alert(searchEngine + ' was the search engine');
			alert('Now finding the medium');
			
			if (document.URL.indexOf('gclid') != -1)
			{
				medium = "ppc"				
			}
			else if (document.URL.indexOf('utm_medium=cpc') != -1) 
			{
				medium = "ppc"	
			}
			else
			{
				medium = "organic"	
			}
			
			alert("Medium was " + medium);
			
		}
		
		
		// Work out the keyword
		if(medium)
		{
			if(GetParameterValue("q",referrer)!=null)
			{
				keyword = GetParameterValue("q",referrer)
			}
			else if(GetParameterValue("p",referrer)!=null)
			{
				keyword = GetParameterValue("p",referrer)
			}
			
			alert("Keyword was " + keyword);
		}
		
		cookieValue = searchEngine + "," + keyword + "," + medium;
		
		$.cookie(ourCookieName, cookieValue);
	}
	else
	{
		//	Tracking has already been done and we don't need to do
		//	anything
		alert('Our cookie does exist and the tracking has previously been done');
	}
	
	alert('Tracking complete');
	
});

//	Gets a given parameter from the URL querystring
function GetParameterValue(parameterName, url)
{
	url = url.toLowerCase();
	
	var start = url.indexOf(parameterName + '=');
	if (start == -1)
	{
		return(null);
	}
	start += parameterName.length + 1;
	
	var end = url.indexOf('&',start);
	if (end == -1) 
	{
		end = url.length;
	}
	
	var toReturn = url.substring(start,end);
	return(toReturn);
}


// 	Custom debugging code			   
window.alert = new Function ("myAlert()");

myAlert = function(s) 
{
	if(debug)
	{
		var ta = document.getElementById('debug');
		if (!ta) 
		{
			var ta = document.createElement('textarea');
			ta.id = 'debug';
			ta.rows = 8; 
			ta.cols = 80;
			document.body.appendChild(ta);
		}
		ta.value += s+'\n';
	}
};
window.alert = myAlert;