function validate_form(userForm){
	
	var ret = true;
    var	newErrors = 0;
    var alrt = '';

	newErrors = checkCompanyContact(userForm);

	if(newErrors > 0){
		ret=false;
		alrt = alrt+'\n\tMissing Required Information.';
	}
	
	newErrors = checkEmails(userForm);

	if((newErrors) == '2'){
		ret=false;
		alrt = alrt+'\n\tEmails Do Not Match.';
	}else if(newErrors == '1'){
		ret=false;
		alrt = alrt+'\n\tEmail Not Valid.';
	}else if(newErrors == '3'){
		ret=false;
		alrt = alrt+'\n\tEmails Do Not Match and Are Not Valid';
	}
	
	newErrors = checkPasses(userForm);

	if(newErrors == '2'){
		ret=false;
		alrt = alrt+'\n\tPasswords Do Not Match.';
	}else if(newErrors == '1'){
		ret=false;
		alrt = alrt+'\n\tPassword Must Be At Least 8 Characters.';
	}else if(newErrors == '3'){
		ret=false;
		alrt = alrt+'\n\tPasswords Do Not Match and Must Be Least 8 Characters.';
	}
	
	newErrors = checkBilling(userForm);

	if(newErrors>0){
		ret=false;
		alrt = alrt+'\n\tFill Out Missing Billing Information or Check "Same As Above"';
	}
	
	newErrors = checkBEmail(userForm);

	if(newErrors>0){
		ret=false;
		alrt = alrt+'\n\tBilling Email Is Invalid';
	}

		
	newErrors = checkCaptcha(userForm);

	if(newErrors > 0){
		ret=false;
		alrt = alrt+'\n\tIncorrect Captcha';
	}
	
	if(!ret){
		alert(alrt);
	}
	return ret;
}
function checkBilling(userForm){
	var errorCounter = 0;
	if(userForm.sameasabove.checked!=1){
		if(trim(userForm.bill_contact.value)== ""){
			userForm.bill_contact.style.borderStyle =  'solid';
			userForm.bill_contact.style.borderColor = '#FF3000';
			errorCounter++;
		}else{
			userForm.bill_contact.style.border='';
		}
		if(trim(userForm.bill_email.value)== ""){
			userForm.bill_email.style.borderStyle =  'solid';
			userForm.bill_email.style.borderColor = '#FF3000';
			errorCounter++;
		}else{
			userForm.bill_email.style.border='';
		}
		if(trim(userForm.bill_add1.value)== ""){
			userForm.bill_add1.style.borderStyle =  'solid';
			userForm.bill_add1.style.borderColor = '#FF3000';
			errorCounter++;
		}else{
			userForm.bill_add1.style.border='';
		}
		if(trim(userForm.bill_city.value)== ""){
			userForm.bill_city.style.borderStyle =  'solid';
			userForm.bill_city.style.borderColor = '#FF3000';
			errorCounter++;
		}else{
			userForm.bill_city.style.border='';
		}
		if(trim(userForm.bill_state.value)== ""){
			userForm.bill_state.style.borderStyle =  'solid';
			userForm.bill_state.style.borderColor = '#FF3000';
			errorCounter++;
		}else{
			userForm.bill_state.style.border='';
		}
		if(trim(userForm.bill_pcode.value)== ""){
			userForm.bill_pcode.style.borderStyle =  'solid';
			userForm.bill_pcode.style.borderColor = '#FF3000';
			errorCounter++;
		}else{
			userForm.bill_pcode.style.border='';
		}
		if(trim(userForm.bill_country.value)== ""){
			userForm.bill_country.style.borderStyle =  'solid';
			userForm.bill_country.style.borderColor = '#FF3000';
			errorCounter++;
		}else{
			userForm.bill_country.style.border='';
		}
	}else{
		userForm.bill_contact.style.border='';
		userForm.bill_email.style.border='';
		userForm.bill_add1.style.border='';
		userForm.bill_city.style.border='';
		userForm.bill_state.style.border='';
		userForm.bill_pcode.style.border='';
		userForm.bill_country.style.border='';
	}
			
	if(errorCounter > 0){
		userForm.sameasabove.borderStyle =  'solid';
		userForm.sameasabove.style.borderColor = '#FF3000';
	}else{
		userForm.sameasabove.style.border='';
	}
	return errorCounter;
}
function checkCompanyContact(userForm){
	var errorCounter = 0;
	if(trim(userForm.comp_add1.value)== ""){
		userForm.comp_add1.style.borderStyle =  'solid';
		userForm.comp_add1.style.borderColor = '#FF0000';
		errorCounter++;
	}else{
		userForm.comp_add1.style.border='';
	}
	if(trim(userForm.comp_pcode.value)== ""){
		userForm.comp_pcode.style.borderStyle =  'solid';
		userForm.comp_pcode.style.borderColor = '#FF3000';
		errorCounter++;
	}else{
		userForm.comp_pcode.style.border='';
	}
	if(trim(userForm.comp_city.value)== ""){
		userForm.comp_city.style.borderStyle =  'solid';
		userForm.comp_city.style.borderColor = '#FF0000';
		errorCounter++;
	}else{
		userForm.comp_city.style.border='';
	}
	if(trim(userForm.comp_state.value)== ""){
		userForm.comp_state.style.borderStyle =  'solid';
		userForm.comp_state.style.borderColor = '#FF0000';
		errorCounter++;
	}else{
		userForm.comp_state.style.border='';
	}
	if(trim(userForm.comp_country.value)== ""){
		userForm.comp_country.style.borderStyle =  'solid';
		userForm.comp_country.style.borderColor = '#FF0000';
		errorCounter++;
	}else{
		userForm.comp_country.style.border='';
	}
	if(trim(userForm.company.value)== ""){
		userForm.company.style.borderStyle =  'solid';
		userForm.company.style.borderColor = '#FF3000';
		errorCounter++;
	}else{
		userForm.company.style.border='';
	}
	if(trim(userForm.comp_website.value)== ""){
		userForm.comp_website.style.borderStyle =  'solid';
		userForm.comp_website.style.borderColor = '#FF3000';
		errorCounter++;
	}else{
		userForm.comp_website.style.border='';
	}
	if(trim(userForm.contactFirst.value) == ""){
		userForm.contactFirst.style.borderStyle =  'solid';
		userForm.contactFirst.style.borderColor = '#FF0000';
		errorCounter++;
	}else{
		userForm.contactFirst.style.border='';
	}
	if(trim(userForm.contactLast.value) == ""){
		userForm.contactLast.style.borderStyle =  'solid';
		userForm.contactLast.style.borderColor = '#FF0000';
		errorCounter++;
	}else{
		userForm.contactLast.style.border='';
	}
	if(trim(userForm.email.value) == ""){
		userForm.email.style.borderStyle =  'solid';
		userForm.email.style.borderColor = '#FF0000';
		errorCounter++;
	}else{
		userForm.email.style.border='';
	}
	if(trim(userForm.email2.value) == ""){
		userForm.email2.style.borderStyle =  'solid';
		userForm.email2.style.borderColor = '#FF0000';
		errorCounter++;
	}else{
		userForm.email2.style.border='';
	}
	if(trim(userForm.pass.value) == ""){
		userForm.pass.style.borderStyle =  'solid';
		userForm.pass.style.borderColor = '#FF0000';
		errorCounter++;
	}else{
		userForm.pass.style.border='';
	}
	if(trim(userForm.pass2.value) == ""){
		userForm.pass2.style.borderStyle =  'solid';
		userForm.pass2.style.borderColor = '#FF0000';
		errorCounter++;
	}else{
		userForm.pass2.style.border='';
	}
	
	return errorCounter;
}

