function _CF_onError(form_object, input_object, object_value, error_message)
    {
	alert(error_message);
       	return false;	
    }

var decimalPointDelimiter = ".";

var daysInMonth = makeArray(12);
daysInMonth[1] = 31;
daysInMonth[2] = 29;   // must programmatically check this
daysInMonth[3] = 31;
daysInMonth[4] = 30;
daysInMonth[5] = 31;
daysInMonth[6] = 30;
daysInMonth[7] = 31;
daysInMonth[8] = 31;
daysInMonth[9] = 30;
daysInMonth[10] = 31;
daysInMonth[11] = 30;
daysInMonth[12] = 31;

function makeArray(n)
{  for (var i = 1; i <= n; i++)
   {	this[i] = 0
   } 
   return this
}

function isEmail (String)
{  
	  var i = 1 ;
	  var sLength = String.length ;
	  while ((i < sLength) && (String.charAt(i) != "@")) i++ ;
	  if ((i >= sLength) || (String.charAt(i) != "@")) return false ;
	  else i += 2 ;
	  while ((i < sLength) && (String.charAt(i) != ".")) i++ ;
	  if ((i >= sLength - 1) || (String.charAt(i) != ".")) return false ;
	  else return true ;
 }

 
function Trim (String)
{
  var start = 0 ;

  var end = String.length - 1 ;

  while (start < end && String.charAt(start) == " ") start++ ;

  while (end >= 0 && String.charAt(end) == " ") end-- ; 

  if (end < start) return "" ;

  return String.substring(start, end-start+1) ;
}

function isDigit (c)
{
	return ((c >= "0") && (c <= "9"))
}

function isInteger (s, required)
{	if (required == true)
	{
		if (Trim(s) == "") return false;
	}
	else
	{
		if (Trim(s) == "") return true;
	}
	
	retval = true;
	
	for (i = 0; i < s.length; i++)
	{	var c = s.charAt(i);
	
		if ((c < "0") || (c > "9"))
		{	retval = false;
			break;
		}
	}
	
	return retval;
}

function isNumeric (String)
{	var i;
	var seenDecimalPoint = false;
	
    if (Trim(String) == "") return false; 

    if (String == decimalPointDelimiter) return false;

    for (i = 0; i < String.length; i++)
    {   var c = String.charAt(i);

        if ((c == decimalPointDelimiter) && !seenDecimalPoint) seenDecimalPoint = true;
        else if (!isDigit(c)) return false;
    }

    return true;
}



function isDate (year, month, day, required)
{
	if (required == true){
		if (Trim(year) == "" || Trim(month) == "" || Trim(day) == "") return false;
	}

	// catch invalid years (not 2- or 4-digit) and invalid months and days.
    if (!(isYear(year) && isMonth(month) && isDay(day))) return false;

    // Explicitly change type to integer to make code work in both
    // JavaScript 1.1 and JavaScript 1.2.
    var intYear = parseInt(year,10);
    var intMonth = parseInt(month,10);
    var intDay = parseInt(day,10);

    // catch invalid days, except for February
    if (intDay > daysInMonth[intMonth]) return false; 

    if ((intMonth == 2) && (intDay > daysInFebruary(intYear))) return false;

    return true;
}

function isYear (s)
{
   	if (Trim(s) == "") return true; 

	if (!isInteger(Trim(s),false)) return false;

    if (parseInt(s,10) < 0) return false;

    return ((Trim(s).length == 2) || (Trim(s).length == 4));
}

function isMonth (s)
{
   	if (Trim(s) == "") return true; 

	if (!isInteger(Trim(s),false)) return false;

    return (parseInt(s,10) >= 1 && parseInt(s,10) <= 12);
}

function isDay (s)
{
   	if (Trim(s) == "") return true; 

	if (!isInteger(Trim(s),false)) return false;

    return (parseInt(s,10) >= 1 && parseInt(s,10) <= 31);
}

function daysInFebruary (year)
{
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ((!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28);
}

function isTelephone (s,required)
{	
	if (required == true){
		if (Trim(s) == "") return false;
	}
	else{
		if (Trim(s) == "") return true;
	}

	if (s.length != 12) return false;
	
	var errfound = false;
	
	for (var i = 0; i < 12 ; i++){
		var c = s.charAt(i);
		
		if (i == 3 || i == 7){
			if (c != '-'){
				errfound = true;
				break;
			}
		}
		else{
			if (!isDigit(c)){
				errfound = true;
				break;
			}
		}
	}

	return (!errfound);	
}

function isAlphabetic (s, required)
{	if (required == true){
		if (Trim(s) == "") return false;
	}
	else{
		if (Trim(s) == "") return true;
	}
	
	for (var i = 0; i < s.length; i++)
	{   
		var c = s.charAt(i);
		
		if (!(((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")) || (c == "_") || (c == "-") || isDigit(c)))
			return false;
	}
		
	return true;
}
	
	
	function Openme(newin)
	{
    	flyout=window.open(newin,"flyout","resizable=no,scrollbars=yes,width=500,height=450,top=50,left=50")
	}

	
	