// JavaScript Document
$(function() {
	// Javascript melding verbergen   
	$('#jsmelding').css('visibility', 'hidden');
	
	// Accordion with jQuery Tools
	$("#accordion").tabs("#accordion fieldset.pane", {tabs: 'h3', effect: 'slide', initialIndex: null});
	
	// Hide all answers etc.
	$('#faq p.antwoord, #aanvraag p.afwijzing, #aanvraag .zoja, #aanvraag p.eenja').not('.radio').hide();
	
	// Toggle answer when question is clicked
	$("#faq p.vraag, #aanvraag h3").mouseover(function(){
		$('body').css('cursor', 'pointer'); 
	});	
	$("#faq p.vraag, #aanvraag h3").mouseout(function(){
		$('body').css('cursor', 'default'); 
	});	
	$("#faq p.vraag").click(function(){
		$(this).next().slideToggle('fast');
	});
	
	// Show afwijzing or hide
	$('#aanvraag input.nee').click(function(){
		$(this).nextAll('.afwijzing').eq(0).show('slow');
	});
	$('#aanvraag input.ja').click(function(){
		$(this).nextAll('.afwijzing').eq(0).hide('slow');
	});
	
	// Show zoja input
	$('#aanvraag input.zoja.ja').click(function(){
		$(this).nextAll('.zoja').eq(1).show('slow');
		$(this).nextAll('.zoja').eq(2).show('slow');
	});
	$('#aanvraag input.zoja.nee').click(function(){
		$(this).nextAll('.zoja').eq(0).hide('slow');
		$(this).nextAll('.zoja').eq(1).hide('slow');
	});
	
	// Show 'anders' input or hide
	$('#aanvraag label.anders, #aanvraag input.anders').hide();
	$('#aanvraag select.anders').change(function(){
		if ($(this).val() === 'anders')
		{
			$(this).nextAll('label.anders').eq(0).show('slow');
			$(this).nextAll('input.anders').eq(0).show('slow');
		} else
		{
			$(this).nextAll('label.anders').eq(0).hide('slow');
			$(this).nextAll('input.anders').eq(0).hide('slow');
		}
	});
	
	// Bereken perc_particulier uit perc_bedrijf
	$('#aanvraag select#perc_bedrijf').change(function(){
		switch ($(this).val()){
			case '0 - 20 %': 
				$('#aanvraag input#perc_particulier').val('80 - 100 %');
			break;
			case '20 - 40 %': 
				$('#aanvraag input#perc_particulier').val('80 - 100 %');
			break;
			case '40 - 60 %': 
				$('#aanvraag input#perc_particulier').val('40 - 60 %');
			break;
			case '60 - 80 %': 
				$('#aanvraag input#perc_particulier').val('20 - 40 %');
			break;
			case '80 - 100 %': 
				$('#aanvraag input#perc_particulier').val('0 - 20 %');
			break;
			default : $('#aanvraag input#perc_particulier').val('');
		}
	});
	
	// Geef een waarschuwing als 1 van deze 5 vragen met ja beantwoord is.
	$('#aanvraag input.eenja').change(function(){
		var eenjacounter = 0;
		$('#aanvraag input:radio:checked.eenja').each(function(){
			if ($(this).val() === 'ja'){
				eenjacounter++;
			}
		});
		if (eenjacounter > 0){
			$('p.eenja').show('slow');
		} else {
			$('p.eenja').hide('slow');
		}
	});
	
	$('#contactform').validate();
	
	$('#aanvraag form').validate({
		invalidHandler: function(form, validator) {
			var errors = validator.numberOfInvalids();
			if (errors) {
				var message = errors == 1 
					? 'U heeft 1 veld niet ingevuld; dit is aangegeven.'
					: 'U heeft ' + errors + ' velden niet ingevuld; deze zijn aangegeven.';
				$("div.errormessage span").html(message);
				$("div.errormessage").show();
			} else {
				$("div.errormessage").hide();
			}
		}
	 });
	
	$('#submit').live('mouseout', function(event) {
		if ($('input.error:first').length)
		{
			$('input.error:first').parent().show().prev('h3').addClass('current');
			$('input.error:first').focus();
		}
	});

	// Controleer of gegeven waarde niet leeg of 0 is.
	function input_isset_nonzero(inputval) {
		return ((inputval != '') && (inputval !== 0));
	}
	
	// Controleer of gegeven waarde niet leeg of 0 is.
	function empty(inputval) {
		if (inputval === '') {
			return 0;
		} else {
			return inputval;
		}
	}
	
	// Bereken Gemiddelde factuurwaarde uit debiteurensaldo en aantal unieke debiteuren in saldo en deelsaldi
	$('#aanvraag #debiteurensaldo, #aanvraag #debiteurenaantal, #aanvraag #facturenaantal, #aanvraag #saldo_niet_verv, #aanvraag #saldo_0_30_verv, #aanvraag #saldo_30_60_verv, #aanvraag #saldo_60_90_verv, #aanvraag #saldo_90_verv').change(function(){
		var AA = $('#debiteurensaldo').val().replace(',','.');
		$('#debiteurensaldo').val(AA);
		
		var BB = $('#facturenaantal').val().replace(',','.');
		$('#facturenaantal').val(BB);
		
		var CC = $('#debiteurenaantal').val().replace(',','.');
		$('#debiteurenaantal').val(CC);
		
		var gem_fact_wrd;
		var gem_klnt_wrd;
		$('#gem_fact_wrd, #gem_klnt_wrd').val('');
		if (input_isset_nonzero(AA) && input_isset_nonzero(CC)) {
			gem_klnt_wrd = (AA / CC).toFixed(2);
			$('#gem_klnt_wrd').val(gem_klnt_wrd);
		}
		if (input_isset_nonzero(AA) && input_isset_nonzero(BB)) {
			gem_fact_wrd = (AA / BB).toFixed(2);
			$('#gem_fact_wrd').val(gem_fact_wrd);
		}
		
		var DD = $('#saldo_niet_verv').val().replace(',','.');
		$('#saldo_niet_verv').val(DD);
		DD = empty(DD);
		
		var EE = $('#saldo_0_30_verv').val().replace(',','.');
		$('#saldo_0_30_verv').val(EE);
		EE = empty(EE);
		
		var FF = $('#saldo_30_60_verv').val().replace(',','.');
		$('#saldo_30_60_verv').val(FF);
		FF = empty(FF);
		
		var GG = $('#saldo_60_90_verv').val().replace(',','.');
		$('#saldo_60_90_verv').val(GG);
		GG = empty(GG);
		
		var HH = $('#saldo_90_verv').val().replace(',','.');
		$('#saldo_90_verv').val(HH);
		HH = empty(HH);
		
		var saldo_totaal_verv = parseInt(DD,10) + parseInt(EE,10) + parseInt(FF,10) + parseInt(GG,10) + parseInt(HH,10);
		$('#saldo_totaal_verv').val(saldo_totaal_verv);
		
		// Totaal van deelsaldi
		var saldo_niet_verv_perc = (DD / AA * 100).toFixed(2); 
		$('#saldo_niet_verv_perc').val(saldo_niet_verv_perc +' %');
		
		var saldo_0_30_verv_perc = (EE / AA * 100).toFixed(2); 
		$('#saldo_0_30_verv_perc').val(saldo_0_30_verv_perc +' %');
		
		var saldo_30_60_verv_perc = (FF / AA * 100).toFixed(2); 
		$('#saldo_30_60_verv_perc').val(saldo_30_60_verv_perc +' %');
		
		var saldo_60_90_verv_perc = (GG / AA * 100).toFixed(2); 
		$('#saldo_60_90_verv_perc').val(saldo_60_90_verv_perc +' %');
		
		var saldo_90_verv_perc = (HH / AA * 100).toFixed(2);
		$('#saldo_90_verv_perc').val(saldo_90_verv_perc +' %');
		
		var saldo_totaal_verv_perc = (saldo_totaal_verv / AA * 100).toFixed(2);
		$('#saldo_totaal_verv_perc').val(saldo_totaal_verv_perc +' %');
		if (saldo_totaal_verv_perc != 100) {
			$('#saldo_totaal_verv_perc').addClass('kleur');
		} else {
			$('#saldo_totaal_verv_perc').removeClass('kleur');
		}
		
	});
		
	// Postcode valideringsfunctie
	jQuery.validator.addMethod('postcode', function validatePostalCode(strPC) {
		return typeof strPC=='string' ?strPC.match(/[1-9][0-9]{3} ?[a-zA-Z]{2}/)==strPC :false;
		//Met optimalisaties van Henk KH
	}, 'Vul een geldige postcode in.');
	
	// Telefoonnummer valideringsfunctie
	jQuery.validator.addMethod('telefoon', function validateTelefoon(strPC) {
		return typeof strPC=='string' ?strPC.match(/[0-9]{10}/)==strPC :false;
	}, 'Vul een 10-cijferig telefoonnummer zonder spaties of streepjes in.');

});