var msg = "";
var cr='\n';

function getUSERLEVEL(f)
{
   with (f)
   {
    for (i=0; i < elements.length; i++) {
    
      if (elements[i].name == 'user_level_id' && elements[i].checked == true)
      {
          return elements[i].value;
      } 
    }
    }
    return null;
}

function isLEVEL(f)
{
   with (f)
   {
    for (i=0; i < elements.length; i++) {
    
      if (elements[i].name == 'user_level_id' && elements[i].checked == true)
      {
          return true;
      } 
    }
    }
	return false;
}

function verify_MEMBERTYPE(f)
{
    if (!isLEVEL(f))
    {
     msg+="Please enter a subscription type. \n";
     return false;
    }
	return true;
}

function verify_ADMINLEVEL(f)
{
    if (!isLEVEL(f))
    {
     msg+="Please enter a level. \n";
     return false;
    }
	return true;
}

function isSTATUS(f, str)
{
   with (f)
   {
    for (i=0; i < elements.length; i++) {
    
      if (elements[i].name == str && elements[i].checked == true)
      {
          return true;
      } 
    }
    }
	return false;
}

function verify_STATUS(f)
{
    if (!isSTATUS(f, 'user_status_id'))
    {
     msg+="Please enter a status. \n";
     return false;
    }
	return true;
}


function verify_EXPIREDATE(f)
{
    var cn = f.elements["expire_date"];

	if(!IsNumeric(cn,"-"))
	{
		msg+="Please enter an expire date. \n";
		//cn.value="";
		return false;
	}
	return true;
}


function verify_FIRSTNAME(f) {
	var cn = f.elements["firstname"];
	
	if(cn.value.length == 0)
	{
    msg+="Please enter your first name." + cr;
    //cn.value="";
    return false;
    }
    
  if(cn.value.length > 0 && (!IsAlpha(cn, "'.- ") || IsAllSpace(cn)))
  {
    msg+="Please enter a valid first name." + cr;
    //cn.value="";
    return false;
    }
		
	return true;
}

function verify_LASTNAME(f) {
	var cn = f.elements["lastname"];
	
	if(cn.value.length == 0) 
	{
    msg+="Please enter your last name." + cr;
    //cn.value="";
    return false;
    }

  if(cn.value.length > 0 && (!IsAlpha(cn, "'.- ") || IsAllSpace(cn)))
  {
    msg+="Please enter a valid last name." + cr;
    //cn.value="";
    return false;
    }
		
	return true;
}

function verify_LOGINADMINUSERNAME(f)
{
	var cn = f.elements["admin_user"];
	var reg_ln = /[^a-z0-9]/gi;
	if(cn.value.length == 0)
	{
		msg+="Please enter your username. \n";
		//cn.value="";
		return false;
	}
	//else if(cn.value.length < 6)
	//{
	//	msg+="Please enter a valid username (6 – 15 alpha numeric char’s). \n";
	//	//cn.value="";
	//	return false;
	//}
	else if(reg_ln.test(cn.value))
	{
		msg+="Please enter a valid username (letters and numbers only).\n";
		//cn.value="";
		return false;
	}
	return true;
}

function verify_ADMINUSERNAME(f)
{
	var cn = f.elements["admin_user"];
	var reg_ln = /[^a-z0-9]/gi;
	if(cn.value.length == 0)
	{
		msg+="Please enter your username. \n";
		//cn.value="";
		return false;
	}
	else if(cn.value.length < 6)
	{
		msg+="Please enter a valid username (6 – 15 alpha numeric char’s). \n";
		//cn.value="";
		return false;
	}
	else if(reg_ln.test(cn.value))
	{
		msg+="Please enter a valid username (letters and numbers only).\n";
		//cn.value="";
		return false;
	}
	return true;
}

