// calculate the ASCII code of the given character
function CalcKeyCode(aChar) {
  var character = aChar.substring(0,1);
  var code = aChar.charCodeAt(0);
  return code;
}

function checkNumber(val) {
  var strPass = val.value;
  var strLength = strPass.length;
  var lchar = val.value.charAt((strLength) - 1);
  var cCode = CalcKeyCode(lchar);
alert("here");
  /* Check if the keyed in character is a number
     do you want alphabetic UPPERCASE only ?
     or lower case only just check their respective
     codes and replace the 48 and 57 */

  if (cCode < 48 || cCode > 57 ) {
    var myNumber = val.value.substring(0, (strLength) - 1);
    val.value = myNumber;
  }
  return false;
}

function ValidateCardForm(form) {
  var fldname;
  var fld;
  var trimmed;
  var qty_entered = form.quantity.value;
  
  // set empty item quantity fields to 0
  for (i=1; i<=9; i++) {
    fldname = 'os'+i;
	fld = document.getElementById(fldname);
	trimmed = fld.value.trim();
	if (trimmed.length==0) {
		fld.value = 0;
	}
  }
  
  if (qty_entered < 10) {
	  form.quantity.style.backgroundColor = "red";
	  alert('Minimum order quantity is 10.'); 
      //form.quantity.focus(); 
      return false;
  } else {
      return true;
  } 
}

function UpdateCost() {
  var qty_sum = 0;
  var card_cost = 0;
  var fldname, elem, qty_fld;
  var selObj = document.getElementById('os0');
  
  // sum item quantities
  for (i=1; i<=9; i++) {
    fldname = 'os'+i;
    elem = document.getElementById(fldname);
	qty_sum += Number(elem.value); 
	//alert(qty_sum);
  }
  
  //document.getElementById('quantity').value = qty_sum.toFixed(0);
  // set total quantity field value to sum
  qty_fld = document.getElementById('quantity');
  qty_fld.style.backgroundColor = "white";
  qty_fld.value = qty_sum.toFixed(0);

	// calculate total cost of items based on quantity
	if (qty_sum == 10) {
		card_cost = 1.5 * qty_sum;
		selObj.selectedIndex = 0;
	} else if (qty_sum >= 11 && qty_sum <= 30) {
		card_cost = 1.4 * qty_sum;
		selObj.selectedIndex = 1;
	} else if (qty_sum >= 31 && qty_sum <= 50) {
		card_cost = 1.35 * qty_sum;
		selObj.selectedIndex = 2;
	} else if (qty_sum >= 51 && qty_sum <= 100) {
		card_cost = 1.30 * qty_sum;
		selObj.selectedIndex = 3;
	} else if (qty_sum > 100) {
		card_cost = 1.25 * qty_sum;
		selObj.selectedIndex = 4;
	}
	
	if (card_cost > 0 ) {
		document.getElementById('cost').value = card_cost.toFixed(2);
		//alert(card_cost);
	} else {
		document.getElementById('cost').value = "";
	}
} 


String.prototype.trim = function() {
  return this.replace(/^\s+|\s+$/g, "");
}


function IsMessageEmpty(form) {
   var trimmed = form.message.value.trim();
   if (trimmed.length==0) {
      alert('You have not entered a message.') 
      form.message.focus(); 
      return false; 
   }
   else { return true; }
}

function IsEmpty(aTextField) {
   var trimmed = aTextField.value.trim();
   if (trimmed.length==0) {
      return true;
   }
   else { return false; }
}

function isPositiveInteger(val){
      if(val==null){return false;}
      if (val.length==0){return false;}
      for (var i = 0; i < val.length; i++) {
            var ch = val.charAt(i)
            if (ch < "0" || ch > "9") {
            	return false;
            }
      }
	  return true;;
}
	
function ValidateForm(form)
{
   
   if(IsEmpty(form.quantity)) 
   { 
      alert('You have not entered a quantity number.'); 
      form.quantity.focus(); 
      return false; 
   } 
 
   if (!isPositiveInteger(form.quantity.value)) 
   { 
      alert('Please enter only numbers in the quantity field.'); 
      form.quantity.focus(); 
      return false; 
   } 
 
   var sel_msg = "";
   var in_range = false;
   var qty_entered = form.quantity.value;
   var sel = form.os0.value;
   var qty_sel=sel.split(" ");

   if (qty_sel[0] == "1") {
	   /* set max range value to 1 */
	   qty_sel[2] = "1";
	   sel_msg = " (1 book)";
   } else if (qty_sel[0] == "100+") {
	   qty_sel[0] = "101";
	   /* set upper limit flag to 500 */
	   qty_sel[2] = "500";
	   sel_msg = " (100+ books)";
   } else {
	   sel_msg = " (" + qty_sel[0] + " " + qty_sel[1] + " " + qty_sel[2] + " books)";
   }
   var minimum = parseInt(qty_sel[0]);
   var maximum = parseInt(qty_sel[2]);
   
   if (qty_entered >= minimum) {
	   /*if upper limit flag */
	   if (maximum != 500) {
	       if (qty_entered <= maximum) {
   		     in_range = true;
	       } else {
			 in_range = false;
		   }
	   } else {
		   in_range = true;
	   }
   } else {
	   in_range = false;
   }

   if (in_range) {
	   return true;
   } else {
	   alert('Enter quantity within the selected range ' +  sel_msg + '.');
	   form.quantity.focus();
	   return false;
   }
}

function ValidateCardFormOLD(form, prod_type)
{
   var no_upper_bound = -1;
   
   if(IsEmpty(form.quantity)) 
   { 
      alert('You have not entered a quantity number.'); 
      form.quantity.focus(); 
      return false; 
   } 
 
   if (!isPositiveInteger(form.quantity.value)) 
   { 
      alert('Please enter only numbers in the quantity field.'); 
      form.quantity.focus(); 
      return false; 
   } 
 
   var sel_msg = "";
   var in_range = false;
   var qty_entered = form.quantity.value;
   var sel = form.os0.value;
   if (sel == "Select Volume Discount...") {
	   alert('Please select the pricing range that fits the desired quantity.');
	   form.os0.focus();
	   return false;
   }
   
   var qty_sel = sel.split(" ");

   if (qty_entered < 10) {
	  alert('Minimum order quantity is 10 ' + prod_type + '.'); 
      form.quantity.focus(); 
      return false; 
   } else if (qty_sel[0] == "10") {
	   /* set max range value to 10 */
	   qty_sel[2] = 10;
	   sel_msg = " (10 cards)";
   } else if (qty_sel[0] == "100+") {
	   qty_sel[0] = 101;
	   /* set upper limit flag to 10000 */
	   qty_sel[2] = no_upper_bound;
	   sel_msg = " (100+ " + " " + prod_type + ")";
   } else {
	    sel_msg = " (" + qty_sel[0] + " " + qty_sel[1] + " " + qty_sel[2] + " " + prod_type + ")";
   }
   var minimum = parseInt(qty_sel[0]);
   var maximum = parseInt(qty_sel[2]);
   
   if (qty_entered >= minimum) {
	   /*if not upper limit flag */
	   if (maximum != no_upper_bound) {
	       if (qty_entered <= maximum) {
   		     in_range = true;
	       } else {
			 in_range = false;
		   }
	   } else {
		   in_range = true;
	   }
   } else {
	   in_range = false;
   }

   if (in_range) {
	   return true;
   } else {
	   alert('Enter quantity within the selected range ' +  sel_msg + '.');
	   form.quantity.focus();
	   return false;
   }
}



