﻿var gMiniSites = []
gMiniSites["US"] = "10020"
gMiniSites["CA"] = "10041"

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function getCurrentSite()
{
    var site = readCookie("gbc_site")
    if (site == null)
        site = "US"

    return site
}function validateQuantity(snum)
{
    return /^((\+)\d)?\d*$/.test(snum)
}
function addOne2iStoreCart(sku,quantity,uom)
{
    var cart = new iStoreCart()
    cart.addItem(sku,quantity,uom)
    cart.submit()
}
function add2iStoreCart(suffix)
{
    if (suffix == null)
        suffix = ""

    var cart = new iStoreCart()

    var idx = 0
    var nAdded = 0
    while (true)
    {
        var tdSku = document.getElementById("txtItem" + suffix + idx)
        var txtQuantity = document.getElementById("txtQuantity" + suffix + idx)
        if (tdSku == null || txtQuantity == null)
            break;
        if (txtQuantity.value.length > 0)
        {
            if (validateQuantity(txtQuantity.value))
                cart.addItem(tdSku.innerHTML, txtQuantity.value,document.getElementById("txtUom" + suffix + idx).innerHTML)
            else
            {
                alert ("Please enter a valid quantity.")
                txtQuantity.focus()
                return
            }
        }
        idx++
    }
    cart.submit()
}

iStoreCart = function() 
{
    this.skus = [];
    this.quantities = [];
    this.uoms = [];
}

iStoreCart.prototype =
{
    addItem: function(sku, quantity, uom)
    {
        this.skus[this.skus.length] = sku;
        this.quantities[this.quantities.length] = quantity;
        this.uoms[this.uoms.length] = uom;
    },
    addFormField: function(cartForm,name,value)
    {
        var aElement = document.createElement("input")
        aElement.setAttribute("type", "hidden")
        aElement.setAttribute("name", name)
        aElement.setAttribute("value", value)
        cartForm.appendChild(aElement)
    },
    getRef: function()
    {
        var url = location.href
        var idx = url.indexOf('addToCart=')
        if (idx > 10)
            url = url.substring(0, idx - 1)
        var x = document.getElementsByTagName('span')
        if (x != null)
        {
            for (var i = 0; i < x.length; i++)
            {
                if (x[i].id != null && x[i].id.indexOf('lblSearchWords')>=0)
                {
                    if (url.indexOf('?') > 0)
                        url += "&txtSearchWords=" + x[i].innerHTML
                    else
                        url += "?txtSearchWords=" + x[i].innerHTML
                    break
                }
            }
        }
        return url
    },
	submit: function()
	{
	    if (this.skus.length > 0)
	    {
            var cartForm = document.xCartForm
            cartForm.action = gIStoreCartURL
            while (cartForm.lastChild != null)
                cartForm.removeChild(cartForm.lastChild)
                
            this.addFormField(cartForm,"minisite",gMiniSites[getCurrentSite()])
            this.addFormField(cartForm,"num",this.skus.length)
            for (var i = 0; i < this.skus.length; i++)
            {  
                this.addFormField(cartForm,"item_" + i,this.skus[i])
                this.addFormField(cartForm,"qty_" + i,this.quantities[i])
                this.addFormField(cartForm,"uom_" + i,this.uoms[i])
            }
            this.addFormField(cartForm,"ref",this.getRef())
            cartForm.submit()
	    }
	}
}