//Form validations	
	 
	// Validate phone number format.  Each part of the phone must be the proper
    // length and be numeric in value
    function isPhone(inPhone1, inPhone2, inPhone3)
    {
       // If any part of the phone number is not a number then return false
	   if((isNaN(inPhone1) == true)||(isNaN(inPhone2) == true)||(isNaN(inPhone3) == true))
	   {
	      return false;
	   }
	
	   len = inPhone1.length;
	   num = parseInt(inPhone1);
	  
	   if (len == 3 && (num == 0 || num > 0))
	   {
	      len = inPhone2.length;
		  num = parseInt(inPhone2);
		 
		  if (len == 3 && (num == 0 || num > 0))	  
		  {
		     len = inPhone3.length;
			 num = parseInt(inPhone3);
			 
			 // if the phone number has repeated digits
			 if (isRepeated(inPhone1 + inPhone2 + inPhone3))
				return false;
				
			 if (len == 4 && (num == 0 || num > 0))	  
			 {
				 return true;
			 }
			 else
			 {
			 	 return false;
			 }
		  }   
		  else
		  {
		     return false;
		  }
	   } 
	   else
	   {
	      return false;
 	   }
    } // End isPhone function
	
	function checkEmail(value)
	{
   
		// Make sure there is atleast @, . 
		// Useful for older browsers
		if (!isEmail(value))
			return false;
	    
		// Make sure there is a . after @
		str = value.split("@");
		if (str[1].indexOf(".") < 0)
			return false;
		
		// do pattern matching to eliminate special characters and duplicate @ chars
		pattern=/[^-@_\.\w\d]|@@|\.\.|__|^@|^\.|^_|@$|\.$|_$|@\.|\.@|@_|_@|\._|_\.|(@)[^@]*\1|([\w_\d]+)\.\w+\.\w+\.\w+([\w_\d]+)@/g;
		if((((value.match(/@/)) && (value.match(/\./))) == null)||(value.match(pattern) != null))
		{
			return false;
		}
		
		
		return true;
  
	}
	//validate email format
	function isEmail(s){ 
		if (isBlank(s)) 
			return false;
		  
		var i = 1;
		var sLength = s.length;

		while ((i < sLength) && (s.charAt(i) != "@"))
			i++

		if ((i >= sLength) || (s.charAt(i) != "@")) 
			return false;
		else 
			i += 2;

		while ((i < sLength) && (s.charAt(i) != "."))
			i++

		if ((i >= sLength - 1) || (s.charAt(i) != ".")) 
			return false;
		else 
			return true;
	}	
 
	function isBlank(s)
	{
		var i;
		var blanks = " \t\n\r";
		
		if ((s == null) || (s.length == 0))
			return true;

		for (i=0; i<s.length; i++)
		{   
			var c = s.charAt(i);
			if (blanks.indexOf(c) == -1) 
			return false;
		}
		
		return true;
	}
	
function stripNonDigits(s) {
	var i;
	var returnString = "";
	var digits = "0123456789";
	
	// Search through string's characters one by one;
	// if character is in bag, append to returnString
	for (i = 0; i < s.length; i++)
	{   
		// Check that current character isn't blank
		var c = s.charAt(i);
		if (digits.indexOf(c) != -1) 
			returnString += c;
	}
	return returnString;
}

function isInteger(s) {
	// skip leading + or -
	if ((s.charAt(0) == "-") || (s.charAt(0) == "+"))
		var i = 1;
	else
		var i = 0;

	// Search through string's chars one by one until we find a 
	// non-numeric char, then return false; if we don't, return true
	for (i; 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 isUSPhoneNumber(s) 
{ 
	if (isBlank(s) || s.charAt(0) == "0" || s.charAt(0) == "1") 
		return false;
	s = stripNonDigits(s);
	return (isInteger(s) && (s.length == 10) && (!isRepeated(s)));
}


function autoTab(chk,len,next)
{
	if (window.event)
	{
		keyPress = window.event.keyCode;
		if((chk.value.length == len) && (keyPress != 16) && (keyPress != 9)){next.focus();}
	}
}

function isRepeated(data)
{	
	// if atleast more than 1 character present 
	// could compare, otherwise no need to compare.
	if (data != null && data.length > 1)
	{
		var cChar = data.charAt(0);
		for (var i=1; i<data.length; i++)
		{
			if (cChar != data.charAt(i))
				return false;
		}
		
		return true;
	}
	
	// if data is null or if one character present
	return false;
	
}
