function validatePostalCode(strPC) {
  return typeof strPC=='string'
    ?strPC.match(/[1-9][0-9]{3} ?[a-zA-Z]{2}/)==strPC
    :false;
}

function validateAndSubmitContactForm()
{
  var name = elm('tfName').value;
  var userEmail = elm('tfUserEmail').value;
  var steunpuntEmail = elm('sbEmail').value;
  var message = elm('taMessage').value;
  var errorFree = true;
  
  if((!name)||(!userEmail)||(!steunpuntEmail)||(!message))
    elm('errorMessage').style.display = 'block';
  else
    elm('contactForm').submit();

}

function validateAndSubmitReactVolunteer()
{
  var errorFree = true;
  var errors = new Array();
  var numRequiredFields = 0;
  var items = cls('obl');
  var innerHTML = '';
  
  for(i=0;i<items.length;i++)
  {
     items[i].style.background = "";
     items[i].style.border = "1px solid #ddd";
  }

  for(i=0;i<items.length;i++)
  {
      if(items[i].value=='')
      {
         errorFree = false;
         numRequiredFields++;
         items[i].style.background = "#ffcdcd";
         items[i].style.border = "1px solid red";
      }
  }

  if((elm('rbGenderFemale').checked == false)&&(elm('rbGenderMale').checked == false))
  {
    errors.push('Geen geslacht geselecteerd.');
    errorFree = false;
  }
  
  if(elm('sbGemeenteId').value==0)
  {
    errors.push('Voor deze gemeente is nog geen steunpunt beschikbaar.');
    errorFree = false;
  }
  
  if(elm('sbGemeenteId').value==-1)
  {
    errors.push('Selecteer a.u.b. een gemeente.');
    errorFree = false;
  }
  
  var emailText = elm('tfEmailError').innerHTML;
  
  if(emailText.indexOf('beschikbaar')==-1)
  {
    if(emailText!='')
    {
      innerHTML += "- "+emailText+"<br/>";
      errorFree = false;
    }
  } 
  
  if(errorFree)
  {
    //alert('submit');
    elm('checkedForm').submit();
  }
  else
  {
     
  
    if(numRequiredFields>0)
    {
      innerHTML += "- "+numRequiredFields+" verplichte velden zijn niet ingevuld<br/>";
    }
  
    for(i=0;i<errors.length;i++)
    {
      innerHTML += "- "+errors[i]+"<br/>";
    }
    
    elm('errorBox').innerHTML = innerHTML;
    elm('errorBox').style.display = 'block';

  }

}

/* ---------------------------- VRIJWILLIGER ---------------------------- */

