/* INITIALISATION */

window.onload = function () {
	var supportCheck = document.createElement && document.getElementsByTagName && createXMLHTTPObject();
	if (!supportCheck) return;

	// Prevent filter form from submitting
	document.forms[0].onsubmit = function () {
		return false;
	}
	// Set event handlers for filer form fields
	var filterFields = document.forms[0].elements;
	for (var i=0;i<filterFields.length;i++) {
		if (filterFields[i].type == 'select-one') 
			filterFields[i].onchange = setFilter;
		else if (filterFields[i].name == 'trefwoord') {
			filterFields[i].onkeyup = setFilter;
			filterFields[i].value = 'Vul trefwoord in...';
			filterFields[i].onfocus = function () {
				if (this.value == 'Vul trefwoord in...')
					this.value = '';
			};
			filterFields[i].onblur = function () {
				if (this.value == '')
					this.value = 'Vul trefwoord in...';
			};			
		}
		else if (filterFields[i].name == 'go')
			filterFields[i].onclick = setFilter;
		else if (filterFields[i].name == 'reset')
			filterFields[i].onclick = resetFilter;
	}
	
	// Get all content (only needed once, at initialization)
	// Also loads filters from Cookie and updates filter form
	setContent();
	
	// Set tile navigation event handlers
	
	
	// Set context navigation event handlers
	var navLists = document.getElementById('achtergrond').getElementsByTagName('ul');
	for (var i=0;i<navLists.length;i++) {
		var list = navLists[i];
		if (list.className != 'voorbeelden' && list.className != 'navigatie')
			continue;
		else if (list.className == 'voorbeelden') {
			
		}
		else if (list.className == 'navigatie') {
			
		}
	}

}

/* XMLHTTP part */

var XMLHttpFactories = [
	function () {return new XMLHttpRequest()},
	function () {return new ActiveXObject("Msxml2.XMLHTTP")},
	function () {return new ActiveXObject("Msxml3.XMLHTTP")},
	function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];

function createXMLHTTPObject() {
	var xmlhttp = false;
	for (var i=0;i<XMLHttpFactories.length;i++) {
		try {
			xmlhttp = XMLHttpFactories[i]();
		}
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}

function sendRequest(url,callback,postData) {
	var req = createXMLHTTPObject();
	if (!req) return;
	var method = (postData) ? "POST" : "GET";
	req.open(method,url,true);
	req.setRequestHeader('User-Agent','XMLHTTP/1.0');
	if (postData)
		req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
		req.onreadystatechange = function () {
		if (req.readyState != 4) return;
		if (req.status != 200 && req.status != 304) {
			alert('HTTP error ' + req.status);
			return;
		}
		callback(req);
	}
	if (req.readyState == 4) return;
	req.send(postData);
}			

/* BASIC functions */

// function to alter class of elements
function setClass(id, newClass) {
	identity = document.getElementById(id);
	identity.className = newClass;
}

// setStyleById: given an element id, style property and 
// value, apply the style.
// args:
//  i - element id
//  p - property
//  v - value
//
function setStyleById(i, p, v) {
	var n = document.getElementById(i);
	n.style[p] = v;
}

function stopEvent(e) {
	if(!e) var e = window.event;
	
	//e.cancelBubble is supported by IE - this will kill the bubbling process.
	e.cancelBubble = true;
	e.returnValue = false;

	//e.stopPropagation works only in Firefox.
	if (e.stopPropagation) {
		e.stopPropagation();
		e.preventDefault();
	}
	return false;
}


/* CONTENT part (uitspraken + bijbehorende informatie) */
// Is verhuisd naar apart bestand!

