/**
* function check()
*
* check the fields
*/
function check(form_element, check) {
  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;%_\.\/-~-]*)?/;
  var regArray = {'required':'', 'numeric':regNumeric, 'email':regEmail, 'url':regUrl};

  form_num = form_element.length;
  for(i=0; i<form_num; i++) {
    var name = form_element[i].name;
    var value = form_element[i].value;

    var check_name = check[name];
    if(check_name) {
      for(var ck in check_name) {
        if(check_name[ck]) {
          if(!value && ck=='required') {
            alert(check_name[ck]);
            form_element[i].focus();
            return false;
          }
          else if(value) {
            if(regCheck = regArray[ck]) {
              if(regCheck.exec(value) == null) {
                alert(check_name[ck]);
                form_element[i].focus();
                return false;
              }
            }
          }

          if(ck == 'required' && form_element[i].type == 'radio') {
            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(check_name[ck]);
              form_element[j].focus();
              return false;
            }
          }
        }
      }
    }
  }

  return true;
}