function validateAndSubmitVolunteer()
{
  var errorFree = true;
  var errors = new Array();
  var numRequiredFields = 0;
  var items = cls('obl');
  var innerHTML = '';

  for(i=0;i<items.length;i++)
  {
     items[i].style.background = "";
     items[i].style.border = "1px solid #ddd";
  }

  for(i=0;i<items.length;i++)
  {
      if(items[i].value=='')
      {
         errorFree = false;
         numRequiredFields++;
         items[i].style.background = "#ffcdcd";
         items[i].style.border = "1px solid red";
      }
  }
  
  
  if(elm('sbGemeenteId').value==0)
  {
    errors.push('Voor deze gemeente is nog geen steunpunt beschikbaar.');
    errorFree = false;
  }
  
  if(elm('sbGemeenteId').value==-1)
  {
    errors.push('Selecteer a.u.b. een gemeente.');
    errorFree = false;
  }
  
  if(elm('tfPostcode').value.length==6)
    elm('tfPostcode').value = elm('tfPostcode').value.substr(0,4) + " " + elm('tfPostcode').value.substr(4,2).toUpperCase();
  
  if(elm('tfPostcode').value)
    if(validatePostalCode(elm('tfPostcode').value)==false)
    {
      elm('tfPostcode').style.background = "#ffcdcd";
      elm('tfPostcode').style.border = "1px solid red";
      errors.push('Ongeldige postcode');
      errorFree = false;
    }
  
  var items = cls('obl_check',elm('activiteiten_select'));
  var numChecked = 0;
  elm('activiteiten_error').innerHTML = '';
  for(i=0;i<items.length;i++)
  {
    if(items[i].checked) numChecked++;
  }
  if(numChecked>3)
  {
    elm('activiteiten_error').innerHTML = "<span style='color: red; font-weight: bold;'>Teveel activiteiten</span>";
    errors.push('U heeft te veel activiteiten geselecteerd.');
    errorFree = false;
  } 
  if(numChecked<1)
  {
    elm('activiteiten_error').innerHTML = "<span style='color: red; font-weight: bold;'>Geen activiteiten geselecteerd</span>";
    errors.push('U heeft geen activiteiten geselecteerd.');
    errorFree = false;
  }
  
  
  
  
  var items = cls('obl_check',elm('doelgroepen_select'));
  var numChecked = 0;
  elm('doelgroepen_error').innerHTML = '';
  for(i=0;i<items.length;i++)
  {
    if(items[i].checked) numChecked++;
  }
  if(numChecked>3) 
  {
    elm('doelgroepen_error').innerHTML = "<span style='color: red; font-weight: bold;'>Teveel doelgroepen</span>";
    errors.push('U heeft meer dan drie doelgroepen geselecteerd.');
    errorFree = false;
  }
  if(numChecked<1)
  {
    elm('doelgroepen_error').innerHTML = "<span style='color: red; font-weight: bold;'>Geen doelgroepen geselecteerd</span>";
    errors.push('U heeft geen doelgroepen geselecteerd.');
    errorFree = false;
  }
  
  
  var items = cls('obl_check',elm('werksoorten_select'));
  var numChecked = 0;
  elm('werksoorten_error').innerHTML = '';
  for(i=0;i<items.length;i++)
  {
    if(items[i].checked) numChecked++;
  }
  if(numChecked>3) 
  {
    elm('werksoorten_error').innerHTML = "<span style='color: red; font-weight: bold;'>Teveel werksoorten</span>";
    errors.push('U heeft te veel werksoorten geselecteerd.');
    errorFree = false;
  }
  if(numChecked<1) 
  {
    elm('werksoorten_error').innerHTML = "<span style='color: red; font-weight: bold;'>Geen werksoorten geselecteerd</span>";
    errors.push('U heeft geen werksoorten geselecteerd.');
    errorFree = false;
  }
  
  var innerHTML = "<span style='font-size: 13px;'>Het formulier is niet volledig</span><br />";
  
  var emailText = elm('tfEmailError').innerHTML;
  
  if(emailText.indexOf('beschikbaar')==-1)
  {
    if(emailText!='')
    {
      innerHTML += "- "+emailText+"<br/>";
      errorFree = false;
    }
  } 

  

    window.location  = '#top';
  
  
  if(errorFree)
  {
    //alert('submit');
    elm('checkedForm').submit();
  }
  else
  {
     
  
    if(numRequiredFields>0)
    {
      innerHTML += "- "+numRequiredFields+" verplichte velden zijn niet ingevuld<br/>";
    }
  
    for(i=0;i<errors.length;i++)
    {
      innerHTML += "- "+errors[i]+"<br/>";
    }
    
    elm('errorBox').innerHTML = innerHTML;
    elm('errorBox').style.display = 'block';

  }
  
}


function uncheckAll()
{
  items = cls('checkbox');
  for(i=0;i<items.length;i++)
  {
    items[i].checked = false;
    items[i].disabled = false;
  }
}

