function validate(/*form id*/ frm, /*required field class name*/ classId, /*div element to write error message*/ divElement, /*optional button to disable*/btn, /*optional anchor name*/ anchorName)  {
  var arr_errors=new Array();
  var arrCounter=0;
  if (arguments.length < 3){
    throw new Error("validate called with missing parameters");
    return false;
  }
  if (document.forms[frm].elements.length>0){
    for(var i=0; i<document.forms[frm].elements.length; i++){
      if (document.forms[frm].elements[i].className==classId && document.forms[frm].elements[i].value=="") {
        arr_errors[arrCounter++]=document.forms[frm].elements[i].id.replace("_", " ");
      }
    }
    if (arr_errors.length==0){
      if(btn)
        disableButton(btn);
      return true;
    }
    else{
		document.location.href="#"+anchorName;
		displayError(arr_errors, divElement);
		return false;
    }
  }
}

function displayError(/*array of missing fields*/ arr, /*element to write to*/ el){
  msg="These required fields were left blank. Please fix and re-submit.<br />\n";
  msg+="<ul>";
  for(i=0; i<arr.length; i++){
    msg +="<li>" + arr[i] + "</li>\n";  
  }
  msg+="</ul>\n";
  msg="All fields are required.";
  document.getElementById(el).innerHTML=msg;
  document.getElementById(el).style.display="block";
}
	
function disableButton(/*html element*/ el)  {
  if (el)
    document.getElementById(el).disabled = "true";
  else
    throw new Error("Image named \"" + el + "\" not found in document");
}
