function controleerWachtwoordInDatabase(obj, pv_id, pda_id)
{
  var windowUrl = 'validatieFuncties.asp?page=controleerWachtwoordInDatabase&wachtwoord=' + obj.value + '&pvid=' + pv_id + '&pdaid=' + pda_id;
  var windowPos = "dialogWidth=375px; dialogHeight:130px; center:yes";

  validatieFunctiesRes = window.showModalDialog(windowUrl, null, windowPos);
  if (validatieFunctiesRes != 0)
  {
    return (false);
  }

  return(true);
}


function controleerGelijkZijnWachtwoorden(obj1, obj2, naam)
{
  if (obj1.value != obj2.value)
  {
    alert("De ingevoerde wachtwoorden in " + naam + " zijn niet gelijk");
    obj1.select();
    obj1.focus();
    return(false);
  }
  return(true);
}


function validateEmailFlicks(obj, methode, naam)
{
  if (obj.value.length > 0)
  {
    var windowUrl = 'validatieFuncties.asp?page=validateEmailFlicks&email=' + obj.value + '&methode=' + methode;
    var windowPos = "dialogWidth=375px; dialogHeight:130px; center:yes";
    
    validatieFunctiesRes = window.showModalDialog(windowUrl, null, windowPos);
    if (validatieFunctiesRes != 0)
    {
      alert("E-mail adres in " + naam + " voldoet niet aan validatie regels");
      obj.select();
      obj.focus();
      return (false);
    }
  }
  return(true);
}


function checkStringContentMetMelding(obj, allowedChars, naam)
{
  for (var i = 0; i < obj.value.length; i++)
  {
    var c = obj.value.charAt(i)

    if (allowedChars.indexOf(c) == -1)
    {
      alert("In " + naam + " komen karakters voor die niet zijn toegestaan (toegestaan: " + allowedChars + ")");
      obj.select();
      obj.focus();
      return (false);
    }
  }
  
  return (true);
}


function controleerNumberRangeMetMelding(obj, minVal, maxVal, naam)
{
  if (eval(minVal) > eval(obj.value))
  {
    alert("De minimale waarde van het veld " + naam + " is " + minVal);
    obj.focus();
    return(false);
  }
    
  if (eval(obj.value) > eval(maxVal))
  {
    alert("De maximale waarde van het veld " + naam + " is " + maxVal);
    obj.focus();
    return(false);
  }
  
  return(true);
}


function controleerFileExtensionMetMelding(obj, extArrayStr)
{
  extArray = new Array(extArrayStr);
  allowSubmit = false;
  file = obj.value;

  while (file.indexOf("\\") != -1)
    file = file.slice(file.indexOf("\\") + 1);

  ext = file.slice(file.indexOf(".")).toLowerCase();

  for (var i = 0; i < extArray.length; i++)
  {
    if (extArray[i] == ext)
      allowSubmit = true;
  }

  if (!allowSubmit)
  {
    alert("Bestandstype niet toegestaan.");
    obj.focus();
    return (false);
  }

  return (true);
}


function controleerVeldIngevuld(obj, naam)
{
  if (obj.value == "")
  {
    alert("Het veld " + naam + " is een verplicht veld");
    obj.focus();
    return (false);
  }
  
  return(true);
}

function controleerLengteString(obj, minNumChars, maxNumChars, numChars, naam)
{
  if (numChars != obj.value.length && 0 < numChars)
  {
    alert("Het veld " + naam + " moet uit " + numChars + " karakters bestaan");
    obj.focus();
    return(false);
  }
  
  if (minNumChars > obj.value.length && 0 <= minNumChars)
  {
    alert("Het veld " + naam + " bevat te weinig karakters");
    obj.focus();
    return(false);
  }
  
  if (maxNumChars < obj.value.length && 0 <= maxNumChars)
  {
    alert("Het veld " + naam + " bevat te veel karakters");
    obj.focus();
    return(false);
  }

  return (true);
}

