// JavaScript Document
//form validaton step one
function validateStep1(myForm){
	// list of required fields
	with (myForm) {
		var requiredFields = new Array (
			firstName,
			lastName)
		}
	// check for missing required fields
	for (var i = 0; i < requiredFields.length; i++){
		if (requiredFields[i].value == ""){
			alert ("You left a required field blank. Please enter the required information.");
			requiredFields[i].focus();
			return false;
		}
	}
	// check for valid email address format	
	var eaddress= myForm.email.value;
	var validaddress= /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})$/;
	//var validaddress= /^((\w+).?(\w+))+@\w+/i;
	var result= eaddress.match(validaddress);
	if (result == null) {
		alert ("Please enter your complete email address.");
		myForm.email.focus();
		return false;
	}
	// check for valid phone format
       reValidPhone = /^[0-9]{3}-*[0-9]{3}-*[0-9]{4}$/;
	var check= myForm.phone.value;
//	check= check.replace(/[^0-9]/g,"");
//	if (check.length < 10) {
//	   alert ("please enter your complete phone number.");
//	   return false;
//	}//end if

	if (!(reValidPhone.test(check))) {
		alert("Please enter a phone number in the following format nnn-nnn-nnnn");
		return false;
	} // endif

	var tm = myForm.terms.checked;
	if(tm == false) {
		alert("You must agree to the Terms and Conditions.");
		return false;
	} // endif
	
	return true;
}
//form validation credit card
function validateCC(myForm){
	// list of required fields
	with (myForm) {
		var requiredFields = new Array (
			address,
			city,
			state,
			country,
			zip,
			firstName,
			lastName)
		}
	// check for missing required fields
	for (var i = 0; i < requiredFields.length; i++){
		if (requiredFields[i].value == ""){
			alert ("You left a required field blank. Please enter the required information.");
			requiredFields[i].focus();
			return false;
		}
	}
	// check for valid email address format	
	var eaddress= myForm.email.value;
	var validaddress= /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})$/;
	//var validaddress= /^((\w+).?(\w+))+@\w+/i;
	var result= eaddress.match(validaddress);
	if (result == null) {
		alert ("Please enter your complete email address.");
		myForm.email.focus();
		return false;
	}
	// check for valid phone format
	var check= myForm.phone.value;
	check= check.replace(/[^0-9]/g,"");
	if (check.length < 10) {
	   alert ("please enter your complete phone number.");
	   return false;
	}//end if
	
	return true;
}
//form validation invoice
function validateINV(myForm){
	// list of required fields
	with (myForm) {
		var requiredFields = new Array (
			legalName,
			company,
			address,
			city,
			state,
			zip,
			country,
			businessType,
			dateFoundDay,
			dateFoundMonth,
			dateFoundYear,
			annualSales,
			numEmployees,
			bankName,
			bankContact,
			bankAddress,
			bankCity,
			bankState,
			bankZip,
			bankCountry,
			bankAccount,
			userName,
			userLastName,
			refCompanyName,
			refName,
			refFax,
			refCompanyName1,
			refName1,
			refFax1,
			refCompanyName2,
			refName2,
			refFax2,
			sigName,
			sigTitle,
			sigDateDay,
			sigDateMonth,
			sigDateYear)
		}
	// check for missing required fields
	for (var i = 0; i < requiredFields.length; i++){
		if (requiredFields[i].value == ""){
			alert ("You left a required field blank. Please enter the required information.");
			requiredFields[i].focus();
			return false;
		}
	}
	// check for valid email address format	
	var eaddress= myForm.email.value;
	var validaddress= /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})$/;
	//var validaddress= /^((\w+).?(\w+))+@\w+/i;
	var result= eaddress.match(validaddress);
	if (result == null) {
		alert ("Please enter your complete email address.");
		myForm.email.focus();
		return false;
	}
	// check for valid phone format
	var check= myForm.phone.value;
	check= check.replace(/[^0-9]/g,"");
	if (check.length < 10) {
	   alert ("please enter your complete phone number.");
	   return false;
	}//end if
	
	return true;
}
//form validation start now
function validateStart(myForm){
	// list of required fields
	with (myForm) {
		var requiredFields = new Array (
			firstName,
			lastName,
			company)
		}
	// check for missing required fields
	for (var i = 0; i < requiredFields.length; i++){
		if (requiredFields[i].value == ""){
			alert ("You left a required field blank. Please enter the required information.");
			requiredFields[i].focus();
			return false;
		}
	}
	// check for valid phone format
       reValidPhone = /^[0-9]{3}-*[0-9]{3}-*[0-9]{4}$/;
	var check= myForm.phone.value;

	if (!(reValidPhone.test(check))) {
		alert("Please enter a phone number in the following format nnn-nnn-nnnn");
		return false;
	} // endif

	// check for valid email address format	
	var eaddress= myForm.email.value;
	var validaddress= /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})$/;
	//var validaddress= /^((\w+).?(\w+))+@\w+/i;
	var result= eaddress.match(validaddress);
	if (result == null) {
		alert ("Please enter your complete email address.");
		myForm.email.focus();
		return false;
	}
	
	return true;
}
//form validation contact us
function validateContact(myForm){
	// list of required fields
	with (myForm) {
		var requiredFields = new Array (
			firstName,
			lastName)
		}
	// check for missing required fields
	for (var i = 0; i < requiredFields.length; i++){
		if (requiredFields[i].value == ""){
			alert ("You left a required field blank. Please enter the required information.");
			requiredFields[i].focus();
			return false;
		}
	}

	// check for valid phone format
       reValidPhone = /^[0-9]{3}-*[0-9]{3}-*[0-9]{4}$/;
	var check= myForm.phone.value;

	if (!(reValidPhone.test(check))) {
		alert("Please enter a phone number in the following format nnn-nnn-nnnn");
		return false;
	} // endif

	// check for valid email address format	
	var eaddress= myForm.email.value;
	var validaddress= /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})$/;
	//var validaddress= /^((\w+).?(\w+))+@\w+/i;
	var result= eaddress.match(validaddress);
	if (result == null) {
		alert ("Please enter your complete email address.");
		myForm.email.focus();
		return false;
	}
	
	return true;
}

