
function clicker(){var d=null;function f(a){if(a!=d)return escape(a.toString());return""}function h(a){if(a!=d)return a.toString().substring(0,256);return""}function i(a,b){b=f(b);if(b!=""){a=f(a);if(a!="")return"&".concat(a,"=",b)}return""}function j(a){if(a!=d){a=a.toString();if(2==a.length)return i("hl",a);if(5==a.length)return i("hl",a.substring(0,2))+i("gl",a.substring(3,5))}return""}
function k(a,b,e){var c=[];if(a){var g=a.screen;if(g){c.push(i("u_h",g.height));c.push(i("u_w",g.width));c.push(i("u_ah",g.availHeight));c.push(i("u_aw",g.availWidth));c.push(i("u_cd",g.colorDepth))}a.history&&c.push(i("u_his",a.history.length))}e&&typeof e.getTimezoneOffset=="function"&&c.push(i("u_tz",-e.getTimezoneOffset()));if(b){typeof b.javaEnabled=="function"&&c.push(i("u_java",b.javaEnabled()));b.plugins&&c.push(i("u_nplug",b.plugins.length));b.mimeTypes&&c.push(i("u_nmime",b.mimeTypes.length))}return c.join("")}
function l(a,b){var e="";if(b){var c=b.referrer;if(a&&a.top&&b.location&&a.top.location==b.location){e+=i("ref",h(c));c=b.location}e+=i("url",h(c))}return e}function m(a){if(a&&a.location&&a.location.protocol&&a.location.protocol.toString().toLowerCase()=="https:")return"https:";return"http:"}function n(a,b){return m(a)+"//www.googleadservices.com/pagead/"+b}
function o(a,b,e){var c="/?";if(a.google_conversion_type=="landing")c="/extclk?";c=["conversion/",f(a.google_conversion_id),c,"random=",f(a.google_conversion_time)].join("");c=n(a,c);c+=[i("cv",a.google_conversion_js_version),i("fst",a.google_conversion_first_time),i("num",a.google_conversion_snippets),i("fmt",a.google_conversion_format),i("value",a.google_conversion_value),i("label",a.google_conversion_label),i("bg",a.google_conversion_color),j(a.google_conversion_language),i("guid","ON"),k(a,b,
a.google_conversion_date),l(a,e)].join("");return c}function p(a){var b={ar:1,bg:1,cs:1,da:1,de:1,el:1,en_AU:1,en_US:1,en_GB:1,es:1,et:1,fi:1,fr:1,hi:1,hr:1,hu:1,id:1,is:1,it:1,iw:1,ja:1,ko:1,lt:1,nl:1,no:1,pl:1,pt_BR:1,pt_PT:1,ro:1,ru:1,sk:1,sl:1,sr:1,sv:1,th:1,tl:1,tr:1,vi:1,zh_CN:1,zh_TW:1};if(b[a])return a+".html";return"en_US.html"}
function q(a,b,e){b=o(a,b,e);e=function(c,g,r){return'<img height="'+r+'" width="'+g+'" border="0" src="'+c+'" />'};if(a.google_conversion_format==0){a=m(a)+"//services.google.com/sitestats/"+p(a.google_conversion_language)+"?cid="+f(a.google_conversion_id);return'<a href="'+a+'" target="_blank">'+e(b,135,27)+"</a>"}else return a.google_conversion_snippets>1||a.google_conversion_format==3?e(b,1,1):'<iframe name="google_conversion_frame" width="'+(a.google_conversion_format==2?200:300)+'" height="'+
(a.google_conversion_format==2?26:13)+'" src="'+b+'" frameborder="0" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no">'+e(b.replace(/\?random=/,"?frame=0&random="),1,1)+"</iframe>"}
function s(a){if(a.google_conversion_type=="landing"||!a.google_conversion_id)return false;a.google_conversion_date=new Date;a.google_conversion_time=a.google_conversion_date.getTime();if(typeof a.google_conversion_snippets=="number"&&a.google_conversion_snippets>0)a.google_conversion_snippets+=1;else a.google_conversion_snippets=1;if(typeof a.google_conversion_first_time!="number")a.google_conversion_first_time=a.google_conversion_time;a.google_conversion_js_version="6";if(a.google_conversion_format!=
0&&a.google_conversion_format!=1&&a.google_conversion_format!=2&&a.google_conversion_format!=3)a.google_conversion_format=1;return true}function t(a){a.google_conversion_date=d;a.google_conversion_time=d;a.google_conversion_js_version=d;a.google_conversion_id=d;a.google_conversion_value=d;a.google_conversion_label=d;a.google_conversion_language=d;a.google_conversion_format=d;a.google_conversion_color=d;a.google_conversion_type=d}function u(a,b){b="[\\?&;]"+b;b=new RegExp(b);return b.exec(a)!=d}
function v(){var a=document.getElementsByTagName("head")[0];if(!a){a=document.createElement("head");document.getElementsByTagName("html")[0].insertBefore(a,document.getElementsByTagName("body")[0])}var b=document.createElement("script");b.src=n(window,"conversion_debug_overlay.js");a.appendChild(b)};function w(a,b,e){if(a)if(u(document.URL,"google_debug"))v();else{try{s(a)&&e.write(q(a,b,e))}catch(c){}t(a)}}w(window,navigator,document);}

