
function LTrim(str)
{  var whitespace = new String(" \t\n\r");
   var s = new String(str);
   if (whitespace.indexOf(s.charAt(0)) != -1) {
       var j=0, i = s.length;
       while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
              j++;
       s = s.substring(j, i);
   }
return s;
}
function RTrim(str)
{  var whitespace = new String(" \t\n\r");
   var s = new String(str);
   if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
       var i = s.length - 1;       
       while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
              i--;
       s = s.substring(0, i+1);
   }
return s;
}
function Trim(str)  { return RTrim(LTrim(str)); }

function Validate(theForm) {
	if (Trim(theForm.FirstName.value) == "")
  {
    alert("Please enter your first name.");
    theForm.FirstName.focus();
    return (false);
  }
   if (Trim(theForm.LastName.value) == "")
  {
   alert("Please enter your last name.");
    theForm.LastName.focus();
    return (false);
  }
  
   if (Trim(theForm.Email.value) == "")
  {
    alert("Please enter your email.");
    theForm.Email.focus();
    return (false);
  }

	var checkStr = theForm.Email.value;
	var ch = checkStr.indexOf('@');

	if (ch==0 || ch==-1) {
		alert("Please enter a valid email address.");
		theForm.Email.focus();
		return (false);
	}
	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzfSOZsozYÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ0123456789-@.-_'";
	var checkStr = theForm.Email.value;
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++) {
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
				if (j == checkOK.length) {
					allValid = false;
					break;
				}
	}
	if (!allValid) {
		alert("Please enter only letter, digit and \"@.-_'\" characters in the \"Email\" field.");
		theForm.Email.focus();
		return (false);
	}
	
	 if (Trim(theForm.Phone.value) != "")
  {
 if((theForm.Phone.value.length != 12) && (theForm.Phone.value.length != 14)){
				alert("Please enter phone number in correct format:  either (xxx) xxx-xxxx OR xxx-xxx-xxxx.");
				theForm.Phone.focus();
				return false;			
			}else{
				if(theForm.Phone.value.length == 12){
					for(x=1;x< theForm.Phone.value.length;x++){
						if(x == 3){
							if(theForm.Phone.value.charAt(x) != "-" && theForm.Phone.value.charAt(x) != " "){
								alert("Please enter phone number in correct format:  either (xxx) xxx-xxxx OR xxx-xxx-xxxx.");
								theForm.Phone.focus();
								return false;
							} 
						}
					}
				}else if(theForm.Phone.value.length == 14){
					for(x=1;x< theForm.Phone.value.length;x++){
						//if(x == 0 || x == 7){
						if(x == 0){
							if(theForm.Phone.value.charAt(x) != "("){
								alert("Please enter phone number in correct format:  either (xxx) xxx-xxxx OR xxx-xxx-xxxx.");
								theForm.Phone.focus();
								return false;
							}
						}
						if(x == 4){
							if(theForm.Phone.value.charAt(x) != ")"){
								alert("Please enter phone number in correct format:  either (xxx) xxx-xxxx OR xxx-xxx-xxxx.");
								theForm.Phone.focus();
								return false;
							}
						}
						if(x == 9){
							if(theForm.Phone.value.charAt(x) != "-" && theForm.Phone.value.charAt(x) != " "){
								alert("Please enter phone number in correct format:  either (xxx) xxx-xxxx OR xxx-xxx-xxxx.");
								theForm.Phone.focus();
								return false;
							}
						}
					}
				}	
			}
		}
  
  var checkOK = "0123456789-() ";
	var checkStr = theForm.Phone.value;
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++) {
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
				if (j == checkOK.length) {
					allValid = false;
					break;
				}
	}
	if (!allValid) {
		alert("Please enter only digit in the \"Phone\" field.");
		theForm.Phone.focus();
		return (false);
	}
	
	 if (Trim(theForm.Fax.value) != "")
  {
 if((theForm.Fax.value.length != 12) && (theForm.Fax.value.length != 14)){
				alert("Please enter Fax number in correct format:  either (xxx) xxx-xxxx OR xxx-xxx-xxxx.");
				theForm.Fax.focus();
				return false;			
			}else{
				if(theForm.Fax.value.length == 12){
					for(x=1;x< theForm.Fax.value.length;x++){
						if(x == 3){
							if(theForm.Fax.value.charAt(x) != "-" && theForm.Fax.value.charAt(x) != " "){
								alert("Please enter Fax number in correct format:  either (xxx) xxx-xxxx OR xxx-xxx-xxxx.");
								theForm.Fax.focus();
								return false;
							} 
						}
					}
				}else if(theForm.Fax.value.length == 14){
					for(x=1;x< theForm.Fax.value.length;x++){
						//if(x == 0 || x == 7){
						if(x == 0){
							if(theForm.Fax.value.charAt(x) != "("){
								alert("Please enter Fax number in correct format:  either (xxx) xxx-xxxx OR xxx-xxx-xxxx.");
								theForm.Fax.focus();
								return false;
							}
						}
						if(x == 4){
							if(theForm.Fax.value.charAt(x) != ")"){
								alert("Please enter Fax number in correct format:  either (xxx) xxx-xxxx OR xxx-xxx-xxxx.");
								theForm.Fax.focus();
								return false;
							}
						}
						if(x == 9){
							if(theForm.Fax.value.charAt(x) != "-" && theForm.Fax.value.charAt(x) != " "){
								alert("Please enter Fax number in correct format:  either (xxx) xxx-xxxx OR xxx-xxx-xxxx.");
								theForm.Fax.focus();
								return false;
							}
						}
					}
				}	
			}
		}
  
  var checkOK = "0123456789-() ";
	var checkStr = theForm.Fax.value;
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++) {
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
				if (j == checkOK.length) {
					allValid = false;
					break;
				}
	}
	if (!allValid) {
		alert("Please enter only digit in the \"Fax\" field.");
		theForm.Fax.focus();
		return (false);
	}
	
//	 if (Trim(theForm.Address.value) == "")
//  {
//    alert("Please enter your address.");
//    theForm.Address.focus();
//    return (false);
//  }
//  
//   if (Trim(theForm.Zip.value) == "")
//  {
//    alert("Please enter your zip code.");
//    theForm.Zip.focus();
//    return (false);
//  }
	

return (true);
}