function validateLogin() {
	if (document.bcForm1.clientID.value == "") {
		alert("Please enter your Client ID.");
		document.bcForm1.clientID.focus();
		return false;
	} // endif
	if (document.bcForm1.password.value == "") {
		alert("Please enter your Password.");
		document.bcForm1.password.focus();
		return false;
	} // endif

	document.bcForm1.submit();
	return true;
}

/***** Function to validate data for current Step of signup process *****/
function validateHop() {

	if (document.bcFormCC.card_cardType.value == "NONE") {
		alert("Please choose a Card Type.");
		document.bcFormCC.card_cardType.focus();
		return false;
	} // endif

	if (document.bcFormCC.card_accountNumber.value == "") {
		alert("Please enter a Card Number.");
		document.bcFormCC.card_accountNumber.focus();
		return false;
	} // endif

	validNumbers = /^\d+$/;
	if (!(validNumbers.test(document.bcFormCC.card_accountNumber.value))) {
		alert("Please enter a valid Card Number.");
		document.bcFormCC.card_accountNumber.focus();
		return false;
	} // endif

	if (document.bcFormCC.card_cvNumber.value == "") {
		alert("Please enter a Card CVN Number.");
		document.bcFormCC.card_cvNumber.focus();
		return false;
	} // endif

	if (document.bcFormCC.card_expirationMonth.value == "NONE") {
		alert("Please choose an Expiration Month.");
		document.bcFormCC.card_expirationMonth.focus();
		return false;
	} // endif

	if (document.bcFormCC.card_expirationYear.value == "NONE") {
		alert("Please choose an Expiration Year.");
		document.bcFormCC.card_expirationYear.focus();
		return false;
	} // endif

	if (document.bcFormCC.billTo_firstName.value == "") {
		alert("Please enter a First Name.");
		document.bcFormCC.billTo_firstName.focus();
		return false;
	} // endif
	
	if (document.bcFormCC.billTo_lastName.value == "") {
		alert("Please enter a Last Name.");
		document.bcFormCC.billTo_lastName.focus();
		return false;
	} // endif

	if (document.bcFormCC.billTo_street1.value == "") {
		alert("Please enter an Address.");
		document.bcFormCC.billTo_street1.focus();
		return false;
	} // endif

	if (document.bcFormCC.billTo_city.value == "") {
		alert("Please enter a City.");
		document.bcFormCC.billTo_city.focus();
		return false;
	} // endif

	if (document.bcFormCC.billTo_state.value == "") {
		alert("Please enter a State.");
		document.bcFormCC.billTo_state.focus();
		return false;
	} // endif

	if (!(isNaN(document.bcFormCC.billTo_state.value))) {
		alert("Please select a State.");
		document.bcFormCC.billTo_state.focus();
		return false;
	}

	if (document.bcFormCC.billTo_postalCode.value == "") {
		alert("Please enter a Zip/Postal Code.");
		document.bcFormCC.billTo_postalCode.focus();
		return false;
	} // endif

	if (document.bcFormCC.billTo_country.value == "NONE") {
		alert("Please choose a Country.");
		document.bcFormCC.billTo_country.focus();
		return false;
	} // endif

	if (document.bcFormCC.billTo_phoneNumber.value == "") {
		alert("Please enter a Phone Number.");
		document.bcFormCC.billTo_phoneNumber.focus();
		return false;
	} // endif

	reValidPhone = /^[0-9]{3}-*[0-9]{3}-*[0-9]{4}$/;
	if (!(reValidPhone.test(document.bcFormCC.billTo_phoneNumber.value))) {
		alert("Please enter a phone number in the following format nnn-nnn-nnnn");
		document.bcFormCC.billTo_phoneNumber.focus();
		return false;
	} // endif

	if (document.bcFormCC.billTo_email.value == "") {
		alert("Please enter an Email Address.");
		document.bcFormCC.billTo_email.focus();
		return false;
	} // endif
	
	reValidEmail = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;
	if (!(reValidEmail.test(document.bcFormCC.billTo_email.value))) {
		alert("Please enter a valid e-mail address");
		document.bcFormCC.billTo_email.focus();
		return false;
	} // endif
		
	document.bcFormCC.submit();
	return true;

} // ValidateStep()

