////XML OPENEN (AJAX)////////////////////
	
	// te laden kalender (extern xml-bestand)
		var kalender = "xml_data/" + "2012_jan_feb.xml";
		
		// xml inladen en inlezen
		var xmlDoc;
		if (window.XMLHttpRequest) {
			xmlDoc = new window.XMLHttpRequest();
			xmlDoc.open("GET",kalender,false);
			xmlDoc.send("");
			xmlDoc = xmlDoc.responseXML;
		}
		// IE 5 en IE 6 gebruiken ander model
		else if (ActiveXObject("Microsoft.XMLDOM")) {
		  xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		  xmlDoc.async = false;
		  xmlDoc.load(kalender);
		}
		
		// alle film-nodes kiezen
		var x = xmlDoc.getElementsByTagName("film");
		
		var aantalvoorbij = 0;
		var totaal = 0;

		
////XML KALENDER PARSEN//////////////////

		function kalenderload() {
			var kalendercont;
			
			// aantal film-nodes tellen en op basis daarvan de totale breedte van de inner div bepalen
			kalendercont = "<div style=\"width:" + ((x.length * 120) - 16) + "px; display: block;\"> ";
			
			// loopen door alle film-nodes en alle weergeven die er te vinden zijn (+ formatting)
			for (i = 0; i < x.length; i++) {
				// class ophalen: normaal/maandag/voorbij

				if (x[i].getElementsByTagName("dag_b")[0].childNodes.length || x[i].getElementsByTagName("uur_b")[0].childNodes.length) {
					kalendercont += "<div onclick=\"javascript:openbox(" + i + "); return false\" class=\"" + kiesclass(x[i].getElementsByTagName("dag_a")[0].childNodes[0].nodeValue, x[i].getElementsByTagName("dag_b")[0].childNodes[0].nodeValue, 0) + "\" onMouseOver=\"hopla(this,'" + kiesclass(x[i].getElementsByTagName("dag_a")[0].childNodes[0].nodeValue, x[i].getElementsByTagName("dag_b")[0].childNodes[0].nodeValue, "true") + "')\" onMouseOut=\"hopla(this,'" + kiesclass(x[i].getElementsByTagName("dag_a")[0].childNodes[0].nodeValue, x[i].getElementsByTagName("dag_b")[0].childNodes[0].nodeValue, "false") + "')\">";
				} 
				else {
					kalendercont += "<div onclick=\"javascript:openbox(" + i + "); return false\" class=\"" + kiesclass(x[i].getElementsByTagName("dag_a")[0].childNodes[0].nodeValue, 0, 0) + "\" onMouseOver=\"hopla(this,'" + kiesclass(x[i].getElementsByTagName("dag_a")[0].childNodes[0].nodeValue, 0, "true") + "')\" onMouseOut=\"hopla(this,'" + kiesclass(x[i].getElementsByTagName("dag_a")[0].childNodes[0].nodeValue, 0, 0) + "')\">";
				}
				// avantpremiere bool
				if (x[i].getElementsByTagName("avantpremiere")[0].childNodes[0].nodeValue == "true") {
					kalendercont += "<div class=\"avprem\"><img src=\"img_use/img_avpremiere.png\" alt=\"AVANT PREMIERE\" /></div>";
				}
				
				// filmtitel en popup
				kalendercont += "<div class=\"filmnaam\"><a href=\"#\" onclick=\"javascript:openbox(" + i + "); return false\">" + trim(x[i].getElementsByTagName("titel")[0].childNodes[0].nodeValue,35) + "</a></div>";
				
				// dag_a datum en uur 1
				kalendercont += "<div class=\"inlfloat\">\
								 <div class=\"inl\">" + parsedatum(x[i].getElementsByTagName("dag_a")[0].childNodes[0].nodeValue) + "<div class=\"uur\">" + x[i].getElementsByTagName("uur_a")[0].childNodes[0].nodeValue + "</div></div>";
				
				// dag_b datum en uur 2 (enkel wanneer bestaat)
				if (x[i].getElementsByTagName("dag_b")[0].childNodes.length || x[i].getElementsByTagName("uur_b")[0].childNodes.length) {
					kalendercont += "<div class=\"inl\">" + parsedatum(x[i].getElementsByTagName("dag_b")[0].childNodes[0].nodeValue) + "<div class=\"uur\">" + x[i].getElementsByTagName("uur_b")[0].childNodes[0].nodeValue + "</div></div>";
				}
				
				kalendercont += "</div></div>";
				
///////			//CHECKT NORMAAL GEZIEN NU OF DE 2 FILMDAGEN AL VOORBIJ ZIJN
				var xmldag_a = x[i].getElementsByTagName("dag_a")[0].childNodes[0].nodeValue;
				var datum_a = new Date(xmldag_a.substring(0,4), xmldag_a.substring(5,7)-1, xmldag_a.substring(8,10));
				
				if (x[i].getElementsByTagName("dag_b")[0].childNodes.length) {
					var xmldag_b = x[i].getElementsByTagName("dag_b")[0].childNodes[0].nodeValue;
					var datum_b = new Date(xmldag_b.substring(0,4), xmldag_b.substring(5,7)-1, xmldag_b.substring(8,10));
				}
				
				var vandg = new Date();
				vandg.setHours(0,0,0,0);
				
				if (x[i].getElementsByTagName("dag_a")[0].childNodes.length && x[i].getElementsByTagName("dag_b")[0].childNodes.length) {
					if (datum_a < vandg && datum_b < vandg) {
						aantalvoorbij += 1;
					}
				}
				else if (!x[i].getElementsByTagName("dag_b")[0].childNodes.length && x[i].getElementsByTagName("dag_a")[0].childNodes.length){
					if (datum_a < vandg) {
						aantalvoorbij += 1;
					}
				}
				totaal += 1;
			}
			
			//kalendercont += "</div>";
			
			// in div gooien
			document.getElementById("kalender").innerHTML = kalendercont;
		}
			
			
