// trim functions
function ltrim(s){
	return s.replace( /^\s*/, "" );
}
function rtrim(s){
	return s.replace( /\s*$/, "" );
}
function trim(s){
	return rtrim(ltrim(s));
}
// email validation
function isEmail(s){
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(s)){
		return (true);
	}
	return (false);
}
// clears all fields in a form
function clearForm(frm){
       for (var i = 0; i < frm.length; i++){
		var e = frm.elements[i];
		if(e.type == "text"){
			e.value = "";
		}
		if(e.type == "select" || e.type == "select-one"){
			e.selectedIndex=0;
		}
	}
}

function fix_Goals_dt()
								{
								document.cfform.Goals_dt.value = document.cfform.Goals_dt_month.value + "/01/" + document.cfform.Goals_dt_year.value;
								}
// form specific validation
function submitForm(frm){
	var err="";
	var indent="\t * ";
	var errCount=0;
	var focusField="";

	fix_Goals_dt(); //Concatenate intended start month year into goals_dt string
	
	if(frm.first_name.value.length==0){
		err+=indent+"First name is required.\n";errCount=errCount+1;
		if(errCount==1){focusField="first_name";}
	}
	if(frm.last_name.value.length==0){
		err+=indent+"Last name is required.\n";errCount=errCount+1;
		if(errCount==1){focusField="last_name";}
	}	
	if(frm.email.value.length==0){
		err+=indent+"E-mail address is required.\n";errCount=errCount+1;
		if(errCount==1){focusField="email";}
	}else{
		if(!isEmail(frm.email.value)){
			err+=indent+"E-mail address is not valid.\n";errCount=errCount+1;
			if(errCount==1){focusField="email";}
		}else{
		if(frm.email.value != frm.email2.value){
			err+=indent+"E-mail addresses do not match. Please re-type same address to confirm.\n";errCount=errCount+1;
			if(errCount==1){focusField="email";}
		}
		}	
	}
	
	if(frm.address1.value.length==0){
		err+=indent+"Address is required.\n";errCount=errCount+1;
		if(errCount==1){focusField="address1";}
	}
	if(frm.city.value.length==0){
		err+=indent+"City is required.\n";errCount=errCount+1;
		if(errCount==1){focusField="city";}
	}
	if(frm.state.options[frm.state.selectedIndex].value.length==0 && (frm.country.options[frm.country.selectedIndex].value=="USA" || frm.country.options[frm.country.selectedIndex].value=="CAN")){
		err+=indent+"State is required.\n";errCount=errCount+1;
		if(errCount==1){focusField="state";}
	}
	if(frm.country.options[frm.country.selectedIndex].value.length==0){
		err+=indent+"Country is required.\n";errCount=errCount+1;
		if(errCount==1){focusField="country";}
	}
	if(frm.Zip.value.length==0 && (frm.country.options[frm.country.selectedIndex].value=="USA" || frm.country.options[frm.country.selectedIndex].value=="CAN")){
		err+=indent+"Zip code is required.\n";errCount=errCount+1;
		if(errCount==1){focusField="Zip";}
	}
	if(frm.phone.value.length==0){
		err+=indent+"Home phone number is required.\n";errCount=errCount+1;
		if(errCount==1){focusField="phone";}
	}
	if(frm.schoolName.value.length==0){
		err+=indent+"Hospital Name is required.\n";errCount=errCount+1;
		if(errCount==1){focusField="schoolName";}
	}
	if(frm.goals.options[frm.goals.selectedIndex].value.length==0){
		err+=indent+"Program of Interest is required.\n";errCount=errCount+1;
		if(errCount==1){focusField="goals";}
	}

	if(errCount==0)
	{
		return true;
	}else{
		separator="_____________________________________________________________________________";
		alertMsg=separator+"\n\nPlease correct the following problem(s):\n\n"+err+"\n"+separator;
		alert(alertMsg);
		eval("frm."+focusField+".focus()");
		return false;
	}
}
