/*************************************************************************\
	Check Credit Card Details
\*************************************************************************/
function CheckCardDetails(form) {
var tmpyear;
var tmpmonth;
//	checkCreditCard(form.CardNumber,form.CardType);
  if (!isBlank(form.CardNumber.value)){
    if (!isNum(form.CardNumber.value)){
		alert("The Card No should be all numbers. Please re-enter and submit.");
		form.CardNumber.focus();
		return false;
	}
	/*if (!lengthOfcardno(form.CardNumber.value)){
		alert("Length of card should be 16 digits");
		form.CardNumber.focus();
		return false;
	}*/
   if (!isBlank(form.ExpMon.options[form.ExpMon.selectedIndex].value)){
		tmpmonth = form.ExpMon.options[form.ExpMon.selectedIndex].value;
   if (!isBlank(form.ExpYear.value)){ 
		if (form.ExpYear.value > 96)
			tmpyear = "19" + form.ExpYear.value;
		else if (form.ExpYear.value < 20)
			tmpyear = "20" + form.ExpYear.value;
		else {
		alert("The Expiration Year is not valid.");
			 form.ExpYear.focus();
			return false;
	  }
	if (!isExpiryDate(tmpyear, tmpmonth)) {
		alert("This card has already expired.");
		form.ExpMon.focus();
		return false;
	}// end of if
 } //end of chking ExpYear
  }// end of chk if ExpMon exist 
 } //end of checking if cardno is blank
 return true;
}// end of main function CheckCardDetails

function isNum(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }


/*************************************************************************\   
Boolean lengthofcardno(fieldname)
return true if the length of card is 16, else return false
\*************************************************************************/
function lengthOfcardno(fieldname)
{
	var fieldval = fieldname;
	if( fieldval.length <16) {
		return false;
	}
	else {
		return true;
	}
}
/*************************************************************************\
boolean isExpiryDate([int year, int month])
return true if the date is a valid expiry date,
else return false.
\*************************************************************************/
function isExpiryDate() {
var argv = isExpiryDate.arguments;
var argc = isExpiryDate.arguments.length;

year = argc > 0 ? argv[0] : this.year;
month = argc > 1 ? argv[1] : this.month;
if (!isNum(year+""))
return false;
if (!isNum(month+""))
return false;
today = new Date();
expiry = new Date(year, month);
if (today.getTime() > expiry.getTime())
return false;
else
return true;
}

