var 
  MouseX=0,
  MouseY=0,
  labelTimer=null;
  Drops=new Array();
  Droptimer = null;
  popupWindow = null;
  curtains=null;

  
function ToggleDBox(id){
}  
  
function SubmitOnEnter(e){
  if (!e) var e = window.event;
  return (e.keyCode==13);
}

function findFieldIndex(fieldname){
  for(var i=0;i<window.opener.document.forms.length;i++)
    if(window.opener.document.forms[i][fieldname]) return i;
}

function Pop(url,awidth,aheight,aresize,amodal) {
  var D=new Date();
  var W=(awidth)?awidth:700;
  var H=(aheight)?aheight:500;
  var L=(screen.width)?(screen.width-W)/2:0;
  var T=(screen.height)?(screen.height-H)/2:0;
  var modal=(amodal)?(amodal==true):true; 
  
  
  
  //url=URLEncrypt(QueryReplace(QueryReplace(URLDecrypt(url),"popup","true"),"layer","true"));
  url=QueryReplace(QueryReplace(url,"popup","true"),"layer","true");
  
  
  //url=URLEncrypt(url);
  
  
  modal=false;
  //CloseCurtain();
  if((modal)&&(window.showModalDialog))
    window.showModalDialog(url,document,"dialogWidth:"+W+"px;dialogHeight:"+H+"px;status:yes;resizable:"+aresize);
  else {
    var S="resizable=yes,directories=no,scrollbars=yes,modal=yes,toolbar=no,status=no,menubar=no,left="+eval(L)+",top="+eval(T)+",width="+eval(W)+",height="+eval(H);
    popupWindow=window.open(url, "w"+eval(D.getTime()), S);
    //if(parseInt(navigator.appVersion) >= 4)popupWindow.window.focus();
    
  }
  //OpenCurtain();
  
  
/* == Demo ========
  if (window.dialogArguments && dialogArguments.location) dialogArguments.location.href = url;
  else window.opener.location=url;
*/  
  
}

function FormApply(form){
	/*
  var layer = form.document.createElement('IFRAME');
  layer.id="dummy";
  layer.name="dummy";
  layer.style.visibility = 'hidden';  
  layer.style.left = '0px';
  layer.style.top = '0px';
  layer.style.width = '1';
  layer.style.height = '1';
  
  
  
  form.document.body.appendChild(layer);
  */

  var oldtarget=form.target;	
  var oldaction=form.action;
  
  form.action=QueryReplace(QueryReplace(form.action,"ABORT","TRUE"),"layer",QueryValue(null,"layer")?QueryValue(null,"layer"):"test");
  form.target="dummy";
  
  form.submit();
  form.action=oldaction;
  form.target=oldtarget;
}

function MaxPop(url) {
  var D=new Date();
  var W=screen.width;
  var H=screen.height;
  var S="channelmode =yes,fullscreen=yes,resizable=no,scrollbars=yes,toolbar=no,status=no,menubar=no,left=0,top=0,width="+eval(W)+",height="+eval(H);
  var newWindow=window.open(url, "w"+eval(D.getTime()), S);
  if(parseInt(navigator.appVersion) >= 4)newWindow.window.focus();
}

function Ask(DisplayThis,URL){
  CloseCurtain();

  if(confirm(DisplayThis))document.location=URL;

  OpenCurtain();
}


function AskPrompt(DisplayThis,defaultvalue,URL){
  CloseCurtain();

  var s=prompt(DisplayThis,defaultvalue);

  if(s!=null)document.location=QueryDocumentName(URL)+"?"+QueryReplace(URL,"naam",Replace(s," ","%20"));

  OpenCurtain();
}

function AskOpmerkingen(url){
	if(confirm("Zeker weten ?"))document.location=QueryReplace(url,"opm",escape(prompt("Geef reden/instructie","")));
}


function CloseCurtain(){
  curtains=null;
  if(!window.top)return ;
  if(!window.top.desktop)return ;
  if(navigator.appName=="Netscape")return ;
  curtains=new Array();
  curtains[0]=new Array(window.top.desktop.document,CreateCurtain(window.top.desktop.document));
  curtains[1]=new Array(window.top.banner.document,CreateCurtain(window.top.banner.document));
  curtains[2]=new Array(window.top.footer.document,CreateCurtain(window.top.footer.document));
}

function OpenCurtain(){
  if(!curtains)return ;
  for(var i=0;i<curtains.length;i++)DeleteCurtain(curtains[i][0],curtains[i][1]);
}

function CreateCurtain(doc){
  var layer = doc.createElement('LAYER');
  layer.style.position = 'absolute';
  layer.style.visibility = 'visible';  
  layer.style.left = '0px';
  layer.style.top = '0px';
  layer.style.width = '100%';
  layer.style.height = '100%';
  
  layer.style.zIndex=1;
  
//  layer.style.height = doc.scrollHeight;
  
  layer.style.filter = 'alpha(opacity=75)';
//  if(layer.style.-moz-opacity)layer.style.-moz-opacity = '0.3';
//  if(layer.style.opacity)layer.style.opacity = '0.3';
  layer.style.backgroundColor = 'white';
  doc.body.appendChild(layer);


/*
Finally for NN6's methods to parse in html into a document fragment we 
need to make sure that we create the range in the correct frame

  var html = '<DIV STYLE="position: absolute;';
  html += ' left: 100px; top: 200px;';
  html += ' width: 200px; height: 200px;';
  html += ' background-color: lime;';
  html += '">';
  html += '<H1>Kibology for all<\/H1>';
  html += '<\/DIV>';
so after creating the html we call
  var range = parent.frameName.document.createRange();
then position the range as needed in the other frame
  range.setStartAfter(parent.frameName.document.body.lastChild);
create the document fragment as before
  var docFrag = range.createContextualFragment(html);
which can be added with DOM methods to the document (body) of the frame
  parent.frameName.document.body.appendChild(docFrag);
*/
  
  return layer;
}

function DeleteCurtain(doc,curtain){
  doc.body.removeChild(curtain);
  curtain=null;
}

function CheckText(id){
  return id.value!='';
}

function CheckEMail(id){
  var s=new String(id.value);
  var i=s.lastIndexOf(".");
  var j=s.indexOf("@");  
  return (id.value!='')&&(j>0)&&(i>0)&&(i>(j+2));
}

