$(document).ready(function() {	
	var timeoutID;
	
	///////////////////////
	// OUDERDOMSPENSIOEN //
	///////////////////////
	var ouderdoms_teaser		= $('.ouderdomspensioen .tool-teaser');
	var ouderdoms_berekening	= $('.ouderdomspensioen .tool-berekening');
	var ouderdoms_resultaat		= $('.ouderdomspensioen .tool-resultaat');
	var ouderdom_required		= ['jaarinkomen', 'percentage', 'aow'];
	
	// hangt aan alle velden een validatie check
	$(ouderdoms_berekening).find(':text').live('keyup',function(){
		var emptycheck = ($.inArray($(this).attr('name'), ouderdom_required) == -1 ? 0 : 1); // als verplicht dan mag veld niet leeg zijn
		
		if ($(this).attr('name') == 'percentage') {
			validateNumber($(this), emptycheck,0, 100);
		} else {
			validateNumber($(this), emptycheck,0);
		}
		
		clearTimeout(timeoutID);
		timeoutID = setTimeout(function() {
			$(ouderdoms_berekening).trigger('checkForm');
		}, 500);
	});
	
	$(ouderdoms_berekening).bind('checkForm', function() {
		// is er een veld verkeerd ingevuld
		if ($(this).find('.error:text').length > 0) {
			$(this).find('.result .ok').hide();
			$(this).find('.result .error').show();
			$(this).find('div.toolsbtm-closer').addClass('disabled');
		} else {
			$(this).find('.result .error').hide();
			$(this).find('.result .ok').show();
			$(this).find('div.toolsbtm-closer').removeClass('disabled');
			
			// BEREKENING START
			
			var result = $(this).find(':text[name=jaarinkomen]').val() / 100 * $(this).find(':text[name=percentage]').val();
		
			result -= $(this).find(':text[name=aow]').val(); // trek de aow eraf
			result -= $(this).find(':text[name=pensioen_todo]').val(); // trek het nog te bouwen pensioen eraf
			
			// trek het bedrag per werkgever eraf
			$(this).find('.werkgever :text').each(function(){
				result -= $(this).val();
			});
			
			// BEREKENING EIND
			
			// toont het resultaat op je juiste plaats
			if (result <=0) {
				result = 'U heeft geen tekort';
			} else {
				result = formatMoney(result);
			}
			$(this).find('div.result .ok span.result').text(result); // onderaan berekening
			$(ouderdoms_resultaat).find('span.result').text(result); // in het resultaat scherm
		}
	});
	
	// werkgever toevoegen
	$(ouderdoms_berekening).find('a.add').click(function(){
		$(ouderdoms_berekening).find('.werkgever:first').clone().insertAfter($(ouderdoms_berekening).find('.werkgever:last')); // voegt een kopie van de werkgever div toe
		
		var num = $(ouderdoms_berekening).find('.werkgever').length;
		var newid = $(ouderdoms_berekening).find('.werkgever:last label').attr('for') + num;
		$(ouderdoms_berekening).find('.werkgever:last :text').attr('id', newid);
		$(ouderdoms_berekening).find('.werkgever:last label').attr('for', newid)
		$(ouderdoms_berekening).find('.werkgever:last label span.number').text(num); // veranderd zijn nummer
		$(ouderdoms_berekening).find('.werkgever:last :text').val(''); // leegt de waarde van het input field
		
		// mag niet meer dan 20 werkgevers toevoegen
		if (num == 20) {
			$(this).hide();	
		}
		return false;
	});


	// wanneer in de teaser op de berekenknop gedrukt wordt berekentool tonen
	$(ouderdoms_teaser).find('button[type=submit]').click(function(){
		// kopieer de ingevulde waardes naar het bereken scherm
		$(ouderdoms_berekening).find(':text[name=jaarinkomen]').val( $.trim($(ouderdoms_teaser).find(':text[name=jaarinkomen]').val()) );
		$(ouderdoms_berekening).find(':text[name=percentage]').val( $.trim($(ouderdoms_teaser).find(':text[name=percentage]').val()) );

		$(ouderdoms_berekening).find(':text').trigger('keyup'); // doe een validatie check op elk veld
		showBerekening(this);
		return false;
	});
	
	// wanneer op de sluitknop gedrukt wordt het resultaatscherm tonen
	$(ouderdoms_berekening).find('div.toolsbtm-closer').click(function(){
		if (!$(this).hasClass('disabled')) {
			showResultaat(this);
		}
	});
	
	// toon het bereken scherm weer er inin resultaatscherm op de knop wordt geklikt
	$(ouderdoms_resultaat).find('button[type=submit]').click(function(){
		//$(ouderdoms_berekening).find('div.werkgever:not(:first)').remove();
		//$(ouderdoms_berekening).find('form').reset();
		//$(ouderdoms_teaser).find('form').reset();
		showBerekening(this);
		return false;
	});
	
	

	//////////////////////////
	// NABESTAANDENPENSIOEN //
	//////////////////////////
	var nabestaanden_teaser		= $('.nabestaandenpensioen .tool-teaser');
	var nabestaanden_berekening	= $('.nabestaandenpensioen .tool-berekening');
	var nabestaanden_resultaat	= $('.nabestaandenpensioen .tool-resultaat');
	var nabestaanden_required	= ['jaarinkomen', 'percentage', 'werkgever', 'opgebouwd'];
	
	// hangt aan alle velden een validatie check
	$(nabestaanden_berekening).find(':text').live('keyup',function(){
		var emptycheck = ($.inArray($(this).attr('name'), nabestaanden_required) == -1 ? 0 : 1); // als verplicht dan mag veld niet leeg zijn
		
		if ($(this).attr('name') == 'percentage') {
			validateNumber($(this), emptycheck,0, 100);
		} else {
			validateNumber($(this), emptycheck,0);
		}
		
		clearTimeout(timeoutID);
		timeoutID = setTimeout(function() {
			$(nabestaanden_berekening).trigger('checkForm');
		}, 500);
	});
	
	
	$(nabestaanden_berekening).bind('checkForm', function() {
		// is er een veld verkeerd ingevuld
		if ($(this).find('.error:text').length > 0) {
			$(this).find('.result .ok').hide();
			$(this).find('.result .error').show();
			$(this).find('div.toolsbtm-closer').addClass('disabled');
		} else {
			$(this).find('.result .error').hide();
			$(this).find('.result .ok').show();
			$(this).find('div.toolsbtm-closer').removeClass('disabled');
			
			// BEREKENING START
			var result = $(this).find(':text[name=jaarinkomen]').val() / 100 * $(this).find(':text[name=percentage]').val();
			result -= $(this).find(':text[name=werkgever]').val(); // trek de aow eraf
			result -= $(this).find(':text[name=opgebouwd]').val(); // trek het nog te bouwen pensioen eraf
			result -= $(this).find(':text[name=anw]').val(); // trek het pensioen van huidige werkgever eraf
			// BEREKENING EIND
			
			// toont het resultaat op je juiste plaats
			if (result <=0) {
				result = 'U heeft geen tekort';
			} else {
				result = formatMoney(result);
			}
			$(this).find('div.result .ok span.result').text(result); // onderaan berekening
			$(nabestaanden_resultaat).find('span.result').text(result); // in het resultaat scherm
		}
	});
	
	
	$(nabestaanden_teaser).find('button[type=submit]').click(function(){
		// kopieer de ingevulde waardes naar het bereken scherm
		$(nabestaanden_berekening).find(':text[name=jaarinkomen]').val( $.trim($(nabestaanden_teaser).find(':text[name=jaarinkomen]').val()) );
		$(nabestaanden_berekening).find(':text[name=percentage]').val( $.trim($(nabestaanden_teaser).find(':text[name=percentage]').val()) );
		
		$(nabestaanden_berekening).find(':text').trigger('keyup'); // doe een validatie check op elk veld
		showBerekening(this);
		return false;
	});
	
	// wanneer op de sluitknop gedrukt wordt het resultaatscherm tonen
	$(nabestaanden_berekening).find('div.toolsbtm-closer').click(function(){
		if (!$(this).hasClass('disabled')) {
			showResultaat(this);
		}
	});
	
	// toon het bereken scherm weer er inin resultaatscherm op de knop wordt geklikt
	$(nabestaanden_resultaat).find('button[type=submit]').click(function(){
		//$(nabestaanden_berekening).find('form').reset();
		//$(nabestaanden_teaser).find('form').reset();
		showBerekening(this);
		return false;
	});
	
	
});