/* 
http://asp-net-whidbey.blogspot.com/2006/03/tracking-adsense-clicks-with-google.html
version: 0.2

This script has to be referenced somewhere in your web page. I recomend 
placing this script snippet just after Google Analytics tracking code.

</script src="astracker.js" type="text/javascript" charset="utf-8"></script>	

This is utf-8 encoded script file (because of lngFilter)! preserve encoding
for correct function.
*/
var analyticsTag = '/asclick';

// init adsense click tracking after docuement load...
AttachEvent(window,'load',adsenseTrackerInit,false);

// helper global variables
var adsenseTrackerActive = false;
var adsenseTrackerUnit = '';

// prefixes and suffixes language filter array
var lngFilter = Array('go to','View ads about','gehe zu','Afficher la page','Afficher des annonces sur','Anzeigen über',
'gaan na','|ma Ja','war-du','vs a','Jdi na','Zobrazit reklamy na téma','ewch i','g til','Se annoncer om','iru al','ir a',
'Ver anuncios sobre','liigu edasi aadressile','bisitatu','mene osoitteeseen','Tarkastele mainoksia aiheesta','far til',
'gean nei','tigh chuig','rach gu','Jeho ko\'pe:','idemo na','Ugrs:','vade a','fara','visita','Visualizza annunci su',
'Ayo menyang','ire ad','kumbama na','eiti','Dodieties uz','|- ilekku povuka','pergi ke','mur sa','ga naar',
'Bekijk advertenties over','g til','Se annonser om','anar a','|ku jAntu','przejd do','Pokarz reklamy o','ir para',
'Ver anúncios sobre','riy|man','va a','du-te la','posjeti','|yanna','prejdi na','Zobraziť reklamy s témou','pojdi na',
'endai ku','Aad','shko n','e ya ho','lebet ka','g till','Se annonser om','nenda','|a git','pumunta sa','\'alu ki he',
'|adresine git','Şu konuyla ilgili reklamları görüntüle:','ko','|ga boring','yiya kwi','lo si','iya ku','A(z)|témával kapcsolatos hirdetések megtekintése',
'|&#2965;&#3021;&#2965;&#3009;&#2970;&#3021; &#2970;&#3014;&#2994;&#3021;&#2994;&#2997;&#3009;&#2990;&#3021;',
'|&#3093;&#3135; &#3125;&#3142;&#3123;&#3149;&#3123;&#3074;&#3105;&#3135;','&#6033;&#6085;&#6016;&#6070;&#6035;&#6091;',
'|&#1576;&#1585;&#1734; &#1576;&#1734;','v&#224;o trang','|ünvanına keç','küçü:','Andate versu à','ба|рафтан','Просмотреть рекламу по теме',
'|адресіне бару','Εμφάνιση διαφημίσεων σχετικά με','|에 대한 광고 보기','गच्छ|प्रति','მოინახულე','դեպի','ໄປຫາ','|の広告検索','|मा जानुहोस्','|ला जा');