function SafeURL(url){
  var s=new String(url);
  var i=s.lastIndexOf(".");
  var j=s.indexOf(".");  
  
  if(i!=j){  // Is het een echt url met http:// of zo ?
    var h=s.toLowerCase();
    if((h.indexOf("http://")!=0)&&(h.indexOf("ftp://")!=0))
      s="http://"+s;
  }
  
  return s;
}

function CheckURL(id){
  var s=new String(id.value);
  var i=s.lastIndexOf(".");
  return (id.value!='')&&(i>0);

}

function compareText (opt1, opt2) {
// not case sensitive
return opt1.text.toLowerCase() < opt2.text.toLowerCase() ? -1 :
opt1.text.toLowerCase() > opt2.text.toLowerCase() ? 1 : 0;
}

function compareTextCaseSensitive (opt1, opt2) {
// case sensitive
return opt1.text < opt2.text ? -1 :
opt1.text > opt2.text ? 1 : 0;
}

function SortSelect(pListBox, compareFunction) {
  if (!compareFunction)compareFunction = compareText;
  var options = new Array (pListBox.options.length);
  for (var i = 0; i < options.length; i++)
    options[i] = new Option (
      pListBox.options[i].text,
      pListBox.options[i].value,
      pListBox.options[i].defaultSelected,
      pListBox.options[i].selected
    );
  options.sort(compareFunction);
  pListBox.options.length = 0;
  for (var i = 0; i < options.length; i++) pListBox.options[i] = options[i];
} 


function CheckList(id){
  if(id.selectedIndex>=0){
    if(isNaN(id[id.selectedIndex].value))return id[id.selectedIndex].value!="";
    else return id[id.selectedIndex].value>0;
  }
  else return false;
}


function SetList(id,val){
  for(var i=0; i<id.options.length;i++)
    if(val==id.options[i].value){
      id.options[i].selected=true;
      id.selectedIndex=i;
      return i;
    }
    
  id.selectedIndex=-1;    
  return -1;  
}

function GetList(id){
  return ((id.selectedIndex)&&(id.selectedIndex>=0))?id[id.selectedIndex].value:-1;
}


function CountList(id){
  var c=0;
  for(var i=0; i<id.options.length;i++)if(id.options[i].selected)c++;
  return c;
}

function CheckCheck(id){
  for(var i=0;i<id.length;i++)if(id[i].checked)return true;
  return false;
}

function CheckRadio(id){
  for(var i=0;i<id.length;i++)if(id[i].checked)return true;
  return false;
}


function CountCheck(id){
  var c=0;
  for(var i=0;i<id.length;i++)if(id[i].checked)c++;
  return c;
}

function CheckDate(id){
  var d=new Date(id.value);
  return !isNaN(d);
}

function CheckDateTime(id){
  var s=new String(id.value);
  var d=new Date(s);
  var e=isNaN(d);

  if(!e){
    if((d.getHours()==0)&&(d.getMinutes()==0))e=s.indexOf("0:00")<0;
  }

  return !e; // NOT ERROR
}

function CheckTime(id){
	var h=id.form[id.name+"_hours"].value;
	var s=id.form[id.name+"_secs"].value;
	
	return((!((isNaN(h))||(isNaN(s))))&&(h>=0)&&(h<=23)&&(s>=0)&&(s<=59));
}

function CheckInteger(id,min,max){
  var value=parseInt(id.value),e=false;
  e=isNaN(value);

  if((min!=null)&&(!isNaN(min)))e|=(value<min);
  if((max!=null)&&(!isNaN(max)))e|=(value>max);
  
  return !e; // NOT ERROR  
}
function CheckFloat(id,min,max){
  var value=parseFloat(id.value),e=false;
  e=isNaN(value);
  if(!isNaN(min))e|=(value<min);
  if(!isNaN(max))e|=(value>max);
  return !e; // NOT ERROR  
}


function UpdateTimeField(object,name){
	object.form[name].value=object.form[name+"_hours"].value+':'+object.form[name+"_secs"].value;
}

// Depender functions ==========================================================

var BusyPopulating=false;


function getdata(url,func,varname,info){
	if(window.ActiveXObject)var http = new ActiveXObject("Microsoft.XMLHTTP");
	if(window.XMLHttpRequest)var http = new XMLHttpRequest();

	
	http.onreadystatechange = function () {
		if(http.readyState==4){
//			alert(varname+"  "+url+"   "+http.responseText);
			if((varname!="")&&(varname!=null))eval(varname+"="+http.responseText+";");
			if((func!="")&&(func!=null))eval(func+"("+http.responseText+","+info+");");
		}
	}
	http.open("GET",url,true);
	http.send(null);
}

function ValueOf(control){

  if(control.tagName=="SELECT"){
    if(control.selectedIndex>=0)return control.options[control.selectedIndex].value;
    else return -1;
  }
  else if(control.tagName=="INPUT"){
    if(control.type=="hidden"){
      if(document.all[control.name+"_Tree"]){
        return document.all[control.name+"_Tree"].value;
      }
      else return control.value;
    }
    else  debug(control);
  }

  debug(control);
}

function Populate(formname,sourcetablename,fieldname,defaultvalue,depfieldname,depdefaultvalue){
  var value=ValueOf(document[formname][depfieldname]);
  var url="returndropdata.php?tablename="+sourcetablename+"&fieldname="+fieldname+"&filterfieldname="+depfieldname+"&watte=GET&ID="+value;
  getdata(url,"PopulateExchange",null,"['"+formname+"','"+sourcetablename+"','"+fieldname+"','"+defaultvalue+"','"+depfieldname+"','"+depdefaultvalue+"']");
}

function PopulateExchange(a,info){
  var formname=info[0];
  var sourcetablename=info[1];
  var fieldname=info[2];
  var defaultvalue=info[3];
  var depfieldname=info[4];
  var depdefaultvalue=info[5];

  document[formname][fieldname].selectedIndex=-1;
  document[formname][fieldname].options.length=0;    

  if(a.length>0){
    document[formname][fieldname].options[document[formname][fieldname].options.length]=new Option("-- kies ---------",0);
    for(var i=0;i<a.length;i++){
      var O=new Option(a[i][1],a[i][0]);

      if(a[i][0]==defaultvalue){
        O.selected=true;
        document[formname][fieldname].selectedIndex=i
      }
      document[formname][fieldname].options[document[formname][fieldname].options.length]=O;
    }
  }
  //else document[formname][fieldname].options[document[formname][fieldname].options.length]=new Option("Afleveradres == basisadres ----",0);
  BusyPopulating=false;
}


