        function DDMenuShow(TDCell){
                clearTimeout(TDCell.ddMenuTimer);
                if(TDCell.className.indexOf('menu_hover')==-1)
                        TDCell.className+=' menu_hover';
                var ULs=TDCell.getElementsByTagName('UL');
                if(ULs[0])
                        ULs[0].style.display='block';
        }
        function DDMenuHide(TDCell){
                if(TDCell.className.indexOf(' menu_hover')>-1)
                        TDCell.className=TDCell.className.replace(' menu_hover', '');
                else if(TDCell.className.indexOf('menu_hover')>-1)
                        TDCell.className=TDCell.className.replace('menu_hover', '');
                var ULs=TDCell.getElementsByTagName('UL');
                if(ULs[0])
                        ULs[0].style.display='none';
                clearTimeout(TDCell.ddMenuTimer);
        }
        function DDMenuMouseOver(evt){
                var obj=evt.srcElement?evt.srcElement:evt.target; 
                while(obj){
                        if(obj.tagName=='TD'){ 
                                DDMenuShow(obj);
                                break;
                        }
                        obj=obj.parentNode;
                }
        }
        function DDMenuMouseOut(evt){
                var obj=evt.srcElement?evt.srcElement:evt.target;
                while(obj){
                        if(obj.tagName=='TD'){
                                obj.ddMenuTimer=setTimeout('DDMenuHide(document.getElementById("'+obj.id+'"))', 150);
                                break;
                        }
                        obj=obj.parentNode;
                }
        }
        function initDDMenu(){
                var topmenu=document.getElementById('topmenu');
                for(var i=0; i<topmenu.rows[0].cells.length; ++i){ 
                        var ULs=topmenu.rows[0].cells[i].getElementsByTagName('UL');
                        if(ULs.length>0){
                                if(topmenu.rows[0].cells[i].attachEvent){ 
                                        topmenu.rows[0].cells[i].attachEvent('onmouseover', DDMenuMouseOver);
                                        topmenu.rows[0].cells[i].attachEvent('onmouseout', DDMenuMouseOut);
                                }else if(topmenu.rows[0].cells[i].addEventListener){ 
                                        topmenu.rows[0].cells[i].addEventListener('mouseover', DDMenuMouseOver, false);
                                        topmenu.rows[0].cells[i].addEventListener('mouseout', DDMenuMouseOut, false);
                                }
                        }
                        for(var j=0; j<ULs.length; ++j){
                                if(ULs[j].className.indexOf('ddmenupanel')>-1){
                                        if(ULs[j].attachEvent){
                                                ULs[j].attachEvent('onmouseover', DDMenuMouseOver);
                                        }else if(ULs[j].addEventListener){
                                                ULs[j].addEventListener('mouseover', DDMenuMouseOver, false);
                                        }
                                }
                        }
                }
        }
