// 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;
}

function printWindow(){
	 bV = parseInt(navigator.appVersion)
	 if (bV >= 4) window.print()
}

function printpage(afdrukiframe){
		parent[afdrukiframe].focus();
		parent[afdrukiframe].print();
}

function checkVerwijderen(val, extra) {
    if (confirm('<?= $text["popup"]["verwijderen"]; ?>')) {
		    location = '<? echo $PHP_SELF; ?>?mode=verwijderen&id=' + val + extra;
	}
}

function checkEzineVerwijderen(val, wat, extra) {
    if (confirm('<?= $text["popup"]["verwijderen"]; ?>')) {
		    location = '<? echo $PHP_SELF; ?>?mode=' + wat + '&id=' + val + extra;
	}
}
function popup(url) {
  window.open("popup.php?url="+url, "popup", "help=no,status=no,scrollbars=no,resizable=no,dependent=yes,width=40,height=40", false);
}

function open_help_pagina() {
	window.open("/cms/modules/common/help/view.php?siteid=1&keyword=<?php echo $helpsysteemurl;?>","helpsysteem","scrollbars=yes,width=900,height=560");
}	

function set_goto(f,new_langid,new_mode,current_mode) {
	document.getElementById(f).goto_current_mode.value = current_mode;
	document.getElementById(f).goto_new_mode.value     = new_mode;
	document.getElementById(f).goto_new_langid.value   = new_langid;
	document.getElementById(f).submit();
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  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 && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function showdivs() {
	document.getElementById("overlay").style.visibility="visible";
	document.getElementById("overlay_content").style.visibility="visible";
	document.getElementById("mldeletebox").style.visibility="visible";
}

function hidedivs() {
	document.getElementById("overlay").style.visibility="hidden";
	document.getElementById("overlay_content").style.visibility="hidden";
	document.getElementById("mldeletebox").style.visibility="hidden";
}

function setFormFocus() {
	var bFound = false;

  // for each form
  for (f=0; f < document.forms.length; f++) {
    // for each element in each form
    for(i=0; i < document.forms[f].length; i++) {
      // if it's not a hidden element
      if (document.forms[f][i].type != "hidden") {
        // and it's not disabled
        if (document.forms[f][i].disabled != true) {
            // set the focus to it
            document.forms[f][i].focus();
            var bFound = true;
        }
      }
      // if found in this element, stop looking
      if (bFound == true) break;
    }
    // if found in this form, stop looking
    if (bFound == true) break;
  }
}

