
function Zoeken(id)
{
	return document.getElementById(id);
}

function Focus_eerste_input(formid)
{
	for(i=0; i < document.forms[formid].length; i++) 
	{
		if (document.forms[formid][i].type != "hidden") 
		{ 
			if (document.forms[formid][i].disabled != true) 
			{
				try
				{
					document.forms[formid][i].focus();
					var bFound = true;
				}
				catch(er)
				{
				}
			}
		}
		if (bFound == true)
			break;
	}
}

function hidelayer(name)
{
	var NN = (document.layers ? true : false);
	var hideName = (NN ? 'hide' : 'hidden');
	var hetobject = Zoeken(name);
	hetobject.style.visibility = hideName;
	hetobject.style.display = 'none';
}

document.onclick = function(){ hidelayer('contextmenu'); };

function showlayer(name)
{
	var NN = (document.layers ? true : false);
	var showName = (NN ? 'show' : 'visible');
	var hetobject = Zoeken(name);
	hetobject.style.visibility = showName;
	hetobject.style.display = 'block';
}

function showmobile()
{
	showlayer('raster');
	showlayer('pda');
	showlayer('pdascreen');
	ph('/mobile.php','pdascreen');
}

function movedivto(divname,x,y)
{
	var obj = Zoeken(divname);
	obj.style.left = x+'px';
	obj.style.top  = y+'px';
}

function toonopslaan()
{
	showlayer('wait_opslaan');
	window.setTimeout("hidelayer('wait_opslaan');", 500);
}

function loadpage(page_request, containerid)
{
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
	{
		var dediv = Zoeken(containerid);
		dediv.innerHTML = page_request.responseText;
		var ob = dediv.getElementsByTagName("script");
		for (var i=0; i<=ob.length-1; i++)
		{
			if(ob[i].text!==null)
			{	eval(ob[i].text);	}
		}
		
		var subdivs = dediv.getElementsByTagName("div");
		for (var j=0; j<subdivs.length-1;j++)
		{
			ob = subdivs[j].getElementsByTagName("script");
			for(i=0; i<=ob.length-1; i++)
			{
				if(ob[i].text!==null) { eval(ob[i].text); }
			}
		}
		hidelayer('wait');
	}
}

function loadobjs()
{
	var loadedobjects	= "";
	if (!document.getElementById)	{ return; }
	for (i=0; i<arguments.length; i++)
	{
		var file=arguments[i];
		var ref="";
		if (loadedobjects.indexOf(file)==-1)
		{
			if (file.indexOf(".js")!=-1)
			{
				ref=document.createElement('script');
				ref.setAttribute("type","text/javascript");
				ref.setAttribute("src", file);
			}
			else if (file.indexOf(".css")!=-1)
			{
				ref=document.createElement("link");
				ref.setAttribute("rel", "stylesheet");
				ref.setAttribute("type", "text/css");
				ref.setAttribute("href", file);
			}
		}
		if (ref!=="")
		{
			document.getElementsByTagName("head").item(0).appendChild(ref);
			loadedobjects+=file+" ";
		}
	}
}

function ajaxpage(url,containerid)
{
	var bustcachevar	= 1;
	var bustcacheparameter="";
	var dediv = Zoeken(containerid);
	dediv.innerHTML="";
	var page_request = false;
	if (window.XMLHttpRequest) { page_request = new XMLHttpRequest(); }
	else if (window.ActiveXObject)
	{
		try
		{ page_request = new ActiveXObject("Msxml2.XMLHTTP");	}
		catch (e)
		{	
			try 
				{	page_request = new ActiveXObject("Microsoft.XMLHTTP"); }
			catch (error)
				{	}
		}
	}
	else { return false; }
	page_request.onreadystatechange=function() { loadpage(page_request,containerid); };
	if (bustcachevar)
	{	bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime();	}
	page_request.open('GET', url+bustcacheparameter, true);
	page_request.send(null);
	return true;
}

var http_request = false;

