(function(){var domainUserTicket,images=[],initialized=false,mainTrackingCookieName="mr_domainUserTicketID",orderItems=[],referralID="",referredVisitorCookieName="mr_referredVisitor",setCookieValue,tracked=false,trackingCode="",cookieDomain,cookiePath,cookies,defaultCookieExpirationDate,isIncomplete,isValidProtocol,merchantID,queryStringValues,trackingBatchID,trackingImageUrl,trackingRedirectUrl,trackUnreferredConversionTypes,_document=document,_window=window,location=_window.location,_parseFloat=parseFloat,_parseInt=parseInt,_encodeURIComponent=encodeURIComponent,_decodeURIComponent=decodeURIComponent,$amount="amount",c$amount="c:"+$amount,$discount="discount",$lead="lead",mr$ad="mr:ad",$mr_conv="mr_conv",$mr_convOrderItem="mr_convOrderItem",mr$referralID="mr:referralID",mr$trackingCode="mr:trackingCode",$order="order",$shopper="shopper",$type="type";_window[$mr_conv]=[];_window[$mr_convOrderItem]=[];var init=function(){var mr$trackUnreferred="mr_trackUnreferred",$Conversions="Conversions";isIncomplete=_window.mr_isIncomplete||false;trackUnreferredConversionTypes={};trackUnreferredConversionTypes[$lead]=_window[mr$trackUnreferred+"Lead"+$Conversions]!=0;trackUnreferredConversionTypes[$order]=_window[mr$trackUnreferred+"Order"+$Conversions]!=0;trackUnreferredConversionTypes[$shopper]=_window[mr$trackUnreferred+"Shopper"+$Conversions]!=0;if(!initialized){var http="http:",https="https:",protocol=location.protocol,linkProtocol=protocol==http?http:https,trackerBaseUrl=linkProtocol+"//link.mercent.com/";cookieDomain=_window.mr_cookieDomain;cookiePath=_window.mr_cookiePath||"/";cookies=parseCookies();defaultCookieExpirationDate=new Date();defaultCookieExpirationDate.setFullYear(defaultCookieExpirationDate.getFullYear()+3);isValidProtocol=Boolean(protocol==http||protocol==https);merchantID=_window.mr_merchantID||"";queryStringValues=parseQueryString();setCookieValue=_window.mr_SetCookieValue||setCookieValue;trackingBatchID=getNewGuid();trackingImageUrl=trackerBaseUrl+"image.ashx";trackingRedirectUrl=trackerBaseUrl+"redirect.ashx";initialized=true}};_window.mr_Track=function(){try{init();if(!isValidProtocol||tracked){return }trackingCode=queryStringValues[mr$trackingCode];var isPassiveReferral=Boolean(trackingCode||queryStringValues[mr$ad]),isReferral=isPassiveReferral,isReferredVisitor;if(isPassiveReferral){referralID=getNewGuid();trackPassiveReferral()}else{referralID=queryStringValues[mr$referralID];isReferral=Boolean(referralID)}if(isReferral){isReferredVisitor=1;setCookieValue(referredVisitorCookieName,isReferredVisitor,defaultCookieExpirationDate);var trackingDataUrl=trackingImageUrl+"?"+getMercentQueryString()+"&"+getBrowserQueryString();createTrackingImage(trackingDataUrl)}else{isReferredVisitor=cookies[referredVisitorCookieName];if(isReferredVisitor!=1){isReferredVisitor=0;setCookieValue(referredVisitorCookieName,isReferredVisitor,defaultCookieExpirationDate)}}tracked=true}catch(e){}};_window.mr_addConvOrderItem=function(){var item=_window[$mr_convOrderItem];_window[$mr_convOrderItem]=[];if(!item){return }var sku=trim(item.sku),quantity=trim(item.qty),extendedPrice=fixCurrency(item.extPrice);if(!(sku&&quantity&&extendedPrice)||isNaN(quantity)||isNaN(extendedPrice)){return }item.sku=sku;item.qty=quantity;item.extPrice=extendedPrice;orderItems.push(item)};_window.mr_sendConversion=function(){init();if(!isValidProtocol){return }var conversion=_window[$mr_conv],conversionType=conversion[$type],querystringVars={};if(conversionType!=$shopper&&conversionType!=$lead&&conversionType!=$order){return }var referredVisitor=cookies[referredVisitorCookieName]||0;if(referredVisitor!=1&&!trackUnreferredConversionTypes[conversionType]){return }var conversionQuerystring="";if(conversionType==$lead){querystringVars[c$amount]=fixCurrency(conversion[$amount])}else{if(conversionType==$order){var discount=_parseFloat(removeNumberPunctuation(conversion[$discount]));if(isNaN(discount)){discount=0}else{if(discount>0){discount*=-1}}querystringVars[c$amount]=fixCurrency(conversion[$amount]);querystringVars["c:shipping"]=fixCurrency(conversion.shipping);querystringVars["c:tax"]=fixCurrency(conversion.tax);querystringVars["c:discount"]=fixCurrency(discount);querystringVars["c:postalCode"]=conversion.postalCode;querystringVars["c:countryCode"]=conversion.countryCode;querystringVars["c:itemCount"]=orderItems.length;querystringVars["c:isIncomplete"]=isIncomplete}}querystringVars["c:type"]=conversionType;querystringVars["c:id"]=conversion.id;querystringVars["c:customerId"]=conversion.customerId;conversionQuerystring=buildQueryString(querystringVars);var src=trackingImageUrl+"?"+getMercentQueryString()+"&"+getBrowserQueryString()+"&"+conversionQuerystring;createTrackingImage(src);if(orderItems){var convItemQuerystring,orderItem;for(i=0;i<orderItems.length;i++){orderItem=orderItems[i];querystringVars={};convItemQuerystring="";querystringVars["c:type"]=conversionType;querystringVars["c:id"]=conversion.id||"";querystringVars["ci:sku"]=orderItem.sku;querystringVars["ci:title"]=orderItem.title||"";querystringVars["ci:url"]=orderItem.url||"";querystringVars["ci:qty"]=orderItem.qty;querystringVars["ci:extPrice"]=orderItem.extPrice;querystringVars["ci:seqNumber"]=i;if(isIncomplete){querystringVars["c:isIncomplete"]=isIncomplete}src=trackingImageUrl+"?"+getMercentQueryString()+"&"+buildQueryString(querystringVars);createTrackingImage(src)}}};function buildQueryString(querystringArray){var querystring="",hasOwnProperty=querystringArray.hasOwnProperty;if(querystringArray){for(var querystringKey in querystringArray){if(!hasOwnProperty||hasOwnProperty.call(querystringArray,querystringKey)){var querystringValue=querystringArray[querystringKey];if(querystringValue!=null&&String(querystringValue)!=""){if(querystring!=""){querystring=querystring+"&"}querystring=querystring+querystringKey+"="+escape(querystringValue)}}}}return querystring}function buildUnconfirmedReferralURL(url){var splitUrl=url.split("?",2);var pageUrl=splitUrl[0];var queryAndFragment=splitUrl[1].split("#",2);var query=queryAndFragment[0];var fragment=queryAndFragment.length>1?queryAndFragment[1]:"";var queryArray=query.split("&");var delimiter="?";var mr_queryString="";for(var i=0;i<queryArray.length;i++){var nameValue=queryArray[i].split("=");var name=_decodeURIComponent(nameValue[0]);switch(name.toLowerCase()){case"mr:trackingcode":case"gantrackingid":case"mr:adgroup":case"mr:ad":case"mr:keyword":case"mr:placement":case"mr:match":mr_queryString+="&"+queryArray[i];break;default:pageUrl+=delimiter+queryArray[i];if(delimiter=="?"){delimiter="&"}}}if(fragment){pageUrl+="#"+fragment}var encodedPageURL=_encodeURIComponent(pageUrl);var encodedRefererURL=_encodeURIComponent(_document.referrer);var passiveURL=trackingRedirectUrl+"?"+mr$referralID+"="+referralID+"&mr:merchantID="+merchantID+mr_queryString+"&mr:targetUrl="+encodedPageURL+"&br:referer="+encodedRefererURL;return passiveURL}function convertStringTo32HexNumber(phrase){var phraseStringLast32=phrase.slice(-32),extraCharsNeeded=phrase.length-32,phraseNumber="",upperCharacter;for(var x=0;x<extraCharsNeeded;x++){phraseStringLast32+="F"}for(var i=0;i<phraseStringLast32.length;i++){upperCharacter=phraseStringLast32.charAt(i).toUpperCase();if(upperCharacter>="A"&&upperCharacter<="F"){phraseNumber+=upperCharacter}else{phraseNumber+=phraseStringLast32.charCodeAt(i).toString().slice(-1)}}return phraseNumber}function Void(){return }function createTrackingImage(src){var image=new Image(1,1);images.push(image);image.src=src;try{Event.observe(image,"load",function(){Void()})}catch(e){}}function fixCurrency(x){var num;if(typeof x=="number"){num=x}else{x=removeNumberPunctuation(x);num=_parseFloat(x);if(isNaN(num)){return x}}var num10k=Math.round(num*10000);num=num10k/10000;if(num10k%100==0&&num.toFixed){return num.toFixed(2)}else{return num.toString()}}function getBrowserQueryString(){var querystringVars={"br:referer":_document.referrer,"br:pageUrl":location.pathname,"br:dateTime":getFormattedDate()};return buildQueryString(querystringVars)}function getFormattedDate(){var now=new Date();return now.getFullYear()+"-"+leadingZero(now.getMonth())+"-"+leadingZero(now.getDate())+"T"+leadingZero(now.getHours())+":"+leadingZero(now.getMinutes())+":"+leadingZero(now.getSeconds())}function getLinkProtocol(){return location.protocol=="http"?"http":"https"}function getMercentQueryString(){if(domainUserTicket==null){domainUserTicket=cookies[mainTrackingCookieName];if(domainUserTicket==null){domainUserTicket=getNewGuid();setCookieValue(mainTrackingCookieName,domainUserTicket,defaultCookieExpirationDate)}}var querystringVars={"mr:merchantID":merchantID,"mr:referralID":referralID,"mr:ticketID":domainUserTicket,"mr:batchID":trackingBatchID};return buildQueryString(querystringVars)}function getNewGuid(){var urlHexNumber,colorDepth="",numPagesInHistory="",GUID="",_history=history,screen=_window.screen;urlHexNumber=convertStringTo32HexNumber(location.href);if(screen&&screen.colorDepth){colorDepth=screen.colorDepth.toString()}if(_history&&_history.length){numPagesInHistory=_history.length.toString()}for(var i=0;i<32;i++){var randomDigit=Math.floor(Math.random()*15);var urlHexDigit=_parseInt(urlHexNumber.charAt(i),16);if(numPagesInHistory.length>i){randomDigit=randomDigit^_parseInt(numPagesInHistory.charAt(i),16)}if(colorDepth.length>i){randomDigit=randomDigit^_parseInt(colorDepth.charAt(i),16)}var n=randomDigit^urlHexDigit;GUID+=n.toString(16);if((i==7)||(i==11)||(i==15)||(i==19)){GUID+="-"}}return GUID}function leadingZero(x){return(x<0||x>9?"":"0")+x}var parseCookies=function(cookie){if(cookie==null){cookie=_document.cookie}if(!cookie){return{}}var cookieArray=cookie.split(/\s*;\s*/),parsedCookies={};for(var i=0;i<cookieArray.length;i++){var nameValue=cookieArray[i].split("=",2);parsedCookies[nameValue[0]]=(nameValue.length>1?nameValue[1]:null)}return parsedCookies};var parseQueryString=function(queryString){if(queryString==null){queryString=location.search.substring(1)}var params=queryString.split("&"),parsedQueryString={},getQueryStringValue=_window.mr_GetQuerystringValue;if(getQueryStringValue){parsedQueryString[mr$ad]=getQueryStringValue(mr$ad);parsedQueryString[mr$referralID]=getQueryStringValue(mr$referralID);parsedQueryString[mr$trackingCode]=getQueryStringValue(mr$trackingCode)}else{for(var i=0;i<params.length;i++){var nameValue=params[i].split("=",2);parsedQueryString[_decodeURIComponent(nameValue[0])]=(nameValue.length>1?_decodeURIComponent(nameValue[1]):null)}}return parsedQueryString};function removeNumberPunctuation(str){if(typeof str!="string"){return str}return str.replace(/(\,|\s|\$)+/g,"")}setCookieValue=function(cookieName,cookieValue,expirationDate){var toUTCString=expirationDate.toUTCString||expirationDate.toGMTString,cookieString=cookieName+"="+cookieValue+"; expires="+toUTCString.call(expirationDate);if(cookiePath){cookieString=cookieString+"; path="+cookiePath}if(cookieDomain){cookieString=cookieString+"; domain="+cookieDomain}_document.cookie=cookieString};var trackPassiveReferral=function(){var passiveURL=buildUnconfirmedReferralURL(location.href);createTrackingImage(passiveURL)};function trim(str){if(typeof str!="string"){return str}var start=0,end=str.length;while(str.charAt(start)==" "&&start<end){start++}while(str.charAt(end-1)==" "&&end>start){end--}return str.substring(start,end)}})();