/*
var dependertimers = null;

function Populate(formname,fieldname,defaultvalue,depfieldname,depdefaultvalue){
  document[formname][fieldname].selectedIndex=-1;
  document[formname][fieldname].options.length=0;    
  

//  alert(document[formname][depfieldname+"_Tree"].value);
  if(document[formname][depfieldname+"_Tree"])
    value=document[formname][depfieldname+"_Tree"].value;
  else  value=document[formname][depfieldname].value;
  value=new String(","+value+",");

  var j=0;
  document[formname][fieldname].options[0]=new Option("-- kies -----------------",0);
  for(var i=0;i<eval(fieldname+"Values.length");i++){
    if(value.indexOf(eval(fieldname+"Values["+eval(i)+"][0]"))>=0){



      var O=new Option(eval(fieldname+"Values["+eval(i)+"][2]"),eval(fieldname+"Values["+eval(i)+"][1]"));
      if(eval(fieldname+"Values["+eval(i)+"][1]")==defaultvalue){

        O.selected=true;
        j=i+1; // +1 omdat er een lege optie voor is ingevoegs: -- KIES ---

      }
      document[formname][fieldname].options[document[formname][fieldname].options.length]=O;
    }    
  }
  document[formname][fieldname].selectedIndex=j;
}

function CheckDepender(formname,fieldname,defaultvalue,depfieldname,depdefaultvalue){
  var value=document[formname][depfieldname].value;
  if(value!=depdefaultvalue)  Populate(formname,fieldname,defaultvalue,depfieldname,depdefaultvalue);
  setTimeout("CheckDepender('"+formname+"','"+fieldname+"',"+defaultvalue+",'"+depfieldname+"',"+value+")",100);
}

*/

// Dropdown functions ==========================================================

function Hideable(control){
  return (((control.name)&&(control.name=="combobutton"))||
    ((control.type)&&((control.type=="text")||(control.type=="select-multiple")||(control.type=="select-one"))));
}

function HideControls(control){

  return ;

  var name=(control.name)?control.name:control;
  for(var i=0; i<document.all.length;i++)
    if((document.all[i].name!=name)&&(Hideable(document.all[i])))
      document.all[i].style.visibility="hidden"
}

function ShowControls(control){
  return ;


  var name=(control.name)?control.name:control;
  for(var i=0; i<document.all.length;i++)
    if((document.all[i].name!=name)&&(Hideable(document.all[i]))){
      if(document.all[i].parent)    document.all[i].style.visibility="inherited";
      else document.all[i].style.visibility="visible";
    }  
}


function SetDropTimer(control){
  ClearDropTimer();
  if(layerVisible(control+"_Drop"))Droptimer=setTimeout("ClickDropButton('"+control+"')",10000);
}

function ClearDropTimer(){
  if(Droptimer){
    clearTimeout(Droptimer);  
    Droptimer=null;
  }  
}

function ClickDropButton(control){
  var l=layerGet(control+"_Drop");
  if(!l)return ;
  var show=!layerVisible(control+"_Drop");
  
  for(var j in Drops)if((j!=control)&&(Drops[j]))ClickDropButton(j);
  
  ClearDropTimer();
  
  if(show)HideControls(control);
  else ShowControls(control);
  
  Drops[control]=show;
  
  
  var l=layerGet(control+"_Drop");

  layerSetWidth(control+"_Drop",l.scrollWidth+30);
  layerShow(control+"_Drop",show);


  if((!show)&&(document.all[control].onchange)){
    document.all[control].onchange();
  }

  if(show)SetDropTimer(control);
}
//==============================================================================


// Specific DropTree functions =================================================

function SetTreeItem(control,id,ids,naam){
  document.all[control].value=id;
  document.all[control+"_Show"].value=naam;
  document.all[control+"_Tree"].value=ids;  
  
}

function ClickTreeItem(control,id,ids,naam){
  SetTreeItem(control,id,ids,naam);
  ClickDropButton(control);
  ClearDropTimer();
  
} 

function MouseOverTreeItem(Dropcontrol,control){
  document.all[control].style.backgroundColor='#0A246A';
  document.all[control].style.cursor='pointer';
  SetDropTimer(Dropcontrol);
}

function MouseOutTreeItem(Dropcontrol,control){
  document.all[control].style.backgroundColor='white';
  document.all[control].style.cursor='';
  SetDropTimer(Dropcontrol);
}

// =============================================================================



// Specific DropDate functions =================================================

function SetDropDate(control,time){
  var d=new Date();
  d.setTime(time);
  document.all[control].value=Date2Str(d);
}

function DropDateClick(control,val,str,andtime){
  if(andtime){
//    var val=new Date(document.all[control+"_Show"].value);
    var val=new Date(document.all[control].value);
    var s=str+"  "+eval(val.getHours())+":"+eval(val.getMinutes());
  }
  else var s=str;

  document.all[control].value=s;
//  document.all[control+"_Show"].value=s;
  if(!andtime)ClickDropButton(control);
  else layerWrite(control+"_Drop",DrawDropDate(control,s,andtime));
  ClearDropTimer();
}

function ChangeTime(control,dHours,dMinutes){
  ClearDropTimer();

//  var val=new Date(document.all[control+"_Show"].value);
  var val=new Date(document.all[control].value);
  val.setHours((val.getHours()+dHours)%24);
  val.setMinutes((val.getMinutes()+dMinutes)%60);

  var str=eval(val.getDate())+" "+month_names[val.getMonth()]+" "+eval(FixYear(val.getYear()))+"  "+
    eval(val.getHours())+":"+eval(val.getMinutes());
  document.all[control].value=str;
//  document.all[control+"_Show"].value=str;


  layerWrite(control+"_Time",PadLeft(val.getHours(),2," ")+":"+PadLeft(val.getMinutes(),2,"0"));
}

