// $Id: io_v4-10007962-multiclient-122209.txt 135525 2009-12-22 20:20:07Z wbird $
var _io_request=new IORequest();
var _io_config=undefined;
var _io_zone=undefined;
var _io_state=new IOState();
if(typeof console==="undefined"||typeof console.log==="undefined"||typeof console.group==="undefined"){
var console={log:function(){
},warn:function(){
},error:function(){
},dir:function(){
},group:function(){
},groupEnd:function(){
}};
}
function cm_ted_io(_1){
_io_state.cm_ted_io(_1);
};
function _cm_io_rec(_2){
if(_io_request!==undefined){
_io_request.cm_io_rec(_2);
}
};
function _cm_io_cfg(_3){
if(_io_request!==undefined){
_io_request.cm_io_cfg(_3,1);
}
};
function cmRecRequest(_4,_5,_6,_7){
IORequest.rec_request(_4,_5.toUpperCase(),_6,_7);
};
function cmDisplayRecs(){
IORequest.display_recs();
};
function IORequest(_8){
var _9="io_config.js";
var _a="V4";
this.h_timer=undefined;
this.h_script=undefined;
this.xmlHttp=undefined;
this.i_timeout=0;
this.request_type="";
this.action_callback=function(_b){
return;
};
this.display_status=function(_c,_d){
return;
};
this.display_product_table=function(_e){
return;
};
this.display_product_images=function(_f){
return;
};
this.display_config=function(_10){
return;
};
this.cm_alert=function(_11){
if(!IORequest.production){
alert(_11);
}
};
IOStopWatch=function(){
this.start=function(){
this.elapsed_time=0;
this.t_start=new Date().getTime();
};
this.stop=function(){
this.elapsed_time=new Date().getTime()-this.t_start;
return (this.elapsed_time);
};
};
this.stop_watch=new IOStopWatch("stop_watch");
this.ajax_timeout=function(_12){
if(_io_request.xmlHttp!==undefined){
try{
if(_io_request.xmlHttp.abort!==undefined){
if(typeof _io_request.xmlHttp.abort=="function"){
_io_request.xmlHttp.abort();
}
}
}
catch(e){
_io_request.display_status("IE - no abort property of the xmlHttp request object");
}
}
IORequest.b_timeout=true;
if(_12){
_io_request.action_callback("config_timeout");
IORequest.i_zone=0;
setTimeout("IORequest.config_download_failure(\"ajax timeout\");",0);
}else{
_io_request.display_status("Ajax timeout downloading product ("+_io_request.stop_watch.elapsed_time+"ms)","red");
IORequest.log(IORequest.log_warn,"Ajax timeout downloading product",_io_request.stop_watch.elapsed_time+" ms");
_io_request.download_product();
}
};
function _13(){
if(window.XMLHttpRequest){
return new XMLHttpRequest();
}else{
if(window.ActiveXObject){
}else{
return null;
}
}
};
this.javascript_timeout=function(_14){
if(IORequest.h_script!==undefined){
var h=document.getElementsByTagName("head").item(0);
if(h){
h.removeChild(IORequest.h_script);
IORequest.h_script=undefined;
}
}
_io_request.stop_watch.stop();
IORequest.timeout_product[IORequest.request_crc]=1;
if(_14){
_io_request.action_callback("config_timeout");
IORequest.i_zone=0;
setTimeout("IORequest.config_download_failure(\"javascript timeout\");",0);
}else{
_io_request.display_status("JavaScript timeout downloading product ("+_io_request.stop_watch.elapsed_time+"ms)","red");
IORequest.log(IORequest.log_warn,"JavaScript timeout downloading product",_io_request.stop_watch.elapsed_time+" ms");
if((_io_config.file_not_found_pc!==undefined)&&(_io_config.file_not_found_pc>Math.floor(Math.random()*100))){
var id=IORequest.offer_type+IORequest.offer_id+"|"+IORequest.request_crc+"|"+(IORequest.offer_type=="P"?IORequest.plain_text_product_id:IORequest.plain_text_cat_id);
cmCreatePageElementTag(_io_config.file_not_found_id,id);
IORequest.log(IORequest.log_trace,"page element tag for file not found",id);
}
_io_request.download_product();
}
};
this.stateChanged=function(){
if(_io_request.xmlHttp.readyState==4){
clearTimeout(_io_request.h_timer);
_io_request.h_timer=undefined;
if(_io_request.xmlHttp.status==200){
var txt=_io_request.xmlHttp.responseText;
eval(txt);
}else{
if(_io_request.xmlHttp.status==404){
_io_request.display_status("Ajax - Requested File not found on server - "+_io_request.xmlHttp.status+". Next step in recommendation plan attempted","blue");
IORequest.log(IORequest.log_warn,"Ajax - Requested File not found on server - "+_io_request.xmlHttp.status,"next step in recommendation plan attempted");
IORequest.b_404=true;
if(_io_request.request_type=="config"){
setTimeout("IORequest.config_download_failure(\"ajax 404\");",0);
}else{
if(_io_request.request_type=="product"){
_io_request.download_product();
}
}
}else{
_io_request.display_status("Ajax - Unexpected status from stateChanged: "+_io_request.xmlHttp.status+".","red");
IORequest.log(IORequest.log_error,"Ajax - Unexpected status from stateChanged",_io_request.xmlHttp.status);
IORequest.b_404=true;
if(_io_request.request_type=="config"){
setTimeout("IORequest.config_download_failure(\"ajax 404\");",0);
}else{
if(_io_request.request_type=="product"){
_io_request.download_product();
}
}
}
}
}else{
}
};
this.get_target_from_plan=function(_15,_16){
if(IORequest.current_step>=_15.rec_steps.length){
return ("_SE_");
}
var _17=_15.rec_steps[IORequest.current_step];
IORequest.log(IORequest.log_trace,"step: "+IORequest.current_step+" offer_id: "+_17.offer_id+" type: "+_17.offer_type+" target",_17.target_id);
if(_17.target_id=="_NR_"){
return ("_NR_");
}
if(_17.target_id=="_DPF_"){
return ("_DPF_");
}
if(_16&&_17.offer_type=="P"){
IORequest.current_step++;
this.display_status("Looking for Category - found Product: "+_17.target_id+". Next step","green");
IORequest.log(IORequest.log_trace,"Looking for Category - found Product: "+_17.target_id,"next step");
return (this.get_target_from_plan(_15,1));
}
if(_17.target_id=="_SP_"){
return (IORequest.primary_id||"_NR_");
}
if(_17.target_id=="_SC_"){
return (IORequest.fallback_id||"_NR_");
}
if(_17.target_id=="_RVP_"||_17.target_id=="_RVC_"||_17.target_id=="_LCP_"||_17.target_id=="_RPP_"||_17.target_id=="_MPC_"){
var rc=_io_state.cm_get_product_from_cookie(_17.target_id);
if(rc===0){
IORequest.current_step++;
this.display_status("No "+_17.target_id+"available. Next step","green");
IORequest.log(IORequest.log_trace,"No "+_17.target_id+" available","next step");
return (this.get_target_from_plan(_15));
}else{
return (rc);
}
}
this.display_status("unrecognized target id: "+_17.target_id+".","red");
IORequest.log(IORequest.log_error,"unrecognized target id",_17.target_id);
return ("_NR_");
};
this.issue_page_element_tag=function(_18){
if(IORequest.perm_cookie_not_supported===false){
var _19=IORequest.find_cookie(IORequest.ses_cookie);
if(_19===undefined){
var _1a=new Date().getTime().toString();
_19=IORequest.set_and_check_cookie(IORequest.ses_cookie,"S"+_1a+"|",true);
if(!_19){
return;
}
}
if(_19.indexOf("|"+_18[0]+"|")==-1){
IORequest.log(IORequest.log_trace,"issued page element tag"+this.io_zone.ab_test_id.split(":")[1],this.io_zone.ab_test_id.split(":")[0]);
IORequest.log(IORequest.log_trace,"session cookie",_19);
IORequest.set_and_check_cookie(IORequest.ses_cookie,_19+_18[0]+"|",true);
cmCreatePageElementTag(_18[1],_18[0]);
}
}
};
this.download_product=function(){
IORequest.current_step++;
this.io_zone=_io_config.zones[IORequest.zone_id];
if(this.io_zone.ab_test_id!="no ab test"){
this.issue_page_element_tag(this.io_zone.ab_test_id.split(":"));
}
IORequest.log(IORequest.log_trace,"ab test id",this.io_zone.ab_test_id);
if(!this.io_zone.rec_plan){
this.cm_alert("rec_plan not defined - zone_id: "+IORequest.zone_id);
}
var rc=this.get_target_from_plan(this.io_zone.rec_plan,IORequest.b_timeout||IORequest.b_404);
this.action_callback("recommendation_plan");
if(rc=="_DPF_"&&(IORequest.default_product_file!==undefined)){
_io_request.cm_io_rec(IORequest.default_product_file);
return (0);
}
if(rc=="_SE_"||rc=="_NR_"||rc=="_DPF_"){
var _1b="";
if(rc=="_SE_"){
this.display_status("steps exhausted. Calling zone population function "+this.io_zone.zpf+" without recommendations.","blue");
IORequest.log(IORequest.log_trace,"steps exhausted - calling zone population function without recommendations",this.io_zone.zpf);
_1b="Steps exhausted.  No recommendations found";
}else{
this.display_status("calling zone population function "+this.io_zone.zpf+" without recommendations (_NR_)","blue");
IORequest.log(IORequest.log_trace,"calling zone population function without recommendations",this.io_zone.zpf);
_1b="No recommendations found";
}
if(this.io_zone.zpf!==undefined){
if(this.io_zone.ab_test_id!="no ab test"){
this.issue_page_element_tag(this.io_zone.ab_test_id.split(":"));
}
var _1c="[],'"+this.io_zone.name+"','_NR_','','',[],[],'"+_1b+"'";
var zpf=this.io_zone.zpf+"("+_1c+")";
setTimeout(zpf,0);
}
setTimeout("IORequest.stack_manager(\"rc: "+rc+"\");",0);
return (0);
}
var _1d=rc;
this.offer_id=this.io_zone.rec_plan.rec_steps[IORequest.current_step].offer_id;
this.cgi_version=this.io_zone.rec_plan.rec_steps[IORequest.current_step].offer_version;
this.offer_type=this.io_zone.rec_plan.rec_steps[IORequest.current_step].offer_type;
if(((this.offer_type=="C")&&IORequest.encrypt_cats)||((this.offer_type=="E")&&IORequest.encrypt_cats)||((this.offer_type=="P")&&IORequest.encrypt_prds)){
this.prod_id_crc=_1d;
}else{
this.prod_id_crc=IORequest.hex32(IORequest.crc32_str(_1d));
}
IORequest.request_crc=this.prod_id_crc;
IORequest.offer_type=this.offer_type;
IORequest.offer_id=this.offer_id;
this.group=this.prod_id_crc.substr(0,2);
var _1e=((window.location.protocol=="https:"&&IORequest.access_method=="json remote")?IORequest.url_prefix["json remote https"]:IORequest.url_prefix[IORequest.access_method]);
this.url=_1e+IORequest.client_id+"/"+_a+"/"+this.offer_type+this.offer_id+"/"+this.offer_type+this.group+"/"+this.prod_id_crc+".js?V="+this.cgi_version;
this.display_status("retrieving IO file product ID: "+_1d+" url: "+this.url,"green");
IORequest.log(IORequest.log_trace,"retrieving IO file product "+_1d+" - url",this.url);
this.action_callback("product_request");
if((IORequest.access_method=="ajax local")||(IORequest.access_method=="ajax remote")){
this.xmlHttp=_13();
if(this.xmlHttp===null){
this.cm_alert("Your browser really does not support Ajax!");
return;
}
this.h_timer=setTimeout("_io_request.ajax_timeout(0)",IORequest.timeout[this.i_timeout]);
this.i_timeout=1;
this.request_type="product";
this.xmlHttp.onreadystatechange=this.stateChanged;
this.stop_watch.start();
try{
this.xmlHttp.open("GET",this.url,true);
}
catch(e){
clearTimeout(this.h_timer);
this.display_status("Ajax Error: Cross Domain request attempted.  Ajax not supported.  Try json x-domain.","red");
IORequest.rec_request_abort();
}
try{
this.xmlHttp.send(null);
}
catch(e1){
clearTimeout(this.h_timer);
this.display_status("Ajax Error: Host not found.  Ajax not supported.  Try json x-domain.","red");
IORequest.rec_request_abort();
}
}else{
this.h_timer=setTimeout("_io_request.javascript_timeout(0)",IORequest.timeout[this.i_timeout]);
this.i_timeout=1;
this.stop_watch.start();
try{
var h=document.getElementsByTagName("head").item(0);
IORequest.h_script=document.createElement("script");
IORequest.h_script.setAttribute("language","javascript");
IORequest.h_script.setAttribute("type","text/javascript");
IORequest.h_script.setAttribute("src",this.url);
h.appendChild(IORequest.h_script);
}
catch(e2){
IORequest.rec_request_abort();
}
}
};
this.download_config=function(){
var _1f=((window.location.protocol=="https:"&&IORequest.access_method=="json remote")?IORequest.url_prefix["json remote https"]:IORequest.url_prefix[IORequest.access_method]);
this.url=_1f+IORequest.client_id+"/"+_9+"?ts="+(((new Date().getTime())/600000)|0);
this.display_status("retrieving IO Config file: "+_9+" url: "+this.url,"green");
IORequest.log(IORequest.log_trace,"retrieving IO config file "+_9,this.url);
this.action_callback("config_request");
if((IORequest.access_method=="ajax local")||(IORequest.access_method=="ajax remote")){
this.xmlHttp=_13();
if(this.xmlHttp===null){
this.cm_alert("Your browser really does not support Ajax!");
return;
}
this.h_timer=setTimeout("_io_request.ajax_timeout(1)",IORequest.timeout[this.i_timeout]);
this.i_timeout=1;
this.request_type="config";
this.xmlHttp.onreadystatechange=this.stateChanged;
this.stop_watch.start();
try{
this.xmlHttp.open("GET",this.url,true);
}
catch(e){
clearTimeout(this.h_timer);
this.display_status("Ajax Error: Cross Domain request attempted.  Ajax not supported.  Try json x-domain.","red");
IORequest.rec_request_abort();
}
try{
this.xmlHttp.send(null);
}
catch(e1){
clearTimeout(this.h_timer);
this.display_status("Ajax Error: Host not found.  Ajax not supported.  Try json x-domain.","red");
IORequest.rec_request_abort();
}
}else{
this.h_timer=setTimeout("_io_request.javascript_timeout(1)",IORequest.timeout[this.i_timeout]);
this.i_timeout=1;
this.stop_watch.start();
try{
var h=document.getElementsByTagName("head").item(0);
var js=document.createElement("script");
js.setAttribute("language","javascript");
js.setAttribute("type","text/javascript");
js.setAttribute("src",this.url);
h.appendChild(js);
}
catch(e2){
IORequest.rec_request_abort();
}
}
};
this.cm_io_rec=function(_20){
this.stop_watch.stop();
if(this.h_timer!==undefined){
clearTimeout(this.h_timer);
this.h_timer=undefined;
}
if(this.io_zone.zpf!==undefined){
if(_20!==undefined){
var _21=_20.pd[0][0];
var _22=_20.hd[6];
var _23=_20.hd[2];
if((_22!==undefined)&&(_22.length==8)&&(IORequest.timeout_product[_22])){
IORequest.log(IORequest.log_trace,"Product download attempt following timeout for same file.  Requested file CRC",IORequest.request_crc);
IORequest.timeout_product[_22]=0;
return;
}
this.display_status("Successful download of IO Recommendations for product: "+_21+" <font color=\"black\">("+this.stop_watch.elapsed_time+" ms)</font>.","green");
IORequest.log(IORequest.log_trace,"successful retrieval of IO Recommendations for product "+_21,this.stop_watch.elapsed_time+" ms");
IORequest.log(IORequest.log_iuo,"requested version: "+this.cgi_version+" returned version",_20.hd[9]);
IORequest.log(IORequest.log_product_file,"product file",_20);
var _24=[];
var _25=[];
var _26=[];
var _27=[];
var mpc=_io_state.cm_get_product_from_cookie("_MPC_");
for(var _28=1;_28<_20.pd.length;_28++){
_27[_28-1]=[];
_27[_28-1][0]=_28;
if((IORequest.optional_parm=="R")&&(_23!="P")){
_27[_28-1][1]=Math.floor(Math.random()*1000);
}else{
_27[_28-1][1]=_20.pd[_28][1]*((_20.pd[_28][2]==mpc)?_io_config.cp:1);
}
}
_27.sort(function(a,b){
return (b[1]-a[1]);
});
if((IOConfig.brand_personalization[1]!=-1)){
var mpb=_io_state.cm_get_product_from_cookie("_MPB_");
if(mpb!==0){
for(var _29=1;_29<_20.pd.length;_29++){
_27[_29-1]=[];
_27[_29-1][0]=_29;
var _2a=_20.pd[_29][(+IOConfig.brand_personalization[0])+3];
var _2b=IORequest.hex32(IORequest.crc32_str(_2a));
_27[_29-1][1]=_20.pd[_29][1]*((_2b==mpb)?(+IOConfig.brand_personalization[1]):1);
}
_27.sort(function(a,b){
return (b[1]-a[1]);
});
}
}
if((+IOConfig.brand_personalization[0])!=-1){
var _2c=(+IOConfig.brand_personalization[0])+3;
_io_state.cm_ted_io({i_offer:"brand",brn:_20.pd[0][_2c]});
}
l_attribute_array=_20.pd[0].length;
for(var _2d=3;_2d<l_attribute_array;_2d++){
var _2e=((_20.ap!==undefined&&_20.ap[_2d-3]!==undefined)?_20.ap[_2d-3]:"");
_26.push((_20.pd[0][_2d]===undefined)?undefined:_2e+_20.pd[0][_2d].replace(/"/g,"\\\""));
}
var _2f=[];
var _30=[];
if(this.io_zone.filter_cp){
var acp=_io_state.cm_get_product_from_cookie("_ACP_");
for(var _31=0;_31<acp.length;_31++){
if(IORequest.encrypt_prds){
_2f[acp[_31]]=1;
}else{
_30[acp[_31]]=1;
}
}
}
if(this.io_zone.filter_pp){
var app=_io_state.cm_get_product_from_cookie("_APP_");
for(var _32=0;_32<app.length;_32++){
if(IORequest.encrypt_prds){
_2f[app[_32]]=1;
}else{
_30[app[_32]]=1;
}
}
}
for(var _33=0;_33<_io_config.bad_list.length;_33++){
_2f[_io_config.bad_list[_33]]=1;
}
if((IOConfig.category_structure=="E")&&(_20.pd[0][2])){
_io_state.cm_ted_io({i_offer:"epr_category",cg:_20.pd[0][2]});
}
IORequest.reason=[];
var _34=(IORequest.is_undefined(_20.ra)?0:_20.ra.length);
for(var ii=0;((_24.length<this.io_zone.rec_plan.n_recs)&&(ii<_27.length));ii++){
var _35=_27[ii][0];
var _36=_20.pd[_35][0];
var _37=IORequest.hex32(IORequest.crc32_str(_36));
IORequest.reason[_36]=6;
var _38=_36.replace(/"/g,"\\\"");
var _39=true;
if((IORequest.filtered_out_products[_36]===undefined)&&(_30[_36]===undefined)&&(_2f[_37]===undefined)&&(IOState.h_productview_product[_36]===undefined)){
var _3a=[];
for(var _3b=3;((_3b<_20.pd[_35].length)&&(_39===true));_3b++){
if((_34>(_3b-3))&&(_20.ra[_3b-3])&&!(_20.pd[_35][_3b])){
_39=false;
}else{
var _3c=((!IORequest.is_undefined(_20.ap)&&_20.ap[_3b-3]!==undefined)?_20.ap[_3b-3]:"");
_3a.push((_20.pd[_35][_3b]===undefined)?undefined:_3c+_20.pd[_35][_3b].replace(/"/g,"\\\""));
}
}
if(_39){
_24.push(_38);
if(IORequest.conflict_resolution===true){
IORequest.filtered_out_products[_36]=1;
}
_25.push("[\""+_3a.join("\",\"")+"\"]");
}else{
IORequest.log(IORequest.log_trace,_38+" required attribute not present","not sent to zpf");
IORequest.reason[_36]=1;
}
}else{
if((_30[_36]!==undefined)||(_2f[_37]!==undefined)){
IORequest.log(IORequest.log_trace,_38+" recently carted, purchased, or in bad product list","not sent to zpf");
IORequest.reason[_36]=2;
}else{
if(IORequest.filtered_out_products[_36]!==undefined){
IORequest.log(IORequest.log_trace,_38+" appears in previous zone","not sent to zpf");
IORequest.reason[_36]=3;
}else{
if(IOState.h_productview_product[_36]!==undefined){
IORequest.log(IORequest.log_trace,_38+" appears in the recommendation list but is also a product for which a product view tag was issued for this page","not sent to zpf");
IORequest.reason[_36]=5;
}
}
}
}
}
this.display_product_table(_20,_24);
this.display_product_images(_20,_24);
var _3d=[];
_3d._SP_="Recommendations from a product you recently viewed";
_3d._SC_="Recommendations from a category you recently viewed";
_3d._NR_="No Recs";
_3d._RVP_="Recommendations from a product you recently viewed";
_3d._LCP_="Recommendations from a product you recently added to your cart";
_3d._RPP_="Recommendations from a Product you recently purchased";
_3d._RVC_="Recommendations from a category you recently viewed";
_3d._MPC_="Recommendations from your favorite category";
_3d._DPF_="Recommendations from your favorite retail store";
var _3e=[];
var _3f=_24.length?true:false;
var _40=_3f?this.io_zone.rec_plan.rec_steps[IORequest.current_step].target_id:"_NR_";
if(!_3f){
IORequest.log(IORequest.log_trace,"No recommendations made it through the filters","changing target symbolic from "+this.io_zone.rec_plan.rec_steps[IORequest.current_step].target_id+" to _NR_.");
}
var _41=this.io_zone.rec_plan.rec_steps[IORequest.current_step].heading||_3d[_40];
_3e.push(_3f?"[\""+_24.join("\",\"")+"\"]":"[]");
_3e.push("\""+this.io_zone.name+"\"");
_3e.push("\""+_40+"\"");
_3e.push("\""+_21+"\"");
_3e.push("\""+_20.pd[0][2]+"\"");
_3e.push("["+_25.join()+"]");
_3e.push("[\""+_26.join("\",\"")+"\"]");
_3e.push("\""+_41+"\"");
var _42=this.io_zone.zpf+"("+_3e.join()+")";
if(this.io_zone.zpf!==undefined){
setTimeout(_42,0);
}
}
setTimeout("IORequest.stack_manager(\"sucessful product retrieval\");",0);
}
};
this.cm_io_cfg=function(_43,_44){
this.stop_watch.stop();
clearTimeout(_io_request.h_timer);
_io_request.h_timer=undefined;
if(_io_config===undefined){
if(_43!==undefined){
this.action_callback(_44?"server_cfg":"default_cfg");
IORequest.log(IORequest.log_trace,"successful retrieval of config file",this.stop_watch.elapsed_time+" ms");
IORequest.log(IORequest.log_config_file,"config file",_43);
if(_43.zp!==undefined){
_io_config=new IOConfig(_43);
this.action_callback("config_return");
}else{
setTimeout("IORequest.config_download_failure(\"corrupt config file\");",0);
}
if(_44){
IORequest.i_zone=0;
setTimeout("IORequest.config_downloaded(\"successful config download\");",0);
}
}
}else{
IORequest.log(IORequest.log_warn,"config request where _io_config already defined","aborting request");
}
};
};
IORequest.crc32_tab=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918000,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];
IORequest.crc32_add=function(crc,c){
return IORequest.crc32_tab[(crc^c)&255]^((crc>>8)&16777215);
};
IORequest.crc32_str=function(str){
var n;
var len=str.length;
var crc;
crc=4294967295;
for(n=0;n<len;n++){
crc=IORequest.crc32_add(crc,str.charCodeAt(n));
}
return crc^4294967295;
};
IORequest.hex32=function(val){
var n;
var _45;
var _46;
n=val&65535;
_45=n.toString(16).toUpperCase();
while(_45.length<4){
_45="0"+_45;
}
n=(val>>>16)&65535;
_46=n.toString(16).toUpperCase();
while(_46.length<4){
_46="0"+_46;
}
return _46+_45;
};
IORequest.cookie_info=function(_47,_48){
var c=document.cookie;
var l=c.length;
var n=c.split(";").length;
IORequest.log(IORequest.log_trace,"cookie_length: "+l+" number of cookies",IORequest.cookie_count(_47));
IORequest.log(IORequest.log_trace,"cookie",c);
alert("n: "+n+" l: "+l+" cookie: "+c);
if(_48){
var _49=_48-l-3-_47.length;
var _4a="";
for(var i=0;i<_49;i++){
_4a+=""+i%10;
}
IORequest.set_and_check_cookie(_47,_4a);
IORequest.cookie_info(_47);
}
};
IORequest.cookie_count=function(_4b){
var c=document.cookie;
var n=0;
if(c){
n=c.split(";").length;
}
return n;
};
IORequest.find_cookie=function(_4c){
var _4d=document.cookie.split("; ");
var _4e=_4c.length;
for(var _4f=0;_4f<_4d.length;_4f++){
if((_4c+"=")==_4d[_4f].substring(0,_4e+1)){
return (_4d[_4f].substring(_4e+1));
}
}
return (undefined);
};
IORequest.rm_cookie=function(_50){
document.cookie=_50+"=;path=/;expires="+new Date(1998,0).toGMTString()+";;";
};
IORequest.set_and_check_cookie=function(_51,_52,_53,_54){
document.cookie=_51+"="+_52+";path=/"+(_53?"":";expires="+new Date(2020,0).toGMTString())+(_54?";domain="+_54:"");
_52=IORequest.find_cookie(_51);
if(_52===undefined){
if(!_53){
IORequest.perm_cookie_not_supported=true;
}
}
return (_52);
};
IORequest.build_array_from_cookie=function(_55){
var _56=IORequest.find_state_cookie();
return ((_56===undefined)?undefined:(_56.split(IORequest.cookie_separator))[_55]);
};
IORequest.find_state_cookie=function(){
if(IORequest.vanity_suffix===undefined){
var _57=document.domain;
if(_57){
var re=/[^.]+\.[^.]+$/;
IORequest.vanity_suffix="."+_57.match(re);
}
}
var _58=IORequest.find_cookie(IORequest.state_cookie);
if(_58===undefined){
var _59=((IORequest.ie_version()!==null)&&(IORequest.ie_version()<7))?20:30;
if(IORequest.cookie_count()>=_59){
_58=undefined;
}else{
var rn=Math.floor(Math.random()*100);
_58=[rn,IOConfig.version,IOConfig.brand_personalization[0],IOConfig.brand_personalization[1],IOConfig.category_structure,IORequest.a_max_elements[0],IORequest.a_max_elements[1],IORequest.a_max_elements[2],IORequest.a_max_elements[3],IORequest.a_max_elements[4],IORequest.a_max_elements[5],IORequest.a_max_elements[6]].join()+IORequest.cookie_separator+IORequest.cookie_separator+IORequest.cookie_separator+IORequest.cookie_array_separator+IORequest.cookie_array_separator+IORequest.cookie_array_separator+IORequest.cookie_array_separator+IORequest.cookie_array_separator+IORequest.cookie_array_separator;
var _5a=_58;
_58=IORequest.set_and_check_cookie(IORequest.state_cookie,_5a,false,IORequest.vanity_suffix);
}
}
return (_58);
};
IORequest.default_json={"zp":[{"id":"Default_Zone","rp":[["001",0,99,3]]}],"rp":{"001":[["101","_DPF_","0","You might be interested in"]]},"oa":{"101":["4","P"]}};
IORequest.i_zone=1;
IORequest.i_msg=0;
IORequest.rec_stack=[];
IORequest.filtered_out_products=[];
IORequest.b_timeout=false;
IORequest.b_404=false;
IORequest.zone_id=0;
IORequest.primary_id=0;
IORequest.fallback_id=0;
IORequest.current_step=-1;
IORequest.timeout_product=[];
IORequest.cookie_separator="~|~";
IORequest.cookie_array_separator="|";
IORequest.ses_cookie="CoreM_Ses";
IORequest.state_cookie="CoreM_State";
IORequest.recently_viewed_product=undefined;
IORequest.recently_viewed_category=undefined;
IORequest.perm_cookie_not_supported=false;
IORequest.access_method="json local";
IORequest.ab_group_number=undefined;
IORequest.log_cookie_write=2<<1;
IORequest.log_config_file=2<<2;
IORequest.log_product_file=2<<3;
IORequest.log_trace=2<<4;
IORequest.log_warn=2<<5;
IORequest.log_error=2<<6;
IORequest.log_iuo=2<<7;
IORequest.production=false;
IORequest.log_mask=IORequest.production?IORequest.log_error:(2<<16)-1;
IORequest.log_mask=IORequest.log_mask&~IORequest.log_iuo;
IORequest.log=function(bit,_5b,_5c){
if(bit==IORequest.log_product_file||bit==IORequest.log_config_file){
console.group();
console.dir(_5c);
console.groupEnd();
}else{
if(bit==IORequest.log_warn){
console.warn(_5b+": ",_5c);
}else{
if(bit==IORequest.log_error){
console.error(_5b+": ",_5c);
}else{
if(IORequest.log_mask&bit){
console.log(_5b+": ",_5c);
}
}
}
}
};
IORequest.ie_version=function(){
return (/MSIE (\d+\.\d+);/.test(navigator.userAgent)?RegExp.$1:null);
};
IORequest.url_prefix=[];
IORequest.url_prefix["ajax local"]="";
IORequest.url_prefix["ajax remote"]="/limelight/";
IORequest.url_prefix["json local"]="";
IORequest.url_prefix["json remote"]="http://coremetric.vo.llnwd.net/o33/";
IORequest.url_prefix["json remote https"]="https://coremetric.hs.llnwd.net/o33/";
IORequest.rec_request=function(_5d,_5e,_5f,_60){
IORequest.plain_text_product_id=_5e;
IORequest.plain_text_cat_id=_5f;
IORequest.log(IORequest.log_trace,"cmRecRequest",_5d+","+_5e+","+_5f+","+_60);
IORequest.rec_stack.push([_5d,(IORequest.encrypt_prds?IORequest.hex32(IORequest.crc32_str(_5e)):_5e),(IORequest.encrypt_cats?IORequest.hex32(IORequest.crc32_str(_5f)):_5f),_60]);
};
IORequest.rec_request_abort=function(){
IORequest.rec_stack=[];
IORequest.filtered_out_products=[];
IORequest.log(IORequest.log_trace,"Aborted request","communication exception");
};
IORequest.display_recs=function(){
IORequest.i_msg=0;
IORequest.i_zone=1;
IORequest.filtered_out_products=[];
_io_state.cm_build_all_recent_arrays();
_io_config=undefined;
if(IORequest.chris_dot_html_config){
_io_config=new IOConfig(IORequest.chris_dot_html_config);
IORequest.log(IORequest.log_config_file,"config file",IORequest.chris_dot_html_config);
IORequest.i_zone=0;
IORequest.stack_manager("chris.html");
}else{
_io_request.download_config();
}
};
IORequest.config_downloaded=function(_61){
IORequest.stack_manager(_61);
};
IORequest.config_download_failure=function(_62){
_io_config=new IOConfig(IORequest.default_json);
for(var _63=0;_63<IORequest.rec_stack.length;_63++){
_io_config.add_zone(IORequest.rec_stack[_63][0]);
}
IORequest.stack_manager(_62);
};
IORequest.stack_manager=function(_64){
if(IORequest.rec_stack.length){
var _65=IORequest.rec_stack.shift();
IORequest.i_zone++;
IORequest.i_msg=0;
IORequest.zone_id=_65[0];
IORequest.primary_id=_65[1];
IORequest.fallback_id=_65[2];
IORequest.optional_parm=_65[3];
IORequest.current_step=-1;
IORequest.b_timeout=false;
IORequest.b_404=false;
if(_io_config.zones[IORequest.zone_id]===undefined){
IORequest.log(IORequest.log_error,"cmRecRequest: zone "+IORequest.zone_id+" is not defined in the configuration file","no action taken");
IORequest.stack_manager("zone: "+IORequest.zone_id+" is not defined in the configuration file");
}else{
_io_request.display_status("stack_manager called - "+_64+" - parms: "+_65.join(", "),"green");
IORequest.log(IORequest.log_trace,"stack_manager called - "+_64+" - parms",_65.join(", "));
_io_request.download_product();
}
}else{
if(IORequest.i_zone==3){
IORequest.i_zone=2;
}
_io_request.display_status("All cmRecRequests completed","green");
IORequest.log(IORequest.log_trace,"All cmRecRequests completed for zone",IORequest.zone_id);
IORequest.i_zone=1;
IORequest.i_msg=0;
}
};
IORequest.is_undefined=function(x){
var y;
return (x===y);
};
IORequest.inspect_json=function(obj,_66,_67){
var str="",_68,msg;
if(_67===null||_67===undefined){
_67=0;
}
if(_66===null||_66===undefined){
_66=1;
}
if(_66<1){
return "<font color=\"red\">Error: Levels number must be > 0</font>";
}
if(obj===null||obj===undefined){
return "<font color=\"red\">Error: Object <b>NULL</b></font>";
}
str+="<ul>";
var _69;
for(_69 in obj){
if(true){
try{
_68=typeof (obj[_69]);
str+="<li>("+_68+") "+_69+((obj[_69]===null)?(": <b>null</b>"):(":  <font color=\"red\">"+obj[_69]+"</font>"))+"</li>";
if((_68=="object")&&(obj[_69]!==null)&&(_67+1<_66)){
str+=IORequest.inspect_json(obj[_69],_66,_67+1);
}
}
catch(err){
if(typeof (err)=="string"){
msg=err;
}else{
if(err.message){
msg=err.message;
}else{
if(err.description){
msg=err.description;
}else{
msg="Unknown";
}
}
}
str+="<li><font color=\"red\">(Error) "+_69+": "+msg+"</font></li>";
}
}
}
str+="</ul>";
return str;
};
IOConfig.version=-1;
IOConfig.brand_personalization=[-1,-1];
IOConfig.category_structure=-1;
function IOConfig(_6a){
var _6b=false;
this.io=_6a;
if(((IORequest.ie_version()!==null)&&(IORequest.ie_version()<7))){
if(this.io.cie6b!==undefined){
for(var ii=0;ii<IORequest.a_max_elements.length;ii++){
if(this.io.cie6b[ii]!=IORequest.a_max_elements[ii]){
IORequest.a_max_elements[ii]=this.io.cie6b[ii];
_6b=true;
}
}
}
}else{
if(this.io.cdfltb!==undefined){
for(var _6c=0;_6c<IORequest.a_max_elements.length;_6c++){
if(this.io.cdfltb[_6c]!=IORequest.a_max_elements[_6c]){
IORequest.a_max_elements[_6c]=this.io.cdfltb[_6c];
_6b=true;
}
}
}
}
if(this.io.cs===undefined){
if(IOConfig.category_structure==-1){
IOConfig.category_structure="S";
}
}else{
var _6d=(this.io.cs!=="EPR");
var _6e=(IOConfig.category_structure!=="E");
if(_6d!==_6e){
_6b=true;
IOConfig.category_structure=(this.io.cs=="EPR"?"E":"S");
}
}
if(this.io.cv!==undefined){
if(IOConfig.version!==this.io.cv){
_6b=true;
IOConfig.version=this.io.cv;
}
}
if(this.io.bp!==undefined){
if(IOConfig.brand_personalization[0]!=this.io.bp[0]){
IOConfig.brand_personalization[0]=this.io.bp[0];
_6b=true;
}
if(IOConfig.brand_personalization[1]!=this.io.bp[1]){
IOConfig.brand_personalization[1]=this.io.bp[1];
_6b=true;
}
}
if(_6b&&(IORequest.ab_group_number!=undefined)){
var cfg=[IORequest.ab_group_number,IOConfig.version,IOConfig.brand_personalization[0],IOConfig.brand_personalization[1],IOConfig.category_structure,IORequest.a_max_elements[0],IORequest.a_max_elements[1],IORequest.a_max_elements[2],IORequest.a_max_elements[3],IORequest.a_max_elements[4],IORequest.a_max_elements[5],IORequest.a_max_elements[6]];
_io_state.cm_write_cookies(cfg);
_6b=0;
}
this.fcpl=this.io.fcpl===undefined?"N":this.io.fcpl.toUpperCase();
this.cp=this.io.cp||1.1;
if(this.io.pfto!==undefined){
IORequest.timeout[1]=this.io.pfto;
}
if(this.io.fnf!==undefined){
this.file_not_found_id=this.io.fnf[0];
this.file_not_found_pc=this.io.fnf[1];
}
this.bad_list=this.io.bl||[];
this.ps=this.io.ps===undefined?1:this.io.ps;
this.zones=[];
this.n_zones=this.io.zp.length;
this.rec_plan=[];
for(var _6f=0;_6f<this.n_zones;_6f++){
this.zones[this.io.zp[_6f].id]=new IOZone(this.io.zp[_6f],this.rec_plan,this.io.rp,this.io.oa);
}
this.add_zone=function(_70){
var _71={"id":_70,"rp":[["001",0,99,3]]};
this.zones[_70]=new IOZone(_71,this.rec_plan,this.io.rp,this.io.oa);
};
};
function IOZone(_72,_73,_74,_75){
var _76=undefined;
this.name=_72.id;
var _77=this.name+"_zp";
if((window[_77]!==undefined)&&(typeof window[_77]=="function")){
this.zpf=_77;
}else{
if((window.io_rec_zp!==undefined)&&(typeof window.io_rec_zp=="function")){
this.zpf="io_rec_zp";
}else{
this.zpf=undefined;
}
}
this.filter_pp=(((_72.fp!==undefined)&&(_72.fp===0))?0:1);
this.filter_cp=(((_72.fc!==undefined)&&(_72.fc===0))?0:1);
if(_72.rp.length==1){
if(_73[_72.rp[0][0]]===undefined){
_73[_72.rp[0][0]]=new IORecPlan(_72.rp[0][0],_74,_75,_72.rp[0][3]);
}
this.rec_plan=_73[_72.rp[0][0]];
this.ab_test_id="no ab test";
}else{
var rn=IORequest.ab_group_number;
this.rn=(rn===undefined)?0:rn;
for(var _78=0;((_78<_72.rp.length)&&(this.rec_plan===undefined));_78++){
if(this.rn>=_72.rp[_78][1]&&this.rn<=_72.rp[_78][2]){
if(_73[_72.rp[_78][0]]===undefined){
_73[_72.rp[_78][0]]=new IORecPlan(_72.rp[_78][0],_74,_75,_72.rp[_78][3]);
}
this.rec_plan=_73[_72.rp[_78][0]];
this.ab_test_id=((_72.rp[_78][4]!==undefined)?_72.rp[_78][4]:"no ab test");
}
}
}
};
function IORecStep(_79,_7a){
this.offer_id=_79[0];
this.target_id=_79[1];
this.offer_type=this.offer_id?_7a[this.offer_id][1]:"N";
this.offer_version=this.offer_id?_7a[this.offer_id][0]:0;
this.heading=(_79[3]!==undefined)?_79[3]:"";
this.to_string=function(){
return ("offer_id: "+this.offer_id+" target_id: "+this.target_id+" offer_type: "+this.offer_type+" offer_version: "+this.offer_version);
};
};
function IORecPlan(_7b,_7c,_7d,_7e){
this.rec_steps=[];
this.id=_7b;
this.n_recs=_7e;
for(var _7f=0;_7f<_7c[_7b].length;_7f++){
this.rec_steps.push(new IORecStep(_7c[_7b][_7f],_7d));
}
};
IOState.h_productview_product=[];
IOState.productview_product="";
IOState.productview_category="";
function IOState(){
var _80=document;
var _81="undefined";
var _82=(IORequest.production?"~":"~");
var _83=":";
var _84=[];
var _85=[];
var _86=[];
var _87=[];
var _88=[];
var _89=[];
var _8a=[];
var _8b=[];
var _8c=[];
var _8d=-1;
var _8e=["p_viewed","p_carted","p_purchased","c_viewed","c_n_views","b_viewed","b_n_views"];
var _8f=["pv","pc","pp","cv","cn","bv","bn"];
var _90=_8e;
var _91=false;
var _92=[];
if(IORequest.basket_pages!==undefined){
for(var _93=0;_93<IORequest.basket_pages.length;_93++){
_92[IORequest.basket_pages[_93]]=1;
}
}
this.cm_get_product_from_cookie=function(_94){
if(_84.length!==0||(this.cm_build_all_recent_arrays()===true)){
if(_94=="_RVP_"){
return (IORequest.recently_viewed_product);
}
if(_94=="_RVC_"){
return (IORequest.recently_viewed_category);
}
if(_94=="_LCP_"){
return (_89[0]||0);
}
if(_94=="_RPP_"){
return (_8a[0]||0);
}
if(_94=="_MPC_"){
var _95=0;
for(var _96=1;_96<_8b.length;_96++){
if(parseInt(_86[_8b[_96]].n_viewed,10)>parseInt(_86[_8b[_95]].n_viewed,10)){
_95=_96;
}
}
return (_8b[_95]||0);
}
if(_94=="_MPB_"){
var _97=0;
for(var _98=1;_98<_8c.length;_98++){
if(parseInt(_87[_8c[_98]].n_viewed,10)>parseInt(_87[_8c[_97]].n_viewed,10)){
_97=_98;
}
}
return (_8c[_97]||0);
}
if(_94=="_DFTP_"){
return (IORequest.default_prd);
}
if(_94=="_DFTC_"){
return (IORequest.default_cat);
}
if(_94=="_APP_"){
return (_8a);
}
if(_94=="_ACP_"){
return (_89);
}
}
return (0);
};
cm_initialize_id=function(p_h,id){
p_h[id]=[];
p_h[id].index=-1;
p_h[id].n_bought=0;
p_h[id].n_viewed=0;
p_h[id].n_carted=0;
};
cm_build_hash_from_array=function(p_a){
var h=[];
h.max_index=0;
for(var ii=0;ii<p_a.length;ii++){
cm_initialize_id(h,p_a[ii]);
}
return h;
};
cm_id_array_from_index_array=function(_99,_9a,_9b,_9c,_9d,_9e){
var _9f=[];
_9f.max_length=_9a;
if(_99){
var _a0=_99.split(",");
for(var ii=0;ii<_a0.length;ii++){
var _a1=_9b[_a0[ii]];
_9f.push(_a1);
if(_9d!==undefined){
var _a2=_9d.split(",");
if((!(_9c===undefined))&&(_a2.length>0)){
_9c[_a1][_9e]=_a2[ii];
}
}
}
if(_9f.length>_9f.max_length){
_9f.length=_9f.max_length;
}
}
return _9f;
};
cm_create_integer_array_from_id_array=function(_a3,p_h,_a4){
var _a5=[];
for(var ii=0;ii<_a3.length;ii++){
var id=_a3[ii];
if(p_h[id].index==-1){
p_h[id].index=p_h.max_index++;
}
_a5.push(p_h[id][_a4]);
}
return _a5;
};
cm_create_id_array_from_hash=function(p_h){
var _a6=[];
for(var id in p_h){
if(typeof id!="function"){
_a6[p_h[id].index]=id;
}
}
return _a6;
};
cm_add_action=function(_a7,p_h,_a8,_a9,_aa){
var _ab;
var _ac=_a7;
if(_a8){
_ac=IORequest.hex32(IORequest.crc32_str(_a7));
IORequest.log(IORequest.log_trace,"crc of "+_a7,_ac);
}
if(_ac!==undefined){
_ab=[_ac];
_ab.max_length=_a9.max_length;
if(p_h[_ac]===undefined){
cm_initialize_id(p_h,_ac);
}
if(_aa!==undefined){
p_h[_ac][_aa]++;
}
for(var ii=0;ii<_a9.length;ii++){
if(_a9[ii]!=_ac){
_ab.push(_a9[ii]);
}
}
if(_ab.length>_ab.max_length){
_ab.length=_ab.max_length;
}
}else{
_ab=_a9;
}
return (_ab);
};
cm_remove_element_from_array=function(p_a,_ad,_ae){
var _af=[];
if(_ae){
_ad=IORequest.hex32(IORequest.crc32_str(_ad));
}
for(var ii=0;ii<p_a.length;ii++){
if(!(_ad==p_a[ii])){
_af.push(p_a[ii]);
}
}
return _af;
};
this.cm_write_cookies=function(_b0){
var _b1=[cm_create_integer_array_from_id_array(_88,_85,"index").join(","),cm_create_integer_array_from_id_array(_89,_85,"index").join(","),cm_create_integer_array_from_id_array(_8a,_85,"index").join(","),cm_create_integer_array_from_id_array(_8b,_86,"index").join(","),cm_create_integer_array_from_id_array(_8b,_86,"n_viewed").join(","),cm_create_integer_array_from_id_array(_8c,_87,"index").join(","),cm_create_integer_array_from_id_array(_8c,_87,"n_viewed").join(",")];
if(_91){
for(var jj=0;jj<_90.length;jj++){
_b1[jj]=_90[jj]+_83+_b1[jj];
}
}
var cfg=_b0.join();
var prd=cm_create_id_array_from_hash(_85).join(_82);
var cat=cm_create_id_array_from_hash(_86).join(_82);
var brn=cm_create_id_array_from_hash(_87).join(_82);
var cnt=_b1.join(IORequest.cookie_array_separator);
var _b2=[cfg,prd,cat,brn,cnt].join(IORequest.cookie_separator);
var rc=IORequest.set_and_check_cookie(IORequest.state_cookie,_b2,false,IORequest.vanity_suffix);
IORequest.log(IORequest.log_cookie_write,"write "+IORequest.state_cookie,IORequest.is_undefined(rc)?"permanent cookies disabled":_b2);
return (rc);
};
this.cm_build_all_recent_arrays=function(){
var _b3=[];
var _b4=[];
var _b5=[];
var _b6=IORequest.find_state_cookie(IORequest.state_cookie);
if(_b6!==undefined){
var _b7=(_b6===undefined)?4:(_b6.split(IORequest.cookie_separator).length-1);
_84=IORequest.build_array_from_cookie(0).split(",");
if(_84.length>0){
IORequest.ab_group_number=_84[0];
if(_84.length>1){
IOConfig.version=_84[1];
IOConfig.brand_personalization[0]=_84[2];
IOConfig.brand_personalization[1]=_84[3];
IOConfig.category_structure=_84[4];
IORequest.a_max_elements[0]=_84[5];
IORequest.a_max_elements[1]=_84[6];
IORequest.a_max_elements[2]=_84[7];
IORequest.a_max_elements[3]=_84[8];
IORequest.a_max_elements[4]=_84[9];
IORequest.a_max_elements[5]=_84[10];
IORequest.a_max_elements[6]=_84[11];
}
}
_b3=IORequest.build_array_from_cookie(1).split(_82);
_85=cm_build_hash_from_array(_b3);
_b4=IORequest.build_array_from_cookie(2).split(_82);
_86=cm_build_hash_from_array(_b4);
if(_b7>3){
_b5=IORequest.build_array_from_cookie(3).split(_82);
_87=cm_build_hash_from_array(_b5);
}
var _b8=IORequest.build_array_from_cookie(_b7).split(IORequest.cookie_array_separator);
if(_91&&(g_b_a_arrays[0].substring(0,2)==_90[0].substring(0,2))){
for(var ii=0;ii<_b8.length;ii++){
_b8[ii]=_b8[ii].substring(_90[ii].length+1);
}
}
_88=cm_id_array_from_index_array(_b8[0],IORequest.a_max_elements[0],_b3);
_89=cm_id_array_from_index_array(_b8[1],IORequest.a_max_elements[1],_b3);
_8a=cm_id_array_from_index_array(_b8[2],IORequest.a_max_elements[2],_b3);
_8b=cm_id_array_from_index_array(_b8[3],IORequest.a_max_elements[3],_b4,_86,_b8[4],"n_viewed");
if(_b7>3){
_8c=cm_id_array_from_index_array(_b8[5],IORequest.a_max_elements[5],_b5,_87,_b8[6],"n_viewed");
}
if(IORequest.recently_viewed_product===undefined){
IORequest.recently_viewed_product=(_88.length===0?0:_88[0]);
}
if(IORequest.recently_viewed_category===undefined){
IORequest.recently_viewed_category=(_8b.length===0?0:_8b[0]);
}
if(_84.length==1){
IORequest.rm_cookie(IORequest.state_cookie);
var cfg=[IORequest.ab_group_number,IOConfig.version,IOConfig.brand_personalization[0],IOConfig.brand_personalization[1],IOConfig.category_structure,IORequest.a_max_elements[0],IORequest.a_max_elements[1],IORequest.a_max_elements[2],IORequest.a_max_elements[3],IORequest.a_max_elements[4],IORequest.a_max_elements[5],IORequest.a_max_elements[6]];
this.cm_write_cookies(cfg);
}
return (true);
}else{
return (false);
}
};
cm_build_html_table_from_array=function(_b9,_ba,p_h,_bb){
var _bc=(_bb?2:1);
var _bd=_ba.length;
var _be="";
var _bf=(_bc==1?"<TD COLSPAN=2>":"<TD>");
if(_bd>0&&(_ba[0]!==undefined)){
_be="<TR><TH ROWSPAN="+_bd+">"+_b9+"</TH>"+_bf+(_bc==2?p_h[_ba[0]][_bb]+"</TD><TD>":"")+_ba[0]+"</TD></TR>";
for(var ii=1;ii<_bd;ii++){
_be+="<TR>"+_bf+(_bc==2?p_h[_ba[ii]][_bb]+"</TD><TD>":"")+_ba[ii]+"</TD></TR>";
}
}else{
_be="<TR><TH ROWSPAN=1>"+_b9+"</TH>"+"<TD COLSPAN=2>"+"No "+_b9+"</TD></TR>";
}
return (_be);
};
cm_get_products_in_cart=function(){
if(this.cm_build_all_recent_arrays()===true){
return (_89);
}else{
return ([]);
}
};
this.cm_format_cookie_arrays=function(_c0){
if(this.cm_build_all_recent_arrays()===true){
var _c1="<TABLE BORDER=2 CELLPADDING=2>";
_c1+="<TR> <TH COLSPAN=3>Recent "+(_c0=="products"?"Products":"Categories")+"</TH> </TR>";
if(_c0=="products"||_c0===undefined){
_c1+=cm_build_html_table_from_array("Viewed Products",_88,_85);
_c1+=cm_build_html_table_from_array("Carted Products",_89,_85);
_c1+=cm_build_html_table_from_array("Purchased Products",_8a,_85);
}
if(_c0=="categories"||_c0===undefined){
_c1+=cm_build_html_table_from_array("Category Views",_8b,_86,"n_viewed");
}
return (_c1+"</TABLE>");
}else{
return ("<H3>Can't create table.  Cookies disabled</H3>");
}
};
this.cm_ted_io=function(_c2){
var _c3=false;
if(this.cm_build_all_recent_arrays()===true){
if(_c2.i_offer!==undefined){
if(_c2.i_offer=="epr_category"){
if(_io_config.fcpl=="Y"){
_c2.cg=_c2.cg.replace(/>.*$/,"");
_c2.cg=_c2.cg.replace(/\s+$/,"");
}
if(_c2.cg.length<=IORequest.max_cat_length){
_8b=cm_add_action(_c2.cg,_86,IORequest.encrypt_cats,_8b,"n_viewed");
_c3=true;
}
}
if(_c2.i_offer=="brand"){
IORequest.log(IORequest.log_trace,"adding "+_c2.brn,"g_a_brn_viewed array");
_8c=cm_add_action(_c2.brn,_87,1,_8c,"n_viewed");
_c3=true;
}
}else{
if(_c2.tid==1||_c2.tid==6||_c2.tid==5){
IORequest.log(IORequest.log_cookie_write,"initial "+IORequest.state_cookie,IORequest.find_state_cookie());
}
if(5==_c2.tid){
var _c4=""+_c2.pr.toUpperCase();
var _c5=""+_c2.cg;
if(_c4.length<=IORequest.max_prd_length){
_88=cm_add_action(_c4,_85,IORequest.encrypt_prds,_88);
_c3=true;
}
if((IOConfig.category_structure=="S")&&(_c5.length<=IORequest.max_cat_length)){
_8b=cm_add_action(_c5,_86,IORequest.encrypt_cats,_8b,"n_viewed");
_c3=true;
}
IOState.b_product_view=true;
IOState.h_productview_product[_c4]=1;
IOState.productview_product=_c4;
IOState.productview_category=_c5;
}
if((4==_c2.tid)&&(5==_c2.at)&&(_c2.pr.length<=IORequest.max_prd_length)){
_89=cm_add_action(_c2.pr.toUpperCase(),_85,IORequest.encrypt_prds,_89);
_c3=true;
}
if(4==_c2.tid&&9==_c2.at){
if(_c2.pr.length<=IORequest.max_prd_length){
_8a=cm_add_action(_c2.pr.toUpperCase(),_85,IORequest.encrypt_prds,_8a);
_c3=true;
}
}
}
if(_c3){
this.cm_write_cookies(_84);
}
}
};
};


