var menu = new function() {
    this.last_parent_id = null;
    this.temp_child_od = null;
    this.last_child_id = null;
    this.temp_tier    = null;
    this.last_tier    = null;
    this.active_tier  = null
    this.timeout   = null;
    this.timeout2  = null;
    this.exception = null;

    
    /* 1st level start*/
    this.show_halfmenu = function(obj, id) {
        if(navigator.userAgent.indexOf('MSIE 6.0') != -1) {
            try {
                $('localitati').style.visibility = 'hidden';
            } catch(e) {
            }
        }
        try {
            this.sustain();
            this.hide('submenu_'+this.last_parent_id);
            links = $('parent_menu').select('a.haschild');
            for(i = 0; i < links.length; i++) {
                rel = links[i].rel;
                try {
                    $('submenu_'+rel).style.visibility = 'hidden';
                } catch(e) {
                }
            }
        } catch(e) {
        };
        this.last_parent_id = id;
        submenu = 'submenu_'+id;
        xPos = obj.offsetLeft;
        yPos = obj.offsetTop;
        width = obj.offsetWidth;
        $('decorator').style.width = width + 'px';
        $('decorator').style.left  = xPos + 'px';
        $('decorator').style.visibility = 'visible';
        this.displayHalfMenu(submenu, xPos, yPos)
    }
    
    this.highlight = function(obj) {
        obj.style.textDecoration = 'underline';
    }
    
    this.nohighlight = function(obj) {
        obj.style.textDecoration = 'none';
    }
    
    this.hideallmenus = function() {
        for(i = 0; i < 7; i++) {
            this.hide_all(i);
        }
        menu2.hide();
    }
    
    this.getKeyCode = function(e, obj, id) {
        var keynum;
        var keychar;
        keynum = (e.which) ? e.which : e.keyCode;
        switch(keynum) {
            case 13 : this.show_halfmenu(obj, id); break;
            case 39 : {
                next_id = parseInt(obj.rel) + 1;
                try {
                    this.hide_halfmenu(id);
                    $('parent_'+next_id).focus();
                } catch(e) {
                }
            }; break;
            case 37 : {
                next_id = parseInt(obj.rel) - 1;
                try {
                    this.hide_halfmenu(id);
                    $('parent_'+next_id).focus();
                } catch(e) {
                }
            }; break;
            case 27 : this.hide_halfmenu(id); break;
        };
        
        return false;
    }
    
    this.getsecKeyCode = function(e, obj, id, tier, parent_id) {
        var keynum;
        var keychar;
        keynum = (e.which) ? e.which : e.keyCode;
        switch(keynum) {
            case 39 : this.show_submenu(obj, id, tier); break;
            case 27 : this.hide_halfmenu(parent_id); break;
            case 37 : this.hide_last(tier); break;
        };
        
        return false;
    }
    
    this.hide_halfmenu = function(id) {
        submenu = 'submenu_'+id;
        this.timeout = setTimeout('menu.hide_all(\''+id+'\')', 300);
        
    }
    
    
    this.displayHalfMenu = function(id, x, y) {
        $(id).style.left = x + 'px';
        $(id).style.top  = y - 8 + 'px';
        $(id).style.visibility = 'visible';
    }
    
    this.hide_all = function(id) {
        if(navigator.userAgent.indexOf('MSIE 6.0') != -1) {
            try {
                $('localitati').style.visibility = 'visible';
            } catch(e) {
            }
        }
        $('decorator').style.visibility = 'hidden';
        try {            
            $('submenu_'+id).style.visibility = 'hidden';
        } catch(e) {
        }
        links = $('parent_menu').select('a.haschild');
        for(i = 0; i < links.length; i++) {
            rel = links[i].rel;
            try {
                $('submenu_'+rel).style.visibility = 'hidden';
            } catch(e) {
            }
        }
    }
    
    this.hide = function(id) {
        try {  
            $(id).style.visibility = 'hidden';
            this.last_child_id = this.temp_child_id;
        } catch(e) {
        }
    }
   
    this.sustain = function() {
        clearTimeout(this.timeout);
        this.timeout = null;
        clearTimeout(this.timeout2);
        this.timeout2 = null;   
    }
    
    this.show_submenu = function(obj, id, tier) {
        if(this.exception == 1 && tier == 2) {
            $('submenu_'+this.last_child_id).style.visibility = 'hidden';
            this.last_child_id = this.temp_child_id;
            this.exception = 0;
        }
        //alert(this.temp_tier+' '+this.last_tier);
        if(this.last_tier == null) {
            this.last_tier = tier;
        }
        try {
            if(this.temp_tier >= this.last_tier) {
                if(tier == this.last_tier) {
                    submenu = 'submenu_'+id;
                    //this.timeout2 = setTimeout('menu.hide('+submenu+')', 10);
                    $('submenu_'+this.last_child_id).style.visibility = 'hidden';
                    this.last_child_id = this.temp_child_id;
                }
            }
        } catch(e) {
        };
        this.temp_child_id = this.last_child_id;
        this.last_child_id = id;            
        this.temp_tier = this.last_tier;
        this.last_tier = tier;
        yPos = obj.offsetTop;
        xPos = obj.offsetLeft + obj.offsetWidth;
        parent_width = obj.offsetWidth;
        $('submenu_'+id).style.left = xPos - (parent_width / 2) + 50 + 'px';
        $('submenu_'+id).style.top = yPos  - 34 + 'px';
        $('submenu_'+id).style.visibility = 'visible';
    }
    
    this.hide_submenu = function(id) {
        submenu = 'submenu_'+id;
        this.timeout2 = setTimeout('menu.hide(\''+submenu+'\')', 300);
    }
    
    this.hide_last = function(tier, halt) {
        if(halt == 1) {
            this.last_tier++;
            this.exception = 1;
            return;
        }
        if(this.last_tier == null) {
            this.last_tier = tier;
        }
        try {   
            if(tier == this.last_tier) {
                $('submenu_'+this.last_child_id).style.visibility = 'hidden';
                this.last_child_id = this.temp_child_id;
            }
        } catch(e) {
        };
    }
};

var menu2 = new function() {
    this.timeout = null;
    
    this.show_menu = function(obj) {
        clearTimeout(this.timeout);
        this.timeout = null;
        submenu = $('submenu_140');
        xPos = obj.offsetLeft;
        yPos = obj.offsetTop;
        submenu.style.left = xPos + 'px';
        submenu.style.top = yPos - 15 + 'px';
        submenu.style.visibility = 'visible';
        return false;
    }
    
    this.sustain = function() {
        clearTimeout(this.timeout);
        this.timeout = null;
    }
    
    this.hide_menu = function() {
        this.timeout = setTimeout('menu2.hide()', 200);
    }
    
    this.hide = function() {
        $('submenu_140').style.visibility = 'hidden';
    }
}