function controleerNumberRangeMetMelding(obj, minVal, maxVal, naam)
{
  if (eval(minVal) > eval(obj.value))
  {
    alert("Minimum waarde van " + naam + " is " + minVal);
    obj.focus();
    return(false);
  }

  if (eval(obj.value) > eval(maxVal))
  {
    alert("Maximum waarde van " + naam + " is " + maxVal);
    obj.focus();
    return(false);
  }

  return(true);
}

function controleerVeldIngevuld(obj, naam)
{
  if (obj.value == "")
  {
    alert("Veld " + naam + " is verplicht");
    obj.focus();
    return (false);
  }
  return(true);
}

function controleerVeldIngevuldNoFocus(obj, naam)
{
  if (obj.value == "")
  {
    alert("Veld " + naam + " is verplicht");
    return (false);
  }
  return(true);
}

function controleerLengteString(obj, minNumChars, maxNumChars, numChars, naam)
{
  if (!controleerLengteStringByValue(obj.value, minNumChars, maxNumChars, numChars, naam))
  {
    obj.focus();
    return(false);
  }
  return (true);
}

function controleerLengteStringByValue(objValue, minNumChars, maxNumChars, numChars, naam)
{
  melding1 = "Het veld " + naam + " moet uit " + numChars + " karakters bestaan";
  melding2 = "Het veld " + naam + " bevat te weinig karakters (minimaal: " + minNumChars + ")";
  melding3 = "Het veld " + naam + " bevat te veel karakters (maximaal: " + maxNumChars + ")";

  if (numChars != objValue.length && 0 < numChars)
  {
    alert(melding1);
    return(false);
  }

  if (minNumChars > objValue.length && 0 <= minNumChars)
  {
    alert(melding2);
    return(false);
  }

  if (maxNumChars < objValue.length && 0 <= maxNumChars)
  {
    alert(melding3);
    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 de tekst komen karakters voor die niet zijn toegestaan (toegestaan: " + allowedChars + ")");
      obj.select();
      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("Veld " + naam + " mag alleen getallen bevatten");
      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("Veld " + naam + " mag alleen getallen bevatten");
      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 controleerFileExtensionMetMelding(obj, extArray, naam)
{
  melding = "Bestandstype in veld " + naam + " is niet toegestaan";

  allowSubmit = false;
  file = obj.value;

  while (file.indexOf("\\") != -1)
    file = file.slice(file.indexOf("\\") + 1);

  ext = file;

  while (ext.indexOf(".") != -1)
    ext = ext.slice(ext.indexOf(".") + 1);

  ext = "." + ext.toLowerCase();

  for (var i = 0; i < extArray.length; i++)
  {
    if (extArray[i] == ext)
      allowSubmit = true;
  }

  if (!allowSubmit)
  {
    alert(melding);
    obj.focus();
    return (false);
  }

  return (true);
}

