function addToTotaal( bedrag, element, id ){
  if( checkAantal( id, element ) == true ){
	  var totaal = document.getElementById("totaal");
	  var value = parseFloat(totaal.innerHTML);
	  if( element.checked )
		value += bedrag;
	  else
		value -= bedrag;
	  totaal.innerHTML = value.toFixed(2);
  }
}

function enableUserForm( id, email ){
  var element = document.getElementById("deelnemer_" + id);
  var elements = element.getElementsByTagName("input");
  var select = element.getElementsByTagName("select");
  var _value = select[0].value;
  if( _value != -1 )
	var enable = false;
  else
	var enable = true;
  
  if( _value > 0 ){
	//update het formulier
    var user = document.getElementById("user_" + _value);
    var userData = user.value.split(",");
  } else{
	userData = new Array();
	if( _value == -2 )
	{
	  userData[0] = 'Anoniem';
	  userData[1] = 'Anoniem';
	  userData[2] = email;	
	}
	else
	{
	  userData[0] = '';
	  userData[1] = '';
	  userData[2] = '';	
	}
	userData[3] = '';
	userData[4] = '';
	userData[5] = '';
  }
  
  for( i = 0; i < elements.length; i++ ){
	elements[i].disabled = enable;
	if( _value == -2 )
	{
	  elements[i].readOnly = true;
	}
	else
	{
	  elements[i].readOnly = false;
	}
	if( i > 0 )
	  elements[i].value = userData[i-1];
	if( _value != 0 && elements[i].type == "checkbox" ){
	  elements[i].disabled = true;
	}
  }
}

function updateSubTotaal( id, bedrag, element, onderdeel ){
  if( checkAantal( onderdeel, element ) == true ){
	  var subTotaal = document.getElementById("subTotaal_"+id)
	  var value = parseFloat(subTotaal.innerHTML);
	  if( element.checked )
	    value += bedrag;
	  else
		value -= bedrag;
	  subTotaal.innerHTML= value.toFixed(2);
	  
	  var alles = document.getElementById("select_" + onderdeel);
	  
	  naam = element.name.split("_");
	  naam = naam[0] + "_" + naam[1] + "_";
	  i = 0;
	  alles.checked = true;
	  while( (element = document.getElementById(naam + i)) != null ){
		if( !element.checked ){
		  alles.checked = false;
		  break;
		}
		i++;
	  }
  }
}

function selectAlles( element, id, aantal, totaalBedrag, i ){
  var select = false;
  var subTotaal = document.getElementById("subTotaal_"+i);
  var oldValue = parseFloat(subTotaal.innerHTML);
  var totaal = document.getElementById("totaal");
  totaal.innerHTML = (parseFloat(totaal.innerHTML)-oldValue+totaalBedrag).toFixed(2);
  var _value = 0;
  subTotaal.innerHTML = _value.toFixed(2);
  if( element.checked ){
	 select = true;
	 subTotaal.innerHTML = totaalBedrag.toFixed(2);
  } else{
	  totaal.innerHTML = (parseFloat(totaal.innerHTML)-totaalBedrag).toFixed(2);  
  }
  
  var _element;
  for( i = 0; i < aantal; i++ ){
	_element = document.getElementById("onderdeel_" + id + "_" + i);
	_element.checked = select;
  }
  
  var aantalPlaatsen = document.getElementById( "onderdeel_aantal_" + id );
  if( aantalPlaatsen != null ){
	var valueA = parseInt(aantalPlaatsen.innerHTML)
	if( element.checked )
	  aantalPlaatsen.innerHTML = ( valueA-aantal );
	else
	  aantalPlaatsen.innerHTML = ( valueA+aantal );
  }
}

function _check( id ){
  var totaal = document.getElementById("totaal");
  var element = document.getElementById("onderdeel_" + id);
  if( !element.checked ){
    element.checked = !element.checked;
    totaal.innerHTML = (parseFloat(totaal.innerHTML)+parseFloat(element.value)).toFixed(2);
  }
}

function uncheckChildren( element, id ){
  var totaal = document.getElementById("totaal");
  if( !element.checked ){
    var elements = document.getElementsByClassName("onderdeel_" + id);
    for( i = 0; i < elements.length; i++ ){
      if( elements[i].checked )
    	totaal.innerHTML = (parseFloat(totaal.innerHTML)-parseFloat(elements[i].value)).toFixed(2);
	  elements[i].checked = false;
    }
  }
}

function checkHoofdboeker(){
  var e = new Array();
  e[0] = document.getElementById("H_achternaam");
  e[1] = document.getElementById("H_voornaam");
  e[2] = document.getElementById("H_adres");
  e[3] = document.getElementById("H_postcode");
  e[4] = document.getElementById("H_woonplaats");
  var gb = document.getElementById("H_geboortedatum");
  e[5] = document.getElementById("H_email");
  
  if( ( !checkGeboortedatum(gb) ) || !checkEmail( e[5]) )
	return false;
  
  var i = 0;
  for( i = 0; i < e.length; i++ )
	if( e[i].value == "" ){
	  alert("U heeft niet alle verplichte velden ingevult.");
	  return false;
	}
  return true;
}

