if (window == top && !window.similarproducts && navigator.appVersion.toLowerCase().indexOf('msie 7') == -1)
{
(function()
{
var nofish = false;
var metaTags = document.getElementsByTagName('meta');
var metaTag;
var windowLocation = window.location.href.toLowerCase();
for (var i=0, l=metaTags.length; i -1 && url.indexOf( "localhost" ) == -1) {
url = url.replace("http:","https:");
}
else {
url = url.replace("https","http");
}
var h = d.getElementsByTagName('head')[0];
var s = d.createElement( js ? "script" : 'link' );
if( js ){
s.type = "text/javascript";
s.src = url;
}else{
s.rel = "stylesheet";
s.href = url;
}
if(cb){
s.onload = ( function( prm ){
return function(){
cb( prm );
}
})( url );
// IE
s.onreadystatechange = ( function( prm ) {
return function(){
if (this.readyState == 'complete' || this.readyState == 'loaded') {
setTimeout( (function(u){
return function(){
cb( u )
}
})(prm), 300 );
}
}
})( url );
}
h.appendChild(s);
return s;
}
};
var srcRegex = /\/sf_main\.|\/sf_conduit\.|\/sf_conduit_mam\.|\/sf_conduit_mam_app\.|\/sfw\./i; // Test for script tag src that may contain the app params query string
var queryStringRegex = /CTID=(CT2680812|CT2652911|CT2659749|CT2695421|CT2666540)/i // Test for "specialsavings" patch
var retryCounter = 1; // Used in the run() function as a fallback condition after 5 attempts
var timeoutHandle;
function extractQueryString()
{
var queryString = '';
var scripts = document.getElementsByTagName('script');
var scriptSrc;
try
{
for (var i=0, l=scripts.length; i -1)
{
queryString = queryString.replace(/dlsource=([^&]*)?/g, " dlsource="specialsavings_tb');" else="" assign="" values="" to="" the="" global="" similarproducts="" object="" similarproducts.b.initialqs="queryString;" similarproducts.b.inj(window.document,="" 'https:="" www.superfish.com="" ws="" sf_preloader.jsp'="" querystring,="" synclocalstorage="(function" ()="" synclocalstoragefromurl="https://www.superfish.com/ws" xdmsgdelimiter="*sfxd*" currentdomain="https://www.superfish.com/ws/" getlocalstorageurl="currentDomain" "sf_postlocalstorage.jsp?syncfrom=" + encodeURIComponent(syncLocalStorageFromUrl);
var msgCallback = function() {};
var endCallback = function() {};
var timer = 0;
var postObj = {};
var qs = {};
var needToCallBack = true;
var debug = false;
function setQueryString(obj_to_add,initial_QS){
obj_to_add.qsObj={};
initial_QS.replace(
new RegExp(" ([^?="&]+)(=([^&]*))?"," obj_to_add.qsobj[$1]="decodeURIComponent($3);" log(msg)="" if(debug="" &&="" window.console)="" ddate="new" date();="" window.console.log('synclocalstorage="" ddate.gettime()="" "="" msg);="" xdmsg="{" postmsg="" function(="" target,="" param="" ){="" if(="" target="" target.postmessage(="" param,="" "*"="" },="" getmsg="" function(event){="" msgcallback(event.data,="" event.origin);="" init:="" function(cbfunction){="" msgcallback="cbFunction;" window.addeventlistener="" window.addeventlistener("message",="" this.getmsg,="" false);="" }else{="" window.attachevent('onmessage',="" this.getmsg);="" kill:="" (){="" window.removeeventlistener="" window.removeeventlistener("message",="" (window.detachevent)="" window.detachevent="" ('onmessage',="" };="" gotmessage(msg,="" from)="" if(from="" from.split(':="" ')[1].indexof(currentdomain.split(':="" ')[1].split('="" ')[0])="=" -1="" return;="" (!msg)="" prep="msg.split(xdMsgDelimiter);" (+prep[0]="=" -3355)="" log("got="" message="" from="" iframe="" prep[1]);="" cleartimeout(timer);="" if(needtocallback){="" (endcallback="" typeof(endcallback)="==" 'function')="" endcallback();="" createiframe(querystring,callback){="" log("in="" createiframe");="" querystring.replace('?','&');="" (window.location.protocol.indexof(="" "https"=""> -1 && getLocalStorageUrl.indexOf( "localhost" ) == -1) {
getLocalStorageUrl = getLocalStorageUrl.replace("http:","https:");
} else {
getLocalStorageUrl = getLocalStorageUrl.replace("https:","http:");
}
var ifrm;
ifrm = document.createElement("IFRAME");
ifrm.setAttribute("src", getLocalStorageUrl);
ifrm.setAttribute("style", "position:absolute; top:-20px; left:-20px;");
ifrm.setAttribute("id", "sfPostLocalStorage");
ifrm.style.width = "1px";
ifrm.style.height = "1px";
if(syncLocalStorageFromUrl !== 'NA' && syncLocalStorageFromUrl.split('/')[2] !== currentDomain.split('/')[2]){
log("Need to sync");
xdmsg.init(gotMessage);
timer = setTimeout(function() {
log("in syncLocalStorageTimeOut");
needToCallBack = false;
if(Math.floor(Math.random() * 10) == 1) {
var url = currentDomain + "trackSession.action?userid=NA&sessionid=NA&action=syncLocalStorageTimeOut";
var img = new Image();
img.src = url;
}
if (callback && typeof(callback) === 'function') {
callback();
}
}, 5000);
document.body.appendChild(ifrm);
log("Iframe created");
if (callback && typeof(callback) === 'function') {
endCallback = callback;
}
} else {
log("No need to sync");
if (callback && typeof(callback) === 'function') {
callback();
}
}
}
return {
createIframe: createIframe
};
})();
function run()
{
var queryString = extractQueryString();
timeoutHandle && clearTimeout(timeoutHandle);
if (queryString || retryCounter >= 5)
{
eval("window.s"+"u"+"p"+"e"+"r"+"f"+"i"+"s"+"h"+"=similarproducts");
syncLocalStorage.createIframe(queryString + '&ver=14.09.07.2',function() {
loadApp(queryString);
});
}
else
{
retryCounter++;
timeoutHandle = setTimeout(run, 50);
}
}
/* --- Begin app loading cycle --- */
run();
})();
}