// To use this, add the following lines to the pages that you wish to track. // Fill trackingpixels with pixel URLs inside "", separated by commas // Use [timestamp] in urls for a cachebuster. // <SCRIPT type="text/javascript">var trackingpixels=new Array();</SCRIPT> // <SCRIPT type="text/javascript" SRC="http://cache.ultramercial.com/s/shadow.js"></SCRIPT> // // here's the script, don't touch this: var hcessf=new Array(); var hcessb=new Array(); var hchttp='http://'; hcessb[0]='ho.ultramercial.com'; hcessb[1]='happy.ultramercial.com'; hcessb[2]='mirror.ultramercial.com/e'; hcessb[3]='cache.ultramercial.com/e'; var hcmgx=new Array(); var hcmgxl=0; var hcmgxd=0; function hcerc (hcon) { var exp = new RegExp (escape(hcon) + "=([^;]+)"); if (exp.test (document.cookie + ";")) { exp.exec (document.cookie + ";"); return unescape(RegExp.$1); } else return false; }function hcrs() { return parseInt(1+Math.floor(Math.random()*3)); }function hcrn() { return parseInt(10000+Math.floor(Math.random()*9999)); }function hcdi() { hcmgxd++; }function hctodo() { return (hcmgxl-hcmgxd); }function hci(hcii) { hcmgx[hcmgxl]=new Image(); hcmgx[hcmgxl].src=hcii; hcmgx[hcmgxl].onload=hcdi; hcmgxl++; }function hct(hcpx) { var hcpxa=new Array(); try { if (typeof(hcpx)=='undefined') var hcpx=""; } catch(er) { var hcpx=""; }if (typeof(hcpx)=='string') { if (hcpx.length>0) hcpxa.push(hcpx); } else if (typeof(hcpx)=='object') { for (var hces=hcpx.length-1;hces>=0;hces--) if (hcpx[hces].length>0) hcpxa.push(hcpx[hces]); } else return; if (hcpxa.length==0) return; var hreg=new RegExp("timestamp", "i"); for (var hces=hcpxa.length-1;hces>=0;hces--) { hci(hcpxa[hces].replace(hreg,hcrn())); }}function hcf(hcpxa,hcpn,hcpa) { if (hcpxa.length==0) return; var umphlii; for (umphlii=0;umphlii<40;umphlii++) document.write('<br>'); for (var hces=hcpxa.length-1;hces>=0;hces--) { var hcfdwa=new Array(); hcfdwa[0]='src="'+hchttp+hcpxa[hces]+'/'+hcpn+'?'+hcpa.join('=')+'"'; hcfdwa[1]='width='+hcrs(); hcfdwa[2]='height='+hcrs(); hcfdwa[3]='border=0'; hcfdwa[4]='style="display:none;"'; document.write('<img '+hcfdwa.join(' ')+'>'); }}function hcb(hcpxa,hcpn,hcpa) { if (hcpxa.length==0) return; for (var hces=hcpxa.length-1;hces>=0;hces--) { hci(hchttp+hcpxa[hces]+'/'+hcpn+'?'+hcpa.join('=')); }}setTimeout('um_groundhogday();',0300); // give time for shadow to load function um_groundhogday() {  // see the shadow of this page um_jimwashere(location.href); }function um_jimwashere(where) {  // record the event if (where.lastIndexOf('/')==-1) where=location.href.substring(0,location.href.lastIndexOf('/')+1)+where; var hcea=new Array(); hcea[0]=escape(where); // hcel hcea[1]=hcrn(); hcea[2]=escape(hcerc('uri')); // hceu var hcep='shadow.um';  // hcep try { hcf(hcessf,hcep,hcea); } catch(er) { } try { hcb(hcessb,hcep,hcea); } catch(er) { } try { hct(trackingpixels); } catch(er) { } }function mark(wha) { phantomshadow(wha); }var phantomtargetsloaded=0;  // incremented on each start, decremented on each completion var phantomtargetsloading=0; // incremented on each start var phantomshadowhcpp; function phantomshadow(hcpp) { phantomshadowhcpp=hcpp; if (hcpp.length>0) setTimeout("phantomshadow_echo()",0010); phantomtargetsloaded++; phantomtargetsloading++; }function phantomshadow_echo() { hcpp=phantomshadowhcpp; // it's just like being there! if (hcpp.lastIndexOf('/')==-1) hcpp=location.href.substring(0,location.href.lastIndexOf('/')+1)+hcpp; var hcch=hcpp.split('?'); if (hcch.length==2) hcpp=hcch[0]; var hcea=new Array(); hcea[0]=escape(hcpp); hcea[1]=hcrn(); if (hcch.length==2) hcea[2]=hcch[1]; else hcea[2]=escape(hcerc('uri')); // hceu var hcep='shadow.um'; try { hcf(hcessf,hcep,hcea); } catch(er) { } try { hcb(hcessb,hcep,hcea); } catch(er) { } phantomtargetsloaded--; }var phantomgotarget; var phantomtargetscycling=0; // track retry attempts function phantomgo(target) { // allows time to ping before redirecting to webpage target phantomgotarget=target; setTimeout("phantomgo_echo()",phantomtargetsloaded*0100); }function phantomgo_echo() { // ok, here is what I was thinking: // if there are still echo routines that need attention, // go away and come back when they're done // but don't do that more than a couple times if ((phantomtargetscycling<3)&&(phantomtargetsloaded>0)) { phantomtargetscycling++; setTimeout("phantomgo_echo()",phantomtargetsloaded*0100); } else goURL(phantomgotarget); }function markandgo(tag,target) { // pings and then redirects to webpage target phantomshadow(tag); phantomgo(target) }var phantompollhcqu; var phantompollhcan; function phantompoll(hcqu, hcan) { phantompollhcqu=hcqu; phantompollhcan=hcan; setTimeout("phantompoll_echo()",0020); phantomtargetsloaded++; phantomtargetsloading++; }function phantompoll_echo() { hcqu=phantompollhcqu; hcan=phantompollhcan; var hcea=new Array(); hcea[0]=escape(location.href); hcea[1]=escape(hcqu); hcea[2]=escape(hcan); hcea[3]=hcrn(); var hcep='poll.um'; try { hcf(hcessf,hcep,hcea); } catch(er) { } try { hcb(hcessb,hcep,hcea); } catch(er) { } phantomtargetsloaded--; }var sugarratingrating; function sugarrating(rating) { // records a rating and a poll result sugarratingrating=rating; setTimeout('sugarrating_echo()',0020); phantomtargetsloaded++; phantomtargetsloading++; }var sugarratingimaged=new Image; function sugarrating_echo() { // records a rating and a poll result rating=sugarratingrating; var params=new Array(); params[0]=unescape(getCookie('destination'))+'/sugarmama-rates'; params[1]=escape(rating); params[2]=getCookie('tag'); // adid/accountid sugarratingimaged.src=params.join('/'); sugarpoll('rating',rating); phantomtargetsloaded--; }var sugarpollhcqu; var sugarpollhcan; function sugarpoll(hcqu, hcan) { // stores a poll result sugarpollhcqu=hcqu; sugarpollhcan=hcan; setTimeout('sugarpoll_echo()',0020); phantomtargetsloaded++; phantomtargetsloading++; }var sugarpollimaged=new Image; function sugarpoll_echo() { // stores a poll result hcqu=sugarpollhcqu; hcan=sugarpollhcan; var params=new Array(); params[0]=unescape(getCookie('destination'))+'/sugarmama-polls'; params[1]=getCookie('tag'); // adid/accountid params[2]=escape(hcqu); params[3]=escape(hcan); sugarpollimaged.src=params.join('/'); phantompoll(hcqu, hcan); phantomtargetsloaded--; }function sugarminutes() { // returns number of minutes that will be credited return parseInt(getCookie('index')); }function sugarexitearly() { // flees back to the Web server // phantomshadow(hccp);//hccp used to be part of the function call var destinationserver=unescape(getCookie('destination')); if (destinationserver.length>5) phantomgo(destinationserver+'/sm_account.html'); }function pagecolor(whichColor){ document.bgColor=whichColor; }
