/*

bankruptcy.js

Author: Barbara Verburg

Description: Functions used by credit-repair.php. Validates form fields, notifies 
user of errors or missing content, returns true or false.

Functions: 
validate_form(form)
validate_required(field)
validate_email(field)
validCells(form_item)
invalidCells(form_item)

Copyright 2005. Please do not use without permission. This took me a long time to figure out.

*/

// This function is to show red error statement under each invalid cell.
// The field values must be replaced for the error statement to appear.
function invalidCells(form_item) {
	var x=document.getElementById(form_item).cells
	var a=x[0];
	var b=x[1];
	if (form_item == 'Comp_name') {
		alert("Invalid Comp_name");
		b.innerHTML = "<input type='text' name='Comp_name' onChange='validate_form(form_1)'><br><div class='text' style='color: red'>Company Name is required.</div>";
	}
	if (form_item == 'Contact_name') {
		alert("Invalid Contact_name");
		b.innerHTML = "<input type='text' name='Contact_name' onChange='validate_form(form_1)'><br><div class='text' style='color: red'>Contact Name is required.</div>";
	}
	if (form_item == 'Comp_addr') {
		alert("Invalid Comp_addr");
		b.innerHTML = "<input type='text' name='Comp_addr' onChange='validate_form(form_1)'><br><div class='text' style='color: red'>Company Address is required.</div>";
	}
	if (form_item == 'Comp_city') {
		b.innerHTML = "<input type='text' name='Comp_city' onChange='validate_form(form_1)'><br><div class='text' style='color: red'>Company City is required.</div>";
	}
	if (form_item == 'Comp_state') {
		b.innerHTML="<select name='Comp_state' onChange='validate_form(form_1)'><option value='' selected>Choose a State</option> \
			<option value='AL'>Alabama</option><option value='AK'>Alaska</option><option value='AZ'>Arizona</option><option value='AR'>Arkansas</option><option value='CA'>California</option> \
			<option value='CO'>Colorado</option><option value='CT'>Connecticut</option><option value='DE'>Delaware</option><option value='DC'>District of Columbia</option><option value='FL'>Florida</option> \
			<option value='GA'>Georgia</option><option value='HI'>Hawaii</option><option value='ID'>Idaho</option><option value='IL'>Illinois</option><option value='IN'>Indiana</option> \
			<option value='IA'>Iowa</option><option value='KS'>Kansas</option><option value='KY'>Kentucky</option><option value='LA'>Louisiana</option><option value='ME'>Maine</option> \
			<option value='MD'>Maryland</option><option value='MA'>Massachusetts</option><option value='MI'>Michigan</option><option value='MN'>Minnesota</option><option value='MS'>Mississippi</option> \
			<option value='MO'>Missouri</option><option value='MT'>Montana</option><option value='NE'>Nebraska</option><option value='NV'>Nevada</option><option value='NH'>New Hampshire</option> \
			<option value='NJ'>New Jersey</option><option value='NM'>New Mexico</option><option value='NY'>New York</option><option value='NC'>North Carolina</option><option value='ND'>North Dakota</option> \
			<option value='OH'>Ohio</option><option value='OK'>Oklahoma</option><option value='OR'>Oregon</option><option value='PA'>Pennsylvania</option><option value='RI'>Rhode Island</option> \
			<option value='SC'>South Carolina</option><option value='SD'>South Dakota</option><option value='TN'>Tennessee</option><option value='TX'>Texas</option><option value='UT'>Utah</option> \
			<option value='VT'>Vermont</option><option value='VA'>Virginia</option><option value='WA'>Washington</option><option value='WV'>West Virginia</option><option value='WI'>Wisconsin</option> \
			<option value='WY'>Wyoming</option></select><br><div class='text' style='color: red'>State is required.</div>";
	}
	if (form_item == 'Comp_zip') {
		b.innerHTML = "<input type='text' name='Comp_zip' maxLength=5 size=5 onChange='validate_form(form_1)'><br><div class='text' style='color: red'>Zip Code is required.</div>";
	}
	if (form_item == 'Comp_phone') {
		b.innerHTML = "<input type='text' name='Comp_phone' maxLength=10 onChange='validate_form(form_1)'><br><div class='text' style='color: red'>Phone Number is required.</div>";
	}
	if (form_item == 'email') {
		b.innerHTML = "<input type='text' name='email' onChange='validate_form(form_1)'><br><div class='text' style='color: red'>A valid Email is required.</div>";
	}
}

