//free JavaScripts on http://www.ScriptBreaker.com

var open_close = true // true or false, false = close the previous item_panel first when opening a new one 
var height = 30; // height of the menu headers
var iheight = 30; // height of the menu_items
var bgc = "#FFFFFF"// background color of the item
var tc = "#FD030D"// text color of the item
//var over_bgc = "#FF3300";
var over_bgc = "#FF6600";
var over_tc = "#FFFFFF";

var speed = 5; // time between changing heigth of the item_panel
var steps = 5; // changing heigth in steps of
var timerID = "";
var N = (document.all) ? 0 : 1;
var width = 150

var self_menu = new Array();
function write_menu()
	{
	smc = 0; // count the position of the self_menu
	document.write("<div style='position:absolute'>");
	mn = 0;
	mni = 1;
	start = -1;
	for(i=0;i<Link.length;i++)
		{
		la = Link[i].split("|");
		if (la[0] == "0")
			{
			if(start == 0) 
				{
				document.write("</div>");
				h = csmc * iheight;
				tmn = mn;
				self_menu[smc] = new Array(tmn,h,0,-2);
				smc++;
				mn--;
				}
			csmc = 0;
			document.write("<div class='menu' style='top:"+mn+";height:"+height+"' id='down"+smc+"' onclick='prepare("+smc+","+mni+")'>&nbsp;"+ "<img src='logozondertekst (25 x 21).jpg' width='25' height='21'>" + "&nbsp "+ la[1] + "</div>");
			self_menu[smc] = new Array(mn,height,0,mni);
			smc++;
			mni++;
			mn+=height;
			start = 1;
		}
	else
		{
			if(start == 1) 
				{
				if(N)mn+=2;
				document.write("<div class='item_panel' id='down"+smc+"' style='top:"+mn+"'>");
				start = 0;
				}
			document.write("<a href='"+la[2]+"'");
			if (la[3] != "") document.write(" target='" + la[3] + "' ");
			document.write("><div class='item' id='d"+i+"' style='height:"+iheight);
			if (N) document.write(";width:150");
			//document.write("' onmouseover='color(this.id)' onmouseout='uncolor(this.id)'>&nbsp;&nbsp;"+ la[1] + "</div></a>");
			document.write("' onmouseover='mouseover(this.id)' onmouseout='mouseout(this.id)'>&nbsp;&nbsp;"+ la[1] + "</div></a>");
			if (la[0] == "0")
			{
				nodisplay("d"+i);
			}
			else
			{
				display("d"+i);
			}
			csmc++;
		}
	}
	if (start == 0) 
		{
		document.write("</div>");
		h = csmc * iheight;
		tmn = mn + 5; 
		self_menu[smc] = new Array(tmn,h,0,-2);
		name = "down" + (self_menu.length-1);
		}
	document.write("</div>");
}


function color(obj)
{
	//document.getElementById(obj).style.backgroundColor = over_bgc;
	document.getElementById(obj).style.color = tc;
	document.getElementById(obj).style.display = "none";
}

function uncolor(obj)
{
	//document.getElementById(obj).style.backgroundColor = bgc;
	document.getElementById(obj).style.color = tc;
	document.getElementById(obj).style.display = "block";
}

function mouseover(obj)
{
	document.getElementById(obj).style.backgroundColor = over_bgc;
	document.getElementById(obj).style.color= over_tc;
}

function mouseout(obj)
{
	document.getElementById(obj).style.backgroundColor = bgc;
	document.getElementById(obj).style.color = tc;
}

function nodisplay(obj)
{
	document.getElementById(obj).style.display = "none";
//	document.getElementById(obj).style.backgroundColor = bgc;
//	document.getElementById(obj).style.color = tc;
}

function display(obj)
{
	document.getElementById(obj).style.display = "block";
	document.getElementById(obj).style.backgroundColor = bgc;
	document.getElementById(obj).style.color = tc;

}



var prevnr = -1;
var prevc = -1;
var vprepare = "stop";
var step = 0;

