﻿function updateCart(nField, nCode)
{
  var cartForm = eval("document.form1." + nField);
  
  var pCnt = cartForm.value;
    
  if (isNaN(pCnt))
  {
    alert('Please enter numeric value only');
    return false;
  }
  else  
  {  
    location.href = "/basketAction.aspx?pcnt=" + pCnt + "&action=update&CODE=" + URLEncode(nCode);
	}
}

function deleteCart(nCode)
{
  if (confirm ("Are you sure to remove this product?"))
  {
		   location.href = "/basketAction.aspx?action=delete&CODE=" + URLEncode(nCode);
	}
	else
	{
	  return false;
	}
}

function URLEncode(str)
{
  // The Javascript escape and unescape functions do not correspond
  // with what browsers actually do...
  var SAFECHARS = "0123456789" +					// Numeric
				  "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
				  "abcdefghijklmnopqrstuvwxyz" +
				  "-_.!~*'()";					// RFC2396 Mark characters
  var HEX = "0123456789ABCDEF";

  var plaintext = str;
  var encoded = "";
  for (var i = 0; i < plaintext.length; i++ ) {
	  var ch = plaintext.charAt(i);
      if (ch == " ") {
	      encoded += "+";				// x-www-urlencoded, rather than %20
	  } else if (SAFECHARS.indexOf(ch) != -1) {
	      encoded += ch;
	  } else {
	      var charCode = ch.charCodeAt(0);
		  if (charCode > 255) {
		      alert( "Unicode Character '" 
                        + ch 
                        + "' cannot be encoded using standard URL encoding.\n" +
			            "(URL encoding only supports 8-bit characters.)\n" +
					    "A space (+) will be substituted." );
			  encoded += "+";
		  } else {
			  encoded += "%";
			  encoded += HEX.charAt((charCode >> 4) & 0xF);
			  encoded += HEX.charAt(charCode & 0xF);
		  }
	  }
  } // for

  return encoded;
}