var new_fieldname = ""
function check(form,x)
{
        //If you would like to use this script please do not remove the next 4 lines
        script_name = "Form Validator ver 2.0"
        action =  "Checks Required, Integer and Date"
        copyright = "(c) 1998 - Art Lubin / Artswork"
        email = "perflunk@aol.com"
        var set_up_var = doall(script_name, copyright, email)
        var message = ""
        var more_message = ""
        var showmsg = "no"
        if (set_up_var == 5872) {
                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_") {     more_message = r_check(form,x,fieldname,i) }
                        else if (messenger == "i_"){ more_message = i_check(form,x,fieldname,i) }
                        else if (messenger == "d_"){ more_message = d_check(form,x,fieldname,i) }
                        else if (messenger == "e_"){ more_message = e_check(form,x,fieldname,i) }
                        else if (messenger == "t_"){ more_message = t_check(form,x,fieldname,i) }
                        else if (messenger == "p_"){ more_message = p_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" }
                        }
                }

                //This code will prevent a submit if data is incorrect
                if (showmsg == "yes"){ alert("De volgende fout heeft zich voorgedaan:\n\n" + message + "\n\nWijzig deze gegevens en probeer het opnieuw.") }
                else { form.submit() }
       }
        else {
             alert ("The copyright information has been changed. \n In order to use this javascript please keep the copyright information intact. \n\n Script Name: Form Validator ver 2.0 \n Copyright: (c) 1998 - Art Lubin / Artswork \n Email: perflunk@aol.com")
        }
}

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)
}

function i_check(form,x,fieldname,i){
   for (var y = 0; y <= x; y++){
      if (form.elements[y].name == fieldname)
      break
   }
   var msg_addition = ""
   var decimal = ""
   inputStr = form.elements[y].value.toString()

   if (inputStr == "") {
      //msg_addition = form.elements[i].value
   }
   else {
      for (var c = 0; c < inputStr.length; c++) {
         var oneChar = inputStr.charAt(c)
            if (c == 0 && oneChar == "-" || oneChar == "."  && decimal == ""){
                if (oneChar == "."){ decimal = "yes" }
                continue
            }
            if (oneChar < "0" || oneChar > "9") {
                msg_addition = form.elements[i].value
            }
      }
  }
  return(msg_addition)
}

function e_check(form,x,fieldname,i) {
   for (var y = 0; y <= x; y++) {
      if (form.elements[y].name == fieldname)
      break
   }
   var msg_addition = ""
   period = ".";
   if (form.elements[y].value == ""){
       return("")
   }
   else {
       if (form.elements[y].value.indexOf ('@', 0) < 1) {
			error = 1;
	   }
       else {
          test = form.elements[y].value.indexOf('.', form.elements[y].value.indexOf ('@', 0))
          if (test != -1) error = 0;
          else error=1;
       }
       if (error == 1) msg_addition = form.elements[i].value
       else {
          new_length = form.elements[y].value.length - test
		  if (new_length == 5 || new_length == 4 || new_length == 3 || (new_length >= 6 && form.elements[y].value.indexOf ('.', (test+1)) != -1)) {
             msg_addition = ""
          }
          else msg_addition = form.elements[i].value;
       }
       return(msg_addition)
   }
}

  function d_check(form,x,fieldname,i)     //nieuwe functie voor datum controle!!! 3-8-2008
  {
       for (var y = 0; y <= x; y++)
      {
        if (form.elements[y].name == fieldname)
          break
        }
    var field = form.elements[y].value
    var minYear = 1902;
    var maxYear = (new Date()).getFullYear() + 1;
    var errorMsg = "";

    // regular expression to match required date format
    re = /^(\d{1,2})-(\d{1,2})-(\d{4})$/;

    if(field != '') {
      if(regs = field.match(re)) {
        if(regs[1].length<2 || regs[1] < 1 || regs[1] > 31) {
          errorMsg = "Onjuiste dag ingevuld: " + regs[1] + " (Opmaak: DD-MM-JJJJ)";
        } else if(regs[2].length<2 || regs[2] < 1 || regs[2] > 12) {
          errorMsg = "Onjuiste maand ingevuld: " + regs[2] + " (Opmaak: DD-MM-JJJJ)";
        } else if(regs[3].length<4 || regs[3] < minYear || regs[3] > maxYear) {
          errorMsg = "Onjuist jaar ingevuld: " + regs[3] + " - Dit moet liggen tussen " + minYear + " en " + maxYear + " en moet bestaan uit 4 cijfers";
        }
      } else {
        errorMsg = "Datumopmaak fout: " + field + " (Opmaak: DD-MM-JJJJ)";
      }
    }

    if(errorMsg != "") {
      return(fieldname + " - " + errorMsg);
      field.focus();
    }

    return "";
  }
  //nieuwe functie voor telefoon controle!!! 13-10-2008
  function t_check(form,x,fieldname,i) {
       for (var y = 0; y <= x; y++) {
        if (form.elements[y].name == fieldname)
          break
        }
    var field = form.elements[y].value
    var errorMsg = "";
    var newfield="";

    if(field != '') {
//        if(field.length<10 || field.length>10 ) {
            for (var i = 0; i < field.length; i++){
                var oneChar = field.charAt(i)
                if (oneChar >= "0" && oneChar <= "9") {
                    newfield=newfield + oneChar;
                }
            }
            form.elements[y].value=newfield;
            field = form.elements[y].value
            if(field.length<10 || field.length>10 ) {
                errorMsg = "Telefoonnummer bestaat niet uit 10 getallen: " + field;
            }
//        }
    }

    if(errorMsg != "") {
      return(fieldname + " - " + errorMsg);
      field.focus();
    }
    return "";
  }


  //nieuwe functie voor postcode controle!!! 04-12-2008
  function p_check(form,x,fieldname,i) {
       for (var y = 0; y <= x; y++) {
        if (form.elements[y].name == fieldname)
          break
        }
    var field = form.elements[y].value
    if(field != '') {
        var errorMsg = "";
        form.elements[y].value = field.toUpperCase();
        rExp = /^([0-9][0-9][0-9][0-9] [A-Z][A-Z])$/;
        OK = rExp.exec(form.elements[y].value);
        if (!OK){
           errorMsg = "Het veld postcode is niet juist gevuld. De notatie moet zijn: '1234 AB'";
        }
        if(errorMsg != "") {
          return(errorMsg);
          field.focus();
        }
    }
    return "";
  }

        function isInteger(sDate) {
                var new_msg = "true"
                inputStr = sDate.toString()
                for (var i = 0; i < inputStr.length; i++){
                        var oneChar = inputStr.charAt(i)
                        if ((oneChar < "0" || oneChar > "9") && oneChar != "/"){
                              new_msg = "false"
                        }
                }
                return (new_msg)
        }

        function doall(script_name, copyright, email){
        var code = 0
        var test = script_name + copyright + email
        for (var a = 0; a < test.length; a++)
                {
                var each_char = test.charAt(a)
                var x = asc(each_char)
                code += x
                }
        return (code)
        }

        function asc(each_char){
                 var n = 0
                 var char_str = charSetStr()
                 for (i = 0; i < char_str.length; i++){
                      if (each_char == char_str.substring(i, i+1)){ break }
                 }
                 return i + 32
        }

        function charSetStr(){
                 var str
                 str = ' !"#$%&' + "'" + '()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[/]^_`abcdefghijklmnopqrstuvwxyz{|}~'
                 return str
        }