function controleerIntegerSyntaxMetMelding(obj, naam)
{
  for (var i=0;i<obj.value.length;i++)
  {
    var digit=obj.value.charAt(i)
    if (!(digit >= "0" && digit <= "9"))
    {
      alert("In het veld " + naam + " mogen alleen hele getallen ingevuld worden");
      obj.focus();
      return (false);
    }
  }
  return(true);
}


function controleerFloatSyntaxMetMelding(obj, naam)
{
  sepFound = 0;
  
  for (var i=0;i<obj.value.length;i++)
  {
    var digit=obj.value.charAt(i)
    if (!(digit >= "0" && digit <= "9") && ((!(digit == ",")) || (digit == "," && sepFound == 1)) && ((!(digit == ".")) || (digit == "." && sepFound == 1)))
    {
      alert("In het veld " + naam + " mogen alleen decimale getallen ingevuld worden");
      obj.focus();
      return (false);
    }
    
    if (digit == "," || digit == ".")
    {
      sepFound = 1;
    }
  }
  return(true);
}


function controleerInteger(getal)
{
  for (var i=0;i<getal.length;i++)
  {
    var digit=getal.charAt(i)
    if (!(digit >= "0" && digit <= "9"))
    {
      return (false);
    }
  }
  return(true);
}

function controleerFloat(getal)
{
  for (var i=0;i<getal.length;i++)
  {
    var digit=getal.charAt(i)
    if (!(digit >= "0" && digit <= "9") && !(digit == ".") && !(digit == ","))
    {
      return (false);
    }
  }
  return(true);
}

function controleerDate(obj, naam)
{

  for (var i=0;i<obj.value.length;i++)
  {
    var digit = obj.value.charAt(i)
    if (!(digit >= "0" && digit <= "9"))
    {
      alert("In het veld " + naam + " mogen alleen cijfers voorkomen (JJJJMMDD)");
      obj.focus();
      return(false);
    }
  }

  jaar = eval(obj.value.substring(0,4));
  maand = eval(obj.value.substring(4,6));
  dag = eval(obj.value.substring(6,8));

  if (jaar < 1900 || jaar > 2100)
  {
    alert("In het veld " + naam + " is het jaar ongeldig ingevuld (JJJJMMDD)");
    obj.focus();
    return(false);
  }

  if (maand < 1 || maand > 12)
  {
    alert("In het veld " + naam + " is de maand ongeldig ingevuld (JJJJMMDD)");
    obj.focus();
    return(false);
  }

  if (dag < 1)
  {
    alert("In het veld " + naam + " is de dag ongeldig ingevuld (JJJJMMDD)");
    obj.focus();
    return(false);
  }

  if (maand == 1 || maand == 3 || maand == 5 || maand == 7 || maand == 8 || maand == 10 || maand == 12)
  {
    if (dag > 31)
    {
      alert("In het veld " + naam + " klopt de combinatie van dag en maand niet (JJJJMMDD)");
      obj.focus();
      return(false);
    }
  }

  if (maand == 4 || maand == 6 || maand == 9 || maand == 11)
  {
    if (dag > 30)
    {
      alert("In het veld " + naam + " klopt de combinatie van dag en maand niet (JJJJMMDD)");
      obj.focus();
      return(false);
    }
  }

  if (maand == 2)
  {
    if ((jaar/4) == Math.round(jaar/4))
    {
      if (dag > 29)
      {
        alert("In het veld " + naam + " klopt de combinatie van dag, maand en jaar niet (JJJJMMDD)");
        obj.focus();
        return(false);
      }
    }
    else
    {
      if (dag > 28)
      {
        alert("In het veld " + naam + " klopt de combinatie van dag, maand en jaar niet (JJJJMMDD)");
        obj.focus();
        return(false);
      }
    }
  }

  return(true);
}
