var Cafe={APP_CONTAINER_ID:"cafeApp",APP_BASE_URL:"/multimedia/cafe/",appWin:null,isIE6:false,appLoaded:false,init:function(){this.isIE6=/msie|MSIE 6/.test(navigator.userAgent);if(typeof clickHeatSite!="undefined"&&clickHeatSite){initClickHeat()}if($(this.APP_CONTAINER_ID)){this.embedSwf();return}if(!document.delegate){return}document.delegate("click",{"a.open-cafe":this.openCafe.bindAsEventListener(this)})
},embedSwf:function(){var a=initParams.hostStatic+initParams.flashSrc;if(initParams.isProduction){a.replace(".swf",".v"+initParams.swfVersion+".swf")}var b={menu:"false",allowScriptAccess:"always",quality:"high",movie:a,wmode:"transparent",scale:"noorder"};swfobject.embedSWF(a,this.APP_CONTAINER_ID,"800","600","9.0.0","",flashVars,b,false,this.swfLoaded.bind(this))},swfLoaded:function(a){this.appLoaded=a.success
},openCafe:function(b){if(!Prototype.Browser.IE||!this.isIE6){return}b.stop();var a=b.element().readAttribute("rel");this.appWin=window.open(this.APP_BASE_URL+a,"cafeWindow","width=400,height=200,toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,copyhistory=yes,resizable=yes");this.appWin.moveTo(0,0);this.appWin.resizeTo(screen.width,screen.height);this.appWin.focus()}};
document.observe("dom:loaded",Cafe.init.bind(Cafe));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(b){if(clickHeatDebug===true){document.getElementById("clickHeatDebuggerSpan").innerHTML=b;
document.getElementById("clickHeatDebuggerDiv").style.display="block"}}function catchClickHeat(w){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(w===undefined){w=window.event;c=w.button;element=w.srcElement
}else{c=w.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 t=w.clientX;var u=w.clientY;var s=clickHeatDocument.clientWidth!==undefined?clickHeatDocument.clientWidth:window.innerWidth;var x=clickHeatDocument.clientHeight!==undefined?clickHeatDocument.clientHeight:window.innerHeight;var y=window.pageXOffset===undefined?clickHeatDocument.scrollLeft:window.pageXOffset;var z=window.pageYOffset===undefined?clickHeatDocument.scrollTop:window.pageYOffset;
if(t>s||u>x){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="+(t+y)+"&y="+(u+z)+"&w="+s+"&b="+clickHeatBrowser+"&c="+c+"&random="+Date();
showClickHeatDebug("Ready to send click data...");var v=false;if(clickHeatServer.substring(0,4)!=="http"){var B=false;try{B=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){try{B=new ActiveXObject("Microsoft.XMLHTTP")}catch(D){B=null}}if(!B&&typeof XMLHttpRequest!==undefined){B=new XMLHttpRequest()}if(B){if(clickHeatDebug===true){B.onreadystatechange=function(){if(B.readyState===4){if(B.status===200){showClickHeatDebug("Click recorded at "+clickHeatServer+" with the following parameters:<br />x = "+(t+y)+" ("+t+"px from left + "+y+"px of horizontal scrolling)<br />y = "+(u+z)+" ("+u+"px from top + "+z+"px of vertical scrolling)<br />width = "+s+"<br />browser = "+clickHeatBrowser+"<br />click = "+c+"<br />site = "+clickHeatSite+"<br />group = "+clickHeatGroup+"<br /><br />Server answer: "+B.responseText)
}else{if(B.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 "+B.status+" with the following error: "+B.responseText)}}clickHeatLocalWait=0}}}B.open("GET",clickHeatServer+"?"+params,true);B.setRequestHeader("Connection","close");B.send(null);
v=true}}if(v===false){if(clickHeatDebug===true){showClickHeatDebug("Click recorded at "+clickHeatServer+" with the following parameters:<br />x = "+(t+y)+" ("+t+"px from left + "+y+"px of horizontal scrolling)<br />y = "+(u+z)+" ("+u+"px from top + "+z+"px of vertical scrolling)<br />width = "+s+"<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 h=new Image();h.src=clickHeatServer+"?"+params}}var C=new Date();clickHeatLocalWait=C.getTime()+clickHeatWait;while(clickHeatLocalWait>C.getTime()){C=new Date()}}catch(A){showClickHeatDebug("An error occurred while processing click (Javascript error): "+w.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 b=navigator.userAgent!==undefined?navigator.userAgent.toLowerCase().replace(/-/g,""):"";clickHeatBrowser=b.replace(/iceweasel/,"firefox").replace(/^.*(firefox|kmeleon|safari|msie|opera).*$/,"$1");if(b===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)
}Object.extend(Event,(function(){var a={};return{delegate:function(e,d){var h={};if(arguments[3]){h[arguments[2]]=arguments[3]}else{h=Object.extend({},arguments[2])}var f=$(e),g=d,j=f.identify?f.identify():"document";if(!a[j]){a[j]={"$observer":function(o){var n=o.element();if(a[j][o.type]){for(var m=0,l=a[j][o.type].length;m<l;m++){for(var k in a[j][o.type][m]){if(a[j][o.type][m][k][1].match(n)){a[j][o.type][m][k][0](o)
}}}}}}}if(!a[j][g]){a[j][g]=[];f.observe(g,a[j]["$observer"])}for(var b in h){h[b]=[h[b],new Selector(b)]}a[j][g].push(h);return f},stopDelegating:function(g,j){if(g===undefined){for(var b in a){Event.stopDelegating(b=="$document"?document:b)}a={};return true}var m=false;if(Object.isString(arguments[2])){m={};m[arguments[2]]=true}else{if(arguments[2]){m=arguments[2]}}var e=$(g),l=j,b=e.identify?e.identify():"$document";
if(a[b]){if(l&&a[b][l]){for(var h=0,k=a[b][l].length;h<k;h++){if(m){for(var f in m){delete a[b][l][h][f]}}if(!m||$H(a[b][l][h]).any()==false){e.stopObserving(l,a[b]["$observer"]);a[b][l][h]="r"}}a[b][l]=a[b][l].without("r")}else{for(var d in a[b]){if(d!="$observer"){e.stopObserving(d,a[b]["$observer"])}}delete a[b]}}return e}}})());Element.addMethods({delegate:Event.delegate,stopDelegating:Event.stopDelegating});
document.delegate=Event.delegate.curry(document);document.stopDelegating=Event.stopDelegating.curry(document);Event.observe(window,"unload",Event.stopDelegating);