function DrawDropDate(control,adate,andtime){
  var s="";
//  var val=new Date(document.all[control+"_Show"].value);
  var val=new Date(document.all[control].value);
  if(isNaN(val)){ 
    val=new Date();
    document.all[control].value=Date2Str(val);
  }  

  var d=new Date(adate);
  if(isNaN(d)){ 
    d=new Date();
    document.all[control].value=Date2Str(d);
  }  

  
  
  var start=new Date(FixYear(d.getYear()),d.getMonth(),1,d.getHours(),d.getMinutes());
  var min=new Date(start);
  var plus=new Date(start);
  var ymin=new Date(start);
  var yplus=new Date(start);


  ymin.setYear(FixYear(min.getYear())-1);
  yplus.setYear(FixYear(plus.getYear())+1);
  
  min.setMonth(min.getMonth()-1);
  plus.setMonth(plus.getMonth()+1);

  f=0;
  while(start.getDay()!=0){
    start.setDate(start.getDate()-1);
    f--;
  }
  
  s+="<table border=0 class=DropDate";

  if(andtime)s+="Time";

  s+=" cellpadding=3 onClick=JavaScript:void(0) cellspacing=1 onMouseOver=\"SetDropTimer('"+control+"');\"><tr><td>"+
    "<a id=DROPBUTTON href='JavaScript:layerWrite(\""+control+"_Drop\",DrawDropDate(\""+control+"\",\""+ymin+"\","+andtime+"))'><img id=DROPIMG border=0 src=pics/arrow_left_2.gif></a>"+
    "<a id=DROPBUTTON href='JavaScript:layerWrite(\""+control+"_Drop\",DrawDropDate(\""+control+"\",\""+min+"\","+andtime+"))'><img id=DROPIMG border=0 src=pics/arrow_left.gif></a>"+

    "</td><th colspan=5>"+month_names[d.getMonth()]+" "+FixYear(d.getYear())+"</th><td>"+
    "<a id=DROPBUTTON href='JavaScript:layerWrite(\""+control+"_Drop\",DrawDropDate(\""+control+"\",\""+plus+"\","+andtime+"))'><img id=DROPIMG border=0 src=pics/arrow_right.gif></a>"+
    "<a id=DROPBUTTON href='JavaScript:layerWrite(\""+control+"_Drop\",DrawDropDate(\""+control+"\",\""+yplus+"\","+andtime+"))'><img id=DROPIMG border=0 src=pics/arrow_right_2.gif></a>"+
    "</td>";

  if(andtime){
    s+="<td id=DROPBUTTON rowspan=7 align=center valign=middle><b>time</b><table cellpadding=0 cellspacing=0 border=0 eight=100% id=DROPBUTTON >";
    s+="<tr>"+
       "<th id=DROPBUTTON colspan=5 align=center valign=middle height=30 class=DropDateCell><div class=DropDateCell width=100% height=100% id="+control+"_Time>"+PadLeft(val.getHours(),2," ")+":"+PadLeft(val.getMinutes(),2,"0")+"</div></th>"+
       "</tr>";

    s+="<tr>"+
       "<td id=DROPBUTTON><a id=DROPBUTTON href='JavaScript:ChangeTime(\""+control+"\",10,0)'><img id=DROPIMG border=0 src=pics/arrow_up.gif></a></td>"+
       "<td id=DROPBUTTON><a id=DROPBUTTON href='JavaScript:ChangeTime(\""+control+"\",1,0)'><img id=DROPIMG border=0 src=pics/arrow_up.gif></a></td>"+
       "<td id=DROPBUTTON></td>"+
       "<td id=DROPBUTTON><a id=DROPBUTTON href='JavaScript:ChangeTime(\""+control+"\",0,10)'><img id=DROPIMG border=0 src=pics/arrow_up.gif></a></td>"+
       "<td id=DROPBUTTON><a id=DROPBUTTON href='JavaScript:ChangeTime(\""+control+"\",0,1)'><img id=DROPIMG border=0 src=pics/arrow_up.gif></a></td>"+
       "</tr>";


    s+="<tr>"+
       "<td id=DROPBUTTON><a id=DROPBUTTON href='JavaScript:ChangeTime(\""+control+"\",14,0)' class=DropDateLink><img id=DROPIMG border=0 src=pics/arrow_down.gif></a></td>"+
       "<td id=DROPBUTTON><a id=DROPBUTTON href='JavaScript:ChangeTime(\""+control+"\",23,0)' class=DropDateLink><img id=DROPIMG border=0 src=pics/arrow_down.gif></a></td>"+
       "<td id=DROPBUTTON></td>"+
       "<td id=DROPBUTTON><a id=DROPBUTTON href='JavaScript:ChangeTime(\""+control+"\",0,50)' class=DropDateLink><img id=DROPIMG border=0 src=pics/arrow_down.gif></a></td>"+
       "<td id=DROPBUTTON><a id=DROPBUTTON href='JavaScript:ChangeTime(\""+control+"\",0,59)' class=DropDateLink><img id=DROPIMG border=0 src=pics/arrow_down.gif></a></td>"+
       "</tr>";

    s+="<tr><td colspan=5 align=center><input type=button value=ok class=BoxButton></td></tr></table></td>";
  }


  s+="</tr><tr>";
  for(var y=0;y<7;y++)s+="<td>"+day_shortnames[y]+"</td>";


  var i=0;
  while(f<32){

    if(i%7==0){
      if(i>0) s+="</tr>";
      s+="<tr>";
    }

    var url="JavaScript:DropDateClick(\""+control+"\",null,\""+Date2Str(start)+"\","+andtime+")";

    if(start.getMonth()==d.getMonth()){
      if(start.valueOf()==val.valueOf()) {
        s+="<td class=DropDateCellSelected>";
        s+="<a id=DROPBUTTON class=DropDateCellSelected href='"+url+"'>";
      }
      else {
        s+="<td class=DropDateCell>";
        s+="<a id=DROPBUTTON class=DropDateLink href='"+url+"'>";
      }
      s+=eval(start.getDate());
      s+="</a>";
    }
    else s+="<td class=DropDateEmptyCell>&nbsp;";

    s+="</td>";
    start.setDate(start.getDate()+1);

    i++;
    f++;

  }

  s+="</table>";
  SetDropTimer(control);
  return s;
}

