var menu_interval_time = 4000; // u milisekundama


var menuInterval;

function isObject(o) {return (o && 'object' == typeof o) || isFunction(o);}
function isFunction(o) {return 'function' == typeof o;}

function is_child_of(parent, child) {
	if( child != null ) {			
		while( child.parentNode ) {
			if( (child = child.parentNode) == parent ) {
				return true;
			}
		}
	}
	return false;
}

function fixOnMouseOut(element, event, JavaScript_code) {
	var current_mouse_target = null;
	if( event.toElement ) {				
		current_mouse_target 			 = event.toElement;
	} else if( event.relatedTarget ) {				
		current_mouse_target 			 = event.relatedTarget;
	}
	if( !is_child_of(element, current_mouse_target) && element != current_mouse_target ) {
		eval(JavaScript_code);
	}
}

function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }

var nn = 0;
function menu_hide () { //header
	var menu_kont = window.document.getElementById('menu_kontejner');
	menu_kont.style.visibility = "hidden";
	menu_kont.innerHTML = '';
	menu_kont.style.left = '0px';
	menu_kont.style.width = 'auto';
	window.clearInterval(menuInterval);
}


function menu_show (menu, position) {
	window.clearInterval(menuInterval);
	if (isObject(window.document.getElementById('opt_last'))) {
		var opt_last = 'opt_last';
	} else {
		var opt_last = 'aktivan';
	}
	
	if (isObject(window.document.getElementById('opt_first'))) {
		var opt_first = 'opt_first';
	} else {
		var opt_first = 'aktivan';
	}
	
	var max_x = findPosX(window.document.getElementById(opt_last)) + window.document.getElementById(opt_last).offsetWidth;
	var min_x = findPosX(window.document.getElementById(opt_first));
	
	var menu_kont = window.document.getElementById('menu_kontejner');
	menu_kont.innerHTML = '';
	menu_kont.style.left = '0px';
	menu_kont.style.width = 'auto';
	menu_kont.style.visibility = "hidden";
	menu_kont.innerHTML = sub_menu_ar[menu];

	var levo = findPosX(position) - menu_kont.offsetWidth / 2 + position.offsetWidth/2;
	
	if (levo  + menu_kont.offsetWidth > max_x) { // + menu_kont.offsetWidth
		levo = max_x  - menu_kont.offsetWidth;
	}
	if (levo < min_x) {
		levo = min_x;
	}
	
	menu_kont.style.width = (max_x - levo) + 'px';
	
	menu_kont.style.left = levo+'px';
	menu_kont.style.visibility = "visible";
		
	//alert(menu_kont.offsetHeight);
}