function GetXmlHttpObject()
{
    var xmlHttp=null;
    try
    {
        // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {
        // Internet Explorer
        try
        {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}

function addToCart(sku)
{
    xmlHttp = GetXmlHttpObject();
    var url="/scripts/mini_cart.php?add=" + sku;

    xmlHttp.onreadystatechange = updateCart;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}

function addProductToCart(theForm)
{
    xmlHttp = GetXmlHttpObject();
    var url     ="/scripts/mini_cart.php";
    var data    = "action=add&sku=" + theForm.sku.value + "&qty=" + theForm.qty.value ;

    if (theForm.eng)
    {
        if (theForm.eng.checked)
        {
            var fonts = new Array();
            var lines = new Array();
            var picts = new Array();
            var l = 0;
            var f = 0;
            var p = 0;

            for(i=0; i<theForm.elements.length; i++)
            {
                if(theForm.elements[i].name == "text_obv[]")
                {
                    lines[l] = "text_obv[]=" + escape(theForm.elements[i].value);
                    l++;
                }
                if(theForm.elements[i].name == "text_rev[]")
                {
                    lines[l] = "text_rev[]=" + escape(theForm.elements[i].value);
                    l++;
                }

                if(theForm.elements[i].name == "font_obv")
                {
                    fonts[f] = "font_obv=" + getCheckedValue(theForm.font_obv);
                    f++;
                }
                if(theForm.elements[i].name == "font_rev")
                {
                    fonts[f] = "font_rev=" + getCheckedValue(theForm.font_rev);
                    f++;
                }

                if(theForm.elements[i].name == "img_obv")
                {
                    if (theForm.elements[i].value != '')
                    {
                        picts[f] = "img_obv=" + escape(theForm.elements[i].value);
                        f++;
                    }
                }
                if(theForm.elements[i].name == "img_rev")
                {
                    if (theForm.elements[i].value != '')
                    {
                        picts[f] = "img_rev=" + escape(theForm.elements[i].value);
                        f++;
                    }
                }
            }

            var font = fonts.join("&");
            var text = lines.join("&");

            data = data + "&eng=1&"+font+"&"+text;

            if (picts.length > 0)
            {
                data = data + "&" + picts.join("&");
            }
        }
    }

    xmlHttp.onreadystatechange = updateCart;
    xmlHttp.open("POST",url,true);
    xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlHttp.send(data);

    return false;
}

function removeFromCart(id)
{
    xmlHttp = GetXmlHttpObject();
    var url="/scripts/mini_cart.php?del=" + id;

    xmlHttp.onreadystatechange = updateCart;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}

function emptyCart(id)
{
    xmlHttp = GetXmlHttpObject();
    var url="/scripts/mini_cart.php?action=empty";

    xmlHttp.onreadystatechange = updateCart;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}

function showCart()
{
    xmlHttp = GetXmlHttpObject();
    var url="/scripts/mini_cart.php";

    xmlHttp.onreadystatechange = updateCart;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}

function updateCart()
{
    if (xmlHttp.readyState==4)
    {
        document.getElementById("mini_cart").innerHTML = xmlHttp.responseText;
    }
}

function confirm_entry()
{
    input_box=confirm("You will now be redirected to the main Northwest Territorial Mint website to complete your order.");
    if (input_box==true)
    {
        return(true);
    }

    else
    {
        return(false);
    }
}

function URLEncode (clearString) {
  var output = '';
  var x = 0;
  clearString = clearString.toString();
  var regex = /(^[a-zA-Z0-9_.]*)/;
  while (x < clearString.length) {
    var match = regex.exec(clearString.substr(x));
    if (match != null && match.length > 1 && match[1] != '') {
        output += match[1];
      x += match[1].length;
    } else {
      if (clearString[x] == ' ')
        output += '+';
      else {
        var charCode = clearString.charCodeAt(x);
        var hexVal = charCode.toString(16);
        output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
      }
      x++;
    }
  }
  return output;
}

