function calculate(type) {
	var ageMenu = document.getElementById('ageMenu');
	var genderMenu = document.getElementById('genderMenu');

	var text = '';
	switch (type) {
		case 'zakgeld':
			if (checkMenus(ageMenu)) {
				var text = getZakgeld(ageMenu.value);
			} 
			break;
		
		case 'kleedgeld':
			if (checkMenus(ageMenu, genderMenu)) {
				var text = getKleedgeld(ageMenu.value, genderMenu.value);
			}
			break;

		case 'minimumloon':
			if (checkMenus(ageMenu)) {
				var text = getMinimumloon(ageMenu.value);
			}
			break;
		
		case 'vergelijking':
			if (checkMenus(ageMenu, genderMenu)) {
				var text = getVergelijking(ageMenu.value, genderMenu.value);
			}
			break;
		
		case 'baantje':
			if (checkMenus(ageMenu, genderMenu)) {
				var text = getBaantjes(ageMenu.value, genderMenu.value);
			}
			break;
	}

	var div = document.getElementById('calculationDiv');
	if (text != '')	{
		div.innerHTML = text;
		div.style.display = 'block';
	} else {
		div.style.display = 'none';
		div.innerHTML = '';
	}
} 

function checkMenus() {
	for (var c = 0; c < arguments.length; c++) {
		if (!arguments[c] || !arguments[c].value) {
			return false;
		}
	}
	return true;
}


/*
Back-up 7-7-6
function getZakgeld(age) {
	switch (parseInt(age, 10)) {
		case 8: var amount = 4; break;
		case 9: var amount = 5;	break;
		case 10: var amount = 6; break;
		case 11: var amount = 9; break;
		case 12: var amount = 15; break;
		case 13: var amount = 20; break;
		case 14: var amount = 20; break;
		case 15: var amount = 20; break;
		case 16: var amount = 25; break;
		case 17: var amount = 28; break;
		case 18: var amount = 35; break;
		default: var amount = 0; break;
	}

	return 'De helft van de jongeren van '+age+' jaar oud krijgt meer dan € '+amount+',- per maand en de helft krijgt minder.';
}*/


function getZakgeld(age) {
	switch (parseInt(age, 10)) {		
		case 10: var amount = '2,35'; break;
		case 11: var amount = '2,35'; break;
		case 12: var amount = '3,00'; break;
		case 13: var amount = '4,00'; break;
		case 14: var amount = '4,65'; break;
		case 15: var amount = '5,00'; break;
		case 16: var amount = '5,81'; break;
		case 17: var amount = '5,81'; break;
		case 18: var amount = '8,41'; break;
		default: var amount = 0; break;
	}

	return 'De helft van de jongeren van '+age+' jaar oud krijgt meer dan € '+amount+' per week en de helft krijgt minder.';
}

function getKleedgeld(age, gender) {
	var genderName = (gender == 'male') ? 'jongens' : 'meisjes';
	switch (parseInt(age, 10)) {
		case 12: var amount = (gender == 'male') ? 50 : 40 ; break;
		case 13: var amount = (gender == 'male') ? 50 : 50 ; break;
		case 14: var amount = (gender == 'male') ? 50 : 50 ; break;
		case 15: var amount = (gender == 'male') ? 50 : 50 ; break;
		case 16: var amount = (gender == 'male') ? 55 : 50 ; break;
		case 17: var amount = (gender == 'male') ? 60 : 55 ; break;
		case 18: var amount = (gender == 'male') ? 65 : 59 ; break;
		default: var amount = 0; break;
	}

	return 'De helft van de '+genderName+' van '+age+' jaar oud met kleedgeld krijgt meer dan € '+amount+',- kleedgeld per maand en de andere helft minder.';
}

