
// 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 whitespace.
        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);
}

function ValidateForm(){
	var PhoneNum=document.myform.phone;
	var Fname=document.myform.firstname;
	var Lname=document.myform.lastname;
	var Company=document.myform.company;
	var Details=document.myform.details;
	var emailAddr=document.myform.email;

	//if(("" == myform.firstname.value)||("" == myform.lastname.value)||("" == myform.state.value))
	if((Fname.value=="")||(Lname.value=="")||(Company.value=="")||(Details.value==""))
	{
		window.alert("Please complete all fields."); 
		return false;
	}
	if ((PhoneNum.value==null)||(PhoneNum.value=="")){
		alert("Please Enter your Phone Number:\r\nxxx-xxx-xxxx ");
		PhoneNum.focus()
		return false 
	}
	if (checkInternationalPhone(PhoneNum.value)==false){
		alert("Please Enter your Phone Number:\r\nxxx-xxx-xxxx");
		PhoneNum.value=""
		PhoneNum.focus()
		return false
	}
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(emailAddr.value)){
		return (true)
		}
	else{
		alert("Invalid E-mail Address! Please re-enter.")
		return (false)
	}
 }

var nav = window.Event ? true : false;
if (nav) {
   window.captureEvents(Event.KEYDOWN);
   window.onkeydown = NetscapeEventHandler_KeyDown;
} else {
   document.onkeydown = MicrosoftEventHandler_KeyDown;
}

function NetscapeEventHandler_KeyDown(e) {
  if (e.which == 13 && e.target.type != 'textarea' && e.target.type != 'submit') { return false; }
  return true;
}

function MicrosoftEventHandler_KeyDown() {
  if (event.keyCode == 13 && event.srcElement.type != 'textarea' && event.srcElement.type != 'submit')
    return false;
  return true;
}
