function emailError(form) {
   Ctrl = form.Email;
  	if (Ctrl.value == "" || Ctrl.value.indexOf ('@', 0) == -1 || Ctrl.value.indexOf('.',0) == -1 )
    {
    	return (false);
    }
    if((Ctrl.value.indexOf ('@') + 1 >= Ctrl.value.lastIndexOf ('.'))||(Ctrl.value.indexOf(' ')<= Ctrl.value.length && Ctrl.value.indexOf(' ') != -1)) 
  {
	return (false);
  }
  else
  {	
	return (true);
  }
}

function _CF_onError(form_object, input_object, object_value, error_message)
    {
        alert(error_message);
        return false;   
    }
function _CF_hasValue(obj, obj_type)
    {
    if (obj_type == "TEXT" || obj_type == "PASSWORD")
        {
        if (obj.value.length == 0) 
                return false;
        else 
                return true;
        }
    else if (obj_type == "SELECT")
        {
        for (i=0; i < obj.length; i++)
		{
		if (obj.options[i].selected)
		  return true;
		}
	return false;   
	}
  else if (obj_type == "RADIO" || obj_type == "CHECKBOX")
	{
	for (i=0; i < obj.length; i++)
		{
		if (obj[i].checked)
		  return true;
		}
	return false;   
	}
	}
function _CF_checkinteger(object_value)
  {
  //Returns true if value is a number or is NULL
  //otherwise returns false   
  if (object_value.length == 0)
	return true;
  //Returns true if value is an integer defined as
  //   having an optional leading + or -.
  //   otherwise containing only the characters 0-9.
	var decimal_format = ".";
	var check_char;
  //The first character can be + -  blank or a digit.
	check_char = object_value.indexOf(decimal_format)
  //Was it a decimal?
  if (check_char < 1)
	return _CF_checknumber(object_value);
  else
	return false;
  }
function _CF_numberrange(object_value, min_value, max_value)
  {
  // check minimum
  if (min_value != null)
	{
	if (object_value < min_value)
		return false;
	}
  // check maximum
  if (max_value != null)
	{
	if (object_value > max_value)
		return false;
	}
	
  //All tests passed, so...
  return true;
  }
function _CF_checknumber(object_value)
  {
  //Returns true if value is a number or is NULL
  //otherwise returns false   
  if (object_value.length == 0)
	return true;
  //Returns true if value is a number defined as
  //   having an optional leading + or -.
  //   having at most 1 decimal point.
  //   otherwise containing only the characters 0-9.
	var start_format = " .+-0123456789";
	var number_format = " .0123456789";
	var check_char;
	var decimal = false;
	var trailing_blank = false;
	var digits = false;
  //The first character can be + - .  blank or a digit.
	check_char = start_format.indexOf(object_value.charAt(0))
  //Was it a decimal?
	if (check_char == 1)
	 decimal = true;
	else if (check_char < 1)
		return false;
	
	//Remaining characters can be only . or a digit, but only one decimal.
	for (var i = 1; i < object_value.length; i++)
	{
		check_char = number_format.indexOf(object_value.charAt(i))
		if (check_char < 0)
		  return false;
		else if (check_char == 1)
		{
		  if (decimal)            // Second decimal.
			 return false;
		  else
			 decimal = true;
		}
		else if (check_char == 0)
		{
		  if (decimal || digits)  
			 trailing_blank = true;
	// ignore leading blanks
		}
		else if (trailing_blank)
		  return false;
		else
		  digits = true;
	}       
  //All tests passed, so...
  return true
  }
function _CF_checkrange(object_value, min_value, max_value)
  {
  //if value is in range then return true else return false
  if (object_value.length == 0)
	return true;
  if (!_CF_checknumber(object_value))
	{
	return false;
	}
  else
	{
	return (_CF_numberrange((eval(object_value)), min_value, max_value));
	}
	
  //All tests passed, so...
  return true;
  }