function getMinimumloon(age) {
	if (parseInt(age, 10) == 14) {
		return 'Op deze leeftijd is geen minimumloon van toepassing.';
	}

	switch (parseInt(age, 10)) {
	/*
	case 15: var month = '432,54'; var week = '99,82';  var hour = '2,50'; break;
	case 16: var month = '497,45'; var week = '114,80'; var hour = '2,87'; break;
	case 17: var month = '569,54'; var week = '131,43'; var hour = '3,29'; break;
	case 18: var month = '656,05'; var week = '151,40'; var hour = '3,79'; break;
	case 19: var month = '756,97'; var week = '174,69'; var hour = '4,37'; break;
	case 20: var month = '886,73'; var week = '204,63'; var hour = '5,12'; break;
	case 21: var month = '1045,33'; var week = '241,23'; var hour = '6,03'; break;
	case 22: var month = '1225,53'; var week = '282,81'; var hour = '7,07'; break;
	case 23: var month = '1441,80';  var week = '332,72'; var hour = '8,32'; break;
	
	case 15: var month = '414,35'; var week = '95,60';  var hour = '2,39'; break;
	case 16: var month = '476,50'; var week = '109,95'; var hour = '2,75'; break;
	case 17: var month = '545,55'; var week = '125,90'; var hour = '3,15'; break;
	case 18: var month = '628,45'; var week = '145,05'; var hour = '3,63'; break;
	case 19: var month = '725,15'; var week = '167,35'; var hour = '4,18'; break;
	case 20: var month = '849,45'; var week = '196,05'; var hour = '4,90'; break;
	case 21: var month = '1001,35'; var week = '231,10'; var hour = '5,78'; break;
	case 22: var month = '1174,00'; var week = '270,90'; var hour = '6,77'; break;
	case 23: var month = '1381,20';  var week = '318,75'; var hour = '7,97'; break;	
	*/
   case 15: var month = '422,30'; var week = '97,45';  var hour = '2,44'; break;
   case 16: var month = '485,60'; var week = '112,05'; var hour = '2,80'; break;
   case 17: var month = '556,00'; var week = '128,30'; var hour = '3,21'; break;
   case 18: var month = '640,45'; var week = '147,80'; var hour = '3,70'; break;
   case 19: var month = '739,00'; var week = '170,55'; var hour = '4,26'; break;
   case 20: var month = '865,65'; var week = '199,75'; var hour = '4,99'; break;
   case 21: var month = '1020,50'; var week = '235,50'; var hour = '5,89'; break;
   case 22: var month = '1196,45'; var week = '276,10'; var hour = '6,90'; break;
   case 23: var month = '1407,60';  var week = '324,85'; var hour = '8,12'; break;





   default: var month = '0';  var week = '0'; var hour = '0'; break;
	}
	if (parseInt(age, 10) == 23) return 'Vanaf 23 jaar bedraagt het minimumloon in 2010 € '+hour+' bruto per uur (€ '+week+' bruto per week € '+month+' bruto per maand)';
		
	return 'Het minimum(jeugd)loon voor '+age+'-jarigen bedraagt in 2010 € '+hour+' bruto per uur (€ '+week+' bruto per week € '+month+' bruto per maand)';
}

