var div = document.getElementById('NAWContainer');
var NAWCityContainer = document.getElementById('NAWCityContainer');
var validateCustomSchool;
var handleSuccess = function(o){
	if(o.responseText !== undefined){
		div.innerHTML = o.responseText;
	}
}
var handleFailure = function(o){
	if(o.responseText !== undefined){
		div.innerHTML = "<ul><li>Transaction id: " + o.tId + "</li>";
		div.innerHTML += "<li>HTTP status: " + o.status + "</li>";
		div.innerHTML += "<li>Status code message: " + o.statusText + "</li></ul>";
	}
}
var callback = {success:handleSuccess, failure:handleFailure};
function update_schooldata(){
	if(!this.selectedIndex == 0){
		var sUrl = "/persoonlijk/inc_schooldata.cfm?school_id="+this.value;
		var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
	}else{
		div.innerHTML = "";
		NAWCityContainer.innerHTML = o.responseText;
	}
}
function initSchoolSelect(){
	YAHOO.util.Event.on("school","change",update_schooldata);
	YAHOO.util.Event.on("school","keyup",update_schooldata);
}
var handleSuccessCity = function(o){
	if(o.responseText !== undefined){
		NAWCityContainer.innerHTML = o.responseText;
		initSchoolSelect();
		setSelectSize();
	}
}
function setSelectSize(){
	 var items = Dom.get("school").getElementsByTagName("option");
	 var itemsLength = items.length;
	 var i;
	 for(i=0; i<itemsLength; i++){
		var itemCharLengthItems = items[i].innerHTML.length;
		if(itemCharLengthItems>40){
			oldCaption = items[i].innerHTML;
			newCaption = oldCaption.substring(0,40);
			items[i].innerHTML = newCaption + "..."; 
		}
	 }
}
var handleFailureCity = function(o){
	if(o.responseText !== undefined){
		NAWCityContainer.innerHTML = "<ul><li>Transaction id: " + o.tId + "</li>";
		NAWCityContainer.innerHTML += "<li>HTTP status: " + o.status + "</li>";
		NAWCityContainer.innerHTML += "<li>Status code message: " + o.statusText + "</li></ul>";
	}
}
var callbackCity = {success:handleSuccessCity, failure:handleFailureCity};
function update_citydata(){
	if(this.selectedIndex != 0 && this.value != "other_city"){
		var sUrl = "/persoonlijk/inc_schooldatacity.cfm?school_city="+this.value;
		var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callbackCity);
		div.innerHTML = "";
	}else if (this.value == "other_city"){
		var cUrl = "/persoonlijk/inc_schooldata.cfm?school_id=other_school";
		var specialrequest = YAHOO.util.Connect.asyncRequest('GET', cUrl, callback);
		NAWCityContainer.innerHTML = "";
		div.innerHTML = "";
		validateCustomSchool = 1;
	}else{
		NAWCityContainer.innerHTML = "";
		div.innerHTML = "";
	}
}
YAHOO.util.Event.on("schoolcity","change",update_citydata);
YAHOO.util.Event.on("schoolcity","keyup",update_citydata);
/* Basic form validation */
var returnValue = "";
var errorElement = YAHOO.util.Dom.get("errorElement");
var errorList = YAHOO.util.Dom.get("errorList");
function checkRequiredFields(e){
	YAHOO.util.Event.preventDefault(e); 
	var requiredArray = ["firstName","lastName","email","phoneNumber","schoolcity","preferedDate","schoolyear","mprofile","nprofile","supervisorCount","workshopfirst"];
	var msgArray = [
		"Voornaam is een verplicht veld",
		"Achternaam is een verplicht veld",
		"E-mailadres is een verplicht veld",
		"Telefoon school is een verplicht veld",
		"Plaatsnaam school is een verplicht veld",
		"Wanneer is een verplicht veld",
		"Klas is een verplicht veld",
		"Aantal leerlingen M-profiel is een verplicht veld",
		"Aantal leerlingen N-profiel is een verplicht veld",
		"Aantal begeleiders is een verplicht veld",
		"1ste keus is een verplicht veld"
	];
	if (validateCustomSchool == 1){
		requiredArray = [
			"firstName",
			"lastName",
			"postalCode",
			"email",
			"schoolcity",
			"school",
			"schooladdress1",
			"schoolhouseNumber",
			"schoolpostalCode",
			"schoolcitycustom",
			"preferedDate",
			"schoolyear",
			"mprofile",
			"nprofile",
			"supervisorCount",
			"transport",
			"workshopfirst",
			"phoneNumber"
		];
		msgArray = [
			"Voornaam is een verplicht veld",
			"Achternaam is een verplicht veld",
			"Postcode is een verplicht veld",
			"E-mailadres is een verplicht veld",
			"Plaatsnaam school is een verplicht veld",
			"School is een verplicht veld",
			"Vestigingsadres straat is een verplicht veld",
			"Vestigingsadres huisnummer is een verplicht veld",
			"Vestigingsadres postcode is een verplicht veld",
			"Vestigingsadres plaats is een verplicht veld",
			"Wanneer is een verplicht veld",
			"Klas is een verplicht veld",
			"Aantal leerlingen M-profiel is een verplicht veld",
			"Aantal leerlingen N-profiel is een verplicht veld",
			"Aantal begeleiders is een verplicht veld",
			"Wij komen is een verplicht veld",
			"1ste keus is een verplicht veld",
			"Telefoon school is een verplicht veld"
		];
	}
	errorList.innerHTML = "";
	for (var i=0;i<requiredArray.length;i++){
		var currField = YAHOO.util.Dom.get(requiredArray[i]);
		if (currField.tagName){
			switch (currField.tagName){
				case "INPUT":
					if (currField.value.length == 0){
						errorList.innerHTML += "<li>"+msgArray[i]+"</li>";
					}
				break;
				case "SELECT":
					if (currField.selectedIndex == 0){
						errorList.innerHTML += "<li>"+msgArray[i]+"</li>";
					}
				break;
			}
		}
	}
	if (errorList.innerHTML.length > 0){
		YAHOO.util.Dom.setStyle("errorElement","display","block");
		return false;
	}
	this.submit();
}

