//CHECK FIELDS

function checkFields(formObj)
{
	if (!checkFirstName(formObj)) { return false; };
	if (!checkLastName(formObj)) { return false; };
	if (!checkStreet(formObj)) { return false; };
	if (!checkCity(formObj)) { return false; };
	if (!checkState(formObj)) { return false; };
	if (!checkZIP(formObj)) { return false; };
	if (!checkHomePhone(formObj)) { return false; };
	if (!checkEmail(formObj)) { return false; };
	
	if (!checkPaymentType(formObj)) { 
		return false; 
	} else if (formObj.paymentType.value == "Credit Card") {
		if (!checkccFirstName(formObj)) { return false; };
		if (!checkccLastName(formObj)) { return false; };		
		
		if (!formObj.same.checked) {
			if (!checkccStreet(formObj)) { return false; };
			if (!checkccCity(formObj)) { return false; };
			if (!checkccState(formObj)) { return false; };
			if (!checkccZIP(formObj)) { return false; };
		}
	
		if (!checkccType(formObj)) { return false; };
		if (!checkccNum(formObj)) { return false; };
		if (!checkccExpMonth(formObj)) { return false; };
		if (!checkccExpYear(formObj)) { return false; };
		if (!checkccAuthNum(formObj)) { return false; };
	}

	if (!checkInternet(formObj)) { return false; };	
}

function checkOrderFields(formObj)
{
	if (!checkFirstName(formObj)) { return false; };
	if (!checkLastName(formObj)) { return false; };
	if (!checkStreet(formObj)) { return false; };
	if (!checkCity(formObj)) { return false; };
	if (!checkState(formObj)) { return false; };
	if (!checkZIP(formObj)) { return false; };
	if (!checkHomePhone(formObj)) { return false; };
	if (!checkEmail(formObj)) { return false; };
	if (!checkccFirstName(formObj)) { return false; };
	if (!checkccLastName(formObj)) { return false; };		
	
	if (!formObj.same.checked) {
		if (!checkccStreet(formObj)) { return false; };
		if (!checkccCity(formObj)) { return false; };
		if (!checkccState(formObj)) { return false; };
		if (!checkccZIP(formObj)) { return false; };
	}

	if (!checkccType(formObj)) { return false; };
	if (!checkccNum(formObj)) { return false; };
	if (!checkccExpMonth(formObj)) { return false; };
	if (!checkccExpYear(formObj)) { return false; };
	if (!checkccAuthNum(formObj)) { return false; };
}

//MODULAR FUNCTIONS

function checkFirstName(formObj){
	if (formObj.fName.value.length == 0){
		alert("\nPlease enter a first name.");
		formObj.fName.focus();
		formObj.fName.select();
		return false;
	} else {
		return true;
	}
}

function checkccFirstName(formObj){
	if (formObj.ccFName.value.length == 0){
		alert("\nPlease enter the cardholder's first name.");
		formObj.ccFName.focus();
		formObj.ccFName.select();
		return false;
	} else {
		return true;
	}
}

function checkLastName(formObj){
	if (formObj.lName.value.length == 0){
		alert("\nPlease enter a last name.");
		formObj.lName.focus();
		formObj.lName.select();
		return false;
	} else {
		return true;
	}
}

function checkccLastName(formObj){
	if (formObj.ccLName.value.length == 0){
		alert("\nPlease enter the cardholder's last name.");
		formObj.ccLName.focus();
		formObj.ccLName.select();
		return false;
	} else {
		return true;
	}
}

function checkStreet(formObj){
	if (formObj.street.value.length == 0){
		alert("\nPlease enter a street address.");
		formObj.street.focus();
		formObj.street.select();
	} else {
		return true;
	}
}

function checkccStreet(formObj){
	if (formObj.ccStreet.value.length == 0){
		alert("\nPlease enter the cardholder's street address.");
		formObj.ccStreet.focus();
		formObj.ccStreet.select();
	} else {
		return true;
	}
}

function checkCity(formObj){
	if (formObj.city.value.length == 0){
		alert("\nPlease enter a city.");
		formObj.city.focus();
		formObj.city.select();
	} else {
		return true;
	}
}

function checkccCity(formObj){
	if (formObj.ccCity.value.length == 0){
		alert("\nPlease enter the cardholder's city.");
		formObj.ccCity.focus();
		formObj.ccCity.select();
	} else {
		return true;
	}
}

function checkState(formObj){
	if (formObj.state.value.length < 2){
		alert("\nPlease select a state.");
		formObj.state.focus();
	} else {
		return true;
	}
}

function checkccState(formObj){
	if (formObj.ccState.value.length < 2){
		alert("\nPlease select the cardholder's state.");
		formObj.ccState.focus();
	} else {
		return true;
	}
}

