$(document).ready(function(){
	$(".ep_tooltip").attr("title","").jHelperTip({
		trigger: "hover",
		source: "attribute",
		attrName: "alt",
		autoClose: true
	});

	function updateToeslagenISVW1(){
		if($('input[name=option_1][value=10]:checked').size() > 0){
			var x = 3;
		}else if($('input[name=option_1][value=11]:checked').size() > 0 || $('input[name=option_1][value=12]:checked').size() > 0){
			var x = 1;
		}else{
			var x = 0;
		}

		var prijs_kamperen = $('#toeslag_kamperen_isvw').html();
		prijs_kamperen = parseFloat(prijs_kamperen.substring(2,prijs_kamperen.length).replace('.','').replace(',','.'));
		var prijs_ontbijt = $('#toeslag_ontbijt_isvw').html();
		prijs_ontbijt = parseFloat(prijs_ontbijt.substring(2,prijs_ontbijt.length).replace('.','').replace(',','.'));
		if(x == 0){
			$('#toeslag_kamperen_isvw').parents('table').find('input[type=checkbox]').removeAttr('checked');
			$('#toeslag_kamperen_isvw').parents('table').find('input[type=checkbox]').attr('disabled','disabled');
			$('#toeslag_kamperen_isvw').parents('tr').find('.ep_td_4').html('&euro; ' + formatNumber(prijs_kamperen,2,'.',','));
			$('#toeslag_ontbijt_isvw').parents('tr').find('.ep_td_4').html('&euro; ' + formatNumber(prijs_ontbijt,2,'.',','));
		}else{
			$('#toeslag_kamperen_isvw').parents('table').find('input[type=checkbox]').removeAttr('disabled');
			$('#toeslag_kamperen_isvw').parents('tr').find('.ep_td_4').html('&euro; ' + formatNumber(prijs_kamperen * x,2,'.',','));
			$('#toeslag_ontbijt_isvw').parents('tr').find('.ep_td_4').html('&euro; ' + formatNumber(prijs_ontbijt * x,2,'.',','));
		}
	}

	function updateToeslagenISVW2(){
		var x = $('input[name="option_7[]"]:checked').size();

		var prijs_kamperen = $('#toeslag_kamperen_isvw_2').html();
		prijs_kamperen = parseFloat(prijs_kamperen.substring(2,prijs_kamperen.length).replace('.','').replace(',','.'));
		var prijs_ontbijt = $('#toeslag_ontbijt_isvw_2').html();
		prijs_ontbijt = parseFloat(prijs_ontbijt.substring(2,prijs_ontbijt.length).replace('.','').replace(',','.'));
		if(x == 0){
			$('#toeslag_kamperen_isvw_2').parents('tr').find('input[type=checkbox]').removeAttr('checked');
			$('#toeslag_kamperen_isvw_2').parents('tr').find('input[type=checkbox]').attr('disabled','disabled');
			$('#toeslag_kamperen_isvw_2').parents('tr').find('.ep_td_4').html('&euro; ' + formatNumber(prijs_kamperen,2,'.',','));
			$('#toeslag_ontbijt_isvw_2').parents('tr').find('input[type=checkbox]').removeAttr('checked');
			$('#toeslag_ontbijt_isvw_2').parents('tr').find('input[type=checkbox]').attr('disabled','disabled');
			$('#toeslag_ontbijt_isvw_2').parents('tr').find('.ep_td_4').html('&euro; ' + formatNumber(prijs_ontbijt,2,'.',','));
		}else{
			$('#toeslag_kamperen_isvw_2').parents('tr').find('input[type=checkbox]').removeAttr('disabled');
			$('#toeslag_kamperen_isvw_2').parents('tr').find('.ep_td_4').html('&euro; ' + formatNumber(prijs_kamperen * x,2,'.',','));
			$('#toeslag_ontbijt_isvw_2').parents('tr').find('input[type=checkbox]').removeAttr('disabled');
			$('#toeslag_ontbijt_isvw_2').parents('tr').find('.ep_td_4').html('&euro; ' + formatNumber(prijs_ontbijt * x,2,'.',','));
		}
	}

	function updateToeslag1PersoonsKamer1(){
		if($('input[name=option_1][value=4]:checked').size() > 0){
			var x = 3;
		}else if($('input[name=option_1][value=5]:checked').size() > 0 || $('input[name=option_1][value=6]:checked').size() > 0){
			var x = 1;
		}else{
			var x = 0;
		}

		var prijs = $('#toeslag_1_persoonskamer_1').html();
		prijs = parseFloat(prijs.substring(2,prijs.length).replace('.','').replace(',','.'));
		if(x == 0){
			$('#toeslag_1_persoonskamer_1').parents('tr').find('input').removeAttr('checked');
			$('#toeslag_1_persoonskamer_1').parents('tr').find('input').attr('disabled','disabled');
			$('#toeslag_1_persoonskamer_1').parents('tr').find('.ep_td_4').html('&euro; ' + formatNumber(prijs,2,'.',','));
		}else{
			$('#toeslag_1_persoonskamer_1').parents('tr').find('input').removeAttr('disabled');
			$('#toeslag_1_persoonskamer_1').parents('tr').find('.ep_td_4').html('&euro; ' + formatNumber(prijs * x,2,'.',','));
		}
	}

	function updateToeslag1PersoonsKamer2(){
		var x = $('input[name="option_3[]"]:checked').size();

		var prijs = $('#toeslag_1_persoonskamer_2').html();
		prijs = parseFloat(prijs.substring(2,prijs.length).replace('.','').replace(',','.'));
		if(x == 0){
			$('#toeslag_1_persoonskamer_2').parents('tr').find('input').removeAttr('checked');
			$('#toeslag_1_persoonskamer_2').parents('tr').find('input').attr('disabled','disabled');
			$('#toeslag_1_persoonskamer_2').parents('tr').find('.ep_td_4').html('&euro; ' + formatNumber(prijs,2,'.',','));
		}else{
			$('#toeslag_1_persoonskamer_2').parents('tr').find('input').removeAttr('disabled');
			$('#toeslag_1_persoonskamer_2').parents('tr').find('.ep_td_4').html('&euro; ' + formatNumber(prijs * x,2,'.',','));
		}
	}

	function updateExtraOvernachtingenHotel(){
		if($('input[name=option_1][value=4]:checked').size() == 0 && $('input[name=option_1][value=5]:checked').size() == 0 && $('input[name=option_1][value=6]:checked').size() == 0 && $('input[name=option_1][value=7]:checked').size() == 0 && $('input[name=option_1][value=8]:checked').size() == 0 && $('input[name=option_1][value=9]:checked').size() == 0){
			$('input[name=option_4]').removeAttr('checked');
			$('input[name=option_4]').attr('disabled','disabled');
			$('input[name="option_3[]"]').each(function(){
				$(this).removeAttr('checked');
				$(this).attr('disabled','disabled');
			});
		}else{
			$('input[name=option_4]').removeAttr('disabled');
			$('input[name="option_3[]"]').each(function(){
				$(this).removeAttr('disabled');
			});

			// Dinsdag / woensdag
			if($('input[name=option_1][value=4]:checked').size() == 1 || $('input[name=option_1][value=7]:checked').size() == 1){
				$('input[name="option_3[]"][value=2]').removeAttr('checked');
				$('input[name="option_3[]"][value=2]').attr('disabled','disabled');
				$('input[name="option_3[]"][value=3]').removeAttr('checked');
				$('input[name="option_3[]"][value=3]').attr('disabled','disabled');
			}

			updateToeslag1PersoonsKamer2();
		}
	}

	function updateExtraKampeerOvernachtingen(){
		if($('input[name=option_1][value=10]:checked').size() == 0 && $('input[name=option_1][value=11]:checked').size() == 0 && $('input[name=option_1][value=12]:checked').size() == 0){
			$('input[name=option_8],input[name=option_9]').removeAttr('checked');
			$('input[name=option_8],input[name=option_9]').attr('disabled','disabled');
			$('input[name="option_7[]"]').each(function(){
				$(this).removeAttr('checked');
				$(this).attr('disabled','disabled');
			});
		}else{
			$('input[name=option_8],input[name=option_9]').removeAttr('disabled');
			$('input[name="option_7[]"]').each(function(){
				$(this).removeAttr('disabled');
			});

			// Woensdag
			if($('input[name=option_1][value=10]:checked').size() == 1){
				$('input[name="option_7[]"][value=2]').removeAttr('checked');
				$('input[name="option_7[]"][value=2]').attr('disabled','disabled');
			}

			updateToeslagenISVW2();
		}
	}

	function updateExtraDiners(){
		// Dinsdagavond
		if($('input[name=option_1][value=2]:checked').size() == 0 && $('input[name=option_1][value=5]:checked').size() == 0 && $('input[name=option_1][value=8]:checked').size() == 0 && $('input[name=option_1][value=11]:checked').size() == 0){
			$('input[name="option_10[]"][value=4]').removeAttr('checked');
			$('input[name="option_10[]"][value=4]').attr('disabled','disabled');
		}else{
			$('input[name="option_10[]"][value=4]').removeAttr('disabled');
		}

		// Woensdagavond
		if($('input[name=option_1][value=3]:checked').size() == 0 && $('input[name=option_1][value=6]:checked').size() == 0 && $('input[name=option_1][value=9]:checked').size() == 0 && $('input[name=option_1][value=12]:checked').size() == 0){
			$('input[name="option_10[]"][value=5]').removeAttr('checked');
			$('input[name="option_10[]"][value=5]').attr('disabled','disabled');
		}else{
			$('input[name="option_10[]"][value=5]').removeAttr('disabled');
		}
	}

	function updateInschrijvenEnBetalingNa(){
		$('input[name="option_10[]"][value=6]').change(function(){
			if($(this).is(':checked') && $('input[name="option_10[]"][value=7]:checked').size() == 1){
				$('input[name="option_10[]"][value=7]').removeAttr('checked');
				updateTotalen();
			}
		});
		$('input[name="option_10[]"][value=7]').change(function(){
			if($(this).is(':checked') && $('input[name="option_10[]"][value=6]:checked').size() == 1){
				$('input[name="option_10[]"][value=6]').removeAttr('checked');
				updateTotalen();
			}
		});
	}

	function updateVerborgenPrijzen(){
		// Vorige verwijderen
		$('input[type=hidden]').remove();

		$('.ep_options input').each(function(){
			// Naam
			if($('input[name="' + $(this).attr('name') + '"]').size() > 1){
				var naam = 'price_' + $(this).attr('name').replace('[]','') + '_' + $(this).val();
			}else{
				var naam = 'price_' + $(this).attr('name');
			}

			// Prijs
			var prijs = $(this).parents('tr').find('td.ep_td_4').html();
			prijs = parseFloat(prijs.substring(2,prijs.length).replace('.','').replace(',','.'));

			// Toevoegen
			$('<input>').attr({
				type: 'hidden',
				id: naam,
				name: naam,
				value: prijs
			}).appendTo('form#ep_form');
		});
	}

	function updateTotalen(){
		// Toeslag 1 persoonskamer
		updateToeslag1PersoonsKamer1();
		updateToeslag1PersoonsKamer2();

		// Toeslagen ISVW
		updateToeslagenISVW1();
		updateToeslagenISVW2();

		// Extra overnachtingen hotel
		updateExtraOvernachtingenHotel();

		// Extra kampeer overnachtingen
		updateExtraKampeerOvernachtingen();

		// Inschrijven en betaling na...
		updateInschrijvenEnBetalingNa();

		// Extra diners
		updateExtraDiners();

		// Verborgen prijs velden
		updateVerborgenPrijzen();

		// Optellen
		var total = 0;
		$('.ep_options').each(function(){
			var subtotal = 0;
			$(this).find('tr').each(function(){
				if($(this).find('input:checked').size() == 1){
					var prijs = $(this).find('td.ep_td_4').html();
					prijs = parseFloat(prijs.substring(2,prijs.length).replace('.','').replace(',','.'));
					subtotal += prijs;
				}
			});
			total += subtotal;
			$(this).find('.subtotal').html('&euro; ' + formatNumber(subtotal,2,'.',','));
		});
		$('.total').html('&euro; ' + formatNumber(total,2,'.',','));
	}

	$('.ep_options input').change(function(){
		updateTotalen();
	});

	if($('.ep_options').size() > 0){
		updateTotalen();
	}
});
