/* Private Member */
__events = [/* Dynamic Array */];
var __xPriceList;

Window = {
    Uri: {
        /* Return the window current location */
        Referer: function() {
            return window.location.href;
        }
		,
        QueryString: {
            Text: null,
            Save: function() {
                var qsIndexOf;
                qsIndexOf = Window.Uri.Referer().indexOf("?");
                if (qsIndexOf > -1) {
                    Window.Uri.QueryString.Text = Window.Uri.Referer().substring(qsIndexOf + 1, Window.Uri.Referer().length);
                }
                else {
                    Window.Uri.QueryString.Text = '';
                }
            }
			,
            Embbed: function(anchor, uri, redirect) {
                var addchar;
                var reffer;
                addchar = (uri.indexOf("?") > -1) ? "&" : "?";
                if ('' != Window.Uri.QueryString.Text) {
                    uri += addchar + Window.Uri.QueryString.Text;
                    uri = (uri.indexOf("Ref=") > -1) ? uri : uri + "&Ref=" + window.location;
                }
                else {
                    uri = (uri.indexOf("?") > -1) ? uri + "&Ref=" + window.location : uri + "?Ref=" + window.location;
                }

                if (redirect == true) {
                    window.location.href = uri;
                }
                else {
                    anchor.href = uri;
                }
            }
        }
    }
	,
    /* Event basket of window.onload */
    AddEventListnerOnLoad: function(e) {
        __events[__events.length + 1] = e;
    }
	,
    Bind: function() {
        /* Register window.onload's events */
        window.onload = function() {
            /* If there is no event then... */
            if (__events.length == 'undefined') return;
            /* Execute event one by one */
            for (var index = 0; index < __events.length; index++) {
                /* Evaluate */
                eval(__events[index]);
            }
        }
    }
};

Price = {

    setPrice: function() {
        
        // Set Logo 
        if (__IWouldLikeToUseATextLogo == true) {
            if (document.getElementById('dvLogo__')) {
                document.getElementById('dvLogo__').innerHTML = "<font color=" + __LogoTextColor + " size=" + __LogoFontSize + ">" + __LogoText + "</font>";
            }
        }

        if (document.getElementById('dvSiteName__')) {
            document.getElementById('dvSiteName__').innerHTML = __WebsiteName;
        }

        var priceDivs, priceSpans, compareDivs, compareSpans, productId, indexOfProductId;
        var priceContainers = [];
        var compareContainers = [];
        var priceDivPrefix = "dvPrice__";
        var compareDivPrefix = "dvCompareTo__";

        priceSpans = document.getElementsByTagName("span");
        priceDivs = document.getElementsByTagName("div");

        for (i = 0; i < priceDivs.length; i++) {
            if (priceDivs[i].id.indexOf(priceDivPrefix) > -1) {

                indexOfProductId = priceDivs[i].id.indexOf(priceDivPrefix) + priceDivPrefix.length;
                productId = priceDivs[i].id.substring(indexOfProductId, priceDivs[i].id.length);


                priceContainers[priceContainers.length] = productId;
            }

            else if (priceDivs[i].id.indexOf(compareDivPrefix) > -1) {

                indexOfProductId = priceDivs[i].id.indexOf(compareDivPrefix) + compareDivPrefix.length;
                productId = priceDivs[i].id.substring(indexOfProductId, priceDivs[i].id.length);


                compareContainers[compareContainers.length] = productId;
            }
        }

        for (i = 0; i < priceSpans.length; i++) {
            if (priceSpans[i].id.indexOf(priceDivPrefix) > -1) {

                indexOfProductId = priceSpans[i].id.indexOf(priceDivPrefix) + priceDivPrefix.length;
                productId = priceSpans[i].id.substring(indexOfProductId, priceSpans[i].id.length);


                priceContainers[priceContainers.length] = productId;
            }

            else if (priceSpans[i].id.indexOf(compareDivPrefix) > -1) {

                indexOfProductId = priceSpans[i].id.indexOf(compareDivPrefix) + compareDivPrefix.length;
                productId = priceSpans[i].id.substring(indexOfProductId, priceSpans[i].id.length);


                compareContainers[compareContainers.length] = productId;
            }
        }


        for (var i = 0; i < _Products.length; i++) {
            for (var j = 0; j < priceContainers.length; j++) {
                if (priceContainers[j] == _Products[i].Id) {
                    document.getElementById(priceDivPrefix + priceContainers[j]).innerHTML = '$' + _Products[i].Price;
                    priceDivsByName = document.getElementsByName(priceDivPrefix + priceContainers[j])

                    for (var k = 0; k < priceDivsByName.length; k++) {
                        priceDivsByName[k].innerHTML = '$' + _Products[i].Price;
                    }

                    break;
                }
            }
        }

        for (var i = 0; i < _Products.length; i++) {
            for (var j = 0; j < compareContainers.length; j++) {
                if (compareContainers[j] == _Products[i].Id) {
                    document.getElementById(priceDivPrefix + compareContainers[j]).innerHTML = '$' + _Products[i].Price;
                    priceDivsByName = document.getElementsByName(priceDivPrefix + compareContainers[j])

                    compareDivsByName = document.getElementsByName(compareDivPrefix + compareContainers[j])

                    for (var k = 0; k < priceDivsByName.length; k++) {
                        priceDivsByName[k].innerHTML = '$' + _Products[i].Price;
                    }

                    for (var k = 0; k < compareDivsByName.length; k++) {
                        compareDivsByName[k].innerHTML = '$' + _Products[i].CompareTo;
                    }
                    break;
                }
            }
        }

    }
	,
    youSave: function(dvYouSave, productId) {
        dvYouSave = document.getElementById(dvYouSave);
        dvYouSave.innerHTML = '$' + (Price.Items['Id:' + productId][Price.Type['CompareTo']] - Price.Items['Id:' + productId][Price.Type['Price']]).toFixed(2);
    }
};

