var GravityRD;(function(){GravityRD=new Object();var a=new Object();a._targetServer="saas.gravityrd.com";a._templatingSupported=true;a._shortNameDictionary=[{name:"BUY",value:"e1"},{name:"VIEW",value:"e2"},{name:"ADD_TO_CART",value:"e3"},{name:"REMOVE_FROM_CART",value:"e4"},{name:"ADD_TO_FAVORITES",value:"e5"},{name:"REMOVE_FROM_FAVORITES",value:"e6"},{name:"ADD_TO_WISHLIST",value:"e7"},{name:"REMOVE_FROM_WISHLIST",value:"e8"},{name:"RATING",value:"e9"},{name:"REC_CLICK",value:"e10"},{name:"ItemID",value:"nv1"},{name:"Position",value:"nv2"},{name:"UnitPrice",value:"nv3"},{name:"Quantity",value:"nv4"},{name:"OrderId",value:"nv5"},{name:"Value",value:"nv6"},{name:"MAIN_PAGE",value:"si1"},{name:"CATEGORY_PAGE",value:"si2"},{name:"LISTING_PAGE",value:"si3"},{name:"ITEM_PAGE",value:"si4"},{name:"CART_PAGE",value:"si5"}];
a._requestNumber=0;a._globalParams=new Object();a._globalParams.userID=null;a._globalParams.cookieName="gr_reco";a._globalParams.cookieID=null;a._globalParams.useJsGeneratedCookie=false;a._globalParams.merchantID=null;a._params=[];a._initParams=function(){a._params[a._requestNumber]=new Object();a._params[a._requestNumber].events=[];
a._params[a._requestNumber].requestNameValues=[];a._params[a._requestNumber].recommendationRequests=[];a._params[a._requestNumber].templateData=new Object();};a._initParams();GravityRD.addTemplateData=function(b,c){a._params[a._requestNumber].templateData[b]=c;};GravityRD.setUserID=function(b){a._globalParams.userID=b;
};GravityRD.setCookieName=function(b){a._globalParams.cookieName=b;};GravityRD.setCookieID=function(b){a._globalParams.cookieID=b;};GravityRD.setUseJsGeneratedCookie=function(c){a._globalParams.useJsGeneratedCookie=c;};GravityRD.setMerchantId=function(b){a._globalParams.merchantID=b;};GravityRD.addEvent=function(b){a._params[a._requestNumber].events.push(b);
};GravityRD.addRequestNameValues=function(e,b){if(a._typeOf(e)=="string"){if(a._typeOf(b)=="array"){for(var d=0;d<b.length;d++){a._params[a._requestNumber].requestNameValues.push({name:e,value:b[d]});}}else{a._params[a._requestNumber].requestNameValues.push({name:e,value:b});}}else{if(a._typeOf(e)=="object"){for(var d=0;
d<arguments.length;d++){if(a._typeOf(arguments[d].value)=="array"){for(var c=0;c<arguments[d].value.length;c++){a._params[a._requestNumber].requestNameValues.push({name:arguments[d].name,value:arguments[d].value[c]});}}else{a._params[a._requestNumber].requestNameValues.push(arguments[d]);}}}}};GravityRD.recommendationRequest=function(b){var j=null;
var h=null;var g=[];if(b.templating){if(b.templating.templateElementId){var d=document.getElementById(b.templating.templateElementId);if(d!=null){j=d.value;if(a._typeOf(j)=="undefined"){j=d.innerHTML;}}}else{if(a._typeOf(b.templating.template)!="undefined"){j=b.templating.template;}}h=b.templating.targetElementId;
}var f=b.resultNames;if(a._typeOf(f)=="string"){g.push(f);}else{if(a._typeOf(f)=="array"){for(var c=0;c<f.length;c++){g.push(f[c]);}}}var e=a._params[a._requestNumber].recommendationRequests;e[e.length]={recommendationIndex:e.length,target:h,template:j,RequestNameValues:b.requestParams,ResultNames:g,callback:b.callback};
};GravityRD.createJsSrc=function(){var h=[];if(a._globalParams.merchantID!=null){var D=document.location.protocol+"//"+a._targetServer;var b=D+"/grrec-"+a._globalParams.merchantID+"-war/JSServlet2?";var q=2000;var l="";var c="";var f="";var g=[];l+="rn="+a._urlEncodeUtf8(a._requestNumber);if(a._globalParams.userID!=null){l+="&uid="+a._urlEncodeUtf8(a._globalParams.userID);
}if(a._globalParams.useJsGeneratedCookie){l+="&cid="+a._urlEncodeUtf8(a._getGeneratedCookie(a._globalParams.cookieName));}if(a._globalParams.cookieID!=null){l+="&cid="+a._urlEncodeUtf8(a._globalParams.cookieID);}if(a._params[a._requestNumber].events.length>0){for(var w=0;w<a._params[a._requestNumber].events.length;
w++){var v=a._params[a._requestNumber].events[w];c+="&e=";var n=v.itemId;c+=a._myEncodeUrlEncodeUtf8(a._getShortNameValue(v.eventType))+","+(n?a._myEncodeUrlEncodeUtf8(n):"");var r=v.nameValues;var z=v.recommendationId;if(z){var s={name:"recid",value:z};if(r==null){r=[s];}else{r.push(s);}}var A=v.recId;
if(!z&&A){var s={name:"recid",value:A};if(r==null){r=[s];}else{r.push(s);}}if(r!=null&&r.length>0){c+=",[";var x="";for(var u=0;u<r.length;u++){x+=((x!=""?";":""))+a._myEncodeUrlEncodeUtf8(a._getShortNameValue(r[u].name))+":"+a._myEncodeUrlEncodeUtf8(r[u].value);}c+=x;c+="]";}}}if(a._params[a._requestNumber].requestNameValues.length>0){f+="&grd=[";
for(var w=0;w<a._params[a._requestNumber].requestNameValues.length;w++){f+=a._myEncodeUrlEncodeUtf8(a._getShortNameValue(a._params[a._requestNumber].requestNameValues[w].name))+":"+a._myEncodeUrlEncodeUtf8(a._params[a._requestNumber].requestNameValues[w].value);if(w<a._params[a._requestNumber].requestNameValues.length-1){f+=";";
}}f+="]";}if(a._params[a._requestNumber].recommendationRequests.length>0){for(var w=0;w<a._params[a._requestNumber].recommendationRequests.length;w++){var p="";p+=a._params[a._requestNumber].recommendationRequests[w].recommendationIndex;var e="";var k="";var y=0;if(a._typeOf(a._params[a._requestNumber].recommendationRequests[w].RequestNameValues["scenarioId"])!="undefined"){k=a._params[a._requestNumber].recommendationRequests[w].RequestNameValues["scenarioId"];
}p+=","+a._myEncodeUrlEncodeUtf8(k);if(a._typeOf(a._params[a._requestNumber].recommendationRequests[w].RequestNameValues["numberLimit"])!="undefined"){y=a._params[a._requestNumber].recommendationRequests[w].RequestNameValues["numberLimit"];}p+=","+y;e+=",";var r=a._params[a._requestNumber].recommendationRequests[w].RequestNameValues["nameValues"];
if(a._typeOf(r)!="undefined"&&r.length>0){e+="[";var C="";var r=a._params[a._requestNumber].recommendationRequests[w].RequestNameValues["nameValues"];for(var u=0;u<r.length;u++){C+=((C!="")?";":"")+a._myEncodeUrlEncodeUtf8(a._getShortNameValue(r[u].name))+":"+a._myEncodeUrlEncodeUtf8(r[u].value);}e+=C;
e+="]";}p+=e;p+=",[";for(var u=0;u<a._params[a._requestNumber].recommendationRequests[w].ResultNames.length;u++){p+=a._myEncodeUrlEncodeUtf8(a._params[a._requestNumber].recommendationRequests[w].ResultNames[u]);if(u<a._params[a._requestNumber].recommendationRequests[w].ResultNames.length-1){p+=";";}}p+="]";
g.push(p);}}var t=true;var d=b;d+=l;d+=c;d+=f;var m=b;m+=l;m+=f;q=q-d.length;var B="";for(var w=0;w<g.length;w++){var o="&rd="+g[w];if((B.length+o.length)<q){B+=o;}else{if(t){h.push(d+B);B=o;t=false;}else{h.push(m+B);B=o;}}}if(t){h.push(d+B);}else{h.push(m+B);}}return h;};a._getShortNameValue=function(d){var b="";
if(d!=null&&d!=""){var e=false;var c=0;while(!e&&c<a._shortNameDictionary.length){e=(d==a._shortNameDictionary[c].name);c++;}if(e){b="."+a._shortNameDictionary[c-1].value;}else{b="*"+d;}}return b;};GravityRD.commit=function(){var e=GravityRD.createJsSrc();if(e.length!=0){var d=document.getElementsByTagName("head").item(0);
for(var b=0;b<e.length;b++){var c=document.createElement("script");c.type="text/javascript";c.src=e[b];d.appendChild(c);}a._requestNumber++;a._initParams();}};GravityRD._useResult=function(b){a._useCallbackResult(b);};a._useCallbackResult=function(b){if(b&&b.recommendationWrappers){for(var d=0;d<b.recommendationWrappers.length;
d++){var e=a._params[b.requestNumber].recommendationRequests[b.recommendationWrappers[d].recommendationIndex];var j=b.recommendationWrappers[d].recommendation;var c=e.target;if(c!=null){var g=document.getElementById(c);j.templateData=a._params[b.requestNumber].templateData;j.template=e.template;var f=TrimPath.processDOMTemplate(j.template,j);
g.innerHTML=f;}var h=e.callback;if(h!=null){h(j);}}}};a._typeOf=function(c){var b=typeof c;if(b==="object"){if(c){if(typeof c.length==="number"&&!(c.propertyIsEnumerable("length"))&&typeof c.splice==="function"){b="array";}}else{b="null";}}return b;};a._getGeneratedCookie=function(c){var b=a._getCookie(c);
if(b==null){b=a._createRandomString();a._setCookie(c,b);}return b;};a._setCookie=function(e,f,c){var b=(a._typeOf(c)=="undefined")?60*60*24*30:c;var d=new Date();d.setTime(d.getTime()+(365*24*60*60*1000));document.cookie=e+"="+escape(f)+"; expires="+d.toUTCString()+"; path=/";};a._getCookie=function(b){if(document.cookie.length>0){c_start=document.cookie.indexOf(b+"=");
if(c_start!=-1){c_start=c_start+b.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 null;};a._s4=function(){return(((1+Math.random())*65536)|0).toString(16).substring(1);};a._createRandomString=function(){return(a._s4()+a._s4()+a._s4()+a._s4());
};a._myEncode=function(b){if(b==null){return null;}return b.toString().replace(/-/g,"-0").replace(/,/g,"-1").replace(/;/g,"-2").replace(/\[/g,"-3").replace(/\]/g,"-4").replace(/:/g,"-5");};a._myEncodeUrlEncodeUtf8=function(b){return a._urlEncodeUtf8(a._myEncode(b));};a._urlEncodeUtf8=function(b){return encodeURIComponent(b);
};})();var TrimPath;(function(){if(TrimPath==null){TrimPath=new Object();}if(TrimPath.evalEx==null){TrimPath.evalEx=function(src){return eval(src);};}var UNDEFINED;if(Array.prototype.pop==null){Array.prototype.pop=function(){if(this.length===0){return UNDEFINED;}return this[--this.length];};}if(Array.prototype.push==null){Array.prototype.push=function(){for(var i=0;
i<arguments.length;++i){this[this.length]=arguments[i];}return this.length;};}TrimPath.parseTemplate=function(tmplContent,optTmplName,optEtc){if(optEtc==null){optEtc=TrimPath.parseTemplate_etc;}var funcSrc=parse(tmplContent,optTmplName,optEtc);var func=TrimPath.evalEx(funcSrc,optTmplName,1);if(func!=null){return new optEtc.Template(optTmplName,tmplContent,funcSrc,func,optEtc);
}return null;};try{String.prototype.process=function(context,optFlags){var template=TrimPath.parseTemplate(this,null);if(template!=null){return template.process(context,optFlags);}return this;};}catch(e){}TrimPath.parseTemplate_etc={};TrimPath.parseTemplate_etc.statementTag="forelse|for|if|elseif|else|var|macro";
TrimPath.parseTemplate_etc.statementDef={"if":{delta:1,prefix:"if (",suffix:") {",paramMin:1},"else":{delta:0,prefix:"} else {"},"elseif":{delta:0,prefix:"} else if (",suffix:") {",paramDefault:"true"},"/if":{delta:-1,prefix:"}"},"for":{delta:1,paramMin:3,prefixFunc:function(stmtParts,state,tmplName,etc){if(stmtParts[2]!="in"){throw new etc.ParseError(tmplName,state.line,"bad for loop statement: "+stmtParts.join(" "));
}var iterVar=stmtParts[1];var listVar="__LIST__"+iterVar;return["var ",listVar," = ",stmtParts[3],";","var __LENGTH_STACK__;","if (typeof(__LENGTH_STACK__) == 'undefined' || !__LENGTH_STACK__.length) __LENGTH_STACK__ = new Array();","__LENGTH_STACK__[__LENGTH_STACK__.length] = 0;","if ((",listVar,") != null) { ","var ",iterVar,"_ct = 0;","for (var ",iterVar,"_index in ",listVar,") { ",iterVar,"_ct++;","if (typeof(",listVar,"[",iterVar,"_index]) == 'function') {continue;}","__LENGTH_STACK__[__LENGTH_STACK__.length - 1]++;","var ",iterVar," = ",listVar,"[",iterVar,"_index];"].join("");
}},"forelse":{delta:0,prefix:"} } if (__LENGTH_STACK__[__LENGTH_STACK__.length - 1] == 0) { if (",suffix:") {",paramDefault:"true"},"/for":{delta:-1,prefix:"} }; delete __LENGTH_STACK__[__LENGTH_STACK__.length - 1];"},"var":{delta:0,prefix:"var ",suffix:";"},"macro":{delta:1,prefixFunc:function(stmtParts,state,tmplName,etc){var macroName=stmtParts[1].split("(")[0];
return["var ",macroName," = function",stmtParts.slice(1).join(" ").substring(macroName.length),"{ var _OUT_arr = []; var _OUT = { write: function(m) { if (m) _OUT_arr.push(m); } }; "].join("");}},"/macro":{delta:-1,prefix:" return _OUT_arr.join(''); };"}};TrimPath.parseTemplate_etc.modifierDef={"truncate":function(s,l,d){var ret=s;
if(s.length>l){ret=s.substring(0,l)+d;}return ret;},"eat":function(v){return"";},"escape":function(s){return String(s).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");},"capitalize":function(s){return String(s).toUpperCase();},"default":function(s,d){return s!=null?s:d;}};TrimPath.parseTemplate_etc.modifierDef.h=TrimPath.parseTemplate_etc.modifierDef.escape;
TrimPath.parseTemplate_etc.Template=function(tmplName,tmplContent,funcSrc,func,etc){this.process=function(context,flags){if(context==null){context={};}if(context._MODIFIERS==null){context._MODIFIERS={};}if(context.defined==null){context.defined=function(str){return(context[str]!=undefined);};}for(var k in etc.modifierDef){if(context._MODIFIERS[k]==null){context._MODIFIERS[k]=etc.modifierDef[k];
}}if(flags==null){flags={};}var resultArr=[];var resultOut={write:function(m){resultArr.push(m);}};try{func(resultOut,context,flags);}catch(e){if(flags.throwExceptions==true){throw e;}var result=new String(resultArr.join("")+"[ERROR: "+e.toString()+(e.message?"; "+e.message:"")+"]");result["exception"]=e;
return result;}return resultArr.join("");};this.name=tmplName;this.source=tmplContent;this.sourceFunc=funcSrc;this.toString=function(){return"TrimPath.Template ["+tmplName+"]";};};TrimPath.parseTemplate_etc.ParseError=function(name,line,message){this.name=name;this.line=line;this.message=message;};TrimPath.parseTemplate_etc.ParseError.prototype.toString=function(){return("TrimPath template ParseError in "+this.name+": line "+this.line+", "+this.message);
};var parse=function(body,tmplName,etc){body=cleanWhiteSpace(body);var funcText=["var TrimPath_Template_TEMP = function(_OUT, _CONTEXT, _FLAGS) { with (_CONTEXT) {"];var state={stack:[],line:1};var endStmtPrev=-1;while(endStmtPrev+1<body.length){var begStmt=endStmtPrev;begStmt=body.indexOf("{",begStmt+1);
while(begStmt>=0){var endStmt=body.indexOf("}",begStmt+1);var stmt=body.substring(begStmt,endStmt);var blockrx=stmt.match(/^\{(cdata|minify|eval)/);if(blockrx){var blockType=blockrx[1];var blockMarkerBeg=begStmt+blockType.length+1;var blockMarkerEnd=body.indexOf("}",blockMarkerBeg);if(blockMarkerEnd>=0){var blockMarker;
if(blockMarkerEnd-blockMarkerBeg<=0){blockMarker="{/"+blockType+"}";}else{blockMarker=body.substring(blockMarkerBeg+1,blockMarkerEnd);}var blockEnd=body.indexOf(blockMarker,blockMarkerEnd+1);if(blockEnd>=0){emitSectionText(body.substring(endStmtPrev+1,begStmt),funcText);var blockText=body.substring(blockMarkerEnd+1,blockEnd);
if(blockType=="cdata"){emitText(blockText,funcText);}else{if(blockType=="minify"){emitText(scrubWhiteSpace(blockText),funcText);}else{if(blockType=="eval"){if(blockText!=null&&blockText.length>0){funcText.push("_OUT.write( (function() { "+blockText+" })() );");}}}}begStmt=endStmtPrev=blockEnd+blockMarker.length-1;
}}}else{if(body.charAt(begStmt-1)!="$"&&body.charAt(begStmt-1)!="\\"){var offset=(body.charAt(begStmt+1)=="/"?2:1);if(body.substring(begStmt+offset,begStmt+10+offset).search(TrimPath.parseTemplate_etc.statementTag)==0){break;}}}begStmt=body.indexOf("{",begStmt+1);}if(begStmt<0){break;}var endStmt=body.indexOf("}",begStmt+1);
if(endStmt<0){break;}emitSectionText(body.substring(endStmtPrev+1,begStmt),funcText);emitStatement(body.substring(begStmt,endStmt+1),state,funcText,tmplName,etc);endStmtPrev=endStmt;}emitSectionText(body.substring(endStmtPrev+1),funcText);if(state.stack.length!=0){throw new etc.ParseError(tmplName,state.line,"unclosed, unmatched statement(s): "+state.stack.join(","));
}funcText.push("}}; TrimPath_Template_TEMP");return funcText.join("");};var emitStatement=function(stmtStr,state,funcText,tmplName,etc){var parts=stmtStr.slice(1,-1).split(" ");var stmt=etc.statementDef[parts[0]];if(stmt==null){emitSectionText(stmtStr,funcText);return;}if(stmt.delta<0){if(state.stack.length<=0){throw new etc.ParseError(tmplName,state.line,"close tag does not match any previous statement: "+stmtStr);
}state.stack.pop();}if(stmt.delta>0){state.stack.push(stmtStr);}if(stmt.paramMin!=null&&stmt.paramMin>=parts.length){throw new etc.ParseError(tmplName,state.line,"statement needs more parameters: "+stmtStr);}if(stmt.prefixFunc!=null){funcText.push(stmt.prefixFunc(parts,state,tmplName,etc));}else{funcText.push(stmt.prefix);
}if(stmt.suffix!=null){if(parts.length<=1){if(stmt.paramDefault!=null){funcText.push(stmt.paramDefault);}}else{for(var i=1;i<parts.length;i++){if(i>1){funcText.push(" ");}funcText.push(parts[i]);}}funcText.push(stmt.suffix);}};var emitSectionText=function(text,funcText){if(text.length<=0){return;}var nlPrefix=0;
var nlSuffix=text.length-1;while(nlPrefix<text.length&&(text.charAt(nlPrefix)=="\n")){nlPrefix++;}while(nlSuffix>=0&&(text.charAt(nlSuffix)==" "||text.charAt(nlSuffix)=="\t")){nlSuffix--;}if(nlSuffix<nlPrefix){nlSuffix=nlPrefix;}if(nlPrefix>0){funcText.push('if (_FLAGS.keepWhitespace == true) _OUT.write("');
var s=text.substring(0,nlPrefix).replace("\n","\\n");if(s.charAt(s.length-1)=="\n"){s=s.substring(0,s.length-1);}funcText.push(s);funcText.push('");');}var lines=text.substring(nlPrefix,nlSuffix+1).split("\n");for(var i=0;i<lines.length;i++){emitSectionTextLine(lines[i],funcText);if(i<lines.length-1){funcText.push('_OUT.write("\\n");\n');
}}if(nlSuffix+1<text.length){funcText.push('if (_FLAGS.keepWhitespace == true) _OUT.write("');var s=text.substring(nlSuffix+1).replace("\n","\\n");if(s.charAt(s.length-1)=="\n"){s=s.substring(0,s.length-1);}funcText.push(s);funcText.push('");');}};var emitSectionTextLine=function(line,funcText){var endMarkPrev="}";
var endExprPrev=-1;while(endExprPrev+endMarkPrev.length<line.length){var begMark="${",endMark="}";var begExpr=line.indexOf(begMark,endExprPrev+endMarkPrev.length);if(begExpr<0){break;}if(line.charAt(begExpr+2)=="%"){begMark="${%";endMark="%}";}var endExpr=line.indexOf(endMark,begExpr+begMark.length);
if(endExpr<0){break;}emitText(line.substring(endExprPrev+endMarkPrev.length,begExpr),funcText);var exprArr=line.substring(begExpr+begMark.length,endExpr).replace(/\|\|/g,"#@@#").split("|");for(var k in exprArr){if(exprArr[k].replace){exprArr[k]=exprArr[k].replace(/#@@#/g,"||");}}funcText.push("_OUT.write(");
emitExpression(exprArr,exprArr.length-1,funcText);funcText.push(");");endExprPrev=endExpr;endMarkPrev=endMark;}emitText(line.substring(endExprPrev+endMarkPrev.length),funcText);};var emitText=function(text,funcText){if(text==null||text.length<=0){return;}text=text.replace(/\\/g,"\\\\");text=text.replace(/\n/g,"\\n");
text=text.replace(/"/g,'\\"');funcText.push('_OUT.write("');funcText.push(text);funcText.push('");');};var emitExpression=function(exprArr,index,funcText){var expr=exprArr[index];if(index<=0){funcText.push(expr);return;}var parts=expr.split(":");funcText.push('_MODIFIERS["');funcText.push(parts[0]);funcText.push('"](');
emitExpression(exprArr,index-1,funcText);if(parts.length>1){funcText.push(",");funcText.push(parts[1]);}funcText.push(")");};var cleanWhiteSpace=function(result){result=result.replace(/\t/g,"    ");result=result.replace(/\r\n/g,"\n");result=result.replace(/\r/g,"\n");result=result.replace(/^(\s*\S*(\s+\S+)*)\s*$/,"$1");
return result;};var scrubWhiteSpace=function(result){result=result.replace(/^\s+/g,"");result=result.replace(/\s+$/g,"");result=result.replace(/\s+/g," ");result=result.replace(/^(\s*\S*(\s+\S+)*)\s*$/,"$1");return result;};TrimPath.parseDOMTemplate=function(template,optDocument,optEtc){content=template.replace(/&lt;/g,"<").replace(/&gt;/g,">");
return TrimPath.parseTemplate(content,null,optEtc);};TrimPath.processDOMTemplate=function(template,context,optFlags,optDocument,optEtc){return TrimPath.parseDOMTemplate(template,optDocument,optEtc).process(context,optFlags);};})();
