function menu() {
	var delay = 500;
	var chosenClass = 'chosen';
	var normalClass = 'sub';

	var m = document.getElementById('mmenu');
	m.lastOpen = m;

	var hideBranch = function(from) {
		for (var ob = m.lastOpen; ob != from; ob = ob.parentNode.parentNode) {
			ob.style.left = 0;
			ob.style.visibility = 'hidden';
			ob.parentNode.getElementsByTagName('a')[0].className = normalClass;
		}
		m.lastOpen = from;
	}

	var setPosition = function(ob) {
	    var p = ob.parentNode;
	    if (p.parentNode == m) {
	        ob.style.top = p.offsetHeight + 'px';
	        ob.style.left = 0;
	        ob.rightEdge = p.offsetLeft + ob.offsetWidth;
	    }
	    else {
	        ob.style.top = '1px';
	        var r0 = p.parentNode.rightEdge;
	        if ((document.documentElement.clientWidth || document.body.clientWidth) / 2 - r0 + 381 > ob.offsetWidth) {
	            ob.style.left = p.offsetWidth + 'px';
	            ob.rightEdge = r0 + ob.offsetWidth;
	        }
	        else {
	            ob.style.left = '';
	            ob.rightEdge = r0 - p.parentNode.offsetWidth;
	        }
	    }
	}

	var setWidth = function(ob) {
	    var width = 0;
	    var children = ob.childNodes;
	    for (var i = 0; children[i]; i++) {
	        if (!children[i].tagName) continue;
	        if (children[i].getElementsByTagName('ul').length) {
	            children[i].getElementsByTagName('a')[0].className = normalClass;
	        }
	        if (children[i].scrollWidth > width) {
	            width = children[i].offsetWidth;
	        }
	    }
	    if (ob.parentNode.parentNode == m && width < ob.parentNode.clientWidth) {
	        width = ob.parentNode.offsetWidth + 1;
	    }
	}

	var show = function(ob) {
		if ('\v'!='v') setWidth(ob);
		setPosition(ob);
		if ('\v'=='v') setWidth(ob); // IE6-7 needs to do this after positioning, FF1/Opera8 - before it
		m.lastOpen = ob;
		
		if (ob.parentNode.parentNode == m && !ob.hasShadow) {
			var s = ob.parentNode.getElementsByTagName('span')[0];
			s.appendChild(s.cloneNode(true));			
			ob.hasShadow = true;
		}
		
		ob.style.visibility = 'visible';
		ob.parentNode.getElementsByTagName('a')[0].className = chosenClass;
	}

	m.onmouseover = function() {
		clearTimeout(m.hideTimer);
		var tgt = (arguments[0] && arguments[0].target) || window.event.srcElement;
		if (tgt.tagName.toLowerCase() == 'span') tgt = tgt.parentNode;
		if (tgt.tagName.toLowerCase() != 'a') return;
		var ul = tgt.parentNode.getElementsByTagName('ul')[0];
		if (m.lastOpen != ul) hideBranch(tgt.parentNode.parentNode);
		if (ul) show(ul);
	}

	m.onmouseout = function() {
		m.hideTimer = setTimeout(function() {hideBranch(m)}, delay);
	}
}

function searchForm() {
    var form = document.getElementById('searchForm');
    var site = form.site[0];
    var fixopaedia = form.site[1];
    var fix_title = document.getElementById("fix_title");
    var fix_items = document.getElementById("fix_items");
    var fix_version = document.getElementById('fixopaedia_version');
    var fix_version_list = fix_items.getElementsByTagName('a');
   

	site.style.display = "none";
	site.parentNode.className = "selected";
	fixopaedia.style.display = "none";
	

	site.parentNode.onclick = function() {
	    site.parentNode.className = "selected";
	    fixopaedia.parentNode.className = "fixopaedia";
	    form.site.checked = true;
	    form.fixopaedia.checked = false;
	    fix_title.style.visibility="hidden";
	    form.keyword.focus();
	}

	fixopaedia.parentNode.onclick = function() {
	    site.parentNode.className = "";
	    fixopaedia.parentNode.className = "selected fixopaedia";
	    form.site.checked = false;
	    form.fixopaedia.checked = true;
	    fix_title.style.visibility="visible";
	    form.keyword.focus();
	}

	fix_title.onmouseover = fix_items.onmouseover = function() {
    	fix_items.style.visibility="visible";
        fix_title.className="active_dropdown";
	}
	
	fix_title.onmouseout = fix_items.onmouseout = function() {
	    fix_items.style.visibility="hidden";
        fix_title.className="";
    }
	
	for (var i=0;i<fix_version_list.length; i=i+1 ) {
	    fix_version_list[i].onclick = function() {
	        fix_title.innerHTML = this.innerHTML;
	        fix_version.value = this.innerHTML;
	        fix_items.style.visibility = "hidden";
	        fix_title.className = "";
	        form.keyword.focus();
	        return false;
	    }
	}
}
	
function checkSearchForm(form) {
	form.keyword.value = form.keyword.value.replace(/^\s+|\s+$/, '');
	if (form.keyword.value == '') {
		form.keyword.focus();
		return false;
	}
}

	

