/* 
 * Do http request 
 */
function GetXmlHttpObject() { 
	var objXMLHttp = null;
	if (window.XMLHttpRequest) {
		objXMLHttp = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return objXMLHttp;
} 

/*
 * Change text and expand or fold menu
 */
function showCourses(fase_id, course_id, all_courses) {	
	show = false;
	
	/* fase_id doesnt need to be > 0 */
	if (all_courses == true) {
		show = true;
	/* fase_id needs to be > 0 */
	} else if(fase_id > 0) {
		show = true;
	}
	
	if (show) {
		/* set loading image */
		document.getElementById('course_info').innerHTML = "Vak: * <img src='img/loading2.gif' width=12 />";
	
		/* get course */
		var study_id = document.getElementById('study').value;
		
		/* do http request */
		var xmlHttp = GetXmlHttpObject();
		
		/* error on request */	
		if (xmlHttp == null) {
			alert("Browser does not support HTTP Request");
			return;
		} 
		
		/* do request */
		var url = "inc/boekenverkoop/get_courses.inc.php?study_id=" + study_id + "&fase_id=" + fase_id;
		
		/* process page */
		xmlHttp.onreadystatechange = 
			function stateChanged() { 
				if (xmlHttp.readyState == 4) {
					if(xmlHttp.status == 200) {
						var courses = xmlHttp.responseText;
						
						/* convert received string to JavaScript object */
						var courseObject = JSON.parse(courses);
						
						/* empty courses */
						var course_select = document.getElementById('course');
						course_select.options.length = 0;
						
						//document.getElementById('search_info').innerHTML = "";
						
						/* add first option (on search) */
						if(all_courses) {
							course_select.options[0] = new Option("Alle vakken", "0", false, false);
						} else {
							course_select.options[0] = new Option("Selecteer een vak", "0", false, false);
							course_select.options[0].disabled = true;
						}
						
						/* add courses */
						var j = 0;
						for (var i in courseObject) {		
							j++;
							if(course_id == i) {
								course_select.options[j] = new Option(courseObject[i], i, true, true);
							} else {
								course_select.options[j] = new Option("", i, false, false);
								course_select.options[j].innerHTML = courseObject[i];
							}
							
							//document.getElementById('search_info').innerHTML += courseObject[i] + "<br/>";
						}
						
						/* for master rechten show extra info */
						if ((study_id == 4 || study_id == 5) && (fase_id == 4)) {
							document.getElementById('search_info').innerHTML = "Voor boeken master Rechten, " +
																			   "zie opleiding Ned. Recht";
						} else {
							document.getElementById('search_info').innerHTML = "";
						}
						
						/* unset loading image */
						document.getElementById('course_info').innerHTML = "Vak: *";
						
						document.getElementById('course').disabled = false;
					} else {
						alert("Probleem met het request!" + xmlHttp.status);
						document.getElementById('course').disabled = true;
						
						/* unset loading image */
						document.getElementById('course_info').innerHTML = "Vak: *";
					}
				}
			}   
	
		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);
	} else {
		document.getElementById('course').disabled = true;
	}
}

/*
 * Show fase
 */
function showFase(value, all_courses) {
	if (value > 0) {
		/* empty courses */
		var course_select = document.getElementById('course');
		course_select.options.length = 0;
		document.getElementById('search_info').innerHTML = "";
	
		/* add first option (on search) */
		if(all_courses) {
			course_select.options[0] = new Option("Alle vakken", "0", true, true);
		} else {
			course_select.options[0] = new Option("Selecteer een vak", "0", true, true);
		}
		
		document.getElementById('fase').options[0].selected = true;
	}
}
