//never type document.getEl... again!
function getE(val)
{
	if(document.getElementById(val))
		return document.getElementById(val);
	else
		return false;
}
					
//get active items
function activeMenu()
{
	secties();
	//move active_secties data to secties
	moveData("active_secties", "secties");
	makeSubMenu();
	//move active_instances data to secties
	moveData("active_instances", "instances");
	makeInstanceMenu();
	//move active_pages data to secties
	moveData("active_pages", "pages");
	makePagesMenu();
}

function moveData(fromDiv, toDiv)
{
	//alert(toDiv);
	if(getE(fromDiv))
	{	
		if(getE(toDiv).innerHTML != getE(fromDiv).innerHTML)
		{		
			var sData = getE(fromDiv).innerHTML;		
			
			getE(toDiv).innerHTML = sData;
			//new Effect.Grow(getE(toDiv), {direction: 'bottom-left', duration:0.5});		
			if(toDiv == "home_content_right")
				getE("home_content_right_close").onclick = function(){moveData(toDiv, fromDiv); new Effect.Shrink('home_content_right'); new Effect.Shrink('home_content_right_close')};
			else if(toDiv == "home_content_left")
				getE("home_content_left_close").onclick = function(){moveData(toDiv, fromDiv); new Effect.Shrink('home_content_left'); new Effect.Shrink('home_content_left_close')};
		}
	}
	else
		getE(toDiv).innerHTML = "";
		
	return true;
}

function clearDiv(divID)
{
	getE(divID).innerHTML = "";
	return true;
}


function secties()
{
	var supersecties = getE("inner_supersecties");
	/*
	var z;
	for(z=0; z<supersecties.childNodes.length; z++)
	{	
		if(supersecties.childNodes[z].nodeName == "DIV")
		{
			//get active menu
			if(supersecties.childNodes[z].className == "active")
				moveData("sub"+supersecties.childNodes[z].id, "secties");
			
			supersecties.childNodes[z].childNodes[0].onmouseover = function()
			{		
				moveData("sub"+this.parentNode.id, "secties");
				getE("secties").style.display = "none";
				new Effect.Appear(getE("secties"));
				
				make("makeSubMenu");
			}
		}		
	}
	*/
}

function makeItemsInactive(obj, nodeItem)
{
	var a;
	for(a=0; a<obj.parentNode.parentNode.childNodes.length; a++)
	{
		if(obj.parentNode.parentNode.childNodes[a].nodeName == nodeItem)
		{		
			var item = obj.parentNode.parentNode.childNodes[a];
			item.className = "";
		}
	}
}

function makeImagesInactive(obj, nodeItem)
{
	var a;
	for(a=0; a<obj.parentNode.parentNode.childNodes.length; a++)
	{
		if(obj.parentNode.parentNode.childNodes[a].childNodes[0].nodeName == nodeItem)
		{		
			var item = obj.parentNode.parentNode.childNodes[a].childNodes[0];
			item.className = "";
		}
	}
}

function make(func)
{
	switch(func)
	{
	case "makeSubMenu":
		makeSubMenu();
		return true;
	case "makeInstanceMenu":
		makeInstanceMenu();
		return true;
	case "makePagesMenu":
		makePagesMenu();
		return true;
	default:
		return true;
	}
}

function makeSubMenu(from)
{
	clearDiv("instances");
	clearDiv("pages");
	
	if(from)
		makeMenu(from, "instances", "makeInstanceMenu");
	else
		makeMenu("secties", "instances", "makeInstanceMenu");
}

function makeInstanceMenu()
{
	clearDiv("pages");
	makeMenu("instances", "pages", "makePagesMenu");
}

function makePagesMenu(){
	makeMenu("pages", false, false);
}

//makes the elements in the specified element behave like a menu
function makeMenu(element, toDiv, func)
{
	var menu = getE(element);
	var y;
		
	if(menu.childNodes[0])
	{
		var submenu = menu.childNodes[0];
		for(y=0; y<submenu.childNodes.length; y++)
		{
			if(submenu.childNodes[y].nodeName == "LI")
			{
				submenu.childNodes[y].childNodes[0].onmouseover = function()
				{	
					//everything normal
					makeItemsInactive(this, "LI");
					//activate himself	
					this.parentNode.className = "active";				
					//an active menu has another ID
					if(this.parentNode.id.match("active_"))
						this.parentNode.id = this.parentNode.id.replace("active_","");
					if(this.parentNode.id.match("normal_"))
						this.parentNode.id = this.parentNode.id.replace("normal_","");
					//move the data				
					moveData("sub"+this.parentNode.id, toDiv);		
					//and make the new menu functional
					make(func);
				}
			}
		}
	}
}

var imageObject= "";	
			
