/* This script and many more are available free online at
The JavaScript Source!! http://javascript.internet.com
Created by: Cyanide_7 |  */
var isNN = (navigator.appName.indexOf("Netscape")!=-1);

function autoTab(input,len, e) {
  var keyCode = (isNN) ? e.which : e.keyCode; 
  var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
  if(input.value.length >= len && !containsElement(filter,keyCode)) {
    input.value = input.value.slice(0, len);
    input.form[(getIndex(input)+1) % input.form.length].focus();
  }

  function containsElement(arr, ele) {
    var found = false, index = 0;
    while(!found && index < arr.length)
    if(arr[index] == ele)
    found = true;
    else
    index++;
    return found;
  }

  function getIndex(input) {
    var index = -1, i = 0, found = false;
    while (i < input.form.length && index == -1)
    if (input.form[i] == input)index = i;
    else i++;
    return index;
  }
  return true;
}


function formCheck(formobj){
	// Enter name of mandatory fields
	var fieldRequired = Array("first_name", "last_name", "city", "state", "phone_area", "phone_prefix", "phone_line");
	// Enter field description to appear in the dialog box
	var fieldDescription = Array("First Name", "Last Name", "City", "State", "Phone Area Code", "Phone Prefix", "Phone Line");
	// dialog message
	var alertMsg = "Please complete the following fields:\n";
	
	var l_Msg = alertMsg.length;
	
	for (var i = 0; i < fieldRequired.length; i++){
		var obj = formobj.elements[fieldRequired[i]];
		if (obj){
			switch(obj.type){
			case "select-one":
				if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "select-multiple":
				if (obj.selectedIndex == -1){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "text":
			case "textarea":
				if (obj.value == "" || obj.value == null){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			default:
			}
			if (obj.type == undefined){
				var blnchecked = false;
				for (var j = 0; j < obj.length; j++){
					if (obj[j].checked){
						blnchecked = true;
					}
				}
				if (!blnchecked){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
			}
		}
	}

//Number Req
var phoneArea = /[0-9][0-9][0-9]+/;
if (isNaN(document.myForm.phone_area.value) || (document.myForm.phone_area.value.search(phoneArea) == -1) || (document.myForm.phone_area.value == "123") ) {
alertMsg += " - " + "Phone Area Code Requires a Number" + "\n";
}

var phonePrefix = /[0-9][0-9][0-9]+/;
if (isNaN(document.myForm.phone_prefix.value) || (document.myForm.phone_prefix.value.search(phonePrefix) == -1) ) {
alertMsg += " - " + "Phone Prefix Requires a Number" + "\n";
}

var phoneLine = /[0-9][0-9][0-9][0-9]+/;
if (isNaN(document.myForm.phone_line.value) || (document.myForm.phone_line.value.search(phoneLine) == -1) ) {
alertMsg += " - " + "Phone Line Requires a Number" + "\n";
}
//

//Email Format Req
if (document.myForm.email.value) {

var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
     if (document.myForm.email.value.search(emailRegEx) == -1) {
alertMsg += " - " + "Please enter a valid Email Address" + "\n";
          //return false;
     }
} //End of if email entered
//

	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}
}