//##########################################
function checkForm(frm)
{
	var msg = "";
	var ymsg = "";
	var omsg = "";
	var done = false;


	if(frm.name.value == "")
		msg += "\n   Your Forename.     ";
	
	if(frm.email.value == "" || (!isEmail(frm.email.value)))
		msg += "\n   A valid email address.";
	if(frm.telephone.value != "" && (!is_number(frm.telephone.value)))
		msg += "\n   A valid  telephone number.     ";
	
	if(frm.yacht_engine.value == "")
		ymsg += "\n   Your engine make.     ";
	if(frm.yacht_eng_model.value == "")
		ymsg += "\n   Your engine model.     ";
	if(frm.yacht_sae3.value == "" || frm.yacht_sae4.value == "")
		ymsg += "\n   The engine SAE Horsepower.     ";
	if(frm.yacht_gear_ahead.value == "")
		ymsg += "\n   The Reduction Gear Ratio.     ";
	if(frm.yacht_ratio.value == "")
		ymsg += "\n   Rotation in Ahead when viewed from Astern.     ";
	if(frm.prop_shaft_dia.value == "")
		ymsg += "\n   The Shaft diameter.     ";
		
	if(ymsg != "")
		msg += "\n\nYacht Information:" + ymsg;
		
	if(frm.units.options[frm.units.selectedIndex].text == "Please select ->")
		omsg += "\n   The measurement units used.     ";

	if(omsg != "")
		msg += "\n\nOther Information:" + omsg;
		
	if(msg != ""){
		alert("Please supply the following:     \n" + msg);
		return false;
	}else{
		return true;
	}
}
//####################  TELEPHONE FUNCTION  #########
function is_number(num)
{
	var supported = 0;
  if (window.RegExp) {
 		var r1 = new RegExp("[^0-9 ]");
		return (!r1.test(num))
  }
}
//####################  EMAIL FUNCTION  ###############
function isEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,4})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}