function ClickDropDateButton(control,andtime){

  if(!layerVisible(control+"_Drop")){
//    layerWrite(control+"_Drop",DrawDropDate(control,document.all[control+"_Show"].value,andtime));
    layerWrite(control+"_Drop",DrawDropDate(control,document.all[control].value,andtime));
  }
  ClickDropButton(control);
}
// =============================================================================

function ToggleTree(id){
  var s=new String(document.images["TREE_I"+eval(id)].src);
  if(s.indexOf("minus")>=0){
    a=s.split("minus");
    s=a.join("plus");
    layerShow("TREE_L"+eval(id),false);

  }
  else {
    a=s.split("plus");
    s=a.join("minus");
    layerShow("TREE_L"+eval(id),true);

  }
  document.images["TREE_I"+eval(id)].src=s;

/*
  s="TREE_L"+eval(id);


  if (document.all)l=document.all[s];
  else if(document.layers)l=document.layers[s];
  else l=document.getElementById(s);

*/
}


// =============================================================================


function SetColour(control,value){
  document.all[control].value=value;
  document.all[control].style.backgroundColor="#"+value;
//  debug(document.all[control].style);
  ClickDropButton(control);
}

// =============================================================================
// CIDropDown

var changeCItimer=null;
var hideCItimer=null;

function ChangeCIDropDown(id){
  StartTimer("DoeCIDataTimeout('"+id+"');",3);
}

function DoeCIDataTimeout(id){
  var val=document.all[id+"_Show"].value;
  var l=layerGet("scriptdummy");
  l.src="returnciname.php?ctrl="+id+"&ID=7&z="+val;
}

function ExchangeCIData(id,a){
  var s="";
  var l=layerGet(id+"_Drop");

  var over=" onMouseOver=\"{ShowCIData('"+id+"');this.style.backgroundColor='#0A246A';this.style.color='red';this.style.cursor='pointer';return true;}\"";
  var out =" onMouseOut=\"{this.style.backgroundColor='white';this.style.color='black';this.style.cursor='default';return true;}\"";

  for(var i=0;i<a.length;i++){
    var click=" onMouseDown=\"CIClick('"+id+"',"+a[i][0]+",'"+a[i][1]+"');return true;\" ";

    s+="<tr>";
    s+="<td"+over+out+click+">"+a[i][1]+"</td>";
    s+="</tr>";
  }
  layerWrite(id+"_Drop","<table width=200>"+s+"</table>");
  ShowCIData(id);
}

function ShowCIData(id){
  if(hideCItimer)clearTimeout(hideCItimer);
  layerShow(id+"_Drop",true);
  hideCItimer=setTimeout("layerShow('"+id+"_Drop',false);",5000);
}

function CIClick(id,ciid,val){
  if(hideCItimer)clearTimeout(hideCItimer);
  layerShow(id+"_Drop",false);
  document.all[id].value=ciid;
  document.all[id+"_Show"].value=val;
}





// =============================================================================

var 
  helplayer = null;
  helptimer=null;


function _MouseOverLabel(a){
  if(!helplayer)return ;
  helplayer.innerHTML="<table name=tooltip cellpadding=0 cellspacing=0 border=0>"+
    "<tr><td valign=bot name=tooltip><img src=pics/tool_lefttop.gif></td><td background=pics/tool_top.gif><img src=pics/tool_pointertop.gif></td><td valign=bot><img src=pics/tool_righttop.gif></td></tr>"+
    "<tr><td name=tooltip background=pics/tool_left.gif></td><td bgcolor=#FFFFAA style='font:normal normal 8px/11px \"MS Sans Serif\",Arial;'><b>"+
      Replace(a[0][4],"\n","<br>")+
    "</b><br>"+
      unescape(Replace(escape(a[0][5]),"%13","<br>"))+
    "</td><td background=pics/tool_right.gif></td></tr>"+
    "<tr><td name=tooltip><img src=pics/tool_leftbot.gif></td><td background=pics/tool_bot.gif><!--<img src=pics/tool_pointerbot.gif>--></td><td><img src=pics/tool_rightbot.gif></td></tr>"+
    "</table>";
  helplayer.style.visibility = 'visible';      
}


function MouseOverLabel(id){
  if (!e) var e = window.event;
  CaptureMousePosition(e);

  
  if(helplayer==null){
    helplayer = document.createElement('LAYER');
    helplayer.style.position = 'absolute';
    helplayer.style.visibility = 'hidden';  
    helplayer.style.left = MouseX-10;
    helplayer.style.top = MouseY;
//    helplayer.style.width = 400;
//    helplayer.style.height = 300;
  
    helplayer.style.zIndex=1000;
  
//  layer.style.height = doc.scrollHeight;
  
    helplayer.style.filter = 'alpha(opacity=85)';
/*  
  if(layer.style.-moz-opacity)layer.style.-moz-opacity = '0.3';
  if(layer.style.opacity)layer.style.opacity = '0.3';
*/  
//  helplayer.style.backgroundColor = '#FFFF99';

    document.body.appendChild(helplayer);
  }
  
  SQLExecuteArray("select * from Taal_Help where TaalID=1 and OwnerID="+id,null,"_MouseOverLabel");
  
   
  helplayer.style.left=MouseX-5;
  helplayer.style.top=MouseY;
  helptimer=setTimeout("MouseOutLabel(null)",5000);
}

function MouseOutLabel(e){
  if(!helplayer)return ;
  if(helptimer)clearTimeout(helptimer);
  helptimer=null;
//  if (!e) var e = window.event;
//  CaptureMousePosition(e);  
  
//  if((MouseX>helplayer.style.posLeft)&&(MouseX<helplayer.style.posLeft+helplayer.clientWidth)&&
//     (MouseY>helplayer.style.posTop)&&(MouseY<helplayer.style.posTop+helplayer.clientHeight))return;
  
  helplayer.style.visibility = 'hidden';  
  helplayer=null;    
}

// =============================================================================


function StoreMousePosition(e){
  var posx=0,posy=0;
  if (!e) var e = window.event;
  if (e.pageX || e.pageY){MouseX = e.pageX;MouseY = e.pageY;}
  else if(e.clientX||e.clientY){MouseX=e.clientX+document.body.scrollLeft;MouseY=e.clientY+document.body.scrollTop;}
}

function CaptureMousePosition(e){ 
  if (!e) var e = window.event;
  StoreMousePosition(e); 
}

