function validate_add_message(widget,msg){
  var span = document.createElement("span");
  span.style.color = "red";
  span.innerHTML = msg;
  widget.parentNode.insertBefore(span,widget);
}
function validate_remove_message(widget){
  while(widget.previousSibling && widget.previousSibling.nodeName == "SPAN"){
    widget.parentNode.removeChild(widget.previousSibling);
  }
}
function validate_set_error(widget,msg){
  var id = document.getElementById('submit_button');
  id.disabled = true;
  validate_add_message(id,"Errors exist. Please correct them.");

  widget.style.border = "1px solid red";
  validate_add_message(widget,msg);

}
function validate_clear_error(widget){
  var id = document.getElementById('submit_button');
  validate_remove_message(widget);
  id.disabled = false;
  widget.style.border = "";
  validate_remove_message(widget);
  validate_remove_message(id);

}
function validate_email(widget){
  validate_clear_error(widget);
  if(/^\s*[a-zA-Z0-9_]+@[a-zA-Z0-9]+\.[a-zA-Z]{3,3}\s*$/.test(widget.value)) return;
  validate_set_error(widget,"Please enter valid email address including '@' and .com , .net, .org or .edu");

}
function validate_zip(widget){
  validate_clear_error(widget);
  if(/^\s*\d{5}\s*$/.test(widget.value)) return;
  validate_set_error(widget,"Please enter 5 digits");

}