function validateAndSubmitVolunteerSteunpunt()
{
  var errorFree = true;
  var errors = new Array();
  var numRequiredFields = 0;
  var items = cls('obl');
  var innerHTML = '';

  for(i=0;i<items.length;i++)
  {
     items[i].style.background = "";
     items[i].style.border = "1px solid #ddd";
  }

  for(i=0;i<items.length;i++)
  {
      if(items[i].value=='')
      {
         if((items[i].id=='tfEmail')&&(elm('cbNoEmail').checked))
         {
           
         }
         else
         {
           errorFree = false;
           numRequiredFields++;
           items[i].style.background = "#ffcdcd";
           items[i].style.border = "1px solid red";
         }
      }
  }
  
  
  if(elm('sbGemeenteId').value==0)
  {
    errors.push('Voor deze gemeente is nog geen steunpunt beschikbaar.');
    errorFree = false;
  }
  
  if(elm('sbGemeenteId').value==-1)
  {
    errors.push('Selecteer a.u.b. een gemeente.');
    errorFree = false;
  }
  
  if(elm('tfPostcode').value.length==6)
    elm('tfPostcode').value = elm('tfPostcode').value.substr(0,4) + " " + elm('tfPostcode').value.substr(4,2).toUpperCase();
  
  if(elm('tfPostcode').value)
    if(validatePostalCode(elm('tfPostcode').value)==false)
    {
      elm('tfPostcode').style.background = "#ffcdcd";
      elm('tfPostcode').style.border = "1px solid red";
      errors.push('Ongeldige postcode');
      errorFree = false;
    }
    
  var innerHTML = "<span style='font-size: 13px;'>Het formulier is niet volledig</span><br />";
  
  var emailText = elm('tfEmailError').innerHTML;
  
  if(emailText.indexOf('beschikbaar')==-1)
  {
    if(emailText!='')
    {
      if(elm('cbNoEmail').checked)
      {
      }
      else
      {
         innerHTML += "- "+emailText+"<br/>";
         errorFree = false;
      }
    }
  } 

  

    window.location  = '#top';
  
  
  if(errorFree)
  {
    //alert('submit');
    elm('checkedForm').submit();
  }
  else
  {
     
  
    if(numRequiredFields>0)
    {
      innerHTML += "- "+numRequiredFields+" verplichte velden zijn niet ingevuld<br/>";
    }
  
    for(i=0;i<errors.length;i++)
    {
      innerHTML += "- "+errors[i]+"<br/>";
    }
    
    elm('errorBox').innerHTML = innerHTML;
    elm('errorBox').style.display = 'block';

  }
  
}


/* ---------------------------- ORGANISATIE ---------------------------- */

