function validate_required(field,alerttxt,initialVal)
{
with (field)
{

if(value==null||value==""||value==initialVal)
  {alert(alerttxt);return false}

else {return true}
}
}


function valForm(thisform)
{ with (thisform){
	if (validate_required(name,"Name is required field!","Name")==false)
	  {name.focus();return false}
	if (validate_required(company, "Company is required field!","Company")==false)
	  {company.focus();return false}
	if (validate_required(address, "Address is required field!","Address")==false)
	  {address.focus();return false}
	if (validate_phone(Phone, "Not a valid Phone Number","Telephone")==false)
	  {Phone.focus();return false}
	if (validate_fax(fax, "Not a valid Fax Number","Fax")==false)
	  {fax.focus();return false}
	if (validate_email(email,"Not a valid e-mail address","Email")==false)
	  {email.focus();return false}
	
	
	
}
}


function validate_email(field,alerttxt,initialVal)
{
with (field)
{
apos=value.indexOf("@")
dotpos=value.lastIndexOf(".")
if (apos<1||dotpos-apos<2) 
  {alert(alerttxt);return false}
else if (value==initialVal) 
  {alert(alerttxt);return false}
else {return true}
}
}

// 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 validate_phone(field, alerttxt) 
{
with (field)
{
	if ((value==null)||(value=="")){
		alert("Please Enter your Phone Number")
		focus()
		return false
	}
	
	if (checkInternationalPhone(value)==false){
		alert("Please Enter a Valid Phone Number")
		value=""
		focus()
		return false
	}
	return true
}
}

function validate_fax(field, alerttxt) 
{
with (field)
{
	if ((value==null)||(value=="")){
		alert("Please Enter your Fax Number")
		focus()
		return false
	}
	
	if (checkInternationalPhone(value)==false){
		alert("Please Enter a Valid Fax Number")
		value=""
		focus()
		return false
	}
	return true
}
}




