function validatetotalfield(f) {
var valid = "0123456789."
var ok = "yes";
var temp;
for (var i=0; i<f.InvoiceAmount.value.length; i++) {
temp = "" + f.InvoiceAmount.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("Invalid entry! Please only use numbers in the Invoice Amount field!");
f.InvoiceAmount.value = "";
f.Surcharge.value = "";
f.Amount.value = "";
f.InvoiceAmount.focus();
f.InvoiceAmount.select();
return false;
   }
   return true;
}
function round(num, d) { 
		   n = Math.pow(10, !d ? 2 : d);
		   return Math.round(num*n) / n;
}

function checkSurcharge(f){
 if(validatetotalfield(f)){
  if((f.CardType.value == "MC")||(f.CardType.value == "VISA")||(f.CardType.value == "AMEX")){
   f.Surcharge.value = round((parseFloat(f.InvoiceAmount.value) / 100) * 3,2);
   f.Amount.value = round(parseFloat(f.InvoiceAmount.value) + parseFloat(f.Surcharge.value),2);
  }else{
   f.Surcharge.value = 0;
   f.Amount.value = f.InvoiceAmount.value;
  }
 }
}

function dropdown_validator(f)
{
	if (f.CardType.value == "NONE")
	{
		alert("Please selected a Card Type.");
		f.CardType.focus();
		return (false);
	}
	return (true);
}

function IsNumeric(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;
}

function cardLogo ( img_name, img_src ) 
{
	document[img_name].src = img_src;
}

function check_card(f)
{
	var card = document.getElementById("CardNumber");

	var visa = card.value.slice(0,1);
	var mc = card.value.slice(0,2);
	var rest = card.value.slice(0,4);

	if ( rest == 6334 || rest == 6767 ) { cardLogo( 'cards_logo', 'images/cards/solo.gif'); }
	else if ( rest == 5020 || rest == 5038 || rest == 6304 || rest == 6759 ) { cardLogo( 'cards_logo', 'images/cards/maestro.gif'); }
	else if ( mc == 51 || mc == 52 || mc == 53 || mc == 54 || mc == 55 ) { cardLogo( 'cards_logo', 'images/cards/mc.gif'); }
	else if ( rest == 4903 || rest == 4905 || rest == 4543 || rest == 4911 || rest == 4936 ) { cardLogo( 'cards_logo', 'images/cards/visa_debit.gif'); }
	else if ( rest == 4175 || rest == 4917 || rest == 4913 || rest == 4508 || rest == 4844 ) { cardLogo( 'cards_logo', 'images/cards/visa_electron.gif'); }
	else if ( visa == 4 ) { cardLogo( 'cards_logo', 'images/cards/visa.gif' ); }
	else { cardLogo( 'cards_logo', 'images/pix.gif' ); }
	
	if ( !IsNumeric(card.value) && card.value.length > 0 ) { cardLogo( 'cards_logo', 'images/icons/caution.gif' ); }
}