function _CF_checkphone(object_value)
  {
  if (object_value.length == 0)
	return true;
		
  if (object_value.length != 12)
	return false;
	// check if first 3 characters represent a valid area code
  if (!_CF_checknumber(object_value.substring(0,3)))
		return false;
  else
	if (!_CF_numberrange((eval(object_value.substring(0,3))), 100, 1000))
		return false;
	// check if area code/exchange separator is either a'-' or ' '
	if (object_value.charAt(3) != "-" && object_value.charAt(3) != " ")
	return false
	// check if  characters 5 - 7 represent a valid exchange
  if (!_CF_checknumber(object_value.substring(4,7)))
		return false;
  else
	if (!_CF_numberrange((eval(object_value.substring(4,7))), 100, 1000))
		return false;
	
	// check if exchange/number separator is either a'-' or ' '
	if (object_value.charAt(7) != "-" && object_value.charAt(7) != " ")
	return false;
	// make sure last for digits are a valid integer
	if (object_value.charAt(8) == "-" || object_value.charAt(8) == "+")
	return false;
	else
	{
		return (_CF_checkinteger(object_value.substring(8,12)));
	}
  }
function  _CF_checkCFForm_1(_CF_this)
  {
  if  (!_CF_hasValue(_CF_this.WorkPhone, "TEXT" )) 
	{
	if  (!_CF_onError(_CF_this, _CF_this.WorkPhone, _CF_this.WorkPhone.value, "Invalid Work Phone Number!"))
	 {
		_CF_this.WorkPhone.focus();
	 return false; 
	 }
	}
  if  (!_CF_checkphone(_CF_this.WorkPhone.value))
	{
	if  (!_CF_onError(_CF_this, _CF_this.WorkPhone, _CF_this.WorkPhone.value, "Invalid Work Phone Number!"))
	 {
		_CF_this.WorkPhone.focus();
	 return false; 
	 }
	}
  if  (!_CF_hasValue(_CF_this.HomePhone, "TEXT" )) 
	{
	if  (!_CF_onError(_CF_this, _CF_this.HomePhone, _CF_this.HomePhone.value, "Invalid Home Phone Number!"))
	 {
		_CF_this.HomePhone.focus();
	 return false; 
	 }
	}
  if  (!_CF_checkphone(_CF_this.HomePhone.value))
	{
	if  (!_CF_onError(_CF_this, _CF_this.HomePhone, _CF_this.HomePhone.value, "Invalid Home Phone Number!"))
	 {
		_CF_this.HomePhone.focus();
	 return false; 
	 }
	}
  if  (!_CF_hasValue(_CF_this.Email, "TEXT" )) 
	{
	if  (!_CF_onError(_CF_this, _CF_this.Email, _CF_this.Email.value, "Sorry, invalid Email address!"))
	 {
		_CF_this.Email.focus();
	 return false; 
	 }
	}
if  (!emailError(_CF_this, _CF_this.Email, _CF_this.Email.value))
	{
	if  (!_CF_onError(_CF_this, _CF_this.Email, _CF_this.Email.value, "Sorry, invalid Email address!"))
	 {
		_CF_this.Email.focus();
	 return false; 
	 }
	}
  if  (!_CF_hasValue(_CF_this.amount, "TEXT" )) 
	{
	if  (!_CF_onError(_CF_this, _CF_this.amount, _CF_this.amount.value, "Loan amount would be number only"))
	 {
		_CF_this.amount.focus();
	 return false; 
	 }
	}
  if  (!_CF_checkinteger(_CF_this.amount.value))
	{
	if  (!_CF_onError(_CF_this, _CF_this.amount, _CF_this.amount.value, "Loan amount would be number only"))
	 {
		_CF_this.amount.focus();
	 return false; 
	 }
	}
	
   if  (
		(_CF_this.month.value != "" && _CF_this.year.value == "" && _CF_this.reason.value == "") 
		||
		(_CF_this.month.value != "" && _CF_this.year.value != "" && _CF_this.reason.value == "")
		||
		(_CF_this.month.value == "" && _CF_this.year.value != "" && _CF_this.reason.value == "")
		||
		(_CF_this.month.value == "" && _CF_this.year.value != "" && _CF_this.reason.value != "")
		||
		(_CF_this.month.value != "" && _CF_this.year.value == "" && _CF_this.reason.value != "")
		||
		(_CF_this.month.value == "" && _CF_this.year.value == "" && _CF_this.reason.value != "")
	   )
	{
		alert('To be contacted on a specific date, please enter month, year and reason');
		_CF_this.reason.focus();
		 return false;	 
	}

	
	

  return true;
  }
