Ext.ns('menu');
menu.base = Ext.extend(Object, {
	ulEl:null,
    constructor: function(condiv) {
	
		if(Ext.isEmpty(condiv)){
			alert('not found ulEl');
			return;
		}
		var el= Ext.get(condiv);
		var ul = this.ulEl=el.child('ul');
		Ext.each(ul.select('li').elements,function(li){			
    		this.initLi(Ext.get(li));
    	},this);
    },
    initLi:function(li){
    	var ul=li.child('ul');    	
    	if(ul) {
    		li.addClass('isSub');
    		ul.hide();
    	}
    	li.on('mouseenter',function(){    		
    		li.addClass('over');
    		if(ul) {
    			this.show(li,ul);
        	}
    	},this);
    	li.on('mouseleave',function(e,t){
    		li.removeClass('over');    		
    		if(ul) {
        		ul.hide();
        	}
    	});
    },
    show:function(li,ul){
    	ul.show();
    }
    
});
menu.Vertical = Ext.extend(menu.base, {
	localX : 0,
	localY : 0,
	subMenuW : 0,
	constructor: function(condiv,config) {
		config  = config || {};
		this.localX = config.localX || 50;
		this.localY = config.localY || 5;
		this.subMenuW = config.subMenuW || 120;
		menu.Vertical.superclass.constructor.apply(this, arguments);
	},
	show : function(li,ul){
		var x = li.getX();
		var y = li.getY();
		ul.setX(x+this.localX);
		ul.setY(y+this.localY);
		ul.setWidth(this.subMenuW);
		ul.show();
	}
});