function checkCaptcha(userForm){
	var errorCounter = 0;
	if(userForm.password.value.length!=6){
		userForm.password.style.borderStyle =  'solid';
		userForm.password.style.borderColor = '#FF3000';
		errorCounter++;
	}else{
		userForm.password.style.border='';
	}
	return errorCounter;
}

function checkBEmail(account){
	var errorCounter = 0;
	if(account.sameasabove.checked!=1){
		if(!validate_email(account.bill_email)){
			account.email.style.borderStyle =  'solid';
			account.email.style.borderColor = '#FF0000';
			errorCounter++;
		}
	}
	return errorCounter;
}

function checkEmails(account){
	var errorCounter = 0;
	if(account.email2.value != account.email.value){
		//account.email.style.borderStyle =  'solid';
		//account.email.style.borderColor = '#FF0000';
		errorCounter++;
		
		account.email2.style.borderStyle =  'solid';
		account.email2.style.borderColor = '#FF0000';
		errorCounter++;
	}
	if(!validate_email(account.email)){
		account.email.style.borderStyle =  'solid';
		account.email.style.borderColor = '#FF0000';
		errorCounter++;
	}
	return errorCounter;
}

function checkPasses(account){
	var errorCounter = 0;
	if(account.pass2.value != account.pass.value){
		//account.pass.style.borderStyle =  'solid';
		//account.pass.style.borderColor = '#FF0000';
		errorCounter++;
	
		account.pass2.style.borderStyle =  'solid';
		account.pass2.style.borderColor = '#FF0000';
		errorCounter++;
	}
	if(account.pass.value.length<8){
		account.pass.style.borderStyle =  'solid';
		account.pass.style.borderColor = '#FF0000';
		errorCounter++;
	}
	return errorCounter;
}

function validate_email(field)
{
with (field)
  {
  var apos=value.indexOf("@");
  var dotpos=value.lastIndexOf(".");
  if (apos<1||dotpos-apos<2)
    {return false;}
  else {return true;}
  }
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}