function submitMultipleAddToBasket(f) {
	var ProductCodeList = ""
	var QuantityList = ""

	if(f.quantity.length>1) {
		for (var i=0;i<f.quantity.length;i++) {
			if (isValidQty(f.quantity[i])) { 
				QuantityList += f.quantity[i].value + ","
				ProductCodeList += f.productCode[i].value + ","
			} 		
		}
		if (isBlank(QuantityList)) {
			alert('Please enter valid quantities');
			return false;
		}
	}
	else {
		if (!(f.quantity.value>0)) {
			f.quantity.value=1;	
			return true;
		}
	}

	// remove trailing comma
	if (ProductCodeList.length > 0) {
		ProductCodeList = ProductCodeList.substring(0,ProductCodeList.length-1)
		QuantityList = QuantityList.substring(0,QuantityList.length-1)
		f.ProductCodeList.value = ProductCodeList
		f.QuantityList.value = QuantityList
		return true
	}
}

function CompareProduct(c) {
	var intPos
	intPos = document.ProductCompare.ProductCodes.value.indexOf(c.value + "|")
	if (intPos > -1 ) {
		document.ProductCompare.ProductCodes.value = document.ProductCompare.ProductCodes.value.replace(c.value + "|","");
	} else {
		var arrProductCodes;
		arrProductCodes = document.ProductCompare.ProductCodes.value.split("|");
		if (arrProductCodes.length > 4) {
			alert("Only 4 products can be compared at any one time");
			c.checked = false;
		} else {
			document.ProductCompare.ProductCodes.value = document.ProductCompare.ProductCodes.value + c.value + "|"
		}
	}
}

function SubmitProductCompare() {
	var arrProductCodes;
	arrProductCodes = document.ProductCompare.ProductCodes.value.split("|");
	if (arrProductCodes.length <= 2) {
		alert("Please choose a minimum of 2 products to compare");
	} else {
		document.ProductCompare.submit();
	}
}

function CompareProductAddToBasket(q) {
	alert(q);
}

function PageProductCompare(strUrl) {
	location.href = strUrl + '&ppc=' + document.ProductCompare.ProductCodes.value
	return false;
}


function SendQuickShopRequest(strLayerId, strProductCode, pF) {
	if ((strProductCode != '') && (strProductCode != ' ')){
		var strURL, strResponse;
		strURL = strRoot + "/products/FastOrderCheckProduct.asp?productCode=" + strProductCode;

		var http = getXMLHttpRequest()

		http.onreadystatechange = function() {AjaxHTMLResponseQuickShop(http, strLayerId, pF)};

		//--- Add random to break caching ---//
		strURL += (strURL.indexOf("?")>0)?"&":"?";
		strURL += "rnd=" + Math.random();

		http.open("GET", strURL);
		http.setRequestHeader("Content-type", "text/html");
		http.send(null);			
	}
	else {
		document.getElementById(strLayerId).innerHTML = "&nbsp;";
		pF.validDescription.value= '0';
	}
}

function MultipleProductCheck(numOfProducts){
	oneChecked = false;		
	for(var i = 1;i<numOfProducts + 1;i++){
		pF = eval('document.forms.productForm' + i)		
		if((pF.productCode.value != '')&&(pF.productCode.value != ' ')){
			SendQuickShopRequest('productDescription' + i, pF.productCode.value,pF)
			oneChecked = true;
		}	
	}
	if (!oneChecked) alert("Please enter a Product Code to check")
}

function QuickShopMultipleAddToBasket(f,numOfProducts){  
	var productCodes = '';
	var quantities = '';
	var referPageURL = 'fastOrder';
	
	for(var i = 1;i<numOfProducts + 1;i++)
	{
		pF = eval('document.forms.productForm' + i)
		
		if (pF.productCode.value != '' && pF.validDescription.value =='1')
		{				
			if(pF.quantity.value > 0 && !pF.quantity.disabled){
				productCodes += " " + pF.productCode.value + ","
				quantities += " " + pF.quantity.value + ","	
			}
			else {
			    alert('Please set a minimum quantity of 1 for each product');
			    return false;
			}
		}
		else if ((pF.productCode.value != '')&&(pF.productCode.value != ' ')){
			alert('Not all product codes are valid');
			return false;
		}
	}
	
	productCodes = productCodes.substr(0,productCodes.length-1);
	quantities = quantities.substr(0,quantities.length-1);
				    				    							    
	if (productCodes == '')
	{
		alert('Please enter at least one product code and a valid quantity in order to add to your basket')
		return false;
	}
	else
	{	    
	    f.productCode.value = productCodes;
		f.quantity.value = quantities;
		f.referPageURL.value = referPageURL;
		f.submit();
		return true;
	}
}

function QuickShopClear(f,numOfProducts){ 	
	for(var i = 1;i<numOfProducts + 1;i++)
	{   
	    pid = 'productDescription' + i
	    document.getElementById(pid).innerHTML = '&nbsp;';
   	    
   	    // pid = 'productStock' + i
	    // document.getElementById(pid).innerHTML = '&nbsp;';
	    
	    pF = eval('document.forms.productForm' + i)
	    pF.validDescription.value = '0';
	    pF.quantity.value = '';
	   	pF.productCode.value = '';
    }
}

function AjaxHTMLResponseQuickShop(http, sPageElement, pF){      
	if (http.readyState == 4) {
		var sHTML = http.responseText;
		
		if(http.status == 200) { 
		    if (sHTML == '0') {
			    pF.validDescription.value= '0';
			    sHTML = 'Sorry, you have entered an invalid product code please try again.'
		    }
		    else {
			    pF.validDescription.value= '1';
		    }
		} 
		else {
			//for debugging
            //sHTML = 'Sorry, there was a problem adding your products to your basket please try again.';
		}
		document.getElementById(sPageElement).innerHTML = sHTML.split("||")[0];

        /*
		if (sHTML.split("||")[1] == "0") {
		    document.getElementById(sPageElement.replace("Description", "Stock")).innerHTML = "<img src=\"images/products/delivery/48hr_delivery.gif\" border=\"0\" />";		
		}
		else if (sHTML.split("||")[1] == undefined) {		    
		    document.getElementById(sPageElement.replace("Description", "Stock")).innerHTML = "&nbsp;";		
	    }
		else {
		    document.getElementById(sPageElement.replace("Description", "Stock")).innerHTML = "In Stock";		
		}
		*/		
	}
}

function checkEnter(e,f,n){  
    var characterCode 
    var intKey 
    if(e && e.which){ //if which property of event object is supported (NN4)
        e = e
        characterCode = e.which //character code is contained in NN4's which property
    }
    else{
        e = event
        characterCode = e.keyCode //character code is contained in IE's keyCode property
    }
    if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
           f.quantity.focus()
           //QuickShopMultipleAddToBasket(document.MultipleAddToBasket,n)            
        return false 
    }
    else{
        return true 
    }
}
