//
/////////////////////////////////////////// Form Validation *********************
//
////////////////////////////////// Empty fields ***
//
function isEmpty( str ){
    strRE = new RegExp( );
    strRE.compile( '^[\s ]*$', 'gi' );
    return strRE.test( str.value );
}
/////////////////////////////// Validate Email Address ***
function notValidEmail( str ){
    mailRE = new RegExp( );
    mailRE.compile( '^[\._a-z0-9-]+@[\.a-z0-9-]+[\.]{1}[a-z]{2,4}$', 'gi' );
    return !(mailRE.test( str.value ));
}

//
//////////////////////////////// Application Form Validation ***
//
function checkForm( form ){
    if( isEmpty( form.First_Name ) ){
        alert( 'Please provide your Name...' );
        document.forms.insapp.First_Name.focus();
	      return false;
    } else if( isEmpty( form.Work_Phone_Areacode ) ){
        alert( 'Please provide your phone number area code...' );
        document.forms.insapp.Home_Phone_Areacode.focus();
	      return false;
    } else if( isEmpty( form.Work_Phone_1 ) ){
        alert( 'Please provide your full phone number...' );
        document.forms.insapp.Home_Phone_1.focus();
	      return false;
    } else if( isEmpty( form.Work_Phone_2 ) ){
        alert( 'Please provide your full phone number...' );
        document.forms.insapp.Home_Phone_2.focus();
	      return false;
    } else if( isEmpty( form.Email ) ){
        alert( 'Email address is a required field...' );
        document.forms.insapp.Email.focus();
        return false;
    } else if( notValidEmail( form.Email ) ){
        alert( 'Email address is not valid - Please re-enter...' );
        document.forms.insapp.Email.focus();
        return false;
    } else if( isEmpty( form.Comments ) ){
        alert( 'Please enter your questions or comments...' );
        document.forms.insapp.Comments.focus();
        return false;    
    } else {
        document.forms.insapp.action='onlinecontactprocess.php';
    }
}


//
//////////////////////////////////////// Disable Enter Key for Forms ************ 
//
function handleEnter (field, event) {
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
		if (keyCode == 13) {
			var i;
			for (i = 0; i < field.form.elements.length; i++)
				if (field == field.form.elements[i])
					break;
			i = (i + 1) % field.form.elements.length;
			field.form.elements[i].focus();
			return false;
		} 
		else
		return true;
}
//
/////////////////////////////////// form focus - move to next field ************
//
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;
}