function verify_USERNAME(f)
{
	var cn = f.elements["username"];
	var reg_ln = /[^a-z0-9]/gi;
	if(cn.value.length == 0)
	{
		msg+="Please enter your username. \n";
		//cn.value="";
		return false;
	}
	else if(cn.value.length < 6)
	{
		msg+="Please enter a valid username (6 – 15 alpha numeric char’s). \n";
		//cn.value="";
		return false;
	}
	else if(reg_ln.test(cn.value))
	{
		msg+="Please enter a valid username (letters and numbers only).\n";
		//cn.value="";
		return false;
	}
	return true;
}

function verify_LOGINPASSWORD(f)
{
	var cn = f.elements["password"];

	var reg_cn = /[^a-z0-9]/gi;
	if(cn.value.length == 0)
	{
		msg+="Please enter a password. \n";
		//cn.value="";
		return false;
	}
	//else if(cn.value.length < 6)
	//{
	//	msg+="Please enter a valid password (6 – 15 alpha numeric char’s). \n";
	//	//cn.value="";
	//	return false;
	//}
	else if(reg_cn.test(cn.value))
	{
		msg+="Please enter a valid password (letters and numbers only).\n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_PASSWORD(f)
{
	var cn = f.elements["password"];

	var reg_cn = /[^a-z0-9]/gi;
	if(cn.value.length == 0)
	{
		msg+="Please enter a password. \n";
		//cn.value="";
		return false;
	}
	else if(cn.value.length < 6)
	{
		msg+="Please enter a valid password (6 – 15 alpha numeric char’s). \n";
		//cn.value="";
		return false;
	}
	else if(reg_cn.test(cn.value))
	{
		msg+="Please enter a valid password (letters and numbers only).\n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_DUPPASSWORD(f)
{
	var cn = f.elements["duppassword"];
	var orgpassword = f.elements["password"];
	
	var reg_cn = /[^a-z0-9]/gi;
	if(cn.value.length == 0)
	{
		msg+="Please re-enter a password. \n";
		//cn.value="";
		return false;
	}
	else if(cn.value.length < 6)
	{
		msg+="Please re-enter a valid password (6 – 15 alpha numeric char’s). \n";
		//cn.value="";
		return false;
	}
	else if(reg_cn.test(cn.value))
	{
		msg+="Please re-enter a valid password (letters and numbers only).\n";
		//cn.value="";
		return false;
	}
	else if(cn.value != orgpassword.value)
	{
		msg+="Passwords do not match.\n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_EMAIL(f)
{
	var cn = f.elements["email_address"];

	if(cn.value.length == 0)
	{
		msg+="Please enter an email address. \n";
		//cn.value="";
		return false;
	}
	else if(!isEmail(cn.value))
	{
		msg+="Please enter a valid email address.\n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_DUPEMAIL(f)
{
	var cn = f.elements["dupemail"];
	var orgemail = f.elements["email_address"];

	if(cn.value.length == 0)
	{
		msg+="Please re-enter an email address. \n";
		//cn.value="";
		return false;
	}
	else if(!isEmail(cn.value))
	{
		msg+="Please re-enter a valid email address.\n";
		//cn.value="";
		return false;
	}
	else if(cn.value != orgemail.value)
	{
		msg+="E-mails do not match.\n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_COMPANY(f)
{
	var cn = f.elements["company"];

	if(verifyNotRequiredAlphaNumeric(cn))
	{
		msg+="Please enter a valid company/institution.\n";
		//cn.value="";
		return false;
	}
	return true;
}

function verify_CORPORATETITLE(f)
{
	var cn = f.elements["corporate_title"];
	
	if(verifyNotRequiredAlphaNumeric(cn))
	{
		msg+="Please enter a valid corporate title.\n";
		//cn.value="";
		return false;
	}
	return true;
}

function verify_STREETADDRESS(f)
{
	var cn = f.elements["address1"];
	
	if(cn.value.length == 0)
	{
		msg+="Please enter a street address. \n";
		//cn.value="";
		return false;
	}
	else if(cn.value.length > 0 && (verifyRequiredAlphaNumeric(cn) || IsAllSpace(cn)))
	{
		msg+="Please enter a valid street address (letters and numbers only).\n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_STREETADDRESS2(f)
{
	var cn = f.elements["address2"];

	if(cn.value != null && cn.value.length != 0 && verifyRequiredAlphaNumeric(cn))
	{
		msg+="Please enter a valid street address2 (letters and numbers only).\n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_CITY(f)
{
	var cn = f.elements["city"];

	if(cn.value.length == 0)
	{
		msg+="Please enter a city. \n";
		//cn.value="";
		return false;
	}
	else if(cn.value.length > 0 && (!IsAlpha(cn, "'.- ") || IsAllSpace(cn)))
	{
    	msg+="Please enter a valid city name." + cr;
    	//cn.value="";
    	return false;
    }

	return true;
}

function verify_STATEPROVIDENCE(f)
{
	var cn = f.elements["state_province"];

	if(cn.value != null && cn.value.length != 0 && !IsAlpha(cn, "'.- "))
	{
		msg+="Please enter a valid state/providence (letters only).\n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_STATE(f) {
	var state = f.elements["state"];
	var usa_states="-AL-AK-AZ-AR-CA-CO-CT-DE-DC-FL-GA-GU-HI-IA-ID-IL-IN-KS-KY-LA-MA-MD-ME-MI-MN-MO-MT-MS-MT-NE-NV-NH-NJ-NM-NY-NC-ND-OH-OK-OR-PA-PR-RI-SC-SD-TN-TX-UT-VA-VI-VT-WA-WI-WV-WY-";
	
	if(state.value.length == 0)
	{
    msg+="State is a required field." + cr;
    //cn.value="";
    return false;
    }

  if(state.value.length > 0 && (!isAlpha(state.value) || usa_states.indexOf("-"+state.value.toUpperCase()+"-")==-1 || IsAllSpace(state)))
  {
    msg+="Please enter a valid state name." + cr;
    //cn.value="";
    return false;
    }
		
	return true;
}

function verify_POSTALCODE(f)
{
	var cn = f.elements["postal_code"];

	if(cn.value.length == 0)
	{
		msg+="Please enter a postal code. \n";
		//cn.value="";
		return false;
	}
	else if(cn.value.length != 0 && (verifyRequiredAlphaNumeric(cn) || IsAllSpace(cn)))
	{
		msg+="Please enter a valid postal code (letters and numbers only).\n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_COUNTRY(f)
{
	var cn = f.elements["country_code"];

	if(cn.value.length == 0)
	{
		msg+="Please enter a country. \n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_INVESTORS(f)
{
	var cn = f.elements["investors_id"];

	if(cn.value.length == 0)
	{
		msg+="Please select a target investor. \n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_DOMICILE(f)
{
	var cn = f.elements["domicile_id"];

	if(cn.value.length == 0)
	{
		msg+="Please select a domicile. \n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_TYPEOFFUND(f)
{
	var cn = f.elements["type_of_fund_id"];
    var tn = f.elements["type_of_fund_reference"];
	if(cn.value.length == 0)
	{
		msg+="Please select a type of fund. \n";
		//cn.value="";
		return false;
	}
	if(tn.value.length == 0)
	{
		msg+="Please select a type of fund reference. \n";
		//tn.value="";
		return false;
	}

	return true;
}

function verify_TELEPHONE(f)
{
	var cn = f.elements["phone"];

	if(verifyNotRequiredAlphaNumeric(cn))
	{
		msg+="Please enter a valid telephone.\n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_FAX(f)
{
	var cn = f.elements["fax"];

	if(verifyNotRequiredAlphaNumeric(cn))
	{
		msg+="Please enter a valid fax.\n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_WEBSITE(f)
{
   var cn = f.elements["website"];
   
   var reg_cn = /^(http|ftp)\:\/\/\w+([\.\-]\w+)*\.\w{2,4}(\:\d+)*([\/\.\-\?\&\%\#]\w+)*\/?$/i;
   var reg_cn1 = /^mailto\:\w+([\.\-]\w+)*\@\w+([\.\-]\w+)*\.\w{2,4}$/i;
     if(reg_cn.test(cn.value))
     {
    	return true;
     }
     else if (reg_cn1.test(cn.value))
     {
       return true;
     }
     else
     {
  	    msg+="Please enter a valid web site URL.\n";
	    //cn.value="";	   
	    return false;
     }
}

function verify_MININVESTMENT(f)
{
   var cn = f.elements["min_invest"];  
   
   if(cn.value.length == 0)
	{
		msg+="Please enter a minimum investment. \n";
		//cn.value="";
		return false;
	}
	else if(cn.value.length != 0 && (verifyRequiredAlphaNumeric(cn) || IsAllSpace(cn)))
	{
		msg+="Please enter a valid minimum investment (letters and numbers only).\n";
		//cn.value="";
		return false;
	}	

	return true;
}
 
function verify_TYPEOFISSUE(f)
{
	var cn = f.elements["errortype"];

	if(cn.value.length == 0)
	{
		msg+="Please select a type of issue. \n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_DESCRIPTION(f)
{
	var cn = f.elements["description"];

	if(cn.value.length == 0)
	{
		msg+="Please enter a description. \n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_CONTACTTYPE(f)
{
with (f)
{
    for (i=0; i < elements.length; i++) {
    
      if (elements[i].name == 'contacttype' && elements[i].checked == true)
      {
          return true;
      } 
    }
 }
 msg+="Please enter a contact type. \n";
	return false;
}

function verify_REPORTTELEPHONE(f)
{
	var cn = f.elements["telephone"];

	if(verifyRequiredAlphaNumeric(cn))
	{
		msg+="Please enter a valid telephone.\n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_FUNDNAME(f) {
	var cn = f.elements["fund_name"];
	
	if(cn.value.length == 0)
	{
	    msg+="Please enter a fund name." + cr;
	    //cn.value="";
	    return false;
    }
    
    if(cn.value.length > 0 && (verifyRequiredAlphaNumeric(cn) || IsAllSpace(cn)))
    {
	    msg+="Please enter a valid fund name." + cr;
	    //cn.value="";
	    return false;
    }
		
	return true;
}

function verify_INSTITUTIONNAME(f) {
	var cn = f.elements["institution_id"];
	
	if(cn.value.length == 0)
	{
	    msg+="Please enter a institution name." + cr;
	    //cn.value="";
	    return false;
    }
    
	return true;
}

function verify_FUNDSTATUS(f)
{
    if (!isSTATUS(f, 'fund_status_id'))
    {
     msg+="Please enter a fund status. \n";
     return false;
    }
	return true;
}

function verify_FUNDTYPE(f) {
	var cn = f.elements["fund_type_id"];
	
	if(cn.value.length == 0)
	{
	    msg+="Please enter a fund type." + cr;
	    //cn.value="";
	    return false;
    }
		
	return true;
}

function verify_ADVISORS(f)
{
	var cn = f.elements["advisors"];

	if(cn.value.length == 0)
	{
		msg+="Please enter an advisors. \n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_SYMBOL(f)
{
	var cn = f.elements["symbol"];

	if(cn.value.length == 0)
	{
		msg+="Please enter a symbol.\n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_CURRENCY(f) {
	var cn = f.elements["currency_id"];
	
	if(cn.value.length == 0)
	{
	    msg+="Please enter a currency." + cr;
	    //cn.value="";
	    return false;
    }
		
	return true;
}

function verify_INCEPTIONDATE(f)
{
    var cn = f.elements["inception_date"];

	if(!IsNumeric(cn,"-"))
	{
		msg+="Please enter an inception date. \n";
		//cn.value="";
		return false;
	}
	return true;
}

function verify_BENCHMARK(f) {
	var cn = f.elements["financial_index_id"];
	
	if(cn.value.length == 0)
	{
	    msg+="Please enter a benchmark." + cr;
	    //cn.value="";
	    return false;
    }
		
	return true;
}

function verify_OBJECTIVE(f) {
	var cn = f.elements["objective"];
	
	if(cn.value.length == 0)
	{
	    msg+="Please enter an objective." + cr;
	    return false;
    }
    else if(cn.value.length > 1000)
	{
		msg+="Please enter up to 1000 chars only. \n";
		return false;
	}
		
	return true;
}

function verify_COMMENTS(f) {
	var cn = f.elements["comments"];
	
	if(cn.value.length > 1000)
	{
		msg+="Please enter up to 1000 chars only. \n";
		return false;
	}
   
	return true;
}

function verify_MANAGERNAME(f) {
	var cn = f.elements["manager_id"];
	
	if(cn.value.length == 0)
	{
	    msg+="Please enter a manager/sponsor name." + cr;
	    //cn.value="";
	    return false;
    }
		
	return true;
}

function verify_GEOGRAPHIC(f) {
	var cn = f.elements["geography_id"];
	var tn = f.elements["geography_country_code"];
	if((cn.value.length == 0 && tn.value.length == 0) || (cn.value.length == 0 && tn.value.length == 0))
	{
		msg+="Please select a geography focus (either region or country). \n";
		//cn.value="";
		tn.value="";
		return false;
	}

	return true;
}

function verify_THREEYEARRETURN(f) {
	var cn = f.elements["three_yr_return"];

	if(verifyRequiredAlphaNumeric(cn))
	{
		msg+="Please enter a valid 3 yr return. \n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_FIVEYEARRETURN(f) {
	var cn = f.elements["five_yr_return"];

	if(verifyRequiredAlphaNumeric(cn))
	{
		msg+="Please enter a valid 5 yr return. \n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_ANNUALFEE(f) {
	var cn = f.elements["annual_fees"];

	if(verifyNotRequiredAlphaNumeric(cn))
	{
		msg+="Please enter a valid annual fee. \n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_SUBSCRIPTIONLOAD(f) {
	var cn = f.elements["subscr_load"];

	if(verifyNotRequiredAlphaNumeric(cn))
	{
		msg+="Please enter a valid subscription load. \n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_REDEMPTIONLOAD(f) {
	var cn = f.elements["redemp_load"];

	if(verifyNotRequiredAlphaNumeric(cn))
	{
		msg+="Please enter a valid redemption load. \n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_NUMBERSECURITIES(f) {
	var cn = f.elements["num_securities"];

	if(verifyNotRequiredAlphaNumeric(cn))
	{
		msg+="Please enter a valid Securities in Portfolio. \n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_ANNUALASSET(f) {
	var cn = f.elements["annual_turnover"];

	if(verifyNotRequiredAlphaNumeric(cn))
	{
		msg+="Please enter a valid Annual Asset. \n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_FUNDBETA(f) {
	var cn = f.elements["fund_beta"];

	if(verifyNotRequiredAlphaNumeric(cn))
	{
		msg+="Please enter a valid Fund Beta. \n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_FUNDSHARPERATIO(f) {
	var cn = f.elements["fund_sharpe"];

	if(verifyNotRequiredAlphaNumeric(cn))
	{
		msg+="Please enter a valid Fund Sharpe Ratio. \n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_FUNDSORTINORATIO(f) {
	var cn = f.elements["fund_sortino"];

	if(verifyNotRequiredAlphaNumeric(cn))
	{
		msg+="Please enter a valid Fund Sortino Ratio. \n";
		//cn.value="";
		return false;
	}

	return true;
}

function verify_EFFECTIVEDATE(f)
{
    var cn = f.elements["eff_dt"];

	if(!IsNumeric(cn,"-"))
	{
		msg+="Please enter an effective date. \n";
		//cn.value="";
		return false;
	}
	return true;
}

function verify_FREQUENCY(f) {
	var cn = f.elements["frequency_id"];
	
	if(cn.value != null && cn.value.length == 0)
	{
	    msg+="Please enter a frequency." + cr;
	    //cn.value="";
	    return false;
    }
		
	return true;
}

function verify_INDEXSHORTNAME(f) {
	return verifyName(f, "short_name", "index short name");
}

function verify_INDEXLONGNAME(f) {
	return verifyName(f, "long_name", "index long name");
}

function verify_INDEXSTATUS(f)
{
    if (!isSTATUS(f, 'status_id'))
    {
     msg+="Please select an index status. \n";
     return false;
    }
	return true;
}

function verify_COMMON_PAYMENT(f)
{

	var checkIn = true;
	
	var level = getUSERLEVEL(f);
    if (level == '1' || level == '4' || level == '5')
    {
    
	if(f_validateCardType(f) == false)
	{	
		checkIn = false;	
	}

	if(f_validateCreditCardLastDigits(f) == false)
	{	
		checkIn = false;	
	}
	
	if(f_validateExpMonth(f) == false)
	{	
		checkIn = false;	
	}
	
	if(f_validateChargeAmount(f) == false)
	{	
		checkIn = false;	
	}
	
	if(verify_STREETADDRESS(f) == false)
	{	
		checkIn = false;	
	}
	
	if(verify_STREETADDRESS2(f) == false)
	{
		checkIn = false;	
	}
	
	if(verify_CITY(f) == false)
	{	
		checkIn = false;	
	}
	
	if(verify_STATEPROVIDENCE(f) == false)
	{
		checkIn = false;	
	}
	
	if(verify_POSTALCODE(f) == false)
	{
		checkIn = false;	
	}
	
	if(verify_COUNTRY(f) == false)
	{
		checkIn = false;	
	}
	
	if(verify_TELEPHONE(f) == false)
	{	
		checkIn = false;	
	}
	
	if(verify_FAX(f) == false)
	{	
		checkIn = false;
	}
	
	}
	
	return checkIn;
}

function verifyName(f, fieldName, fieldLabel) {
	var cn = f.elements[fieldName];
	
	if(cn.value.length == 0)
	{
	    msg+="Please enter " + fieldLabel + cr;
	    //cn.value="";
	    return false;
    }
    
    if(cn.value.length > 0 && (verifyRequiredAlphaNumeric(cn) || IsAllSpace(cn)))
    {
	    msg+="Please enter a valid " + fieldLabel + cr;
	    //cn.value="";
	    return false;
    }
		
	return true;
}

function verifyNotRequiredAlphaNumeric(cn) {
	return cn.value != null && cn.value.length != 0 && verifyRequiredAlphaNumeric(cn);
}

function verifyRequiredAlphaNumeric(cn) {
	return !IsAlphaNumeric(cn,",'$[]{}.+%-#&*!@^_()/:; ");
}

///////////////////////////////////////
// Utiliy functions
///////////////////////////////////////

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}

function f_stripSpaces(e){
	var s = e.value;
	return (s.replace(/^\W+/,'')).replace(/\W+$/,'');
}

function isAlphaNumeric(inputVal) {
  var inputStr = inputVal.toString();
  if (inputStr.length == 0) {
    return false;
  } 
  for (var i=0; i<inputStr.length; i++) {
    var oneChar = inputStr.charAt(i);
    if (!(isLetter(oneChar) || isDigit(oneChar))) return false;
  }
  return true;
}

function isNumeric(inputVal) {
  var inputStr = inputVal.toString();
  if (inputStr.length == 0) {
    return false;
  }
  for (var i=0; i<inputStr.length; i++) {
    var c = inputStr.charAt(i);
    if (!isDigit(c)) return false;
  }
  return true;
}

function isAlpha(inputVal) {
  var inputStr = inputVal.toString();
  if (inputStr.length == 0) {
    return false;
  } 
  for (var i=0; i<inputStr.length; i++) {
    var oneChar = inputStr.charAt(i);
    if (!isLetter(oneChar)) return false;
  }
  return true;
}

function IsNumeric(a,addChars) {
	var i;
	if (a.value.length == 0) {
	   return false;
	}
	for(i=0;i < a.value.length;i++) {
		var c=a.value.charAt(i);
		if (!isDigit(c) && !isCharInString(c,addChars)) return false;
	}
	return true;
}

function IsAlphaNumeric(a,addChars) {
	var i;
	if (a.value.length == 0) {
		return false;
	}
	for(i=0;i<a.value.length;i++) {
		var c=a.value.charAt(i);
		if (!isDigit(c) && !isLetter(c)	&& !isCharInString(c,addChars)) {
			return false;
		}
	}
	return true;
}

function IsAlpha(a,addChars) {
	var i;
	if (a.value.length == 0) {
		return true;
	}
	for(i=0;i<a.value.length;i++) {
		var c=a.value.charAt(i);
		if (!isLetter(c) && !isCharInString(c,addChars)) {
			return false;
		}
	}
	return true;
}

function IsAllSpace(a) {
	var i;
	if (a.value.length == 0) {
		return true;
	}
	var result=true;
	for(i=0;i<a.value.length;i++) {
		var c=a.value.charAt(i);
		if (!isCharInString(c," ")) {
			result = false;
		}
	}
	return result;
}

function isLetter(c) {
	return(((c>="a")&&(c<="z"))||((c>="A")&&(c<="Z")))
}

function isDigit(c) {
	return((c>="0")&&(c<="9"))
}

function isCharInString(sc,s) {
	return(!sc||!s)?false:(s.indexOf(sc)>-1)?true:false;
}

function isEmail(str) {

                var at="@";
                var dot=".";
                var lat=str.indexOf(at);
                var lstr=str.length;
                var ldot=str.indexOf(dot);
                if (str.indexOf(at)==-1) {
                   return false;
                }

                if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) {
                   return false;
                }

                if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
                    return false;
                }

                 if (str.indexOf(at,(lat+1))!=-1){
                    return false;
                 }

                 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
                    return false;
                 }

                 if (str.indexOf(dot,(lat+2))==-1){
                    return false;
                 }

                 if (str.indexOf(" ")!=-1){
                    return false;
                 }

                 return true;
        }

function atLeastOneRadioButtonSelected(radioButton) {
	if (radioButton.length == undefined) {
		return radioButton.checked;
	}
	for (i=0; i < radioButton.length; i++) {
		if (radioButton[i].checked == true) {
			return true;
		}
	}
	return false;
}

function populateDays(frm,name)
{
	var daysInMonth = new Array(31,31,28,31,30,31,30,31,31,30,31,30,31);
	var noofDays = 31;
	var strIdx = name.lastIndexOf(".");
	var remString = name.substr(strIdx+1,name.length);
	var prefix = name.substr(0,strIdx+1)+"date";
	
	var monthSelected = document.forms[frm.name].elements[prefix+"Month"].selectedIndex;
	var daySelected = document.forms[frm.name].elements[prefix+"Day"].selectedIndex;

	if(monthSelected!=2)
	{
	 noofDays = daysInMonth[monthSelected];
	}
	else
		{
			var year = document.forms[frm.name].elements[prefix+"Year"][document.forms[frm.name].elements[prefix+"Year"].selectedIndex].value;
			
			if (year%4 != 0)
                 {noofDays=daysInMonth[2];}
             else if (year%400 == 0)
                 {noofDays=daysInMonth[2]+1;}
             else if (year%100 == 0)
                 {noofDays=daysInMonth[2];}
             else
                 {noofDays=daysInMonth[2]+1;}
                 
		}

	var fieldName = prefix+"Day";
	populateDayValues(frm,fieldName,noofDays,daySelected);
}

function populateDayValues(frm,fieldName,noOfDays,daySelected)
{
	document.forms[frm.name].elements[fieldName].options.length = 0;
	document.forms[frm.name].elements[fieldName].options[0]=new Option("---","---",false,false);
	for(i=1;i<=noOfDays;i++)
	{
	    dayValue = "" + i;
	    if (i <= 9)
	    {
	       dayValue = "0" + i;
	    }
		document.forms[frm.name].elements[fieldName].options[i]=new Option(dayValue,dayValue,false,false);
	}
	document.forms[frm.name].elements[fieldName].options[daySelected].selected = true;
}

function submitenter(myfield,e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;

if (keycode == 13)
   {
   myfield.form.submit();
   return false;
   }
else
   return true;
}