////XML POPUP////////////////////////////

		function openbox(id) {
		// popup 'openen' (vullen en zichtbaar maken)
			var id; var popcont;
			// uit xml halen en de onzichtbare div volgooien
			popcont = "<div id=\"pophead\">\
					<div id=\"titel\">" + x[id].getElementsByTagName("titel")[0].childNodes[0].nodeValue + "</div>\
					<div id=\"close\"><a href=\"#\" onclick=\"closebox();return false;\"><img src=\"img_use/img_close.gif\" alt=\"Sluit venster\" onmouseover=\"this.src=('img_use/img_close_over.gif')\" onmouseout=\"this.src=('img_use/img_close.gif')\" /></a></div>\
                </div>\
				<div id=\"meer\">\
					<div id=\"meerinhoud\">\
						<div id=\"datums\">";

			if (x[id].getElementsByTagName("avantpremiere")[0].childNodes[0].nodeValue == "true") {
				popcont += "<div class=\"inlavbox\"><img src=\"img_use/img_avpremiere_box.png\" alt=\"AVANT PREMIERE\" /></div>";
			}
			
			popcont += "<div class=\"inl\">" + parsedatum(x[id].getElementsByTagName("dag_a")[0].childNodes[0].nodeValue) + "<div class=\"uur\">" + x[id].getElementsByTagName("uur_a")[0].childNodes[0].nodeValue + "</div></div>";
			
			if (x[id].getElementsByTagName("dag_b")[0].childNodes.length || x[id].getElementsByTagName("uur_b")[0].childNodes.length) {
				popcont += "<div class=\"inl\">" + parsedatum(x[id].getElementsByTagName("dag_b")[0].childNodes[0].nodeValue) + "<div class=\"uur\">" + x[id].getElementsByTagName("uur_b")[0].childNodes[0].nodeValue + "</div></div>";
			}
			
			popcont += "</div>";
			
			if (x[id].getElementsByTagName("inhoud")[0].childNodes.length) {
				popcont += "<div id=\"inhoud\">" + x[id].getElementsByTagName("inhoud")[0].childNodes[0].nodeValue + "</div>";
			}
			
			if (x[id].getElementsByTagName("review")[0].childNodes.length) {
				popcont += "<div id=\"review\">" + x[id].getElementsByTagName("review")[0].childNodes[0].nodeValue + "</div>";
			}
			
			popcont += "</div>";
					
			if (x[id].getElementsByTagName("beeld_1")[0].childNodes.length && x[id].getElementsByTagName("beeld_2")[0].childNodes.length) {
				popcont += "<div id=\"meerimg\">\
								<div id=\"meerimg1\"><img src=\"img_film/" + x[id].getElementsByTagName("beeld_1")[0].childNodes[0].nodeValue + "\" alt=\"Fragment uit " + x[id].getElementsByTagName("titel")[0].childNodes[0].nodeValue + "\" /></div>\
								<div id=\"meerimg2\"><img src=\"img_film/" + x[id].getElementsByTagName("beeld_2")[0].childNodes[0].nodeValue + "\" alt=\"Fragment uit " + x[id].getElementsByTagName("titel")[0].childNodes[0].nodeValue + "\" /></div>\
							</div>";
			}
		
			popcont += "<div id=\"meerfoot1\">\
							<div id=\"regie\">regie: " + x[id].getElementsByTagName("regie")[0].childNodes[0].nodeValue + "</div>\
							<div id=\"jaar\">" + x[id].getElementsByTagName("jaar")[0].childNodes[0].nodeValue + "</div>\
						</div>";
					
			popcont += "<div id=\"meerfoot2\">";

			if (x[id].getElementsByTagName("met")[0].childNodes.length) {
				popcont += "<div id=\"met\">met " + x[id].getElementsByTagName("met")[0].childNodes[0].nodeValue + "</div>";
			}

			popcont += "<div id=\"duur\">" + x[id].getElementsByTagName("duur")[0].childNodes[0].nodeValue + "</div>\
						<div id=\"land\">" + x[id].getElementsByTagName("land")[0].childNodes[0].nodeValue + "</div>\
						<div id=\"extl\">&nbsp"
						if (x[id].getElementsByTagName("imdb")[0].childNodes.length) {
							popcont += "<a href=\"http://www.imdb.com/title/" + x[id].getElementsByTagName("imdb")[0].childNodes[0].nodeValue + "\" target=\"_blank\"\"><img src=\"img_use/img_logo_imdb.png\" alt=\"" + x[id].getElementsByTagName("titel")[0].childNodes[0].nodeValue + " @ IMBD\" width=\"24\" height=\"12\" /></a> ";
						}
						if (x[id].getElementsByTagName("trailer")[0].childNodes.length) {
							popcont += "&nbsp&nbsp&nbsp&nbsp<a href=\"" + x[id].getElementsByTagName("trailer")[0].childNodes[0].nodeValue + "\" target=\"_blank\"><img src=\"img_use/img_trailer.png\" alt=\"Trailer\" width=\"24\" height=\"12\" /></a> ";
						}
						
			popcont += "</div>\
						<div id=\"url\">&nbsp;";
						if (x[id].getElementsByTagName("url")[0].childNodes.length) {
							popcont += "<a href=\"" + x[id].getElementsByTagName("url")[0].childNodes[0].nodeValue + "\" target=\"_blank\" id=\"w\">Website <img src=\"img_use/img_external_link.png\" alt=\"" + x[id].getElementsByTagName("url")[0].childNodes[0].nodeValue + "\" width=\"10\" height=\"10\" /></a> ";
						}
					
			popcont += "</div></div></div>"
			
			// gevulde div vullen en zichtbaar maken
			document.getElementById("popcont").innerHTML = popcont;
			document.getElementById("popcont").style.display = "block";
		}
		
		function closebox() {
		// popup weer 'sluiten' (onzichtbaar maken)	
			if (document.getElementById("popcont").style.display == "block") {
				document.getElementById("popcont").style.display = "none";
			}
		}


