/**
* function check()
*
* check the fields
*/
function check(form_element, required_field, check_field, check_field_type)
{
  var regNumeric = /^[\-0-9\.]{1,}$/;
  var regEmail   = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  var regUrl     = /(((file|gopher|news|nntp|telnet|http|ftp|https|ftps|sftp):\/\/)|(www\.))*(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(\/[a-zA-Z0-9\&amp;%_\.\/-~-]*)?/;

  form_num = form_element.length;
  for(i=0; i<form_num; i++)
  {
    name = form_element[i].name;
    value = form_element[i].value;

    if(!value && required_field[name])
    {
      alert(required_field[name]);
      form_element[i].focus();
      return false;
    }
    if(value && check_field[name])
    {
      switch(check_field_type[name]) {
        case 'email': regCheck = regEmail;
          break;

        case 'numeric': regCheck = regNumeric;
          break;

        case 'url': regCheck = regUrl;
          break;
      }
      if(regCheck.exec(value) == null)
      {
        alert(check_field[name]);
        form_element[i].focus();
        return false;
      }
    }
    if(form_element[i].type == 'radio' && required_field[name])
    {
      j = i; selected = false;
      while(form_element[i].type == 'radio' && form_element[i].name == name)
      {
        if(form_element[i].checked) selected = true;
        i++;
      }
      i--
      if(!selected)
      {
        alert(required_field[name]);
        form_element[j].focus();
        return false;
      }
    }
  }


  return true;
}
