var digits = "0123456789";

// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";

var defaultEmptyOK = false

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

// Removes all characters which appear in string bag from string s.
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 isDigit (c)
{   return ((c >= "0") && (c <= "9"))
}


function isInteger (s)

{   var i;

    if (isEmpty(s)) 
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);

    // Search through string's characters one by one
    // until we find a non-numeric character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);

        if (!isDigit(c)) return false;
    }

    // All characters are numbers.
    return true;
}

function checkPhone(theField){
		var normalizedPhone = stripCharsInBag(theField.value, phoneNumberDelimiters)
		//var phoneLength=normalizedPhone.length
		if (!isInteger(normalizedPhone)){
			//alert("Phone number must be digits")
			//theField.focus()
			//theField.select()
			return false;			
		}
		return true;
}


function trim(str){
  return str.replace(/^\s+|\s+$/g, '');
}
function isEmail(MailAddress){
	if(MailAddress.length != 0){
		if (MailAddress.charAt(0)=="." || 
			MailAddress.charAt(0)=="@"|| 
			MailAddress.indexOf("@") == -1 || 
			MailAddress.indexOf(".") == -1 || 
			MailAddress.lastIndexOf("@")==MailAddress.length-1 || 
			MailAddress.lastIndexOf(".")==MailAddress.length-1) {
				return false;
			}
		else
			 return true;
	}
	return false;
	
}


function validate() {

  var OK = true;
  var msg = "";
  var focusField = null;
  
	if (OK && ("" == trim(document.frm1.Last_Name.value))){
		if (OK==true){	
			 OK = false;	   
		   focusField = document.frm1.Last_Name;
	  }
		msg="Last name cannot be empty\n\r";
		
	}
	
	if ("" == trim(document.frm1.First_Name.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.First_Name;
	  }
		msg=msg+"First name cannot be empty\n\r";
				
	}
	
	if  ("" == trim(document.frm1.Phone_Number.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Phone_Number;
	  }
		msg=msg+"Area code cannot be empty\n\r";
		
	}
	if (document.frm1.Phone_Number.value!=="") {
	  if ( checkPhone(document.frm1.Phone_Number)==false){
	  	 if (OK==true){
		   OK = false;
		   focusField = document.frm1.Phone_Number;
	     }
	  	 msg = msg+"Area code must be digits\n\r";
	  	 
	  }
	  
	}
	
	if ("" == trim(document.frm1.Phone_Number_2.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Phone_Number_2;
	  }
		msg=msg+"Phone number cannot be empty\n\r";
		
	}	
  
  if (document.frm1.Phone_Number_2.value!=="") {
	  if ( checkPhone(document.frm1.Phone_Number_2)==false){
	  	 if (OK==true){
		   OK = false;
		   focusField = document.frm1.Phone_Number_2;
	     }
	  	 msg = msg+"Phone Number must be digits\n\r";
	  	 
	  }
	  
	}
  
  
	
	if  ("" == trim(document.frm1.Phone_Number_3.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Phone_Number_3;
	  }
		msg=msg+"Phone number the last four numbers cannot be empty\n\r";
		
	}
		
	if (document.frm1.Phone_Number_3.value!=="") {
	  if ( checkPhone(document.frm1.Phone_Number_3)==false){
	  	 if (OK==true){
		   OK = false;
		   focusField = document.frm1.Phone_Number_3;
	     }
	  	 msg = msg+"Phone Number last four numbers must be digits\n\r";
	  	 
	  }
	  
	}
	
	
	if ("" == trim(document.frm1.Email.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Email;
	  }
		msg=msg+"Email cannot be empty\n\r";
		
	}
	
	if ("" != trim(document.frm1.Email.value)){
   	if  (!isEmail(trim(document.frm1.Email.value))){
   		if (OK==true){
   		   OK = false;
   		   focusField = document.frm1.Email;
   	  }
   		msg=msg+"Please enter your valid email address\n\r";
   		
   	}
  }

	if ("" == trim(document.frm1.Postal_Code.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Postal_Code;
	  }
		msg=msg+"Postal Code cannot be empty\n\r";
		
	}
	
		if ("" == trim(document.frm1.Postal_Code_2.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Postal_Code_2;
	  }
		msg=msg+"Postal Code cannot be empty\n\r";
		
	}

	
 //** Check the Sex RadioButton field.      
		var checkSex = false;
    for(var i = 0; i < document.frm1.Sex.length; i++) {
		if(document.frm1.Sex[i].checked) {
			 checkSex = true;
    }
    }   
    if (checkSex==false) {
       OK=false;
       // focusField = document.frm1.Sex[i]; 
       msg=msg+"Please choose the appropriate gender\n";             
         
    } 
	
	if (OK == false) {
  	alert(msg);
  	focusField.focus();
  }
	
	if (OK == true) {
  	document.frm1.submit();
  }
}


