// ########################################################## kulickove nemu

// the timeout for the menu
var timeout = 100;
var ua = navigator.userAgent.toLowerCase(); 
var isIE = ( (ua.indexOf('msie') != -1) && (ua.indexOf('opera') == -1) && (ua.indexOf('webtv') == -1) ); 


// this fonction initialize the menu
function initMenu()
{
	if (document.getElementById('xmenu')== null) return;
	
        // get some element
        var menu = document.getElementById('xmenu');
        var lis = menu.getElementsByTagName('li');
        
        // change the style of the menu
//        menu.className="menu";
        
        // i am searching for ul element in li element
        for ( var i=0; i<lis.length; i++ )
        {            
            // is there a ul element ? This code creat a warning in mozilla ... Can
            // somebody help me ?
            if ( lis.item(i).getElementsByTagName('ul')[0] )
            {     
		//alert(lis.item(i));
                // link events to list item
                addAnEvent(lis.item(i),'mouseover',show);
                addAnEvent(lis.item(i),'mouseout',timeoutHide);
                addAnEvent(lis.item(i),'blur',timeoutHide);
                addAnEvent(lis.item(i),'focus',show);
                
                // ad an id to list item
                lis.item(i).id = "li"+i;
                // creat a timeout variable for list item
                eval("timeoutli" + i + " = false;")
            }
        }
}

function addAnEvent( target, eventName, functionName )
{
    // apply the method to IE
    if ( isIE )
    {
       //target.attachEvent( 'on'+eventName, functionName ); // dont work properly with this
        eval('target.on'+eventName+'=functionName');
    }
    // apply the method to DOM compliant browsers
    else
    {
        target.addEventListener( eventName , functionName , true ); // true is important for Opera7
    }
}
    
// hide the first ul element of the current element
function timeoutHide()
{
    // start the timeout
    eval( "timeout" + this.id + " = window.setTimeout('hideUlUnder( \"" + this.id + "\" )', " + timeout + " );");
}

// hide the ul elements under the element identified by id
function hideUlUnder( id )
{   
    document.getElementById(id).getElementsByTagName('ul')[0].style.visibility = "hidden"; 
}

// show the first ul element found under this element
function show()

{
    this.getElementsByTagName('ul')[0].style.visibility = "visible";
	if (!document.all) {
	    if( this.parentNode.parentNode.tagName == 'LI' ) {
		    // 2. a další vnořená lička
		   // this.getElementsByTagName('ul')[0].style.left = this.offsetLeft;
		   // this.getElementsByTagName('ul')[0].style.top = this.offsetTop;
	    } else { // první vnořené ličko
		    //this.getElementsByTagName('ul')[0].style.left = this.offsetLeft;
		    //this.getElementsByTagName('ul')[0].style.top = this.offsetTop;
	    }    // show the sub menu
	}else{
	    if( this.parentNode.parentNode.tagName == 'LI' ) {
		    // 2. a další vnořená lička
	        //this.getElementsByTagName('ul')[0].style.marginLeft = "126px";
	        //this.getElementsByTagName('ul')[0].style.marginTop = "-12px";
	    } else { // první vnořené ličko
	        //this.getElementsByTagName('ul')[0].style.marginLeft = "126px";
    	    //this.getElementsByTagName('ul')[0].style.marginTop = "-14px";
		    }    // show the sub menu

	}

    // clear the timeout
    eval ( "clearTimeout( timeout"+ this.id +");" );
    hideAllOthersUls( this );
}

// hide all ul around this list item
function hideAllOthersUls( currentLi )
{
    var ul = currentLi.parentNode;
    for ( var i=0; i<ul.childNodes.length; i++ )
    {
        if ( ul.childNodes[i].id && ul.childNodes[i].id != currentLi.id )
        {
            hideUlUnderLi( ul.childNodes[i] );
        }
    }
}

// hide all the ul wich are in the li element
function hideUlUnderLi( li )
{
    var uls = li.getElementsByTagName('ul');
    for ( var i=0; i<uls.length; i++ )
    {
        uls.item(i).style.visibility = "hidden";
    }
} 
// ########################################################## kulickove nemu konec