// This function makes the form sticky. Valid fields are replaced with their current input value.
function validCells(form_item)
{
	var x=document.getElementById(form_item).cells
	var a=x[0];
	var b=x[1];
	if (form_item == 'Comp_name'){
		var z = document.form_1.Comp_name.value;
		b.innerHTML=""; //clear cell
		b.innerHTML = "<input type='text' name='Comp_name' onChange='validate_form(form_1)' value='"+z+"'>";
	}
	if (form_item == 'Contact_name') {
		var z = document.form_1.Contact_name.value;
		b.innerHTML="";
		b.innerHTML = "<input type='text' name='Contact_name' onChange='validate_form(form_1)' value='"+z+"'>";
	}
	if (form_item == 'Comp_addr') {
		var z = document.form_1.Comp_addr.value;
		b.innerHTML="";
		b.innerHTML = "<input type='text' name='Comp_addr' onChange='validate_form(form_1)' value='"+z+"'>";
	}
	if (form_item == 'Comp_city') {
		var z = document.form_1.Comp_city.value;
		b.innerHTML="";
		b.innerHTML = "<input type='text' name='Comp_city' onChange='validate_form(form_1)' value='"+z+"'>";
	}
	if (form_item == 'Comp_state') {
		var z = document.form_1.Comp_state.value;
		b.innerHTML=""; //clear cell
		var state=new Array();
		state['AL'] = "<option value='AL'>Alabama</option>";
		state['AK'] = "<option value='AK'>Alaska</option>";
		state['AZ'] = "<option value='AZ'>Arizona</option>";
		state['AR'] = "<option value='AR'>Arkansas</option>";
		state['CA'] = "<option value='CA'>California</option>";
		state['CO'] = "<option value='CO'>Colorado</option>";
		state['CT'] = "<option value='CT'>Connecticut</option>";
		state['DE'] = "<option value='DE'>Delaware</option>";
		state['DC'] = "<option value='DC'>District of Columbia</option>";
		state['FL'] = "<option value='FL'>Florida</option>";
		state['GA'] = "<option value='GA'>Georgia</option>";
		state['HI'] = "<option value='HI'>Hawaii</option>";
		state['ID'] = "<option value='ID'>Idaho</option>";
		state['IL'] = "<option value='IL'>Illinois</option>";
		state['IN'] = "<option value='IN'>Indiana</option>";
		state['IA'] = "<option value='IA'>Iowa</option>";
		state['KS'] = "<option value='KS'>Kansas</option>";
		state['KY'] = "<option value='KY'>Kentucky</option>";
		state['LA'] = "<option value='LA'>Louisiana</option>";
		state['ME'] = "<option value='ME'>Maine</option>";
		state['MD'] = "<option value='MD'>Maryland</option>";
		state['MA'] = "<option value='MA'>Massachusetts</option>";
		state['MI'] = "<option value='MI'>Michigan</option>";
		state['MN'] = "<option value='MN'>Minnesota</option>";
		state['MS'] = "<option value='MS'>Mississippi</option>";
		state['MO'] = "<option value='MO'>Missouri</option>";
		state['MT'] = "<option value='MT'>Montana</option>";
		state['NE'] = "<option value='NE'>Nebraska</option>";
		state['NV'] = "<option value='NV'>Nevada</option>";
		state['NH'] = "<option value='NH'>New Hampshire</option>";
		state['NJ'] = "<option value='NJ'>New Jersey</option>";
		state['NM'] = "<option value='NM'>New Mexico</option>";
		state['NY'] = "<option value='NY'>New York</option>";
		state['NC'] = "<option value='NC'>North Carolina</option>";
		state['ND'] = "<option value='ND'>North Dakota</option>";
		state['OH'] = "<option value='OH'>Ohio</option>";
		state['OK'] = "<option value='OK'>Oklahoma</option>";
		state['OR'] = "<option value='OR'>Oregon</option>";
		state['PA'] = "<option value='PA'>Pennsylvania</option>";
		state['RI'] = "<option value='RI'>Rhode Island</option>";
		state['SC'] = "<option value='SC'>South Carolina</option>";
		state['SD'] = "<option value='SD'>South Dakota</option>";
		state['TN'] = "<option value='TN'>Tennessee</option>";
		state['TX'] = "<option value='TX'>Texas</option>";
		state['UT'] = "<option value='UT'>Utah</option>";
		state['VT'] = "<option value='VT'>Vermont</option>";
		state['VA'] = "<option value='VA'>Virginia</option>";
		state['WA'] = "<option value='WA'>Washington</option>";
		state['WV'] = "<option value='WV'>West Virginia</option>";
		state['WI'] = "<option value='WI'>Wisconsin</option>";
		state['WY'] = "<option value='WY'>Wyoming</option>";
		state[z] = "<option selected"+state[z].substr(7);

		states = state['AL']+state['AK']+state['AZ']+state['AR']+state['CA']+state['CO']+state['CT']+state['DE']+state['DC']+state['FL']+state['GA']+state['HI']+state['ID'];
		states += state['IL']+state['IN']+state['IA']+state['KS']+state['KY']+state['LA']+state['ME']+state['MD']+state['MA']+state['MI']+state['MN']+state['MS']+state['MO'];
		states += state['MT']+state['NE']+state['NV']+state['NH']+state['NJ']+state['NM']+state['NY']+state['NC']+state['ND']+state['OH']+state['OK']+state['OR']+state['PA'];
		states += state['RI']+state['SC']+state['SD']+state['TN']+state['TX']+state['UT']+state['VT']+state['VA']+state['WA']+state['WV']+state['WI']+state['WY'];
		
		b.innerHTML="<select name='Comp_state' onChange='validate_form(form_1)'><option value=''>Choose a State</option>"+states+"</select>";
	}
	if (form_item == 'Comp_zip') {
		var z = document.form_1.Comp_zip.value;
		b.innerHTML=""; //clear cell
		b.innerHTML = "<input type='text' name='Comp_zip' maxLength=5 size=5 onChange='validate_form(form_1)' value='"+z+"'>";
	}
	if (form_item == 'Comp_phone') {
		var z = document.form_1.Comp_phone.value;
		b.innerHTML=""; //clear cell
		b.innerHTML = "<input type='text' name='Comp_phone' maxLength=10 onChange='validate_form(form_1)' value='"+z+"' >";
	}
	if (form_item == 'email') {
		var z = document.form_1.email.value;
		b.innerHTML=""; //clear cell
		b.innerHTML = "<input name='email' type='text' value='"+z+"' />";
	}
}

