var siteID = "" + "50035"; var thirdPartyVisitorID = "" + ""; var thirdPartyVisitURL = "" + ""; var thirdPartyVisitReferrer = "" + ""; var imageForLogging = new Image(); function logVisit () { var referrer = escape(document.referrer); var merchantUrl = escape(document.URL); if ((document.URL.toLowerCase().indexOf("xcmpx") != -1) && document.images) { var visitorID = markVisitor(merchantUrl, referrer); var cookiesEnabled = (visitorID == getCookie ("VisitorID_" + siteID)) ? "1" : "0"; var src = "http://tracking.roispy.com/scripts/track1/logevent.aspx?siteid=" + siteID + "&visitorid=" + visitorID + "&eventname=visit&saleamount=0&referrer=" + referrer + "&merchanturl=" + merchantUrl + "&cookiesenabled=" + cookiesEnabled; imageForLogging.src = src; } } function logSale (saleAmount) { // First party cookies? var visitorID = getCookie ("VisitorID_" + siteID); var visitURL = getCookie ("VisitURL_" + siteID); var visitReferrer = getCookie ("VisitReferrer_" + siteID); // Third party cookies? if (visitorID == null) { visitorID = thirdPartyVisitorID; visitURL = thirdPartyVisitURL; visitReferrer = thirdPartyVisitReferrer; } if (visitorID != null && visitorID != "" && document.images) { var saleReferrer = escape(document.referrer); var saleURL = escape(document.URL); var src = "http://tracking.roispy.com/scripts/track1/logevent.aspx?siteid=" + siteID + "&visitorid=" + visitorID + "&eventname=sale&saleamount=" + saleAmount + "&referrer=" + visitReferrer + "&merchanturl=" + visitURL + "&saleurl=" + saleURL + "&salereferrer=" + saleReferrer + "&cookiesenabled=1"; imageForLogging.src = src; } } function markVisitor (visitURL, visitReferrer) { var visitorID = getCookie ("VisitorID_" + siteID); if (visitorID == null) { visitorID = uniqueID(); } var expDate = new Date(); expDate.setMonth(expDate.getMonth()+3); var merchantDomain = document.domain; if (!isIP(merchantDomain) && merchantDomain.indexOf(".",merchantDomain.indexOf(".") + 1) != -1) merchantDomain = merchantDomain.substring(merchantDomain.indexOf(".") + 1); // Netscape 6 should have a dot in front of the domain name if (navigator.userAgent.indexOf("Netscape6") != - 1 && !isIP(merchantDomain) && merchantDomain.length > 1 && merchantDomain[0] != '.') merchantDomain = "." + merchantDomain; // Netscape 4.08 and 4.78 should not have a domain specified at all if (navigator.userAgent.indexOf("Mozilla/4.08") != -1 || navigator.userAgent.indexOf("Mozilla/4.78") != -1) { setCookie ("VisitorID_" + siteID, visitorID, expDate, false, "/"); setCookie ("VisitURL_" + siteID, visitURL, expDate, false, "/"); setCookie ("VisitReferrer_" + siteID, visitReferrer, expDate, false, "/"); } else { setCookie ("VisitorID_" + siteID, visitorID, expDate, false, "/", merchantDomain); setCookie ("VisitURL_" + siteID, visitURL, expDate, false, "/", merchantDomain); setCookie ("VisitReferrer_" + siteID, visitReferrer, expDate, false, "/", merchantDomain); } return visitorID; } function uniqueID() { var ln = (100 + Math.floor(Math.random()*900)).toString(); var ms = parseInt((new Date()).getTime()).toString(); if (ms.length > 10) ms = ms.substring(ms.length-10); var rn = (100 + Math.floor(Math.random()*900)).toString(); return (ln + ms + rn); } function setCookie (name, value, expires, secure, path, domain) { document.cookie = name + "=" + escape(value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : ""); } function getCookieVal (offset) { var endstr = document.cookie.indexOf(";", offset); if (endstr == -1) { endstr = document.cookie.length; } return unescape (document.cookie.substring(offset, endstr)); } function getCookie (name) { var arg = name + "="; var argLength = arg.length; var cookieLength = document.cookie.length; var i = 0; while (i < cookieLength) { var j = i + argLength; if (document.cookie.substring(i, j) == arg) { return getCookieVal(j); } i = document.cookie.indexOf(" ", i) + 1; if (i == 0) { break; } } return null; } function isIP (domain) { var dots = 0; var ip = true; for (i=0; i= '9' && domain.substring(i,i+1) != '.') ip = false; else if (domain.substring(i,i+1) == '.') dots++; } if (dots != 3) ip = false; return ip; } function isSearchEngine (referrer) { var seArray = new Array ("yahoo.", "msn.", "google.", "aol.com", "search.lycos.com", "altavista.com", "excite.com", "netscape.com", "ask.com", "overture.com", "about.com", "dmoz.org", "dogpile.com", "alltheweb.com", "looksmart.com", "search.com", "7search.com", "ixquick.com", "webcrawler.com", "mamma.com", "metacrawler.com", "teoma.com", "northernlight.com", "7metasearch.com", "bestsearch.com"); var found = false; for (var i=0; i < seArray.length && !found; i++) { if (referrer.toLowerCase().indexOf(seArray[i]) != -1) found = true; } return found; }