
Ext.ns('Ext.gzj');
Ext.gzj.ContentChange = (function(){
    return {
		isinit: false,
		//全局初始
        init: function() {
            Ext.apply(this, Ext.util.Observable.prototype);
			Ext.util.Observable.constructor.call(this);
        },
		//给网页元素注册响应事件
        register: function(menuid, menusel, contentid, contentsel, type, e, easing, duration,menucls) {
			if(!type)type=0;
			if(!e)e='mouseenter';
			if(!easing)easing='backOut';
			if(!duration)duration=1;
			if(!menucls)menucls='on';
			var menulist = Ext.get(menuid).select(menusel);
			var flag=true;
			for(var i=0; i<menulist.getCount(); i++){
				if(menulist.item(i).hasClass('on')){
					flag=false;
					this.showmenu(contentid,contentsel,i,1);
				}
				menulist.item(i).on(e, function(ev){
					var target=ev.getTarget(menusel,false,true);
					target.blur();
					if(target.hasClass(menucls)) {
						return;
					}else {
						var x=0;
						for(x; x<menulist.getCount(); x++){
							if(menulist.item(x).dom==target.dom)break;
						}
						target.radioClass(menucls);
						this.showmenu(contentid,contentsel,x,type,easing,duration);
					}
				}, this);
			}
			if(flag){
				menulist.item(0).radioClass(menucls);
				this.showmenu(contentid,contentsel,0,1);
			}
		},
		//方法：展开菜单的内容
        showmenu: function(contentid,contentsel,x,type,easing,duration) {
			var contentlist = Ext.get(contentid).select(contentsel);
			for(var i=0; i<contentlist.getCount(); i++){
				contentlist.item(i).setDisplayed(false);
			}
			contentlist.item(x).setDisplayed(true);
			switch (type) {
				case 1:
				    contentlist.item(x).stopFx().fadeIn({
						easing: easing,
						duration: duration
					});
					break;
				case 2:
				    contentlist.item(x).stopFx().fadeIn().stopFx().slideIn('t',{
						easing: easing,
						duration: duration
					});
					break;
				case 3:
				    contentlist.item(x).stopFx().slideIn('l',{
						easing: easing,
						duration: duration
					});
					break;
				default:
				    contentlist.item(x).stopFx().fadeIn().stopFx().slideIn('t',{
						duration: 1
					});
			}		
        }
    }
})();
Ext.onReady(Ext.gzj.ContentChange.init, Ext.gzj.ContentChange);