function CaptureMouseClick(e){
  if (!e) var e = window.event;
  var target=e.target;
  if(!target)target=e.srcElement;
  StoreMousePosition(e);  
  
//  debug(target);


  
  if((target)&&(target.id)&&(target.id.indexOf("DROP")<0)){
//    if(target.id!="") alert(target.id);
    if(target.id!="")if((target.id.indexOf("CELL__")==0)||(target.id.indexOf("_Drop")==target.id.length-5))return;
    for(var j in Drops)if(Drops[j])ClickDropButton(j);
  }

}




function ui(control,title){
  if((control.type)&&(control.type=="button")){
    control.className="hover";
  }
  window.status=title;
}

function uo(control){
  if((control.type)&&(control.type=="button")){
    control.className="";
  }

  window.status='';
}

//===============================================================================================================

var dBoxCurtain=null;


function FormDeleteImage(doc,tablename,fieldname){
  doc.forms[tablename][fieldname].value=0;
  doc.all["img_"+tablename+"_"+fieldname].src='getimage.php?ID=0';
}

function dBoxScale(id,newy){
	
  if(!window.frames)return ;
  
  if(!window.frames['bf_'+id])return ;
  if(!window.frames['bf_'+id].document)return ;
  if(!window.frames['bf_'+id].document.body)return ;
  if(!window.frames['bf_'+id].document.images.ruler)return ;


  h=(parseInt(window.frames['bf_'+id].document.body.bottomMargin)+parseInt(window.frames['bf_'+id].document.body.topMargin));
  
  if(layerVisible('bl_'+id)||layerVisible('bf_'+id)){
    y=window.frames['bf_'+id].document.images["ruler"].offsetTop;
    x=window.frames['bf_'+id].document.images["ruler"].width;
    if(document.images){
      if(document.images['bi_'+id])document.images['bi_'+id].src='pics/iconDown.gif';
      if(document.images['bpi_'+id])document.images['bpi_'+id].src='pics/trans.gif';
    }

  }else {
    y=0;
    x=0;
    if(document.images){
    if(document.images['bi_'+id])document.images['bi_'+id].src='pics/iconNext.gif';
    if(document.images['bpi_'+id])document.images['bpi_'+id].src='pics/trans.gif';    
    }
    
  }  
  
  if(newy)y=newy;
  layerSetHeight('bl_'+id,y);  
  
  
  if(document.getElementById('bl_'+id))document.getElementById('bl_'+id).style.height=y;
  document.getElementById('bf_'+id).style.height=y;
  
  
//  layerSetWidth('bl_'+id,x);  
//  document.all['bf_'+id].width=x;  


}

function dBoxToggle(id,url){
	
  if(!window.frames)return ;
  
  if(!window.frames['bf_'+id])return ;
  if(!window.frames['bf_'+id].document)return ;
  if(!window.frames['bf_'+id].document.body)return ;

  
  
  document.getElementById('bl_'+id).style.visibility=(document.getElementById('bl_'+id).style.visibility=="hidden")?"inherit":"hidden";
  
  
  
  if((url!=null)&&(true)){
  	
    window.frames['bf_'+id].document.location=url;
    //window.frames['bf_'+id].document.on
    document.images['bpi_'+id].src='pics/preloader.gif';        
  }
  dBoxScale(id);
}


function _dScaleGetID(p){

//  var id=(p.layer)?p.layer:QueryValue(QueryString(p),"layer");
  var id=QueryValue(QueryString(p),"layer");
  id=Replace(Replace(id,"%3D",""),"=","");
  
 
  
  return id;
}

function _dScale(p,curt){
	
alert(p);	
	
  if(!p)return ;
  
  
  
  
/*  
  if(p.frames)for(var i=0;i<p.frames.length;i++){  
    if(p.frames[i].name.substring(0,3)=="bf_"){
    
      if(p.frames[i].dBoxScale)
      p.frames[i].dBoxScale(p.frames[i].layer);
    }
  
    _dScale(p.frames[i],curt);
  }
  p=p.parent;
  if((id)&&(p.dBoxScale))p.dBoxScale(id);
*/
  
  
  var id=_dScaleGetID(p);

  if(p.frames)for(var i=0;i<p.frames.length;i++)_dScale(p.frames[i],curt);
  if((id)&&(p.parent.dBoxScale)&&(p.layer))p.parent.dBoxScale(p.layer);

}

function dScale(id,curt){
  var p=window;

  //if(!id)return ;
  var a=new Array();
  
  while((p.parent)&&(p.dScale)&&(p!=p.parent)){
  	if(!p.layer)p.layer=QueryValue(QueryString(p),"layer");    	
    a[a.length]=p;
    p=p.parent;
  }

  

  for(var i=0;i<a.length;i++) {
  	
    if(a[i].TabScale)a[i].TabScale();
    
    a[i].parent.dBoxScale(a[i].layer);
  }  
  var p=window;

  
  
  p.onload=function(){
    var a=new Array();
    while((p.parent)&&(p.dScale)&&(p!=p.parent)){
  	  if(!p.layer)p.layer=QueryValue(QueryString(p),"layer");    	
      a[a.length]=p;
      p=p.parent;
    }

    for(var i=0;i<a.length-1;i++) {
      
      if(a[i].TabScale)a[i].TabScale();
      a[i].parent.dBoxScale(a[i].layer);
    }  
    return a.length;
  } 
  
}


function RollenToggle(lab,idx){
  var id=lab+idx;
  var aan=layerVisible(id+"_off");
  layerCopyPosition(id+"_off",id+"_on");  
  if(aan)layerSetHeight(id+"_off",layerHeight(id+"_on"));  
  else layerSetHeight(id+"_off",5);  
  layerShow(id+"_off",!aan);
  layerShow(id+"_on",aan);  
}


//===============================================================================================================

var  
  HiddenFormFields = new Array();

function IndexOfFormField(id){
  for(var i=0;i<HiddenFormFields.length;i++)
    if(HiddenFormFields[i][0]==id)return i;
  return -1;
}
  
