var form;
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- xX ";
// 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 = 7;


/*function validate()
{
alert("Please enter your phone number");
return true;

}
*/

function validate()
{
form = document.forms ['F'];

	if (isBlank('firstname',"Please enter your first name."))  // first name field blank?
  {
      return false;
  }
  
  if (!validateLength('firstname',2, 'Please enter a valid first name.'))
  { return false
  }
  
  var fname = form.elements['firstname'].value;
  var lname = form.elements['lastname'].value;
  
  if ( !checkName(fname))
  {
  alert("Please enter a valid first name.");
  return false;
  }
  
  
  if (isBlank('lastname',"Please enter your last name."))  // first name field blank?
  {
      return false;
  }
  
  if (!validateLength('lastname',2, 'Please enter a valid last name.'))
  { return false
  }
  
  if ( !checkName(lname))
  {
  alert("Please enter a valid last name.");
  return false;
  }
 
  
  if (isBlank('firmname','Please enter your firm name.'))  // firm name valid?
  {
      return false
  }
    
  if (!validateLength('firmname',3, 'Please enter a valid firm name .'))
  { return false
  }


  
  if (isBlank('city','Please enter your city.'))  // city valid?
  {
      return false
  }
  


 
  if (!ValidatePhone())
	{
	return false;
	}

  
  if (isBlank('email','Please enter your email address.'))  // firm name valid?
  {
      return false
  }
  

 if (!validateemail())		//email valid?
  {
		return false
  }
 
 return true;
}





/*******

sub functions of validation

**************/



function checkName(name)
{ 
var i;
for (i =0;i<name.length; i++)
{
var c = name.charAt(i);
if (((c < "a") || (c >"z")) && ((c < "A") ||(c > "Z")) && (c != "'") && (c != "-") && (c != " ") && (c != ".") )
{
return false;
}
}
return true;
}


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 ValidatePhone(){
	// Declaring required variables

	var Phone=document.F.phone;
	if ((Phone.value==null)||(Phone.value=="")){
		alert("Please enter your phone number");
		Phone.focus();
		return false;
	}
	
	if (checkInternationalPhone(Phone.value)==false){
		alert("Please enter a valid phone number");

		Phone.focus();
		return false;
	}
	
	return true;
 }



function removeSpaces(string) {
   var newString = '';
   for (var i = 0; i < string.length; i++) {
      if (string.charAt(i) != ' ') newString += string.charAt(i);
   }
   return newString;
}

function isNumeric(string, ignoreWhiteSpace) {
   if (string.search) {
      if ((ignoreWhiteSpace && string.search(/[^\d\s]/) != -1) || (!ignoreWhiteSpace && string.search(/\D/) != -1)) return false;
   }
   return true;
}








function validateLength(fld, len, alertMsg)
{
	var elem = form.elements[fld];
	var testStr=elem.value;
	if (testStr.length < len) {alert(alertMsg); return false;}
	else return true;
	
}




function blankString (testStr)
{
	for (var i=0; i< testStr.length; i++)    //all spaces?
	{	
		if (testStr.charAt (i) !=" ")
		{	return false;
		}
	}
	return true;
}
function isBlank(fld, alertMsg)
{
	var elem = form.elements[fld];
	var testStr=elem.value;
	if (blankString(testStr))
	{
	alert(alertMsg);
	elem.focus();
	elem.select();
	return true;
	}
	return false;
}

function checkEmail(email, str) {

if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.[A-Za-z]{2,3})+$/.test(email)){

return (true);
}
alert(str);
return (false);
}

function validateemail()
{
	var elem = form.elements['email'];
	var email = elem.value;
	
	email = removeSpaces(email);
	
	if (!checkEmail(email, "Please enter a valid email address")) return false;

	return true;
}


function doload()
{
//setTimeout("window.document.location = '#TXT';",3000);
return true;
}
