var pdobj = new Object();
var timeoutIds = new Array();
var timeoutMenus = new Array();

function LoadMenus(dropstarget, basetarget)
{
    if (dropstarget != "")
    {
       importXML(document.getElementById(dropstarget), document.getElementById(basetarget));
    }
    else
    {
	if (basetarget != "")
	{
	        importXML(document.body, document.getElementById(basetarget));
	}
	else
	{
		importXML(document.body, document.getElementById("menubase"));
	}
    }
    ImagePreload();
}


function MenuToggle(name, on, head)
{
    if (on)
    {
		SetPosition(name); 		
        SetVisibility(name,true, head);
        for (var i=0;i<timeoutIds.length;i++)
        {
            if (timeoutMenus[i] != name)
            {
                SetVisibility(timeoutMenus[i],false, head);
            }
            clearTimeout(timeoutIds[i]);
            timeoutIds.splice(i,1);
            timeoutMenus.splice(i,1);
            //For use with http://www.ncho-2007.nl
            /*var tdid = "menuhead" + name.split("menu")[1];
		    var img = document.getElementById(tdid).firstChild;
		    ImageToggle(img,false,"_on");*/
        }
       
    }
    else
    {
       var shead = "false";
       if (head) shead = "true";
       timeoutIds.push(setTimeout("SetVisibility('"+name+"',false,"+shead+")",600));
	   
       timeoutMenus.push(name);
    }
}


function MenuToggle_oud(name, on)
{
    if (on)
    {
		SetPosition(name);
        SetVisibility(name,true);
        for (var i=0;i<timeoutIds.length;i++)
        {
            if (timeoutMenus[i] != name)
            {
                SetVisibility(timeoutMenus[i],false);
            }
            clearTimeout(timeoutIds[i]);
            timeoutIds.splice(i,1);
            timeoutMenus.splice(i,1);
         }
    }
    else
    {
       timeoutIds.push(setTimeout("SetVisibility('"+name+"',false)",600));
       timeoutMenus.push(name);
    }
}


// Tribal group
function setPdObj(siteid,y_ie,y_ff,pids,ppos,dxie,dxff , homeUrl) 
{
	pdobj[siteid] = new Object();
	var pos = pdobj[siteid];
	pos.ids = pids;
	pos.homeUrl = homeUrl;
	pos.top_IE = y_ie;
	pos.top_FF = y_ff;
	pos.dxie = dxie;
	pos.dxff = dxff;
	pos.positions = ppos;
	pos.position = new Object();
	pos.idx = new Object();
	for (var i=0; i<=pos.ids.length-1; i++) 
	{
	  var pid = "menu"+pos.ids[i];
	  pos.position[pid] = pos.positions[i];
	  pos.idx[pid] = i;
	}
}

/* Oude contact positie was 359 */
//setPdObj("5", "73px", "73px", new Array(258,206,207,208,209,210), new Array(101,168,296,424,550,677), -46, -35 ,"/");
//setPdObj("6", "73px", "73px", new Array(287,261,262,263,264,265,289), new Array(116,203,317,439,568,692,822), -46, -35 ,"/");

function SetPosition(spanid)
{

	var pos = pdobj[siteid];
		
	if (pos!=null) {

	  if (mtExplorer) {
	    topPosition = pos.top_IE;
	    leftPosition = pos.position[spanid]+pos.dxie;
	  }
	  else {
	    topPosition = pos.top_FF;
	    leftPosition = pos.position[spanid]+pos.dxff;
	  }
	  
	  if (document.body.offsetWidth>1024) {
	    leftPosition += Math.round((document.body.offsetWidth-1024)/2);
	  }
	
     var span = document.getElementById(spanid);   
     span.style.top = topPosition;
     span.style.left = leftPosition;
   }
}

//setPdObj("1", "124px", "124px", new Array(3,234,235,236,237,238,652), new Array(0,227,345,575,686,457,782), 8, 6 ,"/");
setPdObj("1", "124px", "124px", new Array(3,234,235,236,237,238,652), new Array(0,227,345,575,686,457,782), 8, 8 ,"/");

function SetVisibility(spanid, bool, head)
{
	
	var pos = pdobj[siteid];

	if (pos!=null) {
  
		 if (head || !bool) {		    
		    tdid = "menuhead" + spanid.split("menu")[1];
		    var td = document.getElementById(tdid);
		    if (td!=null) 
		    {
		      if (bool)
		      {
		        //td.innerText = "ON";
		        //td.className = "tdpg_head_over";
		        
		        ImageToggle(td.firstChild,true,"_on");
		        
		      }
		      else
		      {
		        //td.innerText = "OFF";
		        //td.className = "tdpg_head";
		        ImageToggle(td.firstChild,false,"_on");
		      }
		    }
		 }

 	    if (true) {
		    var span = document.getElementById(spanid);
		    if (bool)
		    {
		        span.style.display = 'inline';
				
		    }
		    else
		    {
		        span.style.display = 'none';
		    }
		 }
	}
}

