// prepare divisions
menu_max_depth = 5;
for(i=0;i<menu_max_depth;i++) {
	e='<div id="dropmenudiv'+i+'" '
	e+='style="position:absolute; visibility:hidden; z-index:1; left: 0px; '
	e+='top: 0px; Width:'+3+'px; Height:100px; Border:1px none; Overflow:hidden" '
	e+='> <div id="frame'+i+'"></div>'
	e+='</div>'
	document.write(e)
}

function getposOffset(what, offsettype){
	var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
	var parentEl=what.offsetParent;
	while (parentEl!=null){
	totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
	parentEl=parentEl.offsetParent;
	}
	return totaloffset;
}

function populatemenu(what, my_div){
	mtbl='<div class="menu_item"><ul style="padding:0px; margin:0px;">';
	for(i=0;i<what.length;i++) {
		mtbl+='<li style="list-style-type: none;"><a href="'+what[i].id+'">'+what[i].name+'</a>';}
	mtbl+='</ul></div>'
	dropmenuobj.style.height=(30*what.length)+3
	dropmenuobj.innerHTML=mtbl
}

function dropdownmenu(obj, e, menucontents, lvl){
	if (window.event) event.cancelBubble=true
	else if (e.stopPropagation) e.stopPropagation()
	
	if (typeof lvl=="undefined") lvl=0 
	
	// this will hide selected division level upwards
	for (i=lvl;i<menu_max_depth;i++) {
		o=document.getElementById('dropmenudiv'+i)
		o.style.visibility="hidden" }
	
	if (menucontents==null) return true
	
	// calculate location and show
	dropmenuobj=document.getElementById('dropmenudiv'+lvl)
	if (ie4||ns6){
		//showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)
		dropmenuobj.x=getposOffset(obj, "left")
		dropmenuobj.y=getposOffset(obj, "top")
		dropmenuobj.style.left=dropmenuobj.x+"px"
		dropmenuobj.style.top=dropmenuobj.y+19;//+obj.offsetHeight+"px"
		//-clearbrowseredge(obj, "bottomedge")						
		dropmenuobj.style.width='130px';
		dropmenuobj.style.overflow = 'visible';
		dropmenuobj.style.visibility="visible"		
		}
	populatemenu(menucontents, lvl);
	}

function clickreturnvalue(){
	if (ie4||ns6) return false
	else return true
}

function contains_ns6(a, b) {
	while (b.parentNode)
	if ((b = b.parentNode) == a)
	return true;
	return false;
}



