// Copyright Channel Intelligence, Inc. 2002-2008
var ci_host = 'a92173ce-a299-4fbf-a21b-4e02c5824a92';
var localeCode = "en-US";

var ci_vid= 11381;
var ci_cookieDomain=".staples.com";
var ci_refDomain=".staples.com";
var ci_imgs=[];

function ci_FP(ci_pix_url,protocol){var ci_pic=document.createElement('img');ci_pic.src=(protocol!==undefined ? protocol + '://' : (window.location.protocol.toLowerCase() == 'http:' ? 'http://' : 'https://'))+ci_pix_url;ci_imgs[ci_imgs.length]=ci_pic;}

function ci_RQV(name,dValue){
    var qArg=new RegExp('[\\?&]'+name+'=?([^&#]*)','i').exec(window.document.location);
    if(qArg===null){return dValue===undefined?null:dValue;}else if(qArg.length<2){return '';}else{return qArg[1];}
}
function ci_CC(name,value,daysTillExpire){
	if (daysTillExpire){
		var exDate=new Date();
		exDate.setTime(exDate.getTime()+(daysTillExpire*24*60*60*1000));
		document.cookie=name+'='+value+'; expires='+exDate.toGMTString()+'; domain='+ci_cookieDomain+'; path=/';
	}
}
function ci_UID(value){
	var today=new Date();
	var UID=ci_vid+"-"+value+"-"+Math.floor(Math.random()*9999999999)+today.getFullYear().toString()+today.getMonth().toString()+ today.getDay().toString()+today.getHours().toString()+today.getMinutes().toString()+today.getSeconds().toString()+today.getMilliseconds().toString();
	return UID;
}
function ci_PIX(loc,eid,tid,src,sku,tag){
	var url='';
	if (loc===1){url='origin.channelintelligence.com/log.asp?';}
	if (loc===2){url='cts-log.channelintelligence.com?';}
	url+='vid='+ci_vid+'&eid='+eid+'&tid='+tid;
	if(src!==null){url+='&src='+src;}
	if(sku!==null){url+='&sku='+sku;}
	if(tag!==null){url+='&tag='+tag;}
	url += "&ref="+escape(document.referrer);
	return ci_FP(url, 'http');
}
//added to inject mx smart code
function callMX() {
    var ci_anchor = document.getElementById("ci_anchor");
    if (ci_anchor != null) {
        if (ci_sku == null) {
            ci_sku = readSkuFromUrl();
        }

        if (ci_sku.length > 0 && ci_vid.toString().length > 0) {
            var shouldCall = true; //shouldCallForButton();

            if (shouldCall == true) {
                var oScript = document.createElement("SCRIPT");
                oScript.type = "text/javascript";
                oScript.src = "http://edge.services.sellpath.com/Syndication/ProductTour/SKU/" + ci_host + "/" + localeCode + "/" + ci_sku + "/ci_anchor";
                var thisBlock = getTrueTagScriptNode();
                if (thisBlock != null && thisBlock.parentNode != null) {
                    try {
                        var insertedElement = thisBlock.parentNode.insertBefore(oScript, thisBlock);
                    }
                    catch (err) { }
                }

            }
        }
    }
}

