// AJAX begin

//JavaScript Document// Leest de post variabelen uit een formulier en stopt deze in de request
function postdata(obj, posturl, targetdiv, param) {
	var form = obj.elements;
	var returnString="";
	var val = "";
	
	for (var i=0;i<form.length;i++) {
		// Let op: velden worden op ID gechecked, niet op NAME. Daarbij worden hier alleen de velden met de tag INPUT en SELECT gelezen.
		if (form[i].nodeName == 'INPUT' || form[i].nodeName == 'SELECT' || form[i].nodeName == 'TEXTAREA') {
			
			switch(form[i].type) {
				case "checkbox":	// Als we te maken hebben met een checkbox
									/* Deze werking is het zelfde als de radio button 11-04-07
									if (form[i].checked) {
										returnString = returnString + '&' + form[i].id + '=1';
									} else {
										returnString = returnString + '&' + form[i].id + '=0';
									}
									break;
									*/

				case "radio":		// Als we te maken hebben met een radio, alleen checked value doorgeven!
									if (form[i].checked) {
										returnString = returnString + '&' + form[i].id + '=' + form[i].value;
									}			
									break;

				default:			returnString = returnString + '&' + form[i].id + '=' + form[i].value;
									break;
			}									
		}
	}
	makeRequest(posturl, targetdiv, returnString + param);
}

function makeRequest(linkurl, targetdiv, parameters) {
	var http_request = false;
	var params = null;
	if (parameters) params=parameters;

	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			// set type accordingly to anticipated content type
			http_request.overrideMimeType('text/html');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		alert('Cannot create XMLHTTP instance');
		return false;
	}
	
	http_request.onreadystatechange = function() { alertRequest(http_request, targetdiv); };
	
	http_request.open('POST', linkurl, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//	http_request.setRequestHeader("Content-length", para.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(params);
}

function alertRequest(http_request, targetdiv) {
	if (http_request.readyState == 4) {
		 if (http_request.status == 200) {
				result = http_request.responseText;
				var s = "", r = /<script>([\s\S]+)<\/script>/mi;
				if (result.match(r)){
					s = RegExp.$1; // extract script
					result = result.replace(r, "");
				}
				if (targetdiv!='' && document.getElementById(targetdiv)) {
					document.getElementById(targetdiv).innerHTML = result;
				}	
				eval(s); // execute script
		 } else {
				alert('There was a problem with the request. Current status == '+http_request.status);
		 }
	}
}
// AJAX einde

function validateform(form) {
	var box = document.getElementById(form).elements;
	for (i=0;i<box.length;i++) {
		if ((!box[i].value) && (box[i].type != 'hidden' && box[i].type != 'select-one' && box[i].name != 'tekst') && box[i].name != 'url' && box[i].name != 'datumtot')	{
			alert('U heeft het veld: "' + box[i].name + '" niet ingevuld!');
			box.focus();
			return false;
		}
	}
	return true;

}

function MM_showHideLayers() { //v6.0
	var i,p,v,obj,args=MM_showHideLayers.arguments;
	for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
		if (obj.style) { obj=obj.style; v=(v=='show')?'block':(v=='hide')?'none':v; }
		obj.display=v; }
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function CMSdisplayTab(tab,panel,tablink) {

		// Set all div panels except current to display:none
    var divCollection = document.getElementsByTagName("div");
    for (var i=0; i<divCollection.length; i++) {
				if (divCollection[i].getAttribute("id")) {
						// Get length
						var iLen = divCollection[i].getAttribute("id").length;

						// Search for _panel
						if (iLen>6 && divCollection[i].getAttribute("id").substring(iLen, iLen-6)=="_panel") {

								// Set specified panel to display:block and all others panels to display:none
								if (divCollection[i].getAttribute("id")==panel) {				
										divCollection[i].style.display = 'block';
								} else {
										divCollection[i].style.display = 'none';
								}
						}

						// Search for _tab: remember we have 3 subtabs: left / center / right
						tab_left   = tab + "_left";
						tab_center = tab + "_center";
						tab_right  = tab + "_right";
						
						if (iLen>9 && divCollection[i].getAttribute("id").substring(iLen, iLen-9)=="_tab_left") {
								
								// Set specified tab to display:block and all others panels to display:none
								if (divCollection[i].getAttribute("id")==tab_left) {				
										divCollection[i].className = 'tab_page_left_selected';
								} else {
										divCollection[i].className = 'tab_page_left';
								}
						}
						if (iLen>11 && divCollection[i].getAttribute("id").substring(iLen, iLen-11)=="_tab_center") {
								
								// Set specified tab to display:block and all others panels to display:none
								if (divCollection[i].getAttribute("id")==tab_center) {				
										divCollection[i].className = 'tab_page_center_selected';
								} else {
										divCollection[i].className = 'tab_page_center';
								}
						}
						if (iLen>10 && divCollection[i].getAttribute("id").substring(iLen, iLen-10)=="_tab_right") {
								
								// Set specified tab to display:block and all others panels to display:none
								if (divCollection[i].getAttribute("id")==tab_right) {				
										divCollection[i].className = 'tab_page_right_selected';
								} else {
										divCollection[i].className = 'tab_page_right';
								}
						}
				}
    }


    var linkCollection = document.getElementsByTagName("a");
		for (var i=0; i<linkCollection.length; i++) {
						if (linkCollection[i].getAttribute("id")) {
								// Get length
								var iLen = linkCollection[i].getAttribute("id").length;
								
								// Search for _link
								if (iLen>5 && linkCollection[i].getAttribute("id").substring(iLen, iLen-5)=="_link") {
		
										// Set specified panel to display:block and all others panels to display:none
										if (linkCollection[i].getAttribute("id")==tablink) {				
												linkCollection[i].style.color = '#F86C00';											
										} else {
												linkCollection[i].style.color = '#808080';
										}
								}
						}
		}
}

function CMScheckFormFields(formfields) {
		var result = true;
		var fields = formfields.split(',');
    for (var i=0; i<fields.length; i++) {
				field = fields[i];
				var elm = document.getElementById(field);
				if (elm.value=='') {
						result = false;
						elm.className = 'input2_req';
				} else {
						elm.className = 'input2';
				}		
		}
		
		// Error display
		if (result==false) {
    		var divCollection = document.getElementsByTagName("div");
		    for (var i=0; i<divCollection.length; i++) {
						if (divCollection[i].getAttribute("id")=='error_message') {
								divCollection[i].style.display = 'block';
						}
				}				
		}
		
		// Result
		return result;
}
