function hideAddTrainingForm(speed) {
	
	if (typeof(speed) == 'undefined' || speed.length == 0)
		speed = '';
	
	$('fieldset#addtrainingform').hide(speed);
	$('fieldset#addtrainingform :input').attr('disabled', 'disabled');
	
	$('div.edittraining').show();
}

function showAddTrainingForm(speed) {
	
	if (typeof(speed) == 'undefined' || speed.length == 0)
		speed = '';
	
	$('fieldset#addtrainingform').show(speed);
	$('fieldset#addtrainingform :input').removeAttr('disabled');
	
	$('div.edittraining').hide();
}

function hideEditTrainingForm(speed) {
	
	if (typeof(speed) == 'undefined' || speed.length == 0)
		speed = '';
	
	$('fieldset#edittraingform').hide(speed);
	$('fieldset#edittraingform :input').attr('disabled', 'disabled');
	
	$('div.addtraining').show();
}

function showEditTrainingForm(speed) {
	
	if (typeof(speed) == 'undefined' || speed.length == 0)
		speed = '';
	
	$('fieldset#edittraingform').show(speed);
	$('fieldset#edittraingform :input').removeAttr('disabled');
	
	$('div.addtraining').hide();
}

function hideOverigeVragen(speed) {
	
	if (typeof(speed) == 'undefined' || speed.length == 0)
		speed = '';
		
	$('div.textarea').hide(speed);
	$('div.textarea :input').attr('disabled', 'disabled');
}

function showOverigeVragen(speed) {
	
	if (typeof(speed) == 'undefined' || speed.length == 0)
		speed = '';
	
	$('div.textarea').show(speed);
	$('div.textarea :input').removeAttr('disabled');
}

function isEmpty(string) {
	
	if (typeof(string) == 'undefined')
		return true;
		
	if (string == null)
		return true;
		
	if (string.length == 0)
		return true;
		
	
		
	return false;
}


// -----------------------------------------------------------------------------------
// Functies om een nieuw school toe te voegen.
// -----------------------------------------------------------------------------------

var provincie;
var niveau;
var plaats;
var school;

function getPlacesByProvincieAndNiveau(provincie, niveau) {
	
	// Ingevoerde gegevens controleren.
	if (isEmpty(provincie)) {
		return false;
	}
	if (isEmpty(niveau)) {
		return false;
	}
	
	$.getJSON('index.php?id=306&type=1512&command=getCity', {province: provincie, level: niveau}, function(json) {
		if (isEmpty(json)) {
			$('#add_plaats_select').css({display: 'none'});
		}
		else {
			$('#add_plaats_select option').remove();
			$('#add_plaats_select').append('<option value="">Plaats</option>');
			
			for (i = 0; i < json.length; i++) {
				$('#add_plaats_select').append('<option value="' + json[i] + '">' + json[i] + '</option>');
			}
			
			$('#add_plaats_select').css({display: 'block'});
			var parent = $('#add_plaats_select').parent();
			$('span.other_message', parent).css('display', 'inline');
		}
	});
}

function getOnderwijsInstelling(provincie, niveau, plaats) {
	
	// Ingevoerde gegevens controleren.
	if (isEmpty(provincie)) {
		return false;
	}
	if (isEmpty(niveau)) {
		return false;
	}
	if (isEmpty(plaats)) {
		return false;
	}
	
	$.getJSON('index.php?id=306&type=1512&command=getOnderwijsinstellingen', {province: provincie, level: niveau, place: plaats}, function(json) {
		if (isEmpty(json)) {
			$('#add_onderwijsinstelling_select').css({display: 'none'});
		}
		else {
			$('#add_onderwijsinstelling_select option').remove();
			$('#add_onderwijsinstelling_select').append('<option value="">Onderwijsinstelling</option>');
			
			for (i = 0; i < json.length; i++) {
				$('#add_onderwijsinstelling_select').append('<option value="' + json[i]['uid'] + '">' + json[i]['title'] + '</option>');
			}
			
			$('#add_onderwijsinstelling_select').css({display: 'block'});
			var parent = $('#add_onderwijsinstelling_select').parent();
			$('span.other_message', parent).css('display', 'inline');
		}
	})
}

function insertInfoOnderwijsinstelling(uid) {
	
	if (isEmpty(uid)) {
		return false;
	}
	
	$.getJSON('index.php?id=306&type=1512&command=getOnderwijsinstellingInfo', {onderwijsuid: uid}, function(json) {
		if (isEmpty(json)) {
			changeSchoolInfo();
		}
		else {
			changeSchoolInfo(json);
		}
	});
}

function changeSchoolInfo(json) {
	
	if (isEmpty(json)) {
		$('fieldset#location input').removeAttr('disabled');
		$('fieldset#general input').removeAttr('disabled');
		
		$('fieldset#location div.information').html('&nbsp;');
		$('fieldset#general div.information').html('&nbsp;');
	}
	else {
		$('fieldset#location input').attr('disabled', 'disabled');
		$('fieldset#general input').attr('disabled', 'disabled');
		
		$('fieldset#location div.information').html(json['location'].replace(/([^>]?)\n/g, '$1<br />\n'));
		$('fieldset#general div.information').html(json['general'].replace(/([^>]?)\n/g, '$1<br />\n'));
	}
}



$(function() {
	// Standaard acties.
	hideAddTrainingForm();
	hideEditTrainingForm();
	hideOverigeVragen();
	
	
	// Actie van gebruikers.
	$("input#addtraining").click(function() {
		if ($("input#addtraining:checked").length != 0)
			showAddTrainingForm('slow');
		else
			hideAddTrainingForm('fast');
			
		showOverigeVragen();
	});	
	$("input#edittraining").click(function() {
		if ($("input#edittraining:checked").length != 0)
			showEditTrainingForm('slow');
		else
			hideEditTrainingForm('fast');
			
		showOverigeVragen();
	});
	
	
	// Als er een provincie is gekozen.
	if ($('#add_provincie').change(function() {
		
		if (!isEmpty($('#add_provincie').val()))
			provincie = $('#add_provincie').val();
		else
			provincie = null;
			
		getPlacesByProvincieAndNiveau(provincie, niveau);
	}));
	
	// Als er een niveau gekozen is.
	if ($('#add_niveau').change(function() {
		if (!isEmpty($('#add_niveau').val()))
			niveau = $('#add_niveau').val();
		else
			niveau = null;
			
		getPlacesByProvincieAndNiveau(provincie, niveau);
	}));
	
	// Als er een plaats is gekozen.
	if ($('#add_plaats_select').change(function() {
		if (!isEmpty($('#add_plaats_select').val())) {
			plaats = $('#add_plaats_select').val();
			$('#add_plaats').attr('disabled', 'disabled');
		}
		else {
			plaats = null;
			$('#add_plaats').removeAttr('disabled');
		}
			
			
		getOnderwijsInstelling(provincie, niveau, plaats);
	}));	
	
	// Als er een school is gekozen.
	if ($('#add_onderwijsinstelling_select').change(function() {
		if (!isEmpty($('#add_onderwijsinstelling_select').val())) {
			school = $('#add_onderwijsinstelling_select').val();
			$('#add_onderwijsinstelling').attr('disabled', 'disabled');
		}
		else {
			school = null;
			changeSchoolInfo();
			$('#add_onderwijsinstelling').removeAttr('disabled');
		}
			
			
		insertInfoOnderwijsinstelling(school);
	}));
});

