﻿
function UpdateCartQuantity()
{
	var params = "";
	var inputs = document.getElementsByName("cartItemQuantity");

	for(var n = 0; n < inputs.length; n++)
	{
	    //alert(inputs[n].id + "=" + inputs[n].value + "&");
		params += inputs[n].id + "=" + inputs[n].value + "&";
	}
	params += "cmd=cartUpdate";
	SendUpdateCartData(params);
}

function UpdateCartPermutations() {

    //alert("got here");

    var params = "";
    var selects = document.getElementsByTagName("select");
    for (var s=0; s<selects.length; s++) {
        var sel = selects[s];
        if (sel.className=="PermutationSelect") {
            var value = sel.options[sel.selectedIndex].value;
            params += sel.id + "=" + value + "&";
        }    
    }
    params += "cmd=setPermutations";
    
    //alert(params);
    
    SendUpdateCartData(params);
    //alert(params);
}

// Modified by IG 18/06/2009
function AddToCartAndPermutations(productId)
{           
    var params = "";
    
    var hasChoice = false;
    
    var selects = document.getElementsByTagName("select");
    
    var intBlank = 0;
    for (var s=0; s<selects.length; s++) {
        var sel = selects[s];

        if (sel.className=="PermutationSelectSingle"){
        
            // Modified by IG 22/06/2009
            var value = sel.options[sel.selectedIndex].value;

            params += sel.id + "=" + value + "&";

            
           // alert(sel.id + " - " + value);
           if (value == -1)
           {
           intBlank = intBlank + 1;
           }
           
        }  
            
    }
    
          if (intBlank > 0)
           {
           alert("Must select product options");
           return;
           }

    
    params += "cmd=cartAddAndPermutations&" + "prodid=" + productId;
    //whole += "cmd=cartAddAndPermutations&" + "prodid=" + productId;

	//alert(params);
	
	//alert(hasNumber(params));
	
	if (hasNumber(params) == false)
	{
	    SendUpdateCartData(params);
	}
	else
	{
	    alert("must choose a permutation");
	}
	
}

// Modified by IG 22/06/2009
// check if string has the number 9999 in it
function hasNumber(t)
{
var regex = /\9999/g;
return regex.test(t);
}

////////////////////////////////////////////////
function setCookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    {
    c_start=c_start + c_name.length+1;
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    }
  }
return "";
}
////////////////////////////////////////////////

function EmptyCart(msg)
{
	if(confirm(msg))
	{
		SendUpdateCartData("cmd=cartDel&");
	}
}
function ScrollToBasket()
{
	cCart.scrollIntoView();
	//firefox v. resize fix:
	cCart.style.height = "1px";
	window.setTimeout(PostResizecart, 1);
}

function PostResizecart()
{
	cCart.style.height = "";
}

function AddToCart(productId)
{
	var params = productId + "=" + 1 + "&cmd=cartAdd&";
	SendUpdateCartData(params);
}

//var addingToCart = false;
function SendUpdateCartData(params)
{
    //alert(params);
	var ajax = new GuruAsp.System.AjaxRequest("", CartReceived, "POST");
	ajax.mUrl = "ajax_cart.aspx?" + document.getElementById("hdnCurrentQString").value;
	
	//alert(params);
	
	ajax.mParams = params;		
	ajax.Submit();
}

function CartReceived(ajaxObj)
{
	//alert(resp.responseText);
	var text = ajaxObj.GetText();
	//trim white space from begining
	var re  = new RegExp("^[\\s]*");
	text = text.replace(re, "");
	var elem = document.createElement("div");
	elem.innerHTML = text;

    //cCart.innerHTML = "";
	//cCart.appendChild(elem.childNodes[1]); //cart content
	
	cContent.innerHTML = "";
	cContent.appendChild(elem.childNodes[1]); //cart content
	
	// Modified by IG 01/05/2009
	document.getElementById("cartItemsText").innerHTML = elem.childNodes[0].innerHTML + " - Items";
	//document.getElementById("cartItemsText").innerHTML = elem.childNodes[0].innerHTML;
	
	//scroll to cart
	//ScrollToBasket();
}

function IncreaseQuantity(sender)
{
	//alert(sender);
	sender.parentNode.parentNode.childNodes[1].childNodes[0].value++;
	//alert("increase - " + sender.parentNode.parentNode.childNodes[1].childNodes[0].value);

    // Modified by IG 03/06/2009
    // to stop them clciking the button twice
    //scroll(0,0);
//      var outerPane = document.getElementById('FreezePane');
//      var innerPane = document.getElementById('InnerFreezePane');
//      if (outerPane) outerPane.className = 'FreezePaneOn';
//      if (innerPane) innerPane.innerHTML = "<small style='display: none; color: blue;'>processing...</span>";

    
	
	UpdateCartQuantity();
}

function DecreaseQuantity(sender)
{
    //alert(sender);
	sender.parentNode.parentNode.childNodes[1].childNodes[0].value--;  
	//alert("decrease - " + sender.parentNode.parentNode.childNodes[1].childNodes[0].value);

    // Modified by IG 03/06/2009
    // to stop them clciking the button twice
    //scroll(0,0);
//      var outerPane = document.getElementById('FreezePane');
//      var innerPane = document.getElementById('InnerFreezePane');
//      if (outerPane) outerPane.className = 'FreezePaneOn';
//      if (innerPane) innerPane.innerHTML = "<small style='display: none; color: blue;'>processing...</span>";
	
	UpdateCartQuantity();
}

function GetShoppingCart()
{
	SendUpdateCartData("cmd=getCart&");
}
