var cookieName = "searchEngineTracking";

// go through major search engines
var currentReferer = document.referrer.toLowerCase();
var searchEngine = "";

if (currentReferer == "") { currentReferer = "N/A"; }

if (currentReferer.indexOf("yahoo.com") != -1){ searchVariable = "p"; searchEngine = "Yahoo"; }
if (currentReferer.indexOf("google.com") != -1){ searchVariable = "q"; searchEngine = "Google"; }
if (currentReferer.indexOf("altavista.com") != -1){ searchVariable = "q"; searchEngine = "Alta Vista"; }
if (currentReferer.indexOf("live.com") != -1){ searchVariable = "q"; searchEngine = "MSN Live"; }
if (currentReferer.indexOf("msn.com") != -1){ searchVariable = "q"; searchEngine = "MSN"; }

if (searchEngine == "") { searchVariable = "q"; searchEngine = "Other"; }

var keywords = getQueryVariable(currentReferer,searchVariable);

// set the cookie
if (readCookie(cookieName) == null)
{
	createCookie(cookieName,searchEngine+": "+keywords,1);
}

function getQueryVariable(referer,variable) {
  // slipt the referer
  var query = referer.split("?");
  if (isArray(query))
  {
	if (query.length == 2)
	{
		query = query[1];
  		var vars = query.split("&");
  		for (var i=0;i<vars.length;i++) {
  		  var pair = vars[i].split("=");
  		  if (pair[0] == variable) {
  		    return pair[1];
  		  }
  		}
	}
  } 
  return "No Keywords Found";
}

//chk if an object is an array or not.
function isArray(obj) {
	//returns true is it is an array
	if (obj.constructor.toString().indexOf("Array") == -1)
	return false;
	else
	return true;
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}
