(function(){	  
  var engines = [
    ['Google', 'q', /\.google\./ ],
    ['Yahoo!', 'p', /search\.yahoo\./ ],
    ['MSN', 'q', /\.msn\./ ],
    ['Live', 'q', /\.live\./ ],
    ['AlltheWeb', 'q', /\.alltheweb\./ ],
    ['AOL', 'query', /\.aol\./ ],
    ['Ask', 'q', /\.ask\./ ],
    ['AltaVista', 'q', /\.altavista\./ ],
    ['BBC', 'q', /\.bbc\./ ],
    ['HotBot', 'query', /\.hotbot\./ ],
    ['Lycos', 'query', /\.lycos\./]
  ];
  
  var ref = '';
  var query  = '';
  var engine = '';
  var referrer = (window.decodeURI)?window.decodeURI(document.referrer):document.referrer;
  var resource = (window.decodeURI)?window.decodeURI(document.URL):document.URL;
  
	// return false if doesn't exist
	function readCookie(cookieName) {
		var theCookie=""+document.cookie;
		var ind=theCookie.indexOf(cookieName);
		if (ind==-1 || cookieName=="") return false; 
		var ind1=theCookie.indexOf(';',ind);
		if (ind1==-1) ind1=theCookie.length; 
		var value = unescape(theCookie.substring(ind+cookieName.length+1,ind1));
		return value
	};

	function setCookie(cookieName, cookieValue, msec_in_utc) {
		var expire = new Date(msec_in_utc);
		document.cookie = cookieName + "=" + escape(cookieValue) + ";path=/" +";expires=" + expire.toUTCString();
	};

  try {
    if (referrer && referrer != '') {    
      if(referrer.match('\:\/\/'+window.location.host + '[^\w]')) {
        referrer = '';
      }
      else {      
        ref = 'r';      
        for(var i = 0; i<engines.length;i++) {
          if (referrer.match(engines[i][2])) {                           
            try { 
              query = referrer.match(engines[i][1] + '=([^&$]*)')[1];
              engine = engines[i][0];                        
              ref = 's';
            } catch(e) {}
          }
        }    
      }
    }
    else {
      referrer = '';
    }
  } catch(e) {}
  
	var today = new Date();
	var visit = '';
	var uniq  = '';
	if (readCookie('visit')) { visit = 1 } 
	if (readCookie('uniq')) { uniq = 1 }

	// set return visit cookie
	var expire_time_in_msec = today.getTime() + (30*60*1000); // expire 30 minutes from now	
	setCookie('visit', 't', expire_time_in_msec);
	
	// set unique visitor cookie - expires tomorrow midnight of the shop's TZ.
	// Today @ midnight + 24hrs (in msec) - shop offset (in msec) (all in UTC)
	var expire_time = Date.UTC(today.getUTCFullYear(), today.getUTCMonth(), today.getUTCDay(),0,0,0,0) + 86400*1000 - __sstats[1]*1000;
	setCookie('uniq', 'x', expire_time);	
	
  setTimeout(function() {
    var loc = 'http://stats.shopify.com/visit/record.gif?a='+__sstats[0]+ 
							'&offset=' +__sstats[1] + 
							'&v=' +ref+ 
							'&e=' +encodeURIComponent(engine)+
							'&q=' +query+
							'&r=' +encodeURIComponent(referrer)+
							'&vi='+visit+
							'&uq='+uniq+
							'&'+(new Date()).getTime();
    new Image().src = loc;
  }, 50);
}());