// JavaScript Document

var error="";
var color="black";

function check(whichId) {
	var txtDiv = whichId+"Txt";
	if (!(isEmpty(document.getElementById(whichId),'alertBox',txtDiv))) {
		return true;
	} else {
	return false;
	}
}

function checkEmail(whichId)
{
	field = document.getElementById(whichId);
	thisDiv = "alertBox";
	txtId = whichId+"Txt";
with (field)
{
apos=value.indexOf("@")
dotpos=value.lastIndexOf(".")
if (apos<1||dotpos-apos<2) {
	document.getElementById(thisDiv).innerHTML = "Please enter a valid email address.";
	document.getElementById(txtId).style.color = "red";
	return false;
} else {
	document.getElementById(thisDiv).innerHTML = "";
	document.getElementById(txtId).style.color = "black";
	return true;
	}
}
}
function checkAlpha(whichId) {
	var txtDiv = whichId+"Txt";
	if (isAlphabet(document.getElementById(whichId),'alertBox',txtDiv)) {	
		return true;
	} else {
	return false;
	}
}

function checkZip(whichId) {
var field=document.getElementById(whichId).value;
var txtId=whichId+"Txt";
var thisDiv="alertBox";
var valid = "0123456789-";
var hyphencount = 0;
error="";
color="black";
if (field.length!=5 && field.length!=10) {
error="Please enter your 5 digit or 5 digit+4 zip code.";
color="red";
} else {
for (var i=0; i < field.length; i++) {
temp = "" + field.substring(i, i+1);
if (temp == "-") hyphencount++;
if (valid.indexOf(temp) == "-1") {
error="Invalid characters in your zip code.  Please try again.";
color="red";
}
}
if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) {
error="The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.   Please try again.";
color="red";
   }
}
	document.getElementById(thisDiv).innerHTML = error;
	document.getElementById(txtId).style.color = color;
}
function checkPhone(whichId){
	var thisDiv = "alertBox";
	var thisItem=document.getElementById(whichId);
	var txtId=whichId+"Txt";
	var Phone=thisItem;
	if (checkInternationalPhone(Phone.value)==true){
		error="";
		color="black";
		document.getElementById(thisDiv).innerHTML = error;
	document.getElementById(txtId).style.color = color;
		return true;
	} else {
	error="Please check the highlighted field.";
	color="red";
	document.getElementById(thisDiv).innerHTML = error;
	document.getElementById(txtId).style.color = color;
	return false;
	}
 }
function submitForm() {
	var errorMsg="";
	var fNameCheck = check('fName');
	var lNameCheck = check('lName');
	var emailCheck = checkEmail('email');
	if(fNameCheck && lNameCheck && checkEmail) {
	document.fullContactForm.submit();
	//document.location.href = "thankYou.html";
	} else {
		errorMsg="Please fill in the required fields."
		document.getElementById('alertBox').innerHTML = errorMsg;
		alert(errorMsg);	
	}
}

function isAlphabet(elem, thisDiv, txtId){
	
	var alphaExp = /^[a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		error="";
		color="black"
		document.getElementById(thisDiv).innerHTML = error;
		document.getElementById(txtId).style.color = color;
		return true;
	}else{
		//elem.focus();
		error="Please correct the highlighted fields.";
		color="red"
		document.getElementById(thisDiv).innerHTML = error;
		document.getElementById(txtId).style.color = color;
		return false;
	}
}

function isEmpty(elem,thisDiv, txtId){
	error="";
	color="black";
	if(elem.value.length == 0){
		error="Please correct the highlighted fields.";
		color="red"
		document.getElementById(thisDiv).innerHTML = error;
		document.getElementById(txtId).style.color = color;
		//elem.focus();
		return true;
	}
	error="";
	color="black"
	document.getElementById(thisDiv).innerHTML = error;
	document.getElementById(txtId).style.color = color;
	return false;
}

// JavaScript Document<script language = "Javascript">
/**
 * DHTML phone number validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't blackspace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}


