<!--

var new_fieldname = "";
var W3CDOM = (document.getElementsByTagName && document.createElement);
var invalidControls = new Array();
var invalidMessages = new Array();
var alertControls = new Array();

function check(form,x)
{
  var message = "";
  var more_message = "";
  var showmsg = "no";

  if (W3CDOM)
  {
    // Clear previous states
    if (invalidControls.length > 0)
    {
      for (var i = 0; i < invalidControls.length; i++)
      {
        invalidControls[i].style.backgroundColor = "white";
      }
      invalidControls.length = 0;
    }
    invalidMessages.length = 0;
    if (alertControls.length > 0)
    {
      for (var i = 0; i < alertControls.length; i++)
      {
        alertControls[i].parentNode.removeChild(alertControls[i]);
      }
      alertControls.length = 0;
    }
  }

  x = x - 1;
  for (var i = 0; i <= x; i++)
  {
    var messenger = form.elements[i].name;
    if (messenger != null)
    {
      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);
      }

      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 incoorect
  if (showmsg == "yes")
  {
    if (W3CDOM)
    {
      if (invalidControls.length > 0)
      {
        var errorMessages = document.getElementById("errorMessages"); 
        for(inputElement in invalidControls )
        {
           invalidControls[inputElement].style.backgroundColor = "#f8dbbb";
  
           var newp = document.createElement('div');
           newp.name = "alert";
           newp.className = "Alert";

           var text = document.createElement('div');
           text.className = "AlertText";
           text.innerText = invalidMessages[inputElement];

           var br = document.createElement('br');
           
           alertControls.push(newp);
           alertControls.push(text);
           alertControls.push(br);
  
           errorMessages.appendChild(newp);
           errorMessages.appendChild(text);
           errorMessages.appendChild(br);

        }
        invalidControls[0].focus();
      }
    }
    else
      alert("De volgende velden zijn incompleet of incorrect:\n\n" + message + "\n\nCorrigeer de gegevens en verstuur opnieuw.");
  }
  else
  {
    form.submit();
  }
}

function r_check(form,x,fieldname,i)
{
  var msg_addition = "";
  var inputElement = null;
  var elementName = "";
  new_fieldname = fieldname;

  for (var y = 0; y <= x; y++)
  {
    elementName = form.elements[y].name;
    if (elementName == null)
      continue;

    aspChar = elementName.indexOf('$');
    if (aspChar > 0)
    { 
      elementName = elementName.substring(aspChar + 1);
    }
    
    if (elementName == fieldname)
    {
      inputElement = form.elements[y];
      break;
    }
  }

  if (inputElement == null)
    alert("Niet gebonden controle veld: "+ fieldname);

  if ((inputElement.type == "radio" || inputElement.type == "checkbox") && inputElement.checked == true)
  {
    msg_addition = "";
  }
  else if ((inputElement.type == "radio" || inputElement.type == "checkbox") && inputElement.checked == false)
  {
    msg_addition = form.elements[i].value;
  }
  else if (inputElement.type == "select-one")
  {
    var l = inputElement.selectedIndex;
    if (inputElement.options[l].value != "Maak uw keuze...")
    {
      msg_addition = "";
    }
    else if (inputElement.options[l].value == "Maak uw keuze...")
    {
      msg_addition = form.elements[i].value;
    }
  }
  else if (inputElement.value == "" && inputElement.type != "radio" && inputElement.type != "checkbox" && inputElement.type != "select-one")
  {
    msg_addition = form.elements[i].value;
  }
  else if (inputElement.value != "" && inputElement.type != "radio" && inputElement.type != "checkbox" && inputElement.type != "select-one")
  {
    msg_addition = "";
  }

  if (msg_addition != "")
  {
    invalidControls.push(inputElement);
    invalidMessages.push(msg_addition);
  }

  return(msg_addition);
}

function i_check(form,x,fieldname,i)
{
  var inputElement = null;

  for (var y = 0; y <= x; y++)
  {
    if (form.elements[y].name == fieldname)
    {
      inputElement = form.elements[y];
      break;
    }
  }

  if (inputElement == null)
    alert("Niet gebonden controle veld: "+ fieldname);

  var msg_addition = "";
  var decimal = "";
  inputStr = inputElement.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;
      }
    }
  }

  if (msg_addition != "")
  {
    invalidControls.push(inputElement);
    invalidMessages.push(msg_addition);
  }

  return(msg_addition);
}


//Email validation added 6/20/98
function e_check(form,x,fieldname,i)
{
  var inputElement = null;

  for (var y = 0; y <= x; y++)
  {
    if (form.elements[y].name == fieldname)
    {
      inputElement = form.elements[y];
      break;
    }
  }

  if (inputElement == null)
    alert("Niet gebonden controle veld: "+ fieldname);

  var msg_addition = "";
  period = ".";

  if (inputElement.value == "" || inputElement.value.indexOf ('@', 0) < 3)
    error = 1;
  else
  {
    test = inputElement.value.indexOf('.', inputElement.value.indexOf ('@', 0))
    if (test != -1)
    {
      error = 0;
    }
    else
    {
      error=1;
    }
  }
  if (error == 1)
  {
    msg_addition = form.elements[i].value;
  }
  else
  {
    new_length = inputElement.value.length - test;
    if (new_length == 4 || new_length == 3 || (new_length >= 5 && inputElement.value.indexOf ('.', (test+1)) != -1))
    {
      msg_addition = "";
    }
    else
      msg_addition = form.elements[i].value;
  }
  
  if (msg_addition != "")
  {
    invalidControls.push(inputElement);
    invalidMessages.push(msg_addition);
  }

  return(msg_addition);
}

function d_check(form,x,fieldname,i)
//date must be in dd-mm-yyyy format OR d-m-yy or a MIX of the two
{
  var inputElement = null;

  for (var y = 0; y <= x; y++)
  {
    elementName = form.elements[y].name;
    if (elementName == null)
      continue;

    aspChar = elementName.indexOf('$');
    if (aspChar > 0)
    { 
      elementName = elementName.substring(aspChar + 1);
    }
    
    if (elementName == fieldname)
    {
      inputElement = form.elements[y];
      break;
    }
  }

  if (inputElement == null)
    alert("Niet gebonden controle veld: "+ fieldname);

  var msg_addition = "";
  var sDate = inputElement.value;

  //to allow NO validation unless r_ specified
  if (inputElement.value != "")
  {
    if (!checkdateformat(inputElement))
    {
      var date_array = inputElement.value.split('-');
      var day = date_array[0];
      
      // Attention! Javascript considers months in the range 0 - 11
      var month = date_array[1] - 1;
      var year = date_array[2];

      // This instruction will create a date object
      source_date = new Date(year,month,day);

      msg_addition = form.elements[i].value;

      if(year != source_date.getFullYear())
      {
         msg_addition += " ,'jaartal niet correct'";
      }

      if(month != source_date.getMonth())
      {
         msg_addition += " ,'maand niet correct'";
      }

      if(day != source_date.getDate())
      {
         msg_addition += " ,'dag niet correct'";
      }
    }
  }

  if (msg_addition != "")
  {
    invalidControls.push(inputElement);
    invalidMessages.push(msg_addition);
  }

  //to allow NO validation unless r_ specified CLOSING
  return(msg_addition);
}

function checkdateformat(userinput)
{
  var pattern = new RegExp("[0-3][0-9]-0|1[0-9]-19|20[0-9]{2}");
  if (userinput.value.match(pattern))
    return true;
  else
    return false;
}

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);
}

//-->