/***** Function to validate data for VIP Step of signup process *****/
function validateVip() {

	if (document.vpform.firstName.value == "") {
		alert("Please enter a First Name.");
		document.vpform.firstName.focus();
		return false;
	} // endif
	
	if (document.vpform.lastName.value == "") {
		alert("Please enter a Last Name.");
		document.vpform.lastName.focus();
		return false;
	} // endif

	if (document.vpform.company.value == "") {
		alert("Please enter a Company Name.");
		document.vpform.company.focus();
		return false;
	} // endif

	if (document.vpform.phone.value == "") {
		alert("Please enter a Phone Number.");
		document.vpform.phone.focus();
		return false;
	} // endif

	reValidPhone = /^[0-9]{3}-*[0-9]{3}-*[0-9]{4}$/;
	if (!(reValidPhone.test(document.vpform.phone.value))) {
		alert("Please enter a phone number in the following format nnn-nnn-nnnn");
		document.vpform.phone.focus();
		return false;
	} // endif

	if (document.vpform.email.value == "") {
		alert("Please enter an Email Address.");
		document.vpform.email.focus();
		return false;
	} // endif
	
	reValidEmail = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;
	if (!(reValidEmail.test(document.vpform.email.value))) {
		alert("Please enter a valid e-mail address");
		document.vpform.email.focus();
		return false;
	} // endif

	if (document.vpform.numMinutes.value == "") {
		alert("Please enter your monthly minutes.");
		document.vpform.numMinutes.focus();
		return false;
	} // endif

	document.vpform.submit();
	return true;

} // ValidateStep()
