﻿function checkBContact(biz_contact) {
		var form = document.biz_contact;
		var badfields = "";
		badfields += checkComments(form.bComments, "\nYou Must Provide A Question Or Comment.");
		for (i=0, n=form.bSystem.length; i<n; i++){
	       	if (form.bSystem[i].checked){
	           	var bSystemChecked = form.bSystem[i].value;
	           	break;
	   		} 
	   	}
		badfields += checkRadios(bSystemChecked, "\nCheck A Box Telling Us About Your Sprinkler System.");		
	   	badfields += checkOptionalPhone(form.bSecond_phone, "Secondary Phone");
	   	badfields += checkOptionalPhone(form.bFax, "Fax");
   		badfields += checkTelephone(form.bPhone, "\nYour Business Telephone ");
		badfields += checkZipCode(form.bZip, "\nYour Zip Code ");
		badfields += checkNameField(form.bCity, "\nYou Must Provide A City.");
		badfields += checkNameField(form.bAddy, "\nYour Street Address Must Be Provided.");
		badfields += checkNameField(form.bName, "\nYour Business Name Must Be Provided.");
		badfields += checkNameField(form.bContact, "\nA Contact's Name Must Be Provided.");
		badfields += checkNameField(form.email, "\nA Contact's Email Must Be Provided.");

	if (badfields != ""){
		alert("You have not completed the form correctly.\nPlease correct the fields listed below and re-submit:\n" + badfields);
		return false;
	}
	form.bValidated.value = "1";
	document.res_contact.rValidated.value = "";
	return true;
}

function checkRContact(res_contact) {
		var form = document.res_contact;
		var badfields = "";
		badfields += checkComments(form.rComments, "\nYou Must Provide A Question Or Comment.");
		for (i=0, n=form.rSystem.length; i<n; i++){
	       	if (form.rSystem[i].checked){
	           	var rSystemChecked = form.rSystem[i].value;
	           	break;
	   		} 
	   	}
		badfields += checkRadios(rSystemChecked, "\nCheck A Box Describing Your Sprinkler Needs.");		
	   	badfields += checkOptionalPhone(form.rSecond_phone, "Secondary Phone");
	   	badfields += checkOptionalPhone(form.rFax, "Fax");
   		badfields += checkTelephone(form.rPhone, "\nYour Telephone Number ");
		badfields += checkZipCode(form.rZip, "\nYour Zip Code ");
		badfields += checkNameField(form.rCity, "\nYou Must Provide A City.");
		badfields += checkNameField(form.rAddy, "\nYour Street Address Must Be Provided.");
		badfields += checkNameField(form.rContact, "\nYour Name Must Be Provided.");
		badfields += checkNameField(form.email, "\nA Contact's Email Must Be Provided.");

	if (badfields != ""){
		alert("You have not completed the form correctly.\nPlease correct the fields listed below and re-submit:\n" + badfields);
		return false;
	}
	form.rValidated.value = "1";
	document.biz_contact.bValidated.value = "";
	return true;
}
	
function checkNameField(field, errorMsg){	
		var error = "";
		if (field.value == null || field.value.length < 3) {error = errorMsg; field.focus(); return error;}
		else{
			var c = "";
			for (i = 0; i < field.value.length; i++){
				if (i == 0) {c += field.value.charAt(i).toUpperCase();}
				else if ((field.value.charAt(i-1) == " " || field.value.charAt(i-1) == "." || field.value.charAt(i-1) == "'" || field.value.charAt(i-1) == "-")) {c += field.value.charAt(i).toUpperCase();}
				else {c += field.value.charAt(i).toLowerCase();}
			}
		}
    	field.focus();
		field.value = c;
	return error;
}

function checkComments(field, errorMsg){
		var error = "";
		if ((field.value == null || field.value.length == 0) || field.value.length < 10) {error = errorMsg;}
    	field.focus();
    	return error;
	}

function checkTelephone(field, errorMsg) {
		var error = "";
		var stripped = field.value.replace(/[\(\)\.\-\ ]/g, ''); //strips out non-numeric
			if (field.value == null || field.value.length == 0) {error = errorMsg + " Must Be Provided.";}
			else if (isNaN(parseInt(stripped))) {error = errorMsg +  " Contains Illegal Characters.";}
			else if (!(stripped.length == 10)) {error = errorMsg +  " Must Be 10 Digits.";}
		if (error == "") {field.value = reformatPhone(stripped);}
    	field.focus();
		return error;
	}

function checkOptionalPhone(field, phoneType) {
		var error = "";
		var stripped = field.value.replace(/[\(\)\.\-\ ]/g, ''); //strips out non-numeric
		if (field.value == null || field.value.length == 0) {error = "";}
		else if (isNaN(parseInt(stripped))) {error = "\nYour " + phoneType + " Number Has Illegal Characters. (You May Leave This Field Blank)";}
		else if (!(stripped.length == 10)) {error = "\nYour " + phoneType + "  Must Be 10 Digits. (You May Leave This Field Blank)";}
		if (error == "" && stripped.length == 10) {field.value = reformatPhone(stripped);}
    	field.focus();
		return error;
	}

function checkRadios(Radios, errMsg){
	var error = "";
	if (!(Radios)){error = errMsg;}
return error;    
}

function checkZipCode(field, errMsg){
		var error = "";
		var valid = "0123456789";
		if (field.value.length != 5) {error= errMsg + " Must Be 5 Digits.";}
		for (var i=0; i < field.value.length; i++) {
			temp = "" + field.value.substring(i, i+1);
			if (valid.indexOf(temp) == "-1") {error = errMsg + " Contains Illegal Characters.";}
		}			
    	field.focus();
		return error;
}

function reformat(s){
	var arg;
	var sPos = 0;
	var result = "";
	for (i = 1; i < reformat.arguments.length; i ++){
		arg = reformat.arguments[i];
		if (i % 2 == 1) result += arg;
		else {
			result += s.substring(sPos, sPos + arg);
			sPos += arg;
		}
	}
	return result;
}

function reformatPhone(USPhone){ return (reformat (USPhone, "(",3,") ",3, "-", 4));}