function makePOSTRequest(url, parameters, divname, obj)
{
	http_request = false;
	if (window.XMLHttpRequest)
	{
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType)
		{ http_request.overrideMimeType('text/html'); }
  }
  else if (window.ActiveXObject)
  {
		try
		{ http_request = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch (e)
		{
			try
				{	http_request = new ActiveXObject("Microsoft.XMLHTTP"); }
			catch (error)
				{	}
		}
	}
	if (!http_request)
	{ alert('Cannot create XMLHTTP instance'); return false; }
	http_request.onreadystatechange = function()
	{
		if (http_request.readyState == 4)
		{
			if (http_request.status == 200)
			{
				var result = http_request.responseText;
				var mydiv = document.getElementById(divname);
				mydiv.innerHTML = result;
				var ob = mydiv.getElementsByTagName("script");
				for(var i=0; i<=ob.length-1; i++)
				{
					if(ob[i].text!==null) { eval(ob[i].text); }
				}
				var subdivs = mydiv.getElementsByTagName("div");
				for (var j=0; j<subdivs.length-1;j++)
				{
					ob = subdivs[j].getElementsByTagName("script");
					for(i=0; i<=ob.length-1; i++)
					{
						if(ob[i].text!==null) { eval(ob[i].text); }
					}
				}
			}
			else
			{ alert('De gegevens van ['+divname+'] konden niet goed verwerkt worden, probeer het opnieuw.'); }
		}
	};
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
	return true;
}

function get(obj)
{
  var getstr="";
  var sel;
  for (i=0; i<obj.getElementsByTagName("select").length; i++)
  {
		getstr+="&";
		sel = obj.getElementsByTagName("select")[i];
		var aantal=0;
		var waarde='';
		for (var j=0; j<sel.options.length; j++)
		{
			if (sel.options[j].selected)
			{
				if (aantal>0) { waarde+=';'; }
        waarde += sel.options[j].value;
        aantal++;
      }
		}
		getstr += sel.id+"="+waarde;
	}
  for (i=0; i<obj.getElementsByTagName("input").length; i++)
  {
		if (obj.getElementsByTagName("input")[i].type == "text")
		{	getstr += "&"+obj.getElementsByTagName("input")[i].id + "=" + escape(encodeURI(obj.getElementsByTagName("input")[i].value)); }

		if (obj.getElementsByTagName("input")[i].type == "hidden")
		{	getstr += "&"+obj.getElementsByTagName("input")[i].id + "=" + escape(encodeURI(obj.getElementsByTagName("input")[i].value)); }

		if (obj.getElementsByTagName("input")[i].type == "checkbox")
		{
			if (obj.getElementsByTagName("input")[i].checked)
			{	getstr += "&"+obj.getElementsByTagName("input")[i].id + "=" + escape(encodeURI(obj.getElementsByTagName("input")[i].value)); }
			else
			{	getstr += "&"+obj.getElementsByTagName("input")[i].id + "=&"; }
		}
		if (obj.getElementsByTagName("input")[i].type == "radio")
		{
			if (obj.getElementsByTagName("input")[i].checked)
			{	getstr += "&"+obj.getElementsByTagName("input")[i].id + "=" + escape(encodeURI(obj.getElementsByTagName("input")[i].value)); }
		}
	}
	for (i=0; i<obj.getElementsByTagName("textarea").length; i++)
	{ getstr += "&"+obj.getElementsByTagName("textarea")[i].id + "=" + escape(encodeURI(obj.getElementsByTagName("textarea")[i].value)); }

	return getstr;
}

function pagehandler(page,divname)
{
	showlayer('wait');
	ajaxpage(page,divname);
}

function ph(page,divname)
{
	showlayer('wait');
	ajaxpage(page,divname);
}

function JS_Link(link)
{
	window.location=link;
}

function JSL(link)
{
	window.location=link;
}

function getXPos(e){
    return e.pageX || (e.clientX+(document.documentElement.scrollLeft || document.body.scrollLeft));
}
function getYPos(e){
    return e.pageY || (e.clientY+(document.documentElement.scrollTop || document.body.scrollTop));
}


function Popup(viewcontent)
{
	hidelayer('contextmenu');
	showlayer('raster');
	ph(viewcontent,'popup');
	showlayer('popup');
}

function Popup_Sluiten()
{
	hidelayer('popup');
	hidelayer('raster');
}

function Verwerk_formulier(obj,posturl,poststring,divname)
{
	var poststr = get(obj);
	var parameters = poststring+poststr;
	var poststr = poststring+poststr;
	if (divname==='')
	{ window.location=posturl+parameters;	}
	else
	{	makePOSTRequest(posturl,poststr,divname); }
}

function Positie(obj)
{ 
	var curleft = 0;
	var curtop = 0;
	if (obj.offsetParent)
	{
		do
		{
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
		while (obj);
	}
	return [curleft,curtop];
}
