/**
 * Toont het berekening scherm van een tool
 * @elem {object} elem The button clicked object
 */
function showBerekening(elem) {
	$(elem).closest('.toolwrapper').find('.tool-teaser').hide();
	$(elem).closest('.toolwrapper').find('.tool-berekening').show();
	$(elem).closest('.toolwrapper').find('.tool-resultaat').hide();
}


/**
 * Toont het resultaat scherm van een tool
 * @elem {object} elem The button clicked object
 */
function showResultaat(elem) {
	$(elem).closest('.toolwrapper').find('.tool-teaser').hide();
	$(elem).closest('.toolwrapper').find('.tool-berekening').hide();
	$(elem).closest('.toolwrapper').find('.tool-resultaat').show();
}


/**
 * Toont het resultaat scherm van een tool
 * 
 * @elem {object} elem The button clicked object
 */
function showTeaser(elem) {
	$(elem).closest('.toolwrapper').find('.tool-teaser').show();
	$(elem).closest('.toolwrapper').find('.tool-berekening').hide();
	$(elem).closest('.toolwrapper').find('.tool-resultaat').hide();
}


/**
 * Checks if al given form field contains a number
 * @elem {object} elem The form field
 * @return [boolean] True if valid, false if not
 */
function validateNumber(elem, emptycheck, minNum, maxNum) {
	var val = $.trim((elem).val());
	if ((emptycheck && val == '') || isNaN(val)) {
		$(elem).addClass('error');
		return false;
	} 
	if ((typeof(minNum) != 'undefined' && val < minNum) || (typeof(minNum) != 'undefined' && val > maxNum)) {
		$(elem).addClass('error');
		return false;
	}
		
		
	$(elem).removeClass('error');
	return true;	
}


function formatMoney(val) {
	val = Number(val).toFixed(2);
	var broken = val.split('.');
	
	// plaatst elke drie karaters een punt
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(broken[0])) {
		broken[0] = broken[0].replace(rgx, '$1' + '.' + '$2');
	}
	
	return '€ ' + broken[0] + (broken[1] == '00' ? ',-' : ','+broken[1]);	
}



$.fn.extend({ 
	reset: function() {
		return this.each(function() {
			$(this).is('form') && this.reset();
		});
	} 
});

