_vsForceMDAPgID = ''; function setCookie(c_name,value,expiredays) { var exdate=new Date(); exdate.setDate(exdate.getDate()+expiredays); document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString())+ ";path=/"+ ";domain=" + _getDomain(); } function _getDomain() { var d = document.domain; if (d.substring(0,4)=="www.") { d=d.substring(4,d.length); } d=d.toLowerCase(); return d; } function getCookie(c_name) { if (document.cookie.length>0) { c_start=document.cookie.indexOf(c_name + "="); if (c_start!=-1) { c_start=c_start + c_name.length+1; c_end=document.cookie.indexOf(";",c_start); if (c_end==-1) c_end=document.cookie.length; return unescape(document.cookie.substring(c_start,c_end)); } } return ""; } function isCookieSet(cookieName) { cookieVal = getCookie(cookieName); if (cookieVal != null && cookieVal != "") return true; return false; } function u_timestamp() { return parseInt(new Date().getTime().toString().substring(0, 10)); } function _dummyVoid() { return; } function isNewSession() { return !isCookieSet('_vss'); } function isNewVisit() { return !isCookieSet('_vsvis'); } function parseVisitorID() { return getCookie('_vsvis').split('.')[0]; } function parseSessionNumber() { return parseInt(getCookie('_vsvis').split('.')[1]); } function updateVisitorCookie(visitorID,visitNumber) { setCookie('_vsvis',visitorID + '.' + visitNumber ,365*5); } function generateVisitorID() { return hashString(uniqid()); } function hashString(s) { if (!s || s=="") return 1; var h=0,g=0; for (var i=s.length-1;i>=0;i--) { var c=parseInt(s.charCodeAt(i)); h=((h << 6) & 0xfffffff) + c + (c << 14); if ((g=h & 0xfe00000)!=0) h=(h ^ (g >> 21)); } return h; } function uniqid() { var result, i, j; result = ''; for(j=0; j<32; j++) { if( j == 8 || j == 12|| j == 16|| j == 20) result = result; i = Math.floor(Math.random()*174174).toString(16).toUpperCase(); result = result + i; } return result; } function trackPage() { sourcePageID = getCookie('_cpid'); // This is Last PageID before overwriting the cookie. isReload = 0; _vstl = ''; try{ if(_vssale)blah=1/0; }catch(e){ _vssale=0; } if (sourcePageID == _vspg) { // This is a page reload. (or a dynamic page?) sourcePageID = ''; // Ignore reloads, etc... isReload=1; } if (isNewVisit()) { visitorID = generateVisitorID(); sessionNumber = 1; setCookie('_vss',u_timestamp()); setCookie('_vstl',_vstl); } else { // Returning visitor visitorID = parseVisitorID(); sessionNumber = parseSessionNumber(); if (isNewSession()) { sessionNumber++; setCookie('_vss',u_timestamp()); if(_vstl == '') setCookie('_vstl',_vstl); } } // Update persistent cookie updateVisitorCookie(visitorID,sessionNumber); // Remember *this* page as the Current Page (to be used in next pages) setCookie('_cpid',_vspg); // Log this view as necessary var i=new Image(1,1); if(_vssale !=null){ i.src='http://www.visiolo.com/visiolo.php?p=' + _vspg + '&vid=' + visitorID + '&spid=' + sourcePageID + '&sn=' + sessionNumber + '&ss=' + getCookie('_vss') + '&vstl=' + getCookie('_vstl') + '&mdaPgID=' + _vsForceMDAPgID + '&isr=' + isReload + '&vssale=' + _vssale; } else{ i.src='http://www.visiolo.com/visiolo.php?p=' + _vspg + '&vid=' + visitorID + '&spid=' + sourcePageID + '&sn=' + sessionNumber + '&ss=' + getCookie('_vss') + '&vstl=' + getCookie('_vstl') + '&mdaPgID=' + _vsForceMDAPgID + '&isr=' + isReload; } i.onload=function() { _dummyVoid(); } } function _vsForceSrcPg(pgid){_vsForceMDAPgID = pgid;} function forceSetPgID(pgid) {_vsForceSrcPg(pgid);}