Window.Uri.QueryString.Save();

function SayHello() {
    __xPriceList = "../PriceList.xml";

}



function CJL_loadXmlDocument(xmlFile, cbFun) {

    cbFun(xdoc);

    var xdoc;
    if (window.ActiveXObject && /Win/.test(navigator.userAgent)) {
        xdoc = new ActiveXObject("Microsoft.XMLDOM");
        xdoc.async = false;
        xdoc.load(xmlFile);
        cbFun(xdoc);
        return true;
    }
    else if (document.implementation && document.implementation.createDocument) {
        xdoc = document.implementation.createDocument("", "", null);
        xdoc.load(xmlFile);
        xdoc.onload = function() {
            cbFun(xdoc);
        }
        return true;
    }
    else {
        return false;
    }
}

/* Buy Now URL */

function writeCookie(cname, cvalue, cexpire) {
    document.cookie = cname + '=' + escape(cvalue) + (typeof cexpire == 'date' ? 'expires=' + cexpire.toGMTString() : '');
}


// set cmp cookie
var g_queryString = document.location.search;
var g_arrVars = g_queryString.split("&");

for (var i = 0; i < g_arrVars.length; i++) {

    var bits = g_arrVars[i].split("=");
    bits[0] = bits[0].replace("?", "");
    bits[0] = bits[0].replace("&", "");

    if (bits[0].toUpperCase() == "cmp".toUpperCase()) {
        //alert(bits[1]);
        writeCookie("cmp", bits[1], 500);
    }
}

function ReadCookie(cookieName) {
	var theCookie = "" + document.cookie;
    var ind = theCookie.indexOf(cookieName);
   	if (ind == -1 || cookieName == "") return "";
    var ind1 = theCookie.indexOf(';', ind);
    if (ind1 == -1) ind1 = theCookie.length;
    return unescape(theCookie.substring(ind + cookieName.length + 1, ind1));
	
}


function updateURL(hyperlink) {
    try {

        onlyURL = hyperlink.href.toString().split("?")[0];
        queryString = hyperlink.href.toString().split("?")[1];
        allParameters = queryString.split("&");
		

        for (i = 0; i < allParameters.length; i++) {

            
			if (allParameters[i].split("=")[0].toUpperCase() == "Pid".toUpperCase())
			{
					Pid = allParameters[i].split("=")[1];
					
			}
			
			if (allParameters[i].split("=")[1].toUpperCase() == "fromJs".toUpperCase() || allParameters[i].split("=")[1].toUpperCase() == '') {
                // get value from JS file 
                if (allParameters[i].toUpperCase() == "Ohp=fromJs".toUpperCase()) {
                    queryString = queryString.replace(allParameters[i], "Ohp=" + __Ohp + "");
                }
				
				
                if (allParameters[i].split("=")[0].toUpperCase() == "cmp".toUpperCase()) {
                    if (ReadCookie("cmp") != "") {
                        queryString = queryString.replace(allParameters[i], "cmp=" + ReadCookie("cmp") + "");
                        
                    }
                }

                else if (allParameters[i].toUpperCase() == "cmp=fromJs".toUpperCase()) {
                	queryString = queryString.replace(allParameters[i], "Cmp=" + __CampaignCode + "");
                }
                
				if (allParameters[i].toUpperCase() == "Wsid=fromJs".toUpperCase()) {
                    queryString = queryString.replace(allParameters[i], "WsId=" + __WebsiteID + "");
					 
                }
				
				if (allParameters[i].toUpperCase() == "Qty=fromJs".toUpperCase()) {
                    queryString = queryString.replace(allParameters[i], "Qty=" + document.getElementById( Pid + "_qty").value);
					 
				}
				
				
            }
            else {
                ; // use what is supplied i.e. do nothing
            }
        } // for (i=0; i < allParameters.length ; i++)
        
		finalurl = onlyURL + "?" + queryString;
        hyperlink.href = finalurl;
    }
    catch (err) {
        alert("Following problem occured, something must be wrong with your browser's javascript processing capabilities.\n" + err.toString());
    }
}


