if(!Blueknow){var Blueknow={}}Blueknow.Cookies={set:function(_1,_2,_3,_4){document.cookie=_1+"="+encodeURI(_2)+";path=/"+(_4?";domain="+_4:"")+((_3===null)?"":";max-age="+(60*60*24*_3))},get:function(_5){if(document.cookie.length>0){var _6=document.cookie.indexOf(_5+"=");if(_6!==-1){_6=_6+_5.length+1;var _7=document.cookie.indexOf(";",_6);if(_7===-1){_7=document.cookie.length}return decodeURI(document.cookie.substring(_6,_7))}}return""},exists:function(_8){if(document.cookie.length>0){var _9=document.cookie.indexOf(_8+"=");return _9!==-1}return false}};Blueknow.Language={CA:"CA",CATALAN:"CA",ES:"ES",SPANISH:"ES",EN:"EN",ENGLISH:"EN",FR:"FR",FRENCH:"FR",IT:"IT",ITALIAN:"IT",PT:"PT",PORTUGUESE:"PT",DE:"DE",GERMAN:"DE",NL:"NL",DUTCH:"NL",FI:"FI",FINNISH:"FI",NO:"NO",NORWEGIAN:"NO",SV:"SV",SWEDISH:"SV",RU:"RU",RUSSIAN:"RU",ZH:"ZH",CHINESE:"ZH"};Blueknow.Currency={EUR:"EUR",EURO:"EUR",USD:"USD",DOLLAR:"USD",GBP:"GBP",POUND:"GBP",CAD:"CAD",CANADIAN_DOLLAR:"CAD",AUD:"AUD",AUSTRALIAN_DOLLAR:"AUD",NOK:"NOK",NORWEGIAN_KRONE:"NOK",SEK:"SEK",SWEDISH_KRONE:"SEK",MXN:"MXN",MEXICAN_PESO:"MXN",COP:"COP",COLOMBIAN_PESO:"COP",BRL:"BRL",BRAZILIAN_REAL:"BRL",RUB:"RUB",RUSSIAN_RUBLE:"RUB",CNY:"CNY",YUAN:"CNY",ARS:"ARS",ARGENTINE_PESO:"ARS",DKK:"DKK",CHF:"CHF",PLN:"PLN",ZAR:"ZAR",JPY:"JPY"};Blueknow.Generator={uuid:function(_a){return(_a===null||_a===undefined?"BK":_a)+"-"+Math.round(Math.random()*new Date().getTime())}};Blueknow.Domain={suffixes:new RegExp("^(co.uk|com.\\w{2})$","i"),current:function(_b){if(document.domain){return document.domain.toString()}var l=document.location;if(l&&l.hostname){return l.hostname.toString()}return _b?_b:null},parent:function(_d){var _e=this.current(_d);if(_e){var _f=_e.split(".");if(_f.length>1){try{_e=_f.slice(-2).join(".");if(_e.match(this.suffixes)){_e=_f.slice(-3).join(".")}}catch(e){}}}return _e}};Blueknow.Logger={isAvailable:function(){return typeof console!=="undefined"&&typeof console.log!=="undefined"},getTime:function(){var _10=new Date();var _11=_10.getHours().toString().length===1?"0"+_10.getHours():_10.getHours();var _12=_10.getMinutes().toString().length===1?"0"+_10.getMinutes():_10.getMinutes();var _13=_10.getSeconds().toString().length===1?"0"+_10.getSeconds():_10.getSeconds();return _11+":"+_12+":"+_13},info:function(_14){if(this.isAvailable()){_14=this.getTime()+" [INFO] "+_14;console.info(_14)}},warn:function(_15){if(this.isAvailable()){_15=this.getTime()+" [WARN] "+_15;console.warn(_15)}},debug:function(_16){if(this.isAvailable()){_16=this.getTime()+" [DEBUG] "+_16;console.debug(_16)}},error:function(_17){if(this.isAvailable()){_17=this.getTime()+" [ERROR] "+_17;console.error(_17)}}};Blueknow.Recommender=function(_18){var _19="BKRC";var _1a="1.9.0";var _1b=("https:"===window.parent.location.protocol?true:false);var _1c=_1b?"https://recommender.blueknow.com":"http://recommender.blueknow.com";var _1d="json";var _1e=document.getElementsByTagName("head")[0]||document.documentElement;var enc=encodeURIComponent;var bkc=Blueknow.Cookies;var _21="_bkuid";var _22="_bkaui";var _21="_bkuid";var _23="_bkexp";var bkg=Blueknow.Generator;var _25;var _26;var _27=Blueknow.Language.SPANISH;var _28=Blueknow.Currency.EURO;var _29=Blueknow.Domain.parent();var _2a=(_1b?"https://":"http://")+Blueknow.Domain.current("unknown.blueknow.com");var _2b=Blueknow.Logger;var _2c={recommendations:3,properties:[],successName:"renderItems",errorName:"processError"};var _2d=function(){this.type=null;this.bkNumber=_18;this.bucket=null;this.seed=null;this.user=null;this.client=null;this.recommendations=_2c.recommendations;this.properties=_2c.properties;this.success=undefined;this.error=undefined;this.jsonp=null;this.force=null;this.exclude=null};var _2e={isEmpty:function(_2f){if(_2f.constructor===String&&_2f.replace(/^\s+/,"").replace(/\s+$/,"").length>0){return false}if(_2f.constructor===Array&&_2f.length>0){return false}return true},isNumber:function(_30){return typeof _30==="number"||(_30.constructor===String&&!isNaN(Number(_30)))},isBkNumber:function(_31){return _31.toString().match(/^BK-\d{12}-\d+$/)!==null},isLanguage:function(_32){var iso=_32&&_32.length==2?_32:null;return Blueknow.Language[iso]?true:false},isCurrency:function(_34){var iso=_34&&_34.length==3?_34:null;return Blueknow.Currency[iso]?true:false}};var _36=function(){if(!_18||!_2e.isBkNumber(_18)){throw"Invalid BK Number"}_2b.info(_19+" "+_1a+" initiated.")}();var _37=function(){if(!_25){if(bkc.exists(_22)){_25=bkc.get(_22);if(_25.indexOf(_18)===-1){_25=bkg.uuid(_18);bkc.set(_22,_25,356*10,_29)}}else{_25=bkg.uuid(_18);bkc.set(_22,_25,356*10,_29);_2b.info("New anonymous user identifier created: "+_25)}}return _25};var _38=function(){if(!_26){if(bkc.exists(_21)){_26=bkc.get(_21)}else{_26="generic"}}return _26};var _39=function(){return bkc.exists(_23)?bkc.get(_23):null};var _3a=function(_3b,_3c,_3d,_3e){if(!_3c||_2e.isEmpty(_3c)){_2b.warn("Bucket must be defined");throw"Bucket must be defined"}if((_3b==="item2item"||_3b==="item2itemp"||_3b==="item2basket"||_3b==="item2upsell"||_3b==="item2category")&&(!_3d||_2e.isEmpty(_3d))){_2b.warn("Seed must be defined");throw"Seed must be defined"}if((_3b==="item2basket"||_3b==="item2upsell"||_3b==="item2category")&&_3d.constructor!==Array){_2b.warn("Seed must be an array");throw"Seed must be an array"}if(_3b==="item2category"&&(_3d.length!==2||!_3d[0]||_2e.isEmpty(_3d[0])||!_3d[1]||_2e.isEmpty(_3d[1]))){_2b.warn("Seed must two non empty elements");throw"Seed must two non empty elements"}if(_3e){if(_3e.recommendations&&!_2e.isNumber(_3e.recommendations)){_2b.warn("settings#recommendations must be a valid number, if set. Default number of recommendations ("+_2c.recommendations+") will be applied.");_3e.recommendations=_2c.recommendations}if(_3e.properties&&_3e.properties.constructor!==Array){_2b.warn("settings#properties must be an array object, if set. No properties will be requested.");_3e.properties=_2c.properties}if(_3e.success&&typeof _3e.success!=="function"){_2b.warn("settings#success callback must be a function, if set. Default callback (renderItems) will be executed.");_3e.success=window[_2c.successName]}if(_3e.error&&typeof _3e.error!=="function"){_2b.warn("settings#error callback must be a function, if set. Default callback (simple alert) will be executed.");_3e.error=window[_2c.errorName]}if(_3e.exclude&&_3e.exclude.constructor===Array){_2b.warn("settings#exclude must NOT be an array object. No exclusions will be included.");_3e.exclude={}}}else{_3e={}}if(!_3e.success&&!window[_2c.successName]){_2b.warn("Success callback function not found.");throw"Success callback function not found"}if(!_3e.error&&!window[_2c.errorName]){_2b.warn("Error callback function not found.");throw"Error callback function not found"}var _3f=new _2d();_3f.type=_3b;_3f.bucket=enc(_3c);_3f.user=enc(_37());_3f.client=enc(_38());_3f.success=window["renderItems"];_3f.error=window["processError"];switch(_3b){case"item2item":case"item2itemp":_3f.seed=enc(_3d);break;case"item2basket":case"item2upsell":_3f.seed=enc(_3d.join("|"));break;case"item2category":_3f.seed=_3d.join("/");break}_3f.jsonp="jsonp"+(new Date()).getTime();if(_3e){_3f.recommendations=_3e.recommendations?_3e.recommendations:_3f.recommendations;_3f.properties=_3e.properties?_3e.properties:_3f.properties;_3f.success=_3e.success?_3e.success:_3f.success;_3f.error=_3e.error?_3e.error:_3f.error;_3f.force=_3e.force;_3f.exclude=_3e.exclude?_3e.exclude:{}}return _3f};var _40=function(_41){var url=_1c+"/"+_1d+"/"+_41.type+"/"+_41.bkNumber+"/"+_41.bucket+"/"+(_41.type==="item2client"?_41.client:_41.user)+((_41.type!=="item2user"&&_41.type!=="item2client"&&_41.type.indexOf("tops")===-1)?"/"+_41.seed:"")+"?callback="+_41.jsonp+"&src=js&ver="+_1a+"&lng="+_27+"&cur="+_28+"&ref="+enc(_2a)+((_41.type==="item2client"?"&aui="+_41.user:"&uid="+_41.client))+(_41.recommendations!==_2c.recommendations?"&nor="+_41.recommendations:"")+(_41.properties&&!_2e.isEmpty(_41.properties)?"&lpp="+enc(_41.properties.join("|")):"")+(_41.force!==null&&_41.force!==undefined&&_41.force===false?"&frr=false":"");var exc=_41.exclude;if(exc){for(var p in exc){if(!exc[p]){continue}url+="&exc="+enc(p+"|"+exc[p])}}var exp=_39();if(exp){url+="&"+exp}return url};var _46=function(url,_48){var _49=document.createElement("script");_49.onerror=function(){_2b.warn("Error loading recommendations.");window[this.id+"_error"].call(document,"Error loading recommendations.")};_49.src=url;_49.id=_48.jsonp;_1e.insertBefore(_49,_1e.firstChild);_2b.info("Recommender call done.")};var _4a=function(url,_4c){var _4d=function(){window[_4c.jsonp]=undefined;window[_4c.jsonp+"_error"]=undefined;try{delete window[_4c.jsonp];delete window[_4c.jsonp+"_error"];_1e.removeChild(document.getElementById(_4c.jsonp))}catch(e){}};window[_4c.jsonp]=function(_4e){var _4f=_4e.products.product?(_4e.products.product.constructor===Array?_4e.products.product:[_4e.products.product]):[];_2b.info("Number of recommendations received: "+_4f.length);_2b.info("Calling success callback function.");_4c.success.call(this,_4f);_4d()};window[_4c.jsonp+"_error"]=function(_50){_2b.info("Calling error callback function.");_4c.error.call(this,_50);_4d()}};var _51=function(_52){var url=_40(_52);_4a(url,_52);_46(url,_52)};this.item2item=function(_54,_55,_56){var _57=_3a("item2item",_54,_55,_56);var res=_51(_57)};this.item2user=function(_59,_5a){var _5b=_3a("item2user",_59,null,_5a);var res=_51(_5b)};this.item2basket=function(_5d,_5e,_5f){var _60=_3a("item2basket",_5d,_5e,_5f);var res=_51(_60)};this.item2client=function(_62,_63){var _64=_3a("item2client",_62,null,_63);var res=_51(_64)};this.item2upsell=function(_66,_67,_68){var _69=_3a("item2upsell",_66,_67,_68);var res=_51(_69)};this.item2category=function(_6b,_6c,_6d,_6e){var _6f=_3a("item2category",_6b,[_6c,_6d],_6e);var res=_51(_6f)};this.topVisited=function(_71,_72){var _73=_3a("tops/visited",_71,null,_72);var res=_51(_73)};this.topPurchased=function(_75,_76){var _77=_3a("tops/purchased",_75,null,_76);var res=_51(_77)};this.topClicked=function(_79,_7a){var _7b=_3a("tops/clicked",_79,null,_7a);var res=_51(_7b)};this.topRecommended=function(_7d,_7e){var _7f=_3a("tops/recommended",_7d,null,_7e);var res=_51(_7f)};this.setLanguage=function(_81){var val=_81?_81.toString().toUpperCase():_81;if(_2e.isLanguage(val)){_2b.info("Language changed from '"+_27+"' to '"+val);_27=val}else{_2b.warn("Invalid language");throw"Invalid language"}};this.setCurrency=function(_83){var val=_83?_83.toString().toUpperCase():_83;if(_2e.isCurrency(val)){_2b.info("Currency changed from '"+_28+"' to '"+val);_28=val}else{_2b.warn("Invalid currency");throw"Invalid currency"}}}