function validateAndSubmitOrganisation()
{
  var errorFree = true;
  var items = cls('obl');
  var errors = new Array();
  var numRequiredFields = 0;
  var innerHTML = '';

  for(i=0;i<items.length;i++)
  {
     items[i].style.background = "";
     items[i].style.border = "1px solid #ddd";
  }

  for(i=0;i<items.length;i++)
  {
      if(items[i].value=='')
      {
         errorFree = false;
         numRequiredFields++;
         items[i].style.background = "#ffcdcd";
         items[i].style.border = "1px solid red";
      }
  }

  if(elm('tfOrganisationVisitPostcode').value.length==6)
    elm('tfOrganisationVisitPostcode').value = elm('tfOrganisationVisitPostcode').value.substr(0,4) + " " + elm('tfOrganisationVisitPostcode').value.substr(4,2).toUpperCase();

  if(elm('tfOrganisationVisitPostcode').value)
    if(validatePostalCode(elm('tfOrganisationVisitPostcode').value)==false)
    {
      elm('tfOrganisationVisitPostcode').style.background = "#ffcdcd";
      elm('tfOrganisationVisitPostcode').style.border = "1px solid red";
      errors.push('Ongeldige postcode bezoekadres');
      errorFree = false;
    }
 
  if(elm('tfOrganisationPostPostcode').value.length==6)
    elm('tfOrganisationPostPostcode').value = elm('tfOrganisationPostPostcode').value.substr(0,4) + " " + elm('tfOrganisationPostPostcode').value.substr(4,2).toUpperCase();

  if(elm('tfOrganisationPostPostcode').value)
    if(validatePostalCode(elm('tfOrganisationPostPostcode').value)==false)
    {
      elm('tfOrganisationPostPostcode').style.background = "#ffcdcd";
      elm('tfOrganisationPostPostcode').style.border = "1px solid red";
      errors.push('Ongeldige postcode postadres');
      errorFree = false;
    }

  
  if(elm('sbGemeenteId').value==0)
  {
    errors.push('Voor deze gemeente is nog geen steunpunt beschikbaar.');
    errorFree = false;
  }
  
  if(elm('sbGemeenteId').value==-1)
  {
    errors.push('Selecteer a.u.b. een gemeente.');
    errorFree = false;
  }
  
  var items = cls('obl_check',elm('werksoorten_select'));
  var numChecked = 0;
  elm('werksoorten_error').innerHTML = '';
  for(i=0;i<items.length;i++)
  {
    if(items[i].checked) numChecked++;
  }
  if(numChecked>3) 
  {
    elm('werksoorten_error').innerHTML = "<span style='color: red; font-weight: bold;'>Teveel werksoorten</span>";
    errors.push('U heeft te veel werksoorten geselecteerd.');
    errorFree = false;
  }
  if(numChecked<1) 
  {
    elm('werksoorten_error').innerHTML = "<span style='color: red; font-weight: bold;'>Geen werksoorten geselecteerd</span>";
    errors.push('U heeft geen werksoorten geselecteerd.');
    errorFree = false;
  }
  
  var innerHTML = "<span style='font-size: 13px;'>Het formulier is niet volledig</span><br />";
  
  var emailText = elm('tfEmailError').innerHTML;
  
  if(emailText.indexOf('beschikbaar')==-1)
  {
    if(emailText!='')
    {
      innerHTML += "- "+emailText+"<br/>";
      errorFree = false;
    }
  } 

  

    
  
  
  if(errorFree)
  {
    //alert('submit');
    elm('checkedForm').submit();
  }
  else
  {
     window.location  = '#top';
  
    if(numRequiredFields>0)
    {
      innerHTML += "- "+numRequiredFields+" verplichte velden zijn niet ingevuld<br/>";
    }
  
    for(i=0;i<errors.length;i++)
    {
      innerHTML += "- "+errors[i]+"<br/>";
    }
    
    elm('errorBox').innerHTML = innerHTML;
    elm('errorBox').style.display = 'block';

  }

  
}

/* ---------------------------- ORGANISATIE SELF---------------------------- */

function validateAndSubmitOrganisationSelf()
{
  var errorFree = true;
  var items = cls('obl');
  var errors = new Array();
  var numRequiredFields = 0;
  var innerHTML = '';

  for(i=0;i<items.length;i++)
  {
     items[i].style.background = "";
     items[i].style.border = "1px solid #ddd";
  }

  for(i=0;i<items.length;i++)
  {
      if(items[i].value=='')
      {
         errorFree = false;
         numRequiredFields++;
         items[i].style.background = "#ffcdcd";
         items[i].style.border = "1px solid red";
      }
  }
  

  if(elm('tfOrganisationVisitPostcode').value.length==6)
    elm('tfOrganisationVisitPostcode').value = elm('tfOrganisationVisitPostcode').value.substr(0,4) + " " + elm('tfOrganisationVisitPostcode').value.substr(4,2).toUpperCase();

  if(elm('tfOrganisationVisitPostcode').value)
    if(validatePostalCode(elm('tfOrganisationVisitPostcode').value)==false)
    {
      elm('tfOrganisationVisitPostcode').style.background = "#ffcdcd";
      elm('tfOrganisationVisitPostcode').style.border = "1px solid red";
      errors.push('Ongeldige postcode bezoekadres');
      errorFree = false;
    }
 
  if(elm('tfOrganisationPostPostcode').value.length==6)
    elm('tfOrganisationPostPostcode').value = elm('tfOrganisationPostPostcode').value.substr(0,4) + " " + elm('tfOrganisationPostPostcode').value.substr(4,2).toUpperCase();

  if(elm('tfOrganisationPostPostcode').value)
    if(validatePostalCode(elm('tfOrganisationPostPostcode').value)==false)
    {
      elm('tfOrganisationPostPostcode').style.background = "#ffcdcd";
      elm('tfOrganisationPostPostcode').style.border = "1px solid red";
      errors.push('Ongeldige postcode postadres');
      errorFree = false;
    }
  
  if(elm('sbGemeenteId').value==0)
  {
    errors.push('Voor deze gemeente is nog geen steunpunt beschikbaar.');
    errorFree = false;
  }
  
  var items = cls('obl_check',elm('werksoorten_select'));
  var numChecked = 0;
  elm('werksoorten_error').innerHTML = '';
  for(i=0;i<items.length;i++)
  {
    if(items[i].checked) numChecked++;
  }
  if(numChecked>3) 
  {
    elm('werksoorten_error').innerHTML = "<span style='color: red; font-weight: bold;'>Teveel werksoorten</span>";
    errors.push('U heeft te veel werksoorten geselecteerd.');
    errorFree = false;
  }
  if(numChecked<1) 
  {
    elm('werksoorten_error').innerHTML = "<span style='color: red; font-weight: bold;'>Geen werksoorten geselecteerd</span>";
    errors.push('U heeft geen werksoorten geselecteerd.');
    errorFree = false;
  }
  
  var innerHTML = "<span style='font-size: 13px;'>Het formulier is niet volledig</span><br />";

  if(errorFree)
  {
    //alert('submit');
    elm('checkedForm').submit();
  }
  else
  {
     window.location  = '#top';
  
    if(numRequiredFields>0)
    {
      innerHTML += "- "+numRequiredFields+" verplichte velden zijn niet ingevuld<br/>";
    }
  
    for(i=0;i<errors.length;i++)
    {
      innerHTML += "- "+errors[i]+"<br/>";
    }
    
    elm('errorBox').innerHTML = innerHTML;
    elm('errorBox').style.display = 'block';

  }

  
}