function getVergelijking(age, gender) {
	var fieldNames = Array('Zakgeld', 'Kleedgeld', 'Totaal van ouders', 'Baantje', 'Vakantiewerk', 'Tegemoetkoming studiekosten', 'Totaal');

	if (gender == 'male') {
		switch (parseInt(age, 10)) {
			case 12: 
				var inEuro = Array('18', '41', '38', '30', '*', '*', '40');
				var inPercentage = Array('99', '14', '98', '17', '9', '0', '100');
				var uitgaven = getVergelijkingUitgaven(1);
				break;

			case 13: 
				var inEuro = Array('19', '57', '45', '123', '26', '*', '63');
				var inPercentage = Array('91', '17', '93', '31', '13', '0', '98');
				var uitgaven = getVergelijkingUitgaven(2);
				break;
			
			case 14: 
				var inEuro = Array('29', '65', '61', '128', '28', '*', '110');
				var inPercentage = Array('91', '21', '93', '41', '22', '0', '96');
				var uitgaven = getVergelijkingUitgaven(3);
				break;

			case 15: 
				var inEuro = Array('27', '64', '64', '133', '43', '*', '136');
				var inPercentage = Array('87', '26', '88', '56', '33', '0', '96');
				var uitgaven = getVergelijkingUitgaven(4);
				break;

			case 16: 
				var inEuro = Array('30', '65', '68', '172', '50', '*', '191');
				var inPercentage = Array('85', '35', '88', '56', '40', '0', '98');
				var uitgaven = getVergelijkingUitgaven(5);
				break;

			case 17: 
				var inEuro = Array('32', '56', '78', '247', '53', '*', '242');
				var inPercentage = Array('80', '39', '85', '71', '45', '0', '98');
				var uitgaven = getVergelijkingUitgaven(6);
				break;
			
			case 18: 
				var inEuro = Array('60', '*', '134', '*', '100', '*', '*');
				var inPercentage = Array('61', '36', '68', '80', '52', '75', '98');
				var uitgaven = getVergelijkingUitgaven(7);
				break;
		}
	} else {
		switch (parseInt(age, 10)) {
			case 12: 
				var inEuro = Array('20', '62', '55', '*', '*', '*', '45');
				var inPercentage = Array('93', '28', '96', '17', '7', '0', '96');
				var uitgaven = getVergelijkingUitgaven(8);
				break;

			case 13: 
				var inEuro = Array('17', '52', '48', '79', '14', '*', '63');
				var inPercentage = Array('92', '29', '95', '26', '9', '0', '97');
				var uitgaven = getVergelijkingUitgaven(9);
				break;
			
			case 14: 
				var inEuro = Array('21', '56', '64', '83', '19', '*', '87');
				var inPercentage = Array('91', '43', '94', '36', '16', '0', '98');
				var uitgaven = getVergelijkingUitgaven(10);
				break;

			case 15: 
				var inEuro = Array('23', '57', '59', '109', '24', '*', '110');
				var inPercentage = Array('88', '51', '93', '47', '27', '0', '98');
				var uitgaven = getVergelijkingUitgaven(11);
				break;

			case 16: 
				var inEuro = Array('25', '59', '69', '157', '39', '*', '174');
				var inPercentage = Array('83', '52', '91', '65', '36', '0', '98');
				var uitgaven = getVergelijkingUitgaven(12);
				break;

			case 17: 
				var inEuro = Array('26', '62', '79', '172', '52', '*', '213');
				var inPercentage = Array('80', '58', '85', '74', '49', '0', '99');
				var uitgaven = getVergelijkingUitgaven(13);
				break;
			
			case 18: 
				var inEuro = Array('40', '71', '111', '*', '79', '*', '*');
				var inPercentage = Array('65', '46', '76', '67', '51', '66', '96');
				var uitgaven = getVergelijkingUitgaven(14);
				break;
		}
	}
	
	var text = '';
	//text += '<tr style="font-weight: bold"><td>Inkomsten</td><td style="text-align: center">&euro;</td><td style="text-align: center">%</td></tr>';
	text += '<tr style="font-weight: bold"><td>Inkomsten</td><td style="text-align: center">&euro;</td></tr>';
	for (var c = 0; c < fieldNames.length; c++) {
		text += '<tr><td>'+fieldNames[c];
		text += '</td><td>';
		if (inEuro[c]) text += inEuro[c];
		//text += '</td><td>';
		//if (inPercentage[c]) text +="p"+ inPercentage[c];
		text += '</td></tr>';
	}

	return '<table cellspacing=0 cellpadding=0><tr><td style="vertical-align: top"><table>'+text+'</table></td><td style="width: 15px"></td><td><table>'+uitgaven+'</table></td></tr></table>';
}

