﻿document.currentMenuNr=0;
function f_MouseOver(obj){
    if(!obj.classNameX) obj.classNameX=obj.className;
    document.currentMenuNr++;
    f_MenuDestroy(obj.id);
    var sub=document.getElementById(obj.id+'s');
    var cs;
    if(sub){
        sub.style.display='block';
        if(!sub.mxShift) {
            sub.mxShift=f_GetTop(document.getElementById(obj.id+'sx')); 
            sub.classNameX=sub.className;
            sub.mxParent = document.getElementById(obj.id.substring(0,obj.id.length-4)+'s');
        }
        sub.mxCorrection=sub.mxParent?sub.mxParent.mxCorrection:0;
        var wh=f_clientHeight()+f_scrollTop();
        var t = sub.mxShift-sub.mxCorrection<wh-5?0:wh-sub.mxShift-5;
        sub.mxCorrection+=-t;
        //document.getElementById('fid_debug').innerHTML=sub.mxCorrection +' '+wh+' '+sub.mxShift+' '+t;
        sub.style.top=t + 'px';
        obj.className=obj.classNameX + ' xm';
        f_MenuSetCurrentId(obj.id);
    }
}
function f_MouseOut(){
    window.setTimeout('f_MenuEnd('+document.currentMenuNr+')',1000);
}
function f_MenuEnd(x){
    if(x==document.currentMenuNr) f_MenuDestroy('');
}
function f_MenuDestroy(x){
    if(!document.currentMenuId) return false;
    var sub, cur;
    for(;document.currentMenuId.length>0;){
        if(x.indexOf(document.currentMenuId)==0) return false;
        sub = document.getElementById(document.currentMenuId+'s');
        if(!sub){
            f_MenuSetCurrentId(null);
            return false;
        }
        sub.style.display='none';
        cur=document.getElementById(document.currentMenuId);
        cur.className=cur.classNameX;
        f_MenuSetCurrentId(document.currentMenuId.substring(0, document.currentMenuId.length-4));
    }
}
function f_MenuSetCurrentId(x){
    document.currentMenuId=x;
    
}
function f_GetTop(obj) {

	var yPos = obj.offsetTop;
	var tempEl = obj.offsetParent;
	while (tempEl != null) {
		yPos += tempEl.offsetTop;
  		tempEl = tempEl.offsetParent;
	}
	return yPos*1;
}
function f_clientHeight() {
	return f_filterResults (
		window.innerHeight ? window.innerHeight : 0,
		document.documentElement ? document.documentElement.clientHeight : 0,
		document.body ? document.body.clientHeight : 0
	);
}
function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}
function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