function HideFormField(id){
  var i=IndexOfFormField(id);
  if(i<0){
  
    if((!document.all[id])||(!document.all[id].parentElement))alert("Cannot hide field: "+id);
    else {
     
      if(document.all[id].parentElement.previousSibling){
        var l=document.all[id].parentElement;
        var b=new Array(id,l,l.innerHTML,l.previousSibling.previousSibling.innerHTML);
       
      }  
      else {
        var l=document.all[id].parentElement;
        var b=new Array(id,l,l.innerHTML,null);
      }  

      
      
      
      i=HiddenFormFields.length;
      HiddenFormFields[i]=b;
      if(HiddenFormFields[i][3]!=null)
        HiddenFormFields[i][1].previousSibling.previousSibling.innerHTML="";

        
      HiddenFormFields[i][1].innerHTML="";
    }
  }  
  
  
  if(document.all["Spacer"+id])HideFormField("Spacer"+id);
  
}

function ShowFormField(id){
  var i=IndexOfFormField(id);
  if(i>=0){

    if(HiddenFormFields[i][3]!=null)
      HiddenFormFields[i][1].previousSibling.previousSibling.innerHTML=HiddenFormFields[i][3];

    HiddenFormFields[i][1].innerHTML=HiddenFormFields[i][2];    

    for(i=i;i<HiddenFormFields.length-1;i++)HiddenFormFields[i]=HiddenFormFields[i+1];
    HiddenFormFields.length--;
  }  
  
  if(IndexOfFormField("Spacer"+id)>0)ShowFormField("Spacer"+id);
  
}

//===============================================================================================================


function getElementsByClassName(needle) {
   var my_array = document.getElementsByTagName("*");
   var retvalue = new Array();
   var i;
   var j;

   for (i=0,j=0;i<my_array.length;i++) {
      var c = " " + my_array[i].className + " ";
      if (c.indexOf(" " + needle + " ") != -1) retvalue[j++] = my_array[i];
   }
   return retvalue;
} 

var selectedTab=-1;

function SelectTab(id,cnt,o){
  selectedTab=id;
  
  for(var i=0;i<cnt;i++){
//    alert("tabblad"+i+" "+eval(i==id));
    layerShow("tabblad"+i,i==id);
    layerSetZIndex("tabblad"+i,(i==id)?1000:100);
  } 

  if((o)&&(o.parentElement))for(var i=0;i<o.parentElement.cells.length;i++){
    if(o==o.parentElement.cells[i]){
    	 o.parentElement.cells[i].className="TabbladSelected"
    	 //o.parentElement.cells[i].style.position="absolute";
    }	 
    else if(o.parentElement.cells[i].className.substring(0,7).toLowerCase()=="tabblad")
      o.parentElement.cells[i].className="Tabblad";
    //debug(o.parentElement.cells[i]);
    //o.parentElement.cells[i].className="Tabblad";
  }

  TabScale();
  
  document.getElementById("tabblad"+id).parentElement.style.height=document.getElementById("tabblad"+id).clientHeight+document.getElementById("tabblad"+id).offsetTop;
  if(false){
  	debug(document.getElementById("tabblad"+id));
  	debug(document.getElementById("tabclass1").parentElement);
  }	
  
  if(dScale)dScale(QueryValue(null,"layer"),false);  
  
}

function TabScale(){
  if(selectedTab<0)return ;
  var lname="cl_"+QueryValue(null,"tablename");
  
  
  var l=layerGet(lname);
  if(l!=null){
    layerSetHeight(lname,80+layerHeight("tabblad"+selectedTab));
  }
}

//===============================================================================================================

function LaunchHTTP(obj){
}

function LaunchEMail(obj){
  obj.value;
}

//===============================================================================================================

function findTarget(win,id){
  if(win==null)win=window;
  
  if(win.frames[id])return win.frames[id];
  else {
    for(var i;i<win.frames.length;i++){
      var f=findTarget(win.frames[i],id);
      if(f)return f;
    }
  }
  if(win.parent)return findTarget(win.parent,id);
  else return null;
}


/*
if (document.all){
//document.captureEvents(Event.MOUSEMOVE);
//document.captureEvents(Event.MOUSECLICK);
}
document.onmousemove = CaptureMousePosition;
document.onmouseclick = CaptureMouseClick;
document.onmousedown = CaptureMouseClick;
*/

function ENTER2TAB(e){
  if(!e)e=window.event;

  if (e.keyCode) code = e.keyCode;
  else if (e.which) code = e.which;

  
    
  if((code!=13)||(e.shiftKey))return true;
//  if((code!=13))return true;


  if(e.srcElement){
    var f=e.srcElement.form;
    var n=e.srcElement.name;
  }  
  else {
    var f=e.target.form;
    var n=e.target.name;
  }  

  var pakdeze=false;
  for(var i=0;i<f.elements.length;i++){
  	
    if((f.elements[i].type!="hidden")&&(f.elements[i].type!="HIDDEN")&&(
      (f.elements[i].tagName=="INPUT")||
      (f.elements[i].tagName=="TEXTAREA"))){
      if(pakdeze){
        f.elements[i].focus();
        return false;
      }
      if(f.elements[i].name==n)pakdeze=true;
    }
  }
  
}

function SelectKeyDown(obj){
  var e=window.event;
  if (e.keyCode) code = e.keyCode;
  else if (e.which) code = e.which;

  if(!obj.keys)obj.keys="";

  if(code==8)obj.keys=""; //obj.keys.length=obj.keys.length-1;
  else obj.keys=obj.keys+String.fromCharCode(code);
  obj.keys=obj.keys.toLowerCase();
  
  for(var i=0;i<obj.options.length;i++){
    var s=new String(obj.options[i].text);
    s=s.toLowerCase();
    if(s.indexOf(obj.leys)==0){
      obj.selectedIndex=i;
      break;
    }
  }  
  
//  alert(obj.keys);
}



