Menu = {
    timer: 10,
    speed: 10,
    work: false,
    lastelement: null,
	items:null,
	
    init: function(){
        Menu.items = document.getElementById('left-menu').getElementsByTagName('ul');
        lastI = 0;
        for(i in Menu.items){
	
        if(!isNaN(i)){
            if(window.addEventListener) Menu.items[i].parentNode.getElementsByTagName('a')[0].addEventListener("click", Menu.slide, false);
            else Menu.items[i].parentNode.getElementsByTagName('a')[0].attachEvent("onclick", Menu.slide);
            Menu.items[i].n = i;
            Menu.items[i].style.height = 'auto';
            Menu.items[i].style.display = 'block';
            Menu.items[i].maxheight = Menu.items[i].offsetHeight;
            //Menu.items[i].style.overflow = 'hidden';
            Menu.items[i].parent = false;
            if(Menu.items[i].parentNode.parentNode.parentNode.tagName=='LI'){
                Menu.items[i].parent = lastI;
                }
            else {
                lastI = i;
                }
            Menu.items[i].showed = false;
            Menu.items[i].timer = null;
            }
        }
        for(i in Menu.items){
            if(!isNaN(i)){
                Menu.items[i].style.height = '0px';
                Menu.items[i].style.display = 'none';
                if(Menu.items[i].className == 'active'){
                    Menu.items[i].style.height = 'auto';
                    Menu.items[i].style.display = 'block';
                    Menu.items[i].showed = true;
                    if(Menu.items[i].parent !== false){
                        Menu.items[Menu.items[i].parent].style.height = 'auto';
                        Menu.items[Menu.items[i].parent].style.display = 'block';
                        Menu.items[Menu.items[i].parent].showed = true;
                        }
                    Menu.lastelement = i;
                    }
                }
            }
        },
    slide: function(e){

        if(Menu.work){
		alert("1");
            return false;
            }
        Menu.work = true;
        element = e.target || e.srcElement;
        element = element.parentNode.getElementsByTagName('ul')[0].n;//alert('предыдущий пункт '+Menu.lastelement+':'+(Menu.lastelement==null?'null':Menu.items[Menu.lastelement].parent)+"\nтекущий пункт "+element+':'+Menu.items[element].parent);
       
        var level = Menu.items[element].parent;
		var el = element;
	
		$.ajax({ url: '/menu.php',type:'POST',data :'level='+level+'&element='+el});
		
   	    Menu.items[element].timer = setInterval('Menu.slider(element)', Menu.timer);
        },
    slider: function(element){
        showed = Menu.items[element].showed;
        Menu.items[element].style.display='block';
        maxheight = Menu.items[element].maxheight;
        currheight = Menu.items[element].offsetHeight;
        if(!showed) dist = (maxheight-currheight)/Menu.speed;
        else dist = (maxheight-(maxheight-currheight))/Menu.speed;
        dist = Math.round(dist);
        if(dist <= 1) dist = 1;
        if(!showed) Menu.items[element].style.height = currheight + dist + 'px';
        else Menu.items[element].style.height = currheight - dist + 'px';
        Menu.items[element].style.opacity = currheight / maxheight;
        Menu.items[element].style.filter = 'alpha(opacity=' + (currheight * 100 / maxheight) + ')';
        if(!showed && currheight >= maxheight){
            clearInterval(Menu.items[element].timer);
            Menu.items[element].showed = true;
            Menu.items[element].style.height = 'auto';
            //если открывается сосед - скрыть надоедливого соседа, но соседи по соц.статусу разные (!) - либо родители, либо дети
            if(Menu.lastelement !== element && Menu.lastelement !== null && Menu.items[Menu.lastelement].parent===Menu.items[element].parent){
                Menu.items[Menu.lastelement].timer = setInterval('Menu.slider('+Menu.lastelement+')', Menu.timer);
                }
            else if(Menu.lastelement !== element && Menu.lastelement !== null && Menu.items[Menu.lastelement].parent!==false){
                Menu.items[Menu.items[Menu.lastelement].parent].timer = setInterval('Menu.slider('+Menu.items[Menu.lastelement].parent+')', Menu.timer);
                Menu.items[Menu.lastelement].style.display = 'none';
                Menu.items[Menu.lastelement].style.height = '0px';
                Menu.items[Menu.lastelement].showed = false;
                }
            Menu.lastelement = element
            Menu.work = false;
            }
        else if(showed && currheight <= 1){
            clearInterval(Menu.items[element].timer);
            Menu.items[element].showed = false;
            //если сам себя закрыл - то либо теперь родители открылись, если имеются, - либо NNNUUUUUULLLLL
            if(Menu.lastelement === element){
                if(Menu.items[Menu.lastelement].parent!==false) Menu.lastelement = Menu.items[Menu.lastelement].parent;
                else Menu.lastelement = null;
                }
            else if(Menu.items[Menu.lastelement].parent === element){
                Menu.items[Menu.lastelement].style.display = 'none';
                Menu.items[Menu.lastelement].style.height = '0px';
                Menu.items[Menu.lastelement].showed = false;
                Menu.lastelement = null;
                }
            Menu.work = false;
            }
        }
    }
