
var digits = "0123456789";
var phoneNumberDelimiters = "()- ";
var validWorldPhoneChars = phoneNumberDelimiters + "+";
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 = "";
    for (i = 0; i < s.length; i++)
    {   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 CheckPhone(tmp, Msge){
	if ((tmp.value==null)||(tmp.value=="")){
		alert(Msge); tmp.focus(); return false;
	}
	if (checkInternationalPhone(tmp.value)==false){
		alert("Please Enter a Valid Phone Number")
		tmp.focus(); return false;
	}
	
	return true
 }

//===========================================
function TrimChar (inputString, removeChar){
var returnString = inputString;
if (removeChar.length){
while(''+returnString.charAt(0)==removeChar){
returnString=returnString.substring(1,returnString.length);
}
while(''+returnString.charAt(returnString.length-1)==removeChar){ returnString=returnString.substring(0,returnString.length-1); 
  }
 }
return returnString;
}

//====================================
function CheckField(Fld,Msge){
Fld.value=TrimChar(Fld.value," ");
if(TrimChar(Fld.value," ")==""){
alert(Msge);Fld.focus(); return false;} 
else { return true;}  
}

//===============================
function ValidEmail(email){
if((email.indexOf('@',0)==-1) || (email.indexOf('.')== -1 )){ return false; }
else {return true; }
}

//====================================
function CheckEmail(tmp, Msge) {
tmp.value=TrimChar(tmp.value," ");

if (tmp.value=="") { 
alert(Msge);
tmp.focus(); return false;
   }
else if (!ValidEmail(tmp.value)){ 
alert("Invalid Email address format!");
tmp.focus(); 
return false;
   }
else {return true; }
}

//====================================
function Validate(){
var tmp, Msge;

tmp=document.contactform.firstname;
Msge='Please provide your first name';
if(!CheckField(tmp, Msge)){return false; }
tmp=document.contactform.lastname;
Msge='Please provide your last name';
if(!CheckField(tmp, Msge)){return false; }
tmp=document.contactform.from;
Msge='Please provide your email address';
if(!CheckEmail(tmp, Msge)){return false; }
tmp=document.contactform.phone;
Msge='Please provide your phone number';
if(!CheckPhone(tmp, Msge)){return false; }

document.contactform.submit();
return true;
}





