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(G){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(G===undefined){G=window.event;c=G.button;element=G.srcElement}else{c=G.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 D=G.clientX;var E=G.clientY;var C=clickHeatDocument.clientWidth!==undefined?clickHeatDocument.clientWidth:window.innerWidth;var H=clickHeatDocument.clientHeight!==undefined?clickHeatDocument.clientHeight:window.innerHeight;var I=window.pageXOffset===undefined?clickHeatDocument.scrollLeft:window.pageXOffset;var J=window.pageYOffset===undefined?clickHeatDocument.scrollTop:window.pageYOffset;if(D>C||E>H){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="+(D+I)+"&y="+(E+J)+"&w="+C+"&b="+clickHeatBrowser+"&c="+c+"&random="+Date();showClickHeatDebug("Ready to send click data...");var F=false;if(clickHeatServer.substring(0,4)!=="http"){var L=false;try{L=new ActiveXObject("Msxml2.XMLHTTP")}catch(A){try{L=new ActiveXObject("Microsoft.XMLHTTP")}catch(N){L=null}}if(!L&&typeof XMLHttpRequest!==undefined){L=new XMLHttpRequest()}if(L){if(clickHeatDebug===true){L.onreadystatechange=function(){if(L.readyState===4){if(L.status===200){showClickHeatDebug("Click recorded at "+clickHeatServer+" with the following parameters:<br />x = "+(D+I)+" ("+D+"px from left + "+I+"px of horizontal scrolling)<br />y = "+(E+J)+" ("+E+"px from top + "+J+"px of vertical scrolling)<br />width = "+C+"<br />browser = "+clickHeatBrowser+"<br />click = "+c+"<br />site = "+clickHeatSite+"<br />group = "+clickHeatGroup+"<br /><br />Server answer: "+L.responseText)}else{if(L.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 "+L.status+" with the following error: "+L.responseText)}}clickHeatLocalWait=0}}}L.open("GET",clickHeatServer+"?"+params,true);L.setRequestHeader("Connection","close");L.send(null);F=true}}if(F===false){if(clickHeatDebug===true){showClickHeatDebug("Click recorded at "+clickHeatServer+" with the following parameters:<br />x = "+(D+I)+" ("+D+"px from left + "+I+"px of horizontal scrolling)<br />y = "+(E+J)+" ("+E+"px from top + "+J+"px of vertical scrolling)<br />width = "+C+"<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 B=new Image();B.src=clickHeatServer+"?"+params}}var M=new Date();clickHeatLocalWait=M.getTime()+clickHeatWait;while(clickHeatLocalWait>M.getTime()){M=new Date()}}catch(K){showClickHeatDebug("An error occurred while processing click (Javascript error): "+G.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)};