function shouldCallForButton() {
    //check to see if another button is rendered by either web collage or sellpoint
    var result = true;
    var scripts = document.getElementsByTagName("script");
    var thisBlock = null;
    for (var i = 0; i < scripts.length; i++) {
        if (scripts[i].attributes["src"] != null) {
            var source = scripts[i].attributes["src"].value.toLowerCase();
            if (source.match("channelintelligence.com") != null)
                thisBlock = scripts[i];
            if (source.match("webcollage") != null || source.match("sellpoint") != null) {
                var webCollageSpan = document.getElementById("wcsb-span");
                if (webCollageSpan != null)
                { shouldRedirect = false; }

                var sibling = scripts[i].nextSibling;
                while (sibling != null) {
                    var containsSku = nodeContainsSku(sibling, ci_sku);
                    if (containsSku == true) {
                        shouldRedirect = false;
                    }
                    if (shouldRedirect == false)
                        break;
                    else {
                        sibling = sibling.nextSibling;
                    }
                }
            }
        }
        if (result == false)
            break;
    }
    return result;
}
function nodeContainsSku(node, sku) {
    var result = false;
    for (var i = 0; i < node.attributes.length; i++) {
        var att = node.attributes[i];
        if (att.value.toLowerCase().match(sku.toLowerCase())) {
            result = true;
            break;
        }
    }
    if (result == false && node.childNodes != null && node.childNodes.Count > 0) {
        for (var i = 0; i < node.childNodes.length; i++) {
            result = nodeContainsSku(node.childNodes[i], sku);
            if (result)
                break;
        }
    }
    return result;
}
function readSkuFromUrl() {
    //QA example url: http://qa1-reloaded.staples.com/Nikon-CoolPix-P90-Digital-Camera/product_SKUGOESHERE
    //?errorUrl=zipcode&storeId=10001&zipCode=34746&jspStoreDir=Staples&langId=-1&ddkey=StaplesZipCodeAdd
    //Production Example Url: http://www.staples.com/HP-Business-Inkjet-2800dtn-Color-Printer/product_SKUGOESHERE
    //NOTE: variations have been found such as:http://qa1-reloaded.staples.com/Nikon-Coolpix-S220-Digital-Camera-Plum/product-nr_SKUGOESHERE
    var url = location.href;
    url = url.replace("http://", "");
    var segments = url.split('/');
    var sku = segments.length > 1 ? segments[segments.length - 1] : '';
    if (sku.match('product') != null) {
        if (sku.match('_') != null) {
            var parts = sku.split('_');
            sku = parts.length > 1 ? parts[1] : parts[0];
            var end = sku.toString().indexOf('?');
            if (end == -1) {
                end = sku.toString().length;
            }
            sku = sku.toString().substring(0, end);
        }
        else {
            var end = sku.toString().indexOf('?');
            if (end == -1) {
                end = sku.toString().length;
            }
            sku = sku.toString().substring(8, end);
        }
    }
    else {
        sku = "";
    }
    return sku;
}

function getTrueTagScriptNode() {
    var thisScript = null;
    var scripts = document.getElementsByTagName("script");
    try {
        for (var i = 0; i < scripts.length; i++) {
            if (scripts[i].src.length > 0 && scripts[i].src.toLowerCase().match("cts.channelintelligence") != null) {
                thisScript = scripts[i];
                break;
            }
        }
    }
    catch (err) { }

    return thisScript;
}

try {
	var ci_cpncode=ci_RQV('cpncode');
	var ci_srccode=ci_RQV('srccode');
	var ci_src=ci_RQV('ci_src');
	var ci_sku=ci_RQV('ci_sku');
	var ci_tag=ci_RQV('ci_tag');
	var ci_tid=ci_UID(ci_sku);

	if(ci_cpncode!==null){
		ci_CC('ci_cpncode',ci_cpncode,30);
		ci_CC('ci_src',ci_srccode,30);
		ci_CC('ci_tid',"",-1);
	} else if(ci_src!==null && ci_sku!==null) {
		ci_CC('ci_cpncode',"",-1);
		ci_CC('ci_tid',ci_tid,30);
		ci_CC('ci_src',ci_src,30);
		ci_PIX(2,23,ci_tid,ci_src,ci_sku,null);
	} else if(ci_tag!==null) {
		ci_CC('ci_cpncode',"",-1);
		ci_CC('ci_tid',ci_tid,30);
		ci_PIX(2,7,ci_tid,null,null,ci_tag);
	} else if(document.referrer.toLowerCase().indexOf(ci_refDomain)===-1&&document.referrer!==''){
	    ci_PIX(2,13,null,null,null,null);
	}
	//call mx
	if (document.addEventListener)
	{ document.addEventListener("DOMContentLoaded", callMX, false); }
	else if (document.all && !window.opera)//Crude test for IE
	{
	    if (location.protocol == "http:") {
	        document.write('<script type="text/javascript" id="contentloadtag" defer="defer" src="javascript:void(0)"><\/script>');

	        var contentloadtag = document.getElementById("contentloadtag");
	        contentloadtag.onreadystatechange = function() {
	            if (this.readyState == "complete")
	            { callMX(); }
	        }
	    }
	}
}    
catch(err){}