/*
For bookings form
Copyright (c) 2008 Ylab, www.ylab.nl
*/
function validateForm(frm){
	//per deelnemer
	var i, nParticipants = radioValue(frm.aantal, 'Aantal deelnemers');

	for(i=1; i<= nParticipants; i++){
		if(!isNotNull(frm['persoon[' + i + '][voorletters]'], 'Voorletters van deelnemer ' + i)){return false;}
		if(!isNotNull(frm['persoon[' + i + '][voorletters]'], 'Voornaam van deelnemer ' + i)){return false;}
		if(!isNotNull(frm['persoon[' + i + '][achternaam]'], 'Achternaam van deelnemer ' + i)){return false;}
		if(!radioIsChecked(frm['persoon[' + i + '][geslacht]'], 'Geslacht van deelnemer ' + i)){return false;}
		if(!isNotNull(frm['persoon[' + i + '][geboortedatum]'], 'Geboortedatum van deelnemer ' + i)){return false;}
		if(!isDate(frm['persoon[' + i + '][geboortedatum]'], 'Geboortedatum van deelnemer ' + i)){return false;}
		if(!isNotNull(frm['persoon[' + i + '][nationaliteit]'], 'Nationaliteit van deelnemer ' + i)){return false;}
	}
	if(!isNotNull(frm['email'], 'E-mailadres')){return false;}
	if(!isEmail(frm['email'], 'E-mailadres')){return false;}
	if(!isNotNull(frm['telefoon_1'], 'Telefoon 1')){return false;}
	if(!isNotNull(frm['straatnaam'], 'Straat en huisnummer')){return false;}
	if(!isNotNull(frm['huisnummer'], 'Huisnummer')){return false;}
	if(!isNotNull(frm['postcode'], 'Postcode')){return false;}
	if(!isNotNull(frm['plaats'], 'Woonplaats')){return false;}

	if(!isNotNull(frm['bestemming'], 'Bestemming')){return false;}
	if(!isNotNull(frm['vertrekdatum'], 'Vertrekdatum')){return false;}
	if(!isDate(frm['vertrekdatum'], 'Vertrekdatum')){return false;}
	if(!isFuture(frm['vertrekdatum'], 'Vertrekdatum', new Date(), 'vandaag')){return false;}
	if(!isNotNull(frm['referentiecode'], 'Referentiecode offerte')){return false;}

	if(!radioIsChecked(frm['reisverzekering'], 'Reisverzekering')){return false;}
	if(!radioIsChecked(frm['annuleringsverzekering'], 'annuleringsverzekering')){return false;}
	if(!frm['akkoord'].checked){
		alert('Geef aan of u akkoord gaat met genoemde voorwaarden om het boekingsformulier te versturen.');
		return false;
	}
	try{
		frm.submit.disabled = true;
	}catch(e){}
	return true;
}

jQuery(document).ready(function($){
	var propTableBlock = $.browser.msie ? 'block' : 'table-cell';
	var urlParams = {};
	(function () {
			var e,
					a = /\+/g,  // Regex for replacing addition symbol with a space
					r = /([^&=]+)=?([^&]*)/g,
					d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
					q = window.location.search.substring(1);

			while (e = r.exec(q))
				 urlParams[d(e[1])] = d(e[2]);
	})();
	var n = urlParams.n && !isNaN(urlParams.n) ? Math.max(0, Math.min(5, parseInt(urlParams.n) - 1)) : 1

	function updateParticipant(n){
		var vl = $('.inpVoorletters input')[n].value;
		var tv = $('.inpTussenvoegsel input')[n].value;
		var an = $('.inpAchternaam input')[n].value;
		var fn = vl + ' ' + tv + ' ' + an;
		$('.tdPreference')[n].innerHTML = (an > '') ?  fn : 'Deelnemer ' + (n+1);
	}

	function enableAnnu(value){
		$('#annuverz2')[0].disabled = (value != 'doorlopend');
		if(value == 'doorlopend'){
			$('label[for="annuverz2"], #reisverz2extra').removeClass('disabled');
		}
		else{
			$('label[for="annuverz2"], #reisverz2extra').addClass('disabled');
		}
	}

	$('.inpAchternaam input,.inpTussenvoegsel input,.inpVoorletters input').each(function(n){
		$(this).change(function(){
			updateParticipant(n%6);
		});
	});

	$('input[name="aantal"]').click(function(){
		for(i=1; i<=6; i++){
			$('#participant'+i).css({display:i<=this.value ? 'block' : 'none'});
			$('#preference'+i+' td').css({display : i<=this.value ? propTableBlock : 'none'});
		}
	})[n].click();

	$('#reisverz2extra').css({paddingLeft:'2em'});
	$('input[name="reisverzekering"]').click(function(){
		enableAnnu(this.value);
	});
	enableAnnu(0);
});

