//// general cookies functions
function createCookie(name,value,hours) {
	if (hours) {
		var date = new Date();
		date.setTime(date.getTime()+(hours*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 "";
}


// global onload - to fire init listeners on load

		 if(typeof window.addEventListener != 'undefined')
		 {
		 	//.. gecko, safari, konqueror and standard
		 	window.addEventListener('load', listeners_init, false);
		 }
		 else if(typeof document.addEventListener != 'undefined')
		 {
		 	//.. opera 7
		 	document.addEventListener('load', listeners_init, false);
		 }
		 else if(typeof window.attachEvent != 'undefined')
		 {
		 	//.. win/ie
		 	window.attachEvent('onload', listeners_init);
		 }

		 //** remove this condition to degrade older browsers
		 else
		 {
		 	//.. mac/ie5 and anything else that gets this far

		 	//if there's an existing onload function
		 	if(typeof window.onload == 'function')
		 	{
		 		//store it
		 		var existing = onload;

		 		//add new onload handler
		 		window.onload = function()
		 		{
		 			//call existing onload function
		 			existing();

		 			//call listeners_init onload function
		 			listeners_init();
		 		};
		 	}
		 	else
		 	{
		 		//setup onload function
		 		window.onload = listeners_init;
		 	}
		 }



// this is the function that attaches the listeners on all relevant iframes, it is loaded with window onload
// it tracks clicks on ads and creates relevant advertiser cookie
function listeners_init () {

	if (document.all) 
	{ //ie

		var el = document.getElementsByTagName("iframe");
	
		for(var i = 0; i < el.length; i++) {
			if(el[i].src.indexOf('overture.com') > -1) {
				el[i].onfocus = trackYaClick;
			}
			if(el[i].src.indexOf('chitika.net') > -1) {
				el[i].onfocus = trackChClick;
			}
			if(el[i].src.indexOf('adbrite.com') > -1) {
				el[i].onfocus = trackAdClick;
			}
			if(el[i].src.indexOf('googleads') > -1) {
				el[i].onfocus = trackGoClick;
			}
			if(el[i].src.indexOf('ampxchange') > -1) {
				el[i].onfocus = trackPuClick;
			}
			if(el[i].src.indexOf('adnet-media') > -1) {
				el[i].onfocus = trackAnClick;
			}
			if(el[i].src.indexOf('burstnet') > -1 || el[i].src.indexOf('traffiq') > -1) {
				el[i].onfocus = trackBuClick;
			}
		}
	
	} 
	else 
	{ // firefox

		var el = document.getElementsByTagName("iframe");
	
		for(var i = 0; i < el.length; i++) {
			if(el[i].src.indexOf('overture.com') > -1) {
				el[i].addEventListener('mouseover', function() 
					{
						isMouseOver = true;
						currentAdvertiser = 'ya';
					}
				, false);
				el[i].addEventListener('mouseout', function()
					{
						isMouseOver = false;
					}
				, false);
			}

			if(el[i].src.indexOf('chitika.net') > -1) {
				el[i].addEventListener('mouseover', function() 
					{
						isMouseOver = true;
						currentAdvertiser = 'ch';
					}
				, false);
				el[i].addEventListener('mouseout', function()
					{
						isMouseOver = false;
					}
				, false);
			}
			
			if(el[i].src.indexOf('adbrite.com') > -1) {
				el[i].addEventListener('mouseover', function() 
					{
						isMouseOver = true;
						currentAdvertiser = 'ad';
					}
				, false);
				el[i].addEventListener('mouseout', function()
					{
						isMouseOver = false;
					}
				, false);
			}

			if(el[i].src.indexOf('googleads') > -1) {
				el[i].addEventListener('mouseover', function() 
					{
						isMouseOver = true;
						currentAdvertiser = 'go';
					}
				, false);
				el[i].addEventListener('mouseout', function()
					{
						isMouseOver = false;
					}
				, false);
			}

			if(el[i].src.indexOf('ampxchange') > -1) {
				el[i].addEventListener('mouseover', function() 
					{
						isMouseOver = true;
						currentAdvertiser = 'pu';
					}
				, false);
				el[i].addEventListener('mouseout', function()
					{
						isMouseOver = false;
					}
				, false);
			}

			if(el[i].src.indexOf('adnet-media') > -1) {
				el[i].addEventListener('mouseover', function() 
					{
						isMouseOver = true;
						currentAdvertiser = 'an';
					}
				, false);
				el[i].addEventListener('mouseout', function()
					{
						isMouseOver = false;
					}
				, false);
			}

			if(el[i].src.indexOf('burstnet') > -1 || el[i].src.indexOf('traffiq') > -1) {
				el[i].addEventListener('mouseover', function() 
					{
						isMouseOver = true;
						currentAdvertiser = 'bu';
					}
				, false);
				el[i].addEventListener('mouseout', function()
					{
						isMouseOver = false;
					}
				, false);
			}

		}
	
		window.addEventListener('beforeunload', doPageExit, false);

	}
	
	var el_div = document.getElementsByTagName("div");
	
	if (document.all)
	{ // ie
		for(var i = 0; i < el_div.length; i++) {
			if(el_div[i].className == 'amp_w_reset') {
				el_div[i].onfocus = trackPuClick;
			}
		}
	}
	else
	{ // ff
		for(var i = 0; i < el_div.length; i++) {
			if(el_div[i].className == 'amp_w_reset') {
				el_div[i].addEventListener('mouseover', function() 
					{
						isMouseOver = true;
						currentAdvertiser = 'pu';
					}
				, false);
				el_div[i].addEventListener('mouseout', function()
					{
						isMouseOver = false;
					}
				, false);
			}
		}
	
		window.addEventListener('beforeunload', doPageExit, false);
		
	}

		
}

function doPageExit(e) {

	if (isMouseOver)
	{
		trackClick(currentAdvertiser);
	}
}

var isMouseOver = false;
var currentAdvertiser = "";

function trackClick(cookieString) {
	advString = readCookie("w4lfc");
	advString += cookieString + ',';
	createCookie("w4lfc",advString,24);
}

function trackYaClick() {
	trackClick('ya');
	return true;
}

function trackChClick() {
	trackClick('ch');
	return true;
}

function trackAdClick() {
	trackClick('ad');
	return true;
}

function trackGoClick() {
	trackClick('go');
	return true;
}

function trackPuClick() {
	trackClick('pu');
	return true;
}

function trackAnClick() {
	trackClick('an');
	return true;
}

function trackBuClick() {
	trackClick('bu');
	return true;
}

function isMouseOverTrue() {
	isMouseOver = true;
}

function isMouseOverFalse() {
	isMouseOver = false;
}
