var repUrl = '/Scripts/Google/report.asp';

var analyticsTag = 'go:';
var srcLine = 'googlesyndication.com';
var repDone = 0;
attachOnloadEvent(adsenseTrackerInit);

var adsenseTrackerActive = false;
var adsenseTrackerUnit = '';

function getCookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}

function adsenseTrackerInit() {
	var pageHasAdsense = false;
	var el = document.getElementsByTagName("iframe");
	for (var i=0; i < el.length; i++) {
		if (el[i].src.indexOf(srcLine) > -1) {
			pageHasAdsense = true;

			el[i].onmouseover = adsenseTrackerActivate;
			el[i].onmouseout = adsenseTrackerDeActivate;
		}
	}
	if (pageHasAdsense) {
		if (typeof window.attachEvent != 'undefined') {
			window.attachEvent('onbeforeunload', adsenseTrackerCheckClick);
		} else if (typeof window.addEventListener != 'undefined') {
			window.addEventListener('beforeunload', adsenseTrackerCheckClick, false);
		}
	}
}

function adsenseTrackerCheckClick() {
	if (adsenseTrackerActive) {
		var reportedUrl = analyticsTag;
		if (adsenseTrackerUnit != '') {
			reportedUrl += '/'+ escape(adsenseTrackerUnit);
		}
		if (window.status) {
			var adsenseClickedAd = '';
			if (window.status.substring(0, 6) == 'go to ') {
				adsenseClickedAd = window.status.substring(6);
			} else if (window.status.substring(0, 15) == 'View ads about ') {
				adsenseClickedAd = window.status.substring(15);
			} else if (window.status != '') {
				adsenseClickedAd = window.status;
			}
			if (adsenseClickedAd != '') {
				reportedUrl += '/'+ escape(adsenseClickedAd);
			}
		}
		reportToGoogleAnalytics(reportedUrl)
	}
}

function adsenseTrackerActivate() {
	adsenseTrackerUnit = '';
	if (this.parentNode) {
		if (this.parentNode.id.substring(0, 4) == 'asc_') {
			adsenseTrackerUnit = this.parentNode.id.substring(4);
		}
	}
	if (adsenseTrackerUnit == '') {
		var url = this.src;
		var startIndex = url.indexOf('format=');
		if (startIndex >= 0) {
			var lastIndex = url.indexOf('&', startIndex);
			adsenseTrackerUnit = lastIndex >= 0 ? url.substring(startIndex + 7, lastIndex) : url.substring(startIndex + 7);
		}
	}
	adsenseTrackerActive = true;
}

function adsenseTrackerDeActivate() {
	adsenseTrackerUnit = '';
	adsenseTrackerActive = false;
}

function reportToGoogleAnalytics(reportedUrl) {
	if(repDone){
		return;
	}
	repDone = 1;
	var c = getCookie("zd") * 1 + 1;
	document.cookie = "zd="+c+"; expires=Tue, 07-Sep-2010 21:33:40 GMT; path=/;";
	var p = new Image();
	p.src=repUrl+'?u='+reportedUrl+'#'+c;
}

function attachOnloadEvent(func) {
	if(typeof window.addEventListener != 'undefined') {
		window.addEventListener('load', func, false);
	} else if (typeof document.addEventListener != 'undefined') {
		document.addEventListener('load', func, false);
	} else if (typeof window.attachEvent != 'undefined') {
		window.attachEvent('onload', func);
	} else {
		if (typeof window.onload == 'function') {
			var oldonload = onload;
			window.onload = function() {
				oldonload();
				func();
			};
		} else {
				window.onload = func;
		}
	}
}

