// Contains form validation functionality

	function IsValidEmail(input, label)
	{
		var EmailOk  = true;
		var AtSym    = input.value.indexOf('@');
		var Period   = input.value.lastIndexOf('.');
		var Space    = input.value.indexOf(' ');
		var Length   = input.value.length - 1;

		if
		(
			(AtSym < 1)			||
			(Period <= AtSym+1)	||
			(Period == Length)	||
			(Space  != -1)
		)
		{  
			EmailOk = false;
			alert("Please enter a valid email address.");
			input.focus();
		}
		return EmailOk;
	}	
		
	function IsFloat(value)
	{
		var checkOK = "0123456789.";
		var checkStr = 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;
			}
		}
		return allValid;
	}				

	function IsPhoneNumber(number) 
	{
         var valid_chars = "0123456789()-+ ", i;
         
         if (number == "") 
			return false;
		 else
		 {
           for (i=0; i <= number.length -1; i++) 
           {
              if (valid_chars.indexOf(number.charAt(i)) == -1)
				return false;
           } 
           return true;
         }
    }

	function IsNumber(number) 
	{
         var valid_chars = "0123456789", i;
         
         if (number == "") 
			return false;
		 else
		 {
           for (i=0; i <= number.length -1; i++) 
           {
              if (valid_chars.indexOf(number.charAt(i)) == -1)
				return false;
           } 
           return true;
         }
    }


function RemoveQuote(InStr)
{
        var i, Length, Char, OutStr;
        OutStr = "";
        Length = InStr.length;
        for (i=0; i<Length; i++)
        {
                Char = InStr.substring(i ,i+1);
            if (Char != "\'" && Char != "\"")
            {
                        OutStr = OutStr + Char;         
            }
    }
        return OutStr;           
}


function GetNumber(InStr)
{
        var i, Length, Char, NumStr;
        NumStr = "";
        Length = InStr.length;
        for (i=0; i<Length; i++)
        {
            Char = InStr.substring(i ,i+1);
            if (   Char == "0" || Char == "1" || Char == "2"
                || Char == "3" || Char == "4" || Char == "5"
                || Char == "6" || Char == "7" || Char == "8"
            || Char == "9")
            {
                        NumStr = NumStr + Char;         
            }
    }
        return NumStr;  
}


function ValidateInt(value, min, max)
{
   var checkOK = "0123456789";
   var checkStr = value;
   var allValid = true;
   var     start_i;

   // Empty?
   if (value == "") return(false);
   else
   {
       // check for +/-
       ch = checkStr.charAt(0);
       if (ch == '+' || ch == '-')     start_i = 1;
       else start_i = 0;

      // check for digits
      for (i = start_i;  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) return(false);
      }

       var prsVal = parseInt(value);
       if (min != null && prsVal < min) return (false);
       if (max != null && prsVal > max) return (false);
      }

      // valid
        return(true);
   }


  function ValidateInputDateTime(value, min, max, error_msg, target)
  {
    // Check if valid entry
        if (!ValidateInt(value, min, max))
        {
          alert(error_msg);
          target.focus();
          return(false);
        }
		return(true);
  }
 
 	function IsValidTime(hour, minutes, field, target_hour, target_minutes)
	{
		if (hour == "" || minutes == "")
		{
			alert("Please completely fill in the " + field + " time fields");
			target_hour.focus()
			return(false);
		}
		else
		{
			if ( !ValidateInputDateTime(hour, 0, 12, "Please enter a valid value for the " + field + " Hour field", target_hour) || !ValidateInputDateTime(minutes, 0, 59, "Please enter a valid value for the " + field + " Minute field", target_minutes)	)  return (false);
		}
		return(true);
	}  
  
	function IsValidDate(month, day, year, field, target_month, target_day, target_year)
	{
		if (month == "" ||day == "" || year == "")
		{
			alert("Please completely fill in the " + field + " date fields");
			target_month.focus()
			return(false);
		}
		else
		{
			if ( !ValidateInputDateTime(month, 1, 12, "Please enter a valid value for the " + field + " Month field", target_month)	|| !ValidateInputDateTime(day, 1, 31, "Please enter a valid value for the " + field + " Day field", target_day)	)   return (false);
			if (year.length != 4)
			{
				alert("Please enter a four digit year for the " + field + " Year field");
				target_year.focus();
				return(false);
			}
			else
			{
				if ( !ValidateInputDateTime(year, 0, null, "Please enter a valid value for the " + field + " Year field", target_year) )   return(false);     
			}
		}
		return(true);
	}	
