var YUE = YAHOO.util.Event;
var YUD = YAHOO.util.Dom;

var checkform = function(){
	var reqFields = YUD.getElementsByClassName("requiredinput","fieldset");
	var errors = false;
	var errorText = "<ul><li>De rood gemarkeerde velden zijn niet of niet correct ingevuld.</li><li>Controleer deze gegevens of vul ze alsnog in.</li>";
	var BScMenu = document.getElementById("nl");
	
	if (BScMenu==null){
		errorText = "<ul><li>The marked fields are not filled out or not filled out correctly</li><li>Please check the marked fields and correct the problem.</li>";
	}
	
	// Temporary remove the required schoolYearCheck when non-Dutch education is chosen (should be removed
	SchoolYearCheck = YUD.get("schoolType");
	if(SchoolYearCheck && (SchoolYearCheck.value == "MED.040" || SchoolYearCheck.value == "MED.050")){
		YUD.removeClass("schoolYearHolder","requiredinput");
		reqFields = YUD.getElementsByClassName("requiredinput","fieldset");
	} else {
		YUD.addClass("schoolYearHolder","requiredinput");
		reqFields = YUD.getElementsByClassName("requiredinput","fieldset");
	};
	
	for(i=0;i<reqFields.length;i++){
		var inputFields =  reqFields[i].getElementsByTagName("input");
		var selectFields =  reqFields[i].getElementsByTagName("select");
		function trim(value) {
			value = value.replace("/^\s+/",'');
			value = value.replace("/\s+$/",'');
			return value;
		}
		var addToErrorText = function(eventHandle){
			return;
			var tempNode = eventHandle.parentNode;
			var labelNode = tempNode.getElementsByTagName("label")[0];
			var labelText = labelNode.innerHTML;
			labelText = trim(labelText.split(":")[0]);
		}
		if (inputFields.length>0){
			for(j=0;j<inputFields.length;j++){
				YUD.removeClass(inputFields[j].parentNode,'errorfield');
				if(inputFields[j].type == "text"){
					if (inputFields[j].value==''){
						YUD.addClass(inputFields[j].parentNode,'errorfield');
						addToErrorText(inputFields[j]);
						errors = true;
					}
				}
			}
		}
		if (selectFields.length>0){	
			for(j=0;j<selectFields.length;j++){
				var tempValue = selectFields[j].options[selectFields[j].selectedIndex].value;
				var parNode = YUD.getAncestorByTagName(selectFields[j],"fieldset");
				YUD.removeClass(parNode,'errorfield');
				//console.log(parNode);
				if (tempValue==''){
					YUD.addClass(parNode,'errorfield');
					errors = true;
				}
			}
			addToErrorText(selectFields[0]);
		}
	}
	
	if (errors){
		errorText = errorText + "</ul>"
		var errorDiv = document.getElementById("error");
		var errorClassDiv = YUD.getElementsByClassName("error");
		if (errorDiv){
			errorDiv.innerHTML = errorText;
		} else {
			var tempNode = document.getElementById("userform");
			var tempNodeParent = document.getElementById("userform").parentNode;
			var newNode = document.createElement("div");
			newNode.setAttribute("class","error attention");
			newNode.setAttribute("id","error");
			newNode.innerHTML = errorText;
			if(errorClassDiv.length>0){
				errorClassDiv[0].innerHTML = errorText;
			} else {
				tempNode.insertBefore(newNode,tempNode.firstChild);
			}
		}
		//columnsize();
		return false;
	} else {
		return true;
	}
}

var tempNode = document.getElementById("userform");
if(tempNode){
	tempNode.onsubmit = checkform;
};

var schooltypecheck = function() {
	var schoolType = document.getElementById("schoolType");
	var schoolYear = document.getElementById("schoolYear");
	var BScMenu = document.getElementById("menucontrol");
	if((schoolYear!=null)&&(BScMenu!=null)) {
		
		if(schoolType.value == 'BED.040'){
			YUD.removeClass(schoolYear.parentNode,'requiredinput');
		}else{
			YUD.addClass(schoolYear.parentNode,'requiredinput');
		}
	}
	
}

var schooltypeNode = document.getElementById("schoolType");
if (schooltypeNode){
	schooltypeNode.onchange =  schooltypecheck;
}
schooltypecheck();