function prepare(nr,c)
{
	if (open_close)
		{
		if(prevnr == -1)
			{
			if(self_menu[nr+1][2] == 0)
			{
				prevnr = nr;
				prevc = c;
			}
			else
			{
			prevnr = -1;
			prevc = -1;
			}
			step = 0;
			pull_down(nr,c);
		}
		else
		{
		if((step == 0) && (prevnr != -1))
			{
			if (self_menu[nr+1][2] == 1)
				{
				step = 0;
				prevnr = -1;
				prevc = -1;
				pull_down(nr,c);
				}
			else
				{
				step = 1;
				pull_down(prevnr,prevc);
				prevnr = nr;
				prevc = c;
				}
			}
		else
			{
			step = 0;
			pull_down(prevnr,prevc);
			}
		}
	}
	else
	{
		pull_down(nr,c);
		vprepare = "stop";
	}
}

function end_prepare()
{
	if (step == 1) prepare();
	else {if (timerID != "") clearTimeout(timerID);}
}

function pull_down(nr,c)
{
	if (timerID == "")
	{
		to = self_menu[nr+1][1]
		begin = nr + 2;
		if (timerID != "") clearTimeout(timerID);
		if (self_menu[nr+1][2] == 0)
		{
			self_menu[nr+1][2] = 1;
			if(nr == self_menu.length-2) {to++;}
			epull_down(begin,to,0);
		}
		else
		{
			to = 0;
			self_menu[nr+1][2] = 0;
			name = "down"+(nr+2);
			open_item = 0;
			for(i=0;i<nr;i++)
				{
				if(self_menu[i][2] == 1) 
					{
					open_item += self_menu[i][1];
					}
				}
			if (N == false) {open_item-= (c*1)};
			if (nr== self_menu.length-2) {val = self_menu[self_menu.length-1][1];to=-1;}
			else val = parseInt(document.getElementById(name).style.top) -(open_item)-(c*height);
			epull_up(begin,to,val);
		}
	}
}

function epull_down(nr,to,nowv)
{
	if((nowv + steps) >= to) {vsteps = to - nowv;}
	else {vsteps = steps;}
	name = "down" + (nr-1);
	obj = document.getElementById(name).style.clip = "rect(0,"+width+","+(nowv+vsteps)+",0)";
	for (i=nr;i<self_menu.length;i++)
	{
		name = "down" + i;
		obj = document.getElementById(name);
		obj.style.top = parseInt(obj.style.top)+vsteps;
	}
	nowv+=vsteps;
	if(nowv < to) timerID = setTimeout("epull_down("+nr+","+to+","+nowv+")",speed);
	else {timerID = "";if(startid != "stop") open_all(); else end_prepare()}
}

function epull_up(nr,to,nowv)
{
	if((nowv-steps) <= to) {vsteps = nowv-to;nowv = 0;if(to == -1) vstep = nowv}
	else {vsteps = steps;}
	name = "down" + (nr-1);
	obj = document.getElementById(name).style.clip = "rect(0,"+width+","+nowv+",0)";
	for (i=nr;i<self_menu.length;i++)
	{
		name = "down" + i;
		obj = document.getElementById(name);
		obj.style.top = parseInt(obj.style.top)-vsteps;
	}
	nowv-=vsteps;
	if(nowv > to) timerID = setTimeout("epull_up("+nr+","+to+","+nowv+")",speed);
	else {timerID = "";end_prepare();}
}

var lb = new Array();

function startup(nr)
	{
	write_menu();
	if(nr)
		{
		if(((nr.indexOf("|") != -1) || (nr.indexOf("all") != -1)) && (open_close == true)) alert("Error: the open_close property can only be used with a maximum of 1 default item.");
		if (nr == "all")
		{
			j = 0;
			for(i=0;i<self_menu.length;i++)
				{
				if(self_menu[i][3] != -2) {lb[j] = self_menu[i][3];j++;}
				}
		}
		else
		{
			lb = nr.split("|");
		}
		open_all();
	}
	else startid = "stop";
}

//free JavaScripts on http://www.ScriptBreaker.com
var startid = 0;
var open_part = 0;

function open_all()
{
	startid = lb[open_part];
	for(i=0;i<self_menu.length;i++)
	{
		if(self_menu[i][3] == startid) 
		{
		prevnr = i;
		prevc = startid;
		pull_down(i,startid);
		i==self_menu.length;
		open_part++;
		}
	}
	if(open_part == lb.length) startid = "stop";
}