function getVergelijkingUitgaven(ident) {
	var fieldNames = Array('Snoep en Snacks', 'Frisdrank', 'Alcohol', 'Roken', 'Kleding', 'Uitgaan', 'CD’s e.d.', 'Cadeaus', 'Hobby’s', 'Cosmetica', 'Video', 'Brommer', 'Computer', 'Tijdschriften', 'Contributies', 'Mobiele telefoon', 'Schoolartikelen', 'Drugs', 'Openbaar vervoer', 'Gokken', 'Verzekeringen', 'Goede doelen', 'Overige uitgaven');

	switch(ident) {
		case 1: //12 Jongen
		 	var inEuro = Array('10', '11', '*', '*', '32', '8', '9', '5', '11', '7', '6', '*', '19', '5', '16', '7', '4', '*', '*', '*', '*', '5', '16');
			var inPercentage = Array('83', '53', '17', '4', '32', '15', '27', '37', '34', '41', '23', '2', '33', '19', '6', '47', '9', '2', '4', '4', '1', '8', '17');
			break;

		case 2:	//13 Jongen
		 	var inEuro = Array('12', '11', '*', '*', '33', '7', '16', '7', '14', '9', '9', '*', '17', '4', '10', '10', '6', '*', '*', '*', '*', '3', '13');
			var inPercentage = Array('84', '61', '55', '13', '52', '22', '22', '46', '37', '59', '25', '16', '28', '13', '9', '59', '8', '7', '12', '4', '6', '6', '10');
			break;
			
		case 3:	//14 Jongen
		 	var inEuro = Array('14', '12', '*', '*', '46', '9', '10', '8', '13', '11', '9', '*', '20', '5', '9', '10', '6', '*', '7', '*', '*', '4', '12');
			var inPercentage = Array('84', '61', '55', '13', '52', '22', '22', '46', '37', '59', '25', '16', '28', '13', '9', '59', '8', '7', '12', '4', '6', '6', '10');
			break;	
			
		case 4:	//15 Jongen
		 	var inEuro = Array('20', '14', '*', '*', '44', '10', '10', '9', '14', '11', '8', '*', '20', '5', '14', '13', '5', '*', '16', '*', '*', '7', '19');
			var inPercentage = Array('84', '61', '55', '13', '52', '22', '22', '46', '37', '59', '25', '16', '28', '13', '9', '59', '8', '7', '12', '4', '6', '6', '10');
			break;	
			
		case 5:	//16 Jongen
		 	var inEuro = Array('23', '16', '55', '68', '50', '10', '13', '10', '18', '14', '7', '31', '19', '7', '15', '13', '4', '*', '11', '*', '20', '7', '30');
			var inPercentage = Array('84', '61', '55', '13', '52', '22', '22', '46', '37', '59', '25', '16', '28', '13', '9', '59', '8', '7', '12', '4', '6', '6', '10');
			break;	
			
		case 6:	//17 Jongen
		 	var inEuro = Array('25', '17', '67', '62', '48', '10', '10', '11', '20', '11', '9', '*', '19', '6', '11', '14', '4', '*', '10', '*', '*', '6', '26');
			var inPercentage = Array('84', '61', '55', '13', '52', '22', '22', '46', '37', '59', '25', '16', '28', '13', '9', '59', '8', '7', '12', '4', '6', '6', '10');
			break;		
			
		case 7:	//18 Jongen
		 	var inEuro = Array('46', '36', '*', '*', '67', '16', '14', '15', '27', '18', '12', '*', '27', '9', '16', '30', '*', '*', '21', '*', '*', '9', '*');
			var inPercentage = Array('84', '61', '55', '13', '52', '22', '22', '46', '37', '59', '25', '16', '28', '13', '9', '59', '8', '7', '12', '4', '6', '6', '10');
			break;		

		case 8:	//12 Meisje
		 	var inEuro = Array('11', '11', '*', '*', '34', '9', '10', '6', '9', '8', '8', '*', '11', '5', '9', '10', '8', '*', '*', '*', '*', '6', '7');
			var inPercentage = Array('83', '35', '13', '5', '58', '63', '27', '66', '25', '54', '20', '1', '5', '41', '7', '55', '17', '1', '10', '2', '<1', '14', '15');
			break;
		
		case 9:	//13 Meisje
		 	var inEuro = Array('12', '13', '*', '*', '34', '7', '7', '6', '11', '7', '8', '*', '12', '4', '7', '10', '5', '*', '8', '*', '*', '5', '10');
			var inPercentage = Array('83', '35', '13', '5', '58', '63', '27', '66', '25', '54', '20', '1', '5', '41', '7', '55', '17', '1', '10', '2', '<1', '14', '15');
			break;
			
		case 10:	//14 Meisje
		 	var inEuro = Array('13', '12', '*', '*', '37', '7', '8', '7', '10', '8', '6', '*', '15', '4', '9', '11', '5', '*', '9', '*', '*', '4', '15');
			var inPercentage = Array('83', '35', '13', '5', '58', '63', '27', '66', '25', '54', '20', '1', '5', '41', '7', '55', '17', '1', '10', '2', '<1', '14', '15');
			break;
		
		case 11:	//15 Meisje
		 	var inEuro = Array('15', '12', '*', '*', '41', '8', '8', '8', '10', '9', '6', '*', '13', '5', '8', '11', '6', '*', '9', '*', '*', '5', '16');
			var inPercentage = Array('83', '35', '13', '5', '58', '63', '27', '66', '25', '54', '20', '1', '5', '41', '7', '55', '17', '1', '10', '2', '<1', '14', '15');
			break;
		
		case 12:	//16 Meisje
		 	var inEuro = Array('18', '13', '38', '*', '45', '10', '10', '9', '12', '10', '6', '18', '10', '5', '12', '13', '5', '*', '11', '*', '*', '3', '20');
			var inPercentage = Array('83', '35', '13', '5', '58', '63', '27', '66', '25', '54', '20', '1', '5', '41', '7', '55', '17', '1', '10', '2', '<1', '14', '15');
			break;
		
		case 13:	//17 Meisje
		 	var inEuro = Array('19', '16', '44', '*', '52', '10', '10', '11', '15', '11', '7', '19', '12', '5', '11', '14', '6', '*', '14', '*', '*', '5', '32');
			var inPercentage = Array('83', '35', '13', '5', '58', '63', '27', '66', '25', '54', '20', '1', '5', '41', '7', '55', '17', '1', '10', '2', '<1', '14', '15');
			break;
		
		case 14:	//18 Meisje
		 	var inEuro = Array('29', '26', '49', '*', '60', '12', '*', '12', '24', '15', '10', '*', '*', '6', '*', '21', '18', '*', '22', '*', '*', '7', '*');
			var inPercentage = Array('83', '35', '13', '5', '58', '63', '27', '66', '25', '54', '20', '1', '5', '41', '7', '55', '17', '1', '10', '2', '<1', '14', '15');
			break;
		
		default:
			inEuro = Array();
			inPercentage = Array();
	}

	var text = '';
	//text += '<tr style="font-weight: bold"><td>Uitgaven</td><td style="text-align: center">&euro;</td><td style="text-align: center">%</td></tr>';
	text += '<tr style="font-weight: bold"><td>Uitgaven</td><td style="text-align: center">&euro;</td></tr>';
	for (var c = 0; c < fieldNames.length; c++) {
		text += '<tr><td>'+fieldNames[c];
		text += '</td><td>';
		if (inEuro[c]) text += inEuro[c];
		//text += '</td><td>';
		//if (inPercentage[c]) text += inPercentage[c];
		text += '</td></tr>';
	}

	return text;
}