function makeLinks()
{
	var lastpage = getE("nav_button_lastpage");
	lastpage.onclick =function(){history.go(-1);return false;}
	
	var content = getE("content");
	content.onmouseover =function(){activeMenu();}
	
	var button_mijnbehang = getE("button_mijnbehang");
	button_mijnbehang.onmouseover =function()
	{
		if(getE("mijn_behang").className != "")
		{
			getE("image_button_mijnbehang").src= "/images/mijnbehang.gif"; 
			getE("button_mijnbehang").parentNode.style.top= "640px"; 
			getE("mijn_behang").style.display = "none";
			getE("mijn_behang").className = "";
			new Effect.Appear(getE("mijn_behang"));
		}
	}
	button_mijnbehang.onclick = function(){return false;}
	
	var container = getE("container");
	var mijnbehang = getE("mijn_behang_images");
	var y;
	
	if(mijnbehang.childNodes)
	{
	for(y=0; y<mijnbehang.childNodes.length; y++)
	{
		//if(mijnbehang.childNodes[y].nodeName == "A" && mijnbehang.childNodes[y].childNodes[0].className != "active")
		if(mijnbehang.childNodes[y].nodeName == "A")
		{	
			
			mijnbehang.childNodes[y].onclick = function(){return false;}
			
			mijnbehang.childNodes[y].childNodes[0].onclick = function()
			{
				this.newsrc = this.src.replace("http://"+document.domain+"/uploads/","");
				this.newsrc  = this.newsrc.slice(0, -10);
				
				var oXMLHTTP = getHTTPXML();
				
				if(oXMLHTTP)
				{
					oXMLHTTP.open("POST", "http://"+document.domain+"/setbgimage?backgroundImage="+this.newsrc, false);
					oXMLHTTP.send(null);
				}
					
				//view new image
				imageObject = this;
				showImage();
				//getE("content").style.backgroundImage = "url('/uploads/"+this.newsrc+"')";

				//make image active
				makeImagesInactive(this, "IMG");
				this.className = "active";
			}
			/*
			mijnbehang.childNodes[y].childNodes[0].onmouseover = function()
			{	
				imageObject = this;
				setTimeout("showImage()", 500);
			}
			*/
			
		}
	}
	}
}

function showImage()
{
	imageObject.newsrc = imageObject.src.replace("http://"+document.domain,"");
	imageObject.newsrc = imageObject.newsrc.slice(0, -10);
	
		new Effect.Fade('content', {duration:0.2, afterFinish: function (obj) 
		{ 	new Effect.Appear('content', {duration:0.2});
			getE("content").style.backgroundImage = "url('"+imageObject.newsrc+"')";	
		}});	
}

var activeImage = "";

function showOldImage()
{
	if(activeImage)
	{
		new Effect.Fade('content', {duration:0.2, afterFinish: function (obj) 
			{ 	new Effect.Appear('content', {duration:0.2});
				getE("content").style.backgroundImage = "url('/uploads/"+activeImage+"')";
			}});
	}
}


//get active items
function getActiveImage()
{
	var mijnbehang = getE("mijn_behang_images");
	var y;
	
	for(y=0; y<mijnbehang.childNodes.length; y++)
	{
		if(mijnbehang.childNodes[y].nodeName == "A" && mijnbehang.childNodes[y].childNodes[0].className == "active")
		{	
			var newsrc = mijnbehang.childNodes[y].childNodes[0].src.replace("http://"+document.domain+"/uploads/","");
			var newsrc  = newsrc.slice(0, -10);
			var activeImage = newsrc;
		}
	}
	return false;
}

function getHTTPXML()
{
	xmlhttp=null
	// code for Mozilla, etc.
	if (window.XMLHttpRequest)
	{
		xmlhttp=new XMLHttpRequest();
	}
	// code for IE
	else if (window.ActiveXObject)
	{
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	if (xmlhttp!=null)
	{
		return xmlhttp;
	}
	else
	{
		alert("Uw browser ondersteund geen XML-HTTP en kan daarom geen kaart weergeven.");
		return false;
	}
}

var activeNavElm = false;
var activeSubNavElm = false;
var timeoutNavElm = false;
var startTime = 0;

function showSubnav(elmID, iLevel)
{
	if(getE(elmID).className != "active")
	{
		var dDate = new Date();	
		var iDiff = dDate.getTime() - startTime;
		if(iDiff < 1000)
		{
			return;
		}
		
		if(activeNavElm == elmID)
		{
			return;
		}
		
		startTime = dDate.getTime();
	
		if(activeNavElm && (iLevel == 1))
		{
			hideSubnav(activeSubNavElm);
			hideSubnav(activeNavElm);
		}
	
		if(activeSubNavElm && (iLevel == 2))
		{
			hideSubnav(activeSubNavElm);
		}
		
		if(iLevel == 1)
		{
			activeNavElm = elmID;
		}
		if(iLevel == 2)
		{
			activeSubNavElm = elmID;
		}
		
	
		timeOutShow = setTimeout("timeOutShowEffect('"+elmID+"')", 800);
	}
}

function timeOutShowEffect(elmID)
{
	var subnavElm = getE(elmID);
	
	subnavElm.className = "active";

	new Effect.Grow(subnavElm, {direction:"top-left"});
}

function hideSubnav(elmID)
{
	timeoutNavElm[elmID] = setTimeout("timedOutEffect('"+elmID+"')", 500);
}

function timedOutEffect(elmID)
{
	var subnavElm = getE(elmID);
	new Effect.Fold(subnavElm);
	subnavElm.className = "";
	clearTimeout(timeoutNavElm[elmID]);
	
	timeoutNavElm[elmID] = null;
}

function toggle(id) {
	if ( document.getElementById(id).style.display != 'none' ) {
		document.getElementById(id).style.display = 'none';
	} else {
		document.getElementById(id).style.display = 'block';
	}
}