function ContextMenu(obj,items){
	var e=window.event;
	
	
  var curtain = document.createElement('LAYER');	
  curtain.style.position = 'absolute';
  curtain.style.visibility = 'visible';  
  curtain.style.left = 0;
  curtain.style.top = 0;
  curtain.style.width = document.body.scrollWidth;
  curtain.style.height = document.body.scrollHeight;
  curtain.style.zIndex=1000;
  curtain.style.filter = 'alpha(opacity=1)';
  curtain.style.backgroundColor = 'white';
  
	

  var layer = document.createElement('LAYER');
  layer.style.position = 'absolute';
  layer.style.visibility = 'visible';  
  layer.style.left = e.x+document.body.scrollLeft; //e.clientX;
  layer.style.top = e.y+document.body.scrollTop; //e.clientY;
  //layer.style.width = 150;
//  layer.style.height = 200;
  layer.style.zIndex=curtain.style.zIndex+1;
  
//  layer.style.filter = 'alpha(opacity=75)';
//  if(layer.style.-moz-opacity)layer.style.-moz-opacity = '0.3';
//  if(layer.style.opacity)layer.style.opacity = '0.3';
  //layer.style.backgroundColor = 'red';
  
  
  var s="";
  for(var i=0;i<items.length;i++){
  	if(items[i][0]=="-"){
  		s+="<tr><td id="+i+" class=cm_muteitem NOWRAP><img src=pics/trans.gif width=1 height=1></td><tr>";
  		items[i][1]=items[i][2]="";
  	}
  	else s+="<tr><td class=cm_item "+((items[i][1]!="")?"background='"+items[i][1]+"'":"")+" id="+i+" onMouseOver='this.className=\"cm_itemover\";' onMouseOut='this.className=\"cm_item\";' NOWRAP>"+items[i][0]+"</td><tr>";
  }
  layer.innerHTML="<table cellpadding=0 cellspacing=0 class=cm_menu>"+s+"</table>";
  
  curtain.onmousedown=function(){
  	layer.style.visibility = 'hidden';  
  	curtain.style.visibility = 'hidden';  
  	document.body.removeChild(curtain);
  	document.body.removeChild(layer);
  	
  }

  layer.onmouseup=function(){
  	var e=window.event;
  	var url=items[e.srcElement.id][2];
  	if(url!=""){
  	  curtain.onmousedown();
  	  eval(url);
  	}
  }
  
  document.body.appendChild(layer);
  document.body.appendChild(curtain);
}


// =============================================================================
// Functies voor KoppelListBoxes

function TTUp(obj,tablename,formname,src,dest,valsrc,tablename,leftfieldname,leftfieldvalue,rightfieldname){
   var sql=Array();
   for(var i=1;i<obj.options.length;i++)if(obj.options[i].selected){
   	 var o=new Option(obj.options[i-1].text,obj.options[i-1].value);
   	 
   	 sql[sql.length]="update "+tablename+" set Volgorde="+eval(i-1)+" where "+leftfieldname+"="+leftfieldvalue+" and "+rightfieldname+"="+obj.options[i].value;
   	 sql[sql.length]="update "+tablename+" set Volgorde="+eval(i)+" where "+leftfieldname+"="+leftfieldvalue+" and "+rightfieldname+"="+obj.options[i-1].value;
   	 
   	 
  	 obj.options[i-1]=new Option(obj.options[i].text,obj.options[i].value);       
   	 obj.options[i-1].selected=true;
   	 obj.options[i]=o;
   }
   for(i=0;i<sql.length;i++)SQLExecute(sql[i]);
}
function TTDown(obj,tablename,formname,src,dest,valsrc,tablename,leftfieldname,leftfieldvalue,rightfieldname){
   var sql=Array();
   for(var i=obj.options.length-2;i>=0;i--)if(obj.options[i].selected){
   	 var o=new Option(obj.options[i+1].text,obj.options[i+1].value);

   	 sql[sql.length]="update "+tablename+" set Volgorde="+eval(i+1)+" where "+leftfieldname+"="+leftfieldvalue+" and "+rightfieldname+"="+obj.options[i].value;
   	 sql[sql.length]="update "+tablename+" set Volgorde="+eval(i)+" where "+leftfieldname+"="+leftfieldvalue+" and "+rightfieldname+"="+obj.options[i+1].value;
   	 
   	 
   	 obj.options[i+1]=new Option(obj.options[i].text,obj.options[i].value);       
   	 obj.options[i+1].selected=true;
   	 obj.options[i]=o;
   }
   for(i=0;i<sql.length;i++)SQLExecute(sql[i]);
}

function TTTransfer(formname,src,dest,valsrc,tablename,leftfieldname,leftfieldvalue,rightfieldname,addordel,metvolgorde){
  var s=document.getElementById(formname+"_"+src);
  var d=document.getElementById(formname+"_"+dest);
  
 //alert(src+"="+s+"  "+dest+"="+d+"__________________"+document.getElementById(src)); 

  
  for(var i=s.options.length-1;i>=0;i--)
    
  if(s.options[i].selected){
   	  d.options[d.options.length]=new Option(s.options[i].text,s.options[i].value);       
      if(addordel=="ADD")var sql="insert into "+tablename+"("+leftfieldname+","+rightfieldname+(metvolgorde?",Volgorde":"")+")values("+leftfieldvalue+","+s.options[i].value+(metvolgorde?","+eval(d.options.length-1):"")+")";
      else var sql="delete from "+tablename+" where "+leftfieldname+"="+leftfieldvalue+" and "+rightfieldname+"="+s.options[i].value;
      
      s.options[i]=null;
      SQLExecute(sql);
  }
}
function TTEdit(obj,tablename){
   for(var i=obj.options.length-1;i>=0;i--)if(obj.options[i].selected){
   	 Pop("editautomatic.php?watte=EDIT&tablename="+tablename+"&ID="+obj.options[i].value);
   }
}

function ValidateEMail(obj,img){
	if(CheckEMail(obj)){
	
		var url='sysreturn.php?function=VALIDATEEMAIL&email='+obj.value;
		
		
		if(window.ActiveXObject)var http = new ActiveXObject("Microsoft.XMLHTTP");
		if(window.XMLHttpRequest)var http = new XMLHttpRequest();

		http.onreadystatechange = function () {
			if(http.readyState==4){
//				alert(http.responseText);
				var a=eval(http.responseText);
				
				if(a[0]=="1"){
					 document.images[img].src='icons/accept.png';
					 document.images[img].alt='ok';
				} 
				else {
				  alert("E-Mail adres incorrect.\n\n(hint: "+a[0]+')');
				  
				  document.images[img].alt=a[0];
				  document.images[img].src='icons/exclamation.png';
				}	 

			}
		}
		http.open("GET",url,true);
		http.send(null);		
		
	  return true;
	}	
	
	document.images[img].src='icons/exclamation.png';
	return false;
}
