Ext.namespace("Ext.JC");
Ext.JC.CustomizedDateField=function(a){Ext.JC.CustomizedDateField.superclass.constructor.call(this,a)
};
Ext.extend(Ext.JC.CustomizedDateField,Ext.form.DateField,{shadow:true,initComponent:function(){Ext.form.DateField.superclass.initComponent.call(this);
if(typeof this.minValue=="string"){this.minValue=this.parseDate(this.minValue)
}if(typeof this.maxValue=="string"){this.maxValue=this.parseDate(this.maxValue)
}this.ddMatch=null;
this.initDisabledDays();
this.addEvents("dateSelect");
this.addEvents("windowResize")
},menuListeners:{select:function(a,b){this.setValue(b);
this.fireEvent("dateSelect",this.el)
},show:function(){this.onFocus()
},hide:function(){this.focus.defer(10,this);
var a=this.menuListeners;
this.menu.un("select",a.select,this);
this.menu.un("show",a.show,this);
this.menu.un("hide",a.hide,this)
}},isMenuShown:function(){var a=false;
if(this.menu&&this.menu.isVisible()){a=true
}return a
},onTriggerClick:function(){if(this.disabled){return
}if(this.menu==null){this.menu=new Ext.menu.DateMenu()
}Ext.apply(this.menu.picker,{minDate:this.minValue,maxDate:this.maxValue,disabledDatesRE:this.ddMatch,disabledDatesText:this.disabledDatesText,disabledDays:this.disabledDays,disabledDaysText:this.disabledDaysText,format:this.format,showToday:this.showToday,minText:String.format(this.minText,this.formatDate(this.minValue)),maxText:String.format(this.maxText,this.formatDate(this.maxValue))});
this.menu.on(Ext.apply({},this.menuListeners,{scope:this}));
Ext.apply(this.menu,{shadow:this.shadow});
this.menu.picker.setValue(this.getValue()||new Date());
this.menu.show(this.el,"tl-bl?");
if(this.trigger.hasClass("disablePreviousDays")){var d=this.minDate?this.minDate:new Date();
var b=d.getDate();
var c=d.getMonth();
var e=d.getFullYear();
var a=this.menu.picker;
Ext.apply(this.menu,{shadow:false,showShadow:false});
var f=this.menu.ul;
this.menu.picker.minDate=d;
if(a.activeDate.getMonth()==c&&a.activeDate.getFullYear()==e){f.select("td.x-date-prevday").each(function(g){g.addClass("x-date-disabled")
});
f.select("td.x-date-active").each(function(g){if(Number(g.select("span").first().dom.innerHTML)<b){g.addClass("x-date-disabled")
}});
if(this.minDate>new Date()){f.select("td.x-date-today").each(function(g){g.addClass("x-date-disabled");
g.removeClass("x-date-today")
})
}}this.menu.picker.setValue(this.minDate)
}this.fireEvent("triggerclick",this.menu)
},initTrigger:function(){this.trigger.on("click",this.onTriggerClick,this,{preventDefault:true});
if(!this.trigger.hasClass("x-form-trigger-over")){this.trigger.addClassOnOver("x-form-trigger-over")
}this.trigger.addClassOnClick("x-form-trigger-click")
}});
Ext.JC.CustomizedComboBox=function(a){Ext.JC.CustomizedDateField.superclass.constructor.call(this,a)
};
Ext.extend(Ext.JC.CustomizedComboBox,Ext.form.ComboBox,{initTrigger:function(){this.trigger.on("click",this.onTriggerClick,this,{preventDefault:true});
if(!this.trigger.hasClass("no-hover")){this.trigger.addClassOnOver("x-form-trigger-over");
this.trigger.addClassOnClick("x-form-trigger-click")
}},initComponent:function(){Ext.form.ComboBox.superclass.initComponent.call(this);
this.addEvents("expand","collapse","beforeselect","select","beforequery","windowResize");
if(this.transform){this.allowDomMove=false;
var c=Ext.getDom(this.transform);
if(!this.hiddenName){this.hiddenName=c.name
}if(!this.store){this.mode="local";
var h=[],e=c.options;
for(var b=0,a=e.length;
b<a;
b++){var g=e[b];
var f=(Ext.isIE?g.getAttributeNode("value").specified:g.hasAttribute("value"))?g.value:g.text;
if(g.selected){this.value=f
}h.push([f,g.text,g.className])
}this.store=new Ext.data.SimpleStore({sortInfo:{field:"jcheckClass",direction:"DESC"},id:0,fields:["value","text","jcheckClass"],data:h});
this.valueField="value";
this.displayField="text";
this.jcheckClass="jcheckClass"
}c.name=Ext.id();
if(!this.lazyRender){this.target=true;
this.el=Ext.DomHelper.insertBefore(c,this.autoCreate||this.defaultAutoCreate);
Ext.removeNode(c);
this.render(this.el.parentNode)
}else{Ext.removeNode(c)
}}else{if(Ext.isArray(this.store)){if(Ext.isArray(this.store[0])){this.store=new Ext.data.SimpleStore({fields:["value","text"],data:this.store});
this.valueField="value"
}else{this.store=new Ext.data.SimpleStore({fields:["text"],data:this.store,expandData:true});
this.valueField="text"
}this.displayField="text";
this.mode="local"
}}this.selectedIndex=-1;
if(this.mode=="local"){if(this.initialConfig.queryDelay===undefined){this.queryDelay=10
}if(this.initialConfig.minChars===undefined){this.minChars=0
}}},initList:function(){if(!this.list){var a="x-combo-list";
this.list=new Ext.Layer({shadow:this.shadow,cls:[a,this.listClass].join(" "),constrain:false});
var b=this.listWidth||Math.max(this.wrap.getWidth(),this.minListWidth);
this.list.setWidth(b);
this.list.swallowEvent("mousewheel");
this.assetHeight=0;
if(this.title){this.header=this.list.createChild({cls:a+"-hd",html:this.title});
this.assetHeight+=this.header.getHeight()
}this.innerList=this.list.createChild({cls:a+"-inner"});
this.innerList.on("mouseover",this.onViewOver,this);
this.innerList.on("mousemove",this.onViewMove,this);
this.innerList.setWidth(b-this.list.getFrameWidth("lr"));
if(this.pageSize){this.footer=this.list.createChild({cls:a+"-ft"});
this.pageTb=new Ext.PagingToolbar({store:this.store,pageSize:this.pageSize,renderTo:this.footer});
this.assetHeight+=this.footer.getHeight()
}if(!this.tpl){this.tpl='<tpl for="."><div class="{'+this.jcheckClass+"} "+a+'-item">{'+this.displayField+"}</div></tpl>"
}this.view=new Ext.DataView({applyTo:this.innerList,tpl:this.tpl,singleSelect:true,selectedClass:this.selectedClass,itemSelector:this.itemSelector||"."+a+"-item"});
this.view.on("click",this.onViewClick,this);
this.bindStore(this.store,true);
if(this.resizable){this.resizer=new Ext.Resizable(this.list,{pinned:true,handles:"se"});
this.resizer.on("resize",function(e,c,d){this.maxHeight=d-this.handleHeight-this.list.getFrameWidth("tb")-this.assetHeight;
this.listWidth=c;
this.innerList.setWidth(c-this.list.getFrameWidth("lr"));
this.restrictHeight()
},this);
this[this.pageSize?"footer":"innerList"].setStyle("margin-bottom",this.handleHeight+"px")
}}}});
Ext.override(Ext.dd.PanelProxy,{show:function(){if(!this.ghost){this.ghost=this.panel.createGhost(undefined,undefined,Ext.getBody());
this.ghost.setXY(this.panel.el.getXY());
if(this.insertProxy){if(!Ext.isIE){this.proxy=this.panel.el.insertSibling({cls:"x-panel-dd-spacer",html:"<div class='in-spacer 'id='in-spacer1'></div>"})
}else{this.proxy=this.panel.el.insertSibling({cls:"x-panel-dd-spacer"})
}this.proxy.setSize(this.panel.getSize())
}this.panel.el.dom.style.display="none"
}}});
Ext.override(Ext.Panel,{createGhost:function(a,b,e){var c=document.createElement("div");
c.className="x-panel-ghost "+(a?a:"");
if(this.header){c.appendChild(this.el.dom.firstChild.cloneNode(true))
}Ext.fly(c.appendChild(document.createElement("ul"))).setHeight(this.bwrap.getHeight());
c.style.width=this.el.dom.offsetWidth+"px";
c.style.height=this.el.dom.offsetHeight+"px";
if(!e){this.container.dom.appendChild(c)
}else{Ext.getDom(e).appendChild(c)
}if(b!==false&&this.el.useShim!==false){var d=new Ext.Layer({shadow:false,useDisplay:true,constrain:false},c);
d.show();
return d
}else{return new Ext.Element(c)
}}});
