<!--

// check_form validates the given form for required values
// - required values are have error messages marked as 'r_'
function check_form (f) {

	var i; //loop variable
	var msg = "";
	var tmp = "";
	var msg_h = "The following information are required and must be provided:";
	var msg_f = "Please complete and/or correct the form before submitting again.";
	var formfields = new Array();
	var required = new Array();

	//use given header/footer (args 2 & 3) if provided
	if (f.error_header) msg_h = f.error_header.value;
	if (f.error_footer) msg_f = f.error_footer.value;

	//create a list of the required field names
	for (i = 0; i < f.elements.length; i++) {
		var field = f.elements[i];
	
		//check if the form field can be read 
		//(e.g. fieldsets are considered a form element but have an 'undefined' type - they should be ignored by the script)
		if (field.type) {
			if(field.name.substring(0, 2) == "r_") {
				//add field name to the required fields list
				required[field.name.substring(2)] = field.value;
			} else if (field.name != "") {
				//add normal form fields to the formfields array
				if (field.type == "radio" || field.type == "checkbox") {
					if (formfields[field.name] == null) {
						formfields[field.name] = field.checked;
					} else {
						formfields[field.name] = formfields[field.name] || field.checked;
					}
				} else if (field.type == "select-one") {
					formfields[field.name] = field.selectedIndex > 0;
				} else if (field.type == "select-multiple") {
					formfields[field.name] = field.selectedIndex > -1;
				} else if (field.type == "text" || field.type == "file" || field.type == "textarea") {
					formfields[field.name] = field.value.replace(/^\s+/,'').replace(/\s+$/,'') != "";
				} else {
					//do nothing - for field type submit, hidden
//					alert("can't validate type " + field.type);
				}
			}
		}
	}

	//loop over required fields list and check that they have a value in the form
	for (var fieldname in required) {
		if (!formfields[fieldname]) {
			tmp = " - " + required[fieldname];
		}

		if (tmp != "") {
			msg = msg + tmp + "\n";
			tmp = "";
		}
	}

	//output error message if there is one
	if (msg != "") {
		alert(msg_h + "\n\n" 
			+ msg + "\n" 
			+ msg_f);
		//stop form from submitting
		return false;
	} else {
		//submit form
		return true;
	}

}




//----------------- old script 

//ezboard form validation 2000 KK, JR.o
// -- thanks Kevin K! Surf's up. -- //
//OK Lets validate the form

var new_fieldname = ""

function check(form,x)
{

  var message = ""
  var more_message = ""
  var showmsg = "no"

  x = x - 1
  for (var i = 0; i <= x; i++)
  {
    var messenger = form.elements[i].name
    messenger = messenger.substring(0, 2)
    var fieldname = form.elements[i].name
    fieldname = fieldname.substring(2)

    {
      if (messenger == "r_")						//check for required elements
      {
        more_message = r_check(form,x,fieldname,i)
      }
      else if (messenger == "e_")					//check for email address
      {
        more_message = e_check(form,x,fieldname,i)
      }
      
      if (more_message != "")
      {
        if (message == "")
        {
          message = more_message
          more_message=""
        }
        else
        {
          message = message + "\n" + more_message
          more_message=""
        }
      }

      if (message > "")
      {
        showmsg = "yes"
      }                                                                                     }
  }

  if (showmsg == "yes")
  {
    alert(form.error_header.value + "\n\n" + message + "\n\n" + form.error_footer.value);
	return false;
  }
  else
  {
  form.submit()
  }
 
}

//Check for required fields
function r_check(form,x,fieldname,i)
{
var msg_addition = ""
new_fieldname = fieldname
for (var y = 0; y <= x; y++)
  {
    if ((form.elements[y].type == "radio" || form.elements[y].type == "checkbox") && form.elements[y].name == new_fieldname && form.elements[y].checked == true)
    {
      msg_addition = ""
      break
    }
    else if ((form.elements[y].type == "radio" || form.elements[y].type == "checkbox") && form.elements[y].name == new_fieldname && form.elements[y].checked == false)
    {
      msg_addition = form.elements[i].value
    }
    else if (form.elements[y].type == "select-one")
    {
      var l = form.elements[y].selectedIndex
      if (form.elements[y].name == fieldname && form.elements[y].options[l].value != "")
      {
        msg_addition = ""
        break
      }
      else if (form.elements[y].name == fieldname && form.elements[y].options[l].value == "")
      {
        msg_addition = form.elements[i].value
      }
    }
    else if (form.elements[y].name == fieldname && form.elements[y].value == "" && form.elements[y].type != "radio" && form.elements[y].type != "checkbox" && form.elements[y].type != "select-one")
    {
      msg_addition = form.elements[i].value
      break
    }
    else if (form.elements[y].name == fieldname && form.elements[y].value != "" && form.elements[y].type != "radio" && form.elements[y].type != "checkbox" && form.elements[y].type != "select-one")
    {
      msg_addition = ""
    }
  }
  return(msg_addition)
}


//-->