function checkOpvarende( aantal ){
  var e;
  var j;
  var i;
  for( i = 0; i < aantal; i++ ){
    e = new Array;
    e[0] = document.getElementById("opvarende_achternaam_" + i);
    e[1] = document.getElementById("opvarende_voornaam_" + i);
    e[2] = document.getElementById("opvarende_email_" + i);
    var gb = document.getElementById("opvarende_geboortedatum_" + i);
    
    if( !checkGeboortedatum(gb) || !checkEmail(e[2]) )
      return false;
    	
    for( j = 0; j < e.length; j++ )
      if( e[j].value.replace(" ","") == "" ){
    	alert("U heeft niet alle verplichte velden ingevult.");
    	return false;
      }
  }  
  return true;
}

function checkBank(){
  var e;
  e = new Array();
  e[0] = document.getElementById("machtiging");
  e[1] = document.getElementById("bankNummer");
  e[2] = document.getElementById("bankTnv");
  e[3] = document.getElementById("bankNaam");
  if( e[0].checked ){
    for( i = 1; i < e.length; i++ ){
	  if( e[i].value.replace(" ","") == "" ){
	    alert("U heeft niet alle verplichte velden invult.");
	    return false;
	  }
    }
  } else{
	alert("U kunt u alleen inschrijven als u een machtiging invult.");
	return false;
  }
  return true;
}

function makeVisible(){
  var element = document.getElementById("schipOnderdelen");
  if( element.style.display == "none" )
	element.style.display = "";
  else
    element.style.display = "none";
}

function checkAantal( id, button ){
  var element = document.getElementById("onderdeel_aantal_" + id );
  if( element != null ){
	var value = element.innerHTML;
	value = parseInt(value);
	if( value > 0 || button.checked == false)
	  return true;
	return false;
  }
  return true;
}

function lowerAantal( id, button ){
  if( checkAantal( id, button ) == true ){
    var element = document.getElementById("onderdeel_aantal_" + id );
    if( element != null ){
      var value = element.innerHTML;
      value = parseInt(value);
      if( button.checked )
        value -= 1;
      else
        value += 1;
      element.innerHTML = value;
    }
  } else{
	button.checked = false;
	alert("Er zijn geen plaatsen meer beschikbaar voor dit onderdeel.");
  }
}

function checkGeboortedatum( element ){
  var regular=/^\d{1,2}-\d{1,2}-\d{4}$/
  var value = element.value;
  if( value.search(regular) == -1 && value != "" ){
	element.style.border = "1px solid red";
	alert("U heeft een incorrecte geboortedatum ingevult.\nHet juiste formaat is dd-mm-jjjj.");
	return false;
  }
  element.style.border = "1px solid gray";
  return true;
}

function checkEmail( element ){
  var pattern=/^([a-zA-Z0-9]){1,}([a-zA-Z0-9_-])*(\.[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/
  var value = element.value;
  if( value.search(pattern) ){
	element.style.border = "1px solid red";
	alert("U heeft een incorrect email adres toegevoegd, probeer het nogmaals.")
	return false;
  }
  element.style.border = "1px solid gray";
  return true;
}

function updateStamboekGegevens( selection ){
  var gegevens = document.getElementById( "stamboek_" + selection.value );
  var zeilnummer = document.getElementById( "zeilnummer" );
  var tvf = document.getElementById( "tvf" );
  var tvfdatum = document.getElementById( "tvfdatum" );
  
  if( gegevens == null ){
	tvf.value = "";
	tvfdatum.value = "";
	zeilnummer.value = "";  
  } else{
    var splitup = gegevens.value.split("_");
    tvf.value = splitup[0];
    tvfdatum.value = splitup[1];
    zeilnummer.value = splitup[2];
  }
}

function checkDatum( element, element2 ){
  element2 = document.getElementById( element2 ).value;
  if( element2 == "" )
	return true;
  element = document.getElementById(element);
  var regular=/^\d{1,2}-\d{1,2}-\d{4}$/
  var value = element.value;
  if( value.search(regular) == -1 ){
	element.style.border = "1px solid red";
	alert("U heeft een incorrecte datum ingevult.\nHet juiste formaat is dd-mm-jjjj.");
	return false;
  }
  element.style.border = "1px solid gray";
  return true;
}

function maakAnoniem( id, email )
{
  var element = document.getElementById("deelnemer_" + id);
  var elements = element.getElementsByTagName("input");
  userData = new Array();
  if( elements[0].checked == true )
  {
    userData[0] = 'Anoniem';
    userData[1] = 'Anoniem';
    userData[2] = email;	
  }
  else
  {
    userData[0] = '';
    userData[1] = '';
    userData[2] = '';  
  }
  userData[3] = '';
  userData[4] = '';
  userData[5] = '';
  
  for( i = 0; i < elements.length; i++ ){
    if( elements[i].readOnly == false )
    {
      elements[i].readOnly = true;
    }
    else
    {
      elements[i].readOnly = false;
    }
    if( i > 0 )
      elements[i].value = userData[i-1];
  }
}