/* ---------------------------- VRIJWILLIGER CHANGE PASSWORD ---------------------------- */

function validateAndSubmitVrijwilligerPassword(old)
{
  var errorFree = true;
  var errors = new Array();
  var numRequiredFields = 0;
  var items = cls('obl');
  var innerHTML = '';
  
  for(i=0;i<items.length;i++)
  {
     items[i].style.background = "";
     items[i].style.border = "1px solid #ddd";
  }

  for(i=0;i<items.length;i++)
  {
      if(items[i].value=='')
      {
         errorFree = false;
         numRequiredFields++;
         items[i].style.background = "#ffcdcd";
         items[i].style.border = "1px solid red";
      }
  }

  
  var oldPassword = elm('tfVrijwilligerOldPassword').value;
  var newPassword = elm('tfVrijwilligerNewPassword').value;
  var newPasswordAgain = elm('tfVrijwilligerNewPasswordAgain').value;
  
  if(newPassword != newPasswordAgain)
  {
     errors.push('Beide nieuwe wachtwoorden zijn ongelijk.');
     errorFree = false;
  }
  
  if(old != oldPassword)
  {
     errors.push('Oude wachtwoord is verkeerd.');
     errorFree = false;
  }
  
  if(errorFree)
  {
    elm('checkedForm').submit();
  }
  else
  {
    window.location  = '#top';
    
    if(numRequiredFields>0)
    {
      innerHTML += "- "+numRequiredFields+" verplichte velden zijn niet ingevuld<br/>";
    }
  
    for(i=0;i<errors.length;i++)
    {
      innerHTML += "- "+errors[i]+"<br/>";
    }
    
    elm('errorBox').innerHTML = innerHTML;
    elm('errorBox').style.display = 'block';

  }

   
}

/* ---------------------------- ORGANISATIE CHANGE PASSWORD ---------------------------- */