// filter phrase with lngFilter
function filterPhrase(phrase) {
    var suprefixes, filterhit;
    
    phrase = phrase.replace(/^\s+|\s+$/g, '');
    if (phrase != '') {
        for(var i=0; i<lngFilter.length; i++) {
            suprefixes = lngFilter[i].split('|');
            // check prefix
            if (suprefixes[0].length > 0 && phrase.substring(0, suprefixes[0].length) == suprefixes[0]) {
                phrase = phrase.substring(suprefixes[0].length);
                filterhit = true;
            }
            // check suffix
            if (suprefixes.length > 1 && suprefixes[1].length > 0 && phrase.substring(phrase.length - suprefixes[1].length) == suprefixes[1]) {
                phrase = phrase.substring(0, phrase.length - suprefixes[1].length);
                filterhit = true;
            }    
            if (filterhit) {
                phrase = phrase.replace(/^\s+|\s+$/g, '');
                break;
            }        
        }
    }
    return phrase;
}

// init tracker
function adsenseTrackerInit() {
	var pageHasAdsense = false;
	var el = document.getElementsByTagName("iframe");
	
	for (var i=0; i<el.length; i++) {
		if (el[i].id.indexOf('google') > -1) {
			pageHasAdsense = true;
			el[i].onmouseover = adsenseTrackerActivate;
			el[i].onmouseout = adsenseTrackerDeActivate;
		}
	}
	if (pageHasAdsense) {
		AttachEvent(window,'beforeunload',adsenseTrackerCheckClick,false);
	}
}

// check if it's our click
function adsenseTrackerCheckClick() {
	if (adsenseTrackerActive) {
		var reportedUrl = analyticsTag;

		if (adsenseTrackerUnit != '') {
			reportedUrl += '/'+ escape(adsenseTrackerUnit);
		}

		// check for ad Url/AdLinks text (is disabled in Firefox by default)
		if (window.status) {
		    var adsenseClickedAd = filterPhrase(window.status);
			if (adsenseClickedAd != '') {
			    reportedUrl += '/'+ escape(adsenseClickedAd);
			}
		}
		// this could be replaced with other tracking sw...
		reportToGoogleAnalytics(reportedUrl);
	}
}

// when moving mouse to adsense frame, activate click tracking for current ad unit...
function adsenseTrackerActivate() {
	adsenseTrackerUnit = '';

	if (this.parentNode) {
		// check for custom asc_ adsense element id
		if (this.parentNode.id.substring(0, 4) == 'asc_') {
			adsenseTrackerUnit = this.parentNode.id.substring(4);
		}
	}
	if (adsenseTrackerUnit == '') {
		// decode format parameter from adsense ads url
		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;
}

// when moving mouse out of adsense frame, deactivate click tracking...
function adsenseTrackerDeActivate() {
	adsenseTrackerUnit = '';
	adsenseTrackerActive = false;
}

// report click to google Analytics
function reportToGoogleAnalytics(reportedUrl) {
	try {
		pageTracker._trackPageview(reportedUrl);
	} catch (err) {
	}
	try {
		clicker();
 
	} catch (err) {
	}
}

function AttachEvent(obj,evt,fnc,useCapture){
	if (!useCapture) useCapture=false;
	if (obj.addEventListener){
		obj.addEventListener(evt,fnc,useCapture);
		return true;
	} else if (obj.attachEvent) return obj.attachEvent("on"+evt,fnc);
	else{
		MyAttachEvent(obj,evt,fnc);
		obj['on'+evt]=function(){ MyFireEvent(obj,evt) };
	}
} 

//The following are for browsers like NS4 or IE5Mac which don't support either
//attachEvent or addEventListener
function MyAttachEvent(obj,evt,fnc){
	if (!obj.myEvents) obj.myEvents={};
	if (!obj.myEvents[evt]) obj.myEvents[evt]=[];
	var evts = obj.myEvents[evt];
	evts[evts.length]=fnc;
}
function MyFireEvent(obj,evt){
	if (!obj || !obj.myEvents || !obj.myEvents[evt]) return;
	var evts = obj.myEvents[evt];
	for (var i=0,len=evts.length;i<len;i++) evts[i]();
}