function checkZIP(formObj){
	if (formObj.zip.value.length < 5){
		alert("\nPlease enter a zip code.");
		formObj.zip.focus();
		formObj.zip.select();
	} else {
		return true;
	}
}


function checkccZIP(formObj){
	if (formObj.ccZip.value.length < 5){
		alert("\nPlease enter the cardholder's zip code.");
		formObj.ccZip.focus();
		formObj.ccZip.select();
	} else {
		return true;
	}
}

function checkHomePhone(formObj){
	if (formObj.hPhone.value.length < 7 ){
		alert("\nPlease enter a phone number.");
		formObj.hPhone.focus();
		formObj.hPhone.select();
	} else {
		return true;
	}
}

function checkEmail(formObj){
	if (formObj.email.value.length == 0){
		alert("\nPlease enter an E-Mail address.");
		formObj.email.focus();
		formObj.email.select();
	} else if ((formObj.email.value.length != 0) && (formObj.email.value.indexOf("@")==-1 || formObj.email.value.indexOf(".")==-1 || formObj.email.value.indexOf(" ")!=-1 || formObj.email.value.length<7)){
		alert("\nSorry, the email address is not valid.");
		formObj.email.focus();
		formObj.email.select();
	} else {
		return true;
	}
}

function checkPaymentType(formObj){
	if (formObj.paymentType.value.length < 1){
		alert("\nPlease enter a payment type.");
		formObj.paymentType.focus();
	} else {
		return true;
	}
}

function checkccType(formObj){
	if (formObj.ccType.value.length < 1){
		alert("\nPlease enter the cardtype.");
		formObj.ccType.focus();
	} else {
		return true;
	}
}

function checkccNum(formObj){
	if (isCreditCard(formObj.ccNum) == false){
		alert("\nSorry, the credit card number appears to be invalid.");
		formObj.ccNum.focus();
		formObj.ccNum.select();
	} else {
		return true;
	}
}

function checkccExpMonth(formObj){
	if (formObj.ccexpmonth.value.length < 1){
		alert("\nPlease enter the card expiration month.");
		formObj.ccexpmonth.focus();
	} else {
		return true;
	}
}

function checkccExpYear(formObj){
	if (formObj.ccexpyear.value.length < 2){
		alert("\nPlease enter the card expiration year.");
		formObj.ccexpyear.focus();
	} else {
		return true;
	}
}

function checkccAuthNum(formObj){
	if (formObj.ccauthnum.value.length < 3){
		alert("\nPlease enter the card authorization code.");
		formObj.ccauthnum.focus();
		formObj.ccauthnum.select();
	} else {
		return true;
	}
}

function checkInternet(formObj){
	if (formObj.internet.value.length < 1){
		alert("\nPlease tell us how you connect to the Internet.");
		formObj.internet.focus();
	} else {
		return true;
	}
}

function isCreditCard(textObj) {
   var ccNum
   var odd = 1
   var even = 2
   var calcCard = 0
   var calcs = 0
   var ccNum2 = ""
   var aChar = ''
   var cc
   var r

   ccNum = textObj.value
   for(var i = 0; i != ccNum.length; i++) {
      aChar = ccNum.substring(i,i+1)
      if(aChar == '-') {
         continue
      }
      ccNum2 = ccNum2 + aChar
   }
	
   cc = parseInt(ccNum2)
   r = ccNum.length / 2
   if(cc == 0) {
      return 1
   }
   if(ccNum.length - (parseInt(r)*2) == 0) {
      odd = 2
      even = 1
   }

   for(var x = ccNum.length - 1; x > 0; x--) {
      r = x / 2
      if(r < 1) {
         r++
      }
      if(x - (parseInt(r) * 2) != 0) {
         calcs = (parseInt(ccNum.charAt(x - 1))) * odd
      }
      else {
         calcs = (parseInt(ccNum.charAt(x - 1))) * even
      }
      if(calcs >= 10) {
         calcs = calcs - 10 + 1
      }
      calcCard = calcCard + calcs
   }

   calcs = 10 - (calcCard % 10)
   if(calcs == 10) {
      calcs = 0
   }
   
   if(calcs == (parseInt(ccNum.charAt(ccNum.length - 1)))) {
      return true
   }
   else {
      return false
   }
}

function calcTotal(formObj) {
	var totalbook = formObj.bookqty.value * 172;
	var totaldvd = formObj.dvdqty.value * 28;
	var total = totalbook + totaldvd;
	
	formObj.booktotal.value = totalbook;
	formObj.dvdtotal.value = totaldvd;
	formObj.total.value = total;
	
}