﻿// JScript File
var formtesttype = "normal";
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).parentNode.className = "regel fout";
    //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 = "regel";
    //document.getElementById(control).parentNode.style.backgroundColor = 'white';
  }
}
var eventsadded = false;
function formtest(validationGroup,currentid)
{
  if (typeof(Page_Validators) == "undefined")
  {
    return true;
  }
  if(validationGroup == "")
  {
    validationGroup = "formulier";
  }
  var i;
  var prevField = "";
  var prevValid = true;
  currinp = "";
  
  var foutmeldingen = document.getElementById("foutmeldingen");
  foutmeldingen.innerHTML = "";
  //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()),"keyup",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) || ((prevField == eval(Page_Validators[i].id).controltovalidate.toString())&&(prevValid == false)))
      {
        incorrect(eval(Page_Validators[i].id).controltovalidate.toString())
        foutmeldingen.innerHTML += "<li>" + eval(Page_Validators[i].id).errormessage.toString() + "</li>";
      }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 (!Page_IsValid) {
    foutmeldingen.style.display = 'block';
  } else {
    foutmeldingen.style.display = 'none';
  }
  return Page_IsValid;
}