﻿// JScript File
var formtesttype = "normal";
var foutmeldingen;
function addEvent(obj, type, fn)
{
  if(obj.attachEvent)
  {
    obj['e'+type+fn] = fn;
    obj[type+fn] = function(){obj['e'+type+fn](window.event);
  }
  obj.attachEvent('on'+type, obj[type+fn]);
  }else
  {
    obj.addEventListener( type, fn, false );
  }
}

function removeEvent(obj, type, fn)
{
  if(obj.detachEvent)
  {
    obj.detachEvent( 'on'+type, obj[type+fn] );
    obj[type+fn] = null;
  }else
  {
   obj.removeEventListener( type, fn, false );
  }
}

function incorrect(control)
{
  if(formtesttype == "div")
  {
    document.getElementById(control+"div").style.backgroundColor = 'white';
    document.getElementById(control+"div").className = "checkfout";
  }else
  {
    //document.getElementById(control).className = "fingevuld";
    document.getElementById(control).parentNode.className=document.getElementById(control).parentNode.className.replace(new RegExp(" ingevuld\\b"), "");
    document.getElementById(control).parentNode.className=document.getElementById(control).parentNode.className.replace(new RegExp(" fingevuld\\b"), "");
    document.getElementById(control).parentNode.className+=" fingevuld";
		
    //style.backgroundColor = 'red';
  }
}
function correct(control)
{
  if(formtesttype == "div")
  {
   document.getElementById(control+"div").style.backgroundColor = 'white';
    document.getElementById(control+"div").className = "check";
  }else
  {
    document.getElementById(control).parentNode.className=document.getElementById(control).parentNode.className.replace(new RegExp(" ingevuld\\b"), "");
    document.getElementById(control).parentNode.className=document.getElementById(control).parentNode.className.replace(new RegExp(" fingevuld\\b"), "");
    document.getElementById(control).parentNode.className+= " ingevuld";
  }
}
var eventsadded = false;
function formtest(validationGroup,currentid)
{
  foutmeldingen = document.getElementById("foutmeldingen")
  foutmeldingen.innerHTML = "";
  if (typeof(Page_Validators) == "undefined")
  {
    return true;
  }
  if(validationGroup == "")
  {
    validationGroup = "formulier";
  }
  var i;
  var prevField = "";
  var prevValid = true;
  currinp = "";
  var blnCorrect = true;
  //alert(currentid);
  
  for (i = 0; i < Page_Validators.length; i++)
  {
    if(!currentid || eval(Page_Validators[i].id).controltovalidate.toString() == currentid)
    {
      ValidatorValidate(Page_Validators[i], validationGroup, null);
      if(eventsadded == false)
      {
        currinp = eval(Page_Validators[i].id).controltovalidate.toString();
        //addEvent(document.getElementById(eval(Page_Validators[i].id).controltovalidate.toString()),"keydown",function testit(){formtest(validationGroup,currinp);});
        //addEvent(document.getElementById(eval(Page_Validators[i].id).controltovalidate.toString()),"keyup",function testit(){formtestsingle(i,validationGroup);});
      }
      if(eval(Page_Validators[i].id).isvalid != true){
        incorrect(eval(Page_Validators[i].id).controltovalidate.toString())
        if (((prevField != eval(Page_Validators[i].id).controltovalidate.toString()) || prevValid))
        {
          var strFout  = eval(Page_Validators[i].id).errormessage.toString();
         // foutmeldingen.innerHTML += "<li>" + strFout.replace(' *','') + "</li>";
          if (foutmeldingen != null)
          {
            if (strFout.indexOf("<i>")>= 0)
            {
              foutmeldingen.innerHTML += "<li>" + strFout.substring(strFout.indexOf("<i>")+3,strFout.indexOf("</i>")).replace(' *','') + "</li>";
            }
            else
              foutmeldingen.innerHTML += "<li>" + strFout.replace(' *','') + "</li>";
          }
          blnCorrect = false;
        }
      }else
      {
        correct(eval(Page_Validators[i].id).controltovalidate.toString())
      }

      prevField = eval(Page_Validators[i].id).controltovalidate.toString();
      prevValid = eval(Page_Validators[i].id).isvalid;
    }
  }
  eventsadded = true;
  
  ValidatorUpdateIsValid();
  ValidationSummaryOnSubmit(validationGroup);
  Page_BlockSubmit = !Page_IsValid;
  if (foutmeldingen != null)
  {
    if (!Page_IsValid)
    {
        foutmeldingen.parentNode.style.display = "block";
        scroll(0, 0);

    }
    else{
      foutmeldingen.parentNode.style.display = "none";
    }
  }

  return Page_IsValid;
}
