Ext.onReady(function(){
	var menu = Ext.get('main-menu-ul'),
	as=menu.select("A");
	list = {},
	cdiv = null,
	dh = Ext.DomHelper,
	isLeave = true,
	getCDiv = function(){
		if(cdiv == null){
			cdiv = dh.insertAfter(menu, { cls: 'main-subMenu'},true);
			cdiv.setVisibilityMode(Ext.Element.VISIBILITY);
			
			var y = menu.getY() + menu.getHeight();
			var x = menu.getX();
			
			cdiv.setLocation(x,y);
			cdiv.setWidth(menu.getWidth());
			cdiv.on("mouseenter",function(){
				isLeave = false;
			});
		}
		return cdiv;
	},
	reset  = function(){
		Ext.each(els,function(a){
			var li = a.parent('li');
			li.removeClass("active");
		});
	},
	mLeave = function(){
		if(isLeave){
			reset();
			getCDiv().hide();
		}
	},
	els = [];
	Ext.each(as.elements,function(it){
		var a = Ext.get(it);
		els.push(a);
		a.on('mouseenter',function(ev){
			ev.stopEvent();
			
			reset();
			var li = a.parent('li');
			var dbid = li.getAttribute("dbid");
			li.addClass("active");
			if(list["data"+dbid]){
				if(list["data"+dbid] == 'null'){
					getCDiv().hide();
				}else{
					dh.overwrite(getCDiv(), list["data"+dbid]);
					getCDiv().show(true);
					
				}
			}else {
				dh.overwrite(getCDiv(), { cls: 'main-subMenu-load-label',html : 'Load ...'});
				
				Ext.Ajax.request({
					url: '/index/submenu',
					success: function(response, opts) {
						list["data"+dbid] =response.responseText;
						if(list["data"+dbid] == 'null'){
							getCDiv().hide();
						}else{
							dh.overwrite(getCDiv(), list["data"+dbid]);
							getCDiv().show(true);
						}
					},
					failure: function(response, opts) {
						getCDiv().update('server-side failure with status code ' + response.status);
					},
					params: { dbid: dbid }
				});
			}
			
		});
	});
	Ext.get('main-menu-ul-cons').on("mouseleave",function(){
		isLeave = true;
		mLeave.defer(250);
	});
});