// Validate email address. Got code from http://www.codetoad.com/javascript/is_valid_email.asp 
function validate_email(field) {
	with (field) {
		if ((value.indexOf('@') < 0) || ((value.charAt(value.length-4) != '.') && (value.charAt(value.length-3) != '.'))) {
			invalidCells(field.name);
			return false;
		}
		else {
			validCells(field.name);
			return true;
		}
	}
}

// Validate by looking for null, empty or 0 values in fields.
// If field has nothing it is invalid, else it'a valid. Return
// true or false to validate_form()
function validate_required(field) {
	with (field) {
		if (value==null||value==""||value==0) {
//			alert("Invalid Cells");
			invalidCells(field.name);
//			alert("return false from Validate_required");
			return false;
		}
		else {
//			alert("Valid Cells");
			validCells(field.name);
			return true;
		}
	}
}

// Validate each form field. The form is valid if none of the field return false
function validate_form(thisform) {
	var is_valid = true;
	with (thisform) {
		if (validate_required(Comp_name)==false) {
			is_valid = false;
		}
		if (validate_required(Contact_name)==false) {
			is_valid = false;
		}
		if (validate_required(Comp_addr)==false) {
			is_valid = false;
		}
		if (validate_required(Comp_city)==false) {
			is_valid = false;
		}
		if (validate_required(Comp_state)==false) {
			is_valid = false;
		}
		if (validate_required(Comp_zip)==false) {
			is_valid = false;
		}
		if (validate_required(Comp_phone)==false) {
			is_valid = false;
		}
		if (validate_email(email)==false) {
			is_valid = false;
		}
	}
	if (is_valid) {
		return true;
	}
	else {
		return false;
	}
}