function SetVisibility_old(spanid, bool)
{
    var span = document.getElementById(spanid);
    if (bool)
    {
        span.style.display = 'inline';
    }
    else
    {
        span.style.display = 'none';
    }
}

function importXML(target, base)
{
	try {
		if (document.implementation && document.implementation.createDocument)
		{
			xmlDoc = document.implementation.createDocument("", "", null);
			xmlDoc.async = false;
			xmlDoc.onload = function(){loaded = ShowMozilla(target, base)};
		}
		else if (window.ActiveXObject)
		{
			xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
			xmlDoc.async = false;
			xmlDoc.onreadystatechange = function () {
				if (xmlDoc.readyState == 4) ShowIE(target, base)
			};
		}
		
		// For IE and Firefox
		if (mtExplorer) {
			xmlDoc.load("xml/menusource.xml");
		}
		else {
			// If xmlDoc was null, assume Chrome, fix with XMLHttpRequest
			var xhttp = null;
			if (window.XMLHttpRequest) {
				xhttp = new XMLHttpRequest();
			}
			if (typeof(xhttp) != "undefined") {
				xhttp.open("GET", "/xml/menusource.xml", false);
				xhttp.send("");				
				xmlDoc = xhttp.responseXML;
				ShowMozilla(target, base);
			}
		}
	}
	catch(e) {
		alert("Your browser cannot handle this menu. "+e.description);
	}
}

function ShowMozilla(target, base)
{
    var dnode = xmlDoc.getElementsByTagName('drops');
    var bnode = xmlDoc.getElementsByTagName('base');
    var dnodecount = dnode[0].childNodes.length;
    var bnodecount = bnode[0].childNodes.length;
    if (base != null)
    {
	    for (var j=0;j<bnodecount;j++)
	    {
	        if (bnode[0].childNodes[j].nodeType != 1) continue;
	        var node = bnode[0].childNodes[j].cloneNode(true);
		    base.appendChild(node);
		    base.innerHTML = base.innerHTML;
	    }
	}
	for (var i=0;i<dnodecount;i++)
    {
        if (dnode[0].childNodes[i].nodeType != 1) continue;
        var node = dnode[0].childNodes[i].cloneNode(true);
        target.appendChild(node);
		target.innerHTML = target.innerHTML;
    }
}

function ShowIE(target, base)
{
    var span = document.createElement("span");
    //alert("Xml load = " + xmlDoc.hasChildNodes());
    span.innerHTML = xmlDoc.getElementsByTagName('drops')[0].xml;
    if (base != null)
    {
        base.innerHTML = xmlDoc.getElementsByTagName('base')[0].xml;
    }
    target.appendChild(span);
}

function ClassToggle(element, bool, addon)
{
    var oldname = element.className;
    if (bool)
    {
      element.className = oldname + addon;
    }
    else
    {
      element.className = oldname.substr(0,oldname.indexOf(addon));
    }
}

var imgPath = "/images/uvw/knoppen/";
var arr_baseState = new Array(imgPath + "home.jpg", imgPath + "nieuws.jpg", imgPath + "dossiers.jpg", imgPath + "vereniging.jpg", imgPath + "activiteiten.jpg", imgPath + "publicaties.jpg", "/images/uvw/menu_images/pagearrow.gif");
var arr_hoverState = new Array(imgPath + "home_on.jpg", imgPath + "nieuws_on.jpg", imgPath + "dossiers_on.jpg", imgPath + "vereniging_on.jpg", imgPath + "activiteiten_on.jpg", imgPath + "publicaties_on.jpg", "/images/uvw/menu_images/pagearrow_hover.gif");

function ImagePreload()
{
    for (var i=0;i<arr_baseState.length;i++)
    {
        eval("objImage" + i + " = new Image()");
       	eval("objImage" + i + ".src = arr_hoverState[" + i + "]");
    }
}

function ImageSwitch(imgName, state, idx)
{
    switch(state)
    {
        case "base":
            document[imgName].src = arr_baseState[idx];
            break;
        case "hover":
            document[imgName].src = arr_hoverState[idx];
            break;
    }
}

function ImageToggle(element, bool, addon)
{
    var fullname = element.src;
    var extidx = fullname.lastIndexOf('.');
    var strippedname = fullname.slice(0,extidx);
    var ext = fullname.slice(extidx);
    if (bool)
    {
      element.src = strippedname + addon + ext;
    }
    else
    {
       element.src = fullname.slice(0,fullname.indexOf(addon))+ ext;
    }
}
//DJB shows all the properties of an object
function showProperties(obj) {
  if(obj==null) alert("Could not find the object to display!");
  else {
    var res = "";
    for(var i in obj) {
      res += i +' \t-  ';
      res += obj[i];
      res += '\n';
    }
    alert(res);
  }
}
//function Dong(){alert('Dong!');}
