/*
VERFICAR BROWSER
*******************************/

var isNN, isIE, isMac, isMoz;
var agent = navigator.userAgent;
isMac = (agent.lastIndexOf('Mac') < 0);

// ie
if (document.all){
  isIE = true;
} else if (document.layers){
  isNN = true;
  document.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP | Event.RESIZE);
  window.onresize=um_resize;
} else if (navigator.userAgent.indexOf('Gecko') != -1) {
  isMoz = true;
}

// netscape
if (isNN) {
   var ws = window.innerWidth;
   var hs = window.innerHeight;
}


// crossbrowser
function vidnost(id, vidno) {
  if (isNN) {
    vidno ? vidno = 'show' : vidno = 'hide';
    if ( document.layers[id] ) document.layers[id].visibility = vidno;
  } else if (isIE) {
    vidno ? vidno = 'visible' : vidno = 'hidden';
    if ( document.all[id] ) document.all[id].style.visibility = vidno;
  } else if (isMoz) {
    vidno ? vidno = 'visible' : vidno = 'hidden';
    if ( document.getElementById(id) ) document.getElementById(id).style.visibility = vidno
  }
}

/*********************************/

	var menuHideTimeout = 500;
	var menuBackColor = [];

	var menuShown = [null];
	var menuTimerID = null;
	var menuNotSet = true;


	function getWindowSize()
	{
		var size = {w:0, h:0};
		if( typeof( window.innerWidth ) == 'number' )
		{
			//Non-IE
			size.w = window.innerWidth;
			size.h = window.innerHeight;
		}
		else
		{
			if( document.documentElement &&
				( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
			{
				//IE 6+ in 'standards compliant mode'
				size.w = document.documentElement.clientWidth;
				size.h = document.documentElement.clientHeight;
			}
			else
			{
				if( document.body && ( document.body.clientWidth || document.body.clientHeight ) )
				{
					//IE 4 compatible
					size.w = document.body.clientWidth;
					size.h = document.body.clientHeight;
				}
			}
		}
		return size;
	}


	var menuOffsets;

	function menuSetup( mid, submenu )
	{
		var id = ("smenu" + mid);
		var maxY = (getWindowSize().h - 10);
		var corr = {x:0, y:0}

		var menuOffsets;
		if ( document.all )
			menuOffsets = [{x:185, y:4},  {x:365, y:-2}, {x:545, y:-2}];
		else
			menuOffsets = [{x:185, y:-1}, {x:365, y:-2}, {x:545, y:-2}];

		var level = 0;

		level = Math.floor( ( (mid + '').length + 1 ) / 2 ) + submenu;
		level = menuOffsets.length < level ? menuOffsets.length - 1 : level - 1;
		if ( level < 0 ) level = 0;

		if ( submenu < 0 )
			if ( document.all )
			{
			}
			else
			{
				//corr.x = -10; corr.y = -1;
			}

		if ( document.getElementById(id) )
		{
			var p = getPos( ('_a' + mid + '_') );
			var posX = 185;
			var posY = p.y;
			for ( var i = 0; i < menuOffsets.length; i++ )
			{
				if ( p.x < menuOffsets[i].x )
				{
					posX = menuOffsets[i].x;
					break;
				}
			}
			if ( isIE && submenu == -1 && posX == menuOffsets[0].x && level > 0 ) corr.y = 5;
			posY += menuOffsets[level].y + corr.y;
			// debug: document.getElementById(id).innerHTML += ("....." + p.x + ", " + p.y + "<br/>(" + submenu + ") l:" + level + " cry:" + corr.y + " " + posX + ", " + posY);
			if ( isIE )
				if ( posX <= 55 ) {
					posX = 185;
					posY -= 3;
				} else if ( posX == 220 ) {
					posX = 355;
					posY -= 3;
				}

			premakni(id, posX, posY);
		}
	}


	function menuSetupFinal()
	{
		//var bugRiddenCrashPronePieceOfJunk = false;
		//navigator.userAgent.indexOf('MSIE 5') != -1 || navigator.userAgent.indexOf('Mac') != -1
		//alert(navigator.userAgent);
		//alert(bugRiddenCrashPronePieceOfJunk);

		// if ( !bugRiddenCrashPronePieceOfJunk ) menuNotSet = false;
		menuNotSet = false;
	}
	
	
	function menuOff( level )
	{
		if ( menuNotSet ) return;

		var id;

		for ( var m = menuShown.length-1 ; m >= level; m-- )
		{
			if ( menuShown[m] )
			{
				vidnost( menuShown[m], false );

				id = menuShown[m].substr(1);

				if ( document.getElementById(id) )
					with ( document.getElementById(id) )
						if ( m >= 0 )
							//style.backgroundColor = "";
							if ( className.substring(className.length-3) == "Sel" )
								className = className.substr(0,className.length-3);
						else
							if ( className.substring(className.length-3) == "Sel" )
								className = className.substr(0,className.length-3);
			}
			menuShown.length = m;
		}

	}


	function menuItemOn( mid, flyout )
	{
		if ( menuNotSet ) return;

		if ( menuTimerID ) clearTimeout(menuTimerID);

		var id = ("menu" + mid);

		var level = Math.floor( ( (mid + '').length + 1 ) / 2 );
		var colorLevel = menuBackColor.length < level ? menuBackColor.length - 1 : level - 1;
		
		//alert (level)
		menuOff( level-1 );

		if ( document.getElementById(id) )
			with ( document.getElementById(id) )
			{
				//alert('---' + className.substring(className.length-3) + '---');
				if ( level > 1 ){
					//style.backgroundColor = menuBackColor[colorLevel];
					if ( className.substring(className.length-3) != "Sel" )
						className = className + "Sel";
				}else{
					if ( className.substring(className.length-3) != "Sel" )
						className = className + "Sel";
				}
			}


		if ( flyout != 2 )
		{
			id = ("smenu" + mid);
			if ( document.getElementById(id) ) {
				vidnost (id, true);
				menuShown[level-1] = id;
			}
		}
	}


	function menuItemOff( mid )
	{
		if ( menuNotSet ) return;

		var level = Math.floor( ( (mid + '').length + 1 ) / 2 );

		if ( menuShown.length < level )
		{
			var id = ("menu" + mid);
			if ( document.getElementById(id) )
				with ( document.getElementById(id) )
					if ( level > 1 )
						//style.backgroundColor = "";
						if ( className.substring(className.length-3) == "Sel" )
							className = className.substr(0,className.length-3);
					else
						if ( className.substring(className.length-3) == "Sel" )
							className = className.substr(0,className.length-3);
		} 

		menuTimerID = setTimeout( "menuOff(0)", menuHideTimeout );
	}


	function menuClick( sLink )
	{
		menuOff(0);
		menuNotSet = true;
		self.location = sLink;
	}



	/* --- positioning --- */

	function getPos(id)
	{
		var coordinates = {x: 0, y:0};
		var obj = document.getElementById(id);
		if ( obj ) {
			coordinates.x = getPosX(obj);
			coordinates.y = getPosY(obj);
		}
		return coordinates;
	}

	function getPosX(obj)
	{
		var curleft = 0;
		if (obj.offsetParent)
		{
			while (obj.offsetParent)
			{
				curleft += obj.offsetLeft;
				obj = obj.offsetParent;
			}
		}
		else if (obj.x)
			curleft += obj.x;
		return curleft;
	}

	function getPosY(obj)
	{
		var curtop = 0;
		if (obj.offsetParent)
		{
			while (obj.offsetParent)
			{
				curtop += obj.offsetTop;
				obj = obj.offsetParent;
			}
		}
		else if (obj.y)
			curtop += obj.y;
		return curtop;
	}



	function debug(s)
	{
		//document.frmDebug.debug.options[document.frmDebug.debug.options.length] = new Option(s, 1, false, false);
		document.frmDebug.debug.value += s + " ";
	}

// cor mouseHover
//menuBackColor = ["#FFC", "#b8c6d0"];
//menuBackColor = ["", ""];


function setup_on_load()
{
	menuSetupFinal();
}
