/* * ilan.eu.org Gashash Tracker * Copyright 2008 ilan.eu.org, All Rights Reserved. */ /* * Cookie Types * * alpha : unique user id * beta : _gtimeout cookie * gamma : session cookie */ var _gdoc=document; var _gdloc=_gdoc.location; var _gcdom="auto"; //cookie domain var _gcpath="/"; //cookie path var _gcdomhash="on"; //make hash for domain var _gturl="http://stats.ilan.eu.org/gashash.php"; //stats url var _gtimeout="1800"; //session timeout in seconds var _gtitledetect=1; //detect and send title with stats if (_gdloc.hash) _gdlhash=_gdloc.href.substring(_gdloc.href.indexOf('#')); var _gfinished,_guid,_gdid; function gashashTracker(page) { if (_gdloc.protocol=="file:") return; if (_gfinished) return; var _udo=""; var gdcookies=_gdoc.cookie; var galphax=" expires="+_gAlphaCookieExpire()+";"; _gdid=_gDomain(); _guid=_gUniqueId(); _date=new Date(); _gts=Math.round(_date.getTime()/1000); var a,b,c; a=gdcookies.indexOf("__gtc_uid="+_gdid); b=gdcookies.indexOf("__gtc_sts="+_gdid); if (_gcdom && _gcdom!="") { _gdom=" domain="+_gcdom+";"; } if (_gtimeout && _gtimeout!="") { x=new Date(_date.getTime()+(_gtimeout*1000)); x=" expires="+x.toGMTString()+";"; } if (a>=0 && b>=0) true; else { if (a>=0) { a=_gGC(gdcookies,"__gtc_uid="+_gdid,";"); b=_gdid+"@"+_gts; } else { a=_gdid+"."+_guid+"@"+_gts; b=_gdid+"@"+_gts; } _gdoc.cookie="__gtc_uid="+a+"; path="+_gcpath+";"+galphax+_gdom; _gdoc.cookie="__gtc_sts="+b+"; path="+_gcpath+";"+_gdom; } _gLog(page); _gfinished = 1; } function _gGetCookie(name) { var search = name + "=" + _gdid; if (document.cookie.length > 0) { var offset = document.cookie.indexOf(search) - _gdid.toString().length; // if cookie exists, return its value if (offset != -1) { offset += search.length var end = document.cookie.indexOf(";", offset) if (end == -1) end = document.cookie.length; return unescape(document.cookie.substring(offset, end)); } } return null; } function _gAlphaCookieExpire() { return (new Date((new Date()).getTime()+157680000000)).toGMTString(); // Set timeout to 5 years } function _gUniqueId() { var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz"; var string_length = 32; var randomstring = ''; for (var i=0; i=0) && (p<=8)) { _ur="0"; } if (_ur.indexOf("[")==0 && _ur.lastIndexOf("]")==(_ur.length-1)) { _ur="-"; } } s+=">n="+_guid; s+=_gBrowserInfo(); if (_gtitledetect && _gdoc.title && _gdoc.title!="") s+=">doctitle="+_uES(_gdoc.title); if (_gdloc.hostname && _gdloc.hostname!="") s+=">hostname="+_uES(_gdloc.hostname); s+=">referrer="+_uES(_ur); s+=">pathname="+_uES(pg); if (true) { var i=new Image(1,1); i.src=_gturl+"?"+"gtvisited="+_gtvisited+s+">acct="+_gtacc+">uid="+_gGetCookie("__gtc_uid")+">sts="+_gGetCookie("__gtc_sts")+">cookies="+_gGCS(); i.onload=function() {_gVoid();} } return; } function _gBrowserInfo() { var sr="-",sc="-",ul="-",fl="-",cs="-",je=1; var n=navigator; if (self.screen) { sr=screen.width+"x"+screen.height; sc=screen.colorDepth+"-bit"; } else if (self.java) { var j=java.awt.Toolkit.getDefaultToolkit(); var s=j.getScreenSize(); sr=s.width+"x"+s.height; } if (n.language) { ul=n.language.toLowerCase(); } else if (n.browserLanguage) { ul=n.browserLanguage.toLowerCase(); } je=n.javaEnabled()?1:0; fl=_gFlashInfo(); if (_gdoc.characterSet) cs=_uES(_gdoc.characterSet); else if (_gdoc.charset) cs=_uES(_gdoc.charset); return ">charset="+cs+">sr="+sr+">sc="+sc+">ul="+ul+">je="+je+">fl="+fl; } function _gFlashInfo() { var f="-",n=navigator; if (n.plugins && n.plugins.length) { for (var ii=0;ii=2;ii--) { try { var fl=eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash."+ii+"');"); if (fl) { f=ii + '.0'; break; } } catch(e) {} } } return f; } function _gVoid() { return; } function _gDomain() { if (!_gcdom || _gcdom=="" || _gcdom=="none") { _gcdom=""; return 1; } if (_gcdom=="auto") { var d=_gdoc.domain; if (d.substring(0,4)=="www.") { d=d.substring(4,d.length); } _gcdom=d; } _gcdom = _gcdom.toLowerCase(); if (_gcdomhash=="off") return 1; return _gHash(_gcdom); } function _gHash(str) { var hash = 5381; var c; for (var i=str.length-1;i>=0;i--) { var c=parseInt(str.charCodeAt(i)); hash = ((hash << 5) + hash) + c; /* hash * 33 + c */ } return hash; } function _uES(s,u) { if (typeof(encodeURIComponent) == 'function') { if (u) return encodeURI(s); else return encodeURIComponent(s); } else { return escape(s); } } // a=_gGC(gdcookies,"__gtc_uid="+_gdid,";"); function _gGC(l,n,s) { if (!l || l=="" || !n || n=="" || !s || s=="") return "-"; var i,i2,i3,c="-"; i=l.indexOf(n); i3=n.indexOf("=")+1; if (i > -1) { i2=l.indexOf(s,i); if (i2 < 0) { i2=l.length; } c=l.substring((i+i3),i2); } return c; } function _gGCS() { var t,c="",dc=_gdoc.cookie; if ((t=_gGC(dc,"__gtc_uid="+_gdid,";"))!="-") c+=_uES("__gtc_uid="+t+";+"); if ((t=_gGC(dc,"__gtc_sts="+_gdid,";"))!="-") c+=_uES("__gtc_sts="+t+";"); // if ((t=_gGC(dc,"__utmb="+_udh,";"))!="-") c+=_uES("__utmb="+t+";+"); // if ((t=_gGC(dc,"__utmc="+_udh,";"))!="-") c+=_uES("__utmc="+t+";+"); // if ((t=_gGC(dc,"__utmx="+_udh,";"))!="-") c+=_uES("__utmx="+t+";+"); // if ((t=_gGC(dc,"__utmz="+_udh,";"))!="-") c+=_uES("__utmz="+t+";+"); // if ((t=_gGC(dc,"__utmv="+_udh,";"))!="-") c+=_uES("__utmv="+t+";"); if (c.charAt(c.length-1)=="+") { c=c.substring(0,c.length-1); } return c; } function _uEC(s) { var n=""; if (!s || s=="") return ""; // cur_url = cur_url.replace(/\|/g, '%7C'); // cur_url = cur_url.replace(/'/g, '%27'); for (var i=0;i