////ALGEMENE FUNCTIONS///////////////////

		function parsedatum(xmldatum) {
		// ISO-8601 YYYY-MM-DD datums uit XML omzetten naar javascript Date() en formatten
			var xmldatum;
			
			var datum = new Date(xmldatum.substring(0,4), xmldatum.substring(5,7)-1, xmldatum.substring(8,10));
			
			// arrays van weekdagen en maanden in tekstvorm
			var wkdag = new Array("ZO", "MA", "DI", "WO", "DO", "VR", "ZA", "ZO");
			var maand = new Array("JAN", "FEB", "MRT", "APR", "MEI", "JUN", "JUL", "AUG", "SEPT", "OKT", "NOV", "DEC");
			
			// formatten
			return "<div class=\"dag\">" + wkdag[datum.getDay()] + "</div><div class=\"mnd\">" + datum.getDate() + " " + maand[datum.getMonth()] + "</div>";
		}
		
		function kiesclass(xmldatum1, xmldatum2, over) {
		// maandagfilms hebben andere achtergrondkleur: checken of het om een maandag gaat of niet en daarmee class returnen
			var xmldatum1; var xmldatum2; var over;
			
			// ISO-8601 datums uit XML omzetten naar werkbare javascript Date()
			var datum1 = new Date(xmldatum1.substring(0,4), xmldatum1.substring(5,7)-1, xmldatum1.substring(8,10));
			if (xmldatum2 != 0) {var datum2 = new Date(xmldatum2.substring(0,4), xmldatum2.substring(5,7)-1, xmldatum2.substring(8,10));}
			var vandg = new Date();
			vandg.setHours(0,0,0,0);
			var over;
			
			if (over == "true" && xmldatum2 == 0) {
				if (datum1 < vandg){return "stoverbij";}
				else {return "stover";}
			}
			else if (over == "true" && xmldatum2 != 0) {
				if (datum1 < vandg && datum2 < vandg){return "stoverbij";}
				else {return "stover";}
			}
			else if (xmldatum2 != 0) {
				if (datum1 > vandg && datum1.getDay() == 1) {return "stmaandag";}
				else if (datum1 < vandg && datum2 < vandg){return "stvoorbij";}
				else {return "st";}
			}
			else {
				// als xmldatum een maandag is EN nog niet voorbij, dan class maandag (oranje)
				if (datum1 > vandg && datum1.getDay() == 1) {return "stmaandag";}
				// als xmldatum voorbij is, dan class voorbij (grijs)
				else if (datum1 < vandg){return "stvoorbij";}
				// en anders zal het wel een gewone datum zijn
				else {return "st";}
			}
		}
		
		function scrollnaardatum() {
		// naar datum scrollen op basis van voorbije datums (zodat uit beeld verdwijnen door scrollen)
			
			var positie = aantalvoorbij * 118;
			document.getElementById("kalender").scrollLeft = positie;
		}		
		
		function datebgload () {
		// achtergrond + maanden en jaar in koptitel renderen vanuit de xml bij laden van pagina
			// achtergrond enkel als gegeven is)
			if (xmlDoc.getElementsByTagName("kalender")[0].getAttribute("achtergrond").length) {
				document.body.background = "img_bg/" + xmlDoc.getElementsByTagName("kalender")[0].getAttribute("achtergrond");
			}
			
			//maand en jaar
			document.getElementById("kopmaand").innerHTML = "\
				<img id=\"maand\" src=\"img_maand/" + xmlDoc.getElementsByTagName("kalender")[0].getAttribute("maand") + ".jpg\" alt=\"" + xmlDoc.getElementsByTagName("kalender")[0].getAttribute("maand") + "\" />\
				<img id=\"jaar\" src=\"img_jaar/" + xmlDoc.getElementsByTagName("kalender")[0].getAttribute("jaar") + ".jpg\" alt=\"" + xmlDoc.getElementsByTagName("kalender")[0].getAttribute("jaar") + "\" />";
		}
		
		function hopla(deze,door) {
		// class wisselen bij muisover
			var deze; var door;
			
			deze.className = door;
		}
		
		function trimurl(url) {
		// url trimmen als te lang is voor beeld
			var url;
			
			if (url.length > 25) {return "Offici&euml;le website";}
			else {return url;}
		}
		
		function trim(string,tekens) {
		// string trimmen als te lang is voor binnen layout (bvb titel op kalenderpagina)
			var string; var tekens;
			
			if(string.length > tekens) {
				var string = string.substring(0,(tekens-1))+"...";
			}
			return string;
		}
		
		window.onload = function loadall() { 
		// functies die moeten laden bij laden pagina
			datebgload();
			kalenderload();
			scrollnaardatum()
		}
