function validateForm(formulier)
{
  var isReq = true;
  var isEma = true;
  var i =0;
  while(i < formulier.elements.length && isReq == true && isEma == true)
  {
    var control = formulier.elements[i];
    if(control.name != null)
    {
      switch(control.name.substring(0,4))
      {
        case 'req_': {
          isReq = checkRequired(control);          
        } break;
        case 'ema_': {
          isEma = checkEmail(control.value);          
        } break;
        case 'num_': { 
          isReq = checkNumeric(control.value);          
        }
      }
    }
    i++;
  }
  if(!isReq || !isEma)
  {
    var errorMsg = '';
    if(!isReq)
    {errorMsg += reqMelding +'\n';}
    if(!isEma)
    {errorMsg += emaMelding;}
    
    alert(errorMsg);
    return false;
  }
  else
  {return true;}
}

function checkRequired(control)
{ 
  switch(control.type)
  {
    case 'text': {
      if(control.value == '')
      {return false;}
      else
      {return true;}
    } break;
    case 'select-one': {
      if(control.options[control.selectedIndex].value >= 0)
      {return true;}
      else
      {return false;}
    } break;
    case 'textarea': {
      if(control.value == '')
      {return false;}
      else
      {return true;}
    } break;   
    case 'file': {
      if(control.value == '')
      {return false;}
      else
      {return true;}
    } break; 
    case 'checkbox': {
      var cbxArr = document.formOpslaan.elements[control.name];  
      for(i=0; i < cbxArr.length; i++)
      {
        if(cbxArr[i].checked)
        {return true;}
      }   
      return false;
    } break;
    case 'radio': {
      var rbnArr = document.formOpslaan.elements[control.name];  
      for(i=0; i < rbnArr.length; i++)
      {
        if(rbnArr[i].checked)
        {return true;}
      }   
      return false;
    } break;
  }
}

function checkEmail(value)
{
  var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
  if (filter.test(value))
  {return true;}
  else
  {return false;}
}

function checkNumeric(value)
{
  value = parseFloat(value);
  if(isNaN(value))
  {return false;}
  else
  {return true;}
}