function validateAndSubmitOrganisationPassword(old)
{
  var errorFree = true;
  var errors = new Array();
  var numRequiredFields = 0;
  var items = cls('obl');
  var innerHTML = '';
  
  for(i=0;i<items.length;i++)
  {
     items[i].style.background = "";
     items[i].style.border = "1px solid #ddd";
  }

  for(i=0;i<items.length;i++)
  {
      if(items[i].value=='')
      {
         errorFree = false;
         numRequiredFields++;
         items[i].style.background = "#ffcdcd";
         items[i].style.border = "1px solid red";
      }
  }

  
  var oldPassword = elm('tfOrganisationOldPassword').value;
  var newPassword = elm('tfOrganisationNewPassword').value;
  var newPasswordAgain = elm('tfOrganisationNewPasswordAgain').value;
  
  if(newPassword != newPasswordAgain)
  {
     errors.push('Beide nieuwe wachtwoorden zijn ongelijk.');
     errorFree = false;
  }
  
  if(old != oldPassword)
  {
     errors.push('Oude wachtwoord is verkeerd.');
     errorFree = false;
  }
  
  if(errorFree)
  {
    elm('checkedForm').submit();
  }
  else
  {
    window.location  = '#top';
    
    if(numRequiredFields>0)
    {
      innerHTML += "- "+numRequiredFields+" verplichte velden zijn niet ingevuld<br/>";
    }
  
    for(i=0;i<errors.length;i++)
    {
      innerHTML += "- "+errors[i]+"<br/>";
    }
    
    elm('errorBox').innerHTML = innerHTML;
    elm('errorBox').style.display = 'block';

  }

   
}
/* ---------------------------- VACATURE ---------------------------- */

function validateAndSubmitVacature()
{
  var errorFree = true;
  var items = cls('obl');
  var errors = new Array();
  var numRequiredFields = 0;
  var innerHTML = '';
  

  for(i=0;i<items.length;i++)
  {
     items[i].style.background = "";
     items[i].style.border = "1px solid #ddd";
  }

  for(i=0;i<items.length;i++)
  {
      if(items[i].value=='')
      {
         errorFree = false;
         numRequiredFields++;
         items[i].style.background = "#ffcdcd";
         items[i].style.border = "1px solid red";
      }
  }
  
  var items = cls('obl_check',elm('activiteiten_select'));
  var numChecked = 0;
  elm('activiteiten_error').innerHTML = '';
  for(i=0;i<items.length;i++)
  {
    if(items[i].checked) numChecked++;
  }
  if(numChecked>3)
  {
    elm('activiteiten_error').innerHTML = "<span style='color: red; font-weight: bold;'>Teveel activiteiten</span>";
    errors.push('U heeft te veel activiteiten geselecteerd.');
    errorFree = false;
  } 
  if(numChecked<1)
  {
    elm('activiteiten_error').innerHTML = "<span style='color: red; font-weight: bold;'>Geen activiteiten geselecteerd</span>";
    errors.push('U heeft geen activiteiten geselecteerd.');
    errorFree = false;
  }
  
  
  
  var items = cls('obl_check',elm('doelgroepen_select'));
  var numChecked = 0;
  elm('doelgroepen_error').innerHTML = '';
  for(i=0;i<items.length;i++)
  {
    if(items[i].checked) numChecked++;
  }
  if(numChecked>3) 
  {
    elm('doelgroepen_error').innerHTML = "<span style='color: red; font-weight: bold;'>Teveel doelgroepen</span>";
    errors.push('U heeft te veel doelgroepen geselecteerd.');
    errorFree = false;
  }
  if(numChecked<1)
  {
    elm('doelgroepen_error').innerHTML = "<span style='color: red; font-weight: bold;'>Geen doelgroepen geselecteerd</span>";
    errors.push('U heeft geen doelgroepen geselecteerd.');
    errorFree = false;
  }
  
  
   
  if(errorFree)
  {
    elm('checkedForm').submit();
  }
  else
  {
    window.location  = '#top';
    
    if(numRequiredFields>0)
    {
      innerHTML += "- "+numRequiredFields+" verplichte velden zijn niet ingevuld<br/>";
    }
  
    for(i=0;i<errors.length;i++)
    {
      innerHTML += "- "+errors[i]+"<br/>";
    }
    
    elm('errorBox').innerHTML = innerHTML;
    elm('errorBox').style.display = 'block';

  }


  
}