function getBaantjes(age, gender) {
	if (gender == 'male') {
		var genderText = 'jongens';
		switch (parseInt(age, 10)) {
			case 12:
				var jobs = Array("krantenwijk", "oppassen", "auto's wassen");
				break;
			
			case 13:
				var jobs = Array("krantenwijk", "oppassen", "klusjes", "bij een boer", "auto's wassen");
				break;

			case 14:
				var jobs = Array("krantenwijk", "bij een boer", "oppassen", "in een winkel", "bij ouders in bedrijf");
				break;

			case 15:
				var jobs = Array("in een winkel", "krantenwijk", "bij een boer", "horeca",  "oppassen");
				break;
				
			case 16:
				var jobs = Array("in een winkel", "horeca", "krantenwijk", "bij een boer", "bij ouders in bedrijf");
				break;

			case 17:
				var jobs = Array("in een winkel", "horeca", "krantenwijk", "schoonmaken", "in een fabriek");
				break;

			case 18:
				var jobs = Array("in een winkel", "horeca", "in een fabriek", "bij een boer", "bij ouders in bedrijf");
				break;
			
			default:
				var jobs = Array();
				break;
		}
	} else {
		var genderText = 'meisjes';
		switch (parseInt(age, 10)) {
			case 12:
				var jobs = Array("krantenwijk", "oppassen", "schoonmaken",  "huishoudelijk werk","klusjes");
				break;
			
			case 13:
				var jobs = Array("krantenwijk", "oppassen", "bij een boer", "bij ouders in bedrijf", "schoonmaken");
				break;

			case 14:
				var jobs = Array("krantenwijk", "oppassen boer", "in een winkel", " klusjes", "bij een boer");
				break;

			case 15:
				var jobs = Array("oppassen", "krantenwijk", "in een winkel", "horeca", "schoonmaken");
				break;
				
			case 16:
				var jobs = Array("in een winkel", "oppassen", "horeca", "krantenwijk", "schoonmaken");
				break;

			case 17:
				var jobs = Array("in een winkel", "oppassen", "horeca", "schoonmaken", "krantenwijk");
				break;

			case 18:
				var jobs = Array("in een winkel", "horeca", "oppassen", "schoonmaken", "krantenwijk");
				break;
			
			default:
				var jobs = Array("in een winkel", "oppassen", "horeca", "schoonmaken", "krantenwijk");
				break;
		}
	}

	var text = '';
	for (var j = 1; j <= jobs.length; j++) {
		text += j+'. '+jobs[(j-1)]+'<br>';
	}
	if (text != '')	{
		text = 'Top 5 voor '+genderText+' van '+age+' jaar:<br><br>'+text;
	}

	return text;
}

function getSparen() {
	var price = getAmount('priceAmount');
	var saved = getAmount('savedAmount');
	var increment = getAmount('incrementAmount');

	var months = '-';
	if (increment > 0) {
		months = (price - saved)/increment;
		if (months < 0) months = 0;
		months = Math.round(months*10)/10;
	} 
	
	document.getElementById('calculationSpan').innerHTML = months;
}

function getAmount(id) {
	var field = document.getElementById(id);
	var value = parseFloat(field.value.replace(/,/ , '.'));

	if (!isFinite(value) || value < 0) value = 0;

	field.value = value.toString().replace(/\./, ',');
	return value;
}
