var clickHeatGroup="";var clickHeatSite="";var clickHeatServer="";var clickHeatLastIframe=-1;var clickHeatTime=0;var clickHeatQuota=-1;var clickHeatBrowser="";var clickHeatDocument="";var clickHeatWait=500;var clickHeatLocalWait=0;var clickHeatDebug=(window.location.href.search(/debugclickheat/)!==-1);function showClickHeatDebug(A){if(clickHeatDebug===true){document.getElementById("clickHeatDebuggerSpan").innerHTML=A;document.getElementById("clickHeatDebuggerDiv").style.display="block"}}function catchClickHeat(H){try{showClickHeatDebug("Gathering click data...");if(clickHeatQuota===0){showClickHeatDebug("Click not logged: quota reached");return true}if(clickHeatGroup===""){showClickHeatDebug("Click not logged: group name empty (clickHeatGroup)");return true}if(H===undefined){H=window.event;c=H.button;element=H.srcElement}else{c=H.which;element=null}if(c===0){showClickHeatDebug("Click not logged: no button pressed");return true}if(element!==null&&element.tagName.toLowerCase()==="iframe"){if(element.sourceIndex===clickHeatLastIframe){showClickHeatDebug("Click not logged: same iframe (a click on iframe opens a popup and popup is closed => iframe gets the focus again)");return true}clickHeatLastIframe=element.sourceIndex}else{clickHeatLastIframe=-1}var K=H.clientX;var J=H.clientY;var L=clickHeatDocument.clientWidth!==undefined?clickHeatDocument.clientWidth:window.innerWidth;var G=clickHeatDocument.clientHeight!==undefined?clickHeatDocument.clientHeight:window.innerHeight;var F=window.pageXOffset===undefined?clickHeatDocument.scrollLeft:window.pageXOffset;var E=window.pageYOffset===undefined?clickHeatDocument.scrollTop:window.pageYOffset;if(K>L||J>G){showClickHeatDebug("Click not logged: out of document (should be a click on scrollbars)");return true}clickTime=new Date();if(clickTime.getTime()-clickHeatTime<1000){showClickHeatDebug("Click not logged: at least 1 second between clicks");return true}clickHeatTime=clickTime.getTime();if(clickHeatQuota>0){clickHeatQuota=clickHeatQuota-1}params="s="+clickHeatSite+"&g="+clickHeatGroup+"&x="+(K+F)+"&y="+(J+E)+"&w="+L+"&b="+clickHeatBrowser+"&c="+c+"&random="+Date();showClickHeatDebug("Ready to send click data...");var I=false;if(clickHeatServer.substring(0,4)!=="http"){var C=false;try{C=new ActiveXObject("Msxml2.XMLHTTP")}catch(N){try{C=new ActiveXObject("Microsoft.XMLHTTP")}catch(A){C=null}}if(!C&&typeof XMLHttpRequest!==undefined){C=new XMLHttpRequest()}if(C){if(clickHeatDebug===true){C.onreadystatechange=function(){if(C.readyState===4){if(C.status===200){showClickHeatDebug("Click recorded at "+clickHeatServer+" with the following parameters:<br />x = "+(K+F)+" ("+K+"px from left + "+F+"px of horizontal scrolling)<br />y = "+(J+E)+" ("+J+"px from top + "+E+"px of vertical scrolling)<br />width = "+L+"<br />browser = "+clickHeatBrowser+"<br />click = "+c+"<br />site = "+clickHeatSite+"<br />group = "+clickHeatGroup+"<br /><br />Server answer: "+C.responseText)}else{if(C.status===404){showClickHeatDebug("click.php was not found at: "+(clickHeatServer!==""?clickHeatServer:"/clickheat/click.php")+" please set clickHeatServer value")}else{showClickHeatDebug("click.php returned a status code "+C.status+" with the following error: "+C.responseText)}}clickHeatLocalWait=0}}}C.open("GET",clickHeatServer+"?"+params,true);C.setRequestHeader("Connection","close");C.send(null);I=true}}if(I===false){if(clickHeatDebug===true){showClickHeatDebug("Click recorded at "+clickHeatServer+" with the following parameters:<br />x = "+(K+F)+" ("+K+"px from left + "+F+"px of horizontal scrolling)<br />y = "+(J+E)+" ("+J+"px from top + "+E+"px of vertical scrolling)<br />width = "+L+"<br />browser = "+clickHeatBrowser+"<br />click = "+c+"<br />site = "+clickHeatSite+"<br />group = "+clickHeatGroup+'<br /><br />Server answer:<br /><iframe src="'+clickHeatServer+"?"+params+'" width="700" height="60"></iframe>')}else{var M=new Image();M.src=clickHeatServer+"?"+params}}var B=new Date();clickHeatLocalWait=B.getTime()+clickHeatWait;while(clickHeatLocalWait>B.getTime()){B=new Date()}}catch(D){showClickHeatDebug("An error occurred while processing click (Javascript error): "+H.message)}return true}function initClickHeat(){if(clickHeatDebug===true){document.write('<div id="clickHeatDebuggerDiv" style="padding:5px; display:none; position:absolute; top:10px; left:10px; border:1px solid #888; background-color:#eee; z-index:99;"><strong>ClickHeat debug: <a href="#" onmouseover="document.getElementById(\'clickHeatDebuggerDiv\').style.display = \'none\'; return false">Rollover to close</a></strong><br /><br /><span id="clickHeatDebuggerSpan"></span></div>')}if(clickHeatGroup===""||clickHeatServer===""){showClickHeatDebug("ClickHeat NOT initialised: either clickHeatGroup or clickHeatServer is empty");return false}domain=window.location.href.match(/http:\/\/[^/]+\//);if(domain!==null&&clickHeatServer.substring(0,domain[0].length)===domain[0]){clickHeatServer=clickHeatServer.substring(domain[0].length-1,clickHeatServer.length)}if(document.addEventListener){document.addEventListener("mousedown",catchClickHeat,false)}else{if(document.attachEvent){document.attachEvent("onmousedown",catchClickHeat)}}iFrames=document.getElementsByTagName("iframe");for(i=0;i<iFrames.length;i++){if(document.addEventListener){iFrames[i].addEventListener("focus",catchClickHeat,false)}else{if(document.attachEvent){iFrames[i].attachEvent("onfocus",catchClickHeat)}}}clickHeatDocument=(document.documentElement!==undefined&&document.documentElement.clientHeight!==0)?document.documentElement:document.body;var A=navigator.userAgent!==undefined?navigator.userAgent.toLowerCase().replace(/-/g,""):"";clickHeatBrowser=A.replace(/iceweasel/,"firefox").replace(/^.*(firefox|kmeleon|safari|msie|opera).*$/,"$1");if(A===clickHeatBrowser||clickHeatBrowser===""){clickHeatBrowser="unknown"}showClickHeatDebug("ClickHeat initialised with:<br />site = "+clickHeatSite+"<br />group = "+clickHeatGroup+"<br />server = "+clickHeatServer+"<br />quota = "+(clickHeatQuota===-1?"unlimited":clickHeatQuota)+"<br /><br />browser = "+clickHeatBrowser)};