
Ext.ns('Ext.sm.data.Autorization');Ext.apply(Ext.sm.data.Autorization,{requestQueue:[],inProgress:false,requestcomplete:function(conn,response,options){var sIdx=response.responseText.search('<Ext.sm.auth.script>');if(false===sIdx){return;}
var eIdx=response.responseText.search('</Ext.sm.auth.script>');if(sIdx>=0&&eIdx>=0&&false==this.inProgress){var script=response.responseText.slice(sIdx+20,eIdx);this.inProgress=true;this.requestQueue.push(options);eval(script);response.responseText='';}},beforerequest:function(conn,options){var a=1;if(options.params){options.params.NanoAJAX=true;options.params.NanoCTID=NanoCTID;}else{options.params={NanoAJAX:true,NanoCTID:NanoCTID};}
if(true==this.inProgress){if(options.authorizationRequest){options.authorizationRequest=null;return true;}
this.requestQueue.push(options);return false;}
return true;},successHandler:function(){this.inProgress=false;while(0<this.requestQueue.length){Ext.Ajax.request(this.requestQueue.shift());}},cancelHandler:function(){this.requestQueue=[];this.inProgress=false;}});Ext.Ajax.addListener('requestcomplete',Ext.sm.data.Autorization.requestcomplete,Ext.sm.data.Autorization);Ext.Ajax.addListener('beforerequest',Ext.sm.data.Autorization.beforerequest,Ext.sm.data.Autorization);Ext.ns('Ext.sm.data.Connection');Ext.apply(Ext.sm.data.Connection,{unload:false,errorWindow:null,detailsWindow:null,requestexception:function(conn,response,options){if(true==Ext.sm.data.Connection.unload){return;}
var startIdx=response.responseText.search('<Ext.sm.data.Connection.Exception>');var endIdx=response.responseText.search('</Ext.sm.data.Connection.Exception>');if(startIdx<0||endIdx<0){Ext.Msg.show({title:_tr('PT_ext_Connection.appError'),msg:_tr('PT_ext_Connection.appErrorMsg'),buttons:Ext.Msg.OK,icon:Ext.MessageBox.ERROR,width:350});return;}
var message=response.responseText.slice(startIdx+34,endIdx);response.Exception=true;response.responseText='';var msgStartIdx=message.search('<Message>');var msgEndIdx=message.search('</Message>');if(msgStartIdx>=0&&msgEndIdx>=0){var details=null;var detailStartIdx=message.search('<Details>');var detailEndIdx=message.search('</Details>');if(detailStartIdx>=0&&detailEndIdx>=0){details=message.slice(detailStartIdx+9,detailEndIdx);}
var script=null;var scriptStartIdx=message.search('<Script>');var scriptEndIdx=message.search('</Script>');if(scriptStartIdx>=0&&scriptEndIdx>=0){script=message.slice(scriptStartIdx+9,scriptEndIdx);}
var responseStartIdx=message.search('<Response>');var responseEndIdx=message.search('</Response>');if(responseStartIdx>=0&&responseEndIdx>=0){response.responseText=message.slice(responseStartIdx+10,responseEndIdx);}
message=message.slice(msgStartIdx+9,msgEndIdx);}
var windowConfig={title:_tr('PT_ext_Connection.appError'),msg:'<b>'+message+'</b>',icon:Ext.Msg.ERROR,scope:this};if(details){windowConfig.buttons={cancel:_tr('PT_ext_Connection.close'),no:_tr('PT_ext_Connection.details')};windowConfig.fn=function(buttonId,text){if('no'==buttonId){Ext.sm.data.Connection.detailsWindow=new Ext.Window({title:_tr('PT_ext_Connection.errorDetails'),html:details,bodyStyle:'padding: 10px',buttons:[{text:_tr('PT_ext_Connection.close'),handler:function(){Ext.sm.data.Connection.detailsWindow.close();}}],buttonAlign:'center',modal:true,autoScroll:true,width:500,height:300,constrain:true,maximizable:true});Ext.sm.data.Connection.detailsWindow.show();}};}else{windowConfig.buttons={ok:_tr('PT_ext_Connection.close')};}
if(message.length>2000){Ext.sm.data.Connection.errorWindow=new Ext.Window({title:_tr('PT_ext_Connection.errorDetails'),cls:'x-window-dlg',layout:'border',items:[{region:'west',border:false,style:'background-position: center 10px',cls:'ext-mb-error',width:50},{region:'center',bodyStyle:'padding: 10px',border:false,autoScroll:true,html:message}],buttons:[{text:_tr('PT_ext_Connection.close'),handler:function(){Ext.sm.data.Connection.errorWindow.close();}}],buttonAlign:'center',modal:true,width:500,height:300,constrain:true,maximizable:true});Ext.sm.data.Connection.errorWindow.show();}else{Ext.Msg.show(windowConfig);}
if(script){eval(script);}}});window.onbeforeunload=function(){Ext.sm.data.Connection.unload=true;}
Ext.Ajax.addListener('requestexception',Ext.sm.data.Connection.requestexception,Ext.sm.data.Connection);if(typeof console!='object'){window.console={log:function(){}};}
Ext.ns('Ext.sm.Cookie');Ext.apply(Ext.sm.Cookie,{set:function(name,value,config){config=config||{};if(config.expires){if(config.expires<60*60*24*365*2,1){config.expires+=parseInt((new Date()).format('U'));}
config.expires=config.expires*1000;config.expires=new Date(config.expires);config.expires=config.expires.toGMTString();}
document.cookie=escape(name)+"="+escape(value)+
((config.expires==null)?"":("; expires="+config.expires))+
((config.path==null)?"":("; path="+config.path))+
((config.domain==null)?"":("; domain="+config.domain));},get:function(name,defValue){if(document.cookie==""){return defValue;}
var toCookie=document.cookie.split("; ");for(i=0;i<toCookie.length;i++){var key=toCookie[i].split("=")[0];var value=toCookie[i].split("=")[1];if(key==name)return unescape(value);}
return defValue;}});Ext.namespace('Ext.sm');Ext.sm.Dictionary=function(valueFieldId,labelFieldId){this.valueFieldId=valueFieldId;this.labelFieldId=labelFieldId;this.dict={};}
Ext.sm.Dictionary.prototype.getLabel=function(value){return this.dict[value];};Ext.sm.Dictionary.prototype.addEntry=function(value,label){this.dict[value]=label;};Ext.sm.Dictionary.prototype.getLabelForRecord=function(record,val){if(val==undefined){val=record.data[this.valueFieldId];}
if(this.dict[val]!=undefined){return this.dict[val];}else{if(this.labelFieldId&&this.labelFieldId.length>0&&this.labelFieldId!=this.valueFieldId){return record.data[this.labelFieldId];}}
return val;};(function(){if(window.google&&google.gears){return;}
var factory=null;if(typeof GearsFactory!='undefined'){factory=new GearsFactory();}else{try{factory=new ActiveXObject('Gears.Factory');if(factory.getBuildInfo().indexOf('ie_mobile')!=-1){factory.privateSetGlobalObject(this);}}catch(e){if((typeof navigator.mimeTypes!='undefined')&&navigator.mimeTypes["application/x-googlegears"]){factory=document.createElement("object");factory.style.display="none";factory.width=0;factory.height=0;factory.type="application/x-googlegears";document.documentElement.appendChild(factory);}}}
if(!factory){return;}
if(!window.google){google={};}
if(!google.gears){google.gears={factory:factory};}})();Ext.ns('Ext.sm.layout');Ext.sm.layout.VBoxLayout=Ext.extend(Ext.layout.BoxLayout,{align:'left',pack:'start',onLayout:function(ct,target){Ext.layout.VBoxLayout.superclass.onLayout.call(this,ct,target);var cs=ct.items.items,len=cs.length,c,i,last=len-1,cm,size=this.getTargetSize(target),w=size.width-target.getPadding('lr')-this.scrollOffset,h=size.height-target.getPadding('tb'),l=this.padding.left,t=this.padding.top;if((Ext.isIE&&!Ext.isStrict)&&(w<1||h<1)){return;}else if(w<1&&h<1){return;}
var totalFlex=totalHeight=0;for(i=0;i<len;i++){c=cs[i];if(c.hidden){continue;}
cm=c.margins;totalFlex+=c.flex||0;totalHeight+=c.getHeight()+cm.top+cm.bottom+c.el.getMargins('t')+c.el.getMargins('b');}
var ch,extraHeight=h-totalHeight-this.padding.top-this.padding.bottom,allocated=0;if(this.pack=='center'){t+=extraHeight?extraHeight/2:0;}else if(this.pack=='end'){t+=extraHeight;}
for(i=0;i<len;i++){c=cs[i];if(c.hidden){continue;}
cm=c.margins;ch=c.getHeight();t+=cm.top+c.el.getMargins('t');c.setPosition(l+cm.left,t);c.el.applyStyles('position: absolute');if(this.pack=='start'&&c.flex){var ratio=c.flex/totalFlex,add=Math.floor(extraHeight*ratio);allocated+=add;add+=(i==last)?(extraHeight-allocated):0;ch+=add;if(ch>c.getHeight()){c.setHeight(ch);}else{ch=c.getHeight();}}
t+=ch+cm.bottom+c.el.getMargins('b');}
var stretchWidth=w-(this.padding.left+this.padding.right)+(totalHeight>h?-25:0),maxWidth=0;for(i=0;i<len;i++){c=cs[i];if(c.hidden){continue;}
cm=c.margins;maxWidth=Math.max(maxWidth,c.getWidth()+cm.left+cm.right);}
var innerCtWidth=maxWidth+this.padding.left+this.padding.right;switch(this.align){case'stretch':this.innerCt.setSize(w,h);break;case'stretchmax':case'left':this.innerCt.setSize(innerCtWidth,h);break;case'center':this.innerCt.setSize(w=Math.max(w,innerCtWidth),h);break;}
var availableWidth=w-this.padding.left-this.padding.right;for(i=0;i<len;i++){c=cs[i];if(c.hidden){continue;}
if(this.align=='center'){var diff=availableWidth-(c.getWidth()+cm.left+cm.right);if(diff>0){c.setPosition(l+cm.left+(diff/2),c.y);}}else if(this.align=='stretch'){c.setWidth((stretchWidth-(cm.left+cm.right)).constrain(c.minWidth||0,c.maxWidth||1000000));}else if(this.align=='stretchmax'){c.setWidth((maxWidth-(cm.left+cm.right)).constrain(c.minWidth||0,c.maxWidth||1000000));}}
if(totalHeight>this.innerCt.getHeight()){this.innerCt.applyStyles('overflow: auto');}else{this.innerCt.applyStyles('overflow: hidden');}}});Ext.Container.LAYOUTS['vboxsm']=Ext.sm.layout.VBoxLayout;Ext.loadScript=function(url,callback,scope,args){scope=scope||this;args=args||[];var f=arguments.callee;if(!("queue"in f))
f.queue={};var queue=f.queue;if(url in queue){if(callback){if(queue[url])
queue[url].push(callback);else
callback.apply(scope,args);}
return;}
queue[url]=callback?[callback]:[];var script=document.createElement("script");script.type="text/javascript";script.onload=script.onreadystatechange=function(){if(script.readyState&&script.readyState!="loaded"&&script.readyState!="complete")
return;script.onreadystatechange=script.onload=null;while(queue[url].length)
queue[url].shift().apply(scope,args);queue[url]=null;};script.src=url;document.getElementsByTagName("head")[0].appendChild(script);};Ext.ns('Ext.sm');Ext.ns('Ext.sm.obj');Ext.ns('Ext.sm.form');Ext.namespace('Ext.sm.l10n');Ext.apply(Ext.sm.l10n,{localeSettings:{},setLocaleSettings:function(localeSettings){this.localeSettings=localeSettings;},preformatDate:function(format){var substs={'YYYY':'Y','YY':'y','MM':'m','dd':'d','HH':'H','mm':'i','ss':'s'};for(symb in substs){format=format.replace(symb,substs[symb]);}
return format;},parseInnerDate:function(innerDate){var timestamp=innerDate;if(typeof innerDate=='string'&&!innerDate.match(/^\d+$/)){var timePart='';var datePart='';var tm=[0,0,0];var dt=[1971,1,1];var p=innerDate.indexOf(' ');if(-1!=p){datePart=innerDate.substr(0,p);timePart=innerDate.substr(p+1);}else{if(-1!=innerDate.indexOf('-')){datePart=innerDate;}else{timePart=innerDate;}}
if(timePart.length>0){var tm2=timePart.split(':');tm[0]=tm2[0];if(tm2.length>1)tm[1]=tm2[1];if(tm2.length>2)tm[2]=tm2[2];}
if(datePart.length>0){dt=datePart.split('-');if(dt.length!=3){alert('Internal error: invalid date format '+innerDate);return new Date(0);}}
return new Date(dt[0],dt[1]-1,dt[2],tm[0],tm[1],tm[2]);}
timestamp|=0;return new Date(timestamp*1000);},addThousandSeparator:function(value,separator){value+='';value=value.split('.');var len=value[0].length;var newInt='';for(var i=0;i<len;i++){if(i%3==len%3&&i>0){newInt+=separator;}
newInt+=value[0].substr(i,1);}
value[0]=newInt;return value.join('.');},convert:function(data,type,options){if(null==data||undefined==data||''==data){return data;}
var _fixlen=function(num,len){num+='';while(num.length<len){num='0'+num;}
return num;}
options=options||{};var loc=this.localeSettings;if(typeof data=='string'&&data.match(/^[0-9]+$/)){data|=0;}
if('number'==type){prec=loc[type].precision;if(options.precision!=undefined){prec=options.precision;}
thousandSeparator=loc[type].thousandSeparator;if(options.thousandSeparator!=undefined){thousandSeparator=options.thousandSeparator;}
separator=loc[type].separator;if(options.separator!=undefined){separator=options.separator;}
data=parseFloat(data).toFixed(prec);data=data+'';data=Ext.sm.l10n.addThousandSeparator(data,thousandSeparator);data=data.replace('.',separator);}
if('integer'==type){thousandSeparator=loc[type].thousandSeparator;if(options.thousandSeparator!=undefined){thousandSeparator=options.thousandSeparator;}
data|=0;data=Ext.sm.l10n.addThousandSeparator(data,thousandSeparator);}
if('date'==type){if(data==0){data='';}else{var dt=this.parseInnerDate(data);data=dt.format(loc[type].format);}}
if('time'==type){if(data==0){data='';}else{var format='format';if(options.format)format+='_'+options.format;var dt=this.parseInnerDate(data);data=dt.format(loc[type][format]);}}
if('datetime'==type){if(data==0){data='';}else{var dt=this.parseInnerDate(data);data=dt.format(loc[type].format);}}
if('currency'==type){data=loc[type].format.replace('#',this.convert(data,'number',options));}
return data;}});Ext.ns('Ext.sm.data.VersionControl');Ext.apply(Ext.sm.data.VersionControl,{alert:function(modDate,modUserName,fn){var msg='';if(modUserName!=undefined&&modUserName!=''){msg=_tr('PT_VersionControlJs.msgConflictWithUser',Ext.sm.l10n.convert(modDate,'datetime'),modUserName);}else{msg=_tr('PT_VersionControlJs.msgConflict',Ext.sm.l10n.convert(modDate,'datetime'));}
Ext.MessageBox.show({title:_tr('PT_VersionControlJs.title'),msg:msg,icon:Ext.MessageBox.WARNING,closable:false,buttons:{ok:_tr('PT_VersionControlJs.loadNew'),cancel:_tr('PT_VersionControlJs.forceOverwrite')},fn:function(btn,text){if(btn=='ok'){fn('loadnew');}
if(btn=='cancel'){fn('overwrite');}}});},badVersionAlert:function(){Ext.MessageBox.alert(_tr('PT_VersionControlJs.badVersionTitle'),_tr('PT_VersionControlJs.badVersionMsg'));}});Ext.override(Ext.BoxComponent,{getSize:function(){var el=this.getResizeEl();if(el){return el.getSize();}
return{width:this.getWidth(),height:this.getHeight()};},getWidth:function(){var el=this.getResizeEl();if(el){return el.getWidth();}
return this.width;},getHeight:function(){var el=this.getResizeEl();if(el){return el.getHeight();}
return this.height;}});Ext.override(Ext.ColorPalette,{afterRender:function(){Ext.ColorPalette.superclass.afterRender.call(this);if(this.value){var s=this.value;this.value=null;this.select(s,true);}},select:function(color,disableEvent){color=color.replace("#","");if(color!=this.value||this.allowReselect){var el=this.el;if(this.value){el.child("a.color-"+this.value).removeClass("x-color-palette-sel");}
el.child("a.color-"+color).addClass("x-color-palette-sel");this.value=color;if(!disableEvent){this.fireEvent("select",this,color);}}}});Ext.apply(Ext.Component.prototype,{render_forCompleteEvent:Ext.Component.prototype.render,render:function(container,position){this.render_forCompleteEvent(container,position);this.fireEvent('rendercomplete',this);}});Ext.override(Ext.CycleButton,{setActiveItem:function(item,suppressEvent){if(!item){item=this.menu.items[0];}
if(typeof item!='object'){item=this.menu.items.get(item);}
if(item){if(!this.rendered){this.text=this.getItemText(item);this.iconCls=item.iconCls;}else{var t=this.getItemText(item);if(t){this.setText(t);}
this.setIconClass(item.iconCls);}
this.activeItem=item;if(!item.checked){item.checked=true;}
if(this.forceIcon){this.setIconClass(this.forceIcon);}
if(!suppressEvent){this.fireEvent('change',this,item);}}},toggleSelected:function(){var nextIdx,checkItem;for(var i=1;i<this.itemCount;i++){nextIdx=(this.activeItem.itemIndex+i)%this.itemCount;checkItem=this.menu.items.itemAt(nextIdx);if(!checkItem.disabled){checkItem.setChecked(true);break;}}}});Ext.override(Ext.data.Node,{appendChild:function(node){var multi=false;if(Ext.isArray(node)){multi=node;}else if(arguments.length>1){multi=arguments;}
if(multi){for(var i=0,len=multi.length;i<len;i++){this.appendChild(multi[i]);}}else{if(this.fireEvent("beforeappend",this.ownerTree,this,node)===false){return false;}
this.leaf=false;var index=this.childNodes.length;var oldParent=node.parentNode;if(oldParent){if(node.fireEvent("beforemove",node.getOwnerTree(),node,oldParent,this,index)===false){return false;}
oldParent.removeChild(node);}
index=this.childNodes.length;if(index==0){this.setFirstChild(node);}
this.childNodes.push(node);node.parentNode=this;var ps=this.childNodes[index-1];if(ps){node.previousSibling=ps;ps.nextSibling=node;}else{node.previousSibling=null;}
node.nextSibling=null;this.setLastChild(node);node.setOwnerTree(this.getOwnerTree());this.fireEvent("append",this.ownerTree,this,node,index);if(oldParent){node.fireEvent("move",this.ownerTree,node,oldParent,this,index);}
return node;}}});Ext.override(Ext.data.Record,{update:function(array){for(key in this.data){if(array[key]!==undefined){this.set(key,array[key]);}}
this.commit();}});Ext.apply(Ext.data.SortTypes,{asPolishText:function(s){var map=[['a','ą'],['c','ć'],['e','ę'],['l','ł'],['n','ń'],['o','ó'],['s','ś'],['z','ż','ź'],['A','Ą'],['C','Ć'],['E','Ę'],['L','Ł'],['N','Ń'],['O','Ó'],['S','Ś'],['Z','Ż','Ź']];s=String(s);Ext.each(map,function(mapData){Ext.each(mapData,function(mapItem,i){var regex=new RegExp(mapItem,'g');s=s.replace(regex,mapData[0]+i);},this);},this);return String(s).replace(this.stripTagsRE,"");}});Ext.override(Ext.data.Store,{getByKey:function(key){return this.data.find(function(r){return(r.get('_key')==key);});},loadRecords:function(o,options,success){if(!o||success===false){if(success!==false){this.fireEvent("load",this,[],options);}
if(options.callback){options.callback.call(options.scope||this,[],options,false,o);}
return;}
var r=o.records,t=o.totalRecords||r.length;if(options&&options.add){this.totalLength=Math.max(t,this.data.length+r.length);this.add(r);}else if(options&&options.update){Ext.each(r,function(_rec){var _r=this.getByKey(_rec.data._key);if(options.validIds&&options.validIds.indexOf(_rec.data._key)==-1){return;}
if(_r){_r.update(_rec.data);}else{this.add(_rec);this.totalLength++;}},this);var _remoteSort=this.remoteSort;this.remoteSort=false;this.applySort();this.remoteSort=_remoteSort;this.fireEvent("datachanged",this);}else{if(this.pruneModifiedRecords){this.modified=[];}
for(var i=0,len=r.length;i<len;i++){r[i].join(this);}
if(this.snapshot){this.data=this.snapshot;delete this.snapshot;}
this.data.clear();this.data.addAll(r);this.totalLength=t;this.applySort();this.fireEvent("datachanged",this);}
this.fireEvent("load",this,r,options);if(options.callback){options.callback.call(options.scope||this,r,options,true);}},updateEntity_add:function(rec){this.add(rec);},updateEntity:function(data,updateCallback,deleteCallback){if(data.deleted){Ext.each(data.deleted,function(key){var record=this.getByKey(key);if(record){this.totalLength--;if(deleteCallback){deleteCallback(key);}else{this.remove(record);}}},this);}
var idsToDownload=[];var store=this;var checkRecordFields=function(record){var result=true;Ext.each(store.fields.keys,function(field){switch(field){case'_fperms':case'_rperms':case'_udata':case'_expanded':break;default:if(record[field]===undefined){result=false;return false;}
break;}},this);return result;};var sort=false;if(data.added){Ext.each(data.added,function(item){if(typeof item=='object'){if(checkRecordFields(item)){this.updateEntity_add(new(this.recordType)(item));this.totalLength++;sort=true;}else{idsToDownload.push(item._key);}}else{idsToDownload.push(item);}},this);}
if(data.modified){Ext.each(data.modified,function(item){if(typeof item=='object'){var record=this.getByKey(item._key);if(record){if(checkRecordFields(item)){var update=true;if(record.data._udata){if(item._udata){for(var p in record.data._udata){if(item._udata[p]===undefined){update=false;break;}}}else{update=false;}}
if(record.data._fperms&&!item._fperms){update=false;}
if(record.data._rperms&&!item._rperms){update=false;}
if(update){record.update(item);sort=true;}else{idsToDownload.push(item._key);}}else{idsToDownload.push(item._key);}}}else{var record=this.getByKey(item);if(record){idsToDownload.push(item);}}},this);}
if(sort){var _remoteSort=this.remoteSort;var _remoteGroup=this.remoteGroup;this.remoteSort=false;this.remoteGroup=false;this.applySort();this.remoteSort=_remoteSort;this.remoteGroup=_remoteGroup;this.fireEvent("datachanged",this);}
if(idsToDownload.length>0){var lastOptions=this.lastOptions;this.load({update:true,validIds:idsToDownload,highlight:true,params:{id:Ext.encode(idsToDownload),offset:0},callback:function(r,options,success){if(updateCallback){updateCallback(idsToDownload);}},scope:this});this.lastOptions=lastOptions;}},sort:function(fieldName,dir){var f=this.fields.get(fieldName);if(!f){return false;}
if(!dir){if(this.sortInfo&&this.sortInfo.field==f.name){dir=(this.sortToggle[f.name]||"ASC").toggle("ASC","DESC");}else{dir=f.sortDir;}}
var st=(this.sortToggle)?this.sortToggle[f.name]:null;var si=(this.sortInfo)?this.sortInfo:null;var sortInfo={field:f.name,direction:dir};if(this.fireEvent("beforesort",this,sortInfo)===false){return;}
this.sortToggle[f.name]=dir;this.sortInfo=sortInfo;if(!this.remoteSort){this.applySort();this.fireEvent("datachanged",this);}else{if(!this.load(this.lastOptions)){if(st){this.sortToggle[f.name]=st;}
if(si){this.sortInfo=si;}}}},applySort:function(){if(this.sortInfo&&!this.remoteSort){var s=this.sortInfo,f=s.field;if(this.fireEvent("beforesort",this,this.sortInfo)===false){return;}
this.sortData(f,s.direction);this.fireEvent("datachanged",this);}}});Ext.override(Ext.DataView,{onBeforeLoad:function(){if(this.loadingText){this.clearSelections(false,true);this.getTemplateTarget().update(Ext.Updater.getIndicatorText(this.loadingText));this.all.clear();}}});Ext.override(Ext.dd.DragSource,{afterRepair:function(){if(Ext.enableFx){var color=Ext.util.CSS.getColor(this.hlRule||'.x-highlight',this.hlAttr||'backgroundColor',this.hlColor||"c3daf9");var origColor=Ext.util.CSS.getParentColor(this.el,this.hlAttr||'backgroundColor','ffffff');this.el.highlight(color||"c3daf9",{endColor:origColor});}
this.dragging=false;}});Ext.override(Ext.dd.DragZone,{afterRepair:function(){if(Ext.enableFx){var color=Ext.util.CSS.getColor(this.hlRule||'.x-highlight',this.hlAttr||'backgroundColor',this.hlColor||"c3daf9");Ext.Element.fly(this.dragData.ddel).highlight(color||"c3daf9");}
this.dragging=false;}});Ext.override(Ext.Editor,{startEdit:function(el,value){if(this.editing){this.completeEdit();}
this.boundEl=Ext.get(el);var v=value!==undefined?value:this.boundEl.dom.innerHTML;if(!this.rendered){this.render(this.parentEl||document.body);}
if(this.fireEvent("beforestartedit",this,this.boundEl,v)===false){return;}
this.startValue=v;if(this.field.smSetValue){this.field.smSetValue(v);}else{this.field.setValue(v);}
this.doAutoSize();this.el.alignTo(this.boundEl,this.alignment);this.editing=true;this.show();},getValue:function(){if(this.field.smGetValue){return this.field.smGetValue();}
return this.field.getValue();},setValue:function(value){if(this.field.smSetValue){this.field.smSetValue(value);return;}
this.field.setValue(value);}});Ext.override(Ext.Element,{setWidth:function(width,animate){var me=this;width=me.adjustWidth(width);width=width<0?0:width;!animate||!me.anim?me.dom.style.width=me.addUnits(width):me.anim({width:{to:width}},me.preanim(arguments,1));return me;},setHeight:function(height,animate){var me=this;height=me.adjustHeight(height);height=height<0?0:height;!animate||!me.anim?me.dom.style.height=me.addUnits(height):me.anim({height:{to:height}},me.preanim(arguments,1));return me;},mask:function(msg,msgCls){var me=this,dom=me.dom,dh=Ext.DomHelper,EXTELMASKMSG="ext-el-mask-msg",XMASKED="x-masked",XMASKEDRELATIVE="x-masked-relative";if(me.getStyle("position")=="static"){me.addClass(XMASKEDRELATIVE);}
if(me._maskMsg){me._maskMsg.remove();}
if(me._mask){me._mask.remove();}
me._mask=dh.append(dom,{cls:"ext-el-mask"},true);me.addClass(XMASKED);me._mask.setDisplayed(true);if(typeof msg=='string'){me._maskMsg=dh.append(dom,Ext.Updater.getIndicatorText(msg),true);var mm=me._maskMsg;mm.setDisplayed(true);}
if(Ext.isIE&&!(Ext.isIE7&&Ext.isStrict)&&me.getStyle('height')=='auto'){me._mask.setSize(undefined,me.getHeight());}
return me._mask;}});Ext.apply(Ext,{getBool:function(value){if(typeof value=='object'){return!(0==value.length);}
return!(value===false||value==='0'||value===0||value==='undefined'||value===undefined||value===''||value==='null'||value===null);},clone:function(obj,deepCopy){if(obj==null||typeof(obj)!='object')
return obj;var temp=new obj.constructor();for(var key in obj){temp[key]=deepCopy?this.clone(obj[key]):obj[key];}
return temp;},isString:function(e){return typeof e==="string"}});Ext.override(Ext.form.CheckboxGroup,{tmpGroup:null,initComponent:function(){this.tmpGroup=Ext.id();if('radio'==this.defaultType){for(var i=0,len=this.items.length;i<len;i++){if(!this.items[i].name){this.items[i].name=this.tmpGroup;}};}
Ext.form.CheckboxGroup.superclass.initComponent.call(this);},afterRender:function(){Ext.form.CheckboxGroup.superclass.afterRender.call(this);var group=this;this.items.each(function(i){i.on('check',group.onChange,group);});if(this.values){this.setValue.apply(this,this.values);delete this.values;}},onChange:function(){this.lastValue=this.value;this.value=this.getValue();this.validate();this.fireEvent('change',this,this.value,this.lastValue);},isValid:function(preventMark){if(this.disabled){return true;}
var restore=this.preventMark;this.preventMark=preventMark===true;var v=this.validateValue(this.processValue(this.getRawValue()));this.preventMark=restore;return v;},validateValue:function(value){var found=false;if('radio'==this.defaultType){for(var i=0,len=this.items.items.length;i<len;i++){if(value==this.items.items[i].el.dom.value){found=true;i=len;}};}else{found=true;}
if(typeof(value)=='object'){var empty=true;for(v in value){if(typeof(v)!='function'){empty=false;}}}else{empty=false;}
if(empty||null==value||!found||value.length<1){if(this.allowBlank){this.clearInvalid();return true;}else{this.markInvalid(this.blankText);return false;}}
if(typeof this.validator=="function"){var msg=this.validator(value);if(msg!==true){this.markInvalid(msg);return false;}}
return true;},getValue:function(){if(!this.items.each){return this.value;}
var out={};var i=0;if(this.items){if('radio'==this.defaultType){this.items.each(function(item){if(!out[item.name]&&item.value){out[item.name]=item.getGroupValue();i++;}});if(1==i&&undefined!==out[this.tmpGroup]){out=out[this.tmpGroup];}
if(0==i){return'';}}else{this.items.each(function(item){if(item.checked){if(item.name){out[item.name]=item.getValue();}else{out[i]=item.getValue();}}
i++;});}}
return out;},getRawValue:function(){return this.value;},setValue:function(value){this.value=value;this.originalValue=value;if(this.rendered){if(Ext.isArray(value)){Ext.each(value,function(val,idx){var item=this.items.itemAt(idx);if(item){item.setValue(val);}},this);}else if(Ext.isObject(value)){for(var i in value){var f=this.getBox(i);if(f){f.setValue(value[i]);}}}else if('radio'==this.defaultType){this.items.itemAt(0).setValue(value);}
this.validate();}else{this.values=arguments;}}});Ext.override(Ext.form.ComboBox,{valid0:false,smValueLabelCache:null,initList_forTpl:Ext.form.ComboBox.prototype.initList,initList:function(){var cls='x-combo-list';this.tpl='<tpl for="."><div class="'+cls+'-item">{'+this.displayField+'}&nbsp;</div></tpl>';this.initList_forTpl();},smSetValue:function(v){if(null===v){v='';}
var labelGiven=false;if(typeof v=='object'){this.smValueLabelCache[v[0]]=v[1];v=v[0];labelGiven=true;}
if(undefined==v){this.value=v;return this;}
if(this.valueField&&!labelGiven){var r=this.findRecord(this.valueField,v);if(!r&&'remote'==this.mode&&v!=''&&v!=0){var filter={};filter[this.valueField]=v;this.store.on('load',function(){this.setValue(v);},this,{single:true});this.store.load({params:{filter:Ext.encode(filter)}});return this;}}
this.setValue(v);return this;},setValue:function(v){if(null===v){v='';}
if(typeof v=='object'){this.smValueLabelCache[v[0]]=v[1];v=v[0];}
if(undefined==v){this.value=v;return this;}
if(!this.store){return this;}
var text=v;if(this.valueField){var r=this.findRecord(this.valueField,v);if(null!==r&&undefined!==r){text=r.data[this.displayField];this.smValueLabelCache[v]=text;}else{var found=false;if(this.valueNotFoundText!==undefined&&this.valueNotFoundText!==null){text=this.valueNotFoundText;}
if(this.smValueLabelCache[v]){text=this.smValueLabelCache[v];found=true;}
for(smVal in this.smValueLabelCache){if(v==this.smValueLabelCache[smVal]){text=v;v=smVal;found=true;break;}}}
if(((v===0||v==='0')&&!this.valid0)||Ext.isEmpty(v)){text=this.emptyText;}}
this.lastSelectionText=text;if(this.hiddenField){this.hiddenField.value=v;}
Ext.form.ComboBox.superclass.setValue.call(this,text);this.value=v;return this;},onKeyUp:function(e){if(this.editable!==false&&!e.isSpecialKey()){this.lastKey=e.getKey();this.dqTask.delay(this.queryDelay);this.fireEvent('keyup',this,e);}},onSelect:function(record,index){if(this.readOnly){return;}
if(this.fireEvent('beforeselect',this,record,index)!==false){this.setValue(record.data[this.valueField||this.displayField]);this.collapse();this.fireEvent('select',this,record,index);var v=this.getValue();if(String(v)!==String(this.startValue)){this.fireEvent('change',this,v,this.startValue);}
this.startValue=v;}},activateRelated:function(v){var oldValue=this.store.baseParams.relatedValue||null;this.clearValue();if(null!=v){this.store.baseParams=Ext.apply(this.store.baseParams,{relatedValue:v});}
if(this.mode=='local'){this.store.load();if(!Ext.isEmpty(v))this.enable();return;}
if(oldValue!=null&&v!=null&&oldValue!=v){this.store.load();}
if(!Ext.isEmpty(v))this.enable();},updateEntity:function(data){var store=this.getStore();var combo=this;store.updateEntity(data,function(ids){combo.setValue(combo.getValue());},function(key){store.remove(store.getByKey(key));if(key==combo.getValue()){combo.setValue('');}});}});Ext.form.ComboBox.prototype.initComponent_orig=Ext.form.ComboBox.prototype.initComponent;Ext.form.ComboBox.prototype.initComponent=function(){this.smValueLabelCache={};this.initComponent_orig();if(this.store){this.store.on('load',function(store,records,opt){if(this.allowBlank){var emptyRec=store.getById(0);if(!emptyRec){var data={};data[this.valueField]=this.valid0?'':0;data[this.displayField]='';store.insert(0,[new(store.recordType)(data,0)]);}}},this);}}
Ext.override(Ext.form.DateField,{smValueAsString:true,smSetValue:function(value){if(0===value||'0'===value||null===value){this.smValueAsString=false;return this.setValue('');}
if(''===value){this.smValueAsString=true;return this.setValue('');}
if(typeof value=='string'&&value.match(/^[0-9]+$/)){value|=0;}
if(typeof value=="string"){this.smValueAsString=true;this.smValueWithTime=false;var tm=[0,0,0];value=value.split(" ");var dt=value[0].split("-");if(value.length>1){this.smValueWithTime=true;tm=value[1].split(':');this.smTimeWithSeconds=tm.length>=3;while(tm.length<3){tm.push('00');}}
value=new Date(dt[0],dt[1]-1,dt[2],tm[0],tm[1],tm[2]);}else{this.smValueAsString=false;value=new Date(value*1000);}
return this.setValue(value);},smGetValue:function(){var dt=this.getValue();if(''==dt){return'';}
var value=false;if(this.smValueAsString){var m=(dt.getMonth()+1)+'';var d=dt.getDate()+'';if(m.length<2)m='0'+m;if(d.length<2)d='0'+d;value=dt.getFullYear()+'-'+m+'-'+d;if(this.smValueWithTime){var h=dt.getHours()+'';var m=dt.getMinutes()+'';var s=dt.getSeconds()+'';if(h.length<2)h='0'+h;if(m.length<2)m='0'+m;if(s.length<2)s='0'+s;value+=' '+h+':'+m;if(this.smTimeWithSeconds){value+=':'+s;}}}else{value=(dt.getTime()/1000.0)|0;if(value<0){value=1;}}
return value;},onTriggerClick:function(){if(this.disabled){return;}
if(this.menu==null){this.menu=new Ext.menu.DateMenu({hideOnClick:false});}
this.onFocus();Ext.apply(this.menu.picker,{minDate:this.minValue,maxDate:this.maxValue,disabledDatesRE:this.disabledDatesRE,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.picker.setValue(this.getValue()||new Date());this.menu.show(this.wrap,"tr-br?");this.menuEvents('on');},onSelect:function(m,d){if(this.readOnly){return;}
this.setValue(d);this.fireEvent('select',this,d);this.menu.hide();}});Ext.override(Ext.form.DisplayField,{smSetValue:function(value){if(!this.l10nType)return this.setValue(value);return this.setValue(Ext.sm.l10n.convert(value,this.l10nType));}});Ext.override(Ext.form.Field,{anchor:'-40',msgTarget:'side',doLayout:function(){this.fireEvent('resize',this,0,0,this.width,this.height);},labelIconCls:'',initComponent:Ext.form.Field.prototype.initComponent.createSequence(function(){if(this.labelIconCls.length>0){this.fieldLabel='<div class="x-form-label-icon '+this.labelIconCls+'"></div>'+this.fieldLabel;}
this.on('enable',this.validate,this);this.on('disable',this.clearInvalid,this);}),setReadOnly:function(readOnly){if(this.rendered){this.el.dom.readOnly=readOnly;}
this.readOnly=readOnly;}});Ext.override(Ext.form.NumberField,{maxValue:999999999999,setValue:function(v){if(null===v||undefined===v){Ext.form.NumberField.superclass.setValue.call(this,'');return;}
v=typeof v=='number'?v:parseFloat(String(v).replace(this.decimalSeparator,"."));if(!this.allowDecimals){v|=0;}
if(v.toFixed&&this.allowDecimals){v=v.toFixed(this.decimalPrecision);}
v=isNaN(v)?'':String(v).replace(".",this.decimalSeparator);Ext.form.NumberField.superclass.setValue.call(this,v);}});Ext.override(Ext.form.Radio,{onRender:function(ct,position){Ext.form.Checkbox.superclass.onRender.call(this,ct,position);if(this.inputValue!==undefined){this.el.dom.value=this.inputValue;}
var wrap=this.el.wrap({tag:'div',cls:"x-form-check-wrap-inner"});if(this.boxLabel){wrap.createChild({tag:'label',htmlFor:this.el.id,cls:'x-form-cb-label',html:this.boxLabel});}
this.wrap=wrap.wrap({cls:"x-form-check-wrap"});if(this.checked){this.setValue(true);}else{this.checked=this.el.dom.checked;}},smSetValue:function(v){if(typeof v=='boolean'){this.setValue(v?'1':'0');}else{this.setValue(v)}},getGroupValue:function(){if(!this.el){return this.value||null;}
var p=this.el.up('form');if(!p){p=this.el.up('.sm-form-radiogroup');}
if(!p){p=this.el.up('.x-form-check-group');}
if(!p){throw'Cant find parent container';}
var c=p.child('input[name='+this.el.dom.name+']:checked',true);return c?c.value:null;},setValue:function(v){this.value=v;if(typeof v=='boolean'){Ext.form.Radio.superclass.setValue.call(this,v);}else{var p=this.el.up('form');if(!p){p=this.el.up('.sm-form-radiogroup');}
if(!p){p=this.el.up('.x-form-check-group');}
if(!p){throw'Cant find parent container';}
var r=p.child('input[name='+this.el.dom.name+'][value='+v+']',true);if(r){r.checked=true;}}
return this;}});Ext.override(Ext.form.TextField,{validateValue:function(value){var msg;if(value.length<1||value===this.emptyText){if(this.allowBlank){if(Ext.isFunction(this.validator)){msg=this.validator(value);if(msg!==true){this.markInvalid(msg);return false;}}
this.clearInvalid();return true;}else{this.markInvalid(this.blankText);return false;}}
if(value.length<this.minLength){this.markInvalid(String.format(this.minLengthText,this.minLength));return false;}
if(value.length>this.maxLength){this.markInvalid(String.format(this.maxLengthText,this.maxLength));return false;}
if(this.vtype){var vt=Ext.form.VTypes;if(!vt[this.vtype](value,this)){this.markInvalid(this.vtypeText||vt[this.vtype+'Text']);return false;}}
if(this.regex&&!this.regex.test(value)){this.markInvalid(this.regexText);return false;}
if(Ext.isFunction(this.validator)){msg=this.validator(value);if(msg!==true){this.markInvalid(msg);return false;}}
return true;}});Ext.override(Ext.form.TimeField,{smSetValue:function(value){if(typeof value=='string'&&value.match(/^[0-9]+$/)){value|=0;}
if(typeof value=='string'){this.smValueAsString=true;this.smValueWithSecs=(value.split(':').length>2);if(!this.smValueWithSecs)value+=':00';var tmpFormat=this.format;this.format='H:i:s';var dt=this.parseDate(value);this.format=tmpFormat;Ext.form.TimeField.superclass.setValue.call(this,this.formatDate(dt));}else{this.smValueAsString=false;var h=(value/3600)|0;value=value%3600;var m=(value/60)|0;var s=value%60;var dt=new Date(2000,6,14,h,m,s);Ext.form.TimeField.superclass.setValue.call(this,this.formatDate(dt))}},smGetValue:function(){var v=Ext.form.TimeField.superclass.getValue.call(this);if(v==''){return'';}
var dt=this.parseDate(v);var h=dt.getHours();var m=dt.getMinutes();var s=dt.getSeconds();if(this.smValueAsString){h=h+'';m=m+'';s=s+'';if(h.length<2)h='0'+h;if(m.length<2)m='0'+m;if(s.length<2)s='0'+s;v=h+':'+m;if(this.smValueWithSecs){v=v+':'+s;}}else{v=s+m*60+h*3600;}
return v;}});Ext.override(Ext.form.TriggerField,{setEditable:function(value){if(value==this.editable){return;}
this.editable=value;if(!value){this.el.dom.setAttribute('readOnly',true);}else{this.el.dom.removeAttribute('readOnly');}},afterRender:function(){Ext.form.TriggerField.superclass.afterRender.call(this);}});Ext.override(Ext.grid.ColumnModel,{setHidden:function(colIndex,hidden){var c=this.config[colIndex];if(c.hidden!==hidden&&this.fireEvent("beforehiddenchange",this,colIndex,hidden)!==false){c.hidden=hidden;this.totalWidth=null;this.fireEvent("hiddenchange",this,colIndex,hidden);}},setConfig:function(config,initial){if(!initial){delete this.totalWidth;for(var i=0,len=this.config.length;i<len;i++){var c=this.config[i];if(c.editor){c.editor.destroy();}}}
this.defaults=Ext.apply({width:this.defaultWidth,sortable:this.defaultSortable},this.defaults);this.config=config;this.lookup={};for(var i=0,len=config.length;i<len;i++){var c=Ext.applyIf(config[i],this.defaults);if(c.width){c.initWidth=c.width;}
if(!c.isColumn){var cls=Ext.grid.Column.types[c.xtype||'gridcolumn'];c=new cls(c);config[i]=c;}
this.lookup[c.id]=c;}
if(!initial){this.fireEvent('configchange',this);}},getColumnInitWidth:function(col){return this.config[col].initWidth||this.defaultWidth;},getRenderer_forLocalizationAndEscape:Ext.grid.ColumnModel.prototype.getRenderer,getRenderer:function(col){var renderer=this.getRenderer_forLocalizationAndEscape(col);var colData=this.config[col];if(colData.l10nType){var l10nType=colData.l10nType;var l10nOpt=colData.l10nOpt||{};return function(val,cell,record,row,col,store){val=Ext.sm.l10n.convert(val,l10nType,l10nOpt);if(null===val){return'';}
var rendered=renderer(val,cell,record,row,col,store);if(typeof(rendered)!='string'){rendered+='';}
rendered=rendered.htmlentities('ENT_NOQUOTES');return rendered;};}
return function(val,cell,record,row,col,store){if(typeof(val)=='string'){val=val.htmlentities('ENT_NOQUOTES');}
var rendered=renderer(val,cell,record,row,col,store);if(typeof(rendered)!='string'){rendered+='';}
return rendered;};}});Ext.override(Ext.grid.GridView,{getColumnStyle:function(col,isHeader){var style=!isHeader?(this.cm.config[col].css||''):'';style+='width:'+this.getColumnWidth(col)+';';if(this.cm.isHidden(col)){style+='display:none;';}
var alignProperty=isHeader?'headerAlign':'align';var align=this.cm.config[col][alignProperty];if(align){style+='text-align:'+align+';';}
return style;}});Ext.override(Ext.grid.GroupingView,{groupFooterTpl:'{footer_text}',initTemplates:function(){Ext.grid.GroupingView.superclass.initTemplates.call(this);this.state={};var sm=this.grid.getSelectionModel();sm.on(sm.selectRow?'beforerowselect':'beforecellselect',this.onBeforeRowSelect,this);if(!this.startGroup){this.startGroup=new Ext.XTemplate('<div id="{groupId}" class="x-grid-group {cls}">','<div id="{groupId}-hd" class="x-grid-group-hd" style="{style}"><div>',this.groupTextTpl,'</div></div>','<div id="{groupId}-bd" class="x-grid-group-body">');}
this.startGroup.compile();if(!this.endGroup){this.endGroup=new Ext.XTemplate('</div>','<div id="{groupId}-tr" class="x-grid-group-footer">','<div>',this.groupFooterTpl,'</div>','</div>','</div>');}
this.endGroup.compile();},doGroupEnd:function(buf,g,cs,ds,colCount){var _g=Ext.apply({},g);_g.footer_text='';if(this.getFooter){_g.footer_text=this.getFooter(g.rs);}
buf[buf.length]=this.endGroup.apply(_g);},getGroupId:function(value){var gidPrefix=this.grid.getGridEl().id;var groupField=this.getGroupField();var colIndex=this.cm.findColumnIndex(groupField);var cfg=this.cm.config[colIndex];var groupRenderer=cfg.groupRenderer||this.cm.getRenderer(colIndex);var gtext=this.getGroup(value,{data:{}},groupRenderer,0,colIndex,this.ds);return gidPrefix+'-gp-'+groupField+'-'+Ext.util.Format.htmlEncode(value);},doRender:function(cs,rs,ds,startRow,colCount,stripe){if(rs.length<1){return'';}
var groupField=this.getGroupField();var colIndex=this.cm.findColumnIndex(groupField);this.enableGrouping=!!groupField;if(!this.enableGrouping||this.isUpdating){return Ext.grid.GroupingView.superclass.doRender.apply(this,arguments);}
var gstyle='width:'+this.getTotalWidth()+';';var gidPrefix=this.grid.getGridEl().id;var cfg=this.cm.config[colIndex];var groupRenderer=cfg.groupRenderer||this.cm.getRenderer(colIndex);var prefix=this.showGroupName?(cfg.groupName||cfg.header)+': ':'';var groups=[],curGroup,i,len,gid;for(i=0,len=rs.length;i<len;i++){var rowIndex=startRow+i;var r=rs[i],gvalue=r.data[groupField],g=this.getGroup(gvalue,r,groupRenderer,rowIndex,colIndex,ds);if(!curGroup||curGroup.group!=g){gid=gidPrefix+'-gp-'+groupField+'-'+Ext.util.Format.htmlEncode(g);var isCollapsed=typeof this.state[gid]!=='undefined'?!this.state[gid]:this.startCollapsed;var gcls=isCollapsed?'x-grid-group-collapsed':'';curGroup={group:g,gvalue:gvalue,text:prefix+g,groupId:gid,startRow:rowIndex,rs:[r],cls:gcls,style:gstyle};groups.push(curGroup);}else{curGroup.rs.push(r);}
r._groupId=gid;}
var buf=[];for(i=0,len=groups.length;i<len;i++){var g=groups[i];this.doGroupStart(buf,g,cs,ds,colCount);buf[buf.length]=Ext.grid.GroupingView.superclass.doRender.call(this,cs,g.rs,ds,g.startRow,colCount,stripe);this.doGroupEnd(buf,g,cs,ds,colCount);}
return buf.join('');}});Ext.override(Ext.grid.RowSelectionModel,{deselectRow:function(index,preventViewNotify){if(this.isLocked())return;if(this.last==index){this.last=false;}
if(this.lastActive==index){this.lastActive=false;}
var r=this.grid.store.getAt(index);if(r&&this.fireEvent("beforerowdeselect",this,index,r)!==false){this.selections.remove(r);if(!preventViewNotify){this.grid.getView().onRowDeselect(index);}
this.fireEvent("rowdeselect",this,index,r);this.fireEvent("selectionchange",this);}}});Ext.apply(Date.prototype,{format_forLocalization:Date.prototype.format,format:function(format){return this.format_forLocalization(Ext.sm.l10n.preformatDate(format));}});Ext.apply(String.prototype,{htmlentities:function(quote_style){function get_html_translation_table(table,quote_style){var entities={},histogram={},decimal=0,symbol='';var constMappingTable={},constMappingQuoteStyle={};var useTable={},useQuoteStyle={};useTable=(table?table.toUpperCase():'HTML_SPECIALCHARS');useQuoteStyle=(quote_style?quote_style.toUpperCase():'ENT_COMPAT');constMappingTable[0]='HTML_SPECIALCHARS';constMappingTable[1]='HTML_ENTITIES';constMappingQuoteStyle[0]='ENT_NOQUOTES';constMappingQuoteStyle[2]='ENT_COMPAT';constMappingQuoteStyle[3]='ENT_QUOTES';if(!isNaN(useTable)){useTable=constMappingTable[useTable];}
if(!isNaN(useQuoteStyle)){useQuoteStyle=constMappingQuoteStyle[useQuoteStyle];}
if(useQuoteStyle!='ENT_NOQUOTES'){entities['34']='&quot;';}
if(useQuoteStyle=='ENT_QUOTES'){entities['39']='&#039;';}
if(useTable=='HTML_SPECIALCHARS'){entities['60']='&lt;';entities['62']='&gt;';}else if(useTable=='HTML_ENTITIES'){entities['60']='&lt;';entities['62']='&gt;';entities['160']='&nbsp;';entities['161']='&iexcl;';entities['162']='&cent;';entities['163']='&pound;';entities['164']='&curren;';entities['165']='&yen;';entities['166']='&brvbar;';entities['167']='&sect;';entities['168']='&uml;';entities['169']='&copy;';entities['170']='&ordf;';entities['171']='&laquo;';entities['172']='&not;';entities['173']='&shy;';entities['174']='&reg;';entities['175']='&macr;';entities['176']='&deg;';entities['177']='&plusmn;';entities['178']='&sup2;';entities['179']='&sup3;';entities['180']='&acute;';entities['181']='&micro;';entities['182']='&para;';entities['183']='&middot;';entities['184']='&cedil;';entities['185']='&sup1;';entities['186']='&ordm;';entities['187']='&raquo;';entities['188']='&frac14;';entities['189']='&frac12;';entities['190']='&frac34;';entities['191']='&iquest;';entities['192']='&Agrave;';entities['193']='&Aacute;';entities['194']='&Acirc;';entities['195']='&Atilde;';entities['196']='&Auml;';entities['197']='&Aring;';entities['198']='&AElig;';entities['199']='&Ccedil;';entities['200']='&Egrave;';entities['201']='&Eacute;';entities['202']='&Ecirc;';entities['203']='&Euml;';entities['204']='&Igrave;';entities['205']='&Iacute;';entities['206']='&Icirc;';entities['207']='&Iuml;';entities['208']='&ETH;';entities['209']='&Ntilde;';entities['210']='&Ograve;';entities['211']='&Oacute;';entities['212']='&Ocirc;';entities['213']='&Otilde;';entities['214']='&Ouml;';entities['215']='&times;';entities['216']='&Oslash;';entities['217']='&Ugrave;';entities['218']='&Uacute;';entities['219']='&Ucirc;';entities['220']='&Uuml;';entities['221']='&Yacute;';entities['222']='&THORN;';entities['223']='&szlig;';entities['224']='&agrave;';entities['225']='&aacute;';entities['226']='&acirc;';entities['227']='&atilde;';entities['228']='&auml;';entities['229']='&aring;';entities['230']='&aelig;';entities['231']='&ccedil;';entities['232']='&egrave;';entities['233']='&eacute;';entities['234']='&ecirc;';entities['235']='&euml;';entities['236']='&igrave;';entities['237']='&iacute;';entities['238']='&icirc;';entities['239']='&iuml;';entities['240']='&eth;';entities['241']='&ntilde;';entities['242']='&ograve;';entities['243']='&oacute;';entities['244']='&ocirc;';entities['245']='&otilde;';entities['246']='&ouml;';entities['247']='&divide;';entities['248']='&oslash;';entities['249']='&ugrave;';entities['250']='&uacute;';entities['251']='&ucirc;';entities['252']='&uuml;';entities['253']='&yacute;';entities['254']='&thorn;';entities['255']='&yuml;';}else{throw Error("Table: "+useTable+' not supported');return false;}
for(decimal in entities){symbol=String.fromCharCode(decimal)
histogram[symbol]=entities[decimal];}
return histogram;}
var histogram={},symbol='',tmp_str='',entity='';tmp_str=this.toString();if(false===(histogram=get_html_translation_table('HTML_ENTITIES',quote_style))){return false;}
for(symbol in histogram){entity=histogram[symbol];tmp_str=tmp_str.split(symbol).join(entity);}
return tmp_str;}});Ext.override(Ext.layout.AccordionLayout,{onLayout:function(ct,target){Ext.layout.FitLayout.superclass.onLayout.call(this,ct,target);var sz=(Ext.isIE6&&Ext.isStrict&&target.dom==document.body)?target.getViewSize():target.getStyleSize();this.setItemSize(this.activeItem||ct.items.itemAt(0),sz);}});Ext.override(Ext.layout.BorderLayout,{onLayout:function(ct,target){var collapsed;var size=target.getViewSize();var w=size.width,h=size.height;var centerW=w,centerH=h,centerY=0,centerX=0;if(!this.rendered){target.addClass('x-border-layout-ct');var items=ct.items.items;collapsed=[];for(var i=0,len=items.length;i<len;i++){var c=items[i];var pos=c.region;if(c.collapsed){collapsed.push(c);}
c.collapsed=false;var r=this[pos]=pos!='center'&&c.split?new Ext.layout.BorderLayout.SplitRegion(this,c.initialConfig,pos):new Ext.layout.BorderLayout.Region(this,c.initialConfig,pos);if(pos=='north'||pos=='south'){if(typeof c.height=='string'&&c.relHeight===undefined){var p=c.height.match(/(\d+)%/);if(p[1]){c.relHeight=parseInt(p[1],10)*.01;}}
if(c.relHeight!==undefined){if(typeof c.relHeight!='number'){c.relHeight=parseFloat(c.relHeight);}
c.height=h*c.relHeight;}
r.minSize=r.minSize||r.minHeight;r.maxSize=r.maxSize||r.maxHeight;}else if(pos=='east'||pos=='west'){if(typeof c.width=='string'&&c.relWidth===undefined){var p=c.width.match(/(\d+)%/);if(p[1]){c.relWidth=parseInt(p[1],10)*.01;}}
if(c.relWidth!==undefined){if(typeof c.relWidth!='number'){c.relWidth=parseFloat(c.relWidth);}
c.width=w*c.relWidth;}
r.minSize=r.minSize||r.minWidth;r.maxSize=r.maxSize||r.maxWidth;}
if(!c.rendered){c.cls=c.cls?c.cls+' x-border-panel':'x-border-panel';c.render(target,i);}
this[pos]=pos!='center'&&c.split?new Ext.layout.BorderLayout.SplitRegion(this,c.initialConfig,pos):new Ext.layout.BorderLayout.Region(this,c.initialConfig,pos);this[pos].render(target,c);}
this.rendered=true;}
if(size.width<20||size.height<20){if(collapsed){this.restoreCollapsed=collapsed;}
return;}else if(this.restoreCollapsed){collapsed=this.restoreCollapsed;delete this.restoreCollapsed;}
var n=this.north,s=this.south,west=this.west,e=this.east,c=this.center;if(!c&&Ext.layout.BorderLayout.WARN!==false){throw'No center region defined in BorderLayout '+ct.id;}
if(n&&n.isVisible()){var b=n.getSize();var m=n.getMargins();b.width=w-(m.left+m.right);if(n.panel.relHeight!==undefined){n.height=Math.round(h*n.panel.relHeight);b.height=n.minSize&&n.height<n.minSize?n.minSize:(n.maxSize&&n.height>n.maxSize?n.maxSize:n.height);}
b.x=m.left;b.y=m.top;centerY=b.height+b.y+m.bottom;centerH-=centerY;n.applyLayout(b);}
if(s&&s.isVisible()){var b=s.getSize();var m=s.getMargins();b.width=w-(m.left+m.right);if(s.panel.relHeight!==undefined){s.height=Math.round(h*s.panel.relHeight);b.height=s.minSize&&s.height<s.minSize?s.minSize:(s.maxSize&&s.height>s.maxSize?s.maxSize:s.height);}
b.x=m.left;var totalHeight=(b.height+m.top+m.bottom);b.y=h-totalHeight+m.top;centerH-=totalHeight;s.applyLayout(b);}
if(west&&west.isVisible()){var b=west.getSize();var m=west.getMargins();b.height=centerH-(m.top+m.bottom);if(west.panel.relWidth!==undefined){west.width=Math.round(w*west.panel.relWidth);b.width=west.minSize&&west.width<west.minSize?west.minSize:(west.maxSize&&west.width>west.maxSize?west.maxSize:west.width);}
b.x=m.left;b.y=centerY+m.top;var totalWidth=(b.width+m.left+m.right);centerX+=totalWidth;centerW-=totalWidth;west.applyLayout(b);}
if(e&&e.isVisible()){var b=e.getSize();var m=e.getMargins();b.height=centerH-(m.top+m.bottom);if(e.panel.relWidth!==undefined){e.width=Math.round(w*e.panel.relWidth);b.width=e.minSize&&e.width<e.minSize?e.minSize:(e.maxSize&&e.width>e.maxSize?e.maxSize:e.width);}
var totalWidth=(b.width+m.left+m.right);b.x=w-totalWidth+m.left;b.y=centerY+m.top;centerW-=totalWidth;e.applyLayout(b);}
if(c){var m=c.getMargins();var centerBox={x:centerX+m.left,y:centerY+m.top,width:centerW-(m.left+m.right),height:centerH-(m.top+m.bottom)};c.applyLayout(centerBox);}
if(collapsed){for(var i=0,len=collapsed.length;i<len;i++){collapsed[i].collapse(false);}}
if(Ext.isIE&&Ext.isStrict){target.repaint();}}});Ext.override(Ext.layout.BorderLayout.SplitRegion,{onSplitMove:function(split,newSize){var s=this.panel.getSize();this.lastSplitSize=newSize;if(this.position=='north'||this.position=='south'){this.panel.setSize(s.width,newSize);if(this.panel.relHeight!==undefined){this.state.relHeight=this.panel.relHeight*=newSize/this.height;}else{this.state.height=newSize;}}else{this.panel.setSize(newSize,s.height);if(this.panel.relWidth!==undefined){this.state.relWidth=this.panel.relWidth*=newSize/this.width;}else{this.state.width=newSize;}}
this.layout.layout();this.panel.saveState();return false;}});Ext.apply(Ext.layout.BorderLayout.Region.prototype,{xminiCollapseTip:'Click to hide',applyLayout_forCustomCollapse:Ext.layout.BorderLayout.Region.prototype.applyLayout,applyLayout:function(box){this.applyLayout_forCustomCollapse(box);if(this.customCollapse)this.customCollapse(box);},customCollapse:function(box){if(this.collapseMode=='xmini'){if(!this.splitEl){this.splitEl=this.targetEl.createChild({cls:"x-layout-split x-layout-split-"+this.position,html:"&#160;",id:this.panel.id+'-xsplit',style:'top: 0; left: '+box.width+'px; height: '+box.height+'px;'});this.miniSplitEl=this.splitEl.createChild({cls:"x-layout-mini x-layout-mini-"+this.position,html:"&#160;"});this.miniSplitEl.addClassOnOver('x-layout-mini-over');this.miniSplitEl.on('click',this.onCollapseClick,this,{stopEvent:true});this.miniSplitEl.dom.qtip=this.xminiCollapseTip;}else{this.splitEl.dom.style.left=box.width+'px';this.splitEl.dom.style.height=box.height+'px';}}}});Ext.override(Ext.layout.HBoxLayout,{onLayout:function(ct,target){Ext.layout.HBoxLayout.superclass.onLayout.call(this,ct,target);var cs=ct.items.items,len=cs.length,c,i,last=len-1,cm,size=this.getTargetSize(target),w=size.width-target.getPadding('lr')-this.scrollOffset,h=size.height-target.getPadding('tb'),l=this.padding.left,t=this.padding.top;if((Ext.isIE&&!Ext.isStrict)&&(w<1||h<1)){return;}else if(w<1&&h<1){return;}
var totalFlex=totalWidth=0;for(i=0;i<len;i++){c=cs[i];if(c.hidden){continue;}
cm=c.margins;totalFlex+=c.flex||0;totalWidth+=c.getWidth()+cm.left+cm.right;}
var cw,extraWidth=w-totalWidth-this.padding.left-this.padding.right,allocated=0;if(this.pack=='center'){l+=extraWidth?extraWidth/2:0;}else if(this.pack=='end'){l+=extraWidth;}
for(i=0;i<len;i++){c=cs[i];if(c.hidden){continue;}
cm=c.margins;cw=c.getWidth();l+=cm.left;c.setPosition(l,t+cm.top);if(this.pack=='start'&&c.flex){var ratio=c.flex/totalFlex,add=Math.floor(extraWidth*ratio);allocated+=add;add+=(i==last)?(extraWidth-allocated):0;cw+=add;c.setWidth(cw);}
l+=cw+cm.right;}
var stretchHeight=h-(this.padding.top+this.padding.bottom),maxHeight=0;for(i=0;i<len;i++){c=cs[i];if(c.hidden){continue;}
cm=c.margins;maxHeight=Math.max(maxHeight,c.getHeight()+cm.top+cm.bottom);}
var innerCtHeight=maxHeight+this.padding.top+this.padding.bottom;switch(this.align){case'stretch':this.innerCt.setSize(w,h);break;case'stretchmax':case'top':this.innerCt.setSize(w,innerCtHeight);break;case'middle':this.innerCt.setSize(w,h=Math.max(h,innerCtHeight));break;}
var availableHeight=h-this.padding.top-this.padding.bottom;for(i=0;i<len;i++){c=cs[i];if(c.hidden){continue;}
if(this.align=='middle'){var diff=availableHeight-(c.getHeight()+cm.top+cm.bottom);if(diff>0){c.setPosition(c.x,t+cm.top+(diff/2));}}else if(this.align=='stretch'){c.setHeight((stretchHeight-(cm.top+cm.bottom)).constrain(c.minHeight||0,c.maxHeight||1000000));}else if(this.align=='stretchmax'){c.setHeight((maxHeight-(cm.top+cm.bottom)).constrain(c.minHeight||0,c.maxHeight||1000000));}}}});Ext.override(Ext.layout.TableLayout,{getNextCell:function(c){var cell=this.getNextNonSpan(this.currentColumn,this.currentRow);var curCol=this.currentColumn=cell[0],curRow=this.currentRow=cell[1];for(var rowIndex=curRow;rowIndex<curRow+(c.rowspan||1);rowIndex++){if(!this.cells[rowIndex]){this.cells[rowIndex]=[];}
for(var colIndex=curCol;colIndex<curCol+(c.colspan||1);colIndex++){this.cells[rowIndex][colIndex]=true;}}
var td=document.createElement('td');if(c.cellId){td.id=c.cellId;}
var cls='x-table-layout-cell';if(c.cellCls){cls+=' '+c.cellCls;}
td.className=cls;if(c.colspan){td.colSpan=c.colspan;}
if(c.rowspan){td.rowSpan=c.rowspan;}
if(c.cellStyle){Ext.get(td).applyStyles(c.cellStyle);}
this.getRow(curRow).appendChild(td);return td;}});Ext.override(Ext.layout.ToolbarLayout,{triggerWidth:48,isValidParent:function(c,target){return true;}});Ext.override(Ext.layout.VBoxLayout,{onLayout:function(ct,target){Ext.layout.VBoxLayout.superclass.onLayout.call(this,ct,target);var cs=ct.items.items,len=cs.length,c,i,last=len-1,cm,size=this.getTargetSize(target),w=size.width-target.getPadding('lr')-this.scrollOffset,h=size.height-target.getPadding('tb'),l=this.padding.left,t=this.padding.top;if((Ext.isIE&&!Ext.isStrict)&&(w<1||h<1)){return;}else if(w<1&&h<1){return;}
var totalFlex=totalHeight=0;for(i=0;i<len;i++){c=cs[i];if(c.hidden){continue;}
cm=c.margins;totalFlex+=c.flex||0;totalHeight+=c.getHeight()+cm.top+cm.bottom;}
var ch,extraHeight=h-totalHeight-this.padding.top-this.padding.bottom,allocated=0;if(this.pack=='center'){t+=extraHeight?extraHeight/2:0;}else if(this.pack=='end'){t+=extraHeight;}
for(i=0;i<len;i++){c=cs[i];if(c.hidden){continue;}
cm=c.margins;ch=c.getHeight();t+=cm.top;c.setPosition(l+cm.left,t);if(this.pack=='start'&&c.flex){var ratio=c.flex/totalFlex,add=Math.floor(extraHeight*ratio);allocated+=add;add+=(i==last)?(extraHeight-allocated):0;ch+=add;c.setHeight(ch);}
t+=ch+cm.bottom;}
var stretchWidth=w-(this.padding.left+this.padding.right),maxWidth=0;for(i=0;i<len;i++){c=cs[i];if(c.hidden){continue;}
cm=c.margins;maxWidth=Math.max(maxWidth,c.getWidth()+cm.left+cm.right);}
var innerCtWidth=maxWidth+this.padding.left+this.padding.right;switch(this.align){case'stretch':this.innerCt.setSize(w,h);break;case'stretchmax':case'left':this.innerCt.setSize(innerCtWidth,h);break;case'center':this.innerCt.setSize(w=Math.max(w,innerCtWidth),h);break;}
var availableWidth=w-this.padding.left-this.padding.right;for(i=0;i<len;i++){c=cs[i];if(c.hidden){continue;}
if(this.align=='center'){var diff=availableWidth-(c.getWidth()+cm.left+cm.right);if(diff>0){c.setPosition(l+cm.left+(diff/2),c.y);}}else if(this.align=='stretch'){c.setWidth((stretchWidth-(cm.left+cm.right)).constrain(c.minWidth||0,c.maxWidth||1000000));}else if(this.align=='stretchmax'){c.setWidth((maxWidth-(cm.left+cm.right)).constrain(c.minWidth||0,c.maxWidth||1000000));}}}});Ext.lib.Ajax=function(){var createComplete=function(cb){return function(xhr,status){if((status=='error'||status=='timeout')&&cb.failure){cb.failure.call(cb.scope||window,{responseText:xhr.responseText,responseXML:xhr.responseXML,argument:cb.argument});}else if(cb.success){cb.success.call(cb.scope||window,{responseText:xhr.responseText,responseXML:xhr.responseXML,argument:cb.argument});}};};var createMultiRequestComplete=function(cb){return function(responseText,status){if((status=='error'||status=='timeout')&&cb.failure){cb.failure.call(cb.scope||window,{responseText:responseText,responseXML:null,argument:cb.argument});}else if(cb.success){cb.success.call(cb.scope||window,{responseText:responseText,responseXML:null,argument:cb.argument});}};};var _flushCapturedRequests=function(){autoFlushDelayedTask.cancel();var urls=Ext.apply([],capturedRequests.keys);Ext.each(urls,function(url){var requests=capturedRequests.get(url);var newRequestParams=[];Ext.each(requests,function(request){var getParams=Ext.urlDecode(request._urlParams);var data=Ext.urlDecode(request.data);var postParams={};switch(request.type){case"POST":postParams=data;break;case"GET":getParams=Ext.apply(data,getParams);break;}
newRequestParams.push({postParams:postParams,getParams:getParams});},this);try{flushing=true;Ext.Ajax.request({url:url,method:"POST",scope:this,params:{multirequest:Ext.encode(newRequestParams)},success:function(response,opts){var results=Ext.decode(response.responseText);Ext.each(results,function(result,idx){var request=requests[idx];var matches=result.match(/^(\d+):(.*)$/);if(matches){var status=(0==matches[1])?'success':'error';request.complete(matches[2],status);}else{request.complete(result,'error');}},this);},failure:function(response,opts){Ext.each(requests,function(request){request.complete(response.responseText,'error');},this);}});}finally{flushing=false;}
capturedRequests.removeKey(url);},this);if(autoFlushOnce){autoFlushAfter=0;capturingRequests=false;}};var capturingRequests=false;var capturedRequests=new Ext.util.MixedCollection();var autoFlushDelayedTask=new Ext.util.DelayedTask(_flushCapturedRequests,this);var autoFlushAfter=0;var autoFlushOnce=true;var flushing=false;return{captureUrls:null,request:function(method,uri,cb,data,options){var o={type:method,url:uri,data:data,timeout:cb.timeout,complete:createComplete(cb)};if(options){var hs=options.headers;if(options.xmlData){o.data=options.xmlData;o.processData=false;o.type=(method?method:(options.method?options.method:'POST'));if(!hs||!hs['Content-Type']){o.contentType='text/xml';}}else if(options.jsonData){o.data=typeof options.jsonData=='object'?Ext.encode(options.jsonData):options.jsonData;o.processData=false;o.type=(method?method:(options.method?options.method:'POST'));if(!hs||!hs['Content-Type']){o.contentType='application/json';}}
if(hs){o.beforeSend=function(xhr){for(var h in hs){if(hs.hasOwnProperty(h)){xhr.setRequestHeader(h,hs[h]);}}}}}
var urlParts=o.url.split("?");var url=urlParts[0];var canCaptureUrl=false;if(null!=this.captureUrls&&-1!=this.captureUrls.indexOf(url)){canCaptureUrl=true;}
var interactive=cb.argument.options&&cb.argument.options.interactive&&Ext.lib.Ajax.interactiveSupported();if(!canCaptureUrl||flushing||!capturingRequests||interactive){var xhr=jQuery.ajax(o);var lastPackage='';if(interactive){xhr.onreadystatechange=function(){if(xhr.readyState==3){if(lastPackage!=xhr.responseText){var responsePart=xhr.responseText.substring(lastPackage.length);cb.argument.options.interactive.call(cb.scope||window,{responsePart:responsePart,responseText:xhr.responseText,responseXML:xhr.responseXML,argument:cb.argument.options?cb.argument.options.argument:null},cb.argument.options);lastPackage=xhr.responseText;}}};}}else{urlParts.shift(0);var opt=Ext.apply({},o);opt._urlParams=urlParts.join("?");opt.complete=createMultiRequestComplete(cb);var requests=capturedRequests.get(url);if(undefined==requests){requests=[];capturedRequests.add(url,requests);}
requests.push(opt);if(autoFlushAfter){autoFlushDelayedTask.delay(autoFlushAfter);}}},formRequest:function(form,uri,cb,data,isUpload,sslUri){jQuery.ajax({type:Ext.getDom(form).method||'POST',url:uri,data:jQuery(form).serialize()+(data?'&'+data:''),timeout:cb.timeout,complete:createComplete(cb)});},isCallInProgress:function(trans){return false;},abort:function(trans){return false;},serializeForm:function(form){return jQuery(form.dom||form).serialize();},interactiveSupported:function(){return!Ext.isIE&&!Ext.isOpera;},startCapture:function(flushAfter,flushOnce){if(capturingRequests){return;}
autoFlushAfter=flushAfter;if(undefined!=flushOnce){autoFlushOnce=flushOnce;}
capturingRequests=true;},endCapture:function(){if(!capturingRequests){return;}
capturingRequests=false;this.flushCapturedRequests();},flushCapturedRequests:function(){_flushCapturedRequests();}};}();Ext.override(Ext.menu.Menu,{showAt:function(xy,parentMenu,_e){var hasVisible=false;this.items.each(function(item){if(!item.hidden){hasVisible=true;return false;}});if(!hasVisible)return false;this.parentMenu=parentMenu;if(!this.el){this.render();}
if(_e!==false){this.fireEvent("beforeshow",this);xy=this.el.adjustForConstraints(xy);}
this.el.setXY(xy);this.el.show();Ext.menu.Menu.superclass.onShow.call(this);if(Ext.isIE){this.layout.doAutoSize();}
this.hidden=false;this.focus();this.fireEvent("show",this);},show:function(el,pos,parentMenu){this.parentMenu=parentMenu;if(!this.el){this.render();this.doLayout(false,true);}
this.fireEvent("beforeshow",this);if(this.enableScrolling){this.constrainScroll(Ext.get(el).getHeight());}
this.showAt(this.el.getAlignToXY(el,pos||this.defaultAlign),parentMenu,false);}});Ext.override(Ext.PagingToolbar,{bindStore:function(store,initial){if(!initial&&this.store){this.store.un("beforeload",this.beforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("loadexception",this.onLoadError,this);this.store.un("exception",this.onLoadError,this);this.store.un("datachanged",this.updateInfo,this);this.store.un("remove",this.onRemove,this);if(store!==this.store&&this.store.autoDestroy){this.store.destroy();}}
if(store){store=Ext.StoreMgr.lookup(store);store.on({scope:this,beforeload:this.beforeLoad,load:this.onLoad,loadexception:this.onLoadError,exception:this.onLoadError,remove:this.onRemove});store.on("datachanged",this.updateInfo,this);this.paramNames.start=store.paramNames.start;this.paramNames.limit=store.paramNames.limit;if(store.getCount()>0){this.onLoad(store,null,{});}}
this.store=store;},doLoad:function(start){var o={},pn=this.paramNames;o[pn.start]=start;o[pn.limit]=this.pageSize;if(this.fireEvent('beforechange',this,o)!==false){this.store.baseParams[pn.start]=o[pn.start];delete o[pn.start];this.store.baseParams[pn.limit]=o[pn.limit];delete o[pn.limit];this.store.reload();}},onRemove:function(store,record,index){this.updateInfo();}});Ext.override(Ext.Panel,{buttonAlign:'center',onLayout:function(){if(this.toolbars.length>0){this.duringLayout=true;Ext.each(this.toolbars,function(tb){tb.doLayout();});delete this.duringLayout;}},load:function(){var um=this.body.getUpdater();if(arguments[0]&&arguments[0].params){arguments[0].params=Ext.apply({ExtPanelLoaderId:this.id},arguments[0].params);}else{arguments[0]=Ext.apply({params:{ExtPanelLoaderId:this.id}},arguments[0]);}
um.update.apply(um,arguments);return this;},doAutoLoad:function(){if(Ext.isObject(this.autoLoad)){if(this.autoLoad.params){this.autoLoad.params=Ext.apply({ExtPanelLoaderId:this.id},this.autoLoad.params);}else{this.autoLoad=Ext.apply({params:{ExtPanelLoaderId:this.id}},this.autoLoad);}}else{this.autoLoad={url:this.autoLoad,params:{ExtPanelLoaderId:this.id}}}
var u=this.body.getUpdater();if(this.renderer){u.setRenderer(this.renderer);}
u.update(this.autoLoad);},refresh:function(){var um=this.body.getUpdater();um.refresh.apply(um,arguments);return this;},onRender:function(ct,position){Ext.Panel.superclass.onRender.call(this,ct,position);this.createClasses();var el=this.el,d=el.dom;el.addClass(this.baseCls);if(d.firstChild){this.header=el.down('.'+this.headerCls);this.bwrap=el.down('.'+this.bwrapCls);var cp=this.bwrap?this.bwrap:el;this.tbar=cp.down('.'+this.tbarCls);this.body=cp.down('.'+this.bodyCls);this.bbar=cp.down('.'+this.bbarCls);this.footer=cp.down('.'+this.footerCls);this.fromMarkup=true;}
if(this.preventBodyReset===true){el.addClass('x-panel-reset');}
if(this.cls){el.addClass(this.cls);}
if(this.buttons){this.elements+=',footer';}
if(this.frame){el.insertHtml('afterBegin',String.format(Ext.Element.boxMarkup,this.baseCls));this.createElement('header',d.firstChild.firstChild.firstChild);this.createElement('bwrap',d);var bw=this.bwrap.dom;var ml=d.childNodes[1],bl=d.childNodes[2];bw.appendChild(ml);bw.appendChild(bl);var mc=bw.firstChild.firstChild.firstChild;this.createElement('tbar',mc);this.createElement('body',mc);this.createElement('bbar',mc);this.createElement('footer',bw.lastChild.firstChild.firstChild);if(!this.footer){this.bwrap.dom.lastChild.className+=' x-panel-nofooter';}
if(!this.header){this.el.dom.firstChild.className+=' x-panel-noheader';this.bwrap.dom.firstChild.firstChild.firstChild.className+=' x-panel-noheader';if(!this.tbar){this.bwrap.dom.firstChild.firstChild.firstChild.className+=' x-panel-notbar';}}}else{this.createElement('header',d);this.createElement('bwrap',d);var bw=this.bwrap.dom;this.createElement('tbar',bw);this.createElement('body',bw);this.createElement('bbar',bw);this.createElement('footer',bw);if(!this.header){this.body.addClass(this.bodyCls+'-noheader');if(this.tbar){this.tbar.addClass(this.tbarCls+'-noheader');}else{this.body.addClass(this.bodyCls+'-notbar');}}}
if(this.padding!==undefined){this.body.setStyle('padding',this.body.addUnits(this.padding));}
if(this.border===false){this.el.addClass(this.baseCls+'-noborder');this.body.addClass(this.bodyCls+'-noborder');if(this.header){this.header.addClass(this.headerCls+'-noborder');}
if(this.footer){this.footer.addClass(this.footerCls+'-noborder');}
if(this.tbar){this.tbar.addClass(this.tbarCls+'-noborder');}
if(this.bbar){this.bbar.addClass(this.bbarCls+'-noborder');}}
if(this.bodyBorder===false){this.body.addClass(this.bodyCls+'-noborder');}
this.bwrap.enableDisplayMode('block');if(this.header){this.header.unselectable();if(this.headerAsText){this.header.dom.innerHTML='<span class="'+this.headerTextCls+'">'+this.header.dom.innerHTML+'</span>';if(this.iconCls){this.setIconClass(this.iconCls);}}}
if(this.floating){this.makeFloating(this.floating);}
if(this.collapsible){this.tools=this.tools?this.tools.slice(0):[];if(!this.hideCollapseTool){this.tools[this.collapseFirst?'unshift':'push']({id:'toggle',handler:this.toggleCollapse,scope:this});}
if(this.titleCollapse&&this.header){this.mon(this.header,'click',this.toggleCollapse,this);this.header.setStyle('cursor','pointer');}}
if(this.tools){var ts=this.tools;this.tools={};this.addTool.apply(this,ts);}else{this.tools={};}
if(this.buttons&&this.buttons.length>0){this.fbar=this.buttons;}
this.toolbars=[];if(this.fbar){if(Ext.isArray(this.fbar)){this.fbar=new Ext.Toolbar(this.fbar);}else if(!this.fbar.events){this.fbar=Ext.create(this.fbar,'toolbar');}
if(this.fbar.items){this.fbar.items.each(function(c){c.minWidth=c.minWidth||this.minButtonWidth;},this);}
var bct;if(this.buttons&&this.buttons.length>0){this.fbar.enableOverflow=false;this.fbar.toolbarCls='x-panel-fbar';bct=this.footer.createChild({cls:'x-panel-btns-'+this.buttonAlign});}else{bct=this.footer.createChild();}
this.fbar.ownerCt=this;if(this.width==undefined){this.fbar.on('afterrender',function(cmp){cmp.doLayout();},this,{single:true,delay:100});}
this.fbar.render(bct);bct.createChild({cls:'x-clear'});this.toolbars.push(this.fbar);}
if(this.tbar&&this.topToolbar){if(Ext.isArray(this.topToolbar)){this.topToolbar=new Ext.Toolbar(this.topToolbar);}else if(!this.topToolbar.events){this.topToolbar=Ext.create(this.topToolbar,'toolbar');}
if(this.topToolbar.items){this.topToolbar.items.each(function(c){c.minWidth=c.minWidth||this.minButtonWidth;},this);}
this.topToolbar.ownerCt=this;this.topToolbar.render(this.tbar);this.toolbars.push(this.topToolbar);}
if(this.bbar&&this.bottomToolbar){if(Ext.isArray(this.bottomToolbar)){this.bottomToolbar=new Ext.Toolbar(this.bottomToolbar);}else if(!this.bottomToolbar.events){this.bottomToolbar=Ext.create(this.bottomToolbar,'toolbar');}
this.bottomToolbar.ownerCt=this;this.bottomToolbar.render(this.bbar);this.toolbars.push(this.bottomToolbar);}
Ext.each(this.toolbars,function(tb){tb.on({scope:this,afterlayout:this.syncHeight,remove:this.syncHeight})},this);},onResize:function(w,h){if(w!==undefined||h!==undefined){if(!this.collapsed){if(typeof w=='number'){w=this.adjustBodyWidth(w-this.getFrameWidth());if(this.tbar){this.tbar.setWidth(w);if(this.topToolbar){this.topToolbar.setSize(w);}}
if(this.bbar){this.bbar.setWidth(w);if(this.bottomToolbar){this.bottomToolbar.setSize(w);}}
if(this.fbar){this.fbar.setWidth(w);}
this.body.setWidth(w);}else if(w=='auto'){this.body.setWidth(w);}
if(typeof h=='number'){h=this.adjustBodyHeight(h-this.getFrameHeight());this.body.setHeight(h);}else if(h=='auto'){this.body.setHeight(h);}
if(this.disabled&&this.el._mask){this.el._mask.setSize(this.el.dom.clientWidth,this.el.getHeight());}}else{this.queuedBodySize={width:w,height:h};if(!this.queuedExpand&&this.allowQueuedExpand!==false){this.queuedExpand=true;this.on('expand',function(){delete this.queuedExpand;this.onResize(this.queuedBodySize.width,this.queuedBodySize.height);this.doLayout();},this,{single:true});}}
this.fireEvent('bodyresize',this,w,h);}
this.syncShadow();},initComponent:Ext.Panel.prototype.initComponent.createSequence(function(){if(this.frame){this.border=true;}})});Ext.override(Ext.SplitButton,{onRender:function(){Ext.SplitButton.superclass.onRender.apply(this,arguments);if(this.arrowTooltip){this.el.child(this.arrowSelector).dom[this.tooltipType]=this.arrowTooltip;}}});Ext.override(Ext.TabPanel,{enableTabScroll:true,layoutShallowOnTabChange:true,setActiveTab:function(item){item=this.getComponent(item);if(!item||this.fireEvent('beforetabchange',this,item,this.activeTab)===false){return;}
if(!this.rendered){this.activeTab=item;return;}
if(this.activeTab!=item){if(this.activeTab){var oldEl=this.getTabEl(this.activeTab);if(oldEl){Ext.fly(oldEl).removeClass('x-tab-strip-active');}
this.activeTab.fireEvent('deactivate',this.activeTab);}
var el=this.getTabEl(item);Ext.fly(el).addClass('x-tab-strip-active');this.activeTab=item;this.stack.add(item);this.layout.setActiveItem(item);if((this.layoutOnTabChange||this.layoutShallowOnTabChange)&&item.doLayout){if(this.layoutShallowOnTabChange&&item.items){for(var i=0;i<item.items.items.length;i++){if(item.items.items[i].lastSize)delete item.items.items[i].lastSize;}}
item.doLayout(this.layoutShallowOnTabChange);}
if(this.scrolling){this.scrollToTab(item,this.animScroll);}
item.fireEvent('activate',item);this.fireEvent('tabchange',this,item);}},onItemIconChanged:function(item,iconCls,oldCls){var el=this.getTabEl(item);if(el){Ext.fly(el).child('span.x-tab-strip-text').replaceClass(oldCls,iconCls);if(iconCls){Ext.fly(el).replaceClass('','x-tab-with-icon');}else{Ext.fly(el).replaceClass('x-tab-with-icon','');}}}});Ext.apply(Ext.TabPanel.prototype,{initEvents_forBeforecloseEvent:Ext.TabPanel.prototype.initEvents,initEvents:function(){this.initEvents_forBeforecloseEvent();this.on('beforeremove',function(tabs,panel){return panel.fireEvent('beforeclose',panel);});}})
Ext.override(Ext.tree.TreeDragZone,{afterRepair:function(){if(Ext.enableFx&&this.tree.hlDrop){var color=Ext.util.CSS.getColor(this.hlRule||'.x-highlight',this.hlAttr||'backgroundColor',this.hlColor||"c3daf9");Ext.Element.fly(this.dragData.ddel).highlight(color||"c3daf9");}
this.dragging=false;}});Ext.override(Ext.tree.TreeLoader,{runCallback:function(cb,scope,args){args=args||[];if(Ext.isFunction(cb)){cb.apply(scope,args);}},getByKeys:function(keys,callback,scope){var params={};for(var field in this.baseParams){params[field]=this.baseParams[field];}
params['keys[]']=keys;this.transId=Ext.Ajax.request({method:this.requestMethod,url:this.dataUrl||this.url,success:this.getByKeys_handleResponse,failure:this.handleFailure,scope:this,argument:{callback:callback,scope:scope},params:params});},getByKeys_handleResponse:function(response){this.transId=false;var a=response.argument;var json=response.responseText;try{var o=response.responseData||Ext.decode(json);a.callback.apply(a.scope,[o]);}catch(e){this.handleFailure(response);}}});Ext.override(Ext.tree.TreeNode,{runCallback:function(cb,scope,args){args=args||[];if(Ext.isFunction(cb)){cb.apply(scope,args);}},renderChildren:function(suppressEvent){if(suppressEvent!==false){this.fireEvent("beforechildrenrendered",this);}
var cs=this.childNodes;for(var i=0,len=cs.length;i<len;i++){cs[i].render(true);}
this.childrenRendered=true;if(suppressEvent!==false){this.fireEvent("afterchildrenrendered",this);}}});Ext.override(Ext.tree.TreeNodeUI,{onDblClick:function(e){e.preventDefault();if(this.disabled){return;}
if(!this.animating&&this.node.isExpandable()&&this.node.getOwnerTree().dblClickExpand){this.node.toggle();}
this.fireEvent("dblclick",this.node,e);},onCheckChange:function(){var checked=this.checkbox.checked;this.checkbox.defaultChecked=checked;this.node.attributes.checked=checked;var result=this.fireEvent('beforecheckchange',this.node,checked);if(false===result){checked=!checked;this.checkbox.checked=checked;this.checkbox.defaultChecked=checked;this.node.attributes.checked=checked;return;}
if(this.node.ownerTree.stateful){Ext.state.Manager.set(this.node.ownerTree.getId()+'_'+this.node.id,Ext.getBool(checked));}
this.fireEvent('checkchange',this.node,checked);},renderElements:function(n,a,targetNode,bulkRender){this.indentMarkup=n.parentNode?n.parentNode.ui.getChildIndent():'';var allChecked=Ext.getBool(Ext.state.Manager.get(n.ownerTree.getId()+'_all'));if(allChecked){a.checked=true;}
var cb=typeof a.checked!='undefined';if(cb&&n.ownerTree.stateful){a.checked=Ext.state.Manager.get(n.ownerTree.getId()+'_'+n.id,Ext.getBool(a.checked));}
a.checked=Ext.getBool(a.checked);var href=a.href?a.href:Ext.isGecko?"":"#";var buf=['<li class="x-tree-node"><div ext:tree-node-id="',n.id,'" class="x-tree-node-el x-tree-node-leaf x-unselectable ',a.cls,'" unselectable="on">','<span class="x-tree-node-indent">',this.indentMarkup,"</span>",'<img src="',this.emptyIcon,'" class="x-tree-ec-icon x-tree-elbow" />','<img src="',a.icon||this.emptyIcon,'" class="x-tree-node-icon',(a.icon?" x-tree-node-inline-icon":""),(a.iconCls?" "+a.iconCls:""),'" unselectable="on" />',cb?('<input class="x-tree-node-cb" type="checkbox" '+(a.checked?'checked="checked" />':'/>')):'','<a hidefocus="on" class="x-tree-node-anchor" href="',href,'" tabIndex="1" ',a.hrefTarget?' target="'+a.hrefTarget+'"':"",'><span unselectable="on">',n.text,"</span></a></div>",'<ul class="x-tree-node-ct" style="display:none;"></ul>',"</li>"].join('');var nel;if(bulkRender!==true&&n.nextSibling&&(nel=n.nextSibling.ui.getEl())){this.wrap=Ext.DomHelper.insertHtml("beforeBegin",nel,buf);}else{this.wrap=Ext.DomHelper.insertHtml("beforeEnd",targetNode,buf);}
this.elNode=this.wrap.childNodes[0];this.ctNode=this.wrap.childNodes[1];var cs=this.elNode.childNodes;this.indentNode=cs[0];this.ecNode=cs[1];this.iconNode=cs[2];var index=3;if(cb){this.checkbox=cs[3];this.checkbox.defaultChecked=this.checkbox.checked;index++;}
this.anchor=cs[index];this.textNode=cs[index].firstChild;},highlight:function(){var tree=this.node.getOwnerTree();var color=Ext.util.CSS.getColor(this.hlRule||'.x-highlight',this.hlAttr||'backgroundColor',this.hlColor||"c3daf9");Ext.fly(this.wrap).highlight(color||"C3DAF9",{endColor:tree.hlBaseColor});}});Ext.override(Ext.tree.TreePanel,{dblClickExpand:true,setCheckedRecursive:function(treeNode,checkedIds){var parentExpanded=false;var childNodes=this.getChildNodes(treeNode);var len=childNodes.length;for(var i=0;i<len;i++){var childNode=childNodes[i];var checked=false;if(checkedIds[childNode.id]){checked=true;parentExpanded=true;}
if(undefined!=childNode.checked){childNode.checked=checked;if(childNode.attributes){childNode.attributes.checked=checked;}
if(childNode.ui){childNode.ui.toggleCheck(checked);}}
var childChildNodes=this.getChildNodes(childNode);if(childChildNodes.length>0){var parExp=this.setCheckedRecursive(childNode,checkedIds);if(parExp){parentExpanded=true;}}}
if(parentExpanded){if(treeNode.expand){treeNode.expand(false,false);}
treeNode.expanded=true;}
return parentExpanded;},getChildNodes:function(treeNode){if(!treeNode.childNodes){if(treeNode.children){return treeNode.children;}
return[];}
var childNodes=treeNode.childNodes;if((childNodes.length==0)&&(treeNode.attributes)&&(treeNode.attributes.children)){if(treeNode.attributes.children.length>0){childNodes=treeNode.attributes.children;}}
return childNodes;},updateEntity:function(data){var idsToDownload=[];if(data.deleted){Ext.each(data.deleted,function(key){var node=this.getNodeById(key);if(node){node.remove();}},this);}
if(data.added){Ext.each(data.added,function(item){var key=item;if(typeof item=='object'){key=item._key;}
idsToDownload.push(key);},this);}
if(data.modified){Ext.each(data.modified,function(item){var key=item;if(typeof item=='object'){key=item._key;}
var node=this.getNodeById(key);if(node){idsToDownload.push(key);}},this);}
if(idsToDownload.length>0){var loader=this.getLoader();loader.getByKeys(idsToDownload,this.loaderGetByKeysComplete.createDelegate(this,[data],true),this);}},loaderGetByKeysComplete:function(data,updateData){var data2=new Ext.util.MixedCollection();Ext.each(data,function(nodeData){data2.add(nodeData.id,nodeData);},this);if(updateData.added){var loader=this.getLoader();Ext.each(updateData.added,function(item){var nodeData=data2.get(item._key);var parentNode=null;if(nodeData.parent){parentNode=this.getNodeById(nodeData.parent);}else{parentNode=this.getRootNode();}
if(parentNode){var node=loader.createNode(nodeData);parentNode.appendChild(node);parentNode.expand();}},this);}
if(updateData.modified){Ext.each(updateData.modified,function(item){var nodeData=data2.get(item._key);var node=this.getNodeById(nodeData.id);if(node){node.setText(nodeData.text);}},this);}}});Ext.apply(Ext.Updater,{getIndicatorText:function(text){text=text||Ext.LoadMask.prototype.msg;return''+'<div class="x-loading"><table>'+'<tr><td class="x-loading-corner x-loading-tl"></td><td class="x-loading-tc"></td><td class="x-loading-corner x-loading-tr"></td></tr>'+'<tr><td class="x-loading-side x-loading-cl"></td><td class="x-loading-cc">'+'<div class="x-loading-msg">'+text+'</div>'+'</td><td class="x-loading-side x-loading-cr"></td></tr>'+'<tr><td class="x-loading-corner x-loading-bl"></td><td class="x-loading-bc"></td><td class="x-loading-corner x-loading-br"></td></tr>'+'</table></div>';}});Ext.Updater.defaults.loadScripts=true;Ext.Updater.defaults.indicatorText=Ext.Updater.getIndicatorText();Ext.UpdateManager.defaults.indicatorText=Ext.Updater.getIndicatorText();Ext.data.Connection.prototype.indicatorText=Ext.Updater.getIndicatorText();Ext.apply(Ext.util.CSS,{getProperty:function(rule,property){if(!rule||!property){return;}
var r=Ext.util.CSS.getRule(rule);if(!r||!r.style){return;}
var p=r.style[property];if(!p){return;}
return p;},getColor:function(rule,attr,defaultValue,prefix){var v=Ext.util.CSS.getProperty(rule,attr);var h,color=prefix||"#";if(!v||v=="transparent"||v=="inherit"){return defaultValue;}
if(/^r/.test(v)){Ext.each(v.slice(4,v.length-1).split(","),function(s){h=(s*1).toString(16);color+=h<16?"0"+h:h;});}else{color+=v.replace("#","").replace(/^(\w)(\w)(\w)$/,"$1$1$2$2$3$3");}
return color.length>5?color.toLowerCase():defaultValue;},getParentColor:function(el,attr,defaultValue){defaultValue=defaultValue||null;var c,parent=el.parent(),origColor=null;while(parent&&origColor==null){c=parent.getStyle(this.hlAttr||'backgroundColor');if(c&&c!='transparent'){origColor=c;}
parent=parent.parent();}
return origColor||defaultValue;},getStyleSheet:function(id){if(!id)return'';var existing=document.getElementById(id);if(!existing)return'';if(existing.cssText)
return existing.cssText;if(existing.innerHTML)
return existing.innerHTML;return'';},updateStyleSheet:function(cssText,id){var rules=document.getElementById(id);if(!rules){return this.createStyleSheet(cssText,id);}
var ss;if(Ext.isIE){ss=rules.styleSheet;ss.cssText=cssText;}else{try{rules.replaceChild(document.createTextNode(cssText),rules.firstChild);}catch(e){rules.cssText=cssText;}
ss=rules.styleSheet?rules.styleSheet:(rules.sheet||document.styleSheets[document.styleSheets.length-1]);}
this.cacheStyleSheet(ss);return ss;}});Ext.apply(Ext.util.Format,{nl2br:function(v){return v===undefined||v===null?'':v.replace(/\n/g,'<br/>').replace(/\t/g,'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');}});Ext.ux.GMapPanel=Ext.extend(Ext.Panel,{initComponent:function(){var defConfig={plain:true,zoomLevel:3,yaw:180,pitch:0,zoom:0,gmapType:'map',border:false};Ext.applyIf(this,defConfig);Ext.ux.GMapPanel.superclass.initComponent.call(this);},afterRender:function(){var wh=this.ownerCt.getSize();Ext.applyIf(this,wh);Ext.ux.GMapPanel.superclass.afterRender.call(this);if(this.gmapType==='map'){this.gmap=new GMap2(this.body.dom);}
if(this.gmapType==='panorama'){this.gmap=new GStreetviewPanorama(this.body.dom);}
if(typeof this.addControl=='object'&&this.gmapType==='map'){this.gmap.addControl(this.addControl);}
if(typeof this.setCenter==='object'){if(typeof this.setCenter.geoCodeAddr==='string'){this.geoCodeLookup(this.setCenter.geoCodeAddr);}else{if(this.gmapType==='map'){var point=new GLatLng(this.setCenter.lat,this.setCenter.lng);this.gmap.setCenter(point,this.zoomLevel);}
if(typeof this.setCenter.marker==='object'&&typeof point==='object'){this.addMarker(point,this.setCenter.marker,this.setCenter.marker.clear);}}
if(this.gmapType==='panorama'){this.gmap.setLocationAndPOV(new GLatLng(this.setCenter.lat,this.setCenter.lng),{yaw:this.yaw,pitch:this.pitch,zoom:this.zoom});}}
GEvent.bind(this.gmap,'load',this,function(){this.onMapReady();});},onMapReady:function(){this.addMarkers(this.markers);this.addMapControls();this.addOptions();},onResize:function(w,h){if(typeof this.getMap()=='object'){this.gmap.checkResize();}
Ext.ux.GMapPanel.superclass.onResize.call(this,w,h);},setSize:function(width,height,animate){if(typeof this.getMap()=='object'){this.gmap.checkResize();}
Ext.ux.GMapPanel.superclass.setSize.call(this,width,height,animate);},getMap:function(){return this.gmap;},getCenter:function(){return this.getMap().getCenter();},getCenterLatLng:function(){var ll=this.getCenter();return{lat:ll.lat(),lng:ll.lng()};},addMarkers:function(markers){if(Ext.isArray(markers)){for(var i=0;i<markers.length;i++){var mkr_point=new GLatLng(markers[i].lat,markers[i].lng);this.addMarker(mkr_point,markers[i].marker,false,markers[i].setCenter,markers[i].listeners);}}},addMarker:function(point,marker,clear,center,listeners){Ext.applyIf(marker,G_DEFAULT_ICON);if(clear===true){this.getMap().clearOverlays();}
if(center===true){this.getMap().setCenter(point,this.zoomLevel);}
var mark=new GMarker(point,marker);if(typeof listeners==='object'){for(evt in listeners){GEvent.bind(mark,evt,this,listeners[evt]);}}
this.getMap().addOverlay(mark);},addMapControls:function(){if(this.gmapType==='map'){if(Ext.isArray(this.mapControls)){for(i=0;i<this.mapControls.length;i++){this.addMapControl(this.mapControls[i]);}}else if(typeof this.mapControls==='string'){this.addMapControl(this.mapControls);}else if(typeof this.mapControls==='object'){this.getMap().addControl(this.mapControls);}}},addMapControl:function(mc){var mcf=window[mc];if(typeof mcf==='function'){this.getMap().addControl(new mcf());}},addOptions:function(){if(Ext.isArray(this.mapConfOpts)){var mc;for(i=0;i<this.mapConfOpts.length;i++){this.addOption(this.mapConfOpts[i]);}}else if(typeof this.mapConfOpts==='string'){this.addOption(this.mapConfOpts);}},addOption:function(mc){var mcf=this.getMap()[mc];if(typeof mcf==='function'){this.getMap()[mc]();}},geoCodeLookup:function(addr){this.geocoder=new GClientGeocoder();this.geocoder.getLocations(addr,this.addAddressToMap.createDelegate(this));},addAddressToMap:function(response){if(!response||response.Status.code!=200){Ext.MessageBox.alert('Error','Code '+response.Status.code+' Error Returned');}else{place=response.Placemark[0];addressinfo=place.AddressDetails;accuracy=addressinfo.Accuracy;if(accuracy===0){Ext.MessageBox.alert('Unable to Locate Address','Unable to Locate the Address you provided');}else{if(accuracy<7){Ext.MessageBox.alert('Address Accuracy','The address provided has a low accuracy.<br><br>Level '+accuracy+' Accuracy (8 = Exact Match, 1 = Vague Match)');}else{point=new GLatLng(place.Point.coordinates[1],place.Point.coordinates[0]);if(typeof this.setCenter.marker==='object'&&typeof point==='object'){this.addMarker(point,this.setCenter.marker,this.setCenter.marker.clear,true,this.setCenter.listeners);}}}}}});Ext.reg('gmappanel',Ext.ux.GMapPanel);Ext.namespace('Ext.ux.plugin');Ext.onReady(function(){var CSS=Ext.util.CSS;if(CSS){CSS.getRule('.x-hide-nosize')||CSS.createStyleSheet('.x-hide-nosize{height:0px!important;width:0px!important;border:none!important;zoom:1;}.x-hide-nosize * {height:0px!important;width:0px!important;border:none!important;zoom:1;}');CSS.refreshCache();}});(function(){var El=Ext.Element,A=Ext.lib.Anim,supr=El.prototype;var VISIBILITY="visibility",DISPLAY="display",HIDDEN="hidden",NONE="none";var fx={};fx.El={setDisplayed:function(value){var me=this;me.visibilityCls?(me[value!==false?'removeClass':'addClass'](me.visibilityCls)):supr.setDisplayed.call(me,value);return me;},isDisplayed:function(){return!(this.hasClass(this.visibilityCls)||this.dom.style[DISPLAY]==NONE);},fixDisplay:function(){var me=this;supr.fixDisplay.call(me);me.visibilityCls&&me.removeClass(me.visibilityCls);},isVisible:function(deep){return this.visible||(!this.isStyle(VISIBILITY,HIDDEN)&&this.visibilityCls?!this.hasClass(this.visibilityCls):!this.isStyle(DISPLAY,NONE));}};Ext.override(El.Flyweight,fx.El);Ext.ux.plugin.VisibilityMode=function(opt){Ext.apply(this,opt||{});var CSS=Ext.util.CSS;if(CSS&&!Ext.isIE&&this.fixMaximizedWindow!==false&&!Ext.ux.plugin.VisibilityMode.MaxWinFixed){CSS.updateRule('.x-window-maximized-ct','overflow','');Ext.ux.plugin.VisibilityMode.MaxWinFixed=true;}};Ext.extend(Ext.ux.plugin.VisibilityMode,Object,{bubble:true,fixMaximizedWindow:true,elements:null,visibilityCls:'x-hide-nosize',hideMode:'nosize',ptype:'uxvismode',init:function(c){var hideMode=this.hideMode||c.hideMode,plugin=this,bubble=Ext.Container.prototype.bubble,changeVis=function(){var els=[this.collapseEl,this.actionMode].concat(plugin.elements||[]);Ext.each(els,function(el){plugin.extend(this[el]||el);},this);var cfg={visFixed:true,animCollapse:false,animFloat:false,hideMode:hideMode,defaults:this.defaults||{}};cfg.defaults.hideMode=hideMode;Ext.apply(this,cfg);Ext.apply(this.initialConfig||{},cfg);};c.on('render',function(){if(plugin.bubble!==false&&this.ownerCt){bubble.call(this.ownerCt,function(){this.visFixed||this.on('afterlayout',changeVis,this,{single:true});});}
changeVis.call(this);},c,{single:true});},extend:function(el,visibilityCls){el&&Ext.each([].concat(el),function(e){if(e&&e.dom){if('visibilityCls'in e)return;Ext.apply(e,fx.El);e.visibilityCls=visibilityCls||this.visibilityCls;}},this);return this;}});Ext.preg&&Ext.preg('uxvismode',Ext.ux.plugin.VisibilityMode);Ext.provide&&Ext.provide('uxvismode');})();(function(){var El=Ext.Element,ElFrame,ELD=Ext.lib.Dom,A=Ext.lib.Anim;var emptyFn=function(){},OP=Object.prototype,OPString=OP.toString,HTMLDoc='[object HTMLDocument]';var _documents={$_top:{_elCache:El.cache,_dataCache:El.dataCache}};var resolveCache=ELD.resolveCache=function(doc,cacheId){doc=GETDOC(doc);var c=(doc==document?'$_top':cacheId);var cache=_documents[c]||null,d,win;if(!cache&&doc&&(win=doc.parentWindow||doc.defaultView)){if(d=win.frameElement){c=d.id||d.name;}}
return cache||_documents[c]||(c?_documents[c]={_elCache:{},_dataCache:{}}:null);};var clearCache=ELD.clearCache=function(cacheId){delete _documents[cacheId];};El.addMethods||(El.addMethods=function(ov){Ext.apply(El.prototype,ov||{});});Ext.removeNode=function(n){var dom=n?n.dom||n:null;if(dom&&dom.parentNode&&dom.tagName!='BODY'){var el,docCache=resolveCache(ELD.getDocument(dom));if(el=docCache._elCache[dom.id]){el.dom&&el.removeAllListeners();delete docCache._elCache[dom.id];if(undefined!=docCache._dataCache){delete docCache._dataCache[dom.id];}
el.dom&&(el.dom=null);el=null;}
if(Ext.isIE&&!Ext.isIE8){var d=ELD.getDocument(dom).createElement('div');d.appendChild(dom);d.removeChild(dom);d=null;}else{var p=dom.parentNode;p.removeChild(dom);p=null;}}
dom=null;};var overload=function(pfn,fn){var f=typeof pfn==='function'?pfn:function t(){};var ov=f._ovl;if(!ov){ov={base:f};ov[f.length||0]=f;f=function t(){var o=arguments.callee._ovl;var fn=o[arguments.length]||o.base;return fn&&fn!=arguments.callee?fn.apply(this,arguments):undefined;};}
var fnA=[].concat(fn);for(var i=0,l=fnA.length;i<l;i++){ov[fnA[i].length]=fnA[i];}
f._ovl=ov;var t=null;return f;};Ext.applyIf(Ext,{overload:overload(overload,[function(fn){return overload(null,fn);},function(obj,mname,fn){return obj[mname]=overload(obj[mname],fn);}]),isArray:function(v){return OPString.apply(v)=='[object Array]';},isObject:function(obj){return(obj!==null)&&typeof obj=='object';},isDocument:function(el,testOrigin){var test=OPString.call(el)==HTMLDoc||(el&&el.nodeType==9);if(test&&testOrigin){try{test=!!el.location;}
catch(e){return false;}}
return test;},isIterable:function(obj){if(obj===null||obj===undefined)return false;if(Ext.isArray(obj)||!!obj.callee||Ext.isNumber(obj.length))return true;return!!((/NodeList|HTMLCollection/i).test(OPString.call(obj))||obj.nextNode||obj.item||false);},isElement:function(obj){return obj&&Ext.type(obj)=='element';},isEvent:function(obj){return OPString.apply(obj)=='[object Event]'||(Ext.isObject(obj)&&!Ext.type(o.constructor)&&(window.event&&obj.clientX&&obj.clientX==window.event.clientX));},isFunction:function(obj){return!!obj&&typeof obj=='function';},isEventSupported:function(evName,testEl){var TAGNAMES={'select':'input','change':'input','submit':'form','reset':'form','load':'img','error':'img','abort':'img'}
var cache={};var getKey=function(type,el){var tEl=Ext.getDom(el);return(tEl?(Ext.isElement(tEl)||Ext.isDocument(tEl)?tEl.nodeName.toLowerCase():el.self?'#window':el||'#object'):el||'div')+':'+type;};return function(evName,testEl){var el,isSupported=false;var eventName='on'+evName;var tag=(testEl?testEl:TAGNAMES[evName])||'div';var key=getKey(evName,tag);if(key in cache){return cache[key];}
el=Ext.isString(tag)?document.createElement(tag):testEl;isSupported=(!!el&&(eventName in el));isSupported||(isSupported=window.Event&&!!(String(evName).toUpperCase()in window.Event));if(!isSupported&&el){el.setAttribute&&el.setAttribute(eventName,'return;');isSupported=Ext.isFunction(el[eventName]);}
cache[key]=isSupported;el=null;return isSupported;};}()});var assertClass=function(el){return El[(el.tagName||'-').toUpperCase()]||El;};var libFlyweight;function fly(el,doc){if(!libFlyweight){libFlyweight=new Ext.Element.Flyweight();}
libFlyweight.dom=Ext.getDom(el,doc);return libFlyweight;}
Ext.apply(Ext,{get:El.get=function(el,doc){if(!el){return null;}
doc||(doc=document);if(!Ext.isDocument(doc)){return this.get(el);}
var ex,elm,id,cache=resolveCache(doc);if(Ext.isDocument(el)){if(!Ext.isDocument(el,true)){return false;}
if(cache._elCache['$_doc']){return cache._elCache['$_doc'];}
var f=function(){};f.prototype=El.prototype;var docEl=new f();docEl.dom=el;docEl._isDoc=true;return cache._elCache['$_doc']=docEl;}
cache=cache._elCache;if(typeof el=="string"){elm=Ext.getDom(el,doc);if(!elm)return null;if(ex=cache[el]){ex.dom=elm;}else{ex=cache[el]=new(assertClass(elm))(elm,null,doc);}
return ex;}else if(el.tagName){doc=GETDOC(el);cache=resolveCache(doc);if(ex=cache[el.id||(el.id=Ext.id(el))]){ex.dom=el;}else{ex=cache[el.id]=new(assertClass(el))(el,null,doc);}
return ex;}else if(el instanceof El||el instanceof El['IFRAME']){el.dom=doc.getElementById(el.id)||el.dom;el.dom&&(cache[el.id]=el);return el.dom?el:null;}else if(el.isComposite){return el;}else if(Ext.isArray(el)){return Ext.get(doc,doc).select(el);}
return null;},getDom:function(el,doc){if(!el){return null;}
return el.dom?el.dom:(typeof el==='string'?(doc||document).getElementById(el):el);},getBody:function(doc){var D=ELD.getDocument(doc)||document;return Ext.get(D.body||D.documentElement,D);},getDoc:Ext.overload([Ext.getDoc,function(doc){return Ext.get(doc,doc);}])});var propCache={},camelRe=/(-[a-z])/gi,camelFn=function(m,a){return a.charAt(1).toUpperCase();},opacityRe=/alpha\(opacity=(.*)\)/i,trimRe=/^\s+|\s+$/g,propFloat=Ext.isIE?'styleFloat':'cssFloat',view=document.defaultView,VISMODE='visibilityMode',ELDISPLAY=El.DISPLAY,PADDING="padding",MARGIN="margin",BORDER="border",LEFT="-left",RIGHT="-right",TOP="-top",BOTTOM="-bottom",WIDTH="-width",MATH=Math,HIDDEN='hidden',ISCLIPPED='isClipped',OVERFLOW='overflow',OVERFLOWX='overflow-x',OVERFLOWY='overflow-y',ORIGINALCLIP='originalClip',borders={l:BORDER+LEFT+WIDTH,r:BORDER+RIGHT+WIDTH,t:BORDER+TOP+WIDTH,b:BORDER+BOTTOM+WIDTH},paddings={l:PADDING+LEFT,r:PADDING+RIGHT,t:PADDING+TOP,b:PADDING+BOTTOM},margins={l:MARGIN+LEFT,r:MARGIN+RIGHT,t:MARGIN+TOP,b:MARGIN+BOTTOM},data=El.data,GETDOM=Ext.getDom,GET=Ext.get,DH=Ext.DomHelper,CSS=Ext.util.CSS;function chkCache(prop){return propCache[prop]||(propCache[prop]=prop=='float'?propFloat:prop.replace(camelRe,camelFn));};El.addMethods({getDocument:function(){return GETDOC(this);},remove:function(cleanse,deep){if(this.dom){this._mask&&this.unmask(true);this._mask=null;cleanse&&this.cleanse(true,deep);Ext.removeNode(this);this.dom=null;delete this.dom;}},cleanse:function(forceReclean,deep){if(this.isCleansed&&forceReclean!==true){return this;}
var d=this.dom,n=d.firstChild,nx;while(d&&n){nx=n.nextSibling;deep&&Ext.fly(n,'_cleanser').cleanse(forceReclean,deep);Ext.removeNode(n);n=nx;}
delete El._flyweights['_cleanser'];this.isCleansed=true;return this;},appendChild:function(el,doc){return GET(el,doc||this.getDocument()).appendTo(this);},appendTo:function(el,doc){GETDOM(el,doc||this.getDocument()).appendChild(this.dom);return this;},insertBefore:function(el,doc){(el=GETDOM(el,doc||this.getDocument())).parentNode.insertBefore(this.dom,el);return this;},insertAfter:function(el,doc){(el=GETDOM(el,doc||this.getDocument())).parentNode.insertBefore(this.dom,el.nextSibling);return this;},insertFirst:function(el,returnDom){el=el||{};if(el.nodeType||el.dom||typeof el=='string'){el=GETDOM(el);this.dom.insertBefore(el,this.dom.firstChild);return!returnDom?GET(el):el;}else{return this.createChild(el,this.dom.firstChild,returnDom);}},replace:function(el,doc){el=GET(el,doc||this.getDocument());this.insertBefore(el);el.remove();return this;},replaceWith:function(el,doc){var me=this,Element=Ext.Element;if(el.nodeType||el.dom||typeof el=='string'){el=GETDOM(el,doc||me.getDocument());me.dom.parentNode.insertBefore(el,me.dom);}else{el=DH.insertBefore(me.dom,el);}
delete Element.cache[me.id];Ext.removeNode(me.dom);me.id=Ext.id(me.dom=el);return Element.cache[me.id]=me;},insertHtml:function(where,html,returnEl){var el=DH.insertHtml(where,this.dom,html);return returnEl?Ext.get(el,GETDOC(el)):el;},scrollIntoView:function(container,hscroll){var d=this.getDocument();var c=Ext.getDom(container,d)||Ext.getBody(d).dom;var el=this.dom;var o=this.getOffsetsTo(c),s=this.getScroll(),l=o[0]+s.left,t=o[1]+s.top,b=t+el.offsetHeight,r=l+el.offsetWidth;var ch=c.clientHeight;var ct=parseInt(c.scrollTop,10);var cl=parseInt(c.scrollLeft,10);var cb=ct+ch;var cr=cl+c.clientWidth;if(el.offsetHeight>ch||t<ct){c.scrollTop=t;}else if(b>cb){c.scrollTop=b-ch;}
c.scrollTop=c.scrollTop;if(hscroll!==false){if(el.offsetWidth>c.clientWidth||l<cl){c.scrollLeft=l;}else if(r>cr){c.scrollLeft=r-c.clientWidth;}
c.scrollLeft=c.scrollLeft;}
return this;},contains:function(el){try{return!el?false:ELD.isAncestor(this.dom,el.dom?el.dom:el);}catch(e){return false;}},getScroll:function(){var d=this.dom,doc=this.getDocument(),body=doc.body,docElement=doc.documentElement,l,t,ret;if(Ext.isDocument(d)||d==body){if(Ext.isIE&&ELD.docIsStrict(doc)){l=docElement.scrollLeft;t=docElement.scrollTop;}else{l=window.pageXOffset;t=window.pageYOffset;}
ret={left:l||(body?body.scrollLeft:0),top:t||(body?body.scrollTop:0)};}else{ret={left:d.scrollLeft,top:d.scrollTop};}
return ret;},getStyle:function(){var getStyle=view&&view.getComputedStyle?function GS(prop){var el=!this._isDoc?this.dom:null,v,cs,out;if(!el||el==document||Ext.isDocument(el))return null;prop=chkCache(prop);out=(v=el.style[prop])?v:(cs=view.getComputedStyle(el,""))?cs[prop]:null;if(Ext.isWebKit&&out=='rgba(0, 0, 0, 0)'){out='transparent';}
return out;}:function GS(prop){var el=!this._isDoc?this.dom:null,m,cs;if(!el||el==document||Ext.isDocument(el))return null;if(prop=='opacity'){if(el.style.filter.match){if(m=el.style.filter.match(opacityRe)){var fv=parseFloat(m[1]);if(!isNaN(fv)){return fv?fv/100:0;}}}
return 1;}
prop=chkCache(prop);return el.style[prop]||((cs=el.currentStyle)?cs[prop]:null);};var GS=null;return getStyle;}(),setStyle:function(prop,value){if(this._isDoc||Ext.isDocument(this.dom))return this;var tmp,style,camel;if(!Ext.isObject(prop)){tmp={};tmp[prop]=value;prop=tmp;}
for(style in prop){value=prop[style];style=='opacity'?this.setOpacity(value):this.dom.style[chkCache(style)]=value;}
return this;},center:function(centerIn){return this.alignTo(centerIn||this.getDocument(),'c-c');},getCenterXY:function(){return this.getAlignToXY(this.getDocument(),'c-c');},getAnchorXY:function(anchor,local,s){anchor=(anchor||"tl").toLowerCase();s=s||{};var me=this,doc=this.getDocument(),vp=me.dom==doc.body||me.dom==doc,w=s.width||vp?Ext.lib.Dom.getViewWidth(false,doc):me.getWidth(),h=s.height||vp?Ext.lib.Dom.getViewHeight(false,doc):me.getHeight(),xy,r=Math.round,o=me.getXY(),scroll=me.getScroll(),extraX=vp?scroll.left:!local?o[0]:0,extraY=vp?scroll.top:!local?o[1]:0,hash={c:[r(w*.5),r(h*.5)],t:[r(w*.5),0],l:[0,r(h*.5)],r:[w,r(h*.5)],b:[r(w*.5),h],tl:[0,0],bl:[0,h],br:[w,h],tr:[w,0]};xy=hash[anchor];return[xy[0]+extraX,xy[1]+extraY];},anchorTo:function(el,alignment,offsets,animate,monitorScroll,callback){var me=this,dom=me.dom;function action(){fly(dom).alignTo(el,alignment,offsets,animate);Ext.callback(callback,fly(dom));};Ext.EventManager.onWindowResize(action,me);if(!Ext.isEmpty(monitorScroll)){Ext.EventManager.on(window,'scroll',action,me,{buffer:!isNaN(monitorScroll)?monitorScroll:50});}
action.call(me);return me;},getScroll:function(){var d=this.dom,doc=this.getDocument(),body=doc.body,docElement=doc.documentElement,l,t,ret;if(d==doc||d==body){if(Ext.isIE&&ELD.docIsStrict(doc)){l=docElement.scrollLeft;t=docElement.scrollTop;}else{l=window.pageXOffset;t=window.pageYOffset;}
ret={left:l||(body?body.scrollLeft:0),top:t||(body?body.scrollTop:0)};}else{ret={left:d.scrollLeft,top:d.scrollTop};}
return ret;},getAlignToXY:function(el,p,o){var doc;el=Ext.get(el,doc=this.getDocument());if(!el||!el.dom){throw"Element.getAlignToXY with an element that doesn't exist";}
o=o||[0,0];p=(p=="?"?"tl-bl?":(!/-/.test(p)&&p!=""?"tl-"+p:p||"tl-bl")).toLowerCase();var me=this,d=me.dom,a1,a2,x,y,w,h,r,dw=Ext.lib.Dom.getViewWidth(false,doc)-10,dh=Ext.lib.Dom.getViewHeight(false,doc)-10,p1y,p1x,p2y,p2x,swapY,swapX,docElement=doc.documentElement,docBody=doc.body,scrollX=(docElement.scrollLeft||docBody.scrollLeft||0)+5,scrollY=(docElement.scrollTop||docBody.scrollTop||0)+5,c=false,p1="",p2="",m=p.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!m){throw"Element.getAlignToXY with an invalid alignment "+p;}
p1=m[1];p2=m[2];c=!!m[3];a1=me.getAnchorXY(p1,true);a2=el.getAnchorXY(p2,false);x=a2[0]-a1[0]+o[0];y=a2[1]-a1[1]+o[1];if(c){w=me.getWidth();h=me.getHeight();r=el.getRegion();p1y=p1.charAt(0);p1x=p1.charAt(p1.length-1);p2y=p2.charAt(0);p2x=p2.charAt(p2.length-1);swapY=((p1y=="t"&&p2y=="b")||(p1y=="b"&&p2y=="t"));swapX=((p1x=="r"&&p2x=="l")||(p1x=="l"&&p2x=="r"));if(x+w>dw+scrollX){x=swapX?r.left-w:dw+scrollX-w;}
if(x<scrollX){x=swapX?r.right:scrollX;}
if(y+h>dh+scrollY){y=swapY?r.top-h:dh+scrollY-h;}
if(y<scrollY){y=swapY?r.bottom:scrollY;}}
return[x,y];},adjustForConstraints:function(xy,parent,offsets){return this.getConstrainToXY(parent||this.getDocument(),false,offsets,xy)||xy;},getConstrainToXY:function(el,local,offsets,proposedXY){var os={top:0,left:0,bottom:0,right:0};return function(el,local,offsets,proposedXY){var doc=this.getDocument();el=Ext.get(el,doc);offsets=offsets?Ext.applyIf(offsets,os):os;var vw,vh,vx=0,vy=0;if(el.dom==doc.body||el.dom==doc){vw=Ext.lib.Dom.getViewWidth(false,doc);vh=Ext.lib.Dom.getViewHeight(false,doc);}else{vw=el.dom.clientWidth;vh=el.dom.clientHeight;if(!local){var vxy=el.getXY();vx=vxy[0];vy=vxy[1];}}
var s=el.getScroll();vx+=offsets.left+s.left;vy+=offsets.top+s.top;vw-=offsets.right;vh-=offsets.bottom;var vr=vx+vw;var vb=vy+vh;var xy=proposedXY||(!local?this.getXY():[this.getLeft(true),this.getTop(true)]);var x=xy[0],y=xy[1];var w=this.dom.offsetWidth,h=this.dom.offsetHeight;var moved=false;if((x+w)>vr){x=vr-w;moved=true;}
if((y+h)>vb){y=vb-h;moved=true;}
if(x<vx){x=vx;moved=true;}
if(y<vy){y=vy;moved=true;}
return moved?[x,y]:false;};}(),getCenterXY:function(){return this.getAlignToXY(Ext.getBody(this.getDocument()),'c-c');},getHeight:function(contentHeight){var h=Math.max(this.dom.offsetHeight,this.dom.clientHeight)||0;h=!contentHeight?h:h-this.getBorderWidth("tb")-this.getPadding("tb");return h<0?0:h;},getWidth:function(contentWidth){var w=Math.max(this.dom.offsetWidth,this.dom.clientWidth)||0;w=!contentWidth?w:w-this.getBorderWidth("lr")-this.getPadding("lr");return w<0?0:w;},center:function(centerIn){return this.alignTo(centerIn||Ext.getBody(this.getDocument()),'c-c');},findParent:function(simpleSelector,maxDepth,returnEl){var p=this.dom,D=this.getDocument(),b=D.body,depth=0,stopEl;if(Ext.isGecko&&OPString.call(p)=='[object XULElement]'){return null;}
maxDepth=maxDepth||50;if(isNaN(maxDepth)){stopEl=Ext.getDom(maxDepth,D);maxDepth=Number.MAX_VALUE;}
while(p&&p.nodeType==1&&depth<maxDepth&&p!=b&&p!=stopEl){if(Ext.DomQuery.is(p,simpleSelector)){return returnEl?Ext.get(p,D):p;}
depth++;p=p.parentNode;}
return null;}});Ext.apply(ELD,{getDocument:function(el,accessTest){var dom=null;try{dom=Ext.getDom(el,null);}catch(ex){}
var isDoc=Ext.isDocument(dom);if(isDoc){if(accessTest){return Ext.isDocument(dom,accessTest)?dom:null;}
return dom;}
return dom?dom.ownerDocument||dom.document:null;},docIsStrict:function(doc){return(Ext.isDocument(doc)?doc:this.getDocument(doc)).compatMode=="CSS1Compat";},getViewWidth:Ext.overload([ELD.getViewWidth||function(full){},function(){return this.getViewWidth(false);},function(full,doc){return full?this.getDocumentWidth(doc):this.getViewportWidth(doc);}]),getViewHeight:Ext.overload([ELD.getViewHeight||function(full){},function(){return this.getViewHeight(false);},function(full,doc){return full?this.getDocumentHeight(doc):this.getViewportHeight(doc);}]),getDocumentHeight:Ext.overload([ELD.getDocumentHeight||emptyFn,function(doc){if(doc=this.getDocument(doc)){return Math.max(!this.docIsStrict(doc)?doc.body.scrollHeight:doc.documentElement.scrollHeight,this.getViewportHeight(doc));}
return undefined;}]),getDocumentWidth:Ext.overload([ELD.getDocumentWidth||emptyFn,function(doc){if(doc=this.getDocument(doc)){return Math.max(!this.docIsStrict(doc)?doc.body.scrollWidth:doc.documentElement.scrollWidth,this.getViewportWidth(doc));}
return undefined;}]),getViewportHeight:Ext.overload([ELD.getViewportHeight||emptyFn,function(doc){if(doc=this.getDocument(doc)){if(Ext.isIE){return this.docIsStrict(doc)?doc.documentElement.clientHeight:doc.body.clientHeight;}else{return doc.defaultView.innerHeight;}}
return undefined;}]),getViewportWidth:Ext.overload([ELD.getViewportWidth||emptyFn,function(doc){if(doc=this.getDocument(doc)){return!this.docIsStrict(doc)&&!Ext.isOpera?doc.body.clientWidth:Ext.isIE?doc.documentElement.clientWidth:doc.defaultView.innerWidth;}
return undefined;}]),getXY:Ext.overload([ELD.getXY||function(el){},function(el,doc){el=Ext.getDom(el,doc);var D=this.getDocument(el);var p,pe,b,scroll;var bd=D?(D.body||D.documentElement):null;if(!el||!bd||el==bd){return[0,0];}
if(el.getBoundingClientRect){b=el.getBoundingClientRect();scroll=fly(D).getScroll();return[b.left+scroll.left,b.top+scroll.top];}
var x=0,y=0;p=el;var hasAbsolute=fly(el).getStyle("position")=="absolute";while(p){x+=p.offsetLeft;y+=p.offsetTop;if(!hasAbsolute&&fly(p).getStyle("position")=="absolute"){hasAbsolute=true;}
if(Ext.isGecko){pe=fly(p);var bt=parseInt(pe.getStyle("borderTopWidth"),10)||0;var bl=parseInt(pe.getStyle("borderLeftWidth"),10)||0;x+=bl;y+=bt;if(p!=el&&pe.getStyle('overflow')!='visible'){x+=bl;y+=bt;}}
p=p.offsetParent;}
if(Ext.isSafari&&hasAbsolute){x-=bd.offsetLeft;y-=bd.offsetTop;}
if(Ext.isGecko&&!hasAbsolute){var dbd=fly(bd);x+=parseInt(dbd.getStyle("borderLeftWidth"),10)||0;y+=parseInt(dbd.getStyle("borderTopWidth"),10)||0;}
p=el.parentNode;while(p&&p!=bd){if(!Ext.isOpera||(p.tagName!='TR'&&fly(p).getStyle("display")!="inline")){x-=p.scrollLeft;y-=p.scrollTop;}
p=p.parentNode;}
return[x,y];}])});var GETDOC=ELD.getDocument,flies=El._flyweights;Ext.fly=El.fly=function(el,named,doc){var ret=null;named=named||'_global';if(el=Ext.getDom(el,doc)){(ret=flies[named]=(flies[named]||new El.Flyweight())).dom=el;ret._isDoc=Ext.isDocument(el);}
return ret;};var flyFn=function(){};flyFn.prototype=El.prototype;El.Flyweight=function(dom){this.dom=dom;};El.Flyweight.prototype=new flyFn();El.Flyweight.prototype.isFlyweight=true;Ext.provide&&Ext.provide('multidom');})();(function(){var El=Ext.Element,ElFrame,ELD=Ext.lib.Dom,EMPTYFN=function(){},OP=Object.prototype,addListener=function(){var handler;if(window.addEventListener){handler=function F(el,eventName,fn,capture){el.addEventListener(eventName,fn,!!capture);};}else if(window.attachEvent){handler=function F(el,eventName,fn,capture){el.attachEvent("on"+eventName,fn);};}else{handler=function F(){};}
var F=null;return handler;}(),removeListener=function(){var handler;if(window.removeEventListener){handler=function F(el,eventName,fn,capture){el.removeEventListener(eventName,fn,(capture));};}else if(window.detachEvent){handler=function F(el,eventName,fn){el.detachEvent("on"+eventName,fn);};}else{handler=function F(){};}
var F=null;return handler;}();if(typeof ELD.getDocument!='function'){throw"MIF 2.0 requires multidom support";}
Ext.isDocument=function(obj,testOrigin){var test=OP.toString.apply(obj)=='[object HTMLDocument]'||(obj&&obj.nodeType==9);if(test&&!!testOrigin){try{test=test&&!!obj.location;}
catch(e){return false;}}
return test;};Ext.ns('Ext.ux.ManagedIFrame','Ext.ux.plugin');var MIM,MIF=Ext.ux.ManagedIFrame,MIFC;var frameEvents=['documentloaded','domready','focus','blur','resize','scroll','unload','scroll','exception','message','reset'];var reSynthEvents=new RegExp('^('+frameEvents.join('|')+')','i');Ext.ux.ManagedIFrame.Element=Ext.extend(Ext.Element,{constructor:function(element,forceNew,doc){var d=doc||document;var elCache=ELD.resolveCache?ELD.resolveCache(d)._elCache:El.cache;var dom=typeof element=="string"?d.getElementById(element):element.dom||element;if(!dom||!(/^(iframe|frame)/i).test(dom.tagName)){return null;}
var id=dom.id;if(forceNew!==true&&id&&elCache[id]){return elCache[id];}else{if(id){elCache[id]=this;}}
this.dom=dom;this.id=id||Ext.id(dom);this.dom.name||(this.dom.name=this.id);if(Ext.isIE){document.frames[this.dom.name]||(document.frames[this.dom.name].name=this.dom);}
this.dom.ownerCt=this;MIM.register(this);(this._observable=new Ext.util.Observable()).addEvents('documentloaded','domready','exception','resize','message','blur','focus','unload','scroll','reset');this._observable.addEvents('_docready','_docload');this.dom[Ext.isIE?'onreadystatechange':'onload']=this.dom['onerror']=this.loadHandler.createDelegate(this);},destructor:function(){this.dom[Ext.isIE?'onreadystatechange':'onload']=this.dom['onerror']=EMPTYFN;MIM.deRegister(this);this.removeAllListeners();Ext.destroy(this.shim,this.DDM);this.hideMask(true);delete this.loadMask;this.reset();this.manager=null;this.dom.ownerCt=null;},cleanse:function(forceReclean,deep){if(this.isCleansed&&forceReclean!==true){return this;}
var d=this.dom,n=d.firstChild,nx;while(d&&n){nx=n.nextSibling;deep&&Ext.fly(n).cleanse(forceReclean,deep);Ext.removeNode(n);n=nx;}
this.isCleansed=true;return this;},src:null,CSS:null,manager:null,disableMessaging:true,domReadyRetries:7500,focusOnLoad:Ext.isIE,eventsFollowFrameLinks:true,_domCache:null,remove:function(){this.destructor.apply(this,arguments);ElFrame.superclass.remove.apply(this,arguments);},getDocument:function(){return this.dom?this.dom.ownerDocument:document;},submitAsTarget:function(submitCfg){var opt=submitCfg||{},D=this.getDocument(),form=Ext.getDom(opt.form?opt.form.form||opt.form:null,D)||Ext.DomHelper.append(D.body,{tag:'form',cls:'x-hidden x-mif-form',encoding:'multipart/form-data'}),formState={target:form.target||'',method:form.method||'',encoding:form.encoding||'',enctype:form.enctype||'',action:form.action||''},encoding=opt.encoding||form.encoding,method=opt.method||form.method||'POST';Ext.fly(form,D).set({target:this.dom.name,method:method,encoding:encoding,action:opt.url||opt.action||form.action});if(method=='POST'||!!opt.enctype){Ext.fly(form,D).set({enctype:opt.enctype||form.enctype||encoding});}
var hiddens,hd,ps;if(opt.params&&(ps=Ext.isFunction(opt.params)?opt.params():opt.params)){hiddens=[];Ext.iterate(ps=typeof ps=='string'?Ext.urlDecode(ps,false):ps,function(n,v){Ext.fly(hd=D.createElement('input')).set({type:'hidden',name:n,value:v});form.appendChild(hd);hiddens.push(hd);});}
opt.callback&&this._observable.addListener('_docready',opt.callback,opt.scope,{single:true});this._frameAction=true;this._targetURI=location.href;this.showMask();(function(){form.submit();hiddens&&Ext.each(hiddens,Ext.removeNode,Ext);var ff=Ext.fly(form,'_dynaForm');if(ff.hasClass('x-mif-form')){ff.remove();}else{ff.set(formState);}
this.hideMask(true);}).defer(100,this);return this;},resetUrl:(function(){return Ext.isIE&&Ext.isSecure?Ext.SSL_SECURE_URL:'about:blank';})(),setSrc:function(url,discardUrl,callback,scope){var src=url||this.src||this.resetUrl;var O=this._observable;this._unHook();Ext.isFunction(callback)&&O.addListener('_docload',callback,scope||this,{single:true});this.showMask();(discardUrl!==true)&&(this.src=src);var s=this._targetURI=(Ext.isFunction(src)?src()||'':src);try{this._frameAction=true;this.dom.src=s;this.checkDOM();}catch(ex){O.fireEvent.call(O,'exception',this,ex);}
return this;},setLocation:function(url,discardUrl,callback,scope){var src=url||this.src||this.resetUrl;var O=this._observable;this._unHook();Ext.isFunction(callback)&&O.addListener('_docload',callback,scope||this,{single:true});this.showMask();var s=this._targetURI=(Ext.isFunction(src)?src()||'':src);if(discardUrl!==true){this.src=src;}
try{this._frameAction=true;this.getWindow().location.replace(s);this.checkDOM();}catch(ex){O.fireEvent.call(O,'exception',this,ex);}
return this;},reset:function(src,callback,scope){this._unHook();var loadMaskOff=false;var s=src,win=this.getWindow();if(this.loadMask){loadMaskOff=this.loadMask.disabled;this.loadMask.disabled=false;}
this.hideMask(true);if(win){this.isReset=true;var cb=callback;this._observable.addListener('_docload',function(frame){if(this.loadMask){this.loadMask.disabled=loadMaskOff;};Ext.isFunction(cb)&&(cb=cb.apply(scope||this,arguments));this._observable.fireEvent("reset",this);},this,{single:true});Ext.isFunction(s)&&(s=src());s=this._targetURI=Ext.isEmpty(s,true)?this.resetUrl:s;win.location.href=s;}
return this;},scriptRE:/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/gi,update:function(content,loadScripts,callback,scope){loadScripts=loadScripts||this.getUpdater().loadScripts||false;content=Ext.DomHelper.markup(content||'');content=loadScripts===true?content:content.replace(this.scriptRE,"");var doc;if((doc=this.getFrameDocument())&&!!content.length){this._unHook();this.src=null;this.showMask();Ext.isFunction(callback)&&this._observable.addListener('_docload',callback,scope||this,{single:true});this._targetURI=location.href;doc.open();this._frameAction=true;doc.write(content);doc.close();this.checkDOM();}else{this.hideMask(true);Ext.isFunction(callback)&&callback.call(scope,this);}
return this;},execCommand:function(command,userInterface,value,validate){var doc,assert;if((doc=this.getFrameDocument())&&!!command){try{Ext.isIE&&this.getWindow().focus();assert=validate&&Ext.isFunction(doc.queryCommandEnabled)?doc.queryCommandEnabled(command):true;return assert&&doc.execCommand(command,!!userInterface,value);}catch(eex){return false;}}
return false;},setDesignMode:function(active){var doc;(doc=this.getFrameDocument())&&(doc.designMode=(/on|true/i).test(String(active))?'on':'off');},getUpdater:function(){return this.updateManager||(this.updateManager=new MIF.Updater(this));},getHistory:function(){var h=null;try{h=this.getWindow().history;}catch(eh){}
return h;},get:function(el){var doc=this.getFrameDocument();return doc?Ext.get(el,doc):doc=null;},fly:function(el,named){var doc=this.getFrameDocument();return doc?Ext.fly(el,named,doc):null;},getDom:function(el){var d;if(!el||!(d=this.getFrameDocument())){return(d=null);}
return Ext.getDom(el,d);},select:function(selector,unique){var d;return(d=this.getFrameDocument())?Ext.Element.select(selector,unique,d):d=null;},query:function(selector){var d;return(d=this.getFrameDocument())?Ext.DomQuery.select(selector,d):null;},removeNode:function(node){var dom=n?n.dom||n:null;if(dom&&dom.parentNode&&dom.tagName!='BODY'){if(!dom.ownerDocument||dom.ownerDocument!=this.getFrameDocument()){throw new MIF.Error('documentcontext-remove',dom.ownerDocument);}
var el,docCache=this._domCache;if(docCache&&(el=docCache._elCache[dom.id])){el.dom&&el.removeAllListeners();delete docCache._elCache[dom.id];if(undefined!=docCache._dataCache){delete docCache._dataCache[dom.id];}
el.dom&&(el.dom=null);el=null;}
var D;if(this.domWritable()){if(Ext.isIE&&!Ext.isIE8){var d=D.createElement('div');d.appendChild(dom);d.removeChild(dom);d=null;}else{var p=dom.parentNode;p.removeChild(dom);p=null;}}}
dom=null;},_renderHook:function(){this._windowContext=null;this.CSS=this.CSS?this.CSS.destroy():null;this._hooked=false;try{if(this.writeScript('(function(){(window.hostMIF = parent.document.getElementById("'
+this.id
+'").ownerCt)._windowContext='
+(Ext.isIE?'window':'{eval:function(s){return new Function("return ("+s+")")();}}')
+';})()')){var w,p=this._frameProxy,D=this.getFrameDocument();if(w=this.getWindow()){p||(p=this._frameProxy=this._eventProxy.createDelegate(this));addListener(w,'focus',p);addListener(w,'blur',p);addListener(w,'resize',p);addListener(w,'unload',p);D&&addListener(Ext.isIE?w:D,'scroll',p);}
D&&(this.CSS=new Ext.ux.ManagedIFrame.CSS(D));}}catch(ex){}
return this.domWritable();},_unHook:function(){if(this._hooked){var id,el,c=this._domCache;for(id in c){el=c[id];el&&el.removeAllListeners&&el.removeAllListeners();el&&(c[id]=el=null);delete c[id];}
this._windowContext&&(this._windowContext.hostMIF=null);this._windowContext=null;var w,p=this._frameProxy;if(p&&this.domWritable()&&(w=this.getWindow())){removeListener(w,'focus',p);removeListener(w,'blur',p);removeListener(w,'resize',p);removeListener(w,'unload',p);removeListener(Ext.isIE?w:this.getFrameDocument(),'scroll',p);}}
MIM._flyweights={};this._domCache=null;ELD.clearCache&&ELD.clearCache(this.id);this.CSS=this.CSS?this.CSS.destroy():null;this.domFired=this._frameAction=this.domReady=this._hooked=false;},_windowContext:null,getFrameDocument:function(){var win=this.getWindow(),doc=null;try{doc=(Ext.isIE&&win?win.document:null)||this.dom.contentDocument||window.frames[this.dom.name].document||null;}catch(gdEx){this._domCache=null;ELD.clearCache&&ELD.clearCache(this.id);return false;}
doc=(doc&&Ext.isFunction(ELD.getDocument))?ELD.getDocument(doc,true):doc;if(doc){this._domCache||(this._domCache=ELD.resolveCache?ELD.resolveCache(doc,this.id):{_elCache:{},_dataCache:{},'$_doc':Ext.get(doc,doc)});}
return doc;},getDoc:function(){var D=this.getFrameDocument();return Ext.get(D,D);},getBody:function(){var d;return(d=this.getFrameDocument())?this.get(d.body||d.documentElement):null;},getDocumentURI:function(){var URI,d;try{URI=this.src&&(d=this.getFrameDocument())?d.location.href:null;}catch(ex){}
return URI||(Ext.isFunction(this.src)?this.src():this.src);},getWindowURI:function(){var URI,w;try{URI=(w=this.getWindow())?w.location.href:null;}catch(ex){}
return URI||(Ext.isFunction(this.src)?this.src():this.src);},getWindow:function(){var dom=this.dom,win=null;try{win=dom.contentWindow||window.frames[dom.name]||null;}catch(gwEx){}
return win;},scrollChildIntoView:function(child,container,hscroll){this.fly(child,'_scrollChildIntoView').scrollIntoView(this.getDom(container)||this.getBody().dom,hscroll);return this;},print:function(){try{var win;if(win=this.getWindow()){Ext.isIE&&win.focus();win.print();}}catch(ex){throw new MIF.Error('printexception',ex.description||ex.message||ex);}
return this;},domWritable:function(){return!!Ext.isDocument(this.getFrameDocument(),true)&&!!this._windowContext;},execScript:function(block,useDOM){try{if(this.domWritable()){if(useDOM){this.writeScript(block);}else{return this._windowContext.eval(block);}}else{throw new MIF.Error('execscript-secure-context');}}catch(ex){this._observable.fireEvent.call(this._observable,'exception',this,ex);return false;}
return true;},writeScript:function(block,attributes){attributes=Ext.apply({},attributes||{},{type:"text/javascript",text:block});try{var head,script,doc=this.getFrameDocument();if(doc&&typeof doc.getElementsByTagName!='undefined'){if(!(head=doc.getElementsByTagName("head")[0])){head=doc.createElement("head");doc.getElementsByTagName("html")[0].appendChild(head);}
if(head&&(script=doc.createElement("script"))){for(var attrib in attributes){if(attributes.hasOwnProperty(attrib)&&attrib in script){script[attrib]=attributes[attrib];}}
return!!head.appendChild(script);}}}catch(ex){this._observable.fireEvent.call(this._observable,'exception',this,ex);}finally{script=head=null;}
return false;},loadFunction:function(fn,useDOM,invokeIt){var name=fn.name||fn;var fnSrc=fn.fn||window[fn];name&&fnSrc&&this.execScript(name+'='+fnSrc,useDOM);invokeIt&&this.execScript(name+'()');},loadHandler:function(e,target){var rstatus=(e&&typeof e.type!=='undefined'?e.type:this.dom.readyState);if(this.eventsFollowFrameLinks||this._frameAction||this.isReset){switch(rstatus){case'domready':case'DOMFrameContentLoaded':case'domfail':this._onDocReady(rstatus);break;case'load':case'complete':this._onDocLoaded(rstatus);break;case'error':this._observable.fireEvent.apply(this._observable,['exception',this].concat(arguments));break;default:}}
this.frameState=rstatus;},_onDocReady:function(eventName){var w,obv=this._observable,D;if(!this.isReset&&this.focusOnLoad&&(w=this.getWindow())){w.focus();}
obv.fireEvent("_docready",this);(D=this.getDoc())&&(D.isReady=true);if(!this.domFired&&(this._hooked=this._renderHook())){this.domFired=true;this.isReset||obv.fireEvent.call(obv,'domready',this);}
this.domReady=true;this.hideMask();},_onDocLoaded:function(eventName){var obv=this._observable,w;this.domReady||this._onDocReady('domready');obv.fireEvent("_docload",this);this.isReset||obv.fireEvent("documentloaded",this);this.hideMask(true);this._frameAction=this.isReset=false;},checkDOM:function(win){if(Ext.isOpera||Ext.isGecko){return;}
var n=0,frame=this,domReady=false,b,l,d,max=this.domReadyRetries||2500,polling=false,startLocation=(this.getFrameDocument()||{location:{}}).location.href;(function(){d=frame.getFrameDocument()||{location:{}};polling=(d.location.href!==startLocation||d.location.href===frame._targetURI);if(frame.domReady){return;}
domReady=polling&&((b=frame.getBody())&&!!(b.dom.innerHTML||'').length)||false;if(d.location.href&&!domReady&&(++n<max)){setTimeout(arguments.callee,2);return;}
frame.loadHandler({type:domReady?'domready':'domfail'});})();},filterEventOptionsRe:/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/,addListener:function(eventName,fn,scope,options){if(typeof eventName=="object"){var o=eventName;for(var e in o){if(this.filterEventOptionsRe.test(e)){continue;}
if(typeof o[e]=="function"){this.addListener(e,o[e],o.scope,o);}else{this.addListener(e,o[e].fn,o[e].scope,o[e]);}}
return;}
if(reSynthEvents.test(eventName)){var O=this._observable;if(O){O.events[eventName]||(O.addEvents(eventName));O.addListener.call(O,eventName,fn,scope||this,options);}}else{ElFrame.superclass.addListener.call(this,eventName,fn,scope||this,options);}
return this;},removeListener:function(eventName,fn,scope){var O=this._observable;if(reSynthEvents.test(eventName)){O&&O.removeListener.call(O,eventName,fn,scope||this,options);}else{ElFrame.superclass.removeListener.call(this,eventName,fn,scope||this);}
return this;},removeAllListeners:function(){Ext.EventManager.removeAll(this.dom);var O=this._observable;O&&O.purgeListeners.call(this._observable);return this;},showMask:function(msg,msgCls,maskCls){var lmask=this.loadMask;if(lmask&&!lmask.disabled&&!this._mask){this.mask(msg||lmask.msg,msgCls||lmask.msgCls,maskCls||lmask.maskCls);}},hideMask:function(forced){var tlm=this.loadMask;if(tlm&&!!this._mask){if(forced||(tlm.hideOnReady&&this.domReady)){this.unmask();}}},mask:function(msg,msgCls,maskCls){this._mask&&this.unmask();var p=this.parent('.'+this.cls+'-mask-target')||this.parent();if(p.getStyle("position")=="static"&&!p.select('iframe,frame,object,embed').elements.length){p.addClass("x-masked-relative");}
p.addClass("x-masked");this._mask=Ext.DomHelper.append(p,{cls:maskCls||this.cls+"-el-mask"},true);this._mask.setDisplayed(true);this._mask._agent=p;if(typeof msg=='string'){var delay=(this.loadMask?this.loadMask.delay:0)||10;this._maskMsg=Ext.DomHelper.append(p,{cls:msgCls||this.cls+"-el-mask-msg",style:{visibility:'hidden'},cn:{tag:'div',html:msg}},true);this._maskMsg.setVisibilityMode(Ext.Element.VISIBILITY);(function(){this._mask&&this._maskMsg&&this._maskMsg.center(p).setVisible(true);}).defer(delay,this);}
if(Ext.isIE&&!(Ext.isIE7&&Ext.isStrict)&&this.getStyle('height')=='auto'){this._mask.setSize(undefined,this._mask.getHeight());}
return this._mask;},unmask:function(){var a;if(this._mask){(a=this._mask._agent)&&a.removeClass(["x-masked-relative","x-masked"]);if(this._maskMsg){this._maskMsg.remove();delete this._maskMsg;}
this._mask.remove();delete this._mask;}},createShim:function(imgUrl,shimCls){this.shimCls=shimCls||this.shimCls||'ux-mif-shim';this.shim||(this.shim=this.next('.'+this.shimCls)||Ext.DomHelper.append(this.dom.parentNode,{tag:'img',src:imgUrl||Ext.BLANK_IMAGE_URL,cls:this.shimCls,galleryimg:"no"},true));this.shim&&(this.shim.autoBoxAdjust=false);return this.shim;},toggleShim:function(show){var shim=this.shim||this.createShim();var cls=this.shimCls+'-on';!show&&shim.removeClass(cls);show&&!shim.hasClass(cls)&&shim.addClass(cls);},load:function(loadCfg){var um;if(um=this.getUpdater()){if(loadCfg&&loadCfg.renderer){um.setRenderer(loadCfg.renderer);delete loadCfg.renderer;}
um.update.apply(um,arguments);}
return this;},_eventProxy:function(e){if(!e)return;e=Ext.EventObject.setEvent(e);var be=e.browserEvent||e,er,args=[e.type,this];if(!be['eventPhase']||(be['eventPhase']==(be['AT_TARGET']||2))){if(e.type=='resize'){var doc=this.getFrameDocument();doc&&(args.push({height:ELD.getDocumentHeight(doc),width:ELD.getDocumentWidth(doc)},{height:ELD.getViewportHeight(doc),width:ELD.getViewportWidth(doc)},{height:ELD.getViewHeight(false,doc),width:ELD.getViewWidth(false,doc)}));}
er=this._observable?this._observable.fireEvent.apply(this._observable,args.concat(Array.prototype.slice.call(arguments,0))):null;(e.type=='unload')&&this._unHook();}
return er;},sendMessage:function(message,tag,origin){},postMessage:function(message,ports,origin){}});ElFrame=Ext.Element.IFRAME=Ext.Element.FRAME=Ext.ux.ManagedIFrame.Element;var fp=ElFrame.prototype;Ext.override(ElFrame,{on:fp.addListener,un:fp.removeListener,getUpdateManager:fp.getUpdater});Ext.ux.ManagedIFrame.ComponentAdapter=function(){};Ext.ux.ManagedIFrame.ComponentAdapter.prototype={version:2.01,defaultSrc:null,title:'&#160;',unsupportedText:'Inline frames are NOT enabled\/supported by your browser.',hideMode:!Ext.isIE&&!!Ext.ux.plugin.VisibilityMode?'nosize':'display',animCollapse:Ext.isIE,animFloat:Ext.isIE,frameConfig:null,focusOnLoad:false,frameEl:null,useShim:false,autoScroll:true,autoLoad:null,getId:function(){return this.id||(this.id="mif-comp-"+(++Ext.Component.AUTO_ID));},stateEvents:['documentloaded'],stateful:false,setAutoScroll:function(auto){var scroll=Ext.value(auto,this.autoScroll===true);this.rendered&&this.getFrame()&&this.frameEl.setOverflow((this.autoScroll=scroll)?'auto':'hidden');return this;},getContentTarget:function(){return this.getFrame();},getFrame:function(){if(this.rendered){if(this.frameEl){return this.frameEl;}
var f=this.items&&this.items.first?this.items.first():null;f&&(this.frameEl=f.frameEl);return this.frameEl;}
return null;},getFrameWindow:function(){return this.getFrame()?this.frameEl.getWindow():null;},getFrameDocument:function(){return this.getFrame()?this.frameEl.getFrameDocument():null;},getFrameDoc:function(){return this.getFrame()?this.frameEl.getDoc():null;},getFrameBody:function(){return this.getFrame()?this.frameEl.getBody():null;},resetFrame:function(){this.getFrame()&&this.frameEl.reset.apply(this.frameEl,arguments);return this;},submitAsTarget:function(submitCfg){this.getFrame()&&this.frameEl.submitAsTarget.apply(this.frameEl,arguments);return this;},load:function(loadCfg){if(loadCfg&&this.getFrame()){var args=arguments;this.resetFrame(null,function(){loadCfg.submitAsTarget?this.submitAsTarget.apply(this,args):this.frameEl.load.apply(this.frameEl,args);},this);}
this.autoLoad=loadCfg;return this;},doAutoLoad:function(){this.autoLoad&&this.load(typeof this.autoLoad=='object'?this.autoLoad:{url:this.autoLoad});},getUpdater:function(){return this.getFrame()?this.frameEl.getUpdater():null;},setSrc:function(url,discardUrl,callback,scope){this.getFrame()&&this.frameEl.setSrc.apply(this.frameEl,arguments);return this;},setLocation:function(url,discardUrl,callback,scope){this.getFrame()&&this.frameEl.setLocation.apply(this.frameEl,arguments);return this;},getState:function(){var URI=this.getFrame()?this.frameEl.getDocumentURI()||null:null;var state=this.supr().getState.call(this);state=Ext.apply(state||{},{defaultSrc:Ext.isFunction(URI)?URI():URI,autoLoad:this.autoLoad});return state;},setMIFEvents:function(){this.addEvents('documentloaded','domready','exception','message','blur','focus','scroll','resize','unload','reset');},sendMessage:function(message,tag,origin){},onAdd:function(C){C.relayTarget&&this.suspendEvents(true);},initRef:function(){if(this.ref){var t=this,levels=this.ref.split('/'),l=levels.length,i;for(i=0;i<l;i++){if(t.ownerCt){t=t.ownerCt;}}
this.refName=levels[--i];t[this.refName]||(t[this.refName]=this);this.refOwner=t;}}};Ext.ux.ManagedIFrame.Component=Ext.extend(Ext.BoxComponent,{ctype:"Ext.ux.ManagedIFrame.Component",initComponent:function(){var C={monitorResize:this.monitorResize||(this.monitorResize=!!this.fitToParent),plugins:(this.plugins||[]).concat(this.hideMode==='nosize'&&Ext.ux.plugin.VisibilityMode?[new Ext.ux.plugin.VisibilityMode({hideMode:'nosize',elements:['bwrap']})]:[])};MIF.Component.superclass.initComponent.call(Ext.apply(this,Ext.apply(this.initialConfig,C)));this.setMIFEvents();},onRender:function(){this.el||(this.autoEl={});MIF.Component.superclass.onRender.apply(this,arguments);var frCfg=this.frameCfg||this.frameConfig||(this.relayTarget?{name:this.relayTarget.id}:{})||{};var frDOM=frCfg.autoCreate||frCfg;frDOM=Ext.apply({tag:'iframe',id:Ext.id()},frDOM);var frame=this.el.child('iframe',true)||this.el.child('frame',true)||this.el.createChild([Ext.apply({name:frDOM.id,frameborder:0},frDOM),{tag:'noframes',html:this.unsupportedText||null}]);var F;if(F=this.frameEl=(!!frame?new MIF.Element(frame,true):null)){(F.ownerCt=(this.relayTarget||this)).frameEl=F;F.addClass(['ux-mif','ux-mif-fill']);if(this.loadMask){var mEl=this.loadMask.maskEl||'x-panel-bwrap';F.loadMask=Ext.apply({disabled:false,hideOnReady:false,msgCls:'ext-el-mask-msg x-mask-loading',maskCls:'ext-el-mask'},{maskEl:Ext.get(this[mEl]||F.parent('.'+mEl)||mEl||this.el)},this.loadMask);F.cls&&F.loadMask.maskEl&&F.loadMask.maskEl.addClass(F.cls+'-mask-target');}
F.disableMessaging=Ext.value(frCfg.disableMessaging,true);F._observable&&(this.relayTarget||this).relayEvents(F._observable,frameEvents.concat(this._msgTagHandlers||[]));delete this.contentEl;}},afterRender:function(container){MIF.Component.superclass.afterRender.apply(this,arguments);if(this.fitToParent&&!this.ownerCt){var pos=this.getPosition(),size=(Ext.get(this.fitToParent)||this.getEl().parent()).getViewSize();this.setSize(size.width-pos[0],size.height-pos[1]);}
this.getEl().setOverflow('hidden');this.setAutoScroll();var F;if(F=this.frameEl){var ownerCt=this.ownerCt;while(ownerCt){ownerCt.on('afterlayout',function(container,layout){Ext.each(['north','south','east','west'],function(region){var reg;if((reg=layout[region])&&reg.split&&reg.split.dd&&!reg._splitTrapped){reg.split.dd.endDrag=reg.split.dd.endDrag.createSequence(MIM.hideShims,MIM);reg.split.on('beforeresize',MIM.showShims,MIM);reg._splitTrapped=MIM._splitTrapped=true;}},this);},this,{single:true});ownerCt=ownerCt.ownerCt;}
if(!!this.ownerCt||this.useShim){this.shim=F.createShim();}
this.getUpdater().showLoadIndicator=this.showLoadIndicator||false;var resumeEvents=this.relayTarget&&this.ownerCt?this.ownerCt.resumeEvents.createDelegate(this.ownerCt):null;if(this.autoload){this.doAutoLoad();}else if(this.frameMarkup||this.html){F.update(this.frameMarkup||this.html,true,resumeEvents);delete this.html;delete this.frameMarkup;return;}else{if(this.defaultSrc){F.setSrc(this.defaultSrc,false);}else{F.reset(null,resumeEvents);return;}}
resumeEvents&&resumeEvents();}},beforeDestroy:function(){this.setVisible(false);var F;if(F=this.getFrame()){F.hide();F.remove();El.uncache(F);this.frameEl=this.shim=null;}
this.relayTarget&&(this.relayTarget.frameEl=null);MIF.Component.superclass.beforeDestroy.call(this);}});Ext.override(MIF.Component,MIF.ComponentAdapter.prototype);Ext.reg('mif',MIF.Component);function embed_MIF(config){config||(config={});config.layout='fit';config.items={xtype:'mif',ref:'mifChild',useShim:true,autoScroll:Ext.value(config.autoScroll,this.autoScroll),defaultSrc:Ext.value(config.defaultSrc,this.defaultSrc),frameMarkup:Ext.value(config.html,this.html),loadMask:Ext.value(config.loadMask,this.loadMask),focusOnLoad:Ext.value(config.focusOnLoad,this.focusOnLoad),frameConfig:Ext.value(config.frameConfig||config.frameCfg,this.frameConfig),relayTarget:this};delete config.html;this.setMIFEvents();return config;};Ext.ux.ManagedIFrame.Panel=Ext.extend(Ext.Panel,{ctype:"Ext.ux.ManagedIFrame.Panel",constructor:function(config){MIF.Panel.superclass.constructor.call(this,embed_MIF.call(this,config));}});Ext.override(MIF.Panel,MIF.ComponentAdapter.prototype);Ext.reg('iframepanel',MIF.Panel);Ext.ux.ManagedIFrame.Portlet=Ext.extend(Ext.ux.ManagedIFrame.Panel,{ctype:"Ext.ux.ManagedIFrame.Portlet",anchor:'100%',frame:true,collapseEl:'bwrap',collapsible:true,draggable:true,cls:'x-portlet'});Ext.reg('iframeportlet',MIF.Portlet);Ext.ux.ManagedIFrame.Window=Ext.extend(Ext.Window,{ctype:"Ext.ux.ManagedIFrame.Window",constructor:function(config){MIF.Window.superclass.constructor.call(this,embed_MIF.call(this,config));}});Ext.override(MIF.Window,MIF.ComponentAdapter.prototype);Ext.reg('iframewindow',MIF.Window);Ext.ux.ManagedIFrame.Updater=Ext.extend(Ext.Updater,{showLoading:function(){this.showLoadIndicator&&this.el&&this.el.mask(this.indicatorText);},hideLoading:function(){this.showLoadIndicator&&this.el&&this.el.unmask();},updateComplete:function(response){MIF.Updater.superclass.updateComplete.apply(this,arguments);this.hideLoading();},processFailure:function(response){MIF.Updater.superclass.processFailure.apply(this,arguments);this.hideLoading();}});var styleCamelRe=/(-[a-z])/gi;var styleCamelFn=function(m,a){return a.charAt(1).toUpperCase();};Ext.ux.ManagedIFrame.CSS=function(hostDocument){var doc;if(hostDocument){doc=hostDocument;return{rules:null,destroy:function(){return doc=null;},createStyleSheet:function(cssText,id){var ss;if(!doc)return;var head=doc.getElementsByTagName("head")[0];var rules=doc.createElement("style");rules.setAttribute("type","text/css");Ext.isString(id)&&rules.setAttribute("id",id);if(Ext.isIE){head.appendChild(rules);ss=rules.styleSheet;ss.cssText=cssText;}else{try{rules.appendChild(doc.createTextNode(cssText));}catch(e){rules.cssText=cssText;}
head.appendChild(rules);ss=rules.styleSheet?rules.styleSheet:(rules.sheet||doc.styleSheets[doc.styleSheets.length-1]);}
this.cacheStyleSheet(ss);return ss;},removeStyleSheet:function(id){if(!doc||!id)return;var existing=doc.getElementById(id);if(existing){existing.parentNode.removeChild(existing);}},swapStyleSheet:function(id,url){if(!doc)return;this.removeStyleSheet(id);var ss=doc.createElement("link");ss.setAttribute("rel","stylesheet");ss.setAttribute("type","text/css");Ext.isString(id)&&ss.setAttribute("id",id);ss.setAttribute("href",url);doc.getElementsByTagName("head")[0].appendChild(ss);},refreshCache:function(){return this.getRules(true);},cacheStyleSheet:function(ss,media){this.rules||(this.rules={});try{Ext.each(ss.cssRules||ss.rules||[],function(rule){this.hashRule(rule,ss,media);},this);Ext.each(ss.imports||[],function(sheet){sheet&&this.cacheStyleSheet(sheet,this.resolveMedia([sheet,sheet.parentStyleSheet]));},this);}catch(e){}},hashRule:function(rule,sheet,mediaOverride){var mediaSelector=mediaOverride||this.resolveMedia(rule);if(rule.cssRules||rule.rules){this.cacheStyleSheet(rule,this.resolveMedia([rule,rule.parentRule]));}
if(rule.styleSheet){this.cacheStyleSheet(rule.styleSheet,this.resolveMedia([rule,rule.ownerRule,rule.parentStyleSheet]));}
rule.selectorText&&Ext.each((mediaSelector||'').split(','),function(media){this.rules[((media?media.trim()+':':'')+rule.selectorText).toLowerCase()]=rule;},this);},resolveMedia:function(rule){var media;Ext.each([].concat(rule),function(r){if(r&&r.media&&r.media.length){media=r.media;return false;}});return media?(Ext.isIE?String(media):media.mediaText):'';},getRules:function(refreshCache){if(!this.rules||refreshCache){this.rules={};if(doc){var ds=doc.styleSheets;for(var i=0,len=ds.length;i<len;i++){try{this.cacheStyleSheet(ds[i]);}catch(e){}}}}
return this.rules;},getRule:function(selector,refreshCache,mediaSelector){var rs=this.getRules(refreshCache);if(Ext.type(mediaSelector)=='string'){mediaSelector=mediaSelector.trim()+':';}else{mediaSelector='';}
if(!Ext.isArray(selector)){return rs[(mediaSelector+selector).toLowerCase()];}
var select;for(var i=0;i<selector.length;i++){select=(mediaSelector+selector[i]).toLowerCase();if(rs[select]){return rs[select];}}
return null;},updateRule:function(selector,property,value,mediaSelector){Ext.each((mediaSelector||'').split(','),function(mediaSelect){if(!Ext.isArray(selector)){var rule=this.getRule(selector,false,mediaSelect);if(rule){rule.style[property.replace(camelRe,camelFn)]=value;return true;}}else{for(var i=0;i<selector.length;i++){if(this.updateRule(selector[i],property,value,mediaSelect)){return true;}}}
return false;},this);}};}};Ext.ux.ManagedIFrame.Manager=function(){var frames={};var implementation={_DOMFrameReadyHandler:function(e){try{var $frame;if($frame=e.target.ownerCt){$frame.loadHandler.call($frame,e);}}catch(rhEx){}},shimCls:'ux-mif-shim',register:function(frame){frame.manager=this;frames[frame.id]=frames[frame.name]={ref:frame};return frame;},deRegister:function(frame){delete frames[frame.id];delete frames[frame.name];},hideShims:function(){var mm=MIF.Manager;mm.shimsApplied&&Ext.select('.'+mm.shimCls,true).removeClass(mm.shimCls+'-on');mm.shimsApplied=false;},showShims:function(){var mm=MIF.Manager;!mm.shimsApplied&&Ext.select('.'+mm.shimCls,true).addClass(mm.shimCls+'-on');mm.shimsApplied=true;},getFrameById:function(id){return typeof id=='string'?(frames[id]?frames[id].ref||null:null):null;},getFrameByName:function(name){return this.getFrameById(name);},getFrameHash:function(frame){return frames[frame.id]||frames[frame.id]||null;},_flyweights:{},destroy:function(){if(document.addEventListener){window.removeEventListener("DOMFrameContentLoaded",this._DOMFrameReadyHandler,false);}
delete this._flyweights;}};document.addEventListener&&window.addEventListener("DOMFrameContentLoaded",implementation._DOMFrameReadyHandler,false);Ext.EventManager.on(window,'beforeunload',implementation.destroy,implementation);return implementation;}();MIM=MIF.Manager;MIM.showDragMask=MIM.showShims;MIM.hideDragMask=MIM.hideShims;var winDD=Ext.Window.DD;Ext.override(winDD,{startDrag:winDD.prototype.startDrag.createInterceptor(MIM.showShims),endDrag:winDD.prototype.endDrag.createInterceptor(MIM.hideShims)});Ext.ux.ManagedIFramePanel=MIF.Panel;Ext.ux.ManagedIFramePortlet=MIF.Portlet;Ext.ux.ManagedIframe=function(el,opt){var args=Array.prototype.slice.call(arguments,0),el=Ext.get(args[0]),config=args[0];if(el&&el.dom&&el.dom.tagName=='IFRAME'){config=args[1]||{};}else{config=args[0]||args[1]||{};el=config.autoCreate?Ext.get(Ext.DomHelper.append(config.autoCreate.parent||Ext.getBody(),Ext.apply({tag:'iframe',frameborder:0,cls:'x-mif',src:(Ext.isIE&&Ext.isSecure)?Ext.SSL_SECURE_URL:'about:blank'},config.autoCreate))):null;if(el&&config.unsupportedText){Ext.DomHelper.append(el.dom.parentNode,{tag:'noframes',html:config.unsupportedText});}}
var mif=new MIF.Element(el,true);if(mif){Ext.apply(mif,{disableMessaging:Ext.value(config.disableMessaging,true),loadMask:!!config.loadMask?Ext.apply({msg:'Loading..',msgCls:'x-mask-loading',maskEl:null,hideOnReady:false,disabled:false},config.loadMask):false,_windowContext:null,eventsFollowFrameLinks:Ext.value(config.eventsFollowFrameLinks,true)});config.listeners&&mif.on(config.listeners);if(!!config.html){mif.update(config.html);}else{!!config.src&&mif.setSrc(config.src);}}
return mif;};Ext.ux.ManagedIFrame.Error=Ext.extend(Ext.Error,{constructor:function(message,arg){this.arg=arg;Ext.Error.call(this,message);},name:'Ext.ux.ManagedIFrame'});Ext.apply(Ext.ux.ManagedIFrame.Error.prototype,{lang:{'documentcontext-remove':'An attempt was made to remove an Element from the wrong document context.','execscript-secure-context':'An attempt was made at script execution within a document context with limited access permissions.','printexception':'An Error was encountered attempting the print the frame contents (document access is likely restricted).'}});Ext.onReady(function(){var CSS=new Ext.ux.ManagedIFrame.CSS(document),rules=[];CSS.getRule('.ux-mif-fill')||(rules.push('.ux-mif-fill{height:100%;width:100%;}'));CSS.getRule('.ux-mif-mask-target')||(rules.push('.ux-mif-mask-target{position:relative;zoom:1;}'));CSS.getRule('.ux-mif-el-mask')||(rules.push('.ux-mif-el-mask {z-index: 100;position: absolute;top:0;left:0;-moz-opacity: 0.5;opacity: .50;*filter: alpha(opacity=50);width: 100%;height: 100%;zoom: 1;} ','.ux-mif-el-mask-msg {z-index: 1;position: absolute;top: 0;left: 0;border:1px solid;background:repeat-x 0 -16px;padding:2px;} ','.ux-mif-el-mask-msg div {padding:5px 10px 5px 10px;border:1px solid;cursor:wait;} '));if(!CSS.getRule('.ux-mif-shim')){rules.push('.ux-mif-shim {z-index:8500;position:absolute;top:0px;left:0px;background:transparent!important;overflow:hidden;display:none;}');rules.push('.ux-mif-shim-on{width:100%;height:100%;display:block;zoom:1;}');rules.push('.ext-ie6 .ux-mif-shim{margin-left:5px;margin-top:3px;}');}!!rules.length&&CSS.createStyleSheet(rules.join(' '),'mifCSS');});Ext.provide&&Ext.provide('mif');})()
Ext.ns('Ext.ux.TabPanel.plugins');Ext.ux.TabPanel.plugins.Button=Ext.extend(Object,{tp:null,btnName:null,constructor:function(config){config=config||{};Ext.apply(this,config);},init:function(tp){if(tp instanceof Ext.TabPanel){tp.onRender=tp.onRender.createSequence(this.onTabPanelRender,this);tp.adjustBodyWidth=tp.adjustBodyWidth.createSequence(this.adjustBodyWidth,this);this.tp=tp;}
if(!this.btn){var btnConfig=this.btnConfig||{};this.btn=new Ext.Button(btnConfig);}else if(this.btn.xtype){this.btn=Ext.ComponentMgr.create(this.btn);}
this.btn.tp=tp;if(this.btnName){this.tp[this.btnName]=this.btn;}},onTabPanelRender:function(){var pos=this.tp.tabPosition=='top'?'header':'footer';if(!this.tp.tabPanelBtnWrap){this.tp.tabPanelBtnWrap=this.tp.el.createChild({cls:'x-tab-strip-wrap',style:{position:'absolute',right:'5px',top:'2px',width:'auto',margin:0},cn:{tag:'ul',cls:'x-tab-strip x-tab-strip-'+this.tp.tabPosition,style:{width:'auto'}}},this.tp[pos]);this.tp.el.setStyle('position','relative');this.tp.tabPanelBtnWrap.setVisibilityMode(Ext.Element.DISPLAY);}
var btnContainer=this.tp.tabPanelBtnWrap.child('ul').createChild({tag:'div',style:{float:'left'}});this.btn.render(btnContainer);this.tp[pos].setWidth(this.tp[pos].getWidth()-this.btn.getWidth());},adjustBodyWidth:function(w){if(this.tp.header){this.tp.header.setWidth(this.tp.header.getWidth()-this.btn.getWidth());}
if(this.tp.footer){this.tp.footer.setWidth(this.tp.footer.getWidth()-this.btn.getWidth());}
return w;}});Ext.ns('Ext.ux.TabPanel.plugins');Ext.ux.TabPanel.plugins.TabCloseMenu=function(){var tabs,menu,ctxItem;this.init=function(tp){tabs=tp;tabs.on('contextmenu',onContextMenu);}
function onContextMenu(ts,item,e){if(!menu){menu=new Ext.menu.Menu([{id:tabs.id+'-close',text:'Zamknij kartę',handler:function(){tabs.remove(ctxItem);}},{id:tabs.id+'-close-others',text:'Zamknij pozostałe karty',handler:function(){tabs.items.each(function(item){if(item.closable&&item!=ctxItem){tabs.remove(item);}});}}]);}
ctxItem=item;var items=menu.items;items.get(tabs.id+'-close').setDisabled(!item.closable);var disableOthers=true;tabs.items.each(function(){if(this!=item&&this.closable){disableOthers=false;return false;}});items.get(tabs.id+'-close-others').setDisabled(disableOthers);menu.showAt(e.getPoint());}};if(typeof _!="function"){_=function(str){return str;};}
Ext.ux.Flot=Ext.extend(Ext.BoxComponent,{version:"0.8a",type:'auto',sortType:Ext.data.SortTypes.asFloat,contextMenu:[{name:'select',text:_('Select'),iconCls:'image_resize_actual',handler:function(){this.setSelectionAction('select');}},{name:'zoom',text:_('Zoom'),iconCls:'magnifier_zoom',handler:function(){this.setSelectionAction('zoom');}},{name:'move',text:_('Move'),iconCls:'magnifier__arrow',handler:function(){this.setSelectionAction('move');}},'-',{name:'actual',text:_('100%'),iconCls:'magnifier_zoom_actual',handler:function(){this.currentRanges=this.getRanges();this.zoomRatio(1.0);}},'-',{name:'selectall',text:_('Select All'),handler:function(){this.selectAll();}},{name:'unselectall',text:_('Unselect All'),handler:function(){this.unselectAll();}},'-',{name:'property',text:_('Property'),iconCls:'puzzle',handler:function(){this.showProperty();}}],datapointContextMenu:[{name:'selectalldatapoint',text:_('Select All Points'),iconCls:'flag_plus',handler:function(){var item=this.clickItem||this.hoverItem;if(item){this.selectAll(item.series);}}},{name:'unselectalldatapoint',text:_('Unselect All Points'),iconCls:'flag_minus',handler:function(){var item=this.clickItem||this.hoverItem;if(item){this.unselectAll(item.series);}}},'-',{name:'showseries',text:_('Show Series'),iconCls:'database_plus',handler:function(){var item=this.clickItem||this.hoverItem;if(item){this.setHidden(item.series,false);}}},{name:'hideseries',text:_('Hide Series'),iconCls:'database_minus',handler:function(){var item=this.clickItem||this.hoverItem;if(item){this.setHidden(item.series,true);}}}],tooltip:true,tooltipEvent:'plothover',initComponent:function(){Ext.applyIf(this,{grid:{},xaxis:{},yaxis:{},selection:{},crosshair:{}});Ext.applyIf(this.grid,{clickable:true,hoverable:true});Ext.applyIf(this.selection,{mode:"xy",action:'select',appendKey:'shiftKey',zoomDirection:'tb',zoomWindow:'expand',cursor:{}});Ext.applyIf(this.selection.cursor,{select:'default',zoom:'crosshair',move:'move'});this.store=this.store||new Ext.data.JsonStore({});this.selected=[];this.actions={};var keys=['contextMenu','datapointContextMenu'];for(var k=0;k<keys.length;k++){var key=keys[k];if(this[key]){var menu=[];var contextMenu=this[key];for(var i=0,len=contextMenu.length;i<len;i++){if(typeof contextMenu[i]=='object'){var action=new Ext.Action(Ext.apply({scope:this},contextMenu[i]));this.actions[contextMenu[i].name]=action;menu.push(action);}else{menu.push(contextMenu[i]);}}
this[key]=menu;}}
Ext.ux.Flot.superclass.initComponent.call(this);this.addEvents("click","dblclick","contextmenu","beforedraw","draw","plotselected","plotselecting","plothover","plotclick","plotshow","plothide","selectionactionchange","selectionchange","legendclick");},createStoreData:function(series){series=series||this.getData();var axes=this.getAxes();var fields=[];var keys=['xaxis','x2axis'];for(var k=0;k<keys.length;k++){fields.push({name:keys[k],xColumn:true,type:this.type,sortType:this.sortType});}
var hash={};for(var i=0,len=series.length;i<len;i++){var s=series[i];var name=s.label||i;var xaxis=(s.xaxis==axes.x2axis)?'x2axis':'xaxis';fields.push({name:name,type:this.type,sortType:this.sortType});for(var j=0,dlen=s.data.length;j<dlen;j++){var src=s.data[j];if(src){var dest=hash[src[0]]=hash[src[0]]||{};dest[xaxis]=src[0];dest[name]=src[1];}}}
var data=[];for(var key in hash){data.push(hash[key]);}
return{metaData:{root:'data',totalProperty:'total',successProperty:'success',sortInfo:{field:'xaxis',direction:'ASC'},fields:fields},data:data,total:data.length,success:true};},createSeries:function(store,xColumn){store=store||this.store;if(typeof xColumn=='undefined'){xColumn=store.xColumn;}
var i,len;var series=[];for(i=0,len=store.fields.keys.length;i<len;i++){var finfo=store.fields.items[i];var idx=finfo.dataIndex||finfo.name;if(xColumn==idx){continue;}
series.push({label:finfo.name,dataIndex:idx,type:this.type,sortType:this.sortType,data:[]});}
store.each(function(rec){var series=this.series;var store=this.store;var x=rec.get(this.xColumn);for(var i=0,len=series.length;i<len;i++){var val=rec.get(series[i].dataIndex);series[i].data.push([x,val]);}},{series:series,store:store,xColumn:xColumn});return series;},getStore:function(){return this.store;},clipData:function(ranges){var series=this.getData();var axes=this.getAxes();var clipped=[];for(var i=0,len=series.length;i<len;i++){var s=series[i];clipped[i]={};clipped[i].series=s;clipped[i].datapoints=[];var xaxis=s.xaxis==axes.x2axis?'x2axis':'xaxis';var yaxis=s.yaxis==axes.y2axis?'y2axis':'yaxis';for(var j=0,n=s.data.length;j<n;j++){var d=s.data[j];if(d&&ranges[xaxis].from<=d[0]&&ranges[xaxis].to>=d[0]&&ranges[yaxis].from<=d[1]&&ranges[yaxis].to>=d[1]){clipped[i].datapoints.push([d[0],d[1]]);}}}
return clipped;},onRender:function(ct,position){if(!this.template){if(!Ext.ux.Flot.flotTemplate){Ext.ux.Flot.flotTemplate=new Ext.Template('<div id="{0}"></div>');}
this.template=Ext.ux.Flot.flotTemplate;}
var id=this.id||Ext.id(null,'flot-container');var el,targs=[id];if(position){el=this.template.insertBefore(position,targs,true);}else{el=this.template.append(ct,targs,true);}
this.el=el;if(this.id){this.el.dom.id=this.el.id=this.id;}
this.el.setWidth(this.width||ct.getWidth());this.el.setHeight(this.height||ct.getHeight());this.el.setStyle('cursor',this.selection.cursor[this.selection.action]);var series=this.series;if(this.data){series=this.setupData(this.data,series);}
if(series){series=this.setupSeries(series);this.plot(series);series=this.getData();for(var i=0,len=series.length;i<len;i++){var s=series[i];if(s.hidden){s.hidden=!s.hidden;this.setHidden(s,!s.hidden);}}
this.baseRanges=this.getRanges();}},afterRender:function(){Ext.ux.Flot.superclass.afterRender.call(this);this.el.on({"mousedown":this.onMouseDown,"mouseup":this.onMouseUp,"mouseout":this.onMouseOut,"click":this.onClick,"dblclick":this.onDblClick,"contextmenu":this.onContextMenu,scope:this});$('#'+this.id).bind('plotselected',function(event,range){flot=Ext.getCmp(event.target.id);flot.onPlotSelected(event,range);});$('#'+this.id).bind('plotselecting',function(event,range){flot=Ext.getCmp(event.target.id);flot.onPlotSelecting(event,range);});$('#'+this.id).bind('plothover',function(event,pos,item){flot=Ext.getCmp(event.target.id);flot.onPlotHover(event,pos,item);});$('#'+this.id).bind('plotclick',function(event,pos,item){flot=Ext.getCmp(event.target.id);flot.onPlotClick(event,pos,item);});this.updateAction();if(this.tooltip){this.on(this.tooltipEvent,function(flot,event,pos,item){if(item){this.showTooltip(event,pos,item,false);}},this);}},onResize:function(adjWidth,adjHeight,rawWidth,rawHeight){this.el.setWidth(adjWidth);this.el.setHeight(adjHeight);try{this.plot(this.getData());}catch(e){if(typeof e=='string'){this.onResize.defer(200,this,[adjWidth,adjHeight,rawWidth,rawHeight]);}else{throw e;}}
this.syncSelected();},setupLegend:function(){var legend_tbody=this.el.query("div.legend > table > tbody")[0];if(legend_tbody){var series=this.getData();this.legendCmp=new Ext.Element(legend_tbody);this.legendEls={};var color_boxes=this.legendCmp.query("tr > td.legendColorBox");var labels=this.legendCmp.query("tr > td.legendLabel");for(var i=0,len=series.length;i<len;i++){var s=series[i];var idx=-1;for(var j=0;j<labels.length;j++){var text=labels[j].textContent||labels[j].innerHtml;if(text==s.label){idx=j;break;}}
if(idx>=0){var cb=new Ext.Element(color_boxes[idx]);var lb=new Ext.Element(labels[idx]);cb.on('click',this.onLegendClick,this,{series:s});lb.on('click',this.onLegendClick,this,{series:s});var c=this.legendEls[s.label]||{};if(c.hidden!=s.hidden){(s.hidden)?cb.fadeOut():cb.fadeIn();}
if(s.hidden){cb.hide();}
this.legendEls[s.label]=Ext.apply(c,{legendColorBox:cb,legendLabel:lb,series:s,hidden:s.hidden});}}}},onDraw:function(){this.setupLegend();this.store.loadData(this.createStoreData());this.fireEvent('draw',this);},onSelectionChange:function(){this.updateAction();this.fireEvent('selectionchange',this,this.selected);},onLegendClick:function(e,legendDom,args){var s=args.series;if(this.fireEvent('legendclick',this,Ext.get(legendDom),s)!==false){this.setHidden(s,!s.hidden);}},onMouseDown:function(e){this.lastEvent=this.mouseDownEvent=Ext.apply({},e);},onMouseUp:function(e){this.lastEvent=this.mouseUpEvent=Ext.apply({},e);},onMouseOut:function(e){this.lastEvent=this.mouseUpEvent=Ext.apply({},e);},onClick:function(e){this.fireEvent("click",this,e);},onDblClick:function(e){if(this.fireEvent("dblclick",this,e)!==false){if(this.selection.action=='select'){this;}else{if(this.applyRanges=='baseRanges'){this.applyRanges='currentRanges';}else{this.currentRanges=this.getRanges();this.applyRanges='baseRanges';}
this.zoom(this[this.applyRanges]);}}},onContextMenu:function(e){if(this.fireEvent("contextmenu",this,e)!==false){var contextMenu=this.contextMenu;if(this.clickItem){if(Math.abs(e.xy[0]-this.clickItem.pageX)<=5&&Math.abs(e.xy[1]-this.clickItem.pageY)<=5){contextMenu=this.datapointContextMenu||contextMenu;}}
if(contextMenu){var menu=new Ext.menu.Menu({items:contextMenu});e.stopEvent();menu.showAt(e.getXY());}}},onPlotSelecting:function(event,ranges){this.fireEvent('plotselecting',this,event,ranges);},onPlotSelected:function(event,ranges){if(this.fireEvent('plotselected',this,event,ranges)!==false){if(!this.mouseDownEvent||!this.mouseUpEvent){return;}
var diff_px=[this.mouseDownEvent.xy[0]-this.mouseUpEvent.xy[0],this.mouseDownEvent.xy[1]-this.mouseUpEvent.xy[1]];var axes=this.getAxes();var r={};var keys=['xaxis','yaxis','x2axis','y2axis'],k,axis;switch(this.selection.action){case'select':if(!this.lastEvent[this.selection.appendKey]){this.unselectAll();}
var d=this.clipData(ranges);var changed=false;for(var i=0,len=d.length;i<len;i++){for(var j=0,dlen=d[i].datapoints.length;j<dlen;j++){if(this.addSelected(d[i].series,d[i].datapoints[j])){changed=true;}}}
if(changed){this.onSelectionChange();}
break;case'zoom':var xmin,xmax,ymin,ymax;var x2min,x2max,y2min,y2max;var zoom={},zoomin,z;var w=this.el.getWidth();var h=this.el.getHeight();var rw=Math.abs(diff_px[0]);var rh=Math.abs(diff_px[1]);var fix_x=false,fix_y=false;switch(this.selection.zoomWindow){case'ranges':break;case'expand':fix_x=(rw<rh);fix_y=(rw>rh);break;case'shrink':fix_x=(rw>rh);fix_y=(rw<rh);break;case'width':fix_y=true;break;case'height':fix_x=true;break;default:break;}
for(k=0;k<keys.length;k++){axis=keys[k];if(!axes[axis].used){zoom[axis]=null;continue;}
zoom[axis]=z={from:ranges[axis].from,to:ranges[axis].to,center:(ranges[axis].from+ranges[axis].to)/2,min:axes[axis].min,max:axes[axis].max,axisLength:axes[axis].max-axes[axis].min,rangeLength:ranges[axis].to-ranges[axis].from};var scale=null;if(axis[0]=='x'&&fix_x){scale=rh/rw*w/h;}else if(axis[0]=='y'&&fix_y){scale=rw/rh*h/w;}
if(scale!==null){z.fromOrg=z.from;z.toOrg=z.to;z.from=z.center+(z.from-z.center)*scale;z.to=z.center+(z.to-z.center)*scale;z.rangeLength=z.to-z.from;}}
switch(this.selection.zoomDirection){case'tb':zoomin=diff_px[1]>=0;break;case'bt':zoomin=diff_px[1]<=0;break;case'lr':zoomin=diff_px[0]>=0;break;case'rl':zoomin=diff_px[0]<=0;break;default:zoomin=diff_px[1]>=0;break;}
for(k=0;k<keys.length;k++){axis=keys[k];z=zoom[axis];if(!z){continue;}
if(zoomin){r[axis]={min:z.from,max:z.to};}else{r[axis]={min:z.min+(z.min-z.from)*z.axisLength/z.rangeLength,max:z.max+(z.max-z.to)*z.axisLength/z.rangeLength};}}
this.zoom(r);break;case'move':var to_left=(diff_px[0]<=0)?true:false;var to_bottom=(diff_px[1]>=0)?true:false;for(k=0;k<keys.length;k++){axis=keys[k];if(!axes[axis].used){continue;}
var diff=ranges[axis].to-ranges[axis].from;diff=((axis[0]=='x')?to_left:to_bottom)?-diff:diff;r[axis]={min:axes[axis].min+diff,max:axes[axis].max+diff};}
this.zoom(r);break;default:break;}}},onPlotHover:function(event,pos,item){this.hoverItem=item;this.fireEvent('plothover',this,event,pos,item);},onPlotClick:function(event,pos,item){this.clickItem=item;if(this.fireEvent('plotclick',this,event,pos,item)!==false){if(item){if(item.series.selectable){if(!this.lastEvent[this.selection.appendKey]){this.unselectAll();}
if(!this.addSelected(item.series,item.datapoint)){this.removeSelected(item.series,item.datapoint);}
this.onSelectionChange();}}else{if(!this.lastEvent[this.selection.appendKey]){this.unselectAll();}}}},setSelectionAction:function(action){this.selection.action=action;this.el.setStyle('cursor',this.selection.cursor[this.selection.action]);this.updateAction();this.fireEvent('selectionactionchange',this,action);},getSelectionAction:function(){return this.selection.action;},getRanges:function(){var series=this.getData();var axes=this.getAxes();var r={};if(axes.xaxis){r.xaxis={min:axes.xaxis.min,max:axes.xaxis.max};}
if(axes.yaxis){r.yaxis={min:axes.yaxis.min,max:axes.yaxis.max};}
if(axes.x2axis){r.x2axis={min:axes.x2axis.min,max:axes.x2axis.max};}
if(axes.y2axis){r.y2axis={min:axes.y2axis.min,max:axes.y2axis.max};}
return r;},zoom:function(ranges){var keys=['xaxis','yaxis','x2axis','y2axis'];for(var k=0;k<keys.length;k++){var key=keys[k];var r=ranges[key];if(r){if(typeof r.min=='undefined')r.min=r.from;if(typeof r.max=='undefined')r.max=r.to;Ext.apply(this[key],r);}}
this.plot(this.getData());},zoomRatio:function(ratio){var b=this.baseRanges;var r={};if(b.xaxis){r.xaxis={min:b.xaxis.min*ratio,max:b.xaxis.max*ratio};}
if(b.yaxis){r.yaxis={min:b.yaxis.min*ratio,max:b.yaxis.max*ratio};}
if(b.x2axis){r.x2axis={min:b.x2axis.min*ratio,max:b.x2axis.max*ratio};}
if(b.y2axis){r.y2axis={min:b.y2axis.min*ratio,max:b.y2axis.max*ratio};}
this.zoom(r);},syncSelected:function(){for(var i=0;i<this.selected.length;i++){var selected=this.selected[i];selected.series=this.findSeries(selected.series.id);for(var j=0;j<selected.datapoints.length;j++){this.highlight(selected.series,selected.datapoints[j]);}}},addSelectedPoint:function(selected,datapoint){i=selected.datapoints.indexOf(datapoint);if(i<0){selected.datapoints.push(datapoint);this.highlight(selected.series,datapoint);return true;}
return false;},addSelected:function(series,datapoint){if(!this.selection||!series.selectable){return false;}
var selected=null,i,len;for(i=0,len=this.selected.length;i<len;i++){if(this.selected[i].series==series){selected=this.selected[i];break;}}
if(!selected){selected={series:series,datapoints:[]};this.selected.push(selected);}
return this.addSelectedPoint(selected,datapoint);},selectAll:function(_series){if(!this.selection){return;}
if(typeof _series=='string'){_series=this.findSeries(_series);}
var changed=false;var series=this.getData();this.selected=[];for(var i=0,len=series.length;i<len;i++){if(typeof _series!='undefined'&&_series!=series[i]){continue;}
if(!series[i].selectable){continue;}
var selected={series:series[i],datapoints:[]};this.selected.push(selected);for(var j=0,dlen=series[i].data.length;j<dlen;j++){if(this.addSelectedPoint(selected,series[i].data[j])){changed=true;}}}
if(changed){this.onSelectionChange();}},removeSelected:function(series,datapoint){for(var i=0,len=this.selected.length;i<len;i++){var s=this.selected[i];if(s.series==series){this.unhighlight(series,datapoint);s.datapoints.remove(datapoint);break;}}},unselectAll:function(_series){var changed=false;if(typeof _series=='string'){_series=this.findSeries(_series);}
for(var i=0,len=this.selected.length;i<len;i++){var s=this.selected[i];if(typeof _series!='undefined'&&_series!=s.series){continue;}
for(var j=0,dlen=s.datapoints.length;j<dlen;j++){this.unhighlight(s.series,s.datapoints[j]);}
changed=true;s.datapoints=[];}
if(changed){this.onSelectionChange();}},getSelected:function(){return this.selected;},getSelectedRecords:function(selected){var records=[];selected=selected||this.getSelected();for(var i=0,len=selected.length;i<len;i++){for(var j=0,dlen=selected[i].datapoints.length;j<dlen;j++){var dp=selected[i].datapoints[j];var xkey=selected[i].series.x2axis?'x2axis':'xaxis';var idx=this.store.find(xkey,dp[0]);records.push(this.store.getAt(idx));}}
return records;},setActionDisabled:function(key,disabled){if(this.actions[key]){this.actions[key].setDisabled(disabled);}},updateAction:function(){this.setActionDisabled('zoom',this.selection.action==='zoom');this.setActionDisabled('select',this.selection.action==='select');this.setActionDisabled('move',this.selection.action==='move');var n_selected=0,i,len;for(i=0,len=this.selected.length;i<len;i++){n_selected+=this.selected[i].datapoints.length;}
this.setActionDisabled('unselectall',this.selected.length===0||n_selected===0);this.setActionDisabled('property',!this.hasProperty());var item=this.clickItem||this.hoverItem;if(item){n_selected=0;for(i=0,len=this.selected.length;i<len;i++){if(this.selected[i].series==item.series){n_selected=this.selected[i].datapoints.length;break;}}
this.setActionDisabled('selectalldatapoint',!item.series);this.setActionDisabled('unselectalldatapoint',!item.series||n_selected===0);this.setActionDisabled('showseries',!item.series.hidden);this.setActionDisabled('hideseries',item.series.hidden);}},hasProperty:function(){return true;},showProperty:function(){if(!this.propertyCmp){this.propertyCmp=new Ext.Window({closeAction:'hide',layout:'fit',width:400,height:300,items:[{xtype:'flotpropertygrid',flot:this,layout:'fit'}]});var grid=this.propertyCmp.findByType('flotpropertygrid')[0];this.bindGrid(grid);}
this.propertyCmp.show();},bindGrid:function(grid){this.on('selectionchange',function(flot,selected){var records=flot.getSelectedRecords(selected);var cm=this.getColumnModel();var sm=this.getSelectionModel();for(var i=0,len=records.length;i<len;i++){var rec=records[i];var x=this.store.indexOf(rec);for(var key in rec.data){if(typeof rec.data.key!="undefined"){var y=cm.findColumnIndex(key);sm.select(x,y);}}}},grid);grid.getSelectionModel().on('selectionchange',function(sm){},this);},showTooltip:function(event,pos,item,forceUpdate){if(!this.tooltip||this.disableTooltip){return null;}
if(!forceUpdate&&this.prevTooltipItem&&this.prevTooltipItem.datapoint[0]==item.datapoint[0]&&this.prevTooltipItem.datapoint[1]==item.datapoint[1]&&this.prevTooltipItem.series==item.series){return null;}
this.clearTooltip(this.tooltipCmp);this.prevTooltipItem=item;var c={renderTo:Ext.getBody(),targetXY:[pos.pageX,pos.pageY]};var c={renderTo:Ext.getBody(),targetXY:[pos.pageX,pos.pageY]};var tooltip=this.tooltip;if(typeof tooltip=='boolean'){tooltip='<div id="{tipId}">{label} ({0}, {1})</div>';}
if(typeof tooltip=='string'){if(!this.tipTemplate){this.tipTemplate=new Ext.XTemplate(tooltip);}
c.html=this.tipTemplate.apply({tipId:event.target.id+'-tip',pageX:pos.pageX,pageY:pos.pageY,x:pos.x,y:pos.y,0:item.datapoint[0],1:item.datapoint[1],label:item.series.label,color:item.series.color,shadowSize:item.series.shadowSize,dataIndex:item.dataIndex,seriesIndex:item.seriesIndex});}else if(typeof tooltip=='object'){Ext.apply(c,this.tooltip);}
this.tooltipCmp=new Ext.ToolTip(c);this.tooltipCmp.show();this.tooltipCmp.on('hide',function(tooltipCmp){this.clearTooltip(tooltipCmp);},this);return this.tooltipCmp;},clearTooltip:function(tooltipCmp){tooltipCmp=tooltipCmp||this.tooltipCmp;if(!tooltipCmp){return;}
this.prevTooltipItem=null;if(tooltipCmp==this.tooltipCmp){this.tooltipCmp=null;}
tooltipCmp.destroy();},setTooltipDisable:function(disable){this.disableTooltip=disable;},findSeries:function(name){var series=this.getData();for(var i=0,len=series.length;i<len;i++){var idx=series[i].dataIndex||series[i].label;if(name===idx||name===series[i].id){return series[i];}}
return null;},setupSeries:function(series){if(typeof series.length=='undefined'){series=[series];}
for(var i=0,len=series.length;i<len;i++){var s=series[i];if(typeof s.length!='undefined'){s=series[i]={data:s};}
Ext.apply(s,this.baseSeries);Ext.applyIf(s,{id:Ext.id(null,'flot-series'),legend:Ext.apply({},s.legend),selectable:true,hidden:false});}
return series;},plot:function(series){var _series=[];for(var i=0,len=series.length;i<len;i++){_series.push(Ext.apply({},series[i]));if(this.flot){var axes=this.getAxes();var s=_series[i];if(s.xaxis&&typeof s.xaxis!='number'){s.xaxis=(s.xaxis==axes.x2axis)?'2':'1';}
if(s.yaxis&&typeof s.yaxis!='number'){s.yaxis=(s.yaxis==axes.y2axis)?'2':'1';}}}
if(this.fireEvent('beforedraw',this,_series)!==false){this.flot=$.plot($('#'+this.id),_series,this);this.onDraw();}},insertSeries:function(series,idx){var _series;_series=(this.flot)?this.getData():[];if(idx<0){idx=_series.length;}
_series.splice(idx,0,series);_series=this.setupSeries(_series);for(i=0;i<_series.length;i++){delete _series[i].color;}
if(this.flot){this.setData(_series);this.redraw();}else{this.series=_series;}},prependSeries:function(series){this.insertSeries(series,0);},appendSeries:function(series){this.insertSeries(series,-1);},insertData:function(data,series,idx){var _series=this.setupData(data,series);for(var i=0;i<_series.length;i++){this.insertSeries(series[i],(idx<0)?idx:idx+i);}},prependData:function(data,series){this.insertData(data,series,0);},appendData:function(data,series){this.insertData(data,series,-1);},redraw:function(){var series=this.getData();if(this.fireEvent('beforedraw',this,series)!==false){this.setupGrid();this.draw();this.onDraw();}},setHidden:function(series,hidden){var s=(typeof series=='string')?this.findSeries(series):series;if(s.hidable===false){return;}
var keys=['lines','points','bars','pies'];if(s.hidden!=hidden){s.hidden=hidden;for(var k=0,len=keys.length;k<len;k++){var key=keys[k];if(hidden){s[key+'Show']=s[key];s[key]=Ext.applyIf({show:false,lineWidth:0,fill:0},s[key]);}else{s[key]=s[key+'Show']||s[key];}}
if(hidden){s.colorShow=s.color;s.color=this.grid.backgroundColor||"#ffffff";s.shadowSizeShow=s.shadowSize;s.shadowSize=0;}else{s.color=s.colorShow;s.shadowSize=s.shadowSizeShow;}
this.redraw();this.updateAction();this.fireEvent(hidden?'plothide':'plotshow',this,series);}},setSelection:function(ranges,preventEvent){return this.flot.setSelection(ranges,preventEvent);},clearSelection:function(){return this.flot.clearSelection();},setCrosshair:function(pos){return this.flot.setCrosshair(pos);},clearCrosshair:function(){return this.flot.clearCrosshair();},highlight:function(series,datapoint){return this.flot.highlight(series,datapoint);},unhighlight:function(series,datapoint){return this.flot.unhighlight(series,datapoint);},setData:function(series){return this.flot.setData(series);},setupGrid:function(){return this.flot.setupGrid();},draw:function(){return this.flot.draw();},getData:function(){return(this.flot)?this.flot.getData():this.series;},getAxes:function(){return this.flot.getAxes();},getCanvas:function(){return this.flot.getCanvas();},getPlotOffset:function(){return this.flot.getPlotOffset();}});Ext.reg('flot',Ext.ux.Flot);Ext.ns('Ext.ux.Flot.grid');Ext.ux.Flot.grid.weekendMarkings=function(axes){var markings=[];var d=new Date(axes.xaxis.min);d.setUTCDate(d.getUTCDate()-((d.getUTCDay()+1)%7));d.setUTCSeconds(0);d.setUTCMinutes(0);d.setUTCHours(0);var i=d.getTime();do{markings.push({xaxis:{from:i,to:i+2*24*60*60*1000}});i+=7*24*60*60*1000;}while(i<axes.xaxis.max);return markings;};Ext.ux.FlotPropertyGrid=Ext.extend(Ext.grid.GridPanel,{initComponent:function(){var cm=[{header:'X',dataIndex:'xaxis',sortable:true},{header:'X2',dataIndex:'x2axis',hidden:true,sortable:true}];var series=this.flot.getData();for(var i=0,len=series.length;i<len;i++){var s=series[i];var renderer=function(value,cell,rec){cell.css='background: '+s.color;return value;};var c={header:s.label||_('Series')+' '+i,dataIndex:s.label||i,hidden:s.hidden,renderer:renderer,sortable:true};cm.push(Ext.apply(c,this.basePropertyColumn));}
Ext.applyIf(this,{store:this.flot.getStore(),cm:new Ext.grid.ColumnModel(cm),sm:new Ext.grid.CellSelectionModel({singleSelect:false}),viewConfig:{emptyText:_('No Data')}});Ext.ux.FlotPropertyGrid.superclass.initComponent.call(this);}});Ext.reg('flotpropertygrid',Ext.ux.FlotPropertyGrid);Ext.ns('Ext.ux.form');Ext.ux.form.Checkbox=Ext.extend(Ext.form.Checkbox,{submitOffValue:'0',submitOnValue:'1',onRender:function(ct){this.inputValue=this.submitOnValue;Ext.ux.form.Checkbox.superclass.onRender.apply(this,arguments);this.wrap.setWidth(this.width);this.hiddenField=this.wrap.insertFirst({tag:'input',type:'hidden'});this.updateHidden();},setValue:function(v){var checked=this.checked;this.checked=(v===true||v==='true'||v=='1'||String(v).toLowerCase()=='on'||String(v).toLowerCase()==String(this.submitOnValue).toLowerCase());if(this.el&&this.el.dom){this.el.dom.checked=this.checked;this.el.dom.defaultChecked=this.checked;}
if(this.rendered){this.wrap[this.checked?'addClass':'removeClass'](this.checkedCls);if(checked!=this.checked){this.fireEvent("check",this,this.checked);if(this.handler){this.handler.call(this.scope||this,this,this.checked);}}}
this.updateHidden();},getValue:function(){if(this.rendered){return this.el.dom.checked?this.submitOnValue:this.submitOffValue;}
return this.checked?this.submitOnValue:this.submitOffValue;},updateHidden:function(){if(this.hiddenField){this.hiddenField.dom.value=this.checked?this.submitOnValue:this.submitOffValue;this.hiddenField.dom.name=this.checked?'':this.el.dom.name;}},initValue:function(){this.originalValue=this.getValue();},onResize:function(){Ext.form.Checkbox.superclass.onResize.apply(this,arguments);}});Ext.reg('uxcheckbox',Ext.ux.form.Checkbox);Ext.ns('Ext.ux.form');Ext.ux.form.DateTime=Ext.extend(Ext.form.Field,{dateValidator:null,defaultAutoCreate:{tag:'input',type:'hidden'},dtSeparator:' ',hiddenFormat:'Y-m-d H:i:s',otherToNow:true,timePosition:'right',timeValidator:null,timeWidth:100,dateFormat:'m/d/y',timeFormat:'g:i A',initComponent:function(){Ext.ux.form.DateTime.superclass.initComponent.call(this);var dateConfig=Ext.apply({},{id:this.id+'-date',format:this.dateFormat||Ext.form.DateField.prototype.format,width:this.timeWidth,selectOnFocus:this.selectOnFocus,validator:this.dateValidator,listeners:{blur:{scope:this,fn:this.onBlur},focus:{scope:this,fn:this.onFocus}}},this.dateConfig);this.df=new Ext.form.DateField(dateConfig);this.df.ownerCt=this;delete(this.dateFormat);var timeConfig=Ext.apply({},{id:this.id+'-time',format:this.timeFormat||Ext.form.TimeField.prototype.format,width:this.timeWidth,selectOnFocus:this.selectOnFocus,validator:this.timeValidator,listeners:{blur:{scope:this,fn:this.onBlur},focus:{scope:this,fn:this.onFocus}}},this.timeConfig);this.tf=new Ext.form.TimeField(timeConfig);this.tf.ownerCt=this;delete(this.timeFormat);this.relayEvents(this.df,['focus','specialkey','invalid','valid']);this.relayEvents(this.tf,['focus','specialkey','invalid','valid']);this.on('specialkey',this.onSpecialKey,this);},onRender:function(ct,position){if(this.isRendered){return;}
Ext.ux.form.DateTime.superclass.onRender.call(this,ct,position);var t;if('below'===this.timePosition||'bellow'===this.timePosition){t=Ext.DomHelper.append(ct,{tag:'table',style:'border-collapse:collapse',children:[{tag:'tr',children:[{tag:'td',style:'padding-bottom:1px',cls:'ux-datetime-date'}]},{tag:'tr',children:[{tag:'td',cls:'ux-datetime-time'}]}]},true);}
else{t=Ext.DomHelper.append(ct,{tag:'table',style:'border-collapse:collapse',children:[{tag:'tr',children:[{tag:'td',style:'padding-right:4px',cls:'ux-datetime-date'},{tag:'td',cls:'ux-datetime-time'}]}]},true);}
this.tableEl=t;this.wrap=t.wrap({cls:'x-form-field-wrap'});this.wrap.on("mousedown",this.onMouseDown,this,{delay:10});this.df.render(t.child('td.ux-datetime-date'));this.tf.render(t.child('td.ux-datetime-time'));this.df.el.swallowEvent(['keydown','keypress']);this.tf.el.swallowEvent(['keydown','keypress']);if('side'===this.msgTarget){var elp=this.el.findParent('.x-form-element',10,true);if(elp){this.errorIcon=elp.createChild({cls:'x-form-invalid-icon'});}
var o={errorIcon:this.errorIcon,msgTarget:'side',alignErrorIcon:this.alignErrorIcon.createDelegate(this)};Ext.apply(this.df,o);Ext.apply(this.tf,o);}
this.el.dom.name=this.hiddenName||this.name||this.id;this.df.el.dom.removeAttribute("name");this.tf.el.dom.removeAttribute("name");this.isRendered=true;this.updateHidden();},adjustSize:Ext.BoxComponent.prototype.adjustSize,alignErrorIcon:function(){this.errorIcon.alignTo(this.tableEl,'tl-tr',[2,0]);},initDateValue:function(){this.dateValue=this.otherToNow?new Date():new Date(1970,0,1,0,0,0);},clearInvalid:function(){this.df.clearInvalid();this.tf.clearInvalid();},markInvalid:function(msg){this.df.markInvalid(msg);this.tf.markInvalid(msg);},beforeDestroy:function(){if(this.isRendered){this.wrap.removeAllListeners();this.wrap.remove();this.tableEl.remove();this.df.destroy();this.tf.destroy();}},disable:function(){if(this.isRendered){this.df.disabled=this.disabled;this.df.onDisable();this.tf.onDisable();}
this.disabled=true;this.df.disabled=true;this.tf.disabled=true;this.fireEvent("disable",this);return this;},enable:function(){if(this.rendered){this.df.onEnable();this.tf.onEnable();}
this.disabled=false;this.df.disabled=false;this.tf.disabled=false;this.fireEvent("enable",this);return this;},focus:function(){this.df.focus();},getPositionEl:function(){return this.wrap;},getResizeEl:function(){return this.wrap;},getValue:function(){return this.dateValue?new Date(this.dateValue):'';},isValid:function(){return this.df.isValid()&&this.tf.isValid();},isVisible:function(){return this.df.rendered&&this.df.getActionEl().isVisible();},onBlur:function(f){if(this.wrapClick){f.focus();this.wrapClick=false;}
if(f===this.df){this.updateDate();}
else{this.updateTime();}
this.updateHidden();this.validate();(function(){if(!this.df.hasFocus&&!this.tf.hasFocus){var v=this.getValue();if(String(v)!==String(this.startValue)){this.fireEvent("change",this,v,this.startValue);}
this.hasFocus=false;this.fireEvent('blur',this);}}).defer(100,this);},onFocus:function(){if(!this.hasFocus){this.hasFocus=true;this.startValue=this.getValue();this.fireEvent("focus",this);}},onMouseDown:function(e){if(!this.disabled){this.wrapClick='td'===e.target.nodeName.toLowerCase();}},onSpecialKey:function(t,e){var key=e.getKey();if(key===e.TAB){if(t===this.df&&!e.shiftKey){e.stopEvent();this.tf.focus();}
if(t===this.tf&&e.shiftKey){e.stopEvent();this.df.focus();}
this.updateValue();}
if(key===e.ENTER){this.updateValue();}},reset:function(){this.df.reset(this.originalValue);this.tf.reset(this.originalValue);},setDate:function(date){this.df.setValue(date);},setTime:function(date){this.tf.setValue(date);},setSize:function(w,h){if(!w){return;}
if('below'===this.timePosition){this.df.setSize(w,h);this.tf.setSize(w,h);if(Ext.isIE){this.df.el.up('td').setWidth(w);this.tf.el.up('td').setWidth(w);}}
else{this.df.setSize(w-this.timeWidth-4,h);this.tf.setSize(this.timeWidth,h);if(Ext.isIE){this.df.el.up('td').setWidth(w-this.timeWidth-4);this.tf.el.up('td').setWidth(this.timeWidth);}}},setValue:function(val){if(!val&&true===this.emptyToNow){this.setValue(new Date());return;}
else if(!val){this.setDate('');this.setTime('');this.updateValue();return;}
if('number'===typeof val){val=new Date(val);}
else if('string'===typeof val&&this.hiddenFormat){val=Date.parseDate(val,this.hiddenFormat);}
val=val?val:new Date(1970,0,1,0,0,0);var da;if(val instanceof Date){this.setDate(val);this.setTime(val);this.dateValue=new Date(Ext.isIE?val.getTime():val);}
else{da=val.split(this.dtSeparator);this.setDate(da[0]);if(da[1]){if(da[2]){da[1]+=da[2];}
this.setTime(da[1]);}}
this.updateValue();},setVisible:function(visible){if(visible){this.df.show();this.tf.show();}else{this.df.hide();this.tf.hide();}
return this;},show:function(){return this.setVisible(true);},hide:function(){return this.setVisible(false);},updateDate:function(){var d=this.df.getValue();if(d){if(!(this.dateValue instanceof Date)){this.initDateValue();if(!this.tf.getValue()){this.setTime(this.dateValue);}}
this.dateValue.setMonth(0);this.dateValue.setFullYear(d.getFullYear());this.dateValue.setMonth(d.getMonth(),d.getDate());}
else{this.dateValue='';this.setTime('');}},updateTime:function(){var t=this.tf.getValue();if(t&&!(t instanceof Date)){t=Date.parseDate(t,this.tf.format);}
if(t&&!this.df.getValue()){this.initDateValue();this.setDate(this.dateValue);}
if(this.dateValue instanceof Date){if(t){this.dateValue.setHours(t.getHours());this.dateValue.setMinutes(t.getMinutes());this.dateValue.setSeconds(t.getSeconds());}
else{this.dateValue.setHours(0);this.dateValue.setMinutes(0);this.dateValue.setSeconds(0);}}},updateHidden:function(){if(this.isRendered){var value=this.dateValue instanceof Date?this.dateValue.format(this.hiddenFormat):'';this.el.dom.value=value;}},updateValue:function(){this.updateDate();this.updateTime();this.updateHidden();return;},validate:function(){return this.df.validate()&&this.tf.validate();},renderer:function(field){var format=field.editor.dateFormat||Ext.ux.form.DateTime.prototype.dateFormat;format+=' '+(field.editor.timeFormat||Ext.ux.form.DateTime.prototype.timeFormat);var renderer=function(val){var retval=Ext.util.Format.date(val,format);return retval;};return renderer;}});Ext.reg('xdatetime',Ext.ux.form.DateTime);Ext.namespace("Ext.ux.form.Spinner");Ext.ux.form.Spinner.Field=function(config){Ext.ux.form.Spinner.Field.superclass.constructor.call(this,config);this.addEvents({'spin':true,'spinup':true,'spindown':true});}
Ext.extend(Ext.ux.form.Spinner.Field,Ext.form.TriggerField,{triggerClass:'x-form-spinner-trigger',splitterClass:'x-form-spinner-splitter',alternateKey:Ext.EventObject.shiftKey,strategy:undefined,onRender:function(ct,position){Ext.ux.form.Spinner.Field.superclass.onRender.call(this,ct,position);this.splitter=this.wrap.createChild({tag:'div',cls:this.splitterClass,style:'width:13px; height:2px;'});this.splitter.show().setRight((Ext.isIE)?1:3);this.splitter.show().setTop(10);this.proxy=this.trigger.createProxy('',this.splitter,true);this.proxy.addClass("x-form-spinner-proxy");this.proxy.setStyle('left','0px');this.proxy.setSize(14,1);this.proxy.hide();this.dd=new Ext.dd.DDProxy(this.splitter.dom.id,"SpinnerDrag",{dragElId:this.proxy.id});this.initSpinner();},initTrigger:function(){this.trigger.addClassOnOver('x-form-trigger-over');this.trigger.addClassOnClick('x-form-trigger-click');},initSpinner:function(){this.keyNav=new Ext.KeyNav(this.el,{"up":function(e){e.preventDefault();this.onSpinUp();},"down":function(e){e.preventDefault();this.onSpinDown();},"pageUp":function(e){e.preventDefault();this.onSpinUpAlternate();},"pageDown":function(e){e.preventDefault();this.onSpinDownAlternate();},scope:this});this.repeater=new Ext.util.ClickRepeater(this.trigger);this.repeater.on("click",this.onTriggerClick,this,{preventDefault:true});this.trigger.on("mouseover",this.onMouseOver,this,{preventDefault:true});this.trigger.on("mouseout",this.onMouseOut,this,{preventDefault:true});this.trigger.on("mousemove",this.onMouseMove,this,{preventDefault:true});this.trigger.on("mousedown",this.onMouseDown,this,{preventDefault:true});this.trigger.on("mouseup",this.onMouseUp,this,{preventDefault:true});this.wrap.on("mousewheel",this.handleMouseWheel,this);this.dd.setXConstraint(0,0,10)
this.dd.setYConstraint(1500,1500,10);this.dd.endDrag=this.endDrag.createDelegate(this);this.dd.startDrag=this.startDrag.createDelegate(this);this.dd.onDrag=this.onDrag.createDelegate(this);if('object'==typeof this.strategy&&this.strategy.xtype){switch(this.strategy.xtype){case'number':this.strategy=new Ext.ux.form.Spinner.NumberStrategy(this.strategy);break;case'date':this.strategy=new Ext.ux.form.Spinner.DateStrategy(this.strategy);break;case'time':this.strategy=new Ext.ux.form.Spinner.TimeStrategy(this.strategy);break;default:delete(this.strategy);break;}
delete(this.strategy.xtype);}
if(this.strategy==undefined){this.strategy=new Ext.ux.form.Spinner.NumberStrategy();}},onMouseOver:function(){if(this.disabled){return;}
var middle=this.getMiddle();this.__tmphcls=(Ext.EventObject.getPageY()<middle)?'x-form-spinner-overup':'x-form-spinner-overdown';this.trigger.addClass(this.__tmphcls);},onMouseOut:function(){this.trigger.removeClass(this.__tmphcls);},onMouseMove:function(){if(this.disabled){return;}
var middle=this.getMiddle();if(((Ext.EventObject.getPageY()>middle)&&this.__tmphcls=="x-form-spinner-overup")||((Ext.EventObject.getPageY()<middle)&&this.__tmphcls=="x-form-spinner-overdown")){}},onMouseDown:function(){if(this.disabled){return;}
var middle=this.getMiddle();this.__tmpccls=(Ext.EventObject.getPageY()<middle)?'x-form-spinner-clickup':'x-form-spinner-clickdown';this.trigger.addClass(this.__tmpccls);},onMouseUp:function(){this.trigger.removeClass(this.__tmpccls);},onTriggerClick:function(){if(this.disabled||this.getEl().dom.readOnly){return;}
var middle=this.getMiddle();var ud=(Ext.EventObject.getPageY()<middle)?'Up':'Down';this['onSpin'+ud]();},getMiddle:function(){var t=this.trigger.getTop();var h=this.trigger.getHeight();var middle=t+(h/2);return middle;},isSpinnable:function(){if(this.disabled||this.getEl().dom.readOnly){Ext.EventObject.preventDefault();return false;}
return true;},handleMouseWheel:function(e){if(this.wrap.hasClass('x-trigger-wrap-focus')==false){return;}
var delta=e.getWheelDelta();if(delta>0){this.onSpinUp();e.stopEvent();}else if(delta<0){this.onSpinDown();e.stopEvent();}},startDrag:function(){this.proxy.show();this._previousY=Ext.fly(this.dd.getDragEl()).getTop();},endDrag:function(){this.proxy.hide();},onDrag:function(){if(this.disabled){return;}
var y=Ext.fly(this.dd.getDragEl()).getTop();var ud='';if(this._previousY>y){ud='Up';}
if(this._previousY<y){ud='Down';}
if(ud!=''){this['onSpin'+ud]();}
this._previousY=y;},onSpinUp:function(){if(this.isSpinnable()==false){return;}
if(Ext.EventObject.shiftKey==true){this.onSpinUpAlternate();return;}else{this.strategy.onSpinUp(this);}
this.fireEvent("spin",this);this.fireEvent("spinup",this);},onSpinDown:function(){if(this.isSpinnable()==false){return;}
if(Ext.EventObject.shiftKey==true){this.onSpinDownAlternate();return;}else{this.strategy.onSpinDown(this);}
this.fireEvent("spin",this);this.fireEvent("spindown",this);},onSpinUpAlternate:function(){if(this.isSpinnable()==false){return;}
this.strategy.onSpinUpAlternate(this);this.fireEvent("spin",this);this.fireEvent("spinup",this);},onSpinDownAlternate:function(){if(this.isSpinnable()==false){return;}
this.strategy.onSpinDownAlternate(this);this.fireEvent("spin",this);this.fireEvent("spindown",this);}});Ext.reg('uxspinner',Ext.ux.form.Spinner.Field);Ext.ux.form.Spinner.Strategy=function(config){Ext.apply(this,config);};Ext.extend(Ext.ux.form.Spinner.Strategy,Ext.util.Observable,{defaultValue:0,minValue:undefined,maxValue:undefined,incrementValue:1,alternateIncrementValue:5,validationTask:new Ext.util.DelayedTask(),onSpinUp:function(field){this.spin(field,false,false);},onSpinDown:function(field){this.spin(field,true,false);},onSpinUpAlternate:function(field){this.spin(field,false,true);},onSpinDownAlternate:function(field){this.spin(field,true,true);},spin:function(field,down,alternate){this.validationTask.delay(500,function(){field.validate()});},fixBoundries:function(value){return value;}});Ext.ux.form.Spinner.NumberStrategy=function(config){Ext.ux.form.Spinner.NumberStrategy.superclass.constructor.call(this,config);};Ext.extend(Ext.ux.form.Spinner.NumberStrategy,Ext.ux.form.Spinner.Strategy,{allowDecimals:true,decimalPrecision:2,spin:function(field,down,alternate){Ext.ux.form.Spinner.NumberStrategy.superclass.spin.call(this,field,down,alternate);var v=parseFloat(field.getValue());var incr=(alternate==true)?this.alternateIncrementValue:this.incrementValue;(down==true)?v-=incr:v+=incr;v=(isNaN(v))?this.defaultValue:v;v=this.fixBoundries(v);field.setRawValue(v);},fixBoundries:function(value){var v=value;if(this.minValue!=undefined&&v<this.minValue){v=this.minValue;}
if(this.maxValue!=undefined&&v>this.maxValue){v=this.maxValue;}
return this.fixPrecision(v);},fixPrecision:function(value){var nan=isNaN(value);if(!this.allowDecimals||this.decimalPrecision==-1||nan||!value){return nan?'':value;}
return parseFloat(parseFloat(value).toFixed(this.decimalPrecision));}});Ext.ux.form.Spinner.DateStrategy=function(config){Ext.ux.form.Spinner.DateStrategy.superclass.constructor.call(this,config);};Ext.extend(Ext.ux.form.Spinner.DateStrategy,Ext.ux.form.Spinner.Strategy,{defaultValue:new Date(),format:"Y-m-d",incrementValue:1,incrementConstant:Date.DAY,alternateIncrementValue:1,alternateIncrementConstant:Date.MONTH,spin:function(field,down,alternate){Ext.ux.form.Spinner.DateStrategy.superclass.spin.call(this);var v=field.getRawValue();v=Date.parseDate(v,this.format);var dir=(down==true)?-1:1;var incr=(alternate==true)?this.alternateIncrementValue:this.incrementValue;var dtconst=(alternate==true)?this.alternateIncrementConstant:this.incrementConstant;if(typeof this.defaultValue=='string'){this.defaultValue=Date.parseDate(this.defaultValue,this.format);}
v=(v)?v.add(dtconst,dir*incr):this.defaultValue;v=this.fixBoundries(v);field.setRawValue(Ext.util.Format.date(v,this.format));},fixBoundries:function(date){var dt=date;var min=(typeof this.minValue=='string')?Date.parseDate(this.minValue,this.format):this.minValue;var max=(typeof this.maxValue=='string')?Date.parseDate(this.maxValue,this.format):this.maxValue;if(this.minValue!=undefined&&dt<min){dt=min;}
if(this.maxValue!=undefined&&dt>max){dt=max;}
return dt;}});Ext.ux.form.Spinner.TimeStrategy=function(config){Ext.ux.form.Spinner.TimeStrategy.superclass.constructor.call(this,config);};Ext.extend(Ext.ux.form.Spinner.TimeStrategy,Ext.ux.form.Spinner.DateStrategy,{format:"H:i",incrementValue:1,incrementConstant:Date.MINUTE,alternateIncrementValue:1,alternateIncrementConstant:Date.HOUR});if(Ext.version=='3.0'){Ext.override(Ext.grid.GridView,{ensureVisible:function(row,col,hscroll){var resolved=this.resolveCell(row,col,hscroll);if(!resolved||!resolved.row){return;}
var rowEl=resolved.row,cellEl=resolved.cell,c=this.scroller.dom,ctop=0,p=rowEl,stop=this.el.dom;var p=rowEl,stop=this.el.dom;while(p&&p!=stop){ctop+=p.offsetTop;p=p.offsetParent;}
ctop-=this.mainHd.dom.offsetHeight;var cbot=ctop+rowEl.offsetHeight;var ch=c.clientHeight;var stop=parseInt(c.scrollTop,10);var sbot=stop+ch;if(ctop<stop){c.scrollTop=ctop;}else if(cbot>sbot){c.scrollTop=cbot-ch;}
if(hscroll!==false){var cleft=parseInt(cellEl.offsetLeft,10);var cright=cleft+cellEl.offsetWidth;var sleft=parseInt(c.scrollLeft,10);var sright=sleft+c.clientWidth;if(cleft<sleft){c.scrollLeft=cleft;}else if(cright>sright){c.scrollLeft=cright-c.clientWidth;}}
return this.getResolvedXY(resolved);}});}
Ext.namespace('Ext.ux.maximgb.tg');Ext.ux.maximgb.tg.AbstractTreeStore=Ext.extend(Ext.data.Store,{leaf_field_name:'_is_leaf',page_offset:0,active_node:null,constructor:function(config)
{Ext.ux.maximgb.tg.AbstractTreeStore.superclass.constructor.call(this,config);if(!this.paramNames.active_node){this.paramNames.active_node='anode';}
this.addEvents('beforeexpandnode','expandnode','expandnodefailed','beforecollapsenode','collapsenode','beforeactivenodechange','activenodechange');},remove:function(record)
{if(record===this.active_node){this.setActiveNode(null);}
this.removeNodeDescendants(record);Ext.ux.maximgb.tg.AbstractTreeStore.superclass.remove.call(this,record);},removeNodeDescendants:function(rc)
{var i,len,children=this.getNodeChildren(rc);for(i=0,len=children.length;i<len;i++){this.remove(children[i]);}},load:function(options)
{if(options){if(options.params){if(options.params[this.paramNames.active_node]===undefined){options.params[this.paramNames.active_node]=this.active_node?this.active_node.id:null;}}
else{options.params={};options.params[this.paramNames.active_node]=this.active_node?this.active_node.id:null;}}
else{options={params:{}};options.params[this.paramNames.active_node]=this.active_node?this.active_node.id:null;}
if(options.params[this.paramNames.active_node]!==null){options.add=true;}
return Ext.ux.maximgb.tg.AbstractTreeStore.superclass.load.call(this,options);},loadRecords:function(o,options,success)
{if(!o||success===false){if(success!==false){this.fireEvent("load",this,[],options);}
if(options.callback){options.callback.call(options.scope||this,[],options,false);}
return;}
var r=o.records,t=o.totalRecords||r.length,page_offset=this.getPageOffsetFromOptions(options),loaded_node_id=this.getLoadedNodeIdFromOptions(options),loaded_node,i,len,record,idx,updated,self=this;if(!options||options.add!==true){if(this.pruneModifiedRecords){this.modified=[];}
for(var i=0,len=r.length;i<len;i++){r[i].join(this);}
if(this.snapshot){this.data=this.snapshot;delete this.snapshot;}
this.data.clear();this.data.addAll(r);this.page_offset=page_offset;this.totalLength=t;this.applySort();this.fireEvent("datachanged",this);}
else{if(loaded_node_id){loaded_node=this.getById(loaded_node_id);}
if(loaded_node){this.setNodeChildrenOffset(loaded_node,page_offset);this.setNodeChildrenTotalCount(loaded_node,Math.max(t,r.length));this.removeNodeDescendants(loaded_node);}
this.suspendEvents();updated={};for(i=0,len=r.length;i<len;i++){record=r[i];idx=this.indexOfId(record.id);if(idx==-1){updated[record.id]=false;}
else{updated[record.id]=true;this.setNodeExpanded(record,this.isExpandedNode(this.getAt(idx)));}
this.add(record);}
this.applySort();this.resumeEvents();r.sort(function(r1,r2){var idx1=self.data.indexOf(r1),idx2=self.data.indexOf(r2),r;if(idx1>idx2){r=1;}
else{r=-1;}
return r;});for(i=0,len=r.length;i<len;i++){record=r[i];if(updated[record.id]==true){this.fireEvent('update',this,record,Ext.data.Record.COMMIT);}
else{this.fireEvent("add",this,[record],this.data.indexOf(record));}}}
this.fireEvent("load",this,r,options);if(options.callback){options.callback.call(options.scope||this,r,options,true);}},applySort:function()
{if(this.sortInfo&&!this.remoteSort){var s=this.sortInfo,f=s.field;this.sortData(f,s.direction);}
else{this.applyTreeSort();}},sortData:function(f,direction)
{direction=direction||'ASC';var st=this.fields.get(f).sortType;var fn=function(r1,r2){var v1=st(r1.data[f]),v2=st(r2.data[f]);return v1>v2?1:(v1<v2?-1:0);};this.data.sort(direction,fn);if(this.snapshot&&this.snapshot!=this.data){this.snapshot.sort(direction,fn);}
this.applyTreeSort();},applyTreeSort:function()
{var i,len,temp,rec,records=[],roots=this.getRootNodes();for(i=0,len=roots.length;i<len;i++){rec=roots[i];records.push(rec);this.collectNodeChildrenTreeSorted(records,rec);}
if(records.length>0){this.data.clear();this.data.addAll(records);}
if(this.snapshot&&this.snapshot!==this.data){temp=this.data;this.data=this.snapshot;this.snapshot=null;this.applyTreeSort();this.snapshot=this.data;this.data=temp;}},collectNodeChildrenTreeSorted:function(records,rec)
{var i,len,child,children=this.getNodeChildren(rec);for(i=0,len=children.length;i<len;i++){child=children[i];records.push(child);this.collectNodeChildrenTreeSorted(records,child);}},getActiveNode:function()
{return this.active_node;},setActiveNode:function(rc)
{if(this.active_node!==rc){if(rc){if(this.data.indexOf(rc)!=-1){if(this.fireEvent('beforeactivenodechange',this,this.active_node,rc)!==false){this.active_node=rc;this.fireEvent('activenodechange',this,this.active_node,rc);}}
else{throw"Given record is not from the store.";}}
else{if(this.fireEvent('beforeactivenodechange',this,this.active_node,rc)!==false){this.active_node=rc;this.fireEvent('activenodechange',this,this.active_node,rc);}}}},isExpandedNode:function(rc)
{return rc.ux_maximgb_tg_expanded===true;},setNodeExpanded:function(rc,value)
{rc.ux_maximgb_tg_expanded=value;},isVisibleNode:function(rc)
{var i,len,ancestors=this.getNodeAncestors(rc),result=true;for(i=0,len=ancestors.length;i<len;i++){result=result&&this.isExpandedNode(ancestors[i]);if(!result){break;}}
return result;},isLeafNode:function(rc)
{return rc.get(this.leaf_field_name)==true;},isLoadedNode:function(rc)
{var result;if(rc.ux_maximgb_tg_loaded!==undefined){result=rc.ux_maximgb_tg_loaded;}
else if(this.isLeafNode(rc)||this.hasChildNodes(rc)){result=true;}
else{result=false;}
return result;},setNodeLoaded:function(rc,value)
{rc.ux_maximgb_tg_loaded=value;},getNodeChildrenOffset:function(rc)
{return rc.ux_maximgb_tg_offset||0;},setNodeChildrenOffset:function(rc,value)
{rc.ux_maximgb_tg_offset=value;},getNodeChildrenTotalCount:function(rc)
{return rc.ux_maximgb_tg_total||0;},setNodeChildrenTotalCount:function(rc,value)
{rc.ux_maximgb_tg_total=value;},collapseNode:function(rc)
{if(this.isExpandedNode(rc)&&this.fireEvent('beforecollapsenode',this,rc)!==false){this.setNodeExpanded(rc,false);this.fireEvent('collapsenode',this,rc);}},expandNode:function(rc)
{var params;if(!this.isExpandedNode(rc)&&this.fireEvent('beforeexpandnode',this,rc)!==false){if(this.isLoadedNode(rc)){this.setNodeExpanded(rc,true);this.fireEvent('expandnode',this,rc);}
else{params={};params[this.paramNames.active_node]=rc.id;this.load({add:true,params:params,callback:this.expandNodeCallback,scope:this});}}},expandNodeCallback:function(r,options,success)
{var rc=this.getById(options.params[this.paramNames.active_node]);if(success&&rc){this.setNodeLoaded(rc,true);this.setNodeExpanded(rc,true);this.fireEvent('expandnode',this,rc);}
else{this.fireEvent('expandnodefailed',this,options.params[this.paramNames.active_node],rc);}},expandAll:function()
{var r,i,len,records=this.data.getRange();this.suspendEvents();for(i=0,len=records.length;i<len;i++){r=records[i];if(!this.isExpandedNode(r)){this.expandNode(r);}}
this.resumeEvents();this.fireEvent('datachanged',this);},collapseAll:function()
{var r,i,len,records=this.data.getRange();this.suspendEvents();for(i=0,len=records.length;i<len;i++){r=records[i];if(this.isExpandedNode(r)){this.collapseNode(r);}}
this.resumeEvents();this.fireEvent('datachanged',this);},getLoadedNodeIdFromOptions:function(options)
{var result=null;if(options&&options.params&&options.params[this.paramNames.active_node]){result=options.params[this.paramNames.active_node];}
return result;},getPageOffsetFromOptions:function(options)
{var result=0;if(options&&options.params&&options.params[this.paramNames.start]){result=parseInt(options.params[this.paramNames.start],10);if(isNaN(result)){result=0;}}
return result;},hasNextSiblingNode:function(rc)
{return this.getNodeNextSibling(rc)!==null;},hasPrevSiblingNode:function(rc)
{return this.getNodePrevSibling(rc)!==null;},hasChildNodes:function(rc)
{return this.getNodeChildrenCount(rc)>0;},getNodeAncestors:function(rc)
{var ancestors=[],parent;parent=this.getNodeParent(rc);while(parent){ancestors.push(parent);parent=this.getNodeParent(parent);}
return ancestors;},getNodeChildrenCount:function(rc)
{return this.getNodeChildren(rc).length;},getNodeNextSibling:function(rc)
{var siblings,parent,index,result=null;parent=this.getNodeParent(rc);if(parent){siblings=this.getNodeChildren(parent);}
else{siblings=this.getRootNodes();}
index=siblings.indexOf(rc);if(index<siblings.length-1){result=siblings[index+1];}
return result;},getNodePrevSibling:function(rc)
{var siblings,parent,index,result=null;parent=this.getNodeParent(rc);if(parent){siblings=this.getNodeChildren(parent);}
else{siblings=this.getRootNodes();}
index=siblings.indexOf(rc);if(index>0){result=siblings[index-1];}
return result;},getRootNodes:function()
{throw'Abstract method call';},getNodeDepth:function(rc)
{throw'Abstract method call';},getNodeParent:function(rc)
{throw'Abstract method call';},getNodeChildren:function(rc)
{throw'Abstract method call';},addToNode:function(parent,child)
{throw'Abstract method call';},removeFromNode:function(parent,child)
{throw'Abstract method call';},getPageOffset:function()
{return this.page_offset;},getActiveNodePageOffset:function()
{var result;if(this.active_node){result=this.getNodeChildrenOffset(this.active_node);}
else{result=this.getPageOffset();}
return result;},getActiveNodeCount:function()
{var result;if(this.active_node){result=this.getNodeChildrenCount(this.active_node);}
else{result=this.getRootNodes().length;}
return result;},getActiveNodeTotalCount:function()
{var result;if(this.active_node){result=this.getNodeChildrenTotalCount(this.active_node);}
else{result=this.getTotalCount();}
return result;}});Ext.ux.maximgb.tg.AdjacencyListStore=Ext.extend(Ext.ux.maximgb.tg.AbstractTreeStore,{parent_id_field_name:'_parent',getRootNodes:function()
{var i,len,result=[],records=this.data.getRange();for(i=0,len=records.length;i<len;i++){var parent=records[i].get(this.parent_id_field_name);if(parent==null||parent==''||parent==undefined||(!this.useStringKeys&&parent=='0')){result.push(records[i]);}}
return result;},getNodeDepth:function(rc)
{return this.getNodeAncestors(rc).length;},getNodeParent:function(rc)
{var data=this.getRange();var parentKey=rc.get(this.parent_id_field_name);if(parentKey==null||parentKey==undefined){return undefined;}
var parent=undefined;for(var i=0;i<data.length;i++){if(data[i].data['tr_id']!=undefined){_key=data[i].data.tr_id;}else{_key=data[i].data._key;}
if(_key==parentKey){parent=data[i];break;}}
return parent;},getNodeChildren:function(rc)
{var i,len,result=[],records=this.data.getRange();if(((rc.data['tr_id']==undefined)||(rc.data['tr_id']==null))&&((rc.data._key==null)||(rc.data._key==undefined))){return[];}
for(i=0,len=records.length;i<len;i++){if(rc.data['tr_id']!=undefined){_key=rc.data.tr_id;}else{_key=rc.data._key;}
if((records[i].get(this.parent_id_field_name)==_key)&&(_key!=null)&&(_key!=undefined)){result.push(records[i]);}}
return result;},addToNode:function(parent,child)
{child.set(this.parent_id_field_name,parent.id);this.addSorted(child);},removeFromNode:function(parent,child)
{this.remove(child);}});Ext.reg('Ext.ux.maximgb.tg.AdjacencyListStore',Ext.ux.maximgb.tg.AdjacencyListStore);Ext.ux.maximgb.tg.NestedSetStore=Ext.extend(Ext.ux.maximgb.tg.AbstractTreeStore,{left_field_name:'_lft',right_field_name:'_rgt',level_field_name:'_level',root_node_level:1,getRootNodes:function()
{var i,len,result=[],records=this.data.getRange();for(i=0,len=records.length;i<len;i++){if(records[i].get(this.level_field_name)==this.root_node_level){result.push(records[i]);}}
return result;},getNodeDepth:function(rc)
{return rc.get(this.level_field_name)-this.root_node_level;},getNodeParent:function(rc)
{var result=null,rec,records=this.data.getRange(),i,len,lft,r_lft,rgt,r_rgt,level,r_level;lft=rc.get(this.left_field_name);rgt=rc.get(this.right_field_name);level=rc.get(this.level_field_name);for(i=0,len=records.length;i<len;i++){rec=records[i];r_lft=rec.get(this.left_field_name);r_rgt=rec.get(this.right_field_name);r_level=rec.get(this.level_field_name);if(r_level==level-1&&r_lft<lft&&r_rgt>rgt){result=rec;break;}}
return result;},getNodeChildren:function(rc)
{var lft,r_lft,rgt,r_rgt,level,r_level,records,rec,result=[];records=this.data.getRange();lft=rc.get(this.left_field_name);rgt=rc.get(this.right_field_name);level=rc.get(this.level_field_name);for(i=0,len=records.length;i<len;i++){rec=records[i];r_lft=rec.get(this.left_field_name);r_rgt=rec.get(this.right_field_name);r_level=rec.get(this.level_field_name);if(r_level==level+1&&r_lft>lft&&r_rgt<rgt){result.push(rec);}}
return result;}});Ext.ux.maximgb.tg.GridView=Ext.extend(Ext.grid.GridView,{expanded_icon_class:'ux-maximgb-tg-elbow-minus',last_expanded_icon_class:'ux-maximgb-tg-elbow-end-minus',collapsed_icon_class:'ux-maximgb-tg-elbow-plus',last_collapsed_icon_class:'ux-maximgb-tg-elbow-end-plus',skip_width_update_class:'ux-maximgb-tg-skip-width-update',initTemplates:function()
{var ts=this.templates||{};if(!ts.row){ts.row=new Ext.Template('<div class="x-grid3-row ux-maximgb-tg-level-{level} {alt}" style="{tstyle} {display_style}">','<table class="x-grid3-row-table" border="0" cellspacing="0" cellpadding="0" style="{tstyle}">','<tbody>','<tr>{cells}</tr>',(this.enableRowBody?'<tr class="x-grid3-row-body-tr" style="{bodyStyle}">'+'<td colspan="{cols}" class="x-grid3-body-cell" tabIndex="0" hidefocus="on">'+'<div class="x-grid3-row-body">{body}</div>'+'</td>'+'</tr>':''),'</tbody>','</table>','</div>');}
if(!ts.mastercell){ts.mastercell=new Ext.Template('<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} {css}" style="{style}" tabIndex="0" {cellAttr}>','<div class="ux-maximgb-tg-mastercell-wrap">','{treeui}','<div class="x-grid3-cell-inner x-grid3-col-{id}" unselectable="on" {attr}>{value}</div>','</div>','</td>');}
if(!ts.treeui){ts.treeui=new Ext.Template('<div class="ux-maximgb-tg-uiwrap" style="width: {wrap_width}px">','{elbow_line}','<div style="left: {left}px" class="{cls}">&#160;</div>','</div>');}
if(!ts.elbow_line){ts.elbow_line=new Ext.Template('<div style="left: {left}px" class="{cls}">&#160;</div>');}
this.templates=ts;Ext.ux.maximgb.tg.GridView.superclass.initTemplates.call(this);},doRender:function(cs,rs,ds,startRow,colCount,stripe)
{var ts=this.templates,ct=ts.cell,rt=ts.row,last=colCount-1;var tstyle='width:'+this.getTotalWidth()+';';var buf=[],cb,c,p={},rp={tstyle:tstyle},r;for(var j=0,len=rs.length;j<len;j++){r=rs[j];cb=[];var rowIndex=(j+startRow);var row_render_res=this.renderRow(r,rowIndex,colCount,ds,this.cm.getTotalWidth());if(row_render_res===false){for(var i=0;i<colCount;i++){c=cs[i];p.id=c.id;p.css=i==0?'x-grid3-cell-first ':(i==last?'x-grid3-cell-last ':'');p.attr=p.cellAttr="";p.value=c.renderer(r.data[c.name],p,r,rowIndex,i,ds);p.style=c.style;if(Ext.isEmpty(p.value)){p.value="&#160;";}
if(this.markDirty&&r.dirty&&typeof r.modified[c.name]!=='undefined'){p.css+=' x-grid3-dirty-cell';}
if(c.id==this.grid.master_column_id){p.treeui=this.renderCellTreeUI(r,ds);ct=ts.mastercell;}
else{ct=ts.cell;}
cb[cb.length]=ct.apply(p);}}
else{cb.push(row_render_res);}
var alt=[];if(stripe&&((rowIndex+1)%2==0)){alt[0]="x-grid3-row-alt";}
if(r.dirty){alt[1]=" x-grid3-dirty-row";}
rp.cols=colCount;if(this.getRowClass){alt[2]=this.getRowClass(r,rowIndex,rp,ds);}
rp.alt=alt.join(" ");rp.cells=cb.join("");if(!ds.isVisibleNode(r)){rp.display_style='display: none;';}
else{rp.display_style='';}
rp.level=ds.getNodeDepth(r);buf[buf.length]=rt.apply(rp);}
return buf.join("");},renderCellTreeUI:function(record,store)
{var tpl=this.templates.treeui,line_tpl=this.templates.elbow_line,tpl_data={},rec,parent,depth=level=store.getNodeDepth(record);tpl_data.wrap_width=(depth+1)*16;if(level>0){tpl_data.elbow_line='';rec=record;left=0;while(level--){parent=store.getNodeParent(rec);if(parent){if(store.hasNextSiblingNode(parent)){tpl_data.elbow_line=line_tpl.apply({left:level*16,cls:'ux-maximgb-tg-elbow-line'})+
tpl_data.elbow_line;}
else{tpl_data.elbow_line=line_tpl.apply({left:level*16,cls:'ux-maximgb-tg-elbow-empty'})+
tpl_data.elbow_line;}}
else{throw["Tree inconsistency can't get level ",level+1," node(id=",rec.id,") parent."].join("");}
rec=parent;}}
if(store.isLeafNode(record)){if(store.hasNextSiblingNode(record)){tpl_data.cls='ux-maximgb-tg-elbow';}
else{tpl_data.cls='ux-maximgb-tg-elbow-end';}}
else{tpl_data.cls='ux-maximgb-tg-elbow-active ';if(store.isExpandedNode(record)){if(store.hasNextSiblingNode(record)){tpl_data.cls+=this.expanded_icon_class;}
else{tpl_data.cls+=this.last_expanded_icon_class;}}
else{if(store.hasNextSiblingNode(record)){tpl_data.cls+=this.collapsed_icon_class;}
else{tpl_data.cls+=this.last_collapsed_icon_class;}}}
tpl_data.left=1+depth*16;return tpl.apply(tpl_data);},renderRow:function(record,index,col_count,ds,total_width)
{return false;},afterRender:function()
{Ext.ux.maximgb.tg.GridView.superclass.afterRender.call(this);this.updateAllColumnWidths();},updateAllColumnWidths:function()
{var tw=this.getTotalWidth(),clen=this.cm.getColumnCount(),ws=[],len,i;for(i=0;i<clen;i++){ws[i]=this.getColumnWidth(i);}
this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=tw;this.mainBody.dom.style.width=tw;for(i=0;i<clen;i++){var hd=this.getHeaderCell(i);hd.style.width=ws[i];}
var ns=this.getRows(),row,trow;for(i=0,len=ns.length;i<len;i++){row=ns[i];row.style.width=tw;if(row.firstChild){row.firstChild.style.width=tw;trow=row.firstChild.rows[0];for(var j=0;j<clen&&j<trow.childNodes.length;j++){if(!Ext.fly(trow.childNodes[j]).hasClass(this.skip_width_update_class)){trow.childNodes[j].style.width=ws[j];}}}}
this.onAllColumnWidthsUpdated(ws,tw);},updateColumnWidth:function(col,width)
{var w=this.getColumnWidth(col);var tw=this.getTotalWidth();this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=tw;this.mainBody.dom.style.width=tw;var hd=this.getHeaderCell(col);hd.style.width=w;var ns=this.getRows(),row;for(var i=0,len=ns.length;i<len;i++){row=ns[i];row.style.width=tw;if(row.firstChild){row.firstChild.style.width=tw;if(col<row.firstChild.rows[0].childNodes.length){if(!Ext.fly(row.firstChild.rows[0].childNodes[col]).hasClass(this.skip_width_update_class)){row.firstChild.rows[0].childNodes[col].style.width=w;}}}}
this.onColumnWidthUpdated(col,w,tw);},updateColumnHidden:function(col,hidden)
{var tw=this.getTotalWidth();this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=tw;this.mainBody.dom.style.width=tw;var display=hidden?'none':'';var hd=this.getHeaderCell(col);hd.style.display=display;var ns=this.getRows(),row,cell;for(var i=0,len=ns.length;i<len;i++){row=ns[i];row.style.width=tw;if(row.firstChild){row.firstChild.style.width=tw;if(col<row.firstChild.rows[0].childNodes.length){if(!Ext.fly(row.firstChild.rows[0].childNodes[col]).hasClass(this.skip_width_update_class)){row.firstChild.rows[0].childNodes[col].style.display=display;}}}}
this.onColumnHiddenUpdated(col,hidden,tw);delete this.lastViewWidth;this.layout();},processRows:function(startRow,skipStripe)
{var processed_cnt=0;if(this.ds.getCount()<1){return;}
skipStripe=!this.grid.stripeRows;startRow=startRow||0;var rows=this.getRows();var processed_cnt=0;Ext.each(rows,function(row,idx){row.rowIndex=idx;row.className=row.className.replace(this.rowClsRe,' ');if(row.style.display!='none'){if(!skipStripe&&((processed_cnt+1)%2===0)){row.className+=' x-grid3-row-alt';}
processed_cnt++;}},this);Ext.fly(rows[0]).addClass(this.firstRowCls);Ext.fly(rows[rows.length-1]).addClass(this.lastRowCls);},ensureVisible:function(row,col,hscroll)
{var ancestors,record=this.ds.getAt(row);if(!this.ds.isVisibleNode(record)){ancestors=this.ds.getNodeAncestors(record);while(ancestors.length>0){record=ancestors.shift();if(!this.ds.isExpandedNode(record)){this.ds.expandNode(record);}}}
return Ext.ux.maximgb.tg.GridView.superclass.ensureVisible.call(this,row,col,hscroll);},expandRow:function(record,skip_process)
{var ds=this.ds,i,len,row,pmel,children,index,child_index;if(typeof record=='number'){index=record;record=ds.getAt(index);}
else{index=ds.indexOf(record);}
skip_process=skip_process||false;row=this.getRow(index);pmel=Ext.fly(row).child('.ux-maximgb-tg-elbow-active');if(pmel){if(ds.hasNextSiblingNode(record)){pmel.removeClass(this.collapsed_icon_class);pmel.removeClass(this.last_collapsed_icon_class);pmel.addClass(this.expanded_icon_class);}
else{pmel.removeClass(this.collapsed_icon_class);pmel.removeClass(this.last_collapsed_icon_class);pmel.addClass(this.last_expanded_icon_class);}}
if(ds.isVisibleNode(record)){children=ds.getNodeChildren(record);for(i=0,len=children.length;i<len;i++){child_index=ds.indexOf(children[i]);row=this.getRow(child_index);row.style.display='block';if(ds.isExpandedNode(children[i])){this.expandRow(child_index,true);}}}
if(!skip_process){this.processRows(0);}},collapseRow:function(record,skip_process)
{var ds=this.ds,i,len,children,row,index,child_index;if(typeof record=='number'){index=record;record=ds.getAt(index);}
else{index=ds.indexOf(record);}
skip_process=skip_process||false;row=this.getRow(index);pmel=Ext.fly(row).child('.ux-maximgb-tg-elbow-active');if(pmel){if(ds.hasNextSiblingNode(record)){pmel.removeClass(this.expanded_icon_class);pmel.removeClass(this.last_expanded_icon_class);pmel.addClass(this.collapsed_icon_class);}
else{pmel.removeClass(this.expanded_icon_class);pmel.removeClass(this.last_expanded_icon_class);pmel.addClass(this.last_collapsed_icon_class);}}
children=ds.getNodeChildren(record);for(i=0,len=children.length;i<len;i++){child_index=ds.indexOf(children[i]);row=this.getRow(child_index);if(row.style.display!='none'){row.style.display='none';this.collapseRow(child_index,true);}}
if(!skip_process){this.processRows(0);}},initData:function(ds,cm)
{Ext.ux.maximgb.tg.GridView.superclass.initData.call(this,ds,cm);if(this.ds){this.ds.un('expandnode',this.onStoreExpandNode,this);this.ds.un('collapsenode',this.onStoreCollapseNode,this);}
if(ds){ds.on('expandnode',this.onStoreExpandNode,this);ds.on('collapsenode',this.onStoreCollapseNode,this);}},onLoad:function(store,records,options)
{var ridx;if(options&&options.params&&(options.params[store.paramNames.active_node]===null||store.indexOfId(options.params[store.paramNames.active_node])==-1)){Ext.ux.maximgb.tg.GridView.superclass.onLoad.call(this,store,records,options);}},onAdd:function(ds,records,index)
{Ext.ux.maximgb.tg.GridView.superclass.onAdd.call(this,ds,records,index);if(this.mainWrap){this.processRows(0);}},onRemove:function(ds,record,index,isUpdate)
{Ext.ux.maximgb.tg.GridView.superclass.onRemove.call(this,ds,record,index,isUpdate);if(isUpdate!==true){if(this.mainWrap){this.processRows(0);}}},onUpdate:function(ds,record)
{Ext.ux.maximgb.tg.GridView.superclass.onUpdate.call(this,ds,record);if(this.mainWrap){this.processRows(0);}},onStoreExpandNode:function(store,rc)
{this.expandRow(rc);},onStoreCollapseNode:function(store,rc)
{this.collapseRow(rc);}});Ext.ux.maximgb.tg.GridPanel=Ext.extend(Ext.grid.GridPanel,{master_column_id:0,tg_cls:'ux-maximgb-tg-panel',initComponent:function()
{this.initComponentPreOverride();Ext.ux.maximgb.tg.GridPanel.superclass.initComponent.call(this);this.getSelectionModel().on('selectionchange',this.onTreeGridSelectionChange,this);this.initComponentPostOverride();},initComponentPreOverride:Ext.emptyFn,initComponentPostOverride:Ext.emptyFn,onRender:function(ct,position)
{Ext.ux.maximgb.tg.GridPanel.superclass.onRender.call(this,ct,position);this.el.addClass(this.tg_cls);},getView:function()
{if(!this.view){this.view=new Ext.ux.maximgb.tg.GridView(this.viewConfig);}
return this.view;},onClick:function(e)
{var target=e.getTarget(),view=this.getView(),row=view.findRowIndex(target),store=this.getStore(),sm=this.getSelectionModel(),record,record_id,do_default=true;if(row!==false){if(Ext.fly(target).hasClass('ux-maximgb-tg-elbow-active')){record=store.getAt(row);if(store.isExpandedNode(record)){store.collapseNode(record);}
else{store.expandNode(record);}
do_default=false;}}
if(do_default){Ext.ux.maximgb.tg.GridPanel.superclass.onClick.call(this,e);}},onMouseDown:function(e)
{var target=e.getTarget();if(!Ext.fly(target).hasClass('ux-maximgb-tg-elbow-active')){Ext.ux.maximgb.tg.GridPanel.superclass.onMouseDown.call(this,e);}},onTreeGridSelectionChange:function(sm,selection)
{var record,ancestors,store=this.getStore();if(sm.getSelected){record=sm.getSelected();store.setActiveNode(record);}
else if(sm.getSelectedCell&&selection){record=selection.record;store.setActiveNode(record);}
if(record){if(!store.isVisibleNode(record)){ancestors=store.getNodeAncestors(record);while(ancestors.length>0){store.expandNode(ancestors.pop());}}}}});Ext.ux.maximgb.tg.EditorGridPanel=Ext.extend(Ext.grid.EditorGridPanel,{master_column_id:0,initComponent:function()
{this.initComponentPreOverride();Ext.ux.maximgb.tg.EditorGridPanel.superclass.initComponent.call(this);this.getSelectionModel().on('selectionchange',this.onTreeGridSelectionChange,this);this.initComponentPostOverride();},initComponentPreOverride:Ext.emptyFn,initComponentPostOverride:Ext.emptyFn,onRender:function(ct,position)
{Ext.ux.maximgb.tg.EditorGridPanel.superclass.onRender.call(this,ct,position);this.el.addClass('ux-maximgb-tg-panel');},getView:function()
{if(!this.view){this.view=new Ext.ux.maximgb.tg.GridView(this.viewConfig);}
return this.view;},onClick:function(e)
{var target=e.getTarget(),view=this.getView(),row=view.findRowIndex(target),store=this.getStore(),sm=this.getSelectionModel(),record,record_id,do_default=true;if(row!==false){if(Ext.fly(target).hasClass('ux-maximgb-tg-elbow-active')){record=store.getAt(row);if(store.isExpandedNode(record)){store.collapseNode(record);}
else{store.expandNode(record);}
do_default=false;}}
if(do_default){Ext.ux.maximgb.tg.EditorGridPanel.superclass.onClick.call(this,e);}},onMouseDown:function(e)
{var target=e.getTarget();if(!Ext.fly(target).hasClass('ux-maximgb-tg-elbow-active')){Ext.ux.maximgb.tg.EditorGridPanel.superclass.onMouseDown.call(this,e);}},onTreeGridSelectionChange:function(sm,selection)
{var record,ancestors,store=this.getStore();if(sm.getSelected){record=sm.getSelected();store.setActiveNode(record);}
else if(sm.getSelectedCell&&selection){record=selection.record;store.setActiveNode(record);}
if(record){if(!store.isVisibleNode(record)){ancestors=store.getNodeAncestors(record);while(ancestors.length>0){store.expandNode(ancestors.pop());}}}}});Ext.ux.maximgb.tg.PagingToolbar=Ext.extend(Ext.PagingToolbar,{onRender:function(ct,position)
{Ext.ux.maximgb.tg.PagingToolbar.superclass.onRender.call(this,ct,position);this.updateUI();},getPageData:function()
{var total=0,cursor=0;if(this.store){cursor=this.store.getActiveNodePageOffset();total=this.store.getActiveNodeTotalCount();}
return{total:total,activePage:Math.ceil((cursor+this.pageSize)/this.pageSize),pages:total<this.pageSize?1:Math.ceil(total/this.pageSize)};},updateInfo:function()
{var count=0,cursor=0,total=0,msg;if(this.displayItem){if(this.store){cursor=this.store.getActiveNodePageOffset();count=this.store.getActiveNodeCount();total=this.store.getActiveNodeTotalCount();}
msg=count==0?this.emptyMsg:String.format(this.displayMsg,cursor+1,cursor+count,total);this.displayItem.setText(msg);}},updateUI:function()
{var d=this.getPageData(),ap=d.activePage,ps=d.pages;this.afterTextItem.setText(String.format(this.afterPageText,d.pages));this.inputItem.setValue(ap);this.first.setDisabled(ap==1);this.prev.setDisabled(ap==1);this.next.setDisabled(ap==ps);this.last.setDisabled(ap==ps);this.refresh.enable();this.updateInfo();},bindStore:function(store,initial)
{if(!initial&&this.store){this.store.un('activenodechange',this.onStoreActiveNodeChange,this);}
if(store){store.on('activenodechange',this.onStoreActiveNodeChange,this);}
Ext.ux.maximgb.tg.PagingToolbar.superclass.bindStore.call(this,store,initial);},beforeLoad:function(store,options)
{var paramNames=this.getParams();Ext.ux.maximgb.tg.PagingToolbar.superclass.beforeLoad.call(this,store,options);if(options&&options.params){if(options.params[paramNames.start]===undefined){options.params[paramNames.start]=0;}
if(options.params[paramNames.limit]===undefined){options.params[paramNames.limit]=this.pageSize;}}},moveFirst:function()
{this.doLoad(0);},movePrevious:function()
{var store=this.store,cursor=store?store.getActiveNodePageOffset():0;this.doLoad(Math.max(0,cursor-this.pageSize));},moveNext:function()
{var store=this.store,cursor=store?store.getActiveNodePageOffset():0;this.doLoad(cursor+this.pageSize);},moveLast:function()
{var store=this.store,cursor=store?store.getActiveNodePageOffset():0,total=store?store.getActiveNodeTotalCount():0,extra=total%this.pageSize;this.doLoad(extra?(total-extra):total-this.pageSize);},onStoreActiveNodeChange:function(store,old_rec,new_rec)
{if(this.rendered){this.updateUI();}}});Ext.reg('Ext.ux.maximgb.tg.GridPanel',Ext.ux.maximgb.tg.GridPanel);Ext.reg('Ext.ux.maximgb.tg.EditorGridPanel',Ext.ux.maximgb.tg.EditorGridPanel);Ext.reg('Ext.ux.maximgb.tg.PagingToolbar',Ext.ux.maximgb.tg.PagingToolbar);Ext.ns('Ext.ux.grid.plugins');Ext.ux.grid.plugins.CheckboxColumn=function(config){this.addEvents({click:true});Ext.ux.grid.plugins.CheckboxColumn.superclass.constructor.call(this);Ext.apply(this,config,{init:function(grid){this.grid=grid;this.grid.on('render',function(){var view=this.grid.getView();view.mainBody.on('click',this.onMouseDown,this);},this);},onMouseDown:function(e,t){if(!this.disabled&&t.className&&t.className.indexOf('x-grid3-cc-'+this.id)!=-1){e.stopEvent();var index=this.grid.getView().findRowIndex(t);var column=this.grid.getView().findCellIndex(t);var record=this.grid.store.getAt(index);var field=this.grid.colModel.getDataIndex(column);if(this.grid.fireEvent('beforeedit',{grid:this.grid,record:record,row:index,column:column})){var v=!Ext.getBool(record.data[this.dataIndex]);record.set(this.dataIndex,(v?'1':'0'));this.fireEvent('click',this,e,record);this.grid.fireEvent('afteredit',{grid:this.grid,record:record,field:field,originalValue:!v,value:v,row:index,column:column,cancel:false});}}},renderer:function(v,p,record){var checkState=Ext.getBool(v)?'-on':'';p.css+=' x-grid3-check-col-td';return'<div class="x-grid3-check-col'+checkState+' x-grid3-cc-'+this.id+'"> </div>';}});if(!this.id){this.id=Ext.id();}
this.renderer=this.renderer.createDelegate(this);};Ext.extend(Ext.ux.grid.plugins.CheckboxColumn,Ext.form.Field);Ext.menu.EditableItem=Ext.extend(Ext.menu.BaseItem,{itemCls:"x-menu-item",hideOnClick:false,initComponent:function(){Ext.menu.EditableItem.superclass.initComponent.call(this);this.addEvents('keyup');this.editor=this.editor||new Ext.form.TextField();if(this.text){this.editor.setValue(this.text);}},onRender:function(container){var html='<img src="'+this.icon+'" class="x-menu-item-icon" style="margin: 3px 3px 2px 2px;" />';if('cls:'==this.icon.substr(0,4)){var cls=this.icon.substr(4);html='<img src="'+Ext.BLANK_IMAGE_URL+'" class="x-menu-item-icon '+cls+'" style="margin: 3px 3px 2px 2px; width: 16px; height: 16px;" />';}
var s=container.createChild({cls:this.itemCls,html:html});Ext.apply(this.config,{width:125});this.editor.render(s);this.el=s;this.relayEvents(this.editor.el,["keyup"]);if(Ext.isGecko){s.setStyle('overflow','auto');}
Ext.menu.EditableItem.superclass.onRender.call(this,container);},getValue:function(){return this.editor.getValue();},setValue:function(value){this.editor.setValue(value);},isValid:function(preventMark){return this.editor.isValid(preventMark);}});Ext.menu.RangeMenu=function(config){Ext.menu.RangeMenu.superclass.constructor.call(this,config);this.updateTask=new Ext.util.DelayedTask(this.fireUpdate,this);var cfg=this.fieldCfg;var cls=this.fieldCls;var fields=this.fields=Ext.applyIf(this.fields||{},{'gt':new Ext.menu.EditableItem({icon:this.icons.gt,editor:new cls(typeof cfg=="object"?cfg.gt||'':cfg)}),'lt':new Ext.menu.EditableItem({icon:this.icons.lt,editor:new cls(typeof cfg=="object"?cfg.lt||'':cfg)}),'eq':new Ext.menu.EditableItem({icon:this.icons.eq,editor:new cls(typeof cfg=="object"?cfg.gt||'':cfg)})});this.add(fields.gt,fields.lt,'-',fields.eq);for(var key in fields){fields[key].on('keyup',this.onKeyUp.createDelegate(this,[fields[key]],true),this);}
this.addEvents('update');};Ext.extend(Ext.menu.RangeMenu,Ext.menu.Menu,{fieldCls:Ext.form.NumberField,fieldCfg:'',updateBuffer:500,icons:{gt:'/img/small_icons/greater_then.png',lt:'/img/small_icons/less_then.png',eq:'/img/small_icons/equals.png'},fireUpdate:function(){this.fireEvent("update",this);},setValue:function(data){for(var key in this.fields){this.fields[key].setValue(data[key]!==undefined?data[key]:'');}
this.fireEvent("update",this);},getValue:function(){var result={};for(var key in this.fields){var field=this.fields[key];if(field.isValid()&&String(field.getValue()).length>0){result[key]=field.getValue();}}
return result;},onKeyUp:function(event,input,notSure,field){if(event.getKey()==event.ENTER&&field.isValid()){this.hide(true);return;}
if(field==this.fields.eq){this.fields.gt.setValue(null);this.fields.lt.setValue(null);}else{this.fields.eq.setValue(null);}
this.updateTask.delay(this.updateBuffer);}});Ext.grid.GridFilters=function(config){this.filters=new Ext.util.MixedCollection();this.filters.getKey=function(o){return o?o.dataIndex:null};for(var i=0,len=config.filters.length;i<len;i++){this.addFilter(config.filters[i]);}
this.deferredUpdate=new Ext.util.DelayedTask(this.reload,this);delete config.filters;Ext.apply(this,config);};Ext.extend(Ext.grid.GridFilters,Ext.util.Observable,{updateBuffer:500,paramPrefix:'filter',filterCls:'ux-filtered-column',local:false,autoReload:true,stateId:undefined,showMenu:true,filtersText:'Filtrowanie',init:function(grid){if(grid instanceof Ext.grid.GridPanel){this.grid=grid;this.store=this.grid.getStore();if(this.local){this.store.on('load',function(store){store.filterBy(this.getRecordFilter());},this);}else{this.store.on('beforeload',this.onBeforeLoad,this);}
this.grid.filters=this;this.grid.addEvents('filterupdate');grid.on("render",this.onRender,this);grid.on("beforestaterestore",this.applyState,this);grid.on("beforestatesave",this.saveState,this);}else if(grid instanceof Ext.PagingToolbar){this.toolbar=grid;}},applyState:function(grid,state){this.suspendStateStore=true;this.clearFilters();if(state.filters){for(var key in state.filters){var filter=this.filters.get(key);if(filter){filter.setValue(state.filters[key]);filter.setActive(true);}}}
this.deferredUpdate.cancel();if(this.local){this.reload();}
this.suspendStateStore=false;},saveState:function(grid,state){var filters={};this.filters.each(function(filter){if(filter.active){filters[filter.dataIndex]=filter.getValue();}});return state.filters=filters;},onRender:function(){var hmenu;if(this.showMenu){hmenu=this.grid.getView().hmenu;this.sep=hmenu.addSeparator();this.menu=hmenu.add(new Ext.menu.CheckItem({text:this.filtersText,menu:new Ext.menu.Menu()}));this.menu.on('checkchange',this.onCheckChange,this);this.menu.on('beforecheckchange',this.onBeforeCheck,this);hmenu.on('beforeshow',this.onMenu,this);}
this.grid.getView().on("refresh",this.onRefresh,this);this.updateColumnHeadings(this.grid.getView());},onMenu:function(filterMenu){var filter=this.getMenuFilter();if(filter){this.menu.menu=filter.menu;this.menu.setChecked(filter.active,false);}
this.menu.setVisible(filter!==undefined);this.sep.setVisible(filter!==undefined);},onCheckChange:function(item,value){this.getMenuFilter().setActive(value);},onBeforeCheck:function(check,value){return!value||this.getMenuFilter().isActivatable();},onStateChange:function(event,filter){if(event=="serialize"){return;}
if(filter==this.getMenuFilter()){this.menu.setChecked(filter.active,false);}
if(this.autoReload||this.local){this.deferredUpdate.delay(this.updateBuffer);}
var view=this.grid.getView();this.updateColumnHeadings(view);this.grid.saveState();this.grid.fireEvent('filterupdate',this,filter);},onBeforeLoad:function(store,options){options.params=options.params||{};this.cleanParams(options.params);var params=this.buildQuery(this.getFilterData());Ext.apply(options.params,params);},onRefresh:function(view){this.updateColumnHeadings(view);},getMenuFilter:function(){var view=this.grid.getView();if(!view||view.hdCtxIndex===undefined){return null;}
return this.filters.get(view.cm.config[view.hdCtxIndex].dataIndex);},updateColumnHeadings:function(view){if(!view||!view.mainHd){return;}
var hds=view.mainHd.select('td').removeClass(this.filterCls);for(var i=0,len=view.cm.config.length;i<len;i++){var filter=this.getFilter(view.cm.config[i].dataIndex);if(filter&&filter.active){hds.item(i).addClass(this.filterCls);}}},reload:function(){if(this.local){this.grid.store.clearFilter(true);this.grid.store.filterBy(this.getRecordFilter());}else{this.deferredUpdate.cancel();var store=this.grid.store;if(this.toolbar){var start=this.toolbar.paramNames.start;if(store.lastOptions&&store.lastOptions.params&&store.lastOptions.params[start]){store.lastOptions.params[start]=0;}}
store.reload();}},getRecordFilter:function(){var f=[];this.filters.each(function(filter){if(filter.active){f.push(filter);}});var len=f.length;return function(record){for(var i=0;i<len;i++){if(!f[i].validateRecord(record)){return false;}}
return true;};},addFilter:function(config){var filter=config.menu?config:new(this.getFilterClass(config.type))(config);this.filters.add(filter);Ext.util.Observable.capture(filter,this.onStateChange,this);return filter;},getFilter:function(dataIndex){return this.filters.get(dataIndex);},clearFilters:function(){this.filters.each(function(filter){filter.setActive(false);});},getFilterData:function(){var filters=[];this.filters.each(function(f){if(f.active){var d=[].concat(f.serialize());for(var i=0,len=d.length;i<len;i++){filters.push({field:f.dataIndex,data:d[i]});}}});return filters;},buildQuery:function(filters){var p={};for(var i=0,len=filters.length;i<len;i++){var f=filters[i];var root=[this.paramPrefix,'[',i,']'].join('');p[root+'[field]']=f.field;var dataPrefix=root+'[data]';for(var key in f.data){p[[dataPrefix,'[',key,']'].join('')]=f.data[key];}}
return p;},cleanParams:function(p){var regex=new RegExp("^"+this.paramPrefix+"\[[0-9]+\]");for(var key in p){if(regex.test(key)){delete p[key];}}},getFilterClass:function(type){return Ext.grid.filter[type.substr(0,1).toUpperCase()+type.substr(1)+'Filter'];}});Ext.ns("Ext.grid.filter");Ext.grid.filter.Filter=function(config){Ext.apply(this,config);this.events={'activate':true,'deactivate':true,'update':true,'serialize':true};Ext.grid.filter.Filter.superclass.constructor.call(this);this.menu=new Ext.menu.Menu();this.init();if(config&&config.value){this.setValue(config.value);this.setActive(config.active!==false,true);delete config.value;}};Ext.extend(Ext.grid.filter.Filter,Ext.util.Observable,{active:false,dataIndex:null,menu:null,init:Ext.emptyFn,fireUpdate:function(){this.value=this.item.getValue();if(this.active){this.fireEvent("update",this);}
this.setActive(this.value.length>0);},isActivatable:function(){return true;},setActive:function(active,suppressEvent){if(this.active!=active){this.active=active;if(suppressEvent!==true){this.fireEvent(active?'activate':'deactivate',this);}}},getValue:Ext.emptyFn,setValue:Ext.emptyFn,serialize:Ext.emptyFn,validateRecord:function(){return true;}});Ext.grid.filter.StringFilter=Ext.extend(Ext.grid.filter.Filter,{updateBuffer:500,icon:'/img/small_icons/famfamfam/find.png',init:function(){var value=this.value=new Ext.menu.EditableItem({icon:this.icon});value.on('keyup',this.onKeyUp,this);this.menu.add(value);this.updateTask=new Ext.util.DelayedTask(this.fireUpdate,this);},onKeyUp:function(event){if(event.getKey()==event.ENTER){this.menu.hide(true);return;}
this.updateTask.delay(this.updateBuffer);},isActivatable:function(){return this.value.getValue().length>0;},fireUpdate:function(){if(this.active){this.fireEvent("update",this);}
this.setActive(this.isActivatable());},setValue:function(value){this.value.setValue(value);this.fireEvent("update",this);},getValue:function(){return this.value.getValue();},serialize:function(){var args={type:'string',value:this.getValue()};this.fireEvent('serialize',args,this);return args;},validateRecord:function(record){var val=record.get(this.dataIndex);if(typeof val!="string"){return this.getValue().length==0;}
return val.toLowerCase().indexOf(this.getValue().toLowerCase())>-1;}});Ext.grid.filter.DateFilter=Ext.extend(Ext.grid.filter.Filter,{dateFormat:'m/d/Y',pickerOpts:{},beforeText:'Przed',afterText:'Po',onText:'W dniu',init:function(){var opts=Ext.apply(this.pickerOpts,{minDate:this.minDate,maxDate:this.maxDate,format:this.dateFormat});var dates=this.dates={'before':new Ext.menu.CheckItem({text:this.beforeText,menu:new Ext.menu.DateMenu(opts)}),'after':new Ext.menu.CheckItem({text:this.afterText,menu:new Ext.menu.DateMenu(opts)}),'on':new Ext.menu.CheckItem({text:this.onText,menu:new Ext.menu.DateMenu(opts)})};this.menu.add(dates.before,dates.after,"-",dates.on);for(var key in dates){var date=dates[key];date.menu.on('select',this.onSelect.createDelegate(this,[date]),this);date.on('checkchange',function(){this.setActive(this.isActivatable());},this);};},onSelect:function(date,menuItem,value,picker){date.setChecked(true);var dates=this.dates;if(date==dates.on){dates.before.setChecked(false,true);dates.after.setChecked(false,true);}else{dates.on.setChecked(false,true);if(date==dates.after&&dates.before.menu.picker.value<value){dates.before.setChecked(false,true);}else if(date==dates.before&&dates.after.menu.picker.value>value){dates.after.setChecked(false,true);}}
this.fireEvent("update",this);},getFieldValue:function(field){return this.dates[field].menu.picker.getValue();},getPicker:function(field){return this.dates[field].menu.picker;},isActivatable:function(){return this.dates.on.checked||this.dates.after.checked||this.dates.before.checked;},setValue:function(value){for(var key in this.dates){if(value[key]){this.dates[key].menu.picker.setValue(value[key]);this.dates[key].setChecked(true);}else{this.dates[key].setChecked(false);}}},getValue:function(){var result={};for(var key in this.dates){if(this.dates[key].checked){result[key]=this.dates[key].menu.picker.getValue();}}
return result;},serialize:function(){var args=[];if(this.dates.before.checked){args=[{type:'date',comparison:'lt',value:this.getFieldValue('before').format(this.dateFormat)}];}
if(this.dates.after.checked){args.push({type:'date',comparison:'gt',value:this.getFieldValue('after').format(this.dateFormat)});}
if(this.dates.on.checked){args={type:'date',comparison:'eq',value:this.getFieldValue('on').format(this.dateFormat)};}
this.fireEvent('serialize',args,this);return args;},validateRecord:function(record){var val=record.get(this.dataIndex).clearTime(true).getTime();if(this.dates.on.checked&&val!=this.getFieldValue('on').clearTime(true).getTime()){return false;}
if(this.dates.before.checked&&val>=this.getFieldValue('before').clearTime(true).getTime()){return false;}
if(this.dates.after.checked&&val<=this.getFieldValue('after').clearTime(true).getTime()){return false;}
return true;}});Ext.grid.filter.ListFilter=Ext.extend(Ext.grid.filter.Filter,{labelField:'text',loadingText:'Loading...',loadOnShow:true,value:[],loaded:false,phpMode:false,init:function(){this.menu.add('<span class="loading-indicator">'+this.loadingText+'</span>');if(this.store&&this.loadOnShow){this.menu.on('show',this.onMenuLoad,this);}else if(this.options){var options=[];for(var i=0,len=this.options.length;i<len;i++){var value=this.options[i];switch(Ext.type(value)){case'array':options.push(value);break;case'object':options.push([value.id,value[this.labelField]]);break;case'string':options.push([value,value]);break;}}
this.store=new Ext.data.Store({reader:new Ext.data.ArrayReader({id:0},['id',this.labelField])});this.options=options;this.menu.on('show',this.onMenuLoad,this);}
this.store.on('load',this.onLoad,this);this.bindShowAdapter();},bindShowAdapter:function(){var oShow=this.menu.show;var lastArgs=null;this.menu.show=function(){if(arguments.length==0){oShow.apply(this,lastArgs);}else{lastArgs=arguments;oShow.apply(this,arguments);}};},onMenuLoad:function(){if(!this.loaded){if(this.options){this.store.loadData(this.options);}else{this.store.load();}}},onLoad:function(store,records){var visible=this.menu.isVisible();this.menu.hide(false);this.menu.removeAll();var gid=this.single?Ext.id():null;for(var i=0,len=records.length;i<len;i++){var item=new Ext.menu.CheckItem({text:records[i].get(this.labelField),group:gid,checked:this.value.indexOf(records[i].id)>-1,hideOnClick:false});item.itemId=records[i].id;item.on('checkchange',this.checkChange,this);this.menu.add(item);}
this.setActive(this.isActivatable());this.loaded=true;if(visible){this.menu.show();}},checkChange:function(item,checked){var value=[];this.menu.items.each(function(item){if(item.checked){value.push(item.itemId);}},this);this.value=value;this.setActive(this.isActivatable());this.fireEvent("update",this);},isActivatable:function(){return this.value.length>0;},setValue:function(value){var value=this.value=[].concat(value);if(this.loaded){this.menu.items.each(function(item){item.setChecked(false,true);for(var i=0,len=value.length;i<len;i++){if(item.itemId==value[i]){item.setChecked(true,true);}}},this);}
this.fireEvent("update",this);},getValue:function(){return this.value;},serialize:function(){var args={type:'list',value:this.phpMode?this.value.join(','):this.value};this.fireEvent('serialize',args,this);return args;},validateRecord:function(record){return this.getValue().indexOf(record.get(this.dataIndex))>-1;}});Ext.grid.filter.NumericFilter=Ext.extend(Ext.grid.filter.Filter,{init:function(){this.menu=new Ext.menu.RangeMenu();this.menu.on("update",this.fireUpdate,this);},fireUpdate:function(){this.setActive(this.isActivatable());this.fireEvent("update",this);},isActivatable:function(){var value=this.menu.getValue();return value.eq!==undefined||value.gt!==undefined||value.lt!==undefined;},setValue:function(value){this.menu.setValue(value);},getValue:function(){return this.menu.getValue();},serialize:function(){var args=[];var values=this.menu.getValue();for(var key in values){args.push({type:'numeric',comparison:key,value:values[key]});}
this.fireEvent('serialize',args,this);return args;},validateRecord:function(record){var val=record.get(this.dataIndex),values=this.menu.getValue();if(values.eq!=undefined&&val!=values.eq){return false;}
if(values.lt!=undefined&&val>=values.lt){return false;}
if(values.gt!=undefined&&val<=values.gt){return false;}
return true;}});Ext.grid.filter.BooleanFilter=Ext.extend(Ext.grid.filter.Filter,{defaultValue:false,yesText:'Yes',noText:'No',init:function(){var gId=Ext.id();this.options=[new Ext.menu.CheckItem({text:this.yesText,group:gId,checked:this.defaultValue===true}),new Ext.menu.CheckItem({text:this.noText,group:gId,checked:this.defaultValue===false})];this.menu.add(this.options[0],this.options[1]);for(var i=0;i<this.options.length;i++){this.options[i].on('click',this.fireUpdate,this);this.options[i].on('checkchange',this.fireUpdate,this);}},isActivatable:function(){return true;},fireUpdate:function(){this.fireEvent("update",this);this.setActive(true);},setValue:function(value){this.options[value?0:1].setChecked(true);},getValue:function(){return this.options[0].checked;},serialize:function(){var args={type:'boolean',value:this.getValue()};this.fireEvent('serialize',args,this);return args;},validateRecord:function(record){return record.get(this.dataIndex)==this.getValue();}});Ext.ns('Ext.ux.grid');Ext.ux.grid.GroupSummary=Ext.extend(Ext.util.Observable,{constructor:function(config){Ext.apply(this,config);Ext.ux.grid.GroupSummary.superclass.constructor.call(this);},init:function(grid){this.grid=grid;this.cm=grid.getColumnModel();this.view=grid.getView();var v=this.view;v.doGroupEnd=this.doGroupEnd.createDelegate(this);v.afterMethod('onColumnWidthUpdated',this.doWidth,this);v.afterMethod('onAllColumnWidthsUpdated',this.doAllWidths,this);v.afterMethod('onColumnHiddenUpdated',this.doHidden,this);v.afterMethod('onUpdate',this.doUpdate,this);v.afterMethod('onRemove',this.doRemove,this);if(!this.rowTpl){this.rowTpl=new Ext.Template('<div class="x-grid3-summary-row" style="{tstyle}">','<table class="x-grid3-summary-table" border="0" cellspacing="0" cellpadding="0" style="{tstyle}">','<tbody><tr>{cells}</tr></tbody>','</table></div>');this.rowTpl.disableFormats=true;}
this.rowTpl.compile();if(!this.cellTpl){this.cellTpl=new Ext.Template('<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} {css}" style="{style}">','<div class="x-grid3-cell-inner x-grid3-col-{id}" unselectable="on">{value}</div>',"</td>");this.cellTpl.disableFormats=true;}
this.cellTpl.compile();},toggleSummaries:function(visible){var el=this.grid.getGridEl();if(el){if(visible===undefined){visible=el.hasClass('x-grid-hide-summary');}
el[visible?'removeClass':'addClass']('x-grid-hide-summary');}},renderSummary:function(o,cs){cs=cs||this.view.getColumnData();var cfg=this.cm.config;var buf=[],c,p={},cf,last=cs.length-1;for(var i=0,len=cs.length;i<len;i++){c=cs[i];cf=cfg[i];p.id=c.id;p.style=c.style;p.css=i==0?'x-grid3-cell-first ':(i==last?'x-grid3-cell-last ':'');if(cf.summaryType||cf.summaryRenderer){p.value=(cf.summaryRenderer||c.renderer)(o.data[c.name],p,o,-1,i);}else{p.value='';}
if(p.value==undefined||p.value==="")p.value="&#160;";buf[buf.length]=this.cellTpl.apply(p);}
return this.rowTpl.apply({tstyle:'width:'+this.view.getTotalWidth()+';',cells:buf.join('')});},calculate:function(rs,cs){var data={},r,c,cfg=this.cm.config,cf;for(var j=0,jlen=rs.length;j<jlen;j++){r=rs[j];for(var i=0,len=cs.length;i<len;i++){c=cs[i];cf=cfg[i];if(cf.summaryType){data[c.name]=Ext.ux.grid.GroupSummary.Calculations[cf.summaryType](data[c.name]||0,r,c.name,data);}}}
return data;},doGroupEnd:function(buf,g,cs,ds,colCount){var data=this.calculate(g.rs,cs);buf.push('</div>',this.renderSummary({data:data},cs),'</div>');},doWidth:function(col,w,tw){var gs=this.view.getGroups(),s;for(var i=0,len=gs.length;i<len;i++){s=gs[i].childNodes[2];s.style.width=tw;s.firstChild.style.width=tw;s.firstChild.rows[0].childNodes[col].style.width=w;}},doAllWidths:function(ws,tw){var gs=this.view.getGroups(),s,cells,wlen=ws.length;for(var i=0,len=gs.length;i<len;i++){s=gs[i].childNodes[2];s.style.width=tw;s.firstChild.style.width=tw;cells=s.firstChild.rows[0].childNodes;for(var j=0;j<wlen;j++){cells[j].style.width=ws[j];}}},doHidden:function(col,hidden,tw){var gs=this.view.getGroups(),s,display=hidden?'none':'';for(var i=0,len=gs.length;i<len;i++){s=gs[i].childNodes[2];s.style.width=tw;s.firstChild.style.width=tw;s.firstChild.rows[0].childNodes[col].style.display=display;}},refreshSummary:function(groupValue){return this.refreshSummaryById(this.view.getGroupId(groupValue));},getSummaryNode:function(gid){var g=Ext.fly(gid,'_gsummary');if(g){return g.down('.x-grid3-summary-row',true);}
return null;},refreshSummaryById:function(gid){var g=document.getElementById(gid);if(!g){return false;}
var rs=[];this.grid.store.each(function(r){if(r._groupId==gid){rs[rs.length]=r;}});var cs=this.view.getColumnData();var data=this.calculate(rs,cs);var markup=this.renderSummary({data:data},cs);var existing=this.getSummaryNode(gid);if(existing){g.removeChild(existing);}
Ext.DomHelper.append(g,markup);return true;},doUpdate:function(ds,record){this.refreshSummaryById(record._groupId);},doRemove:function(ds,record,index,isUpdate){if(!isUpdate){this.refreshSummaryById(record._groupId);}},showSummaryMsg:function(groupValue,msg){var gid=this.view.getGroupId(groupValue);var node=this.getSummaryNode(gid);if(node){node.innerHTML='<div class="x-grid3-summary-msg">'+msg+'</div>';}}});Ext.grid.GroupSummary=Ext.ux.grid.GroupSummary;Ext.ux.grid.GroupSummary.Calculations={'sum':function(v,record,field){return v+(record.data[field]||0);},'count':function(v,record,field,data){return data[field+'count']?++data[field+'count']:(data[field+'count']=1);},'max':function(v,record,field,data){var v=record.data[field];var max=data[field+'max']===undefined?(data[field+'max']=v):data[field+'max'];return v>max?(data[field+'max']=v):max;},'min':function(v,record,field,data){var v=record.data[field];var min=data[field+'min']===undefined?(data[field+'min']=v):data[field+'min'];return v<min?(data[field+'min']=v):min;},'average':function(v,record,field,data){var c=data[field+'count']?++data[field+'count']:(data[field+'count']=1);var t=(data[field+'total']=((data[field+'total']||0)+(record.data[field]||0)));return t===0?0:t/c;}};Ext.grid.GroupSummary.Calculations=Ext.ux.grid.GroupSummary.Calculations;Ext.ux.grid.HybridSummary=Ext.extend(Ext.ux.grid.GroupSummary,{calculate:function(rs,cs){var gcol=this.view.getGroupField();var gvalue=rs[0].data[gcol];var gdata=this.getSummaryData(gvalue);return gdata||Ext.ux.grid.HybridSummary.superclass.calculate.call(this,rs,cs);},updateSummaryData:function(groupValue,data,skipRefresh){var json=this.grid.store.reader.jsonData;if(!json.summaryData){json.summaryData={};}
json.summaryData[groupValue]=data;if(!skipRefresh){this.refreshSummary(groupValue);}},getSummaryData:function(groupValue){var json=this.grid.store.reader.jsonData;if(json&&json.summaryData){return json.summaryData[groupValue];}
return null;}});Ext.grid.HybridSummary=Ext.ux.grid.HybridSummary;Ext.ns('Ext.ux.grid.plugins');Ext.ux.grid.plugins.QuickAdd=function(config){Ext.apply(this,config);this.addEvents('newentry');Ext.ux.grid.plugins.QuickAdd.superclass.constructor.call(this);};Ext.extend(Ext.ux.grid.plugins.QuickAdd,Ext.util.Observable,{quickaddMandatory:false,adding:false,_gridMarkCellInvalidHandler:null,init:function(grid){this.grid=grid;this._gridMarkCellInvalidHandler=this.grid.markCellInvalid;this.grid.markCellInvalid=this.markCellInvalid;this.initTemplates();var view=grid.getView();view.afterRender=view.afterRender.createSequence(this.renderQuickAddFields,this);this.quickaddHandlers={scope:this,blur:function(){this.doBlur.defer(250,this);},specialkey:function(f,e){if(e.getKey()==e.ENTER){e.stopEvent();f.el.blur();if(f.triggerBlur){f.triggerBlur();}}}};this.grid.on('beforesaveRecordOnServer',this.beforesaveRecordOnServer,this);this.grid.on('aftersaveRecordOnServer',this.aftersaveRecordOnServer,this);},renderQuickAddFields:function(){Ext.each(this.getVisibleCols(),function(item){if(item.quickaddField){item.quickaddField.render('new-'+item.id);item.quickaddField.setDisabled(item.id!=this.quickaddMandatory);item.quickaddField.on(this.quickaddHandlers);}},this);this.grid.on('resize',this.syncFields,this);this.grid.on('columnresize',this.syncFields,this);this.syncFields();if(this.quickaddMandatory)
this.grid.colModel.getColumnById(this.quickaddMandatory).quickaddField.on('focus',this.onMandatoryFocus,this);},doBlur:function(){var hasFocus;Ext.each(this.getVisibleCols(),function(item){if(item.quickaddField&&item.quickaddField.hasFocus){hasFocus=true;}},this);if(!hasFocus){var data={};Ext.each(this.getVisibleCols(),function(item){if(item.quickaddField){data[item.dataKey?item.dataKey:item.id]=item.quickaddField.getValue();item.quickaddField.setDisabled(item.id!=this.quickaddMandatory);}},this);if(this.grid.colModel.getColumnById(this.quickaddMandatory).quickaddField.getValue()!=''){if(this.fireEvent('newentry',this.grid,data)){}}
this.adding=false;}},getVisibleCols:function(){var enabledCols=[];var cm=this.grid.colModel;var ncols=cm.getColumnCount();for(var i=0;i<ncols;i++){if(!cm.isHidden(i)){var colId=cm.getColumnId(i);enabledCols.push(cm.getColumnById(colId));}}
return enabledCols;},initTemplates:function(){var view=this.grid.getView();view.templates=view.templates?view.templates:{};var ts=view.templates;var newRows='';Ext.each(this.getVisibleCols(),function(item){newRows+='<td><div class="x-small-editor" id="new-'+item.id+'"></div></td>';},this);ts.header=new Ext.Template('<table border="0" cellspacing="0" cellpadding="0" style="{tstyle}">','<thead><tr class="x-grid3-hd-row">{cells}</tr></thead>','<tbody><tr class="new-row">',newRows,'</tr></tbody>','</table>');},syncFields:function(){var pxToSubstract=2;if(Ext.isSafari){pxToSubstract=11;}
var cm=this.grid.colModel;Ext.each(this.getVisibleCols(),function(item){if(item.quickaddField){item.quickaddField.setSize(cm.getColumnWidth(cm.getIndexById(item.id))-pxToSubstract);}},this);},onMandatoryFocus:function(){this.adding=true;Ext.each(this.getVisibleCols(),function(item){if(item.quickaddField){item.quickaddField.setDisabled(false);}},this);},markCellInvalid:function(key,rowIdx,message){if(rowIdx<0){var col=this.getColumnModel().getColumnById(key);if(col.quickaddField){col.quickaddField.markInvalid(message);}}else{this._gridMarkCellInvalidHandler(key,rowIdx,message);}},beforesaveRecordOnServer:function(){this.grid.colModel.getColumnById(this.quickaddMandatory).quickaddField.setDisabled(true);},aftersaveRecordOnServer:function(status){this.grid.colModel.getColumnById(this.quickaddMandatory).quickaddField.setDisabled(false);if(status){this.grid.colModel.getColumnById(this.quickaddMandatory).quickaddField.setValue('');}}});Ext.ns('Ext.ux.grid.plugins');Ext.ux.grid.plugins.RowActions=function(config){Ext.apply(this,config);this.addEvents('beforeaction','action','beforegroupaction','groupaction');Ext.ux.grid.plugins.RowActions.superclass.constructor.call(this);};Ext.extend(Ext.ux.grid.plugins.RowActions,Ext.util.Observable,{actionEvent:'click',autoWidth:true,header:'',menuDisabled:true,sortable:false,tplGroup:'<tpl for="actions">'
+'<div class="ux-grow-action-item<tpl if="\'right\'===align"> ux-action-right</tpl> '
+'{cls}" style="{style}" qtip="{qtip}">{text}</div>'
+'</tpl>',tplRow:'<div class="ux-row-action">'
+'<tpl for="actions">'
+'<div class="ux-row-action-item {cls} <tpl if="text">'
+'ux-row-action-text</tpl>" style="{hide}{style}" qtip="{qtip}">'
+'<tpl if="text"><span qtip="{qtip}">{text}</span></tpl></div>'
+'</tpl>'
+'</div>',widthIntercept:4,widthSlope:21,init:function(grid){this.grid=grid;if(!this.tpl){this.tpl=this.processActions(this.actions);}
if(this.autoWidth){this.width=this.widthSlope*this.actions.length+this.widthIntercept;this.fixed=true;}
var view=grid.getView();var cfg={scope:this};cfg[this.actionEvent]=this.onClick;grid.on({render:{scope:this,fn:function(){view.mainBody.on(cfg);}}});if(!this.renderer){this.renderer=function(value,cell,record,row,col,store){cell.css+=(cell.css?' ':'')+'ux-row-action-cell';return this.tpl.apply(this.getData(value,cell,record,row,col,store));}.createDelegate(this);}
if(view.groupTextTpl&&this.groupActions){view.interceptMouse=view.interceptMouse.createInterceptor(function(e){if(e.getTarget('.ux-grow-action-item')){return false;}});view.groupTextTpl='<div class="ux-grow-action-text">'+view.groupTextTpl+'</div>'
+this.processActions(this.groupActions,this.tplGroup).apply();}},getData:function(value,cell,record,row,col,store){return record.data||{};},processActions:function(actions,template){var acts=[];Ext.each(actions,function(a,i){if(a.iconCls&&'function'===typeof(a.callback||a.cb)){this.callbacks=this.callbacks||{};this.callbacks[a.iconCls]=a.callback||a.cb;}
var o={cls:a.iconIndex?'{'+a.iconIndex+'}':(a.iconCls?a.iconCls:''),qtip:a.qtipIndex?'{'+a.qtipIndex+'}':(a.tooltip||a.qtip?a.tooltip||a.qtip:''),text:a.textIndex?'{'+a.textIndex+'}':(a.text?a.text:''),hide:a.hideIndex?'<tpl if="'+a.hideIndex+'">visibility:hidden;</tpl>':(a.hide?'visibility:hidden;':''),align:a.align||'right',style:a.style?a.style:''};acts.push(o);},this);var xt=new Ext.XTemplate(template||this.tplRow);return new Ext.XTemplate(xt.apply({actions:acts}));},onClick:function(e,target){var view=this.grid.getView();var action=false;var row=e.getTarget('.x-grid3-row');var col=view.findCellIndex(target.parentNode.parentNode);var t=e.getTarget('.ux-row-action-item');if(t){action=t.className.replace(/ux-row-action-item /,'');if(action){action=action.replace(/ ux-row-action-text/,'');action=action.trim();}}
if(false!==row&&false!==col&&false!==action){var record=this.grid.store.getAt(row.rowIndex);if(this.callbacks&&'function'===typeof this.callbacks[action]){this.callbacks[action](this.grid,record,action,row.rowIndex,col);}
if(true!==this.eventsSuspended&&false===this.fireEvent('beforeaction',this.grid,record,action,row.rowIndex,col)){return;}
else if(true!==this.eventsSuspended){this.fireEvent('action',this.grid,record,action,row.rowIndex,col);}}
t=e.getTarget('.ux-grow-action-item');if(t){var group=view.findGroup(target);var groupId=group?group.id.replace(/ext-gen[0-9]+-gp-/,''):null;var records;if(groupId){var re=new RegExp(groupId);records=this.grid.store.queryBy(function(r){return r._groupId.match(re);});records=records?records.items:[];}
action=t.className.replace(/ux-grow-action-item (ux-action-right )*/,'');if('function'===typeof this.callbacks[action]){this.callbacks[action](this.grid,records,action,groupId);}
if(true!==this.eventsSuspended&&false===this.fireEvent('beforegroupaction',this.grid,records,action,groupId)){return false;}
this.fireEvent('groupaction',this.grid,records,action,groupId);}}});Ext.ns('Ext.ux.grid.plugins');Ext.ux.grid.plugins.RowExpander=function(config){Ext.apply(this,config);this.addEvents({beforeexpand:true,expand:true,beforecollapse:true,collapse:true});Ext.ux.grid.plugins.RowExpander.superclass.constructor.call(this);if(this.tpl){if(typeof this.tpl=='string'){this.tpl=new Ext.XTemplate(this.tpl);}
this.tpl.compile();}
this.state={};this.bodyContent={};};Ext.extend(Ext.ux.grid.plugins.RowExpander,Ext.util.Observable,{header:"",width:20,sortable:false,fixed:true,menuDisabled:true,dataIndex:'',id:'expander',lazyRender:true,enableCaching:true,getRowClass:function(record,rowIndex,p,ds){p.cols=p.cols-1;var content=this.bodyContent[record.id];if(!content&&!this.lazyRender){content=this.getBodyContent(record,rowIndex);}
if(content){p.body=content;}
return this.state[record.id]?'x-grid3-row-expanded':'x-grid3-row-collapsed';},init:function(grid){this.grid=grid;var view=grid.getView();view.on('rowupdated',this.grid_rowupdated,this);view.getRowClass=this.getRowClass.createDelegate(this);view.enableRowBody=true;grid.on('render',function(){view.mainBody.on('mousedown',this.onMouseDown,this);},this);},getBodyContent:function(record,index){if(!this.enableCaching){return this.tpl.apply(record.data);}
var content=this.bodyContent[record.id];if(!content){content=this.tpl.apply(record.data);this.bodyContent[record.id]=content;}
return content;},onMouseDown:function(e,t){if(t.className=='x-grid3-row-expander'){e.stopEvent();var row=e.getTarget('.x-grid3-row');this.toggleRow(row);}},renderer:function(v,p,record){p.cellAttr='rowspan="2"';return'<div class="x-grid3-row-expander">&#160;</div>';},beforeExpand:function(record,body,rowIndex){if(this.fireEvent('beforeexpand',this,record,body,rowIndex)!==false){if(this.tpl&&this.lazyRender){body.innerHTML=this.getBodyContent(record,rowIndex);}
return true;}else{return false;}},toggleRow:function(row){if(typeof row=='number'){row=this.grid.view.getRow(row);}
this[Ext.fly(row).hasClass('x-grid3-row-collapsed')?'expandRow':'collapseRow'](row);},expandRow:function(row){if(typeof row=='number'){row=this.grid.view.getRow(row);}
var record=this.grid.store.getAt(row.rowIndex);var body=Ext.DomQuery.selectNode('tr:nth(2) div.x-grid3-row-body',row);if(this.beforeExpand(record,body,row.rowIndex)){this.state[record.id]=true;Ext.fly(row).replaceClass('x-grid3-row-collapsed','x-grid3-row-expanded');this.fireEvent('expand',this,record,body,row.rowIndex);}},collapseRow:function(row){if(typeof row=='number'){row=this.grid.view.getRow(row);}
var record=this.grid.store.getAt(row.rowIndex);var body=Ext.fly(row).child('tr:nth(1) div.x-grid3-row-body',true);if(this.fireEvent('beforcollapse',this,record,body,row.rowIndex)!==false){this.state[record.id]=false;Ext.fly(row).replaceClass('x-grid3-row-expanded','x-grid3-row-collapsed');this.fireEvent('collapse',this,record,body,row.rowIndex);}},isExpanded:function(row){if(typeof row=='number'){row=this.grid.view.getRow(row);}
return Ext.fly(row).hasClass('x-grid3-row-expanded');},grid_rowupdated:function(grid,index,record){delete this.bodyContent[record.id];if(this.isExpanded(index)){this.expandRow(index);}}});(function(){Ext.ux.Media=function(config){Ext.apply(this,config||{});this.toString=this.mediaMarkup;this.initMedia();};var ux=Ext.ux.Media;ux.mediaTypes={"PDF":Ext.apply({tag:'object',cls:'x-media x-media-pdf',type:"application/pdf",data:"@url",autoSize:true,params:{src:"@url"}},Ext.isIE?{classid:"CLSID:CA8A9780-280D-11CF-A24D-444553540000"}:false),"PDFFRAME":{tag:'iframe',cls:'x-media x-media-pdf-frame',frameBorder:0,style:{overflow:'none',width:'100%',height:'100%'},src:"@url",autoSize:true},"WMV":Ext.apply({tag:'object',cls:'x-media x-media-wmv',type:'application/x-mplayer2',data:"@url",autoSize:false,params:{filename:"@url",displaysize:0,autostart:"@start",showControls:"@controls",showStatusBar:"@status",showaudiocontrols:true,stretchToFit:true,Volume:"@volume",PlayCount:1}},Ext.isIE?{classid:"CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95",codebase:"http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701",type:'application/x-oleobject'}:{src:"@url"}),"SWF":Ext.apply({tag:'object',cls:'x-media x-media-swf',type:'application/x-shockwave-flash',scripting:'sameDomain',standby:'Loading..',loop:true,start:false,unsupportedText:{cn:['The Adobe Flash Player is required.',{tag:'br'},{tag:'a',cn:[{tag:'img',src:'http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif'}],href:'http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash',target:'_flash'}]},params:{movie:"@url",menu:"@controls",play:"@start",quality:"high",allowscriptaccess:"@scripting",allownetworking:'all',allowfullScreen:false,bgcolor:"#FFFFFF",wmode:"opaque",loop:"@loop"}},Ext.isIE?{classid:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",codebase:"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"}:{data:"@url"}),"JWP":Ext.apply({tag:'object',cls:'x-media x-media-swf x-media-flv',type:'application/x-shockwave-flash',data:"@url",loop:false,start:false,params:{movie:"@url",flashVars:{autostart:'@start',repeat:'@loop',height:'@height',width:'@width',id:'@id'}}},Ext.isIE?{classid:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",codebase:"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"}:false),"QT":Ext.apply({tag:'object',cls:'x-media x-media-quicktime',type:"video/quicktime",style:{position:'relative',"z-index":1,behavior:'url(#qt_event_source)'},scale:'aspect',unsupportedText:'<a href="http://www.apple.com/quicktime/download/">Get QuickTime</a>',scripting:true,volume:'50%',data:'@url',params:{src:Ext.isIE?'@url':null,href:"http://quicktime.com",target:"_blank",autoplay:"@start",targetcache:true,cache:true,wmode:'transparent',controller:"@controls",enablejavascript:"@scripting",loop:'@loop',scale:'@scale',volume:'@volume',QTSRC:'@url'}},Ext.isIE?{classid:'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',codebase:'http://www.apple.com/qtactivex/qtplugin.cab#version=7,2,1,0'}:{PLUGINSPAGE:"http://www.apple.com/quicktime/download/"}),"QTEVENTS":{tag:'object',id:'qt_event_source',cls:'x-media x-media-qtevents',type:"video/quicktime",params:{},classid:'clsid:CB927D12-4FF7-4a9e-A169-56E4B8A75598',codebase:'http://www.apple.com/qtactivex/qtplugin.cab#version=7,2,1,0'},"WPMP3":Ext.apply({tag:'object',cls:'x-media x-media-audio x-media-wordpress',type:'application/x-shockwave-flash',data:'@url',start:true,loop:false,params:{movie:"@url",width:'@width',flashVars:{autostart:"@start",controller:"@controls",enablejavascript:"@scripting",loop:'@loop',scale:'@scale',initialvolume:'@volume',width:'@width',encode:'no',soundFile:''}}},Ext.isIE?{classid:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"}:false),"REAL":Ext.apply({tag:'object',cls:'x-media x-media-real',type:"audio/x-pn-realaudio",data:"@url",controls:'imagewindow,all',start:false,standby:"Loading Real Media Player components...",params:{src:"@url",autostart:"@start",center:false,maintainaspect:true,controller:"@controls",controls:"@controls",volume:'@volume',loop:"@loop",console:"_master",backgroundcolor:'#000000'}},Ext.isIE?{classid:"clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA"}:false),"SVG":{tag:'object',cls:'x-media x-media-img x-media-svg',type:"image/svg+xml",data:"@url",params:{src:"@url"}},"GIF":{tag:'img',cls:'x-media x-media-img x-media-gif',src:"@url"},"JPEG":{tag:'img',cls:'x-media x-media-img x-media-jpeg',src:"@url"},"JP2":{tag:'object',cls:'x-media x-media-img x-media-jp2',type:"image/jpeg2000-image",data:"@url"},"PNG":{tag:'img',cls:'x-media x-media-img x-media-png',src:"@url"},"HTM":{tag:'iframe',cls:'x-media x-media-html',frameBorder:0,style:{overflow:'auto',width:'100%',height:'100%'},src:"@url"},"TXT":{tag:'object',cls:'x-media x-media-text',type:"text/plain",style:{overflow:'auto',width:'100%',height:'100%'},data:"@url"},"RTF":{tag:'object',cls:'x-media x-media-rtf',type:"application/rtf",style:{overflow:'auto',width:'100%',height:'100%'},data:"@url"},"JS":{tag:'object',cls:'x-media x-media-js',type:"text/javascript",style:{overflow:'auto',width:'100%',height:'100%'},data:"@url"},"CSS":{tag:'object',cls:'x-media x-media-css',type:"text/css",style:{overflow:'auto',width:'100%',height:'100%'},data:"@url"},"SILVERLIGHT":{tag:'object',cls:'x-media x-media-silverlight',type:"application/ag-plugin",data:"@url",params:{MinRuntimeVersion:"1.0",source:"@url"}},"SILVERLIGHT2":{tag:'object',cls:'x-media x-media-silverlight',type:"application/x-silverlight-2-b2",data:"data:application/x-silverlight-2-b2,",params:{MinRuntimeVersion:"2.0"},unsupportedText:'<a href="http://go2.microsoft.com/fwlink/?LinkID=114576&v=2.0"><img style="border-width: 0pt;" alt="Get Microsoft Silverlight" src="http://go2.microsoft.com/fwlink/?LinkID=108181"/></a>'},"DATAVIEW":{tag:'object',cls:'x-media x-media-dataview',classid:'CLSID:0ECD9B64-23AA-11D0-B351-00A0C9055D8E',type:'application/x-oleobject',unsupportedText:'MS Dataview Control is not installed'},"OWC:XLS":Ext.apply({tag:'object',cls:'x-media x-media-xls',type:"application/vnd.ms-excel",controltype:"excel",params:{DataType:"CSVURL",CSVURL:'@url',DisplayTitleBar:true,AutoFit:true}},Ext.isIE?{codebase:"file:msowc.cab",classid:"CLSID:0002E510-0000-0000-C000-000000000046"}:false),"OWC:CHART":Ext.apply({tag:'object',cls:'x-media x-media-xls',type:"application/vnd.ms-excel",data:"@url",params:{DataType:"CSVURL"}},Ext.isIE?{classid:"CLSID:0002E500-0000-0000-C000-000000000046"}:false),"OFFICE":{tag:'object',cls:'x-media x-media-office',type:"application/x-msoffice",data:"@url"},"POWERPOINT":Ext.apply({tag:'object',cls:'x-media x-media-ppt',type:"application/vnd.ms-powerpoint",file:"@url"},Ext.isIE?{classid:"CLSID:EFBD14F0-6BFB-11CF-9177-00805F8813FF"}:false),"XML":{tag:'iframe',cls:'x-media x-media-xml',style:{overflow:'auto'},src:"@url"},"VLC":{tag:'object',cls:'x-media x-media-vlc',type:"application/x-vlc-plugin",version:"VideoLAN.VLCPlugin.2",pluginspage:"http://www.videolan.org",data:"@url"},"RDP":Ext.apply({tag:'object',cls:'x-media x-media-rdp',type:"application/rds",unsupportedText:"Remote Desktop Web Connection ActiveX control is required. <a target=\"_msd\" href=\"http://go.microsoft.com/fwlink/?linkid=44333\">Download it here</a>.",params:{Server:'@url',Fullscreen:false,StartConnected:false,DesktopWidth:'@width',DesktopHeight:'@height'}},Ext.isIE?{classid:"CLSID:9059f30f-4eb1-4bd2-9fdc-36f43a218f4a",CODEBASE:"msrdp.cab#version=5,2,3790,0"}:false)};var stateRE=/4$/i;var pollReadyState=function(media,cb,readyRE){if(media&&typeof media.readyState!='undefined'){(readyRE||stateRE).test(media.readyState)?cb({type:'load'}):pollReadyState.defer(10,null,[media,cb]);}};if(parseFloat(Ext.version)<2.1){throw"Ext.ux.Media and sub-classes are not License-Compatible with your Ext release.";}
Ext.extend(ux,Object,{mediaObject:null,mediaCfg:null,mediaVersion:null,requiredVersion:null,unsupportedText:null,init:function(component){if(component&&this.getEl===undefined){Ext.applyIf(component,this);}},initMedia:function(){if(!Ext.isIE&&this.initialConfig){new ux.VisibilityFix({mode:this.visibilityCls,hideMode:this.hideMode,elements:this.visModeTargets||null}).init(this);}
if(this.events){this.addEvents('mediarender','mediaload');}},getMediaType:function(type){return ux.mediaTypes[type];},assert:function(v,def){v=typeof v==='function'?v.call(v.scope||null):v;return Ext.value(v,def);},mediaMarkup:function(mediaCfg,width,height,ct){mediaCfg=mediaCfg||this.mediaCfg;if(!mediaCfg){return'';}
var m=Ext.apply({url:false,autoSize:false},mediaCfg);m.url=this.assert(m.url,false);if(m.mediaType){var value,p,El=Ext.Element;var media=Ext.apply({},this.getMediaType(this.assert(m.mediaType,false))||false);var params=Ext.apply(media.params||{},m.params||{});for(var key in params){if(params.hasOwnProperty(key)){m.children||(m.children=[]);p=this.assert(params[key],null);if(p!==null){m.children.push({tag:'param',name:key,value:typeof p==='object'?Ext.urlEncode(p):encodeURI(p)});}}}
delete media.params;var unsup=this.assert(m.unsupportedText||this.unsupportedText||media.unsupportedText,null);if(unsup){m.children||(m.children=[]);m.children.push(unsup);}
if(m.style&&typeof m.style!="object"){throw'Style must be JSON formatted';}
m.style=this.assert(Ext.apply(media.style||{},m.style||{}),{});delete media.style;m.height=this.assert(height||m.height||media.height||m.style.height,null);m.width=this.assert(width||m.width||media.width||m.style.width,null);m=Ext.apply({tag:'object'},m,media);if(m.height||m.autoSize)
{Ext.apply(m.style,{height:(m.autoSize?'100%':m.height)});}
if(m.width||m.autoSize)
{Ext.apply(m.style,{width:(m.autoSize?'100%':m.width)});}
m.id||(m.id=Ext.id());m.name=this.assert(m.name,m.id);var _macros={url:m.url||'',height:(/%$/.test(m.height))?m.height:parseInt(m.height,10)||100,width:(/%$/.test(m.width))?m.width:parseInt(m.width,10)||100,scripting:this.assert(m.scripting,false),controls:this.assert(m.controls,false),scale:this.assert(m.scale,1),status:this.assert(m.status,false),start:this.assert(m.start,false),loop:this.assert(m.loop,false),volume:this.assert(m.volume,20),id:m.id};delete m.url;delete m.mediaType;delete m.controls;delete m.status;delete m.start;delete m.loop;delete m.scale;delete m.scripting;delete m.volume;delete m.autoSize;delete m.params;delete m.unsupportedText;delete m.renderOnResize;delete m.listeners;delete m.height;delete m.width;return Ext.DomHelper.markup(m).replace(/(%40url|@url)/g,_macros.url).replace(/(%40start|@start)/g,_macros.start+'').replace(/(%40controls|@controls)/g,_macros.controls+'').replace(/(%40scale|@scale)/g,_macros.scale+'').replace(/(%40status|@status)/g,_macros.status+'').replace(/(%40id|@id)/g,_macros.id+'').replace(/(%40loop|@loop)/g,_macros.loop+'').replace(/(%40volume|@volume)/g,_macros.volume+'').replace(/(%40scripting|@scripting)/g,_macros.scripting+'').replace(/(%40width|@width)/g,_macros.width+'').replace(/(%40height|@height)/g,_macros.height+'');}else{var unsup=this.assert(m.unsupportedText||this.unsupportedText||media.unsupportedText,null);unsup=unsup?Ext.DomHelper.markup(unsup):null;return String.format(unsup||'Media Configuration/Plugin Error',' ',' ');}},setMask:function(el){if(this.mediaMask&&!this.mediaMask.enable){el=Ext.get(el);if(this.mediaMask=new Ext.ux.IntelliMask(el||this[this.mediaEl],Ext.apply({fixElementForMedia:true},this.mediaMask))){this.mediaMask.el.addClass('x-media-mask');}}},renderMedia:function(mediaCfg,ct,domPosition,w,h){if(!Ext.isReady){Ext.onReady(this.renderMedia.createDelegate(this,Array.prototype.slice.call(arguments,0)));return;}
var mc=(this.mediaCfg=mediaCfg||this.mediaCfg);ct=Ext.get(ct||this.lastCt||(this.mediaObject?this.mediaObject.dom.parentNode:null));this.onBeforeMedia.call(this,mc,ct,domPosition,w,h);if(ct){this.lastCt=ct;var markup;if(mc&&(markup=this.mediaMarkup(mc,w,h,ct))){this.setMask(ct);this.clearMedia();ct.update(markup);if(this.mediaMask&&this.autoMask){this.mediaMask.show();}}}
this.onAfterMedia(ct);},clearMedia:function(){if(Ext.isReady&&this.mediaObject){try{this.mediaObject.removeAllListeners();this.mediaObject.remove();}catch(er){}}
this.mediaObject=null;},onBeforeMedia:function(mediaCfg,ct,domPosition){var m=mediaCfg||this.mediaCfg,mt;if(m&&(mt=this.getMediaType(m.mediaType))){m.autoSize=m.autoSize||mt.autoSize===true;if(m.autoSize&&(ct=Ext.isReady?Ext.get(ct||this.lastCt):null)){m.height=ct.getHeight(true)||this.assert(m.height,'auto');m.width=ct.getWidth(true)||this.assert(m.width,'auto');}}},onMediaLoad:function(e){if(e&&e.type=='load'){this.fireEvent('mediaload',this,this.mediaObject);if(this.mediaMask&&this.autoMask){this.mediaMask.hide();}}},onAfterMedia:function(ct){if(this.mediaCfg&&ct&&(this.mediaObject=ct.child('.x-media'))){this.mediaObject.ownerCt=this;if(this.mediaCfg.tag!=='object'){this.mediaObject.on({load:this.onMediaLoad,scope:this,single:true});}
pollReadyState(this.mediaObject.dom,this.onMediaLoad.createDelegate(this));var L;if(L=this.mediaCfg.listeners||null){this.mediaObject.on(L);}
this.fireEvent('mediarender',this,this.mediaObject);}},getInterface:function(){return this.mediaObject?this.mediaObject.dom||null:null;},detectVersion:Ext.emptyFn,autoMask:Ext.isIE});var mediaComponentAdapter=function(){};Ext.extend(mediaComponentAdapter,Object,{hideMode:!Ext.isIE?'nosize':'display',animCollapse:false,visibilityCls:!Ext.isIE?'x-hide-nosize':null,autoScroll:true,shadow:false,bodyStyle:{position:'relative'},resizeMedia:function(comp,w,h){var mc=this.mediaCfg;if(mc&&this.boxReady){if(arguments.length>3&&(!this.mediaObject||mc.renderOnResize)){this.refreshMedia(this[this.mediaEl]);}}},onAfterRender:function(visModeTargets){if(this.mediaCfg.renderOnResize){this.on('resize',this.resizeMedia,this);}else{this.renderMedia(this.mediaCfg,this[this.mediaEl]||this.getEl());}},doAutoLoad:Ext.emptyFn,refreshMedia:function(target){if(this.mediaCfg){this.renderMedia(null,target);}},mediaMask:false});Ext.ux.MediaComponent=Ext.extend(Ext.BoxComponent,{ctype:"Ext.ux.MediaComponent",autoEl:'div',cls:"x-media-comp",mediaEl:'el',getId:function(){return this.id||(this.id="media-comp"+(++Ext.Component.AUTO_ID));},initComponent:function(){this.visModeTargets=[this.actionMode];this.initMedia();Ext.ux.MediaComponent.superclass.initComponent.apply(this,arguments);},onRender:function(){Ext.ux.MediaComponent.superclass.onRender.apply(this,arguments);this.onAfterRender();},afterRender:function(ct){this.setAutoScroll();Ext.ux.MediaComponent.superclass.afterRender.apply(this,arguments);},beforeDestroy:function(){this.clearMedia();Ext.destroy(this.mediaMask,this.loadMask);Ext.ux.MediaComponent.superclass.beforeDestroy.call(this);},setAutoScroll:function(){if(this.rendered&&this.autoScroll){this.getEl().setOverflow('auto');}}});Ext.apply(Ext.ux.MediaComponent.prototype,Ext.ux.Media.prototype);Ext.apply(Ext.ux.MediaComponent.prototype,mediaComponentAdapter.prototype);Ext.reg('media',Ext.ux.MediaComponent);ux.Panel=Ext.extend(Ext.Panel,{ctype:"Ext.ux.Media.Panel",cls:"x-media-panel",mediaEl:'body',initComponent:function(){this.visModeTargets=[this.collapseEl,this.floating?null:this.actionMode];this.initMedia();this.html=this.contentEl=this.items=null;ux.Panel.superclass.initComponent.call(this);},onRender:function(){ux.Panel.superclass.onRender.apply(this,arguments);this.onAfterRender();},beforeDestroy:function(){this.clearMedia();ux.Panel.superclass.beforeDestroy.call(this);}});Ext.apply(ux.Panel.prototype,ux.prototype);Ext.apply(ux.Panel.prototype,mediaComponentAdapter.prototype);Ext.reg('mediapanel',Ext.ux.MediaPanel=ux.Panel);ux.Window=Ext.extend(Ext.Window,{cls:"x-media-window",ctype:"Ext.ux.Media.Window",mediaEl:'body',initComponent:function(){this.visModeTargets=[this.collapseEl,this.floating?null:this.actionMode];this.initMedia();this.html=this.contentEl=this.items=null;ux.Window.superclass.initComponent.call(this);},onRender:function(){ux.Window.superclass.onRender.apply(this,arguments);this.onAfterRender();},beforeDestroy:function(){this.clearMedia();ux.Window.superclass.beforeDestroy.call(this);}});Ext.apply(ux.Window.prototype,ux.prototype);Ext.apply(ux.Window.prototype,mediaComponentAdapter.prototype);Ext.reg('mediawindow',Ext.ux.MediaWindow=ux.Window);Ext.onReady(function(){var CSS=Ext.util.CSS,rules=[];CSS.getRule('.x-media')||(rules.push('.x-media{width:100%;height:100%;display:block;overflow:none;outline:none;}'));CSS.getRule('.x-media-mask')||(rules.push('.x-media-mask{width:100%;height:100%;position:relative;zoom:1;}'));CSS.getRule('.x-media-img')||(rules.push('.x-media-img{background-color:transparent;width:auto;height:auto;zoom:1;}'));CSS.getRule('.x-hide-nosize')||(rules.push('.x-hide-nosize,.x-hide-nosize *{height:0px!important;width:0px!important;border:none!important;}'));if(!!rules.length){CSS.createStyleSheet(rules.join(''));}});Ext.apply(Ext.Element.prototype,{setVisible:function(visible,animate){if(!animate||!Ext.lib.Anim){if(this.visibilityMode===Ext.Element.DISPLAY){this.setDisplayed(visible);}else if(this.visibilityMode===Ext.Element.VISIBILITY){this.fixDisplay();this.dom.style.visibility=visible?"visible":"hidden";}else{this[visible?'removeClass':'addClass'](String(this.visibilityMode));}}else{var dom=this.dom;var visMode=this.visibilityMode;if(visible){this.setOpacity(.01);this.setVisible(true);}
this.anim({opacity:{to:(visible?1:0)}},this.preanim(arguments,1),null,.35,'easeIn',function(){if(!visible){if(visMode===Ext.Element.DISPLAY){dom.style.display="none";}else if(visMode===Ext.Element.VISIBILITY){dom.style.visibility="hidden";}else{Ext.get(dom).addClass(String(visMode));}
Ext.get(dom).setOpacity(1);}});}
return this;},isVisible:function(deep){var vis=!(this.getStyle("visibility")==="hidden"||this.getStyle("display")==="none"||this.hasClass(this.visibilityMode));if(deep!==true||!vis){return vis;}
var p=this.dom.parentNode;while(p&&p.tagName.toLowerCase()!=="body"){if(!Ext.fly(p,'_isVisible').isVisible()){return false;}
p=p.parentNode;}
return true;}});var ElementMaskFixes={mask:function(msg,msgCls,maskCls){if(this.getStyle("position")=="static"){this.setStyle("position","relative");}
if(this._maskMsg){this._maskMsg.remove();}
if(this._mask){}
this._mask||(this._mask=Ext.DomHelper.append(this.dom,{cls:maskCls||"ext-el-mask"},true));!Ext.isIE||this.addClass("x-masked");this._mask.setVisible(true);if(typeof msg=='string'){var mm=this._maskMsg=Ext.DomHelper.append(this.dom,{cls:"ext-el-mask-msg "+msgCls||'',style:{visibility:'hidden'},cn:{tag:'div',html:msg}},true);var el=this.dom;(function(){try{mm.center(el).setVisible(true);}catch(e){}}).defer(4);}
if(Ext.isIE&&!(Ext.isIE7&&Ext.isStrict)&&this.getStyle('height')=='auto'){this._mask.setSize(this.dom.clientWidth,this.getHeight());}
return this._mask;},unmask:function(remove){if(this._maskMsg){if(remove){this._maskMsg.remove();delete this._maskMsg;}else{this._maskMsg.setVisible.defer(4,this._maskMsg,[false]);}}
if(this._mask){if(remove){this._mask.remove();delete this._mask;}else{this._mask.setVisible(false);}}
this.removeClass("x-masked");}};ux.VisibilityFix=function(opt){opt||(opt={});this.init=function(c){c.hideMode=opt.hideMode||c.hideMode;c.on('render',function(co){var els=[co.collapseEl,(co.floating?null:co.actionMode)].concat(opt.elements||[]);var El=Ext.Element;var mode=opt.mode||co.visibilityCls||El[co.hideMode.toUpperCase()]||El.VISIBILITY;Ext.each(els,function(el){var e=co[el]||el;if(e&&e.setVisibilityMode){e.setVisibilityMode(mode);}});},c,{single:true});};};Ext.ux.IntelliMask=function(el,config){Ext.apply(this,config);this.el=Ext.get(el);this.removeMask=Ext.value(this.removeMask,true);if(el&&this.fixElementForMedia){Ext.apply(el,ElementMaskFixes);}};Ext.ux.IntelliMask.prototype={msg:'Loading Media...',msgCls:'x-mask-loading',zIndex:null,disabled:false,active:false,autoHide:false,disable:function(){this.disabled=true;},enable:function(){this.disabled=false;},show:function(msg,msgCls,fn,fnDelay){if(this.disabled||!this.el){return null;}
var opt={},autoHide=this.autoHide;fnDelay=parseInt(fnDelay,10)||20;if(typeof msg=='object'){opt=msg;msg=opt.msg;msgCls=opt.msgCls;fn=opt.fn;autoHide=typeof opt.autoHide!='undefined'?opt.autoHide:autoHide;fnDelay=opt.fnDelay||fnDelay;}
var mask=this.el.mask(msg||this.msg,msgCls||this.msgCls);this.active=!!this.el._mask;if(this.active){if(this.zIndex){this.el._mask.setStyle("z-index",this.zIndex);if(this.el._maskMsg){this.el._maskMsg.setStyle("z-index",this.zIndex+1);}}}
if(typeof fn==='function'){fn.defer(fnDelay,opt.scope||null);}else{fnDelay=0;}
if(autoHide&&(autoHide=parseInt(autoHide,10)||2000)){this.hide.defer(autoHide+(fnDelay||0),this);}
return this.active?{mask:this.el._mask,maskMsg:this.el._maskMsg}:null;},hide:function(remove){if(this.el){this.el.unmask(remove||this.removeMask);}
this.active=false;return this;},destroy:function(){this.hide(true);this.el=null;}};})();(function(){var ux=Ext.ux.Media;ux.Flash=Ext.extend(ux,{constructor:function(){ux.Flash.superclass.constructor.apply(this,arguments);},SWFObject:null,varsName:'flashVars',hideMode:'nosize',mediaType:Ext.apply({tag:'object',cls:'x-media x-media-swf',type:'application/x-shockwave-flash',loop:null,scripting:"sameDomain",start:true,unsupportedText:{cn:['The Adobe Flash Player{0}is required.',{tag:'br'},{tag:'a',cn:[{tag:'img',src:'http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif'}],href:'http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash',target:'_flash'}]},params:{movie:"@url",play:"@start",loop:"@loop",menu:"@controls",quality:"high",bgcolor:"#FFFFFF",wmode:"opaque",allowscriptaccess:"@scripting",allowfullscreen:false,allownetworking:'all'}},Ext.isIE?{classid:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",codebase:"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"}:{data:"@url"}),getMediaType:function(){return this.mediaType;},initMedia:function(){var mc=Ext.apply({},this.mediaCfg||{});var requiredVersion=(this.requiredVersion=mc.requiredVersion||this.requiredVersion||false);var hasFlash=!!(this.playerVersion=this.detectVersion());var hasRequired=hasFlash&&(requiredVersion?this.assertVersion(requiredVersion):true);var unsupportedText=this.assert(mc.unsupportedText||this.unsupportedText||(this.getMediaType()||{}).unsupportedText,null);if(unsupportedText){unsupportedText=Ext.DomHelper.markup(unsupportedText);unsupportedText=mc.unsupportedText=String.format(unsupportedText,(requiredVersion?' '+requiredVersion+' ':' '),(this.playerVersion?' '+this.playerVersion+' ':' Not installed.'));}
if(!hasRequired){this.autoMask=false;var canInstall=hasFlash&&this.assertVersion('6.0.65');if(canInstall&&mc.installUrl){mc=mc.installDescriptor||{tag:'object',cls:'x-media x-media-swf x-media-swfinstaller',id:'SWFInstaller',type:'application/x-shockwave-flash',data:"@url",url:mc.installUrl,width:(/%$/.test(mc.width))?mc.width:((parseInt(mc.width,10)||0)<310?310:mc.width),height:(/%$/.test(mc.height))?mc.height:((parseInt(mc.height,10)||0)<138?138:mc.height),loop:false,start:true,unsupportedText:unsupportedText,params:{quality:"high",movie:'@url',allowscriptacess:"always",align:"middle",bgcolor:"#3A6EA5",pluginspage:mc.pluginsPage||this.pluginsPage||"http://www.adobe.com/go/getflashplayer"}};mc.params[this.varsName]="MMredirectURL="+(mc.installRedirect||window.location)+"&MMplayerType="+(Ext.isIE?"ActiveX":"Plugin")+"&MMdoctitle="+(document.title=document.title.slice(0,47)+" - Flash Player Installation");}else{mc.mediaType=null;}}
if(mc.eventSynch){mc.params||(mc.params={});var vars=mc.params[this.varsName]||(mc.params[this.varsName]={});if(typeof vars==='string'){vars=Ext.urlDecode(vars,true);}
var eventVars=(mc.eventSynch===true?{allowedDomain:vars.allowedDomain||document.location.hostname,elementID:mc.id||(mc.id=Ext.id()),eventHandler:'Ext.ux.Media.Flash.eventSynch'}:mc.eventSynch);Ext.apply(mc.params,{allowscriptaccess:'always'})[this.varsName]=Ext.applyIf(vars,eventVars);}
delete mc.requiredVersion;delete mc.installUrl;delete mc.installRedirect;delete mc.installDescriptor;delete mc.eventSynch;mc.mediaType="SWF";this.mediaCfg=mc;if(this.events){this.addEvents('flashinit','fscommand');}
ux.Flash.superclass.initMedia.call(this);},assertVersion:function(versionMap){var compare;versionMap||(versionMap=[]);if(Ext.isArray(versionMap)){compare=versionMap;}else{compare=String(versionMap).split('.');}
compare=(compare.concat([0,0,0,0])).slice(0,3);var tpv;if(!(tpv=this.playerVersion||(this.playerVersion=this.detectVersion()))){return false;}
if(tpv.major>parseFloat(compare[0])){return true;}else if(tpv.major==parseFloat(compare[0])){if(tpv.minor>parseFloat(compare[1]))
{return true;}
else if(tpv.minor==parseFloat(compare[1])){if(tpv.rev>=parseFloat(compare[2])){return true;}}}
return false;},detectVersion:function(){if(this.mediaVersion){return this.mediaVersion;}
var version=false;var formatVersion=function(version){return version&&!!version.length?{major:version[0]!==null?parseInt(version[0],10):0,minor:version[1]!==null?parseInt(version[1],10):0,rev:version[2]!==null?parseInt(version[2],10):0,toString:function(){return this.major+'.'+this.minor+'.'+this.rev;}}:false;};var sfo=null;if(Ext.isIE){try{sfo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{sfo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");version=[6,0,21];sfo.allowscriptaccess="always";}catch(ex){if(version&&version[0]===6)
{return formatVersion(version);}}
try{sfo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(ex1){}}
if(sfo){version=sfo.GetVariable("$version").split(" ")[1].split(",");}}else if(navigator.plugins&&navigator.mimeTypes.length){sfo=navigator.plugins["Shockwave Flash"];if(sfo&&sfo.description){version=sfo.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split(".");}}
return(this.mediaVersion=formatVersion(version));},_applyFixes:function(){var o;if(Ext.isIE&&Ext.isWindows&&(o=this.SWFObject)){o.style.display='none';if(o.readyState==4){for(var x in o){if(typeof o[x]=='function'){o[x]=null;}}}}},onAfterMedia:function(ct){ux.Flash.superclass.onAfterMedia.apply(this,arguments);this.SWFObject=this.getInterface();if(this.mediaObject){var id=this.mediaObject.id;if(Ext.isIE){if(!(Ext.query('script[for='+id+']').length)){writeScript('var c;if(c=Ext.getCmp("'+this.id+'")){c.onfsCommand.apply(c,arguments);}',{event:"FSCommand",htmlFor:id});}}else{window[id+'_DoFSCommand']||(window[id+'_DoFSCommand']=this.onfsCommand.createDelegate(this));}}},clearMedia:function(){if(this.mediaObject){var id=this.mediaObject.id;if(Ext.isIE){Ext.select('script[for='+id+']',true).remove();}else{window[id+'_DoFSCommand']=null;delete window[id+'_DoFSCommand'];}
this._applyFixes();}
ux.Flash.superclass.clearMedia.call(this);this.SWFObject=null;},getSWFObject:function(){return this.getInterface();},onfsCommand:function(command,args){if(this.events){this.fireEvent('fscommand',this,command,args);}},setVariable:function(vName,value){var fo=this.getInterface();if(fo&&typeof fo.SetVariable!='undefined'){fo.SetVariable(vName,value);return true;}
return false;},getVariable:function(vName){var fo=this.getInterface();if(fo&&typeof fo.GetVariable!='undefined'){return fo.GetVariable(vName);}
return undefined;},onFlashInit:function(){if(this.mediaMask&&this.autoMask){this.mediaMask.hide();}
this.fireEvent.defer(10,this,['flashinit',this,this.getInterface()]);},_handleSWFEvent:function(event)
{var type=event.type||event||false;if(type){if(this.events&&!this.events[String(type)])
{this.addEvents(String(type));}
return this.fireEvent.apply(this,[String(type),this].concat(Array.prototype.slice.call(arguments,0)));}}});ux.Flash.eventSynch=function(elementID,event){var SWF=Ext.get(elementID);if(SWF&&SWF.ownerCt){return SWF.ownerCt._handleSWFEvent.apply(SWF.ownerCt,Array.prototype.slice.call(arguments,1));}};Ext.ux.FlashComponent=Ext.extend(Ext.ux.MediaComponent,{ctype:"Ext.ux.FlashComponent",getId:function(){return this.id||(this.id="flash-comp"+(++Ext.Component.AUTO_ID));}});Ext.apply(Ext.ux.FlashComponent.prototype,ux.Flash.prototype);Ext.reg('uxflash',Ext.ux.FlashComponent);ux.Panel.Flash=Ext.extend(ux.Panel,{ctype:"Ext.ux.Media.Panel.Flash"});Ext.apply(ux.Panel.Flash.prototype,ux.Flash.prototype);Ext.reg('flashpanel',Ext.ux.MediaPanel.Flash=Ext.ux.FlashPanel=ux.Panel.Flash);Ext.reg('uxflashpanel',ux.Panel.Flash);Ext.ux.FlashWindow=(ux.Window.Flash=Ext.extend(ux.Window,{ctype:"Ext.ux.FlashWindow",animCollpase:true}));Ext.apply(ux.Window.Flash.prototype,ux.Flash.prototype);var writeScript=function(block,attributes){attributes=Ext.apply({},attributes||{},{type:"text/javascript",text:block});try{var head,script,doc=document;if(doc&&doc.getElementsByTagName){if(!(head=doc.getElementsByTagName("head")[0])){head=doc.createElement("head");doc.getElementsByTagName("html")[0].appendChild(head);}
if(head&&(script=doc.createElement("script"))){for(var attrib in attributes){if(attributes.hasOwnProperty(attrib)&&attrib in script){script[attrib]=attributes[attrib];}}
return!!head.appendChild(script);}}}catch(ex){}
return false;}})();Ext.tree.ColumnTree=Ext.extend(Ext.tree.TreePanel,{lines:false,borderWidth:Ext.isBorderBox?0:2,cls:'x-column-tree',onRender:function(){Ext.tree.ColumnTree.superclass.onRender.apply(this,arguments);this.headers=this.body.createChild({cls:'x-tree-headers'},this.innerCt.dom);var cols=this.columns,c;var totalWidth=0;for(var i=0,len=cols.length;i<len;i++){c=cols[i];totalWidth+=c.width;this.headers.createChild({cls:'x-tree-hd '+(c.cls?c.cls+'-hd':''),cn:{cls:'x-tree-hd-text',html:c.header},style:'width:'+(c.width-this.borderWidth)+'px;'});}
this.headers.createChild({cls:'x-clear'});this.headers.setWidth(totalWidth);this.innerCt.setWidth(totalWidth);}});Ext.tree.ColumnNodeUI=Ext.extend(Ext.tree.TreeNodeUI,{focus:Ext.emptyFn,renderElements:function(n,a,targetNode,bulkRender){this.indentMarkup=n.parentNode?n.parentNode.ui.getChildIndent():'';var t=n.getOwnerTree();var cols=t.columns;var bw=t.borderWidth;var c=cols[0];var buf=['<li class="x-tree-node"><div ext:tree-node-id="',n.id,'" class="x-tree-node-el x-tree-node-leaf ',a.cls,'">','<div class="x-tree-col" style="width:',c.width-bw,'px;">','<span class="x-tree-node-indent">',this.indentMarkup,"</span>",'<img src="',this.emptyIcon,'" class="x-tree-ec-icon x-tree-elbow">','<img src="',a.icon||this.emptyIcon,'" class="x-tree-node-icon',(a.icon?" x-tree-node-inline-icon":""),(a.iconCls?" "+a.iconCls:""),'" unselectable="on">','<a hidefocus="on" class="x-tree-node-anchor" href="',a.href?a.href:"#",'" tabIndex="1" ',a.hrefTarget?' target="'+a.hrefTarget+'"':"",'>','<span unselectable="on">',n.text||(c.renderer?c.renderer(a[c.dataIndex],n,a):a[c.dataIndex]),"</span></a>","</div>"];for(var i=1,len=cols.length;i<len;i++){c=cols[i];buf.push('<div class="x-tree-col ',(c.cls?c.cls:''),'" style="width:',c.width-bw,'px;">','<div class="x-tree-col-text">',(c.renderer?c.renderer(a[c.dataIndex],n,a):a[c.dataIndex]),"</div>","</div>");}
buf.push('<div class="x-clear"></div></div>','<ul class="x-tree-node-ct" style="display:none;"></ul>',"</li>");if(bulkRender!==true&&n.nextSibling&&n.nextSibling.ui.getEl()){this.wrap=Ext.DomHelper.insertHtml("beforeBegin",n.nextSibling.ui.getEl(),buf.join(""));}else{this.wrap=Ext.DomHelper.insertHtml("beforeEnd",targetNode,buf.join(""));}
this.elNode=this.wrap.childNodes[0];this.ctNode=this.wrap.childNodes[1];var cs=this.elNode.firstChild.childNodes;this.indentNode=cs[0];this.ecNode=cs[1];this.iconNode=cs[2];this.anchor=cs[3];this.textNode=cs[3].firstChild;}});Ext.ns('Ext.sm');Ext.sm.AppManager=function(config){Ext.apply(this,config,{viewConfig:{layout:'fit'}});this.views=new Ext.util.MixedCollection();this.addEvents('destroy');if(!window.getAppManager){var self=this;window.getAppManager=function(){return self;};}
Ext.sm.AppManager.superclass.constructor.call(this);}
Ext.extend(Ext.sm.AppManager,Ext.util.Observable,{openView:function(id,url,params,title){alert('openView is an abstract method and should be overriden.');},closeView:function(id){alert('closeView is an abstract method and should be overriden.');},addView:function(id,comp){this.views.add(id,comp);comp.on('destroy',function(dcomp){this.views.remove(dcomp);},this);comp.appManager=this;comp.appManagerViewId=id;},getView:function(id){return this.views.get(id);},maskView:function(id){var view=this.getView(id);view.getEl().mask(Ext.LoadMask.prototype.msg,Ext.LoadMask.prototype.msgCls);},unmaskView:function(id){var view=this.getView(id);view.getEl().unmask();},changeView:function(id,newId,url,params,title){var view=this.getView(id);if(view){this.closeView(id);this.openView(newId,url,params,title||view.title);}}});Ext.override(Ext.Component,{getAppManager:function(dontShowErrMsg){if(this.appManager){return this.appManager;}
if(!this.ownerCt){if(!dontShowErrMsg){alert('Ext application manager not found!');}
return null;}
return this.ownerCt.getAppManager(dontShowErrMsg);},getAppManagerViewId:function(dontShowErrMsg){if(this.appManagerViewId){return this.appManagerViewId;}
if(!this.ownerCt){if(!dontShowErrMsg){alert('Unable to get application manager current view id!');}
return null;}
return this.ownerCt.getAppManagerViewId(dontShowErrMsg);}});Ext.sm.AppManagerWnd=Ext.extend(Ext.sm.AppManager,{openView:function(id,url,params,title){var wnd=this.getView(id);if(null!=wnd){wnd.expand();wnd.toFront();wnd.focus();return;}
var cfg={title:title||'...',width:800,height:600,layout:'fit'};Ext.applyIf(cfg,this.viewConfig);if(typeof url=='function'){wnd=url(params);}
if(typeof url=='object'){cfg.autoLoad=url;}
if(typeof url=='string'){cfg.autoLoad={url:url};}
if(cfg.autoLoad){if(!cfg.autoLoad.params){cfg.autoLoad.params={};}
cfg.autoLoad.params.viewType='window';cfg.autoLoad.params.viewId=id;if(params){cfg.autoLoad.params.jsParams=Ext.encode(params);}}
if(wnd==null){wnd=new Ext.Window(cfg);}
wnd.appManagerReplaceContent=function(content){if(content.title){this.setTitle(content.title);}
if(content.height){this.setHeight(content.height);this.center();}
if(content.width){this.setWidth(content.width);this.center();}
this.removeAll();this.add(content);this.doLayout(true);}
this.addView(id,wnd);wnd.show();return wnd;},closeView:function(id){var wnd=this.getView(id);if(wnd!=null){wnd.close();}}});Ext.sm.AppManagerTabs=Ext.extend(Ext.sm.AppManager,{mainPanelId:'',mainTabsConfig:[],getMainPanel:function(){return Ext.getCmp(this.mainPanelId);},createTab:function(id,url,params,title,iconCls){var cfg={title:title||'...',iconCls:iconCls||null,layout:'fit',closable:true,plugins:[new Ext.sm.Panel.plugins.ModifiedMark()],id:Ext.id()};Ext.applyIf(cfg,this.viewConfig);var tab=null;if(typeof url=='function'){tab=url(params);}
if(typeof url=='object'){cfg.autoLoad=Ext.decode(Ext.encode(url));}
if(typeof url=='string'){cfg.autoLoad={url:url};}
if(cfg.autoLoad){if(!cfg.autoLoad.params){cfg.autoLoad.params={};}
cfg.autoLoad.params.viewType='tab';cfg.autoLoad.params.viewId=id;if(params){cfg.autoLoad.params.jsParams=Ext.encode(params);}}
if(tab==null){tab=new Ext.Panel(cfg);}
tab.appManagerReplaceContent=function(content){if(!this.appManagerDenyTitleChange){if(content.title){this.setTitle(content.title);}
if(content.iconCls){this.setIconClass(content.iconCls);}}
this.removeAll();this.add(content);this.doLayout(true);if(content.fireEvent){this.on('beforeclose',function(){return content.fireEvent('beforeclose',content);});}}
this.addView(id,tab);tab.on('close',function(tab){if(tab.appManagerMainTab&&tab.appManagerMainTab.tabComp){var foundOther=false;this.views.eachKey(function(key,item){if(item!=tab&&item.appManagerMainTab&&item.appManagerMainTab.tabComp==tab.appManagerMainTab.tabComp){foundOther=true;}},this);if(!foundOther){if(tab.appManagerMainTab.tabComp.ownerCt){tab.appManagerMainTab.tabComp.ownerCt.remove(tab.appManagerMainTab.tabComp,true);}}}},this);return tab;},getMainTabComp:function(mainTabConf){if(null==mainTabConf.tabComp){var mainPanel=this.getMainPanel();var cfg={cls:'sm-tab-lightgray',closable:true,plugins:[new Ext.ux.TabPanel.plugins.TabCloseMenu(),new Ext.sm.Panel.plugins.ModifiedMark()]};if(mainTabConf.extConfig){Ext.apply(cfg,mainTabConf.extConfig);}
if(mainTabConf.title){cfg.title=mainTabConf.title;}
if(mainTabConf.iconCls){cfg.iconCls=mainTabConf.iconCls;}
mainTabConf.tabComp=new Ext.TabPanel(cfg);mainTabConf.tabComp.on('destroy',function(dcomp){delete mainTabConf.tabComp;},this);if(mainTabConf.items){for(var i=0;i<mainTabConf.items.length;i++){var itemConf=mainTabConf.items[i];var itemTab=this.createTab(itemConf.id,itemConf.url,itemConf.params||{},itemConf.title,itemConf.iconCls);itemTab.appManagerMainTab=mainTabConf;itemTab.closable=false;itemTab.appManagerDenyTitleChange=true;mainTabConf.tabComp.add(itemTab);}}
mainPanel.add(mainTabConf.tabComp);}
return mainTabConf.tabComp;},getMainTabConfig:function(viewId){for(var i=0;i<this.mainTabsConfig.length;i++){var mt=this.mainTabsConfig[i];if(typeof mt.prefix=='object'){for(var j=0;j<mt.prefix.length;j++){if(viewId.indexOf(mt.prefix[j])==0){return mt;}}}else{if(viewId.indexOf(mt.prefix)==0){return mt;}}}
return null;},openView:function(id,url,params,title){var view=this.getView(id);var mainPanel=this.getMainPanel();if(null!=view){var mainTab=view.appManagerMainTab;if(null==mainTab){mainPanel.setActiveTab(view);}else{var mainTabComp=this.getMainTabComp(mainTab);mainTabComp.setActiveTab(view);mainPanel.setActiveTab(mainTabComp);}
return view;}
var mainTab=this.getMainTabConfig(id);var mainTabComp=null;if(null!=mainTab){mainTabComp=this.getMainTabComp(mainTab);}
var tab=this.getView(id);if(null==tab){tab=this.createTab(id,url,params,title);tab.appManagerMainTab=mainTab;if(null==mainTab){mainPanel.add(tab);}else{mainTabComp.add(tab);}}
if(null==mainTab){mainPanel.setActiveTab(tab);}else{mainTabComp.setActiveTab(tab);mainPanel.setActiveTab(mainTabComp);}
return tab;},closeView:function(id){var tab=this.getView(id);if(tab!=null){tab.fireEvent('close',tab);tab.ownerCt.remove(tab,true);}},changeView:function(id,newId,url,params,title){var view=this.getView(id);if(view){this.views.remove(view);this.views.add(newId,view);view.appManagerViewId=newId;var cfg={autoload:{}};if(typeof url=='object'){cfg.autoLoad=Ext.decode(Ext.encode(url));}
if(typeof url=='string'){cfg.autoLoad={url:url};}
if(cfg.autoLoad){if(!cfg.autoLoad.params){cfg.autoLoad.params={};}
cfg.autoLoad.params.viewType='tab';cfg.autoLoad.params.viewId=newId;if(params){cfg.autoLoad.params.jsParams=Ext.encode(params);}}
if(!cfg.autoLoad){cfg.autoLoad=view.autoLoad;}
view.autoLoad=cfg.autoLoad;view.doAutoLoad();}}});Ext.ns('Ext.sm');Ext.sm.MainPanel=Ext.extend(Ext.TabPanel,{layoutShallowOnTabChange:true,cls:'sm-mainpanel sm-tab-darkgray',plugins:[new Ext.ux.TabPanel.plugins.TabCloseMenu()],openTab:function(id,url,title){var obj;if('string'==typeof id){obj={id:id,title:title||'...'};}else if('object'==typeof id){obj=id;}
obj=Ext.apply({id:Ext.id(),layout:'fit',closable:true,plugins:[new Ext.sm.Panel.plugins.ModifiedMark()]},obj);url=url||null;if(null==url){}else if('string'==typeof url){obj.autoLoad={url:url};}else if('object'==typeof url){if(url.autoLoad){obj.autoLoad=url.autoLoad;obj.autoLoad.params=obj.autoLoad.params||{};if(url.params){obj.autoLoad.params.params=Ext.encode(url.params);}}else{obj.autoLoad=url;}}
this.add(obj);},add:function(obj){var topTabSeparatorPosition=obj.id.indexOf('/')
var topTabType=obj.id.slice(0,topTabSeparatorPosition);if(!this.tabsConfig[topTabType]){if(this.find('id',obj.id).length==0){Ext.sm.MainPanel.superclass.add.call(this,obj);}
this.setActiveTab(obj.id);}else{var topTab=Ext.getCmp('pt-ext-mainpanel-'+topTabType);if(!topTab){this.add(Ext.apply(this.tabsConfig[topTabType],{cls:'sm-tab-lightgray',plugins:[new Ext.ux.TabPanel.plugins.TabCloseMenu(),new Ext.sm.Panel.plugins.ModifiedMark()],listeners:{beforeremove:function(panel,tab){if(this.items.length==1){this.ownerCt.remove(this);return false;}}}}));topTab=Ext.getCmp('pt-ext-mainpanel-'+topTabType);}
var middleTabSeparationPosition=obj.id.indexOf('/',topTabSeparatorPosition+1);if(middleTabSeparationPosition!=-1){var middleTabId=obj.id.slice(0,middleTabSeparationPosition);if(topTab.find('id',middleTabId).length>0){var middleTab=Ext.getCmp(middleTabId).getComponent(middleTabId);if(middleTab&&'tabpanel'==middleTab.xtype){topTab.setActiveTab(obj.id);topTab=middleTab;}}}
if(topTab.find('id',obj.id).length==0){if(undefined!=obj.autoLoad||undefined!=obj.mediaCfg){topTab.add(obj);}}
if(undefined!=obj.autoLoad||undefined!=obj.mediaCfg){topTab.setActiveTab(obj.id);}
this.setActiveTab(topTab.id);}}});Ext.reg('mainpanel',Ext.sm.MainPanel);Ext.ns('Ext.sm.Panel.plugins');Ext.sm.Panel.plugins.CustomTitle=function(config){Ext.apply(this,config);};Ext.sm.Panel.plugins.CustomTitle.prototype={titleFormat:'{0}',init:function(obj){if(obj.setTitle&&obj.title){if(!obj.titleParams){if(!this.titleParams||0==this.titleParams.length){var p=this.titleFormat.match(/{(\d)*}/g);this.titleParams=[];for(var i=0,l=p.length;i<l;i++){this.titleParams[i]='';}}
obj.titleParams=this.titleParams;}
if(!obj.titleFormat){obj.titleFormat=this.titleFormat;}
Ext.apply(obj,{changeTitleParam:function(index,value){this.titleParams[index]=value;this.changeTitle();},changeTitle:function(){var params=this.titleParams.slice();params.unshift(this.titleFormat);this.setTitle(String.format.createDelegate(this,params)());}});obj.changeTitle();}else if(obj.getValue){if(!this.index)this.index=0;obj.addListener('keyup',function(field){var bubbles=field.findParentBy(function(cont){return cont.changeTitleParam;});if(bubbles){bubbles.changeTitleParam(this.index,field.getValue());}},this);obj.enableKeyEvents=true;}}};Ext.ns('Ext.sm.Panel.plugins');Ext.sm.Panel.plugins.ModifiedMark=function(config){Ext.apply(this,config);};Ext.sm.Panel.plugins.ModifiedMark.prototype={markFormat:'* {0}',unmarkRegex:/^\* (.*)$/,group:'default',init:function(obj){var plugin=this;if(obj.getValue){obj.modifiedGroup=this.group;var fn=function(field){var bubbles=field.findParentBy(function(cont){return cont.changeModified;});if(bubbles){field.isDirty()?bubbles.markModified(field):bubbles.unmarkModified(field);}}
obj.addListener('check',fn);obj.addListener('change',fn);obj.addListener('keyup',fn);obj.addListener('select',fn);obj.enableKeyEvents=true;}else if(obj.setTitle&&obj.title){Ext.apply(obj,{isModified:false,modifiedGroup:this.group,modifiedSubpanels:new Ext.util.MixedCollection(),markModified:function(cont){if(cont){this.modifiedSubpanels.add(cont);}
if(!this.isModified){this.isModified=true;this.changeModified();}},unmarkModified:function(cont){if(cont){this.modifiedSubpanels.remove(cont);}
if(this.modifiedSubpanels.getCount()>0){return;}
this.isModified=false;this.changeModified();},unmarkModifiedForce:function(){this.modifiedSubpanels.clear();this.isModified=false;this.changeModified();},changeModified:function(){var bubbles=this.findParentBy(function(cont){return(cont.changeModified&&(cont.modifiedGroup==obj.modifiedGroup));});if(this.isModified){this.setTitle(this.title);if(bubbles){bubbles.markModified(this);}}else{this.setTitle(this.title);if(bubbles){bubbles.unmarkModified(this);}}}});obj.setTitleOriginal=obj.setTitle;obj.setTitle=function(title,iconCls){if(this.isModified){this.originalTitle=title;title=String.format(plugin.markFormat,title);}else{var p=title.match(plugin.unmarkRegex);if(p){title=p[1];}
this.originalTitle=title;}
this.setTitleOriginal(title,iconCls);}
if(obj.closable){obj.on('beforeclose',function(){if(obj.isModified){(function(){Ext.Msg.show({title:'Niezapisane informacje',msg:'<b>Informacje w zakładce "'+obj.originalTitle+'" nie zostały zapisane.</b><br /><br />Czy napewno zamknąć zakładkę?',buttons:Ext.MessageBox.YESNO,fn:function(btn){if('yes'==btn){obj.isModified=false;var bubbles=obj.findParentBy(function(cont){return cont.changeModified;});if(bubbles){bubbles.unmarkModified(obj);}
obj.ownerCt.remove(obj);}},icon:Ext.MessageBox.QUESTION,modal:true});}).defer(50,this);return false;}
return true;});}}}};Ext.namespace('Ext.sm');Ext.sm.RemoteControl=function(config){Ext.apply(this,config);}
Ext.override(Ext.sm.RemoteControl,{controlUrl:'',controlProc:'',controlConfig:{},alwaysReload:false,controlOperations:null,isLoaded:false,loading:false,call:function(operation,param1,param2,param3,param4,param5){if(this.loading){return;}
var rc=this;if(!this.isLoaded||this.alwaysReload){this.loading=true;var mask=new Ext.LoadMask('body',{});mask.show();Ext.Ajax.request({waitMsg:'Ładowanie danych ...',url:this.controlUrl,method:'POST',params:{config:Ext.util.JSON.encode(rc.controlConfig),controlProc:this.controlProc},failure:function(response,options){mask.hide();rc.loading=false;},success:function(response,options){var responseData=response.responseText;var data=Ext.util.JSON.decode(responseData);rc.controlOperations={};for(var oper in data.operations){var toEval=data.operations[oper];toEval='var oper = '+toEval;rc.controlOperations[oper]=eval(toEval)||oper;}
if(!rc.controlOperations[operation]){alert('Błąd: nie można załadować kontrolki, ponieważ nie zdefiniowano operacji '+operation);}else{eval(data.objects);var fun=rc.controlOperations[operation];fun(param1,param2,param3,param5,param5);rc.isLoaded=true;}
mask.hide();rc.loading=false;}});}else{var fun=this.controlOperations[operation];fun(param1,param2,param3,param4,param5);}}});Ext.ns('Ext.sm');Ext.sm.Flot=Ext.extend(Ext.ux.Flot,{baseParams:{},dataUrl:null,autoUpdate:0,autoTask:null,onRender:function(ct,position){if(!this.template){if(!Ext.ux.Flot.flotTemplate){Ext.ux.Flot.flotTemplate=new Ext.Template('<div id="{0}"></div>');}
this.template=Ext.ux.Flot.flotTemplate;}
var id=this.id||Ext.id(null,'flot-container');var el,targs=[id];if(position){el=this.template.insertBefore(position,targs,true);}else{el=this.template.append(ct,targs,true);}
this.el=el;if(this.id){this.el.dom.id=this.el.id=this.id;}
this.el.setWidth(this.width||ct.getWidth());this.el.setHeight(this.height||ct.getHeight());this.el.setStyle('cursor',this.selection.cursor[this.selection.action]);var series=this.series;if(this.data){series=this.setupData(this.data,series);}
if(series){series=this.setupSeries(series);var plotChart=function(){this.plot(series);series=this.getData();for(var i=0,len=series.length;i<len;i++){var s=series[i];if(s.hidden){s.hidden=!s.hidden;this.setHidden(s,!s.hidden);}}
this.baseRanges=this.getRanges();if(this.onLayout){delete this.onLayout;}}
if(0==this.el.getHeight()){this.onLayout=plotChart.createDelegate(this);return;}
plotChart.call(this);}},onDraw:function(){this.setupLegend();this.store.loadData(this.createStoreData());if(this.autoUpdate&&this.autoUpdate>0&&this.dataUrl){this.autoGetNewData(this.autoUpdate);}
this.fireEvent('draw',this);},showTooltip:function(event,pos,item,forceUpdate){if(!this.tooltip||this.disableTooltip){return null;}
if(!forceUpdate&&this.prevTooltipItem&&this.prevTooltipItem.datapoint[0]==item.datapoint[0]&&this.prevTooltipItem.datapoint[1]==item.datapoint[1]&&this.prevTooltipItem.series==item.series){return null;}
this.clearTooltip(this.tooltipCmp);this.prevTooltipItem=item;var c={renderTo:Ext.getBody(),targetXY:[pos.pageX,pos.pageY]};var tickLabel=item.datapoint[0];var ticks=this.flot.getAxes().xaxis.ticks;for(var i=0;i<ticks.length;i++){if(ticks[i].v==item.datapoint[0]){tickLabel=ticks[i].label;break;}}
var tooltip=this.tooltip;if(typeof tooltip=='boolean'){tooltip='<div id="{tipId}">{label} ({tickLabel}, {1})</div>';}
if(typeof tooltip=='string'){if(!this.tipTemplate){this.tipTemplate=new Ext.XTemplate(tooltip);}
c.html=this.tipTemplate.apply({tipId:event.target.id+'-tip',pageX:pos.pageX,pageY:pos.pageY,x:pos.x,y:pos.y,tickLabel:tickLabel,0:item.datapoint[0],1:item.datapoint[1],label:item.series.label,color:item.series.color,shadowSize:item.series.shadowSize,dataIndex:item.dataIndex,seriesIndex:item.seriesIndex});}else if(typeof tooltip=='object'){Ext.apply(c,this.tooltip);}
this.tooltipCmp=new Ext.ToolTip(c);this.tooltipCmp.show();this.tooltipCmp.on('hide',function(tooltipCmp){this.clearTooltip(tooltipCmp);},this);return this.tooltipCmp;},getNewData:function(){if(this.dataUrl){Ext.Ajax.request({url:this.dataUrl,method:'POST',params:this.baseParams,scope:this,success:function(response,options){var responseData=response.responseText;var remote=Ext.util.JSON.decode(responseData);var series=this.getData();for(i=0;i<series.length;i++){if(remote.series[i]){if(this.xaxis.maxTicks<series[i].data.length)
series[i].data.shift();series[i].data.push(remote.series[i].data[0]);}}
if(remote.ticks){this.xaxis.ticks.push(remote.ticks[0]);}
this.setData(series);this.redraw();if(this.autoTask&&this.autoUpdate){this.autoTask.delay(this.autoUpdate);}}});}},autoGetNewData:function(timeout){if(!this.autoTask){this.autoTask=new Ext.util.DelayedTask(this.getNewData,this);this.autoUpdate=timeout||5000;}
this.autoTask.delay(this.autoUpdate);}});Ext.reg('flot',Ext.sm.Flot);Ext.namespace('Ext.sm.flex');Ext.sm.flex.Forms=new Ext.util.MixedCollection();Ext.sm.flex.FieldsContainer=function(config){config=config||{};Ext.apply(this,config);this.formData=this.formData||{};this.originalFormData=Ext.clone(this.formData,true);this.applyDataToFields();if(this.monitorValid){this.bindFieldsWithForm();this.startMonitoring();}}
Ext.extend(Ext.sm.flex.FieldsContainer,Ext.util.Observable,{formData:null,originalFormData:null,validationHandler:null,fields:null,monitoringButtons:null,monitorValid:false,defaultSubmitButton:null,trackResetOnLoad:false,getDataByKey:function(key){var dk=key.split('.');var obj=this.formData;for(var i=0;i<dk.length;i++){if(obj[dk[i]]==undefined){return obj[dk[i]];}
obj=obj[dk[i]];}
return obj;},setDataByKey:function(key,val){var dk=key.split('.');var obj=this.formData;for(var i=0;i<dk.length-1;i++){if(typeof obj[dk[i]]!='object'||!obj[dk[i]]){obj[dk[i]]={};}
obj=obj[dk[i]];}
obj[dk[dk.length-1]]=val;},validate:function(preventMark){for(var dataKey in this.fields){if(this.fields[dataKey].flexFormInvalid){return false;}
if(!this.fields[dataKey].isValid(preventMark)){return false;}}
if(this.validationHandler){return this.validationHandler(this.getData(),preventMark);}
return true;},fetchDataFromFields:function(){for(var dataKey in this.fields){var val=0;if(this.fields[dataKey].smGetValue){val=this.fields[dataKey].smGetValue();}else if(this.fields[dataKey].applyData){val=this.formData[dataKey];}else{val=this.fields[dataKey].getValue();}
this.setDataByKey(dataKey,val);}},applyDataToFields:function(){for(var dataKey in this.fields){var val=this.getDataByKey(dataKey);var lab=this.getDataByKey(dataKey+':label');if(lab!=undefined){val=[val,lab];}
if(this.fields[dataKey].smSetValue){this.fields[dataKey].smSetValue(val);}else if(this.fields[dataKey].applyData){this.fields[dataKey].applyData(this.formData);}else{this.fields[dataKey].setValue(val);}
if(this.trackResetOnLoad){this.fields[dataKey].originalValue=this.fields[dataKey].getValue();}}},setData:function(formData,silent){this.formData=formData;this.originalFormData=Ext.clone(this.formData,true);if(!silent){this.applyDataToFields();}},getData:function(){this.fetchDataFromFields();return this.formData;},startMonitoring:function(){if(!this.bound){this.bound=true;this.monitoringTask={run:this.monitoringHandler,interval:600,scope:this};Ext.TaskMgr.start(this.monitoringTask);}},stopMonitoring:function(){if(this.monitoringTask){Ext.TaskMgr.stop(this.monitoringTask);}
this.bound=false;},monitoringHandler:function(){if(!this.bound){return false;}
var valid=this.validate();if(this.monitoringButtons){for(var i=0,len=this.monitoringButtons.length;i<len;i++){var btn=this.monitoringButtons[i];if(btn.formBind===true&&btn.disabled===valid){btn.setDisabled(!valid);}}}},markFieldsInvalid:function(messages){for(var dataKey in messages){if(this.fields[dataKey]){this.fields[dataKey].markInvalid(messages[dataKey]);this.fields[dataKey].flexFormInvalid=true;this.fields[dataKey].on('valid',function(){this.flexFormInvalid=false;},null,{single:true})}}},findDefaultSubmitButton:function(){if(this.monitoringButtons){var len=this.monitoringButtons.length;if(0==len){return false;}
if(1==len){this.defaultSubmitButton=this.monitoringButtons[0];return true;}
for(var i=0;i<len;i++){if(this.monitoringButtons[i].formSubmit&&true==this.monitoringButtons[i].formSubmit){this.defaultSubmitButton=this.monitoringButtons[i];return true;}}}
return false;},disableMonitoringButtons:function(){if(this.monitoringButtons&&this.monitoringButtons.length>0){this.stopMonitoring();for(var i=0,len=this.monitoringButtons.length;i<len;i++){this.monitoringButtons[i].setDisabled(true);}}},enableMonitoringButtons:function(){if(this.monitoringButtons&&this.monitoringButtons.length>0){for(var i=0,len=this.monitoringButtons.length;i<len;i++){this.monitoringButtons[i].setDisabled(false);}
this.startMonitoring();}},bindFieldsWithForm:function(){if(false==this.findDefaultSubmitButton()){return;}
for(var dataKey in this.fields){var field=this.fields[dataKey];if(field.formSubmit&&true==field.formSubmit&&('textarea'!=field.getXType())){field.on('specialkey',function(f,e){if(e.getKey()==e.ENTER){e.preventDefault();this.defaultSubmitButton.handler(this.defaultSubmitButton.scope||this.defaultSubmitButton,this.defaultSubmitButton,e);}},this);}}},reset:function(){this.setData(Ext.clone(this.originalFormData,true),false);},isDirty:function(){for(var dataKey in this.fields){if(this.fields[dataKey].isDirty&&this.fields[dataKey].isDirty()){return true;}}
return false;},loadRecord:function(record){var id,formData={};for(id in record.data){if(!Ext.isFunction(record.data[id])){formData[id]=record.data[id];}}
formData.id=record.id;this.setData(formData,false);}});Ext.ns('Ext.sm.form');Ext.sm.form.BigMultiselect=Ext.extend(Ext.form.Field,{initEvents:Ext.emptyFn,defaultAutoCreate:{tag:'div'},widthDivider:3/5,gridSelectedEmptyText:_tr('PT_Ext_Form_BigMultiselect.selectedEmptyText'),bbarSelectedDisplayMsg:_tr('PT_Ext_Form_BigMultiselect.selectedDisplayMsg'),bbarSelectedEmptyText:'&#160;',tbarSelectedRemoveText:_tr('PT_Ext_Form_BigMultiselect.selectedRemoveText'),gridAllEmptyText:_tr('PT_Ext_Form_BigMultiselect.allEmptyText'),bbarAllBeforePageText:'',bbarAllAfterPageText:_tr('PT_Ext_Form_BigMultiselect.allAfterPageText'),bbarAllDisplayMsg:_tr('PT_Ext_Form_BigMultiselect.allDisplayMsg'),bbarAllEmptyText:'',tbarAllAddText:_tr('PT_Ext_Form_BigMultiselect.allAddText'),ddText:_tr('PT_Ext_Form_BigMultiselect.ddText'),search:function(field,value){if(''!=value){this.gridAll.getStore().baseParams.filter=Ext.encode(value);}else{delete this.gridAll.getStore().baseParams.filter;}
this.gridAll.getStore().load({params:{start:0,limit:this.gridAll.getBottomToolbar().pageSize}});},onRender:function(container,position){Ext.sm.form.BigMultiselect.superclass.onRender.call(this,container,position);this.buttonAdd=new Ext.Button({text:this.tbarAllAddText,iconCls:"icon-add",disabled:true,scope:this,handler:function(){this.gridSelected.addRows(this.gridAll.getSelectionModel().getSelections());}});this.searchField=new Ext.form.SearchField({width:150,emptyText:_tr('PT_Ext_Form_BigMultiselect.searchEmptyText'),listeners:{change:this.search,scope:this}});this.gridAll=new Ext.grid.GridPanel({ddGroup:this.id+'DDGroup',enableDragDrop:true,ddText:this.ddText,mainObject:this,store:this.storeAll,columns:this.columnsAll,autoExpandColumn:this.autoExpandColumn,autoScroll:true,border:false,stripeRows:true,height:this.height==undefined?226:this.height,viewConfig:{deferEmptyText:false,emptyText:this.gridAllEmptyText},plugins:[new Ext.sm.grid.plugins.StopForceFitAfterUserInteraction()],bbar:new Ext.PagingToolbar({pageSize:this.storeAll.pageSize,store:this.storeAll,displayInfo:true,beforePageText:this.bbarAllBeforePageText,afterPageText:this.bbarAllAfterPageText,displayMsg:this.bbarAllDisplayMsg,emptyMsg:this.bbarAllEmptyText}),tbar:[this.buttonAdd,{xtype:'tbfill'},this.searchField],listeners:{rowdblclick:function(grid){grid.mainObject.gridSelected.addRows(grid.getSelectionModel().getSelections());}}});this.gridAll.getSelectionModel().on("rowselect",function(){this.buttonAdd.enable();},this);this.storeAll.on('load',function(){this.gridAll.getSelectionModel().selectFirstRow();},this);this.gridHidden=new Ext.form.Field({hidden:true,name:this.name});this.buttonDelete=new Ext.Button({text:this.tbarSelectedRemoveText,iconCls:"icon-remove",disabled:true,scope:this,handler:function(){this.gridSelected.removeRows(this.gridSelected.getSelectionModel().getSelections());}});this.selectedText=new Ext.Toolbar.TextItem({text:this.bbarSelectedEmptyText,cls:'x-paging-info'});this.updateSelectedText=function(){if(this.storeSelected.getCount()>0){this.selectedText.getEl().innerHTML=String.format(this.bbarSelectedDisplayMsg,this.storeSelected.getCount());}else{this.selectedText.getEl().innerHTML=this.bbarSelectedEmptyText;}}
this.gridSelected=new Ext.grid.GridPanel({ddGroup:this.id+'DDGroup',enableDragDrop:true,ddText:this.ddText,mainObject:this,style:"margin-right: 10px",store:this.storeSelected,columns:this.columnsSelected,autoExpandColumn:this.autoExpandColumn,autoScroll:true,border:false,stripeRows:true,height:this.height==undefined?226:this.height,viewConfig:{deferEmptyText:false,emptyText:this.gridSelectedEmptyText},plugins:[new Ext.sm.grid.plugins.StopForceFitAfterUserInteraction()],listeners:{rowdblclick:function(grid,index,e){grid.removeRows(grid.getSelectionModel().getSelections());},keypress:function(e){if(e.getKey()==46){if(this.gridSelected.getSelectionModel().getCount()>0){this.gridSelected.removeRows(this.gridSelected.getSelectionModel().getSelections());}}},scope:this},bbar:[{xtype:'tbfill'},this.selectedText],tbar:[{xtype:'tbfill'},this.buttonDelete],removeRows:function(rows){var startValue=this.mainObject.getValue();Ext.each(rows,function(row){this.getStore().remove(row);},this);var endValue=this.mainObject.getValue();if(Ext.encode(endValue)!==Ext.encode(startValue)){this.mainObject.fireEvent('change',this.mainObject,endValue,startValue);}},addRows:function(rows){var startValue=this.mainObject.getValue();Ext.each(rows,function(row){var foundItem=this.getStore().findBy(function(r){return r.data._key==row.data._key});if(foundItem==-1){this.getStore().addSorted(row);}},this);var endValue=this.mainObject.getValue();if(Ext.encode(endValue)!==Ext.encode(startValue)){this.mainObject.fireEvent('change',this.mainObject,endValue,startValue);}}});this.gridSelected.getSelectionModel().on("rowselect",function(){this.buttonDelete.enable();},this);var box=new Ext.Panel({border:false,cls:'x-form-bigmultiselect',layout:'table',layoutConfig:{columns:3},items:[this.gridSelected,this.gridHidden,this.gridAll]});box.render(this.el);this.storeSelected.on('add',function(store,records){this.updateSelectedText();this.gridHidden.setValue(Ext.encode(this.getValue()));},this);this.storeSelected.on('remove',function(store,records){this.updateSelectedText();this.gridHidden.setValue(Ext.encode(this.getValue()));},this);this.storeSelected.on('load',function(store){this.updateSelectedText();this.originalValue=this.getValue();},this);var gridAllDropTargetEl=this.gridAll.getView().scroller;var gridAllDropTarget=new Ext.dd.DropTarget(gridAllDropTargetEl,{ddGroup:this.gridSelected.ddGroup,notifyDrop:function(ddSource,e,data){if(ddSource.grid.id==ddSource.grid.mainObject.gridAll.id){return false;}
ddSource.grid.removeRows(ddSource.dragData.selections);return(true);}});var gridSelectedDropTargetEl=this.gridSelected.getView().scroller;var gridSelectedDropTarget=new Ext.dd.DropTarget(gridSelectedDropTargetEl,{ddGroup:this.gridAll.ddGroup,notifyDrop:function(ddSource,e,data){if(ddSource.grid.id==ddSource.grid.mainObject.gridSelected.id){return false;}
ddSource.grid.mainObject.gridSelected.addRows(ddSource.dragData.selections);return(true);}});},onResize:function(width,height){if(width){this.gridAll.setWidth(width*this.widthDivider-5);this.gridSelected.setWidth(width*(1-this.widthDivider)-5);}
if(height){this.gridAll.setHeight(height-10);this.gridSelected.setHeight(height-10);}},reset:function(){this.clearInvalid();this.gridSelected.getStore().removeAll();this.selected={};this.searchField.onTrigger1Click();this.gridHidden.setValue('');Ext.getCmp('tbtnDelete').disable();},validateValue:function(){return true;},getName:function(){return this.name;},isDirty:function(){if(this.disabled){return false;}
return Ext.encode(this.getValue())!==Ext.encode(this.originalValue);},initValue:function(){this.originalValue=this.getValue();},setRawValue:function(value){this.value=value;if(value!=null){this.storeSelected.load({params:{IDs:Ext.encode(value)}});}},setValue:function(value){this.value=value;if(value!=null&&value.length>0){this.storeSelected.load({params:{id:Ext.encode(value)}});this.storeSelected.on('load',function(){this.validate();},this,{single:true});}},getRawValue:function(){return this.storeSelected.collect('_key');},getValue:function(){return this.getRawValue();}});Ext.reg('bigmultiselect',Ext.sm.form.BigMultiselect);Ext.override(Ext.ux.form.DateTime,{smValueAsString:true,smSetValue:function(value){if(0===value||'0'===value){this.smValueAsString=false;return this.setValue('');}
if(''===value){this.smValueAsString=true;return this.setValue('');}
if(typeof value=='string'&&value.match(/^[0-9]+$/)){value|=0;}
if(typeof value=="string"){this.smValueAsString=true;var tm=[0,0,0];value=value.split(" ");var dt=value[0].split("-");if(value.length>1){tm=value[1].split(':');this.smTimeWithSeconds=tm.length>=3;while(tm.length<3){tm.push('00');}}
value=new Date(dt[0],dt[1]-1,dt[2],tm[0],tm[1],tm[2]);}else{this.smValueAsString=false;value=new Date(value*1000);}
return this.setValue(value);},smGetValue:function(){var dt=this.getValue();if(''==dt){return'';}
var value=false;if(this.smValueAsString){var m=(dt.getMonth()+1)+'';var d=dt.getDate()+'';if(m.length<2)m='0'+m;if(d.length<2)d='0'+d;value=dt.getFullYear()+'-'+m+'-'+d;var h=dt.getHours()+'';var m=dt.getMinutes()+'';var s=dt.getSeconds()+'';if(h.length<2)h='0'+h;if(m.length<2)m='0'+m;if(s.length<2)s='0'+s;value+=' '+h+':'+m;value+=':'+s;}else{value=(dt.getTime()/1000.0)|0;if(value<0){value=1;}}
return value;},onRender:function(ct,position){if(this.isRendered){return;}
Ext.ux.form.DateTime.superclass.onRender.call(this,ct,position);var t;if('below'===this.timePosition||'bellow'===this.timePosition){t=Ext.DomHelper.append(ct,{tag:'table',style:'border-collapse:collapse',children:[{tag:'tr',children:[{tag:'td',style:'padding-bottom:1px',cls:'ux-datetime-date'}]},{tag:'tr',children:[{tag:'td',cls:'ux-datetime-time'}]}]},true);}
else{t=Ext.DomHelper.append(ct,{tag:'table',style:'border-collapse:collapse',children:[{tag:'tr',children:[{tag:'td',style:'padding-right:4px',cls:'ux-datetime-date'},{tag:'td',cls:'ux-datetime-time'}]}]},true);}
this.tableEl=t;this.wrap=this.tableEl;this.wrap.on("mousedown",this.onMouseDown,this,{delay:10});this.df.render(t.child('td.ux-datetime-date'));this.tf.render(t.child('td.ux-datetime-time'));this.df.el.swallowEvent(['keydown','keypress']);this.tf.el.swallowEvent(['keydown','keypress']);if('side'===this.msgTarget){var elp=this.el.findParent('.x-form-element',10,true);if(elp){this.errorIcon=elp.createChild({cls:'x-form-invalid-icon'});}
var o={errorIcon:this.errorIcon,msgTarget:'side',alignErrorIcon:this.alignErrorIcon.createDelegate(this)};Ext.apply(this.df,o);Ext.apply(this.tf,o);}
this.el.dom.name=this.hiddenName||this.name||this.id;this.df.el.dom.removeAttribute("name");this.tf.el.dom.removeAttribute("name");this.isRendered=true;this.updateHidden();}});Ext.ns('Ext.sm.form');Ext.sm.form.DropdownField=Ext.extend(Ext.form.TriggerField,{dropdown:null,dropdownAlign:'tl-bl?',dropdownInner:null,innerField:null,dropdownClass:'',initialValue:null,initComponent:function(){Ext.sm.form.DropdownField.superclass.initComponent.call(this);this.innerField=this.getInnerField();this.innerField.setDisabled(this.disabled);this.innerField.setReadOnly(this.readOnly);this.setInnerValue(this.initialValue);this.forceSelection=true;},destroy:function(){if(this.innerField){this.innerField.destroy();delete this.innerField;}},initDropdown:function(){if(this.dropdown)return;var cls='x-combo-list';this.dropdown=new Ext.Layer({shadow:this.shadow,cls:[cls,this.dropdownClass].join(' '),constrain:false});var lw=this.wrap.getWidth();this.dropdown.setWidth(lw);this.dropdown.swallowEvent('mousewheel');this.dropdownInner=this.dropdown.createChild({cls:cls+'-inner'});this.dropdownInner.setWidth(lw-this.dropdown.getFrameWidth('lr'));this.innerField.setWidth(lw-this.dropdown.getFrameWidth('lr'));this.innerField.render(this.dropdownInner);this.innerField.on('change',function(fld,newVal,oldVal){this.updateLabel();},this);},mimicBlur:function(e){if(!this.wrap.contains(e.target)&&this.dropdown&&!this.dropdown.contains(e.target)&&this.validateBlur(e)){this.triggerBlur();}},onResize:function(w,h){Ext.sm.form.DropdownField.superclass.onResize.call(this,w,h);if(this.dropdown){var lw=this.wrap.getWidth();this.dropdown.setWidth(lw);this.dropdownInner.setWidth(lw-this.dropdown.getFrameWidth('lr'));this.innerField.setWidth(lw-this.dropdown.getFrameWidth('lr'));this.dropdown.alignTo(this.wrap,this.dropdownAlign);}},getInnerField:function(){alert('Ext.sm.form.DropdownField.getInnerField: this abstract method must be overriden');return null;},initValue:function(){this.originalValue=this.getValue();},isExpanded:function(){return this.dropdown&&this.dropdown.isVisible();},onTriggerClick:function(){if(this.disabled){return;}
if(this.isExpanded()){this.collapse();this.el.focus();}else{this.expand();this.el.focus();}},collapse:function(){if(!this.isExpanded()){return;}
var v=this.getValue();if(String(v)!==String(this.startValue)){this.startValue=v;this.fireEvent('change',this,v,this.startValue);}
this.updateLabel();this.dropdown.hide();Ext.getDoc().un('mousewheel',this.collapseIf,this);Ext.getDoc().un('mousedown',this.collapseIf,this);this.fireEvent('collapse',this);},collapseIf:function(e){if(!e.within(this.wrap)&&!e.within(this.dropdown)){this.collapse();}},expand:function(){if(this.isExpanded()){return;}
this.initDropdown();this.dropdown.alignTo(this.wrap,this.dropdownAlign);this.dropdown.show();Ext.getDoc().on('mousewheel',this.collapseIf,this);Ext.getDoc().on('mousedown',this.collapseIf,this);this.fireEvent('expand',this);},setLabel:function(label){if(this.rendered){this.el.dom.value=(label===null||label===undefined?'':label);}else{this.on('render',function(){this.setLabel(label);},this,{single:true});}},updateLabel:function(){var val=this.getValue();var val2=[];if(null!=val){if(this.innerField&&this.innerField.valueToLabel){if(typeof val=='object'){for(var i=0;i<val.length;i++){val2.push(this.innerField.valueToLabel(val[i]));}
val=val2.join(', ');}else{val=this.innerField.valueToLabel(val);}}}
this.setLabel(val);},setValue:function(value){var label='';if(null!==value&&typeof value=='object'&&value.length==2){label=value[1];value=value[0];}
if(!this.innerField){this.initialValue=value;}else{this.setInnerValue(value);}
if(this.rendered){this.validate();}else{this.on('render',function(){this.validate();},this,{single:true});}
if(label){this.setLabel(label);}else{this.updateLabel();}},getValue:function(){if(!this.innerField)return this.initialValue;if(this.innerField.smGetValue){return this.innerField.smGetValue();}
if(this.innerField.getValue){return this.innerField.getValue();}
return this.initialValue;},getRawValue:function(){if(!this.innerField)return this.initialValue;if(this.innerField.getRawValue){return this.innerField.getRawValue();}
return this.initialValue;},validateValue:function(value){var msg;if(!value||value.length<1){if(this.allowBlank){this.clearInvalid();return true;}else{this.markInvalid(this.emptyText);return false;}}
return true;},processValue:function(value){return value;},setInnerValue:function(value){if(this.innerField.smSetValue){this.innerField.smSetValue(value);return;}
if(this.innerField.setValue){this.innerField.setValue(value);}},setDisabled:function(value){Ext.sm.form.DropdownField.superclass.setDisabled.call(this,value);this.innerField.setDisabled(value);},enable:function(){Ext.sm.form.DropdownField.superclass.enable.call(this);this.innerField.enable();},disable:function(){Ext.sm.form.DropdownField.superclass.disable.call(this);this.innerField.disable();},setReadOnly:function(readOnly){Ext.sm.form.DropdownField.superclass.setReadOnly.call(this,readOnly);this.innerField.setReadOnly(readOnly);}});Ext.reg('dropdownfield',Ext.sm.form.DropdownField);Ext.namespace('Ext.sm.form');Ext.sm.form.ItemChooser=Ext.extend(Ext.form.TriggerField,{multiSelect:false,displayField:'_key',remoteControl:null,smDict:{0:''},onTriggerClick:function(){if(this.disabled){return true;}
if(this.multiSelect){var val=this.getValue();var ctx={};if(typeof val=='object')ctx.selectedKeys=val;ctx.object=this;ctx.allowBlank=this.allowBlank;ctx.onChooseHandler=function(data,context){oldVal=context.object.getValue();if(!data){newValue=[[],''];context.object.setValue([[],'']);}else{var keys=[];var label='';for(var i=0;i<data.length;i++){var entry=data[i];keys.push(entry._key);if(label!='')label+='; ';label+=entry[context.object.displayField];}
newValue=[keys,label];context.object.setValue([keys,label]);}
context.object.fireEvent('change',context.object,oldValue,newValue);}
this.remoteControl.call('open',ctx);}else{var ctx={};ctx.object=this;ctx.allowBlank=this.allowBlank;ctx.onChooseHandler=function(data,context){oldValue=context.object.getValue();if(!data){context.object.setValue('');newValue='';}else{context.object.setValue([data._key,data[context.object.displayField]]);newValue=[data._key,data[context.object.displayField]];}
context.object.fireEvent('change',context.object,oldValue,newValue);}
this.remoteControl.call('open',ctx);}}});Ext.sm.form.ItemChooser.prototype.setValue_orig=Ext.sm.form.ItemChooser.prototype.setValue;Ext.sm.form.ItemChooser.prototype.getValue_orig=Ext.sm.form.ItemChooser.prototype.getValue;Ext.sm.form.ItemChooser.prototype.initValue_orig=Ext.sm.form.ItemChooser.prototype.initValue;Ext.sm.form.ItemChooser.prototype.setValue=function(value){if(value&&typeof value=='object'){val=value[0];lab=value[1];value=lab;this.hiddenValue=val;this.smDict[val]=lab;}else{this.hiddenValue=value;if(value!=null&&value!=undefined&&this.smDict[value]!==undefined)value=this.smDict[value];}
this.setValue_orig(value);};Ext.sm.form.ItemChooser.prototype.getValue=function(){if(this.hiddenValue!=undefined){return this.hiddenValue;}
return this.getValue_orig();};Ext.sm.form.ItemChooser.prototype.initValue=function(){if(this.hiddenValue!=undefined){if(this.value!==undefined){this.setValue([this.hiddenValue,this.value]);}}else{if(this.value!==undefined){this.setValue(this.value);}else if(this.el.dom.value.length>0&&this.el.dom.value!=this.emptyText){this.setValue(this.el.dom.value);}}
this.originalValue=this.getValue();};Ext.reg('smitemchooser',Ext.sm.form.ItemChooser);Ext.namespace('Ext.sm.form');Ext.sm.form.ListField=Ext.extend(Ext.form.Field,{initEvents:Ext.emptyFn,grid:null,defaultAutoCreate:{tag:'div'},multiSelect:true,allowBlank:true,emptyText:'This field is required',displayField:'_text',getGrid:function(){return this.grid;},onRender:function(container,position){Ext.sm.form.ListField.superclass.onRender.call(this,container,position);if(!this.grid.mainObject){this.grid.mainObject=this;}
this.grid.setDisabled(this.disabled);var sm=this.grid.getSelectionModel();sm.on('beforerowselect',function(sm){if(!this._gridRowSelectOnSetValue&&this.readOnly){return false;}},this);sm.on('beforerowdeselect',function(sm){if(!this._gridRowSelectOnSetValue&&this.readOnly){return false;}},this);sm.on('selectionchange',function(sm){this.value=this.grid.getSelectedRowsKeys();this.validate();},this);this.grid.render(this.el);},onResize:function(width,height){this.grid.setWidth(width);this.grid.setHeight(height);},validateValue:function(value){if(value.length<1){if(this.allowBlank){this.clearInvalid();return true;}else{this.markInvalid(this.emptyText);return false;}}
if(typeof this.validator=="function"){var msg=this.validator(value);if(msg!==true){this.markInvalid(msg);return false;}}
this.clearInvalid();return true;},getName:function(){return this.name;},isDirty:function(){if(this.disabled){return false;}
return Ext.encode(this.getValue())!==Ext.encode(this.originalValue);},initValue:function(){this.originalValue=this.getValue();},setRawValue:function(value){if(typeof value!='object')value=[value];this.value=value;var data=this.grid.store.getRange();var sm=this.grid.getSelectionModel();var toSelect=[];for(var i=0;i<data.length;i++){var id=data[i].get('_key');for(v in value){if(value[v]==id){toSelect.push(i);}}}
(function(){this._gridRowSelectOnSetValue=true;sm.selectRows(toSelect);this._gridRowSelectOnSetValue=false;}).defer(500,this);this.initValue.defer(500,this);},setValue:function(value){if(undefined==value){value=[];}
if(typeof value!='object')value=[value];if(!this.rendered){this.tempValue=value;this.validate();this.on('render',function(){this.setValue(value);},this,{single:true});return;}
this.tempValue=null;this.setRawValue(value);this.validate();},getRawValue:function(){if(this.tempValue){return this.tempValue;}
return this.value||[];},getValue:function(){var value=this.getRawValue();return(!this.multiSelect&&typeof value=='object')?value[0]:value;},valueToLabel:function(value){var idx=this.grid.store.findBy(function(record,id){if(record.data._key==value)return true;},this);if(idx==-1)return value;return this.grid.store.getAt(idx).data[this.displayField];},setDisabled:function(value){Ext.sm.form.ListField.superclass.setDisabled.call(this,value);this.grid.setDisabled(value);},enable:function(){Ext.sm.form.ListField.superclass.enable.call(this);this.grid.enable();},disable:function(){Ext.sm.form.ListField.superclass.disable.call(this);this.grid.disable();}});Ext.reg('listfield',Ext.sm.form.ListField);Ext.ns('Ext.sm.form');Ext.sm.form.PasswordField1=Ext.extend(Ext.form.TriggerField,{enableKeyEvents:true,fieldLabel:_tr('PT_Ext_Form_PasswordField.fieldLabel'),inputType:'password',maxLength:20,minLength:6,allowBlank:true,triggerClass:'x-form-password-trigger',complexityMsg:[_tr('PT_Ext_Form_PasswordField.cmpxVeryWeak'),_tr('PT_Ext_Form_PasswordField.cmpxWeak'),_tr('PT_Ext_Form_PasswordField.cmpxGood'),_tr('PT_Ext_Form_PasswordField.cmpxStrong'),_tr('PT_Ext_Form_PasswordField.cmpxVeryStrong')],wizardWindowCfg:{title:_tr('PT_Ext_Form_PasswordField.title'),width:650,height:425},passwordInstruction:'',doneButtonText:_tr('PT_Ext_Form_PasswordField.done'),generateButtonText:_tr('PT_Ext_Form_PasswordField.genNewPass'),choosePasswordText:_tr('PT_Ext_Form_PasswordField.choosePass'),initComponent:function(){Ext.sm.form.PasswordField1.superclass.initComponent.call(this);this.on('keyup',this.simpleCheckPassword,this);},setValue:function(value){Ext.sm.form.PasswordField1.superclass.setValue.call(this,value);this.validate();this.simpleCheckPassword();},onDisable:function(){Ext.sm.form.PasswordField1.superclass.onDisable.call(this);if(this.trigger){this.trigger.removeClass('x-form-password-weak');this.trigger.removeClass('x-form-password-good');this.trigger.removeClass('x-form-password-strong');this.trigger.dom.qtip='';}},simpleCheckPassword:function(f,e){if(!this.trigger){return;}
if(e&&e.getKey()==e.SHIFT){return;}
this.trigger.removeClass('x-form-password-weak');this.trigger.removeClass('x-form-password-good');this.trigger.removeClass('x-form-password-strong');this.trigger.dom.qtip='';if(this.disabled){return;}
var pwd=this.getValue();this.trigger.dom.qtip=_tr('PT_Ext_Form_PasswordField.findOutMore');var result=this.checkComplexity(pwd);if(null===result){return;}
var nScore=result[0];var sComplexity='';var sClass='';if(nScore>=0&&nScore<20){sComplexity=this.complexityMsg[0];sClass='x-form-password-weak';}else if(nScore>=20&&nScore<40){sComplexity=this.complexityMsg[1];sClass='x-form-password-weak';}else if(nScore>=40&&nScore<60){sComplexity=this.complexityMsg[2];sClass='x-form-password-good';}else if(nScore>=60&&nScore<80){sComplexity=this.complexityMsg[3];sClass='x-form-password-strong';}else if(nScore>=80&&nScore<=100){sComplexity=this.complexityMsg[4];sClass='x-form-password-strong';}
this.trigger.addClass(sClass);this.trigger.dom.qtip=String.format('{0}: <b>{1}</b>',_tr('PT_Ext_Form_PasswordField.passwordScore'),sComplexity);},onTriggerClick:function(){if(this.disabled)return;var passwordWin=new Ext.Window(Ext.apply(this.wizardWindowCfg,{modal:true,cls:'pwdCheck',listeners:{'show':function(){Ext.getCmp("passwordPwd").setValue(this.getValue());this.checkPassword();Ext.getCmp("passwordPwd").focus(false,true);},scope:this},layout:'border',border:false,items:[{region:'west',width:210,border:false,defaults:{border:false,style:'margin: 5px 0 0',bodyStyle:'padding: 10px;'},items:[{cls:'divInstruction',html:this.passwordInstruction},{layout:'form',title:this.choosePasswordText,labelWidth:50,items:[{xtype:'textfield',anchor:'100%',id:'passwordPwd',fieldLabel:this.fieldLabel,enableKeyEvents:true,listeners:{'keyup':function(){this.checkPassword();},scope:this}},{xtype:'progress',id:'passwordScore'}]},{title:_tr('PT_Ext_Form_PasswordField.passwordHints'),id:'generator',bodyStyle:'text-align: center',listeners:{'render':function(panel){for(var i=0;i<4;i++){panel.add({xtype:'button',style:'margin: 3px 5px; float: left;',text:this.generatePassword(),minWidth:90,handler:function(button){Ext.getCmp("passwordPwd").setValue(button.getText());this.checkPassword();},scope:this});}
panel.add({xtype:'button',text:this.generateButtonText,minWidth:160,style:'clear: both; margin: 6px auto 3px;',handler:function(){var panel=Ext.getCmp('generator');if(panel.items){panel.items.each(function(item){if(item.minWidth<100)
item.setText(this.generatePassword());},this);}},scope:this})},scope:this}}]},{region:'center',cls:'tablePwdStatus',html:this.passwordCheckHtml,bodyStyle:'padding: 5px 10px 0',border:false}],fbar:[{id:'passwordTime',cls:'x-btn-link',handler:function(){Ext.Msg.alert(_tr('PT_Ext_Form_PasswordField.passwordBruteForceTitle'),_tr('PT_Ext_Form_PasswordField.passwordBruteForceDesc')).setIcon(Ext.MessageBox.INFO).getDialog().setWidth(350);}},{xtype:'tbfill'},{text:this.doneButtonText,handler:function(){var oldValue=this.getValue();var newValue=Ext.getCmp("passwordPwd").getValue();this.setValue(newValue);this.fireEvent('change',this,newValue,oldValue);passwordWin.close();},scope:this}]}));passwordWin.show();},checkPassword:function(){var pwd=Ext.getCmp('passwordPwd').getValue();Ext.each(['nLength','nAlphaUC','nAlphaLC','nNumber','nSymbol','nMidChar'],function(item){Ext.getDom(item).innerHTML='0';Ext.getDom(item+'Bonus').innerHTML='0';Ext.getDom(item+'Bonus').parentNode.className='fail';Ext.getDom('div_'+item).className='fail';});Ext.each(['nAlphasOnly','nNumbersOnly','nRepChar','nConsecAlphaUC','nConsecAlphaLC','nConsecNumber','nSeqAlpha','nSeqNumber'],function(item){Ext.getDom(item).innerHTML='0';Ext.getDom(item+'Bonus').innerHTML='0';Ext.getDom(item+'Bonus').parentNode.className='pass';Ext.getDom('div_'+item).className='pass';});if(!pwd){Ext.getCmp('passwordTime').setText(String.format('{0} {1}',_tr('PT_Ext_Form_PasswordField.forceableIn'),this.checkTime('')));Ext.getCmp("passwordScore").updateProgress(0,'');return;}
var result=this.checkComplexity(pwd);if(null===result){Ext.getCmp('passwordTime').setText(String.format('{0} {1}',_tr('PT_Ext_Form_PasswordField.forceableIn'),this.checkTime('')));Ext.getCmp("passwordScore").updateProgress(0,'');return;}
var minLength=this.minLength;var nScore=result[0];result=result[1];Ext.each(['nLength','nAlphaUC','nAlphaLC','nNumber','nSymbol','nMidChar'],function(item){if(result[item]){Ext.getDom(item).innerHTML=result[item];}
if(nScore>0&&result[item+'Bonus']){var oImg=Ext.getDom('div_'+item);var oBonus=Ext.getDom(item+'Bonus');oBonus.innerHTML='+'+result[item+'Bonus'];var minVal=0;if(item=="nLength"){minVal=parseInt(minLength-1);}
if(result[item]==parseInt(minVal+1)){oImg.className="pass";oBonus.parentNode.className="pass";}
else if(result[item]>parseInt(minVal+1)){oImg.className="exceed";oBonus.parentNode.className="exceed";}}});Ext.each(['nAlphasOnly','nNumbersOnly','nRepChar','nConsecAlphaUC','nConsecAlphaLC','nConsecNumber','nSeqAlpha','nSeqNumber'],function(item){if(result[item]){Ext.getDom(item).innerHTML=result[item];}
if(nScore>0&&result[item+'Bonus']){var oImg=Ext.getDom('div_'+item);var oBonus=Ext.getDom(item+'Bonus');oBonus.innerHTML='-'+result[item+'Bonus'];if(result[item]>0){oImg.className="warn";oBonus.parentNode.className="warn";}}});var sComplexity;if(nScore>=0&&nScore<20){sComplexity=this.complexityMsg[0];}
else if(nScore>=20&&nScore<40){sComplexity=this.complexityMsg[1];}
else if(nScore>=40&&nScore<60){sComplexity=this.complexityMsg[2];}
else if(nScore>=60&&nScore<80){sComplexity=this.complexityMsg[3];}
else if(nScore>=80&&nScore<=100){sComplexity=this.complexityMsg[4];}
Ext.getCmp("passwordScore").updateProgress(nScore/100,sComplexity);Ext.getCmp('passwordTime').setText(String.format('{0} {1}',_tr('PT_Ext_Form_PasswordField.forceableIn'),this.checkTime(pwd)));},generatePassword:function(){do{var pwd=this._generatePassword();var result=this.checkComplexity(pwd);if(result&&result[0]>60){return pwd;}}while(true);},_generatePassword:function(){var a=8;if(this.minLength>8){a=this.minLength;}
var chars="^[_]!#$%&()={}?@*+-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";var pass="";for(var x=0;x<a;x++){var genn=Math.round(Math.random()*chars.length);while(genn<=0){genn++;}
pass+=chars.charAt(genn);}
return pass;},checkComplexity:function(pwd){if(!pwd){return null;}
var nMinPwdLen=this.minLength;var strReverse=function(value){var newstring="";for(var s=0;s<value.length;s++){newstring=value.charAt(s)+newstring;}
return newstring;};var nAlphaUC=0;var nAlphaLC=0;var nNumber=0;var nSymbol=0;var nMidChar=0;var nRepChar=0;var nConsecAlphaUC=0;var nConsecAlphaLC=0;var nConsecNumber=0;var nConsecSymbol=0;var nConsecCharType=0;var nSeqAlpha=0;var nSeqNumber=0;var nSeqChar=0;var nMultLength=4;var nMultNumber=4;var nMultSymbol=6;var nMultMidChar=2;var nMultConsecAlphaUC=2;var nMultConsecAlphaLC=2;var nMultConsecNumber=2;var nMultSeqAlpha=3;var nMultSeqNumber=3;var nTmpAlphaUC="";var nTmpAlphaLC="";var nTmpNumber="";var nTmpSymbol="";var sAlphas="abcdefghijklmnopqrstuvwxyz";var sNumerics="01234567890";var aResult={};var nLength=pwd.length;var nScore=parseInt(nLength*nMultLength);var arrPwd=pwd.replace(/\s+/g,"").split(/\s*/);var arrPwdLen=arrPwd.length;aResult.nLength=nLength;aResult.nLengthBonus=nScore;var aRepChars={};for(var a=0;a<arrPwdLen;a++){if(arrPwd[a].match(new RegExp(/[A-Z]/g))){if(nTmpAlphaUC!==""){if((nTmpAlphaUC+1)==a){nConsecAlphaUC++;nConsecCharType++;}}
nTmpAlphaUC=a;nAlphaUC++;}else if(arrPwd[a].match(new RegExp(/[a-z]/g))){if(nTmpAlphaLC!==""){if((nTmpAlphaLC+1)==a){nConsecAlphaLC++;nConsecCharType++;}}
nTmpAlphaLC=a;nAlphaLC++;}else if(arrPwd[a].match(new RegExp(/[0-9]/g))){if(a>0&&a<(arrPwdLen-1)){nMidChar++;}
if(nTmpNumber!==""){if((nTmpNumber+1)==a){nConsecNumber++;nConsecCharType++;}}
nTmpNumber=a;nNumber++;}else if(arrPwd[a].match(new RegExp(/[^a-zA-Z0-9_]/g))){if(a>0&&a<(arrPwdLen-1)){nMidChar++;}
if(nTmpSymbol!==""){if((nTmpSymbol+1)==a){nConsecSymbol++;nConsecCharType++;}}
nTmpSymbol=a;nSymbol++;}
if(aRepChars[arrPwd[a].toLowerCase()]){aRepChars[arrPwd[a].toLowerCase()]++;}else{aRepChars[arrPwd[a].toLowerCase()]=1;}}
for(var r in aRepChars){if(aRepChars[r]>1){nRepChar+=aRepChars[r];}}
var sFwd,sRev,s;for(s=0;s<23;s++){sFwd=sAlphas.substring(s,parseInt(s+3));sRev=strReverse(sFwd);if(pwd.toLowerCase().indexOf(sFwd)!=-1||pwd.toLowerCase().indexOf(sRev)!=-1){nSeqAlpha++;nSeqChar++;}}
for(s=0;s<8;s++){sFwd=sNumerics.substring(s,parseInt(s+3));sRev=strReverse(sFwd);if(pwd.toLowerCase().indexOf(sFwd)!=-1||pwd.toLowerCase().indexOf(sRev)!=-1){nSeqNumber++;nSeqChar++;}}
aResult.nAlphaUC=nAlphaUC;if(nAlphaUC>0&&nAlphaUC<nLength){nScore=parseInt(nScore+((nLength-nAlphaUC)*2));aResult.nAlphaUCBonus=parseInt((nLength-nAlphaUC)*2);}
aResult.nAlphaLC=nAlphaLC;if(nAlphaLC>0&&nAlphaLC<nLength){nScore=parseInt(nScore+((nLength-nAlphaLC)*2));aResult.nAlphaLCBonus=parseInt((nLength-nAlphaLC)*2);}
aResult.nNumber=nNumber;if(nNumber>0&&nNumber<nLength){nScore=parseInt(nScore+(nNumber*nMultNumber));aResult.nNumberBonus=parseInt(nNumber*nMultNumber);}
aResult.nSymbol=nSymbol;if(nSymbol>0){nScore=parseInt(nScore+(nSymbol*nMultSymbol));aResult.nSymbolBonus=parseInt(nSymbol*nMultSymbol);}
aResult.nMidChar=nMidChar;if(nMidChar>0){nScore=parseInt(nScore+(nMidChar*nMultMidChar));aResult.nMidCharBonus=parseInt(nMidChar*nMultMidChar);}
if((nAlphaLC>0||nAlphaUC>0)&&nSymbol===0&&nNumber===0){nScore=parseInt(nScore-nLength);aResult.nAlphasOnly=nLength;aResult.nAlphasOnlyBonus=nLength;}
if(nAlphaLC===0&&nAlphaUC===0&&nSymbol===0&&nNumber>0){nScore=parseInt(nScore-nLength);aResult.nNumbersOnly=nLength;aResult.nNumbersOnlyBonus=nLength;}
aResult.nRepChar=nRepChar;if(nRepChar>0){nScore=parseInt(nScore-(nRepChar*(nRepChar-1)));aResult.nRepCharBonus=parseInt(nRepChar*(nRepChar-1));}
aResult.nConsecAlphaUC=nConsecAlphaUC;if(nConsecAlphaUC>0){nScore=parseInt(nScore-(nConsecAlphaUC*nMultConsecAlphaUC));aResult.nConsecAlphaUCBonus=parseInt(nConsecAlphaUC*nMultConsecAlphaUC);}
aResult.nConsecAlphaLC=nConsecAlphaLC;if(nConsecAlphaLC>0){nScore=parseInt(nScore-(nConsecAlphaLC*nMultConsecAlphaLC));aResult.nConsecAlphaLCBonus=parseInt(nConsecAlphaLC*nMultConsecAlphaLC);}
aResult.nConsecNumber=nConsecNumber;if(nConsecNumber>0){nScore=parseInt(nScore-(nConsecNumber*nMultConsecNumber));aResult.nConsecNumberBonus=parseInt(nConsecNumber*nMultConsecNumber);}
aResult.nSeqAlpha=nSeqAlpha;if(nSeqAlpha>0){nScore=parseInt(nScore-(nSeqAlpha*nMultSeqAlpha));aResult.nSeqAlphaBonus=parseInt(nSeqAlpha*nMultSeqAlpha);}
aResult.nSeqNumber=nSeqNumber;if(nSeqNumber>0){nScore=parseInt(nScore-(nSeqNumber*nMultSeqNumber));aResult.nSeqNumberBonus=parseInt(nSeqNumber*nMultSeqNumber);}
if(nScore>100){nScore=100;}else if(nScore<0){nScore=1;}
if(pwd.length<nMinPwdLen){return[0,aResult];}
return[nScore,aResult];},checkTime:function(str){var chars=0;var rate=2800000000;if((/[a-z]/).test(str))chars+=26;if((/[A-Z]/).test(str))chars+=26;if((/[0-9]/).test(str))chars+=10;if((/[^a-zA-Z0-9]/).test(str))chars+=32;var pos=Math.pow(chars,str.length);var s=pos/rate;var decimalYears=s/(3600*24*365);var years=Math.floor(decimalYears);var decimalMonths=(decimalYears-years)*12;var months=Math.floor(decimalMonths);var decimalDays=(decimalMonths-months)*30;var days=Math.floor(decimalDays);var decimalHours=(decimalDays-days)*24;var hours=Math.floor(decimalHours);var decimalMinutes=(decimalHours-hours)*60;var minutes=Math.floor(decimalMinutes);var decimalSeconds=(decimalMinutes-minutes)*60;var seconds=Math.floor(decimalSeconds);var time=[];if(years>0){if(years>1000){time.push(_tr('PT_Ext_Form_PasswordField.timeNextLife'))
return time;}else{time.push(_tr('PT_Ext_Form_PasswordField.timeYear',years))}}
if(months>0){time.push(_tr('PT_Ext_Form_PasswordField.timeMonth',months))}
if(days>0){time.push(_tr('PT_Ext_Form_PasswordField.timeDay',days))}
if(hours>0){time.push(_tr('PT_Ext_Form_PasswordField.timeHour',hours))}
if(minutes>0){time.push(_tr('PT_Ext_Form_PasswordField.timeMinute',minutes))}
if(seconds>0){time.push(_tr('PT_Ext_Form_PasswordField.timeSecond',seconds))}
if(time.length<=0)
time=_tr('PT_Ext_Form_PasswordField.timeLessThanOneSecond');else if(time.length==1)
time=time[0];else
time=time[0]+' '+_tr('PT_Ext_Form_PasswordField.timeAnd')+' '+time[1];return time;}});Ext.reg('passwordfield1',Ext.sm.form.PasswordField1);Ext.ns('Ext.sm.form');Ext.sm.form.PasswordField2=Ext.extend(Ext.form.TextField,{fieldLabel:_tr('PT_Ext_Form_PasswordField.repeatPassword'),inputType:'password',allowBlank:true,relatedFieldId:null,relatedField:null,validatorText:_tr('PT_Ext_Form_PasswordField.passDoNotMatch'),validator:function(value){if(this.relatedField&&this.relatedField.getValue()==value){return true;}
return this.validatorText;},initComponent:function(){Ext.sm.form.PasswordField2.superclass.initComponent.call(this);if(this.relatedFieldId&&Ext.getCmp(this.relatedFieldId)){this.relatedField=Ext.getCmp(this.relatedFieldId);}
if(this.relatedField){this.relatedField.on('keyup',function(f){if(f.getValue()){this.allowBlank=false;}else{this.allowBlank=true;}
this.validate();},this);this.relatedField.on('change',function(f){if(f.getValue()){this.allowBlank=false;}else{this.allowBlank=true;}
this.validate();},this);}},setValue:function(value){Ext.sm.form.PasswordField2.superclass.setValue.call(this,value);this.allowBlank=true;this.validate();}});Ext.reg('passwordfield2',Ext.sm.form.PasswordField2);Ext.ns('Ext.sm.form');Ext.sm.form.RadioGroup=Ext.extend(Ext.form.Field,{items:[],focusClass:'',initComponent:function(){Ext.sm.form.RadioGroup.superclass.initComponent.call(this);var items=this.items;this.items=[];for(var i=0;i<items.length;i++){var it=items[i];if(!it.events){it=Ext.ComponentMgr.create(it,'panel');}
this.items.push(it);}},setRawValue:function(value){var radios=this.items;if(0==radios.length){return;}
radios[0].smSetValue(value);},setValue:function(value){this.value=value;var radios=this.items;if(0==radios.length){return;}
for(var i=0;i<radios.length;i++){if(!radios[i].rendered){var handler=function(){this.setValue(value);};radios[i].on('render',handler,this,{single:true});return;}}
radios[0].smSetValue(value);if(this.rendered){this.validate();}},getRawValue:function(){var radios=this.items;if(0==radios.length){return null;}
for(var i=0;i<radios.length;i++){if(!radios[i].rendered){return this.value;}}
return radios[0].getGroupValue();},getValue:function(){return this.getRawValue();},validateValue:function(value){if(null==value||value.length<1){if(this.allowBlank){this.clearInvalid();return true;}else{this.markInvalid(this.blankText);return false;}}
if(typeof this.validator=="function"){var msg=this.validator(value);if(msg!==true){this.markInvalid(msg);return false;}}
return true;},task:null,onRender:function(ct,position){Ext.form.Field.superclass.onRender.call(this,ct,position);if(!this.el){var cfg={};this.el=ct.createChild(cfg,position);}
this.el.addClass('sm-form-radiogroup');for(var i=0;i<this.items.length;i++){this.items[i].on('check',function(){if(this.task){this.task.delay(100);}},this);this.items[i].render(this.el.dom);}
this.task=new Ext.util.DelayedTask(this.onChange,this);},onChange:function(){this.lastValue=this.value;this.value=this.getRawValue();this.validate();this.fireEvent('change',this,this.value,this.lastValue);},initValue:function(){this.originalValue=this.getValue();this.lastValue=this.getValue();}});Ext.reg('smradiogroup',Ext.sm.form.RadioGroup);Ext.namespace("Ext.sm");Ext.sm.TinyMCE=Ext.extend(Ext.form.Field,{defaultAutoCreate:{tag:"div",style:{overflow:"hidden"},children:[{tag:"textarea"}]},cfg:{},constructor:function(cfg){var config={tinymceSettings:{accessibility_focus:false}};Ext.apply(config,cfg);this.cfg=config;window.tinyMCEPreInit={suffix:'_src',base:config.tinyMCEbase};this.addEvents({"editorcreated":true});Ext.sm.TinyMCE.superclass.constructor.call(this,config);},onRender_:function(ct,position){var self=this;var el=this.getEl();if(Ext.type(this.width)=="number"){el.setWidth(this.width);this.tinymceSettings.width=this.width;}
if(Ext.type(this.height)=="number"){el.setHeight(this.height);this.tinymceSettings.height=this.height;}
var textarea=el.child("textarea");this.textareaEl=textarea;if(this.name)textarea.set({name:this.name});var id=textarea.id;this.ed=new tinymce.Editor(id,this.tinymceSettings);this.ed.onBeforeRenderUI.add(function(ed,controlManager){ed.controlManager=new ControlManager(this,ed);}.createDelegate(this));this.ed.onPostRender.add(function(ed,controlManager){ed.windowManager=new WindowManager(this.ed);}.createDelegate(this));this.ed.onInit.add(function(){var tbar=Ext.get(Ext.DomQuery.selectNode("#"+this.ed.id+"_tbl td.mceToolbar"));var tbars=tbar.select("> table.mceToolbar");Ext.DomHelper.append(tbar,{tag:"div",style:{overflow:"hidden"}},true).appendChild(tbars);}.createDelegate(this));this.ed.onActivate.add(this.focus.createDelegate(this,[false,false],false));this.ed.render();tinyMCE.add(this.ed);this.fireEvent("editorcreated");},onRender:function(ct,position){Ext.sm.TinyMCE.superclass.onRender.call(this,ct,position);if(typeof(eval(window)['tmceDownloaded'])=='undefined'){tmceDownloaded=false;Ext.loadScript(this.cfg.tinyMCEScriptUrl,function(){Ext.loadScript(this.cfg.tinyMCEuxScriptUrl,function(){Ext.ux.TinyMCE.initTinyMCE({language:this.tinymceSettings.language});this.onRender_(ct,position);},this);},this);tmceDownloaded=true;}else{function waitUntilDownloaded(obj){if(typeof(eval(window)['tmceDownloaded'])=='undefined'||tmceDownloaded==false||typeof(eval(window)['tmceInitialized'])=='undefined'||tmceInitialized==false){setTimeout(function(){waitUntilDownloaded(obj);},500);return;}
else{obj.onRender_(ct,position);}}
waitUntilDownloaded(this);}},getName:function(){return this.rendered&&this.textareaEl.dom.name?this.textareaEl.dom.name:(this.name||'');},initValue:function(){if(this.value!==undefined)
{this.setValue(this.value);}
else
{var textarea=this.getEl().child("textarea",true);if(textarea.value.length>0)
this.setValue(textarea.value);}},onDestroy:function(){if(this.ed)tinyMCE.remove(this.ed);Ext.sm.TinyMCE.superclass.onDestroy.call(this);},getValue:function(){if(!this.rendered||!this.ed.initialized)
return this.value;var v=this.ed.getContent();if(v===this.emptyText||v===undefined){v='';}
return v;},setValue:function(v){this.value=v;if(this.rendered)
this.withEd(function(){this.ed.undoManager.clear();this.ed.setContent(v===null||v===undefined?'':v);this.ed.startContent=this.ed.getContent({format:'raw'});this.validate();});},isDirty:function(){if(this.disabled||!this.rendered){return false;}
return this.ed.isDirty();},syncValue:function(){if(this.rendered&&this.ed.initialized)
this.ed.save();},getEd:function(){return this.ed;},onResize:function(aw,ah){if(this.rendered){this.withEd(function(){if(this.width){aw=this.width;}else if(Ext.type(aw)!="number"){aw=this.el.getWidth();}
if(this.height){ah=this.height;}else if(Ext.type(ah)!="number"){ah=this.el.getHeight();}
this.ed.theme.resizeTo(aw,ah);});}},focus:function(selectText,delay){Ext.sm.TinyMCE.superclass.focus.call(this,selectText,delay);},onFocus:function(){if(!this.hasFocus){this.hasFocus=true;this.startValue=this.getValue();this.withEd(function(){this.ed.focus();this.fireEvent("focus",this);});}},withEd:function(func){if(!this.ed)this.on("editorcreated",function(){this.withEd(func)},this);else if(this.ed.initialized)func.call(this);else this.ed.onInit.add(function(){func.defer(10,this);}.createDelegate(this));}});Ext.ComponentMgr.registerType("tinymce",Ext.sm.TinyMCE);Ext.namespace('Ext.sm.form');Ext.sm.form.TreeField=Ext.extend(Ext.form.Field,{initEvents:Ext.emptyFn,tree:null,defaultAutoCreate:{tag:'div'},multiSelect:true,allowBlank:true,emptyText:'This field is required',onRender:function(container,position){Ext.sm.form.TreeField.superclass.onRender.call(this,container,position);var treeConfig={mainObject:this,width:this.width,disabled:this.disabled};Ext.apply(this.tree,Ext.apply(this.tree.initialConfig,treeConfig));this.tree.on('beforecheckchange',function(node,checked){if(this.readOnly){return false;}},this);this.tree.on('checkchange',function(node,checked){if(checked){if(!this.multiSelect){this.uncheckAll(node.id);}}
this.validate();},this);this.tree.render(this.el);},onResize:function(width,height){this.tree.setWidth(width);if(!this.height){this.tree.setHeight(height);}},uncheckAll:function(exceptionNodeId){this.tree.getRootNode().cascade(function(){if(exceptionNodeId&&this.id==exceptionNodeId)return;if(this.attributes.checked){this.attributes.checked=false;this.checked=false;if(this.ui)this.ui.toggleCheck(false);}});},validateValue:function(value){if(!value||value.length<1){if(this.allowBlank){this.clearInvalid();return true;}else{this.markInvalid(this.emptyText);return false;}}
if(typeof this.validator=="function"){var msg=this.validator(value);if(msg!==true){this.markInvalid(msg);return false;}}
return true;},getName:function(){return this.name;},isDirty:function(){if(this.disabled){return false;}
return Ext.encode(this.getValue())!==Ext.encode(this.originalValue);},initValue:function(){this.originalValue=this.getValue();},setRawValue:function(value){if(value==''||value==null){value=[];}
if(typeof value!='object')value=[value];this.value=value;var ids={};for(var i=0;i<value.length;i++){ids[value[i]]=true;}
var root=this.tree.getRootNode();this.tree.setCheckedRecursive(root,ids);},setValue:function(value){if(typeof value!='object')value=[value];this.setRawValue(value);this.validate();},getRawValue:function(){if(!this.rendered){return this.value;}
return this.tree.getChecked('id');},getValue:function(){var value=this.getRawValue();return(!this.multiSelect&&typeof value=='object')?(0==value.length?null:value[0]):value;},valueToLabel:function(value){var label=null;this.tree.root.cascade(function(node){if(label!=null)return false;if(node.id==value){label=node.text;return false;}},this);return label?label:value;},setDisabled:function(value){Ext.sm.form.TreeField.superclass.setDisabled.call(this,value);this.tree.setDisabled(value);},enable:function(){Ext.sm.form.TreeField.superclass.enable.call(this);this.tree.enable();},disable:function(){Ext.sm.form.TreeField.superclass.disable.call(this);this.tree.disable();}});Ext.reg('treefield',Ext.sm.form.TreeField);Ext.namespace('Ext.sm.form');Ext.sm.form.TreeGridField=Ext.extend(Ext.form.Field,{initEvents:Ext.emptyFn,grid:null,defaultAutoCreate:{tag:'div'},multiSelect:true,allowBlank:true,emptyText:'This field is required',displayField:'_text',autoSelectChildren:false,smInit:function(){if(this.autoSelectChildren==true){this.grid.getSelectionModel().on('selectionchange',function(sm,selection){if(sm.isSelected(selection.record)){sm.selectRecords(this.grid.store.getNodeChildren(selection.record));}},this);}},getGrid:function(){return this.grid;},onRender:function(container,position){Ext.sm.form.ListField.superclass.onRender.call(this,container,position);Ext.apply(this.grid,Ext.apply(this.grid.initialConfig,{mainObject:this,width:this.width}));this.grid.getSelectionModel().on('selectionchange',function(sm){this.validate();},this);this.grid.render(this.el);},onResize:function(width,height){this.grid.setWidth(width);if(!this.height){this.grid.setHeight(height);}},validateValue:function(value){if(value.length<1){if(this.allowBlank){this.clearInvalid();return true;}else{this.markInvalid(this.emptyText);return false;}}
if(typeof this.validator=="function"){var msg=this.validator(value);if(msg!==true){this.markInvalid(msg);return false;}}
return true;},getName:function(){return this.name;},isDirty:function(){if(this.disabled){return false;}
return Ext.encode(this.getValue())!==Ext.encode(this.originalValue);},initValue:function(){this.originalValue=this.getValue();},setRawValue:function(value){if(typeof value!='object')value=[value];this.value=value;var data=this.grid.store.getRange();var sm=this.grid.getSelectionModel();var toSelect=[];for(var i=0;i<data.length;i++){var id=data[i].get('_key');for(v in value){if(value[v]==id){toSelect.push(i);}}}
sm.selectRows.defer(500,sm,[toSelect]);this.initValue.defer(500,this);},setValue:function(value){if(typeof value!='object')value=[value];if(!this.rendered){this.tempValue=value;this.validate();this.on('render',function(){this.setValue(value);},this,{single:true});return;}
this.tempValue=null;this.setRawValue(value);this.validate();},getRawValue:function(){if(this.tempValue){return this.tempValue;}
var value=this.grid.getSelectedRowsKeys();return value;},getValue:function(){var value=this.getRawValue();return(!this.multiSelect&&typeof value=='object')?value[0]:value;},valueToLabel:function(value){var idx=this.grid.store.findBy(function(record,id){if(record.data._key==value)return true;},this);if(idx==-1)return value;return this.grid.store.getAt(idx).data[this.displayField];}});Ext.reg('treegridfield',Ext.sm.form.TreeGridField);Ext.ns('Ext.sm.form');Ext.sm.form.Uploader=Ext.extend(Ext.form.Field,{initEvents:Ext.emptyFn,defaultAutoCreate:{tag:'div'},initComponent:function(){this._isReady=true;this.uploader.on('filequeued',this._onFileQueued,this);this.uploader.on('queueempty',this._onQueueEmpty,this);this.exposeMethods(this.uploader,['upload']);this.relayEvents(this.uploader,['queueempty','filequeued']);},exposeMethods:function(object,methods){if(Ext.type(methods)=='string'){methods=[methods];}
if(!Ext.type(methods)=='array'){return;}
for(var i=0;i<methods.length;i++){var m=methods[i];this[m]=object[m].createDelegate(object);}},_onFileQueued:function(fileUpload){this._isReady=false;},_onQueueEmpty:function(uploader){this._isReady=true;},onRender:function(container,position){Ext.sm.form.Uploader.superclass.onRender.call(this,container,position);if(this.height)
this.uploader.setHeight(this.height);if(this.width)
this.uploader.setWidth(this.width);this.uploader.render(this.el);},onResize:function(width,height){if(height)
this.uploader.setHeight(height);if(width)
this.uploader.setWidth(width);},reset:function(){this.uploader.reset();},validateValue:function(){return true;},getName:function(){return this.name;},isDirty:function(){if(this.disabled){return false;}
return Ext.encode(this.getValue())!==Ext.encode(this.originalValue);},initValue:function(){this.originalValue=this.getValue();},setRawValue:function(value){this.reset();},setValue:function(value){this.reset();},getRawValue:function(){return this.uploader.getCompleted();},getValue:function(){return this.getRawValue();},isReady:function(){return this._isReady;}});Ext.sm.form.Uploader.areUploadersReady=function(uploaders){var ready=true;Ext.each(uploaders,function(uploader){if(!uploader.isReady()){ready=false;return false;}
return true;});return ready;};Ext.sm.form.Uploader.UploadUploaders=function(uploaders,callback){if(Ext.sm.form.Uploader.areUploadersReady(uploaders))
{if(callback)
callback();return;}
Ext.each(uploaders,function(uploader){if(!uploader.isReady()){uploader.upload();}});if(callback){var timer=setInterval(function(){if(Ext.sm.form.Uploader.areUploadersReady(uploaders))
{clearInterval(timer);callback();}},500);}};Ext.reg('formuploader',Ext.sm.form.Uploader);Ext.override(Ext.grid.GridPanel,{smDicts:null,smDictsOrigRenderers:null,initComponent:Ext.grid.GridPanel.prototype.initComponent.createSequence(function(){this.smDicts={};this.smDictsOrigRenderers={};}),smGetDictionary:function(column){if(!this.smDicts[column]){this.smDicts[column]=new Ext.sm.Dictionary(column,'');}
return this.smDicts[column];},smInitDictionary:function(column,labelFieldId){this.smDicts[column]=new Ext.sm.Dictionary(column,labelFieldId);},smDictRenderColumn:function(val,cell,record,row,col,store){var column=this.getColumnModel().getColumnId(col);var dict=this.smGetDictionary(column);val=dict.getLabelForRecord(record,val);if(this.smDictsOrigRenderers[column]){var rnd=this.smDictsOrigRenderers[column];val=rnd(val,cell,record,row,col,store);}
if(val==null){val="";}
return val;},smInitDictionaries:function(){var colModel=this.getColumnModel();var columns=colModel.getColumnsBy(function(){return true;});for(var i in columns){var colObj=columns[i];if(!colObj.dataIndex)continue;if(colObj.renderer){this.smDictsOrigRenderers[colObj.dataIndex]=colObj.renderer;}
var grid=this;colObj.renderer=function(val,cell,record,row,col,store){return grid.smDictRenderColumn(val,cell,record,row,col,store);}}}});Ext.override(Ext.grid.GridPanel,{getSelectedRowsData:function(){var sm=this.getSelectionModel();if(sm.selections){var items=[];for(i=0;i<sm.selections.items.length;i++){items.push(sm.selections.items[i].data);}
return items;}
else if(sm.selection){items=[sm.selection.record.data];return items;}
return[];},getSelectedRowsKeys:function(){var sm=this.getSelectionModel();if(sm.selections){var items=[];for(i=0;i<sm.selections.items.length;i++){items.push(sm.selections.items[i].data._key);}
return items;}
else if(sm.selection){items=[sm.selection.record.data._key];return items;}
return[];},selectKeys:function(keys){var sm=this.getSelectionModel();var records=[];for(var i=0,l=keys.length;i<l;i++){records.push(this.store.getByKey(keys[i]));}
sm.selectRecords(records);return records;},getSelectedRowsCount:function(){var sm=this.getSelectionModel();if(sm.selections){return sm.selections.items.length;}
else if(sm.selection){return 1;}
return 0;},updateSmartButtons:function(buttons){var selData=this.getSelectedRowsData();if(selData.length<1){for(b=0;b<buttons.length;b++){buttons[b].button.disable();}
return;}
for(b=0;b<buttons.length;b++){buttons[b].enable=true;}
for(i=0;i<selData.length;i++){var row=selData[i];if(!row._rperms&&row._key!=undefined){continue;}
for(b=0;b<buttons.length;b++){var btnData=buttons[b];if(row._key==undefined){buttons[b].enable=false;continue;}
if(row._rperms[btnData.operation]==undefined){if(row._rperms['*']!=undefined){buttons[b].enable=row._rperms['*'];}
continue;}
if(!row._rperms[btnData.operation]){buttons[b].enable=false;}}}
for(b=0;b<buttons.length;b++){if(buttons[b].enable){buttons[b].button.enable();}else{buttons[b].button.disable();}}},processOperation:function(validatorUrl,handler){var items=this.getSelectedRowsData();if(items.length<1)return;var keys=[];for(i=0;i<items.length;i++){var data=items[i];if(data._key==undefined){alert('Wykonanie operacji nie jest możliwe, ponieważ niektóre pozycje nie posiadają klucza.');return;}
keys.push(data._key);}
if(validatorUrl&&validatorUrl!=''){var grid=this;Ext.Ajax.request({waitMsg:'Zapisywanie zmian ...',url:validatorUrl,method:'POST',params:{keys:Ext.util.JSON.encode(keys)},success:function(response,options){var responseData=Ext.util.JSON.decode(response.responseText);if(responseData.success==false){Ext.MessageBox.alert('Błąd',responseData.errorMsg);}else{handler(keys);}}});}else{handler(keys);}},changeFilterParams:function(filter,silent){var store=this.getStore();if(!store.baseParams){store.baseParams={};}
store.baseParams.filter=Ext.util.JSON.encode(filter);if(!silent){opt={'start':store.pageSize?0:-1,'limit':store.pageSize?store.pageSize:-1};store.load({params:opt});}},canEditField:function(data,field){if(data._fperms==undefined||data._fperms[field]==undefined){return true;}
if(data._fperms[field]<2){return false;}
return true;},getColumnsIds:function(hidden){var cols=[];this.getColumnModel().getColumnsBy(function(columnConfig,index){if(undefined===hidden||(true===hidden&&this.isHidden(index))||(false===hidden&&!this.isHidden(index))){cols.push(columnConfig.id);}});return cols;},getFilter:function(json){filter=this.store.baseParams.filter||'{}';if(json){return filter;}else{return Ext.decode(filter);}},getSorting:function(){if(!this.store.getSortState()||!this.store.getSortState().field||''==this.store.getSortState().field){return'';}
return('DESC'==this.store.getSortState().direction)?'!':''+this.store.getSortState().field;},updateEntity:function(data){var store=this.getStore();var grid=this;store.updateEntity(data,function(ids){if(data.remote){Ext.each(ids,function(key){grid.highlightRow(key,'8888ff');},grid);}},function(key){if(data.remote){grid.highlightRow(key,'ff8888',function(record){store.remove(record);});}else{store.remove(store.getByKey(key));}});},highlightRow:function(key,color,callback){var store=this.getStore();var record=store.getByKey(key);if(record){if(this.rendered){var idx=store.indexOf(record);var row=this.getView().getRow(idx);var rowEl=new Ext.Element(row);rowEl.highlight(color,{duration:5,easing:'easeIn',callback:function(){if(callback){callback(record);}}});}else if(callback){callback(record);}}}});Ext.apply(Ext.grid.EditorGridPanel.prototype,{smRequestExtraParams:{},autoSave:true,initComponent_forEventRegister:Ext.grid.EditorGridPanel.prototype.initComponent,initComponent:function(){this.initComponent_forEventRegister();this.addEvents('beforesaveRecordOnServer','aftersaveRecordOnServer');this.getView().on('refresh',function(view){view.grid.getStore().each(function(record){this.recordReadyToSave(record)},this);},this);this.on('afterrender',function(){this.getStore().each(function(record){this.recordReadyToSave(record)},this);},this);},markCellInvalid:function(key,rowIdx,message){var colIdx=this.getColumnModel().getIndexById(key);var c=this.getView().getCell(rowIdx,colIdx);var el=Ext.get(c);el.removeClass('x-grid3-dirty-cell');el.addClass('x-grid-invalid');Ext.QuickTips.getQuickTip().register({target:el.child('div',true),text:message,cls:'x-form-invalid-tip'});this.on('beforeedit',function(o){var c=this.getView().getCell(o.row,o.column);var el=Ext.get(c);if(el.hasClass('x-grid-invalid')){el.removeClass('x-grid-invalid');Ext.QuickTips.getQuickTip().unregister(el.child('div',true));}});},setRequiredFields:function(requiredFields){this.requiredFields=requiredFields;},recordReadyToSave:function(record){var requiredFields=this.requiredFields;var rowIdx=this.getStore().indexOf(record);if(!this.getView().getRow(rowIdx)){this.recordReadyToSave.defer(200,this,arguments);return true;}
var data=record.data;var result=true;for(i=0;i<requiredFields.length;i++){if(!data[requiredFields[i]]||"0"==data[requiredFields[i]]){this.markCellInvalid(requiredFields[i],rowIdx,'Pole jest wymagane');result=false;}}
if(!result)return false;if(this.validate){return this.validate(record,rowIdx);}
return true;},setSaveRecordUrl:function(url){this.saveRecordUrl=url;},saveModifiedRecordsOnServer:function(showLoadMask){var records=this.store.getModifiedRecords();return this.saveRecordsOnServer(records,showLoadMask);},saveRecordsOnServer:function(records,showLoadMask){Ext.each(records,function(record){if(!this.recordReadyToSave(record)){if(!this.autoSave){alert('Nie wszystkie elementy są gotowe do zapisu na serwerze.');}
return;}},this);this.fireEvent('beforesaveRecordOnServer');this.saveHandler(records,showLoadMask);},saveRecordOnServer:function(record,modifiedFields,showLoadMask){return this.saveRecordsOnServer([record],showLoadMask);if(!this.recordReadyToSave(record)){return false;}
var store=this.getStore();var grid=this;var savedRecord=record;var rowId=store.indexOf(record);var modFields=modifiedFields;var params={data:Ext.util.JSON.encode(record.data),modifiedFields:Ext.util.JSON.encode(modifiedFields)};Ext.applyIf(params,this.smRequestExtraParams);this.fireEvent('beforesaveRecordOnServer');this.saveHandler(params,record,modifiedFields,showLoadMask);},deleteRecordOnServer:function(params){var items=this.getSelectedRowsData();if(items.length<1)return;var keys=[];for(i=0;i<items.length;i++){var data=items[i];if(data._key==undefined){alert('Nie można usunąć elementów, ponieważ niektóre nie posiadają klucza.');return;}
if(data._is_leaf!=undefined&&!data._is_leaf){alert('Nie można usunąć elementów, ponieważ niektóre posiadają elementy podrzędne.');return;}
keys.push(data._key);}
params=params||{};params.keys=Ext.util.JSON.encode(keys);this.deleteHandler(params);},updateRecord:function(record,response,newRecord,success,errorData){var showLoadMask=false;var grid=this;var store=grid.getStore();var rowId=store.indexOf(record);this.fireEvent('aftersaveRecordOnServer',success);if(success==false){if(typeof(errorData.errorMsg)=='object'){var messages=errorData.errorMsg;for(var key in messages){grid.markCellInvalid(key,rowId,messages[key]);}}else{if(errorData.errorType=='outdated'){Ext.sm.data.VersionControl.alert(errorData.mtime,errorData.muserName,function(action){if(action=='loadnew'){record.data=errorData.currentRecord;if(record.commit){record.commit();}
grid.fireEvent('remoteupdated');}
if(action=='overwrite'){record.data._vcforcesave=true;grid.saveRecordsOnServer([record],showLoadMask);}});}else if(errorData.errorType=='badversion'){Ext.sm.data.VersionControl.badVersionAlert();}else{Ext.MessageBox.alert('Błąd',errorData.errorMsg);}}}else{record.data=response;record.data._vcforcesave=false;if(record.commit){record.commit();}
if(!record.store&&newRecord){if(!grid.entityUpdaterBinded||!record.data._entityId){store.insert(0,record);}
if(record.data._entityId){Ext.sm.EntityUpdater.update(record.data._entityId,{added:[record.data]});}}else{if(record.data._entityId){Ext.sm.EntityUpdater.update(record.data._entityId,{modified:[record.data]});}}
grid.fireEvent('remoteupdated');}},processRemoteEdit:function(url,record,modifiedFields,requiredFields,showLoadMask){var recordValid=this.recordReadyToSave(record);if(!recordValid){return;}
var store=this.getStore();var grid=this;var savedRecord=record;if(grid.loadMask&&showLoadMask)grid.loadMask.show();Ext.Ajax.request({waitMsg:'Zapisywanie zmian ...',url:url,method:'POST',params:{data:Ext.util.JSON.encode(record.data),modifiedFields:Ext.util.JSON.encode(modifiedFields)},failure:function(response,options){if(grid.loadMask)grid.loadMask.hide();store.reload();},success:function(response,options){if(grid.loadMask)grid.loadMask.hide();var responseData=Ext.util.JSON.decode(response.responseText);if(responseData.success==false){Ext.MessageBox.alert('Błąd',responseData.errorMsg);store.commitChanges();store.reload();}else{record.data=responseData.storedData;savedRecord.commit();grid.fireEvent('remoteupdated');}}});},deleteRecords:function(keys,error,errorMsg){error=error||false;errorMsg='Usuwanie wybranych rekordów się nie powiodło!';if(true==error){Ext.MessageBox.alert('Błąd',errorMsg);return;}
var store=this.getStore();if(keys&&keys.length>0){if(this._entityId){Ext.sm.EntityUpdater.update(this._entityId,{deleted:keys});}else{var record=store.getByKey(keys[0]);if(record&&record.data._entityId){Ext.sm.EntityUpdater.update(record.data._entityId,{deleted:keys});}else{Ext.each(keys,function(key){var r=store.getByKey(key);if(r){store.remove(r);}},this);}}}},processRemoteDelete:function(url){var items=this.getSelectedRowsData();if(items.length<1)return;var keys=[];for(i=0;i<items.length;i++){var data=items[i];if(data._key==undefined){alert('Nie można usunąć elementów, ponieważ niektóre nie posiadają klucza.');return;}
if(data._is_leaf!=undefined&&!data._is_leaf){alert('Nie można usunąć elementów, ponieważ niektóre posiadają elementy podrzędne.');return;}
keys.push(data._key);}
var store=this.getStore();var grid=this;var params={keys:Ext.util.JSON.encode(keys)};Ext.applyIf(params,this.smRequestExtraParams);Ext.Ajax.request({waitMsg:'Zapisywanie zmian ...',url:url,params:params,callback:function(options,success,response){var failed=true;if(success){var resp=Ext.util.JSON.decode(response.responseText);if(resp.result){failed=false;}}
if(failed){Ext.MessageBox.alert('Ostrzeżenie','Usuwanie zakończyło się niepowodzeniem.');}},failure:function(response,options){Ext.MessageBox.alert('Ostrzeżenie','Usuwanie zakończyło się niepowodzeniem.');},success:function(response,options){if(keys&&keys.length>0){var record=store.getByKey(keys[0]);if(record&&record.data._entityId){Ext.sm.EntityUpdater.update(record.data._entityId,{deleted:keys});}}}});},addRecord:function(record){this.stopEditing();var st=this.getStore();st.insert(0,record);this.startEditing(0,0);}});Ext.override(Ext.grid.PropertyGrid,{setSmExtendedData:function(data){this.smExtendedData=data;},canEditField:function(data,field){if(this.smExtendedData==undefined||this.smExtendedData._fperms==undefined||this.smExtendedData._l2f==undefined){return true;}
if(this.smExtendedData._l2f[data.name]==undefined){return true;}
var f=this.smExtendedData._l2f[data.name];if(this.smExtendedData._fperms[f]==undefined){return true;}
if(this.smExtendedData._fperms[f]<2){return false;}
return true;},convertSourceToData:function(src){var l2f=this.smExtendedData._l2f;var data=this.smExtendedData;for(label in src){var field=l2f[label];data[field]=src[label];}
return data;},convertDataToSource:function(data){var source={};var l2f=this.smExtendedData._l2f;for(label in l2f){source[label]=data[l2f[label]];}
return source;},processRemoteEdit:function(url,source,modifiedFields,requiredFields){var toprint={record:source,mod:modifiedFields,reqf:requiredFields};var data=this.convertSourceToData(source);for(mfi in modifiedFields){modifiedFields[mfi]=this.smExtendedData._l2f[modifiedFields[mfi]];}
var recordValid=true;if(!recordValid){return;}
var store=this.getStore();var grid=this;Ext.Ajax.request({waitMsg:'Zapisywanie zmian ...',url:url,method:'POST',params:{data:Ext.util.JSON.encode(data),modifiedFields:Ext.util.JSON.encode(modifiedFields)},failure:function(response,options){store.reload();},success:function(response,options){var responseData=Ext.util.JSON.decode(response.responseText);if(responseData.success==false){Ext.MessageBox.alert('Błąd',responseData.errorMsg);}else{var rdata=responseData.storedData;var source=grid.convertDataToSource(rdata);grid.setSource(source);grid.fireEvent('remoteupdated');}}});}});if(Ext.version=='3.0'){Ext.override(Ext.grid.GridView,{ensureVisible:function(row,col,hscroll){var resolved=this.resolveCell(row,col,hscroll);if(!resolved||!resolved.row){return;}
var rowEl=resolved.row,cellEl=resolved.cell,c=this.scroller.dom,ctop=0,p=rowEl,stop=this.el.dom;var p=rowEl,stop=this.el.dom;while(p&&p!=stop){ctop+=p.offsetTop;p=p.offsetParent;}
ctop-=this.mainHd.dom.offsetHeight;var cbot=ctop+rowEl.offsetHeight;var ch=c.clientHeight;var stop=parseInt(c.scrollTop,10);var sbot=stop+ch;if(ctop<stop){c.scrollTop=ctop;}else if(cbot>sbot){c.scrollTop=cbot-ch;}
if(hscroll!==false){var cleft=parseInt(cellEl.offsetLeft,10);var cright=cleft+cellEl.offsetWidth;var sleft=parseInt(c.scrollLeft,10);var sright=sleft+c.clientWidth;if(cleft<sleft){c.scrollLeft=cleft;}else if(cright>sright){c.scrollLeft=cright-c.clientWidth;}}
return this.getResolvedXY(resolved);}});}
Ext.namespace('Ext.ux.maximgb.tg');Ext.ux.maximgb.tg.AbstractTreeStore=Ext.extend(Ext.data.Store,{leaf_field_name:'_is_leaf',page_offset:0,active_node:null,constructor:function(config)
{Ext.ux.maximgb.tg.AbstractTreeStore.superclass.constructor.call(this,config);if(!this.paramNames.active_node){this.paramNames.active_node='anode';}
this.addEvents('beforeexpandnode','expandnode','expandnodefailed','beforecollapsenode','collapsenode','beforeactivenodechange','activenodechange');},remove:function(record)
{if(record===this.active_node){this.setActiveNode(null);}
this.removeNodeDescendants(record);Ext.ux.maximgb.tg.AbstractTreeStore.superclass.remove.call(this,record);},removeNodeDescendants:function(rc)
{var i,len,children=this.getNodeChildren(rc);for(i=0,len=children.length;i<len;i++){this.remove(children[i]);}},load:function(options)
{if(options){if(options.params){if(options.params[this.paramNames.active_node]===undefined){options.params[this.paramNames.active_node]=this.active_node?this.active_node.id:null;}}
else{options.params={};options.params[this.paramNames.active_node]=this.active_node?this.active_node.id:null;}}
else{options={params:{}};options.params[this.paramNames.active_node]=this.active_node?this.active_node.id:null;}
if(options.params[this.paramNames.active_node]!==null){options.add=true;}
return Ext.ux.maximgb.tg.AbstractTreeStore.superclass.load.call(this,options);},loadRecords:function(o,options,success)
{if(!o||success===false){if(success!==false){this.fireEvent("load",this,[],options);}
if(options.callback){options.callback.call(options.scope||this,[],options,false);}
return;}
var r=o.records,t=o.totalRecords||r.length,page_offset=this.getPageOffsetFromOptions(options),loaded_node_id=this.getLoadedNodeIdFromOptions(options),loaded_node,i,len,record,idx,updated,self=this;if(!options||options.add!==true){if(this.pruneModifiedRecords){this.modified=[];}
for(var i=0,len=r.length;i<len;i++){r[i].join(this);}
if(this.snapshot){this.data=this.snapshot;delete this.snapshot;}
this.data.clear();this.data.addAll(r);this.page_offset=page_offset;this.totalLength=t;this.applySort();this.fireEvent("datachanged",this);}
else{if(loaded_node_id){loaded_node=this.getById(loaded_node_id);}
if(loaded_node){this.setNodeChildrenOffset(loaded_node,page_offset);this.setNodeChildrenTotalCount(loaded_node,Math.max(t,r.length));this.removeNodeDescendants(loaded_node);}
this.suspendEvents();updated={};for(i=0,len=r.length;i<len;i++){record=r[i];idx=this.indexOfId(record.id);if(idx==-1){updated[record.id]=false;}
else{updated[record.id]=true;this.setNodeExpanded(record,this.isExpandedNode(this.getAt(idx)));}
this.add(record);}
this.applySort();this.resumeEvents();r.sort(function(r1,r2){var idx1=self.data.indexOf(r1),idx2=self.data.indexOf(r2),r;if(idx1>idx2){r=1;}
else{r=-1;}
return r;});for(i=0,len=r.length;i<len;i++){record=r[i];if(updated[record.id]==true){this.fireEvent('update',this,record,Ext.data.Record.COMMIT);}
else{this.fireEvent("add",this,[record],this.data.indexOf(record));}}}
this.fireEvent("load",this,r,options);if(options.callback){options.callback.call(options.scope||this,r,options,true);}},applySort:function()
{if(this.sortInfo&&!this.remoteSort){var s=this.sortInfo,f=s.field;this.sortData(f,s.direction);}
else{this.applyTreeSort();}},sortData:function(f,direction)
{direction=direction||'ASC';var st=this.fields.get(f).sortType;var fn=function(r1,r2){var v1=st(r1.data[f]),v2=st(r2.data[f]);return v1>v2?1:(v1<v2?-1:0);};this.data.sort(direction,fn);if(this.snapshot&&this.snapshot!=this.data){this.snapshot.sort(direction,fn);}
this.applyTreeSort();},applyTreeSort:function()
{var i,len,temp,rec,records=[],roots=this.getRootNodes();for(i=0,len=roots.length;i<len;i++){rec=roots[i];records.push(rec);this.collectNodeChildrenTreeSorted(records,rec);}
if(records.length>0){this.data.clear();this.data.addAll(records);}
if(this.snapshot&&this.snapshot!==this.data){temp=this.data;this.data=this.snapshot;this.snapshot=null;this.applyTreeSort();this.snapshot=this.data;this.data=temp;}},collectNodeChildrenTreeSorted:function(records,rec)
{var i,len,child,children=this.getNodeChildren(rec);for(i=0,len=children.length;i<len;i++){child=children[i];records.push(child);this.collectNodeChildrenTreeSorted(records,child);}},getActiveNode:function()
{return this.active_node;},setActiveNode:function(rc)
{if(this.active_node!==rc){if(rc){if(this.data.indexOf(rc)!=-1){if(this.fireEvent('beforeactivenodechange',this,this.active_node,rc)!==false){this.active_node=rc;this.fireEvent('activenodechange',this,this.active_node,rc);}}
else{throw"Given record is not from the store.";}}
else{if(this.fireEvent('beforeactivenodechange',this,this.active_node,rc)!==false){this.active_node=rc;this.fireEvent('activenodechange',this,this.active_node,rc);}}}},isExpandedNode:function(rc)
{return rc.ux_maximgb_tg_expanded===true;},setNodeExpanded:function(rc,value)
{rc.ux_maximgb_tg_expanded=value;},isVisibleNode:function(rc)
{var i,len,ancestors=this.getNodeAncestors(rc),result=true;for(i=0,len=ancestors.length;i<len;i++){result=result&&this.isExpandedNode(ancestors[i]);if(!result){break;}}
return result;},isLeafNode:function(rc)
{return rc.get(this.leaf_field_name)==true;},isLoadedNode:function(rc)
{var result;if(rc.ux_maximgb_tg_loaded!==undefined){result=rc.ux_maximgb_tg_loaded;}
else if(this.isLeafNode(rc)||this.hasChildNodes(rc)){result=true;}
else{result=false;}
return result;},setNodeLoaded:function(rc,value)
{rc.ux_maximgb_tg_loaded=value;},getNodeChildrenOffset:function(rc)
{return rc.ux_maximgb_tg_offset||0;},setNodeChildrenOffset:function(rc,value)
{rc.ux_maximgb_tg_offset=value;},getNodeChildrenTotalCount:function(rc)
{return rc.ux_maximgb_tg_total||0;},setNodeChildrenTotalCount:function(rc,value)
{rc.ux_maximgb_tg_total=value;},collapseNode:function(rc)
{if(this.isExpandedNode(rc)&&this.fireEvent('beforecollapsenode',this,rc)!==false){this.setNodeExpanded(rc,false);this.fireEvent('collapsenode',this,rc);}},expandNode:function(rc)
{var params;if(!this.isExpandedNode(rc)&&this.fireEvent('beforeexpandnode',this,rc)!==false){if(this.isLoadedNode(rc)){this.setNodeExpanded(rc,true);this.fireEvent('expandnode',this,rc);}
else{params={};params[this.paramNames.active_node]=rc.id;this.load({add:true,params:params,callback:this.expandNodeCallback,scope:this});}}},expandNodeCallback:function(r,options,success)
{var rc=this.getById(options.params[this.paramNames.active_node]);if(success&&rc){this.setNodeLoaded(rc,true);this.setNodeExpanded(rc,true);this.fireEvent('expandnode',this,rc);}
else{this.fireEvent('expandnodefailed',this,options.params[this.paramNames.active_node],rc);}},expandAll:function()
{var r,i,len,records=this.data.getRange();this.suspendEvents();for(i=0,len=records.length;i<len;i++){r=records[i];if(!this.isExpandedNode(r)){this.expandNode(r);}}
this.resumeEvents();this.fireEvent('datachanged',this);},collapseAll:function()
{var r,i,len,records=this.data.getRange();this.suspendEvents();for(i=0,len=records.length;i<len;i++){r=records[i];if(this.isExpandedNode(r)){this.collapseNode(r);}}
this.resumeEvents();this.fireEvent('datachanged',this);},getLoadedNodeIdFromOptions:function(options)
{var result=null;if(options&&options.params&&options.params[this.paramNames.active_node]){result=options.params[this.paramNames.active_node];}
return result;},getPageOffsetFromOptions:function(options)
{var result=0;if(options&&options.params&&options.params[this.paramNames.start]){result=parseInt(options.params[this.paramNames.start],10);if(isNaN(result)){result=0;}}
return result;},hasNextSiblingNode:function(rc)
{return this.getNodeNextSibling(rc)!==null;},hasPrevSiblingNode:function(rc)
{return this.getNodePrevSibling(rc)!==null;},hasChildNodes:function(rc)
{return this.getNodeChildrenCount(rc)>0;},getNodeAncestors:function(rc)
{var ancestors=[],parent;parent=this.getNodeParent(rc);while(parent){ancestors.push(parent);parent=this.getNodeParent(parent);}
return ancestors;},getNodeChildrenCount:function(rc)
{return this.getNodeChildren(rc).length;},getNodeNextSibling:function(rc)
{var siblings,parent,index,result=null;parent=this.getNodeParent(rc);if(parent){siblings=this.getNodeChildren(parent);}
else{siblings=this.getRootNodes();}
index=siblings.indexOf(rc);if(index<siblings.length-1){result=siblings[index+1];}
return result;},getNodePrevSibling:function(rc)
{var siblings,parent,index,result=null;parent=this.getNodeParent(rc);if(parent){siblings=this.getNodeChildren(parent);}
else{siblings=this.getRootNodes();}
index=siblings.indexOf(rc);if(index>0){result=siblings[index-1];}
return result;},getRootNodes:function()
{throw'Abstract method call';},getNodeDepth:function(rc)
{throw'Abstract method call';},getNodeParent:function(rc)
{throw'Abstract method call';},getNodeChildren:function(rc)
{throw'Abstract method call';},addToNode:function(parent,child)
{throw'Abstract method call';},removeFromNode:function(parent,child)
{throw'Abstract method call';},getPageOffset:function()
{return this.page_offset;},getActiveNodePageOffset:function()
{var result;if(this.active_node){result=this.getNodeChildrenOffset(this.active_node);}
else{result=this.getPageOffset();}
return result;},getActiveNodeCount:function()
{var result;if(this.active_node){result=this.getNodeChildrenCount(this.active_node);}
else{result=this.getRootNodes().length;}
return result;},getActiveNodeTotalCount:function()
{var result;if(this.active_node){result=this.getNodeChildrenTotalCount(this.active_node);}
else{result=this.getTotalCount();}
return result;}});Ext.ux.maximgb.tg.AdjacencyListStore=Ext.extend(Ext.ux.maximgb.tg.AbstractTreeStore,{parent_id_field_name:'_parent',getRootNodes:function()
{var i,len,result=[],records=this.data.getRange();for(i=0,len=records.length;i<len;i++){var parent=records[i].get(this.parent_id_field_name);if(parent==null||parent==''||parent==undefined||(!this.useStringKeys&&parent=='0')){result.push(records[i]);}}
return result;},getNodeDepth:function(rc)
{return this.getNodeAncestors(rc).length;},getNodeParent:function(rc)
{var data=this.getRange();var parentKey=rc.get(this.parent_id_field_name);if(parentKey==null||parentKey==undefined){return undefined;}
var parent=undefined;for(var i=0;i<data.length;i++){if(data[i].data['tr_id']!=undefined){_key=data[i].data.tr_id;}else{_key=data[i].data._key;}
if(_key==parentKey){parent=data[i];break;}}
return parent;},getNodeChildren:function(rc)
{var i,len,result=[],records=this.data.getRange();if(((rc.data['tr_id']==undefined)||(rc.data['tr_id']==null))&&((rc.data._key==null)||(rc.data._key==undefined))){return[];}
for(i=0,len=records.length;i<len;i++){if(rc.data['tr_id']!=undefined){_key=rc.data.tr_id;}else{_key=rc.data._key;}
if((records[i].get(this.parent_id_field_name)==_key)&&(_key!=null)&&(_key!=undefined)){result.push(records[i]);}}
return result;},addToNode:function(parent,child)
{child.set(this.parent_id_field_name,parent.id);this.addSorted(child);},removeFromNode:function(parent,child)
{this.remove(child);}});Ext.reg('Ext.ux.maximgb.tg.AdjacencyListStore',Ext.ux.maximgb.tg.AdjacencyListStore);Ext.ux.maximgb.tg.NestedSetStore=Ext.extend(Ext.ux.maximgb.tg.AbstractTreeStore,{left_field_name:'_lft',right_field_name:'_rgt',level_field_name:'_level',root_node_level:1,getRootNodes:function()
{var i,len,result=[],records=this.data.getRange();for(i=0,len=records.length;i<len;i++){if(records[i].get(this.level_field_name)==this.root_node_level){result.push(records[i]);}}
return result;},getNodeDepth:function(rc)
{return rc.get(this.level_field_name)-this.root_node_level;},getNodeParent:function(rc)
{var result=null,rec,records=this.data.getRange(),i,len,lft,r_lft,rgt,r_rgt,level,r_level;lft=rc.get(this.left_field_name);rgt=rc.get(this.right_field_name);level=rc.get(this.level_field_name);for(i=0,len=records.length;i<len;i++){rec=records[i];r_lft=rec.get(this.left_field_name);r_rgt=rec.get(this.right_field_name);r_level=rec.get(this.level_field_name);if(r_level==level-1&&r_lft<lft&&r_rgt>rgt){result=rec;break;}}
return result;},getNodeChildren:function(rc)
{var lft,r_lft,rgt,r_rgt,level,r_level,records,rec,result=[];records=this.data.getRange();lft=rc.get(this.left_field_name);rgt=rc.get(this.right_field_name);level=rc.get(this.level_field_name);for(i=0,len=records.length;i<len;i++){rec=records[i];r_lft=rec.get(this.left_field_name);r_rgt=rec.get(this.right_field_name);r_level=rec.get(this.level_field_name);if(r_level==level+1&&r_lft>lft&&r_rgt<rgt){result.push(rec);}}
return result;}});Ext.ux.maximgb.tg.GridView=Ext.extend(Ext.grid.GridView,{expanded_icon_class:'ux-maximgb-tg-elbow-minus',last_expanded_icon_class:'ux-maximgb-tg-elbow-end-minus',collapsed_icon_class:'ux-maximgb-tg-elbow-plus',last_collapsed_icon_class:'ux-maximgb-tg-elbow-end-plus',skip_width_update_class:'ux-maximgb-tg-skip-width-update',initTemplates:function()
{var ts=this.templates||{};if(!ts.row){ts.row=new Ext.Template('<div class="x-grid3-row ux-maximgb-tg-level-{level} {alt}" style="{tstyle} {display_style}">','<table class="x-grid3-row-table" border="0" cellspacing="0" cellpadding="0" style="{tstyle}">','<tbody>','<tr>{cells}</tr>',(this.enableRowBody?'<tr class="x-grid3-row-body-tr" style="{bodyStyle}">'+'<td colspan="{cols}" class="x-grid3-body-cell" tabIndex="0" hidefocus="on">'+'<div class="x-grid3-row-body">{body}</div>'+'</td>'+'</tr>':''),'</tbody>','</table>','</div>');}
if(!ts.mastercell){ts.mastercell=new Ext.Template('<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} {css}" style="{style}" tabIndex="0" {cellAttr}>','<div class="ux-maximgb-tg-mastercell-wrap">','{treeui}','<div class="x-grid3-cell-inner x-grid3-col-{id}" unselectable="on" {attr}>{value}</div>','</div>','</td>');}
if(!ts.treeui){ts.treeui=new Ext.Template('<div class="ux-maximgb-tg-uiwrap" style="width: {wrap_width}px">','{elbow_line}','<div style="left: {left}px" class="{cls}">&#160;</div>','</div>');}
if(!ts.elbow_line){ts.elbow_line=new Ext.Template('<div style="left: {left}px" class="{cls}">&#160;</div>');}
this.templates=ts;Ext.ux.maximgb.tg.GridView.superclass.initTemplates.call(this);},doRender:function(cs,rs,ds,startRow,colCount,stripe)
{var ts=this.templates,ct=ts.cell,rt=ts.row,last=colCount-1;var tstyle='width:'+this.getTotalWidth()+';';var buf=[],cb,c,p={},rp={tstyle:tstyle},r;for(var j=0,len=rs.length;j<len;j++){r=rs[j];cb=[];var rowIndex=(j+startRow);var row_render_res=this.renderRow(r,rowIndex,colCount,ds,this.cm.getTotalWidth());if(row_render_res===false){for(var i=0;i<colCount;i++){c=cs[i];p.id=c.id;p.css=i==0?'x-grid3-cell-first ':(i==last?'x-grid3-cell-last ':'');p.attr=p.cellAttr="";p.value=c.renderer(r.data[c.name],p,r,rowIndex,i,ds);p.style=c.style;if(Ext.isEmpty(p.value)){p.value="&#160;";}
if(this.markDirty&&r.dirty&&typeof r.modified[c.name]!=='undefined'){p.css+=' x-grid3-dirty-cell';}
if(c.id==this.grid.master_column_id){p.treeui=this.renderCellTreeUI(r,ds);ct=ts.mastercell;}
else{ct=ts.cell;}
cb[cb.length]=ct.apply(p);}}
else{cb.push(row_render_res);}
var alt=[];if(stripe&&((rowIndex+1)%2==0)){alt[0]="x-grid3-row-alt";}
if(r.dirty){alt[1]=" x-grid3-dirty-row";}
rp.cols=colCount;if(this.getRowClass){alt[2]=this.getRowClass(r,rowIndex,rp,ds);}
rp.alt=alt.join(" ");rp.cells=cb.join("");if(!ds.isVisibleNode(r)){rp.display_style='display: none;';}
else{rp.display_style='';}
rp.level=ds.getNodeDepth(r);buf[buf.length]=rt.apply(rp);}
return buf.join("");},renderCellTreeUI:function(record,store)
{var tpl=this.templates.treeui,line_tpl=this.templates.elbow_line,tpl_data={},rec,parent,depth=level=store.getNodeDepth(record);tpl_data.wrap_width=(depth+1)*16;if(level>0){tpl_data.elbow_line='';rec=record;left=0;while(level--){parent=store.getNodeParent(rec);if(parent){if(store.hasNextSiblingNode(parent)){tpl_data.elbow_line=line_tpl.apply({left:level*16,cls:'ux-maximgb-tg-elbow-line'})+
tpl_data.elbow_line;}
else{tpl_data.elbow_line=line_tpl.apply({left:level*16,cls:'ux-maximgb-tg-elbow-empty'})+
tpl_data.elbow_line;}}
else{throw["Tree inconsistency can't get level ",level+1," node(id=",rec.id,") parent."].join("");}
rec=parent;}}
if(store.isLeafNode(record)){if(store.hasNextSiblingNode(record)){tpl_data.cls='ux-maximgb-tg-elbow';}
else{tpl_data.cls='ux-maximgb-tg-elbow-end';}}
else{tpl_data.cls='ux-maximgb-tg-elbow-active ';if(store.isExpandedNode(record)){if(store.hasNextSiblingNode(record)){tpl_data.cls+=this.expanded_icon_class;}
else{tpl_data.cls+=this.last_expanded_icon_class;}}
else{if(store.hasNextSiblingNode(record)){tpl_data.cls+=this.collapsed_icon_class;}
else{tpl_data.cls+=this.last_collapsed_icon_class;}}}
tpl_data.left=1+depth*16;return tpl.apply(tpl_data);},renderRow:function(record,index,col_count,ds,total_width)
{return false;},afterRender:function()
{Ext.ux.maximgb.tg.GridView.superclass.afterRender.call(this);this.updateAllColumnWidths();},updateAllColumnWidths:function()
{var tw=this.getTotalWidth(),clen=this.cm.getColumnCount(),ws=[],len,i;for(i=0;i<clen;i++){ws[i]=this.getColumnWidth(i);}
this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=tw;this.mainBody.dom.style.width=tw;for(i=0;i<clen;i++){var hd=this.getHeaderCell(i);hd.style.width=ws[i];}
var ns=this.getRows(),row,trow;for(i=0,len=ns.length;i<len;i++){row=ns[i];row.style.width=tw;if(row.firstChild){row.firstChild.style.width=tw;trow=row.firstChild.rows[0];for(var j=0;j<clen&&j<trow.childNodes.length;j++){if(!Ext.fly(trow.childNodes[j]).hasClass(this.skip_width_update_class)){trow.childNodes[j].style.width=ws[j];}}}}
this.onAllColumnWidthsUpdated(ws,tw);},updateColumnWidth:function(col,width)
{var w=this.getColumnWidth(col);var tw=this.getTotalWidth();this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=tw;this.mainBody.dom.style.width=tw;var hd=this.getHeaderCell(col);hd.style.width=w;var ns=this.getRows(),row;for(var i=0,len=ns.length;i<len;i++){row=ns[i];row.style.width=tw;if(row.firstChild){row.firstChild.style.width=tw;if(col<row.firstChild.rows[0].childNodes.length){if(!Ext.fly(row.firstChild.rows[0].childNodes[col]).hasClass(this.skip_width_update_class)){row.firstChild.rows[0].childNodes[col].style.width=w;}}}}
this.onColumnWidthUpdated(col,w,tw);},updateColumnHidden:function(col,hidden)
{var tw=this.getTotalWidth();this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=tw;this.mainBody.dom.style.width=tw;var display=hidden?'none':'';var hd=this.getHeaderCell(col);hd.style.display=display;var ns=this.getRows(),row,cell;for(var i=0,len=ns.length;i<len;i++){row=ns[i];row.style.width=tw;if(row.firstChild){row.firstChild.style.width=tw;if(col<row.firstChild.rows[0].childNodes.length){if(!Ext.fly(row.firstChild.rows[0].childNodes[col]).hasClass(this.skip_width_update_class)){row.firstChild.rows[0].childNodes[col].style.display=display;}}}}
this.onColumnHiddenUpdated(col,hidden,tw);delete this.lastViewWidth;this.layout();},processRows:function(startRow,skipStripe)
{var processed_cnt=0;if(this.ds.getCount()<1){return;}
skipStripe=!this.grid.stripeRows;startRow=startRow||0;var rows=this.getRows();var processed_cnt=0;Ext.each(rows,function(row,idx){row.rowIndex=idx;row.className=row.className.replace(this.rowClsRe,' ');if(row.style.display!='none'){if(!skipStripe&&((processed_cnt+1)%2===0)){row.className+=' x-grid3-row-alt';}
processed_cnt++;}},this);Ext.fly(rows[0]).addClass(this.firstRowCls);Ext.fly(rows[rows.length-1]).addClass(this.lastRowCls);},ensureVisible:function(row,col,hscroll)
{var ancestors,record=this.ds.getAt(row);if(!this.ds.isVisibleNode(record)){ancestors=this.ds.getNodeAncestors(record);while(ancestors.length>0){record=ancestors.shift();if(!this.ds.isExpandedNode(record)){this.ds.expandNode(record);}}}
return Ext.ux.maximgb.tg.GridView.superclass.ensureVisible.call(this,row,col,hscroll);},expandRow:function(record,skip_process)
{var ds=this.ds,i,len,row,pmel,children,index,child_index;if(typeof record=='number'){index=record;record=ds.getAt(index);}
else{index=ds.indexOf(record);}
skip_process=skip_process||false;row=this.getRow(index);pmel=Ext.fly(row).child('.ux-maximgb-tg-elbow-active');if(pmel){if(ds.hasNextSiblingNode(record)){pmel.removeClass(this.collapsed_icon_class);pmel.removeClass(this.last_collapsed_icon_class);pmel.addClass(this.expanded_icon_class);}
else{pmel.removeClass(this.collapsed_icon_class);pmel.removeClass(this.last_collapsed_icon_class);pmel.addClass(this.last_expanded_icon_class);}}
if(ds.isVisibleNode(record)){children=ds.getNodeChildren(record);for(i=0,len=children.length;i<len;i++){child_index=ds.indexOf(children[i]);row=this.getRow(child_index);row.style.display='block';if(ds.isExpandedNode(children[i])){this.expandRow(child_index,true);}}}
if(!skip_process){this.processRows(0);}},collapseRow:function(record,skip_process)
{var ds=this.ds,i,len,children,row,index,child_index;if(typeof record=='number'){index=record;record=ds.getAt(index);}
else{index=ds.indexOf(record);}
skip_process=skip_process||false;row=this.getRow(index);pmel=Ext.fly(row).child('.ux-maximgb-tg-elbow-active');if(pmel){if(ds.hasNextSiblingNode(record)){pmel.removeClass(this.expanded_icon_class);pmel.removeClass(this.last_expanded_icon_class);pmel.addClass(this.collapsed_icon_class);}
else{pmel.removeClass(this.expanded_icon_class);pmel.removeClass(this.last_expanded_icon_class);pmel.addClass(this.last_collapsed_icon_class);}}
children=ds.getNodeChildren(record);for(i=0,len=children.length;i<len;i++){child_index=ds.indexOf(children[i]);row=this.getRow(child_index);if(row.style.display!='none'){row.style.display='none';this.collapseRow(child_index,true);}}
if(!skip_process){this.processRows(0);}},initData:function(ds,cm)
{Ext.ux.maximgb.tg.GridView.superclass.initData.call(this,ds,cm);if(this.ds){this.ds.un('expandnode',this.onStoreExpandNode,this);this.ds.un('collapsenode',this.onStoreCollapseNode,this);}
if(ds){ds.on('expandnode',this.onStoreExpandNode,this);ds.on('collapsenode',this.onStoreCollapseNode,this);}},onLoad:function(store,records,options)
{var ridx;if(options&&options.params&&(options.params[store.paramNames.active_node]===null||store.indexOfId(options.params[store.paramNames.active_node])==-1)){Ext.ux.maximgb.tg.GridView.superclass.onLoad.call(this,store,records,options);}},onAdd:function(ds,records,index)
{Ext.ux.maximgb.tg.GridView.superclass.onAdd.call(this,ds,records,index);if(this.mainWrap){this.processRows(0);}},onRemove:function(ds,record,index,isUpdate)
{Ext.ux.maximgb.tg.GridView.superclass.onRemove.call(this,ds,record,index,isUpdate);if(isUpdate!==true){if(this.mainWrap){this.processRows(0);}}},onUpdate:function(ds,record)
{Ext.ux.maximgb.tg.GridView.superclass.onUpdate.call(this,ds,record);if(this.mainWrap){this.processRows(0);}},onStoreExpandNode:function(store,rc)
{this.expandRow(rc);},onStoreCollapseNode:function(store,rc)
{this.collapseRow(rc);}});Ext.ux.maximgb.tg.GridPanel=Ext.extend(Ext.grid.GridPanel,{master_column_id:0,tg_cls:'ux-maximgb-tg-panel',initComponent:function()
{this.initComponentPreOverride();Ext.ux.maximgb.tg.GridPanel.superclass.initComponent.call(this);this.getSelectionModel().on('selectionchange',this.onTreeGridSelectionChange,this);this.initComponentPostOverride();},initComponentPreOverride:Ext.emptyFn,initComponentPostOverride:Ext.emptyFn,onRender:function(ct,position)
{Ext.ux.maximgb.tg.GridPanel.superclass.onRender.call(this,ct,position);this.el.addClass(this.tg_cls);},getView:function()
{if(!this.view){this.view=new Ext.ux.maximgb.tg.GridView(this.viewConfig);}
return this.view;},onClick:function(e)
{var target=e.getTarget(),view=this.getView(),row=view.findRowIndex(target),store=this.getStore(),sm=this.getSelectionModel(),record,record_id,do_default=true;if(row!==false){if(Ext.fly(target).hasClass('ux-maximgb-tg-elbow-active')){record=store.getAt(row);if(store.isExpandedNode(record)){store.collapseNode(record);}
else{store.expandNode(record);}
do_default=false;}}
if(do_default){Ext.ux.maximgb.tg.GridPanel.superclass.onClick.call(this,e);}},onMouseDown:function(e)
{var target=e.getTarget();if(!Ext.fly(target).hasClass('ux-maximgb-tg-elbow-active')){Ext.ux.maximgb.tg.GridPanel.superclass.onMouseDown.call(this,e);}},onTreeGridSelectionChange:function(sm,selection)
{var record,ancestors,store=this.getStore();if(sm.getSelected){record=sm.getSelected();store.setActiveNode(record);}
else if(sm.getSelectedCell&&selection){record=selection.record;store.setActiveNode(record);}
if(record){if(!store.isVisibleNode(record)){ancestors=store.getNodeAncestors(record);while(ancestors.length>0){store.expandNode(ancestors.pop());}}}}});Ext.ux.maximgb.tg.EditorGridPanel=Ext.extend(Ext.grid.EditorGridPanel,{master_column_id:0,initComponent:function()
{this.initComponentPreOverride();Ext.ux.maximgb.tg.EditorGridPanel.superclass.initComponent.call(this);this.getSelectionModel().on('selectionchange',this.onTreeGridSelectionChange,this);this.initComponentPostOverride();},initComponentPreOverride:Ext.emptyFn,initComponentPostOverride:Ext.emptyFn,onRender:function(ct,position)
{Ext.ux.maximgb.tg.EditorGridPanel.superclass.onRender.call(this,ct,position);this.el.addClass('ux-maximgb-tg-panel');},getView:function()
{if(!this.view){this.view=new Ext.ux.maximgb.tg.GridView(this.viewConfig);}
return this.view;},onClick:function(e)
{var target=e.getTarget(),view=this.getView(),row=view.findRowIndex(target),store=this.getStore(),sm=this.getSelectionModel(),record,record_id,do_default=true;if(row!==false){if(Ext.fly(target).hasClass('ux-maximgb-tg-elbow-active')){record=store.getAt(row);if(store.isExpandedNode(record)){store.collapseNode(record);}
else{store.expandNode(record);}
do_default=false;}}
if(do_default){Ext.ux.maximgb.tg.EditorGridPanel.superclass.onClick.call(this,e);}},onMouseDown:function(e)
{var target=e.getTarget();if(!Ext.fly(target).hasClass('ux-maximgb-tg-elbow-active')){Ext.ux.maximgb.tg.EditorGridPanel.superclass.onMouseDown.call(this,e);}},onTreeGridSelectionChange:function(sm,selection)
{var record,ancestors,store=this.getStore();if(sm.getSelected){record=sm.getSelected();store.setActiveNode(record);}
else if(sm.getSelectedCell&&selection){record=selection.record;store.setActiveNode(record);}
if(record){if(!store.isVisibleNode(record)){ancestors=store.getNodeAncestors(record);while(ancestors.length>0){store.expandNode(ancestors.pop());}}}}});Ext.ux.maximgb.tg.PagingToolbar=Ext.extend(Ext.PagingToolbar,{onRender:function(ct,position)
{Ext.ux.maximgb.tg.PagingToolbar.superclass.onRender.call(this,ct,position);this.updateUI();},getPageData:function()
{var total=0,cursor=0;if(this.store){cursor=this.store.getActiveNodePageOffset();total=this.store.getActiveNodeTotalCount();}
return{total:total,activePage:Math.ceil((cursor+this.pageSize)/this.pageSize),pages:total<this.pageSize?1:Math.ceil(total/this.pageSize)};},updateInfo:function()
{var count=0,cursor=0,total=0,msg;if(this.displayItem){if(this.store){cursor=this.store.getActiveNodePageOffset();count=this.store.getActiveNodeCount();total=this.store.getActiveNodeTotalCount();}
msg=count==0?this.emptyMsg:String.format(this.displayMsg,cursor+1,cursor+count,total);this.displayItem.setText(msg);}},updateUI:function()
{var d=this.getPageData(),ap=d.activePage,ps=d.pages;this.afterTextItem.setText(String.format(this.afterPageText,d.pages));this.inputItem.setValue(ap);this.first.setDisabled(ap==1);this.prev.setDisabled(ap==1);this.next.setDisabled(ap==ps);this.last.setDisabled(ap==ps);this.refresh.enable();this.updateInfo();},bindStore:function(store,initial)
{if(!initial&&this.store){this.store.un('activenodechange',this.onStoreActiveNodeChange,this);}
if(store){store.on('activenodechange',this.onStoreActiveNodeChange,this);}
Ext.ux.maximgb.tg.PagingToolbar.superclass.bindStore.call(this,store,initial);},beforeLoad:function(store,options)
{var paramNames=this.getParams();Ext.ux.maximgb.tg.PagingToolbar.superclass.beforeLoad.call(this,store,options);if(options&&options.params){if(options.params[paramNames.start]===undefined){options.params[paramNames.start]=0;}
if(options.params[paramNames.limit]===undefined){options.params[paramNames.limit]=this.pageSize;}}},moveFirst:function()
{this.doLoad(0);},movePrevious:function()
{var store=this.store,cursor=store?store.getActiveNodePageOffset():0;this.doLoad(Math.max(0,cursor-this.pageSize));},moveNext:function()
{var store=this.store,cursor=store?store.getActiveNodePageOffset():0;this.doLoad(cursor+this.pageSize);},moveLast:function()
{var store=this.store,cursor=store?store.getActiveNodePageOffset():0,total=store?store.getActiveNodeTotalCount():0,extra=total%this.pageSize;this.doLoad(extra?(total-extra):total-this.pageSize);},onStoreActiveNodeChange:function(store,old_rec,new_rec)
{if(this.rendered){this.updateUI();}}});Ext.reg('Ext.ux.maximgb.tg.GridPanel',Ext.ux.maximgb.tg.GridPanel);Ext.reg('Ext.ux.maximgb.tg.EditorGridPanel',Ext.ux.maximgb.tg.EditorGridPanel);Ext.reg('Ext.ux.maximgb.tg.PagingToolbar',Ext.ux.maximgb.tg.PagingToolbar);Ext.override(Ext.ux.maximgb.tg.GridPanel,{smRequestExtraParams:{},smInit:function(){this.smExpandNodes();var grid=this;this.store.addListener('load',function(){grid.smExpandNodes();});},smExpandNodes:function(){var store=this.store;store.each(function(rec){if(rec.data._expanded){store.expandNode(rec);}});},expandAllLoaded:function(){var store=this.store;this.store.each(function(rec){if(!store.isLeafNode(rec)&&store.isLoadedNode(rec)){store.expandNode(rec);}});},addRecord:function(record){if(this.getSelectedRowsCount()>1){alert('Nie można dodać elementu, ponieważ zaznaczono więcej niż jeden wiersz');return;}
record.data._is_leaf=true;var store=this.getStore();var grid=this;var activeNode=store.getActiveNode();var finalizeAdd=function(){if(activeNode==null){var idx=-1;}else{var idx=store.indexOf(activeNode);}
store.insert(idx+1,record);var sm=grid.getSelectionModel();sm.selectRow(idx+1,false);grid.startEditing(idx+1,0);store.commitChanges();store.fireEvent('dataChanged',store);}
if(activeNode==null){record.data._parent=null;finalizeAdd();return;}
if(activeNode.data._key==undefined){alert('Nie można dodać elementu, ponieważ element nadrzędny nie został jeszcze zapisany');return;}
record.data._parent=activeNode.data._key;if(activeNode.data._is_leaf==true){activeNode.data._is_leaf=false;store.setNodeExpanded(activeNode,true);}else{if(!store.isExpandedNode(activeNode)){var isLoaded=store.isLoadedNode(activeNode);if(!isLoaded){store.expandNodeCallback_old=store.expandNodeCallback;store.expandNodeCallback=function(r,options,success){store.expandNodeCallback=store.expandNodeCallback_old;store.expandNodeCallback_old=null;store.expandNodeCallback(r,options,success);finalizeAdd();}}
store.expandNode(activeNode);if(!isLoaded){return;}}}
finalizeAdd();},processRemoteDelete:function(url){var items=this.getSelectedRowsData();if(items.length<1)return;var keys=[];for(i=0;i<items.length;i++){var data=items[i];if(data._key==undefined){alert('Nie można usunąć elementów, ponieważ niektóre nie posiadają klucza.');return;}
keys.push(data._key);}
var store=this.getStore();var grid=this;var params={keys:Ext.util.JSON.encode(keys)};Ext.applyIf(params,this.smRequestExtraParams);if(grid.loadMask)grid.loadMask.show();Ext.Ajax.request({waitMsg:'Zapisywanie zmian ...',url:url,params:params,callback:function(options,success,response){if(success){var resp=Ext.util.JSON.decode(response.responseText);if(resp.count<items.length){Ext.MessageBox.alert('Komunikat','Nie wszystkie zaznaczone wpisy zostały usunięte. Usunięto '+resp.count+' z '+items.length);}else{Ext.MessageBox.alert('Komunikat','Wpisy zostały usunięte.');}}else{Ext.MessageBox.alert('Ostrzeżenie','Usuwanie zakończyło się niepowodzeniem.');}},failure:function(response,options){if(grid.loadMask)grid.loadMask.hide();},success:function(response,options){if(grid.loadMask)grid.loadMask.hide();store.setActiveNode(null);store.load();}});},setRequiredFields:function(requiredFields){this.requiredFields=requiredFields;},setSaveRecordUrl:function(url){this.saveRecordUrl=url;},updateEntity:function(data){var store=this.getStore();var grid=this;store.updateEntity(data,function(ids){if(data.remote){Ext.each(ids,function(key){grid.highlightRow(key,'8888ff');},grid);}
if(data.added){Ext.each(data.added,function(item){parentNode=store.getByKey(item["_parent"]);if(parentNode){parentNode.data[store.leaf_field_name]=false;grid.view.expandRow(parentNode);store.setNodeExpanded(parentNode,true);}},this);}},function(key){if(data.remote){grid.highlightRow(key,'ff8888',function(record){store.remove(record);});}else{store.remove(store.getByKey(key));}});}});Ext.override(Ext.ux.maximgb.tg.EditorGridPanel,{smRequestExtraParams:{},smInit:function(){this.smExpandNodes();var grid=this;this.store.addListener('load',function(){grid.smExpandNodes();});},smExpandNodes:function(){var store=this.store;store.each(function(rec){if(rec.data._expanded){store.expandNode(rec);}});},expandAllLoaded:function(){var store=this.store;this.store.each(function(rec){if(!store.isLeafNode(rec)&&store.isLoadedNode(rec)){store.expandNode(rec);}});},addRecord:function(record){if(this.getSelectedRowsCount()>1){alert('Nie można dodać elementu, ponieważ zaznaczono więcej niż jeden wiersz');return;}
record.data._is_leaf=true;var store=this.getStore();var grid=this;var activeNode=store.getActiveNode();var finalizeAdd=function(){if(activeNode==null){var idx=-1;}else{var idx=store.indexOf(activeNode);}
store.insert(idx+1,record);var sm=grid.getSelectionModel();sm.selectRow(idx+1,false);grid.startEditing(idx+1,0);store.commitChanges();store.fireEvent('dataChanged',store);}
if(activeNode==null){record.data._parent=null;finalizeAdd();return;}
if(activeNode.data._key==undefined){alert('Nie można dodać elementu, ponieważ element nadrzędny nie został jeszcze zapisany');return;}
record.data._parent=activeNode.data._key;if(activeNode.data._is_leaf==true){activeNode.data._is_leaf=false;store.setNodeExpanded(activeNode,true);}else{if(!store.isExpandedNode(activeNode)){var isLoaded=store.isLoadedNode(activeNode);if(!isLoaded){store.expandNodeCallback_old=store.expandNodeCallback;store.expandNodeCallback=function(r,options,success){store.expandNodeCallback=store.expandNodeCallback_old;store.expandNodeCallback_old=null;store.expandNodeCallback(r,options,success);finalizeAdd();}}
store.expandNode(activeNode);if(!isLoaded){return;}}}
finalizeAdd();},processRemoteDelete:function(url){var items=this.getSelectedRowsData();if(items.length<1)return;var keys=[];for(i=0;i<items.length;i++){var data=items[i];if(data._key==undefined){alert('Nie można usunąć elementów, ponieważ niektóre nie posiadają klucza.');return;}
keys.push(data._key);}
var store=this.getStore();var grid=this;var params={keys:Ext.util.JSON.encode(keys)};Ext.applyIf(params,this.smRequestExtraParams);if(grid.loadMask)grid.loadMask.show();Ext.Ajax.request({waitMsg:'Zapisywanie zmian ...',url:url,params:params,callback:function(options,success,response){if(success){var resp=Ext.util.JSON.decode(response.responseText);if(resp.count<items.length){Ext.MessageBox.alert('Komunikat','Nie wszystkie zaznaczone wpisy zostały usunięte. Usunięto '+resp.count+' z '+items.length);}else{Ext.MessageBox.alert('Komunikat','Wpisy zostały usunięte.');}}else{Ext.MessageBox.alert('Ostrzeżenie','Usuwanie zakończyło się niepowodzeniem.');}},failure:function(response,options){if(grid.loadMask)grid.loadMask.hide();},success:function(response,options){if(grid.loadMask)grid.loadMask.hide();store.setActiveNode(null);store.load();}});},setRequiredFields:function(requiredFields){this.requiredFields=requiredFields;},setSaveRecordUrl:function(url){this.saveRecordUrl=url;},updateEntity:function(data){var store=this.getStore();var grid=this;store.updateEntity(data,function(ids){if(data.remote){Ext.each(ids,function(key){grid.highlightRow(key,'8888ff');},grid);}
if(data.added){Ext.each(data.added,function(item){parentNode=store.getByKey(item["_parent"]);if(parentNode){parentNode.data[store.leaf_field_name]=false;grid.view.expandRow(parentNode);store.setNodeExpanded(parentNode,true);}},this);}},function(key){if(data.remote){grid.highlightRow(key,'ff8888',function(record){store.remove(record);});}else{store.remove(store.getByKey(key));}});}});Ext.override(Ext.ux.maximgb.tg.AbstractTreeStore,{expandNode:function(rc)
{var params;if(!this.isExpandedNode(rc)&&this.fireEvent('beforeexpandnode',this,rc)!==false){if(this.isLoadedNode(rc)){this.setNodeExpanded(rc,true);this.fireEvent('expandnode',this,rc);}
else{params={};if(rc.data['tr_id']!=undefined){params[this.paramNames.active_node]=rc.data.tr_id;}else{params[this.paramNames.active_node]=rc.id;}
this.load({add:true,params:params,callback:this.expandNodeCallback,scope:this});}}},expandNodeCallback:function(r,options,success)
{var rc=null;var id=options.params[this.paramNames.active_node];var idx=this.find('tr_id',id);if(idx!=-1){rc=this.getAt(idx);}else{rc=this.getById(id);}
if(success&&rc){this.setNodeLoaded(rc,true);this.setNodeExpanded(rc,true);this.fireEvent('expandnode',this,rc);}
else{this.fireEvent('expandnodefailed',this,options.params[this.paramNames.active_node],rc);}}});Ext.menu.RangeMenu.prototype.icons={gt:'cls:icon-greaterthan',lt:'cls:icon-lessthan',eq:'cls:icon-equals'};Ext.grid.filter.StringFilter.prototype.icon='cls:icon-find';Ext.override(Ext.grid.filter.ListFilter,{phpMode:true});Ext.ns('Ext.sm.grid.plugins');Ext.sm.grid.plugins.DropTarget=function(config){Ext.apply(this,config,{init:function(grid){this.grid=grid;this.grid.on('afterrender',function(){this.dropTarget=new Ext.dd.DropTarget(this.getView().scroller,config);this.dropTarget.grid=this;},grid);}});}
Ext.ns('Ext.sm.grid.plugins');Ext.sm.grid.plugins.FilterCombo=Ext.extend(Ext.form.ComboBox,{advancedViewWindow:null,windowOpt:null,filterPanel:null,typeAhead:false,disableKeyFilter:true,minChars:Number.MAX_VALUE,initComponent:function(){Ext.sm.grid.plugins.FilterCombo.superclass.initComponent.call(this);this.addEvents("reset","search");this.triggerConfig={tag:'span',cls:'x-form-twin-triggers',style:'padding-right:2px',cn:[{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger x-form-clear-trigger",qtip:"Wyczyść wyszukiwanie"},{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger x-form-search-trigger",qtip:"Szukaj"},{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger",qtip:"Wyświetl zapisane wyszukiwania"},{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger x-form-advsearch-trigger",qtip:"Zaawansowane wyszukiwanie"}]};this.on('keyup',function(field,e){this.setResetButtonVisibility();},this);this.on('blur',function(field,e){this.setResetButtonVisibility();},this);this.on('select',function(combo,record,index){this.setEditable(false);this.setResetButtonVisibility();},this);this.filterPanel.on('filterSaved',function(filterPanel,filterData){if(this.getValue()==filterData.id){this.setValue(filterData.id);}},this);this.filterPanel.on('filterReset',function(){this.reset();},this);},getTrigger:function(index){return this.triggers[index];},initTrigger:function(){var ts=this.trigger.select('.x-form-trigger',true);this.wrap.setStyle('overflow','hidden');var triggerField=this;ts.each(function(t,all,index){t.hide=function(){var w=triggerField.wrap.getWidth();this.dom.style.display='none';triggerField.el.setWidth(w-triggerField.trigger.getWidth());};t.show=function(){var w=triggerField.wrap.getWidth();this.dom.style.display='';triggerField.el.setWidth(w-triggerField.trigger.getWidth());};var triggerIndex='Trigger'+(index+1);if(this['hide'+triggerIndex]){t.dom.style.display='none';}
t.on("click",this['on'+triggerIndex+'Click'],this,{preventDefault:true});t.addClassOnOver('x-form-trigger-over');t.addClassOnClick('x-form-trigger-click');},this);this.triggers=ts.elements;this.triggers[0].hide();},reset:function(local){this.setValue('');this.setResetButtonVisibility();if(local)this.triggerBlur();},onTrigger1Click:function(){this.setEditable(true);this.reset(true);this.fireEvent("reset",this);},onTrigger2Click:function(){this.fireEvent("search",this);},onTrigger3Click:function(){this.onTriggerClick();},onTrigger4Click:function(){if(this.advancedViewWindow==null){this.advancedViewWindow=new Ext.Window(this.windowOpt);this.advancedViewWindow.add(this.filterPanel);}
var filterId=this.getValue();if(filterId){var record=this.getStore().getByKey(filterId);if(record){this.filterPanel.filtersCombo.setValue(filterId);this.filterPanel.setFilter(Ext.decode(record.data.value));}}
this.advancedViewWindow.on('show',function(){this.filterPanel.filterExpression.filters[0].formFields.field.focus();},this,{delay:300});this.advancedViewWindow.show();this.advancedViewWindow.anchorTo(this.wrap,'tr-br?',[-5,5],true);},setResetButtonVisibility:function(){if(this.triggers){var value=this.getRawValue();if(''!=value){this.getTrigger(0).show();}else{this.getTrigger(0).hide();}}}});Ext.reg('gridFilterCombo',Ext.sm.grid.plugins.FilterCombo);Ext.ns('Ext.sm.grid.plugins');Ext.sm.grid.plugins.Filter=function(config){config=config||{};Ext.apply(this,config);Ext.sm.grid.plugins.Filter.superclass.constructor.call(this);};Ext.extend(Ext.sm.grid.plugins.Filter,Ext.util.Observable,{xtype:'filterplugin',filterCombo:null,gridStore:null,grid:null,simpleSearch:function(field){delete this.gridStore.baseParams.filterConfig;if(field.isValid()){var value=field.getRawValue();if(''!=value){var param={};param[field.param]=value;this.gridStore.baseParams.filter=Ext.encode(param);}else{delete this.gridStore.baseParams.filter;}
this.reloadGridStore();}},init:function(grid){this.grid=grid;this.gridStore=grid.getStore();var store=this.gridStore;this.filterCombo.on('specialkey',function(field,e){if(e.getKey()==e.ENTER&&field.editable){this.simpleSearch(field);}},this);this.filterCombo.on('search',function(field){if(field.editable){this.simpleSearch(field);}},this);this.filterCombo.on('select',function(combo,record,index){delete store.baseParams.filter;store.baseParams.filterConfig=record.data.value;combo.setEditable(false);this.reloadGridStore();},this);this.filterCombo.on('reset',function(combo){delete store.baseParams.filter;delete store.baseParams.filterConfig;this.reloadGridStore();},this);},reloadGridStore:function(){var params={start:0};this.gridStore.baseParams.start=0;this.gridStore.load();}});Ext.reg('filterplugin',Ext.sm.grid.plugins.Filter);Ext.ns('Ext.sm.grid');Ext.sm.grid.FilterPanelPlugin=function(config){config=config||{};Ext.apply(this,config);Ext.sm.grid.FilterPanelPlugin.superclass.constructor.call(this);};Ext.extend(Ext.sm.grid.FilterPanelPlugin,Ext.util.Observable,{filterPanel:null,xtype:'filterpanelplugin',init:function(grid){this.filterPanel.store=grid.store;}});Ext.reg('filterpanelplugin',Ext.sm.grid.FilterPanelPlugin);Ext.ns('Ext.ux.grid');Ext.ux.grid.GroupSummary=Ext.extend(Ext.util.Observable,{constructor:function(config){Ext.apply(this,config);Ext.ux.grid.GroupSummary.superclass.constructor.call(this);},init:function(grid){this.grid=grid;this.cm=grid.getColumnModel();this.view=grid.getView();var v=this.view;v.doGroupEnd=this.doGroupEnd.createDelegate(this);v.afterMethod('onColumnWidthUpdated',this.doWidth,this);v.afterMethod('onAllColumnWidthsUpdated',this.doAllWidths,this);v.afterMethod('onColumnHiddenUpdated',this.doHidden,this);v.afterMethod('onUpdate',this.doUpdate,this);v.afterMethod('onRemove',this.doRemove,this);if(!this.rowTpl){this.rowTpl=new Ext.Template('<div class="x-grid3-summary-row" style="{tstyle}">','<table class="x-grid3-summary-table" border="0" cellspacing="0" cellpadding="0" style="{tstyle}">','<tbody><tr>{cells}</tr></tbody>','</table></div>');this.rowTpl.disableFormats=true;}
this.rowTpl.compile();if(!this.cellTpl){this.cellTpl=new Ext.Template('<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} {css}" style="{style}">','<div class="x-grid3-cell-inner x-grid3-col-{id}" unselectable="on">{value}</div>',"</td>");this.cellTpl.disableFormats=true;}
this.cellTpl.compile();},toggleSummaries:function(visible){var el=this.grid.getGridEl();if(el){if(visible===undefined){visible=el.hasClass('x-grid-hide-summary');}
el[visible?'removeClass':'addClass']('x-grid-hide-summary');}},renderSummary:function(o,cs){cs=cs||this.view.getColumnData();var cfg=this.cm.config;var buf=[],c,p={},cf,last=cs.length-1;for(var i=0,len=cs.length;i<len;i++){c=cs[i];cf=cfg[i];p.id=c.id;p.style=c.style;p.css=i==0?'x-grid3-cell-first ':(i==last?'x-grid3-cell-last ':'');if(cf.summaryType||cf.summaryRenderer){p.value=(cf.summaryRenderer||c.renderer)(o.data[c.name],p,o,-1,i);}else{p.value='';}
if(p.value==undefined||p.value==="")p.value="&#160;";buf[buf.length]=this.cellTpl.apply(p);}
return this.rowTpl.apply({tstyle:'width:'+this.view.getTotalWidth()+';',cells:buf.join('')});},calculate:function(rs,cs){var data={},r,c,cfg=this.cm.config,cf;for(var j=0,jlen=rs.length;j<jlen;j++){r=rs[j];for(var i=0,len=cs.length;i<len;i++){c=cs[i];cf=cfg[i];if(cf.summaryType){data[c.name]=Ext.ux.grid.GroupSummary.Calculations[cf.summaryType](data[c.name]||0,r,c.name,data);}}}
return data;},doGroupEnd:function(buf,g,cs,ds,colCount){var data=this.calculate(g.rs,cs);buf.push('</div>',this.renderSummary({data:data},cs),'</div>');},doWidth:function(col,w,tw){var gs=this.view.getGroups(),s;for(var i=0,len=gs.length;i<len;i++){s=gs[i].childNodes[2];s.style.width=tw;s.firstChild.style.width=tw;s.firstChild.rows[0].childNodes[col].style.width=w;}},doAllWidths:function(ws,tw){var gs=this.view.getGroups(),s,cells,wlen=ws.length;for(var i=0,len=gs.length;i<len;i++){s=gs[i].childNodes[2];s.style.width=tw;s.firstChild.style.width=tw;cells=s.firstChild.rows[0].childNodes;for(var j=0;j<wlen;j++){cells[j].style.width=ws[j];}}},doHidden:function(col,hidden,tw){var gs=this.view.getGroups(),s,display=hidden?'none':'';for(var i=0,len=gs.length;i<len;i++){s=gs[i].childNodes[2];s.style.width=tw;s.firstChild.style.width=tw;s.firstChild.rows[0].childNodes[col].style.display=display;}},refreshSummary:function(groupValue){return this.refreshSummaryById(this.view.getGroupId(groupValue));},getSummaryNode:function(gid){var g=Ext.fly(gid,'_gsummary');if(g){return g.down('.x-grid3-summary-row',true);}
return null;},refreshSummaryById:function(gid){var g=document.getElementById(gid);if(!g){return false;}
var rs=[];this.grid.store.each(function(r){if(r._groupId==gid){rs[rs.length]=r;}});var cs=this.view.getColumnData();var data=this.calculate(rs,cs);var markup=this.renderSummary({data:data},cs);var existing=this.getSummaryNode(gid);if(existing){g.removeChild(existing);}
Ext.DomHelper.append(g,markup);return true;},doUpdate:function(ds,record){this.refreshSummaryById(record._groupId);},doRemove:function(ds,record,index,isUpdate){if(!isUpdate){this.refreshSummaryById(record._groupId);}},showSummaryMsg:function(groupValue,msg){var gid=this.view.getGroupId(groupValue);var node=this.getSummaryNode(gid);if(node){node.innerHTML='<div class="x-grid3-summary-msg">'+msg+'</div>';}}});Ext.grid.GroupSummary=Ext.ux.grid.GroupSummary;Ext.ux.grid.GroupSummary.Calculations={'sum':function(v,record,field){return v+(record.data[field]||0);},'count':function(v,record,field,data){return data[field+'count']?++data[field+'count']:(data[field+'count']=1);},'max':function(v,record,field,data){var v=record.data[field];var max=data[field+'max']===undefined?(data[field+'max']=v):data[field+'max'];return v>max?(data[field+'max']=v):max;},'min':function(v,record,field,data){var v=record.data[field];var min=data[field+'min']===undefined?(data[field+'min']=v):data[field+'min'];return v<min?(data[field+'min']=v):min;},'average':function(v,record,field,data){var c=data[field+'count']?++data[field+'count']:(data[field+'count']=1);var t=(data[field+'total']=((data[field+'total']||0)+(record.data[field]||0)));return t===0?0:t/c;}};Ext.grid.GroupSummary.Calculations=Ext.ux.grid.GroupSummary.Calculations;Ext.ux.grid.HybridSummary=Ext.extend(Ext.ux.grid.GroupSummary,{calculate:function(rs,cs){var gcol=this.view.getGroupField();var gvalue=rs[0].data[gcol];var gdata=this.getSummaryData(gvalue);return gdata||Ext.ux.grid.HybridSummary.superclass.calculate.call(this,rs,cs);},updateSummaryData:function(groupValue,data,skipRefresh){var json=this.grid.store.reader.jsonData;if(!json.summaryData){json.summaryData={};}
json.summaryData[groupValue]=data;if(!skipRefresh){this.refreshSummary(groupValue);}},getSummaryData:function(groupValue){var json=this.grid.store.reader.jsonData;if(json&&json.summaryData){return json.summaryData[groupValue];}
return null;}});Ext.grid.HybridSummary=Ext.ux.grid.HybridSummary;Ext.ns('Ext.sm.grid.plugins');Ext.sm.grid.plugins.GroupSummary=Ext.extend(Ext.ux.grid.GroupSummary,{init:function(grid){var calculations=this.calculations||[];for(calculation in calculations){Ext.ux.grid.GroupSummary.Calculations[calculation]=calculations[calculation];}
Ext.sm.grid.plugins.GroupSummary.superclass.init.call(this,grid);}});Ext.ns('Ext.ux.grid.plugins');Ext.ux.grid.plugins.RowActions=function(config){Ext.apply(this,config);this.addEvents('beforeaction','action','beforegroupaction','groupaction');Ext.ux.grid.plugins.RowActions.superclass.constructor.call(this);};Ext.extend(Ext.ux.grid.plugins.RowActions,Ext.util.Observable,{actionEvent:'click',autoWidth:true,header:'',menuDisabled:true,sortable:false,tplGroup:'<tpl for="actions">'
+'<div class="ux-grow-action-item<tpl if="\'right\'===align"> ux-action-right</tpl> '
+'{cls}" style="{style}" qtip="{qtip}">{text}</div>'
+'</tpl>',tplRow:'<div class="ux-row-action">'
+'<tpl for="actions">'
+'<div class="ux-row-action-item {cls} <tpl if="text">'
+'ux-row-action-text</tpl>" style="{hide}{style}" qtip="{qtip}">'
+'<tpl if="text"><span qtip="{qtip}">{text}</span></tpl></div>'
+'</tpl>'
+'</div>',widthIntercept:4,widthSlope:21,init:function(grid){this.grid=grid;if(!this.tpl){this.tpl=this.processActions(this.actions);}
if(this.autoWidth){this.width=this.widthSlope*this.actions.length+this.widthIntercept;this.fixed=true;}
var view=grid.getView();var cfg={scope:this};cfg[this.actionEvent]=this.onClick;grid.on({render:{scope:this,fn:function(){view.mainBody.on(cfg);}}});if(!this.renderer){this.renderer=function(value,cell,record,row,col,store){cell.css+=(cell.css?' ':'')+'ux-row-action-cell';return this.tpl.apply(this.getData(value,cell,record,row,col,store));}.createDelegate(this);}
if(view.groupTextTpl&&this.groupActions){view.interceptMouse=view.interceptMouse.createInterceptor(function(e){if(e.getTarget('.ux-grow-action-item')){return false;}});view.groupTextTpl='<div class="ux-grow-action-text">'+view.groupTextTpl+'</div>'
+this.processActions(this.groupActions,this.tplGroup).apply();}},getData:function(value,cell,record,row,col,store){return record.data||{};},processActions:function(actions,template){var acts=[];Ext.each(actions,function(a,i){if(a.iconCls&&'function'===typeof(a.callback||a.cb)){this.callbacks=this.callbacks||{};this.callbacks[a.iconCls]=a.callback||a.cb;}
var o={cls:a.iconIndex?'{'+a.iconIndex+'}':(a.iconCls?a.iconCls:''),qtip:a.qtipIndex?'{'+a.qtipIndex+'}':(a.tooltip||a.qtip?a.tooltip||a.qtip:''),text:a.textIndex?'{'+a.textIndex+'}':(a.text?a.text:''),hide:a.hideIndex?'<tpl if="'+a.hideIndex+'">visibility:hidden;</tpl>':(a.hide?'visibility:hidden;':''),align:a.align||'right',style:a.style?a.style:''};acts.push(o);},this);var xt=new Ext.XTemplate(template||this.tplRow);return new Ext.XTemplate(xt.apply({actions:acts}));},onClick:function(e,target){var view=this.grid.getView();var action=false;var row=e.getTarget('.x-grid3-row');var col=view.findCellIndex(target.parentNode.parentNode);var t=e.getTarget('.ux-row-action-item');if(t){action=t.className.replace(/ux-row-action-item /,'');if(action){action=action.replace(/ ux-row-action-text/,'');action=action.trim();}}
if(false!==row&&false!==col&&false!==action){var record=this.grid.store.getAt(row.rowIndex);if(this.callbacks&&'function'===typeof this.callbacks[action]){this.callbacks[action](this.grid,record,action,row.rowIndex,col);}
if(true!==this.eventsSuspended&&false===this.fireEvent('beforeaction',this.grid,record,action,row.rowIndex,col)){return;}
else if(true!==this.eventsSuspended){this.fireEvent('action',this.grid,record,action,row.rowIndex,col);}}
t=e.getTarget('.ux-grow-action-item');if(t){var group=view.findGroup(target);var groupId=group?group.id.replace(/ext-gen[0-9]+-gp-/,''):null;var records;if(groupId){var re=new RegExp(groupId);records=this.grid.store.queryBy(function(r){return r._groupId.match(re);});records=records?records.items:[];}
action=t.className.replace(/ux-grow-action-item (ux-action-right )*/,'');if('function'===typeof this.callbacks[action]){this.callbacks[action](this.grid,records,action,groupId);}
if(true!==this.eventsSuspended&&false===this.fireEvent('beforegroupaction',this.grid,records,action,groupId)){return false;}
this.fireEvent('groupaction',this.grid,records,action,groupId);}}});Ext.ns('Ext.sm.grid.plugins');Ext.sm.grid.plugins.RowActions=Ext.extend(Ext.ux.grid.plugins.RowActions,{getData:function(value,cell,record,row,col,store){var data=record.data||{};data._record_modified=record.modified;data._record_not_modified=!record.modified;data._record_deny_save=!record.modified||!this.grid.recordReadyToSave(record);data._record_deny_cancel=!record.modified&&record.data._key!=undefined;return data;}});Ext.ns('Ext.sm.handlers.flexlh');Ext.sm.handlers.flexlh.load=function(url,proc,params,afterLoad,objects,scope){objects=objects||{}
if(objects.onLoadStart)objects.onLoadStart();Ext.Ajax.request({url:url,method:'POST',params:{proc:proc,params:Ext.util.JSON.encode(params)},failure:function(response,options){if(objects.onLoadEnd)objects.onLoadEnd(false,response,options);if(afterLoad)afterLoad.apply(scope||window,[false,response,options]);},success:function(response,options){if(objects.onLoadEnd)objects.onLoadEnd(true,response,options);var flh=objects;if(afterLoad)afterLoad.apply(scope||window,[true,response,options]);eval(response.responseText);},scope:scope});};Ext.sm.handlers.flexlh.loadInteractive=function(url,proc,params,afterLoad,objects,scope){if(!Ext.lib.Ajax.interactiveSupported()){return Ext.sm.handlers.flexlh.load(url,proc,params,afterLoad,objects,scope);}
objects=objects||{}
if(objects.onLoadStart)objects.onLoadStart();Ext.Ajax.request({url:url,method:'POST',params:{proc:proc,params:Ext.util.JSON.encode(params)},failure:function(response,options){if(objects.onLoadEnd)objects.onLoadEnd(false,response,options);if(afterLoad)afterLoad.apply(scope||window,[false,response,options]);},success:function(response,options){if(objects.onLoadEnd)objects.onLoadEnd(true,response,options);var flh=objects;if(afterLoad)afterLoad.apply(scope||window,[true,response,options]);},interactive:function(response,options){if(objects.onLoadInteractive)objects.onLoadInteractive(true,response,options);var flh=objects;eval(response.responsePart);},scope:scope});};(function(){Ext.ux.Media=function(config){Ext.apply(this,config||{});this.toString=this.mediaMarkup;this.initMedia();};var ux=Ext.ux.Media;ux.mediaTypes={"PDF":Ext.apply({tag:'object',cls:'x-media x-media-pdf',type:"application/pdf",data:"@url",autoSize:true,params:{src:"@url"}},Ext.isIE?{classid:"CLSID:CA8A9780-280D-11CF-A24D-444553540000"}:false),"PDFFRAME":{tag:'iframe',cls:'x-media x-media-pdf-frame',frameBorder:0,style:{overflow:'none',width:'100%',height:'100%'},src:"@url",autoSize:true},"WMV":Ext.apply({tag:'object',cls:'x-media x-media-wmv',type:'application/x-mplayer2',data:"@url",autoSize:false,params:{filename:"@url",displaysize:0,autostart:"@start",showControls:"@controls",showStatusBar:"@status",showaudiocontrols:true,stretchToFit:true,Volume:"@volume",PlayCount:1}},Ext.isIE?{classid:"CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95",codebase:"http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701",type:'application/x-oleobject'}:{src:"@url"}),"SWF":Ext.apply({tag:'object',cls:'x-media x-media-swf',type:'application/x-shockwave-flash',scripting:'sameDomain',standby:'Loading..',loop:true,start:false,unsupportedText:{cn:['The Adobe Flash Player is required.',{tag:'br'},{tag:'a',cn:[{tag:'img',src:'http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif'}],href:'http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash',target:'_flash'}]},params:{movie:"@url",menu:"@controls",play:"@start",quality:"high",allowscriptaccess:"@scripting",allownetworking:'all',allowfullScreen:false,bgcolor:"#FFFFFF",wmode:"opaque",loop:"@loop"}},Ext.isIE?{classid:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",codebase:"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"}:{data:"@url"}),"JWP":Ext.apply({tag:'object',cls:'x-media x-media-swf x-media-flv',type:'application/x-shockwave-flash',data:"@url",loop:false,start:false,params:{movie:"@url",flashVars:{autostart:'@start',repeat:'@loop',height:'@height',width:'@width',id:'@id'}}},Ext.isIE?{classid:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",codebase:"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"}:false),"QT":Ext.apply({tag:'object',cls:'x-media x-media-quicktime',type:"video/quicktime",style:{position:'relative',"z-index":1,behavior:'url(#qt_event_source)'},scale:'aspect',unsupportedText:'<a href="http://www.apple.com/quicktime/download/">Get QuickTime</a>',scripting:true,volume:'50%',data:'@url',params:{src:Ext.isIE?'@url':null,href:"http://quicktime.com",target:"_blank",autoplay:"@start",targetcache:true,cache:true,wmode:'transparent',controller:"@controls",enablejavascript:"@scripting",loop:'@loop',scale:'@scale',volume:'@volume',QTSRC:'@url'}},Ext.isIE?{classid:'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',codebase:'http://www.apple.com/qtactivex/qtplugin.cab#version=7,2,1,0'}:{PLUGINSPAGE:"http://www.apple.com/quicktime/download/"}),"QTEVENTS":{tag:'object',id:'qt_event_source',cls:'x-media x-media-qtevents',type:"video/quicktime",params:{},classid:'clsid:CB927D12-4FF7-4a9e-A169-56E4B8A75598',codebase:'http://www.apple.com/qtactivex/qtplugin.cab#version=7,2,1,0'},"WPMP3":Ext.apply({tag:'object',cls:'x-media x-media-audio x-media-wordpress',type:'application/x-shockwave-flash',data:'@url',start:true,loop:false,params:{movie:"@url",width:'@width',flashVars:{autostart:"@start",controller:"@controls",enablejavascript:"@scripting",loop:'@loop',scale:'@scale',initialvolume:'@volume',width:'@width',encode:'no',soundFile:''}}},Ext.isIE?{classid:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"}:false),"REAL":Ext.apply({tag:'object',cls:'x-media x-media-real',type:"audio/x-pn-realaudio",data:"@url",controls:'imagewindow,all',start:false,standby:"Loading Real Media Player components...",params:{src:"@url",autostart:"@start",center:false,maintainaspect:true,controller:"@controls",controls:"@controls",volume:'@volume',loop:"@loop",console:"_master",backgroundcolor:'#000000'}},Ext.isIE?{classid:"clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA"}:false),"SVG":{tag:'object',cls:'x-media x-media-img x-media-svg',type:"image/svg+xml",data:"@url",params:{src:"@url"}},"GIF":{tag:'img',cls:'x-media x-media-img x-media-gif',src:"@url"},"JPEG":{tag:'img',cls:'x-media x-media-img x-media-jpeg',src:"@url"},"JP2":{tag:'object',cls:'x-media x-media-img x-media-jp2',type:"image/jpeg2000-image",data:"@url"},"PNG":{tag:'img',cls:'x-media x-media-img x-media-png',src:"@url"},"HTM":{tag:'iframe',cls:'x-media x-media-html',frameBorder:0,style:{overflow:'auto',width:'100%',height:'100%'},src:"@url"},"TXT":{tag:'object',cls:'x-media x-media-text',type:"text/plain",style:{overflow:'auto',width:'100%',height:'100%'},data:"@url"},"RTF":{tag:'object',cls:'x-media x-media-rtf',type:"application/rtf",style:{overflow:'auto',width:'100%',height:'100%'},data:"@url"},"JS":{tag:'object',cls:'x-media x-media-js',type:"text/javascript",style:{overflow:'auto',width:'100%',height:'100%'},data:"@url"},"CSS":{tag:'object',cls:'x-media x-media-css',type:"text/css",style:{overflow:'auto',width:'100%',height:'100%'},data:"@url"},"SILVERLIGHT":{tag:'object',cls:'x-media x-media-silverlight',type:"application/ag-plugin",data:"@url",params:{MinRuntimeVersion:"1.0",source:"@url"}},"SILVERLIGHT2":{tag:'object',cls:'x-media x-media-silverlight',type:"application/x-silverlight-2-b2",data:"data:application/x-silverlight-2-b2,",params:{MinRuntimeVersion:"2.0"},unsupportedText:'<a href="http://go2.microsoft.com/fwlink/?LinkID=114576&v=2.0"><img style="border-width: 0pt;" alt="Get Microsoft Silverlight" src="http://go2.microsoft.com/fwlink/?LinkID=108181"/></a>'},"DATAVIEW":{tag:'object',cls:'x-media x-media-dataview',classid:'CLSID:0ECD9B64-23AA-11D0-B351-00A0C9055D8E',type:'application/x-oleobject',unsupportedText:'MS Dataview Control is not installed'},"OWC:XLS":Ext.apply({tag:'object',cls:'x-media x-media-xls',type:"application/vnd.ms-excel",controltype:"excel",params:{DataType:"CSVURL",CSVURL:'@url',DisplayTitleBar:true,AutoFit:true}},Ext.isIE?{codebase:"file:msowc.cab",classid:"CLSID:0002E510-0000-0000-C000-000000000046"}:false),"OWC:CHART":Ext.apply({tag:'object',cls:'x-media x-media-xls',type:"application/vnd.ms-excel",data:"@url",params:{DataType:"CSVURL"}},Ext.isIE?{classid:"CLSID:0002E500-0000-0000-C000-000000000046"}:false),"OFFICE":{tag:'object',cls:'x-media x-media-office',type:"application/x-msoffice",data:"@url"},"POWERPOINT":Ext.apply({tag:'object',cls:'x-media x-media-ppt',type:"application/vnd.ms-powerpoint",file:"@url"},Ext.isIE?{classid:"CLSID:EFBD14F0-6BFB-11CF-9177-00805F8813FF"}:false),"XML":{tag:'iframe',cls:'x-media x-media-xml',style:{overflow:'auto'},src:"@url"},"VLC":{tag:'object',cls:'x-media x-media-vlc',type:"application/x-vlc-plugin",version:"VideoLAN.VLCPlugin.2",pluginspage:"http://www.videolan.org",data:"@url"},"RDP":Ext.apply({tag:'object',cls:'x-media x-media-rdp',type:"application/rds",unsupportedText:"Remote Desktop Web Connection ActiveX control is required. <a target=\"_msd\" href=\"http://go.microsoft.com/fwlink/?linkid=44333\">Download it here</a>.",params:{Server:'@url',Fullscreen:false,StartConnected:false,DesktopWidth:'@width',DesktopHeight:'@height'}},Ext.isIE?{classid:"CLSID:9059f30f-4eb1-4bd2-9fdc-36f43a218f4a",CODEBASE:"msrdp.cab#version=5,2,3790,0"}:false)};var stateRE=/4$/i;var pollReadyState=function(media,cb,readyRE){if(media&&typeof media.readyState!='undefined'){(readyRE||stateRE).test(media.readyState)?cb({type:'load'}):pollReadyState.defer(10,null,[media,cb]);}};if(parseFloat(Ext.version)<2.1){throw"Ext.ux.Media and sub-classes are not License-Compatible with your Ext release.";}
Ext.extend(ux,Object,{mediaObject:null,mediaCfg:null,mediaVersion:null,requiredVersion:null,unsupportedText:null,init:function(component){if(component&&this.getEl===undefined){Ext.applyIf(component,this);}},initMedia:function(){if(!Ext.isIE&&this.initialConfig){new ux.VisibilityFix({mode:this.visibilityCls,hideMode:this.hideMode,elements:this.visModeTargets||null}).init(this);}
if(this.events){this.addEvents('mediarender','mediaload');}},getMediaType:function(type){return ux.mediaTypes[type];},assert:function(v,def){v=typeof v==='function'?v.call(v.scope||null):v;return Ext.value(v,def);},mediaMarkup:function(mediaCfg,width,height,ct){mediaCfg=mediaCfg||this.mediaCfg;if(!mediaCfg){return'';}
var m=Ext.apply({url:false,autoSize:false},mediaCfg);m.url=this.assert(m.url,false);if(m.mediaType){var value,p,El=Ext.Element;var media=Ext.apply({},this.getMediaType(this.assert(m.mediaType,false))||false);var params=Ext.apply(media.params||{},m.params||{});for(var key in params){if(params.hasOwnProperty(key)){m.children||(m.children=[]);p=this.assert(params[key],null);if(p!==null){m.children.push({tag:'param',name:key,value:typeof p==='object'?Ext.urlEncode(p):encodeURI(p)});}}}
delete media.params;var unsup=this.assert(m.unsupportedText||this.unsupportedText||media.unsupportedText,null);if(unsup){m.children||(m.children=[]);m.children.push(unsup);}
if(m.style&&typeof m.style!="object"){throw'Style must be JSON formatted';}
m.style=this.assert(Ext.apply(media.style||{},m.style||{}),{});delete media.style;m.height=this.assert(height||m.height||media.height||m.style.height,null);m.width=this.assert(width||m.width||media.width||m.style.width,null);m=Ext.apply({tag:'object'},m,media);if(m.height||m.autoSize)
{Ext.apply(m.style,{height:(m.autoSize?'100%':m.height)});}
if(m.width||m.autoSize)
{Ext.apply(m.style,{width:(m.autoSize?'100%':m.width)});}
m.id||(m.id=Ext.id());m.name=this.assert(m.name,m.id);var _macros={url:m.url||'',height:(/%$/.test(m.height))?m.height:parseInt(m.height,10)||100,width:(/%$/.test(m.width))?m.width:parseInt(m.width,10)||100,scripting:this.assert(m.scripting,false),controls:this.assert(m.controls,false),scale:this.assert(m.scale,1),status:this.assert(m.status,false),start:this.assert(m.start,false),loop:this.assert(m.loop,false),volume:this.assert(m.volume,20),id:m.id};delete m.url;delete m.mediaType;delete m.controls;delete m.status;delete m.start;delete m.loop;delete m.scale;delete m.scripting;delete m.volume;delete m.autoSize;delete m.params;delete m.unsupportedText;delete m.renderOnResize;delete m.listeners;delete m.height;delete m.width;return Ext.DomHelper.markup(m).replace(/(%40url|@url)/g,_macros.url).replace(/(%40start|@start)/g,_macros.start+'').replace(/(%40controls|@controls)/g,_macros.controls+'').replace(/(%40scale|@scale)/g,_macros.scale+'').replace(/(%40status|@status)/g,_macros.status+'').replace(/(%40id|@id)/g,_macros.id+'').replace(/(%40loop|@loop)/g,_macros.loop+'').replace(/(%40volume|@volume)/g,_macros.volume+'').replace(/(%40scripting|@scripting)/g,_macros.scripting+'').replace(/(%40width|@width)/g,_macros.width+'').replace(/(%40height|@height)/g,_macros.height+'');}else{var unsup=this.assert(m.unsupportedText||this.unsupportedText||media.unsupportedText,null);unsup=unsup?Ext.DomHelper.markup(unsup):null;return String.format(unsup||'Media Configuration/Plugin Error',' ',' ');}},setMask:function(el){if(this.mediaMask&&!this.mediaMask.enable){el=Ext.get(el);if(this.mediaMask=new Ext.ux.IntelliMask(el||this[this.mediaEl],Ext.apply({fixElementForMedia:true},this.mediaMask))){this.mediaMask.el.addClass('x-media-mask');}}},renderMedia:function(mediaCfg,ct,domPosition,w,h){if(!Ext.isReady){Ext.onReady(this.renderMedia.createDelegate(this,Array.prototype.slice.call(arguments,0)));return;}
var mc=(this.mediaCfg=mediaCfg||this.mediaCfg);ct=Ext.get(ct||this.lastCt||(this.mediaObject?this.mediaObject.dom.parentNode:null));this.onBeforeMedia.call(this,mc,ct,domPosition,w,h);if(ct){this.lastCt=ct;var markup;if(mc&&(markup=this.mediaMarkup(mc,w,h,ct))){this.setMask(ct);this.clearMedia();ct.update(markup);if(this.mediaMask&&this.autoMask){this.mediaMask.show();}}}
this.onAfterMedia(ct);},clearMedia:function(){if(Ext.isReady&&this.mediaObject){try{this.mediaObject.removeAllListeners();this.mediaObject.remove();}catch(er){}}
this.mediaObject=null;},onBeforeMedia:function(mediaCfg,ct,domPosition){var m=mediaCfg||this.mediaCfg,mt;if(m&&(mt=this.getMediaType(m.mediaType))){m.autoSize=m.autoSize||mt.autoSize===true;if(m.autoSize&&(ct=Ext.isReady?Ext.get(ct||this.lastCt):null)){m.height=ct.getHeight(true)||this.assert(m.height,'auto');m.width=ct.getWidth(true)||this.assert(m.width,'auto');}}},onMediaLoad:function(e){if(e&&e.type=='load'){this.fireEvent('mediaload',this,this.mediaObject);if(this.mediaMask&&this.autoMask){this.mediaMask.hide();}}},onAfterMedia:function(ct){if(this.mediaCfg&&ct&&(this.mediaObject=ct.child('.x-media'))){this.mediaObject.ownerCt=this;if(this.mediaCfg.tag!=='object'){this.mediaObject.on({load:this.onMediaLoad,scope:this,single:true});}
pollReadyState(this.mediaObject.dom,this.onMediaLoad.createDelegate(this));var L;if(L=this.mediaCfg.listeners||null){this.mediaObject.on(L);}
this.fireEvent('mediarender',this,this.mediaObject);}},getInterface:function(){return this.mediaObject?this.mediaObject.dom||null:null;},detectVersion:Ext.emptyFn,autoMask:Ext.isIE});var mediaComponentAdapter=function(){};Ext.extend(mediaComponentAdapter,Object,{hideMode:!Ext.isIE?'nosize':'display',animCollapse:false,visibilityCls:!Ext.isIE?'x-hide-nosize':null,autoScroll:true,shadow:false,bodyStyle:{position:'relative'},resizeMedia:function(comp,w,h){var mc=this.mediaCfg;if(mc&&this.boxReady){if(arguments.length>3&&(!this.mediaObject||mc.renderOnResize)){this.refreshMedia(this[this.mediaEl]);}}},onAfterRender:function(visModeTargets){if(this.mediaCfg.renderOnResize){this.on('resize',this.resizeMedia,this);}else{this.renderMedia(this.mediaCfg,this[this.mediaEl]||this.getEl());}},doAutoLoad:Ext.emptyFn,refreshMedia:function(target){if(this.mediaCfg){this.renderMedia(null,target);}},mediaMask:false});Ext.ux.MediaComponent=Ext.extend(Ext.BoxComponent,{ctype:"Ext.ux.MediaComponent",autoEl:'div',cls:"x-media-comp",mediaEl:'el',getId:function(){return this.id||(this.id="media-comp"+(++Ext.Component.AUTO_ID));},initComponent:function(){this.visModeTargets=[this.actionMode];this.initMedia();Ext.ux.MediaComponent.superclass.initComponent.apply(this,arguments);},onRender:function(){Ext.ux.MediaComponent.superclass.onRender.apply(this,arguments);this.onAfterRender();},afterRender:function(ct){this.setAutoScroll();Ext.ux.MediaComponent.superclass.afterRender.apply(this,arguments);},beforeDestroy:function(){this.clearMedia();Ext.destroy(this.mediaMask,this.loadMask);Ext.ux.MediaComponent.superclass.beforeDestroy.call(this);},setAutoScroll:function(){if(this.rendered&&this.autoScroll){this.getEl().setOverflow('auto');}}});Ext.apply(Ext.ux.MediaComponent.prototype,Ext.ux.Media.prototype);Ext.apply(Ext.ux.MediaComponent.prototype,mediaComponentAdapter.prototype);Ext.reg('media',Ext.ux.MediaComponent);ux.Panel=Ext.extend(Ext.Panel,{ctype:"Ext.ux.Media.Panel",cls:"x-media-panel",mediaEl:'body',initComponent:function(){this.visModeTargets=[this.collapseEl,this.floating?null:this.actionMode];this.initMedia();this.html=this.contentEl=this.items=null;ux.Panel.superclass.initComponent.call(this);},onRender:function(){ux.Panel.superclass.onRender.apply(this,arguments);this.onAfterRender();},beforeDestroy:function(){this.clearMedia();ux.Panel.superclass.beforeDestroy.call(this);}});Ext.apply(ux.Panel.prototype,ux.prototype);Ext.apply(ux.Panel.prototype,mediaComponentAdapter.prototype);Ext.reg('mediapanel',Ext.ux.MediaPanel=ux.Panel);ux.Window=Ext.extend(Ext.Window,{cls:"x-media-window",ctype:"Ext.ux.Media.Window",mediaEl:'body',initComponent:function(){this.visModeTargets=[this.collapseEl,this.floating?null:this.actionMode];this.initMedia();this.html=this.contentEl=this.items=null;ux.Window.superclass.initComponent.call(this);},onRender:function(){ux.Window.superclass.onRender.apply(this,arguments);this.onAfterRender();},beforeDestroy:function(){this.clearMedia();ux.Window.superclass.beforeDestroy.call(this);}});Ext.apply(ux.Window.prototype,ux.prototype);Ext.apply(ux.Window.prototype,mediaComponentAdapter.prototype);Ext.reg('mediawindow',Ext.ux.MediaWindow=ux.Window);Ext.onReady(function(){var CSS=Ext.util.CSS,rules=[];CSS.getRule('.x-media')||(rules.push('.x-media{width:100%;height:100%;display:block;overflow:none;outline:none;}'));CSS.getRule('.x-media-mask')||(rules.push('.x-media-mask{width:100%;height:100%;position:relative;zoom:1;}'));CSS.getRule('.x-media-img')||(rules.push('.x-media-img{background-color:transparent;width:auto;height:auto;zoom:1;}'));CSS.getRule('.x-hide-nosize')||(rules.push('.x-hide-nosize,.x-hide-nosize *{height:0px!important;width:0px!important;border:none!important;}'));if(!!rules.length){CSS.createStyleSheet(rules.join(''));}});Ext.apply(Ext.Element.prototype,{setVisible:function(visible,animate){if(!animate||!Ext.lib.Anim){if(this.visibilityMode===Ext.Element.DISPLAY){this.setDisplayed(visible);}else if(this.visibilityMode===Ext.Element.VISIBILITY){this.fixDisplay();this.dom.style.visibility=visible?"visible":"hidden";}else{this[visible?'removeClass':'addClass'](String(this.visibilityMode));}}else{var dom=this.dom;var visMode=this.visibilityMode;if(visible){this.setOpacity(.01);this.setVisible(true);}
this.anim({opacity:{to:(visible?1:0)}},this.preanim(arguments,1),null,.35,'easeIn',function(){if(!visible){if(visMode===Ext.Element.DISPLAY){dom.style.display="none";}else if(visMode===Ext.Element.VISIBILITY){dom.style.visibility="hidden";}else{Ext.get(dom).addClass(String(visMode));}
Ext.get(dom).setOpacity(1);}});}
return this;},isVisible:function(deep){var vis=!(this.getStyle("visibility")==="hidden"||this.getStyle("display")==="none"||this.hasClass(this.visibilityMode));if(deep!==true||!vis){return vis;}
var p=this.dom.parentNode;while(p&&p.tagName.toLowerCase()!=="body"){if(!Ext.fly(p,'_isVisible').isVisible()){return false;}
p=p.parentNode;}
return true;}});var ElementMaskFixes={mask:function(msg,msgCls,maskCls){if(this.getStyle("position")=="static"){this.setStyle("position","relative");}
if(this._maskMsg){this._maskMsg.remove();}
if(this._mask){}
this._mask||(this._mask=Ext.DomHelper.append(this.dom,{cls:maskCls||"ext-el-mask"},true));!Ext.isIE||this.addClass("x-masked");this._mask.setVisible(true);if(typeof msg=='string'){var mm=this._maskMsg=Ext.DomHelper.append(this.dom,{cls:"ext-el-mask-msg "+msgCls||'',style:{visibility:'hidden'},cn:{tag:'div',html:msg}},true);var el=this.dom;(function(){try{mm.center(el).setVisible(true);}catch(e){}}).defer(4);}
if(Ext.isIE&&!(Ext.isIE7&&Ext.isStrict)&&this.getStyle('height')=='auto'){this._mask.setSize(this.dom.clientWidth,this.getHeight());}
return this._mask;},unmask:function(remove){if(this._maskMsg){if(remove){this._maskMsg.remove();delete this._maskMsg;}else{this._maskMsg.setVisible.defer(4,this._maskMsg,[false]);}}
if(this._mask){if(remove){this._mask.remove();delete this._mask;}else{this._mask.setVisible(false);}}
this.removeClass("x-masked");}};ux.VisibilityFix=function(opt){opt||(opt={});this.init=function(c){c.hideMode=opt.hideMode||c.hideMode;c.on('render',function(co){var els=[co.collapseEl,(co.floating?null:co.actionMode)].concat(opt.elements||[]);var El=Ext.Element;var mode=opt.mode||co.visibilityCls||El[co.hideMode.toUpperCase()]||El.VISIBILITY;Ext.each(els,function(el){var e=co[el]||el;if(e&&e.setVisibilityMode){e.setVisibilityMode(mode);}});},c,{single:true});};};Ext.ux.IntelliMask=function(el,config){Ext.apply(this,config);this.el=Ext.get(el);this.removeMask=Ext.value(this.removeMask,true);if(el&&this.fixElementForMedia){Ext.apply(el,ElementMaskFixes);}};Ext.ux.IntelliMask.prototype={msg:'Loading Media...',msgCls:'x-mask-loading',zIndex:null,disabled:false,active:false,autoHide:false,disable:function(){this.disabled=true;},enable:function(){this.disabled=false;},show:function(msg,msgCls,fn,fnDelay){if(this.disabled||!this.el){return null;}
var opt={},autoHide=this.autoHide;fnDelay=parseInt(fnDelay,10)||20;if(typeof msg=='object'){opt=msg;msg=opt.msg;msgCls=opt.msgCls;fn=opt.fn;autoHide=typeof opt.autoHide!='undefined'?opt.autoHide:autoHide;fnDelay=opt.fnDelay||fnDelay;}
var mask=this.el.mask(msg||this.msg,msgCls||this.msgCls);this.active=!!this.el._mask;if(this.active){if(this.zIndex){this.el._mask.setStyle("z-index",this.zIndex);if(this.el._maskMsg){this.el._maskMsg.setStyle("z-index",this.zIndex+1);}}}
if(typeof fn==='function'){fn.defer(fnDelay,opt.scope||null);}else{fnDelay=0;}
if(autoHide&&(autoHide=parseInt(autoHide,10)||2000)){this.hide.defer(autoHide+(fnDelay||0),this);}
return this.active?{mask:this.el._mask,maskMsg:this.el._maskMsg}:null;},hide:function(remove){if(this.el){this.el.unmask(remove||this.removeMask);}
this.active=false;return this;},destroy:function(){this.hide(true);this.el=null;}};})();Ext.ux.Media.mediaTypes.PDF.unsupportedText='Get Acrobat Reader: <a href="http://www.adobe.com/products/acrobat/readstep2.html" target="_fdownload">Here</a>';Ext.ux.Media.mediaTypes.RDP.unsupportedText='Remote Desktop Web Connection ActiveX control is required. <a target="_msd" href="http://go.microsoft.com/fwlink/?linkid=44333">Download it here</a>.';window.onYouTubePlayerReady=function(playerId){var el=Ext.get(playerId);var flashComp=el?el.ownerCt:null;if(flashComp&&flashComp.onFlashInit){flashComp.onFlashInit();}};Ext.override(Ext.tree.ColumnTree,{loaderGetByKeysComplete:function(data,updateData){var data2=new Ext.util.MixedCollection();Ext.each(data,function(nodeData){data2.add(nodeData.id,nodeData);},this);if(updateData.added){var loader=this.getLoader();Ext.each(updateData.added,function(item){var nodeData=data2.get(item._key);var parentNode=null;if(nodeData.parent){parentNode=this.getNodeById(nodeData.parent);}else{parentNode=this.getRootNode();}
if(parentNode){var node=loader.createNode(nodeData);parentNode.appendChild(node);parentNode.expand();if(nodeData._selected){this.getSelectionModel().clearSelections(false);this.selModel.select(node);}}},this);}
if(updateData.modified){Ext.each(updateData.modified,function(item){var nodeData=data2.get(item._key);var node=this.getNodeById(nodeData.id);if(node){if(nodeData._parent&&node.parentNode.id!=nodeData._parent){this.getNodeById(nodeData._parent).expand();node.remove();node.destroy();}else{node.setColumnValues(nodeData);}}},this);}}});Ext.override(Ext.tree.ColumnNodeUI,{onTextChange:function(node,data,oldText){if(this.rendered){Ext.each(node.ownerTree.columns,function(item,v){var index=item.dataIndex;var column=this.elNode.children[v];if(v==0){column.children[3].children[0].innerHTML=data[index];}else{column.children[0].innerHTML=data[index];}},this);}}});Ext.override(Ext.tree.TreeNode,{setColumnValues:function(nodeData){for(var v in nodeData){this.attributes[v]=nodeData[v];}
if(this.rendered){this.ui.onTextChange(this,this.attributes,null);}
this.fireEvent("textchange",this,this.attributes,null);}});Ext.ns('Ext.sm');function S4(){return(((1+Math.random())*0x10000)|0).toString(16).substring(1);}
function generate_guid(){return(S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());}
Ext.sm.CometManager=function(){this.addEvents({}),this.guid=generate_guid();}
Ext.extend(Ext.sm.CometManager,Ext.util.Observable,{addListener:function(eventName,handler,scope,options){if(!$.comet._bInitialized){return;}
if(!this.events||!this.events[eventName]||this.events[eventName].listeners.length==0){var me=this;$.comet.subscribe(eventName,function(e){me.callback(eventName,e.data);});}
Ext.sm.CometManager.superclass.addListener.call(this,eventName,handler,scope,options);},on:function(eventName,handler,scope,options){this.addListener(eventName,handler,scope,options);},removeListener:function(eventName,handler,scope){Ext.sm.CometManager.superclass.removeListener.call(this,eventName,handler,scope);if(this.events&&this.events[eventName]&&this.events[eventName].listeners.length==0){$.comet.unsubscribe(eventName);}},un:function(eventName,handler,scope){this.removeListener(eventName,handler,scope);},callback:function(event,data){if(data['guid']!=this.guid){this.fireEvent(event,event,data);}}});Ext.sm.CometMgr=new Ext.sm.CometManager();(function($)
{var msgHandshake={version:'1.0',minimumVersion:'0.9',channel:'/meta/handshake'};var oTransport=function()
{this._bXD=(($.comet._sUrl.substring(0,4)=='http')&&($.comet._sUrl.substr(7,location.href.length).replace(/\/.*/,'')!=location.host))?true:false;this.connectionType=(this._bXD)?'callback-polling':'long-polling';this.startup=function(oReturn)
{if(this._comet._bConnected)return;this.tunnelInit();};this.tunnelInit=function()
{var msgConnect={channel:'/meta/connect',clientId:$.comet.clientId,id:String($.comet._nNextId++),connectionType:$.comet._oTransport.connectionType};this.openTunnel(msgConnect);};this.openTunnel=function(oMsg)
{$.comet._bPolling=true;this._send($.comet._sUrl,oMsg,function(sReturn)
{var oReturn=(typeof sReturn!="object")?(eval('('+sReturn+')')):sReturn;$.comet._bPolling=false;$.comet.deliver(oReturn);$.comet._oTransport.closeTunnel();});};this.closeTunnel=function()
{if(!$.comet._bInitialized)return;if($.comet._advice)
{if($.comet._advice.reconnect=='none')return;if($.comet._advice.interval>0)
{setTimeout($.comet._oTransport._connect,$.comet._advice.interval);}
else
{$.comet._oTransport._connect();}}
else
{$.comet._oTransport._connect();}};this._connect=function()
{if(!$.comet._bInitialized)return;if($.comet._bPolling)return;if($.comet._advice&&$.comet._advice.reconnect=='handshake')
{$.comet._bConnected=false;$.comet.init($.comet._sUrl);}
else if($.comet._bConnected)
{var msgConnect={clientId:$.comet.clientId,id:String($.comet._nNextId++),channel:'/meta/connect',connectionType:$.comet._oTransport.connectionType};$.comet._oTransport.openTunnel(msgConnect);}};this._send=function(sUrl,oMsg,fCallback){var fCallback=(fCallback)?fCallback:function(sReturn)
{var oReturn=(typeof sReturn!="object")?(eval('('+sReturn+')')):sReturn;$.comet.deliver(oReturn);if($.comet._advice)
{if($.comet._advice.reconnect=='none')
return;if($.comet._advice.interval>0)
{setTimeout($.comet._oTransport._connect,$.comet._advice.interval);}
else
{$.comet._oTransport._connect();}}
else
{$.comet._oTransport._connect();}};if((!this._bXD)&&(this.connectionType=='long-polling'))
{this._pollRequest=$.ajax({url:sUrl,type:'get',beforeSend:function(oXhr){oXhr.setRequestHeader('Connection','Keep-Alive');},data:{message:Ext.encode(oMsg)},success:fCallback});}
else
{this._pollRequest=$.ajax({url:sUrl,dataType:'jsonp',jsonp:'jsonp',beforeSend:function(oXhr){oXhr.setRequestHeader('Connection','Keep-Alive');},data:{message:Ext.encode($.extend(oMsg,{connectionType:'callback-polling'}))},success:fCallback});}}};$.comet=new function()
{this.CONNECTED='CONNECTED';this.CONNECTING='CONNECTING';this.DISCONNECTED='DISCONNECTED';this.DISCONNECTING='DISCONNECTING';this._aMessageQueue=[];this._aSubscriptions=[];this._aSubscriptionCallbacks=[];this._bInitialized=false;this._bConnected=false;this._nBatch=0;this._nNextId=0;this._oTransport='';this._sUrl='';this.supportedConectionTypes=['long-polling','callback-polling'];this.clientId='';this._bTrigger=true;this.init=function(sUrl)
{this._sUrl=(sUrl)?sUrl:'/cometd';this._oTransport=new oTransport();this._aMessageQueue=[];this._aSubscriptions=[];this._bInitialized=true;this.startBatch();var oMsg=$.extend(msgHandshake,{id:String(this._nNextId++)});this._oTransport._send(this._sUrl,oMsg,$.comet._finishInit);};this._finishInit=function(sReturn)
{var oReturn=(typeof sReturn!="object")?(eval('('+sReturn+')')[0]):sReturn[0];if(oReturn.advice)
$.comet._advice=oReturn.advice;var bSuccess=(oReturn.successful)?oReturn.successful:false;if(bSuccess)
{$.comet._oTransport._comet=$.comet;$.comet._oTransport.version=$.comet.version;$.comet.clientId=oReturn.clientId;$.comet._oTransport.startup(oReturn);$.comet.endBatch();}};this._sendMessage=function(oMsg)
{if($.comet._nBatch<=0)
{if(oMsg.length>0)
for(var i in oMsg)
{oMsg[i].clientId=String($.comet.clientId);oMsg[i].id=String($.comet._nNextId++);}
else
{oMsg.clientId=String($.comet.clientId);oMsg.id=String($.comet._nNextId++);}
$.comet._oTransport._send($.comet._sUrl,oMsg);}
else
{$.comet._aMessageQueue.push(oMsg);}};this.startBatch=function(){this._nBatch++};this.endBatch=function(){if(--this._nBatch<=0)
{this._nBatch=0;if(this._aMessageQueue.length>0)
{this._sendMessage(this._aMessageQueue);this._aMessageQueue=[];}}};this.subscribe=function(sSubscription,fCallback)
{if(!this._aSubscriptions[sSubscription])
{this._aSubscriptions.push(sSubscription)
if(fCallback){this._aSubscriptionCallbacks[sSubscription]=fCallback;}
this._sendMessage({channel:'/meta/subscribe',subscription:sSubscription});}};this.unsubscribe=function(sSubscription){$.comet._sendMessage({channel:'/meta/unsubscribe',subscription:sSubscription});};this.publish=function(sChannel,oData)
{$.comet._sendMessage({channel:sChannel,data:oData});};this.deliver=function(sReturn)
{var oReturn=sReturn;$(oReturn).each(function()
{$.comet._deliver(this);});};this.disconnect=function()
{$($.comet._aSubscriptions).each(function(i)
{$.comet.unsubscribe($.comet._aSubscriptions[i]);});$.comet._sendMessage({channel:'/meta/disconnect'});$.comet._bInitialized=false;}
this._deliver=function(oMsg,oData)
{if(oMsg.advice)
{$.comet._advice=oMsg.advice;}
switch(oMsg.channel)
{case'/meta/connect':if(oMsg.successful&&!$.comet._bConnected)
{$.comet._bConnected=$.comet._bInitialized;$.comet.endBatch();}
else
{}
break;case'/meta/subscribe':if(!oMsg.successful)
{$.comet._oTransport._cancelConnect();return;}
break;case'/meta/unsubscribe':if(!oMsg.successful)
{$.comet._oTransport._cancelConnect();return;}
break;}
if(oMsg.data)
{if($.comet._bTrigger)
{$.event.trigger(oMsg.channel,[oMsg]);}
var cb=$.comet._aSubscriptionCallbacks[oMsg.channel];if(cb){cb(oMsg);}}};};})(jQuery);Ext.ns('Ext.sm');Ext.sm.EntityUpdaterClass=function(){this.addEvents({});this.listenersCount=new Ext.util.MixedCollection();}
Ext.extend(Ext.sm.EntityUpdaterClass,Ext.util.Observable,{listenersCount:null,addListener:function(eventName,handler,scope,options){scope.entityUpdaterBinded=true;eventName=eventName.toLowerCase();Ext.sm.EntityUpdaterClass.superclass.addListener.call(this,eventName,handler,scope,options);if(this.listenersCount.containsKey(eventName)){this.listenersCount.replace(eventName,this.listenersCount.get(eventName)+1);}else{this.listenersCount.add(eventName,1);Ext.sm.CometMgr.on(eventName,this._cometMessageReceived,this);}},on:function(eventName,handler,scope,options){this.addListener(eventName,handler,scope,options);},removeListener:function(eventName,handler,scope){scope.entityUpdaterBinded=false;eventName=eventName.toLowerCase();Ext.sm.EntityUpdaterClass.superclass.removeListener.call(this,eventName,handler,scope);var listenersCount=this.listenersCount.get(eventName)-1;this.listenersCount.replace(eventName,listenersCount);if(listenersCount==0){this.listenersCount.removeKey(eventName);Ext.sm.CometMgr.un(eventName,this._cometMessageReceived,this);}},un:function(eventName,handler,scope){this.removeListener(eventName,handler,scope);},update:function(channel,data){data.remote=false;this.fireEvent(channel,data);},_cometMessageReceived:function(channel,data){if(data.ssid==Ext.sm.Cookie.get('PHPSESSID',false))
return;data.remote=true;this.fireEvent(channel,data);}});Ext.sm.EntityUpdater=new Ext.sm.EntityUpdaterClass();if(typeof _tr!='function'){_tr=function(token){return token;}}
Ext.namespace('Ext.sm.l10n');Ext.apply(Ext.sm.l10n,{localeSettings:{},setLocaleSettings:function(localeSettings){this.localeSettings=localeSettings;},preformatDate:function(format){var substs={'YYYY':'Y','YY':'y','MM':'m','dd':'d','HH':'H','mm':'i','ss':'s'};for(symb in substs){format=format.replace(symb,substs[symb]);}
return format;},parseInnerDate:function(innerDate){var timestamp=innerDate;if(typeof innerDate=='string'&&!innerDate.match(/^\d+$/)){var timePart='';var datePart='';var tm=[0,0,0];var dt=[1971,1,1];var p=innerDate.indexOf(' ');if(-1!=p){datePart=innerDate.substr(0,p);timePart=innerDate.substr(p+1);}else{if(-1!=innerDate.indexOf('-')){datePart=innerDate;}else{timePart=innerDate;}}
if(timePart.length>0){var tm2=timePart.split(':');tm[0]=tm2[0];if(tm2.length>1)tm[1]=tm2[1];if(tm2.length>2)tm[2]=tm2[2];}
if(datePart.length>0){dt=datePart.split('-');if(dt.length!=3){alert('Internal error: invalid date format '+innerDate);return new Date(0);}}
return new Date(dt[0],dt[1]-1,dt[2],tm[0],tm[1],tm[2]);}
timestamp|=0;return new Date(timestamp*1000);},addThousandSeparator:function(value,separator){value+='';value=value.split('.');var len=value[0].length;var newInt='';for(var i=0;i<len;i++){if(i%3==len%3&&i>0){newInt+=separator;}
newInt+=value[0].substr(i,1);}
value[0]=newInt;return value.join('.');},convert:function(data,type,options){if(null==data||undefined==data||''==data){return data;}
var _fixlen=function(num,len){num+='';while(num.length<len){num='0'+num;}
return num;}
options=options||{};var loc=this.localeSettings;if(typeof data=='string'&&data.match(/^[0-9]+$/)){data|=0;}
if('number'==type){prec=loc[type].precision;if(options.precision!=undefined){prec=options.precision;}
thousandSeparator=loc[type].thousandSeparator;if(options.thousandSeparator!=undefined){thousandSeparator=options.thousandSeparator;}
separator=loc[type].separator;if(options.separator!=undefined){separator=options.separator;}
data=parseFloat(data).toFixed(prec);data=data+'';data=Ext.sm.l10n.addThousandSeparator(data,thousandSeparator);data=data.replace('.',separator);}
if('integer'==type){thousandSeparator=loc[type].thousandSeparator;if(options.thousandSeparator!=undefined){thousandSeparator=options.thousandSeparator;}
data|=0;data=Ext.sm.l10n.addThousandSeparator(data,thousandSeparator);}
if('date'==type){if(data==0){data='';}else{var dt=this.parseInnerDate(data);data=dt.format(loc[type].format);}}
if('time'==type){if(data==0){data='';}else{var format='format';if(options.format)format+='_'+options.format;var dt=this.parseInnerDate(data);data=dt.format(loc[type][format]);}}
if('datetime'==type){if(data==0){data='';}else{var dt=this.parseInnerDate(data);data=dt.format(loc[type].format);}}
if('currency'==type){data=loc[type].format.replace('#',this.convert(data,'number',options));}
return data;}});Ext.BigButton=Ext.extend(Ext.Button,{buttonSelector:null,onRender:function(ct,position){this.template=new Ext.Template('<table border="0" cellpadding="0" cellspacing="0" class="x-bigbtn"><tbody><tr >','<td class="x-bigbtn-left" rowspan="2"><i>&#160;</i></td>','<td class="x-bigbtn-center" colspan="2"><em unselectable="on"><button type="button">{0}</button></em></td>','<td class="x-bigbtn-right" rowspan="2"><i>&#160;</i></td>','</tr><tr>','<td class="x-bigbtn-bleft"><em unselectable="on">{1}</em></td>','<td class="x-bigbtn-bright"><em unselectable="on">{2}</em></td>','</tr></tbody></table>');var btn,targs=[this.text||'&#160;',this.textl||'&#160;',this.textr||'&#160;'];if(position){btn=this.template.insertBefore(position,targs,true);}else{btn=this.template.append(ct,targs,true);}
this.el=btn;btn.on('focus',this.onFocus,this);btn.on('blur',this.onBlur,this);if(this.id){this.el.dom.id=this.el.id=this.id;}
if(this.cls){btn.addClass(this.cls);}
if(this.iconCls){btn.child('td.x-bigbtn-center em').addClass('x-bigbtn-icon');btn.child('td.x-bigbtn-center em').addClass(this.iconCls);}
if(this.tabIndex!==undefined){btn.child('td.x-bigbtn-center button').dom.tabIndex=this.tabIndex;}
if(this.tooltip){if(typeof this.tooltip=='object'){Ext.QuickTips.register(Ext.apply({target:btn.id},this.tooltip));}else{btn.dom[this.tooltipType]=this.tooltip;}}
if(this.pressed){this.el.addClass("x-bigbtn-pressed");}
if(this.handleMouseEvents){btn.on("mouseover",this.onMouseOver,this);btn.on("mousedown",this.onMouseDown,this);}
btn.on(this.clickEvent,this.onClick,this);},setIconClass:function(cls){if(this.el){if(Ext.isEmpty(this.iconCls)){this.el.child('td.x-bigbtn-center em').addClass('x-bigbtn-icon');}
this.el.child('td.x-bigbtn-center em').replaceClass(this.iconCls,cls);}
this.iconCls=cls;},beforeDestroy:function(){if(this.rendered){if(this.tooltip){Ext.QuickTips.unregister(this.el);}
this.el.removeAllListeners();}},autoWidth:function(){if(this.el){this.el.setWidth("auto");if(Ext.isIE7&&Ext.isStrict){var ib=this.el.child('td.x-bigbtn-center button');if(ib&&ib.getWidth()>20){ib.clip();ib.setWidth(Ext.util.TextMetrics.measure(ib,this.text).width+ib.getFrameWidth('lr'));}}
if(this.minWidth){if(this.el.getWidth()<this.minWidth){this.el.setWidth(this.minWidth);}}}},setText:function(text){this.text=text;if(this.el){this.el.child("td.x-bigbtn-center button").update(text);}
this.autoWidth();},setTextL:function(text){this.textl=text;if(this.el){this.el.child("td.x-bigbtn-bleft em").update(text);}},setTextR:function(text){this.textr=text;if(this.el){this.el.child("td.x-bigbtn-bright em").update(text);}},toggle:function(state){},showMenu:function(){return this;},hideMenu:function(){return this;},hasVisibleMenu:function(){return false;},focus:function(){this.el.child("td.x-btn-center button").focus();},onClick:function(e){if(e){e.preventDefault();}
if(e.button!=0){return;}
if(!this.disabled){this.fireEvent("click",this,e);if(this.handler){this.handler.call(this.scope||this,this,e);}}},isMenuTriggerOver:function(e,internal){return false;},isMenuTriggerOut:function(e,internal){return false;},onMouseOver:function(e){if(!this.disabled){var internal=e.within(this.el,true);if(!internal){this.el.addClass("x-btn-over");if(!this.monitoringMouseOver){Ext.getDoc().on('mouseover',this.monitorMouseOver,this);this.monitoringMouseOver=true;}
this.fireEvent('mouseover',this,e);}}},onMouseOut:function(e){var internal=e.within(this.el)&&e.target!=this.el.dom;this.el.removeClass("x-btn-over");this.fireEvent('mouseout',this,e);},onMenuShow:function(e){},onMenuHide:function(e){},setSize:function(){}});Ext.reg('bigbutton',Ext.BigButton);Ext.Icon=function(icon,group,type){if(!icon)return'';group=group||'silk';type=type||'png';var className="smic-"+icon.replace(/_/g,"-");var css=Ext.util.CSS.getStyleSheet('dynamic-icons-'+group);if(-1==css.indexOf('.'+className+' ')){css+=String.format('.{0} { background-image: url({1}/{2}.{3}) !important } ',className,Ext.Icon.path+group,icon,type)
Ext.util.CSS.updateStyleSheet(css,'dynamic-icons-'+group);}
return className;};Ext.Icon.path='Ext.Icon.pathNotSet';Ext.ux.NotificationMgr={positions:[]};Ext.ux.Notification=Ext.extend(Ext.Window,{initComponent:function(){Ext.apply(this,{iconCls:this.iconCls||'x-icon-information',width:200,autoHeight:true,closable:false,plain:false,draggable:false,bodyStyle:'text-align:center;padding:1em;'});this.html=this.msg||this.html||'Notice';if(this.autoDestroy){this.task=new Ext.util.DelayedTask(this.hide,this);}else{this.closable=true;}
Ext.ux.Notification.superclass.initComponent.call(this);},setMessage:function(msg){this.body.update(msg);},setTitle:function(title,iconCls){Ext.ux.Notification.superclass.setTitle.call(this,title,iconCls||this.iconCls);},onRender:function(ct,position){Ext.ux.Notification.superclass.onRender.call(this,ct,position);},onDestroy:function(){Ext.ux.NotificationMgr.positions.remove(this.pos);Ext.ux.Notification.superclass.onDestroy.call(this);},afterShow:function(){Ext.ux.Notification.superclass.afterShow.call(this);this.on('move',function(){Ext.ux.NotificationMgr.positions.remove(this.pos);if(this.autoDestroy){this.task.cancel();}},this);if(this.autoDestroy){this.task.delay(this.hideDelay||5000);}},animShow:function(){this.pos=0;while(Ext.ux.NotificationMgr.positions.indexOf(this.pos)>-1)
this.pos++;Ext.ux.NotificationMgr.positions.push(this.pos);this.setSize(200,100);this.el.alignTo(document,"br-br",[-1,-1-((this.getSize().height+10)*this.pos)]);this.el.slideIn('b',{duration:1,callback:this.afterShow,scope:this});},animHide:function(){Ext.ux.NotificationMgr.positions.remove(this.pos);this.el.ghost("b",{duration:1,remove:true});}});Ext.ux.Portal=Ext.extend(Ext.Panel,{layout:'column',autoScroll:true,cls:'x-portal',defaultType:'portalcolumn',initComponent:function(){Ext.ux.Portal.superclass.initComponent.call(this);this.addEvents({validatedrop:true,beforedragover:true,dragover:true,beforedrop:true,drop:true});},initEvents:function(){Ext.ux.Portal.superclass.initEvents.call(this);this.dd=new Ext.ux.Portal.DropZone(this,this.dropConfig);},beforeDestroy:function(){if(this.dd){this.dd.unreg();}
Ext.ux.Portal.superclass.beforeDestroy.call(this);}});Ext.reg('portal',Ext.ux.Portal);Ext.ux.Portal.DropZone=function(portal,cfg){this.portal=portal;Ext.dd.ScrollManager.register(portal.body);Ext.ux.Portal.DropZone.superclass.constructor.call(this,portal.bwrap.dom,cfg);portal.body.ddScrollConfig=this.ddScrollConfig;};Ext.extend(Ext.ux.Portal.DropZone,Ext.dd.DropTarget,{ddScrollConfig:{vthresh:50,hthresh:-1,animate:true,increment:200},createEvent:function(dd,e,data,col,c,pos){return{portal:this.portal,panel:data.panel,columnIndex:col,column:c,position:pos,data:data,source:dd,rawEvent:e,status:this.dropAllowed};},notifyOver:function(dd,e,data){var xy=e.getXY(),portal=this.portal,px=dd.proxy;if(!this.grid){this.grid=this.getGrid();}
var cw=portal.body.dom.clientWidth;if(!this.lastCW){this.lastCW=cw;}else if(this.lastCW!=cw){this.lastCW=cw;portal.doLayout();this.grid=this.getGrid();}
var col=0,xs=this.grid.columnX,cmatch=false;for(var len=xs.length;col<len;col++){if(xy[0]<(xs[col].x+xs[col].w)){cmatch=true;break;}}
if(!cmatch){col--;}
var p,match=false,pos=0,c=portal.items.itemAt(col),items=c.items.items,overSelf=false;for(var len=items.length;pos<len;pos++){p=items[pos];var h=p.el.getHeight();if(h===0){overSelf=true;}
else if((p.el.getY()+(h/2))>xy[1]){match=true;break;}}
pos=(match&&p?pos:c.items.getCount())+(overSelf?-1:0);var overEvent=this.createEvent(dd,e,data,col,c,pos);if(portal.fireEvent('validatedrop',overEvent)!==false&&portal.fireEvent('beforedragover',overEvent)!==false){px.getProxy().setWidth('auto');if(p){px.moveProxy(p.el.dom.parentNode,match?p.el.dom:null);}else{px.moveProxy(c.el.dom,null);}
this.lastPos={c:c,col:col,p:overSelf||(match&&p)?pos:false};this.scrollPos=portal.body.getScroll();portal.fireEvent('dragover',overEvent);return overEvent.status;}else{return overEvent.status;}},notifyOut:function(){delete this.grid;},notifyDrop:function(dd,e,data){delete this.grid;if(!this.lastPos){return;}
var c=this.lastPos.c,col=this.lastPos.col,pos=this.lastPos.p;var dropEvent=this.createEvent(dd,e,data,col,c,pos!==false?pos:c.items.getCount());if(this.portal.fireEvent('validatedrop',dropEvent)!==false&&this.portal.fireEvent('beforedrop',dropEvent)!==false){dd.proxy.getProxy().remove();dd.panel.el.dom.parentNode.removeChild(dd.panel.el.dom);if(pos!==false){if(c==dd.panel.ownerCt&&(c.items.items.indexOf(dd.panel)<=pos)){pos++;}
c.insert(pos,dd.panel);}else{c.add(dd.panel);}
c.doLayout();this.portal.fireEvent('drop',dropEvent);var st=this.scrollPos.top;if(st){var d=this.portal.body.dom;setTimeout(function(){d.scrollTop=st;},10);}}
delete this.lastPos;},getGrid:function(){var box=this.portal.bwrap.getBox();box.columnX=[];this.portal.items.each(function(c){box.columnX.push({x:c.el.getX(),w:c.el.getWidth()});});return box;},unreg:function(){Ext.ux.Portal.DropZone.superclass.unreg.call(this);}});Ext.ux.PortalColumn=Ext.extend(Ext.Container,{layout:'anchor',autoEl:'div',defaultType:'portlet',cls:'x-portal-column'});Ext.reg('portalcolumn',Ext.ux.PortalColumn);Ext.ux.Portlet=Ext.extend(Ext.Panel,{anchor:'100%',frame:true,collapsible:true,draggable:true,cls:'x-portlet',collapseFirst:false});Ext.reg('portlet',Ext.ux.Portlet);Ext.StatusBar=Ext.extend(Ext.Toolbar,{cls:'x-statusbar',busyIconCls:'x-status-busy',busyText:'Loading...',autoClear:5000,activeThreadId:0,initComponent:function(){if(this.statusAlign=='right'){this.cls+=' x-status-right';}
Ext.StatusBar.superclass.initComponent.call(this);},onRender:function(ct,position){if(this.statusAlign=='right'){this.spacerEl=this.addFill();}
this.statusEl=this.addText({cls:'x-status-text '+(this.iconCls||this.defaultIconCls||''),text:this.text||this.defaultText||''});if(this.statusAlign!='right'){this.spacerEl=this.addFill();}
Ext.StatusBar.superclass.onRender.call(this,ct,position);},setStatus:function(o){o=o||{};if(typeof o=='string'){o={text:o};}
if(o.text!==undefined){this.setText(o.text);}
if(o.iconCls!==undefined){this.setIcon(o.iconCls);}
if(o.clear){var c=o.clear,wait=this.autoClear,defaults={useDefaults:true,anim:true};if(typeof c=='object'){c=Ext.applyIf(c,defaults);if(c.wait){wait=c.wait;}}else if(typeof c=='number'){wait=c;c=defaults;}else if(typeof c=='boolean'){c=defaults;}
c.threadId=this.activeThreadId;this.clearStatus.defer(wait,this,[c]);}
return this;},clearStatus:function(o){o=o||{};if(o.threadId&&o.threadId!==this.activeThreadId){return this;}
o.useDefaults=o.useDefaults||true;var text=o.useDefaults?this.defaultText:'',iconCls=o.useDefaults?(this.defaultIconCls?this.defaultIconCls:''):'';if(o.anim){this.statusEl.fadeOut({remove:false,useDisplay:true,scope:this,callback:function(){this.setStatus({text:text,iconCls:iconCls});this.statusEl.show();}});}else{this.statusEl.hide();this.setStatus({text:text,iconCls:iconCls});this.statusEl.show();}
return this;},setText:function(text){this.activeThreadId++;this.text=text||'';if(this.rendered){this.statusEl.setText(this.text);}
return this;},getText:function(){return this.text;},setIcon:function(cls){this.activeThreadId++;cls=cls||'';if(this.rendered){if(this.currIconCls){this.statusEl.removeClass(this.currIconCls);this.currIconCls=null;}
if(cls.length>0){this.statusEl.addClass(cls);this.currIconCls=cls;}}else{this.currIconCls=cls;}
return this;},showBusy:function(o){if(typeof o=='string'){o={text:o};}
o=Ext.applyIf(o||{},{text:this.busyText,iconCls:this.busyIconCls});return this.setStatus(o);}});Ext.reg('statusbar',Ext.StatusBar);Ext.ux.TabScrollerMenu=Ext.extend(Object,{pageSize:10,maxText:20,menuPrefixText:'',constructor:function(config){config=config||{};Ext.apply(this,config);this.maxText=this.maxText||1000;},init:function(tabPanel){Ext.apply(tabPanel,this.tabPanelMethods);tabPanel.tabScrollerMenu=this;var thisRef=this;tabPanel.on({render:{scope:tabPanel,single:true,fn:function(){var newFn=tabPanel.createScrollers.createSequence(thisRef.createPanelsMenu,this);tabPanel.createScrollers=newFn;}}});},createPanelsMenu:function(){var h=this.stripWrap.dom.offsetHeight;var hf=this.tabPosition=='bottom'?this.footer:this.header;var rtScrBtn=hf.dom.firstChild;Ext.fly(rtScrBtn).applyStyles({right:'18px'});var stripWrap=Ext.get(this.strip.dom.parentNode);stripWrap.applyStyles({'margin-right':'36px'});var scrollMenu=hf.insertFirst({cls:'x-tab-tabmenu-right'});scrollMenu.setHeight(h);scrollMenu.addClassOnOver('x-tab-tabmenu-over');scrollMenu.on('click',this.showTabsMenu,this);this.scrollLeft.show=this.scrollLeft.show.createSequence(function(){scrollMenu.show();});this.scrollLeft.hide=this.scrollLeft.hide.createSequence(function(){scrollMenu.hide();});},getPageSize:function(){return this.pageSize;},setPageSize:function(pageSize){this.pageSize=pageSize;},getMaxText:function(){return this.maxText;},setMaxText:function(t){this.maxText=t;},getMenuPrefixText:function(){return this.menuPrefixText;},setMenuPrefixText:function(t){this.menuPrefixText=t;},tabPanelMethods:{showTabsMenu:function(e){if(!this.tabsMenu){this.tabsMenu=new Ext.menu.Menu({enableScrolling:false});this.on('beforedestroy',this.tabsMenu.destroy,this.tabsMenu);}
this.tabsMenu.removeAll();this.generateTabMenuItems();var target=Ext.get(e.getTarget());var xy=target.getXY();xy[1]+=24;this.tabsMenu.showAt(xy);},generateTabMenuItems:function(){var curActive=this.getActiveTab();var totalItems=this.items.getCount();var pageSize=this.tabScrollerMenu.getPageSize();if(totalItems>pageSize){var numSubMenus=Math.floor(totalItems/pageSize);var remainder=totalItems%pageSize;for(var i=0;i<numSubMenus;i++){var curPage=(i+1)*pageSize;var menuItems=new Ext.menu.Menu({enableScrolling:false});for(var x=0;x<pageSize;x++){index=x+curPage-pageSize;var item=this.items.get(index);menuItems.add(this.autoGenMenuItem(item));}
this.tabsMenu.add({text:this.tabScrollerMenu.getMenuPrefixText()+' '+(curPage-pageSize+1)+' - '+curPage,menu:menuItems});}
if(remainder>0){var start=numSubMenus*pageSize;menuItems=new Ext.menu.Menu({enableScrolling:false});for(var i=start;i<totalItems;i++){var item=this.items.get(i);menuItems.add(this.autoGenMenuItem(item));}
this.tabsMenu.add({text:this.tabScrollerMenu.menuPrefixText+' '+(start+1)+' - '+(start+menuItems.items.items.length),menu:menuItems});}}
else{this.items.each(function(item){if(item.id!=curActive.id&&!item.hidden){menuItems.add(this.autoGenMenuItem(item));}},this);}},autoGenMenuItem:function(item){var maxText=this.tabScrollerMenu.getMaxText();var text=Ext.util.Format.ellipsis(item.title,maxText);return{text:text,handler:this.showTabFromMenu,scope:this,disabled:item.disabled,tabToShow:item,iconCls:item.iconCls}},showTabFromMenu:function(menuItem){this.setActiveTab(menuItem.tabToShow);}}});Ext.ns('Ext.sm');Ext.sm.TimeoutControll=Ext.extend(Ext.SplitButton,{timeout:60*60*24,expiryTimeout:1,enabledText:_tr('PT_Ext_TimeoutControll.enabledText'),enabledIconCls:'pt_ext_timeoutcontroll-enabled',disabledText:_tr('PT_Ext_TimeoutControll.disabledText'),disabledIconCls:'pt_ext_timeoutcontroll-disabled',actionText:_tr('PT_Ext_TimeoutControll.actionText'),timeoutText:_tr('PT_Ext_TimeoutControll.timeoutText'),showtimeText:_tr('PT_Ext_TimeoutControll.showtimeText'),preventExpiryText:_tr('PT_Ext_TimeoutControll.preventExpiryText'),helpText:_tr('PT_Ext_TimeoutControll.helpText'),showTimeItem:null,preventExpiryItem:null,options:{enabled:true,showTime:false,preventExpiry:false},preventExpiryHandler:null,initComponent:function(){this.readOptions();this.showTimeItem=new Ext.menu.CheckItem({text:this.showtimeText,checkHandler:function(i,value){this.options.showTime=value;if(!value){this.setText(this.options.enabled?this.enabledText:this.disabledText);this.setIconClass(this.options.enabled?this.enabledIconCls:this.disabledIconCls);}else{this.setTooltip(this.helpText);}
this.saveOptions();},checked:this.options.showTime,scope:this});this.preventExpiryItem=new Ext.menu.CheckItem({text:this.preventExpiryText,checkHandler:function(i,value){this.options.preventExpiry=value;if(value){this.turnPreventExpiryOn();}else{this.turnPreventExpiryOff();}
this.saveOptions();},checked:this.options.preventExpiry,scope:this});this.menu=new Ext.menu.Menu({items:[this.preventExpiryItem,this.showTimeItem]});this.handler=function(){if(!this.options.enabled){this.options.enabled=true;this.turnOn();}else{this.options.enabled=false;this.turnOff();}
this.saveOptions();};this.task={run:this.updateClock,interval:1000,scope:this};this.preventExpiryTask={run:this.preventExpiryHandler,interval:this.preventExpiryTimeout?parseInt(this.preventExpiryTimeout)*1000:10000,scope:this};Ext.sm.TimeoutControll.superclass.initComponent.call(this);if(this.options.enabled){this.turnOn();}else{this.turnOff();}
if(this.preventExpiryHandler&&this.options.preventExpiry){this.turnPreventExpiryOn.defer(this.preventExpiryTask.interval,this);}else{this.turnPreventExpiryOff();}},updateClock:function(){this.timeout--;if(this.timeout<1){this.setDisabled(true);this.setText(this.actionText);Ext.TaskMgr.stop(this.task);Ext.getBody().un('click',this.resetClock,this);this.timeoutHandler();return;}
var display=this.setText;var text=this.timeoutText;if(!this.options.showTime){display=this.setTooltip;text=String.format('{0}<br/><br/><b>{1}</b>',this.helpText,this.timeoutText);}
if(this.timeout<60){display.call(this,String.format(text,String.format('0m {0}s',this.timeout)));return;}
if(this.timeout<60*60){var min=parseInt(this.timeout/60);display.call(this,String.format(text,String.format('{0}m {1}s',min,parseInt(this.timeout-min*60))));return;}},resetClock:function(){this.timeout=this.expiryTimeout;},turnOff:function(){this.setText(this.disabledText);this.setIconClass(this.disabledIconCls);Ext.TaskMgr.stop(this.task);Ext.getBody().un('click',this.resetClock,this);},turnOn:function(){this.setText(this.enabledText);this.setIconClass(this.enabledIconCls);this.resetClock();Ext.TaskMgr.start(this.task);Ext.getBody().on('click',this.resetClock,this);},turnPreventExpiryOff:function(){Ext.TaskMgr.stop(this.preventExpiryTask);},turnPreventExpiryOn:function(){Ext.TaskMgr.start(this.preventExpiryTask);},timeoutHandler:function(){alert('Bum');},saveOptions:function(){Ext.sm.Cookie.set('pt-ext-timeout',Ext.encode(this.options),{expires:60*60*24*365});},readOptions:function(){var cookie=Ext.sm.Cookie.get('pt-ext-timeout');if(cookie){this.options=Ext.decode(cookie);}}});Ext.reg('timeoutcontroll',Ext.sm.TimeoutControll);Ext.namespace('Ext.ux.uploader');Ext.ux.uploader.AbstractAdapter=function(config){Ext.ux.uploader.AbstractAdapter.superclass.constructor.call(this);this._initialConfig=config;Ext.apply(this,config);this.addEvents({'uploadstart':true,'uploadstop':true,'uploadprogress':true,'uploadfailure':true,'queueerror':true,'queueempty':true,'filequeued':true,'fileremoved':true,'queuecomplete':true});this._features={'queue':true,'progress':false,'pausequeue':true,'pauseupload':false,'filesize':false};this._init();};Ext.extend(Ext.ux.uploader.AbstractAdapter,Ext.util.Observable,{responses:null,lang:{INVALID_FILETYPE:'Invalid File Type',EXCEEDS_MAXSIZE:'File exceeds maximum size of {0}'},_validFileName:function(filename){var ret=true;if(filename==''){return false;}
if(this.filter&&Ext.type(this.filter)=='regexp'){ret=this.filter.test(filename);if(!ret){return false;}}else if(this.filter&&Ext.type(this.filter)=='string'){if(!this.filters){this.filters=[this.filter];}else if(Ext.type(this.filters)=='array'){this.filters[this.filters.length]=this.filter;}}
if(this.filters&&Ext.type(this.filters)=='array'){var re=new RegExp(("("+this.filters.join('|')+")$").replace(/\./,'\.'),'i');ret=re.test(filename);}
return ret;},_basename:function(path){var b=path.replace(/^.*[\/\\]/g,'');if(typeof(suffix)=='string'&&b.substr(b.length-suffix.length)==suffix){b=b.substr(0,b.length-suffix.length);}
return b;},_init:function(){},hasFeature:function(featureName){return this._features[featureName];},browse:function(){},upload:function(params){},clearQueue:function(){},stop:function(force){},remove:function(fileUpload){},removeAt:function(index){},clearQueue:function(){},getQueue:function(){},getCompleted:function(){},get:function(key,defaultValue){var privateKey='_'+key;if(this[privateKey]){return this[privateKey];}
return Ext.type(defaultValue)=='undefined'?false:defaultValue;}});Ext.ux.uploader.AdapterFactory=(function(){var registry={};return{register:function(type,obj){registry[type]=obj;},reg:function(type,obj){this.register(type,obj);},create:function(type,config){if(!registry[type]){throw'Uploader Type "'+type+'" is not registered';}else{var obj=new registry[type](config);obj.type=type;return obj;}}};})();Ext.ux.uploader.AbstractFileUpload=function(config){Ext.ux.uploader.AbstractFileUpload.superclass.constructor.call(this);this.addEvents({'uploadstart':true,'uploadsuccess':true,'uploadpause':true,'uploadfailure':true,'uploaderror':true});this._initialConfig=config;Ext.apply(this,config);this._init();this._vars={};this.response=null;};Ext.extend(Ext.ux.uploader.AbstractFileUpload,Ext.util.Observable,{_init:function(){},getExt:function(){var name=this.getFilename();var matches=name.match(/\.([a-zA-Z0-9]*)$/);return(matches?matches[1]:'').toLowerCase();},getType:function(){return Ext.ux.uploader.AbstractFileUpload.TYPES[this.getExt()]||'unknown';},canPreview:function(){return false;},start:function(){},stop:function(){},getId:function(){return'';},setVar:function(key,value){this._vars[key]=value;},getVar:function(key){return this._vars[key];},getFilename:function(){return'';},isUploading:function(){return false;},isComplete:function(){return false;},isPaused:function(){return false;},getUploadedBytes:function(){return 0;},getTotalBytes:function(){return 0;},getSize:function(){return Ext.ux.uploader.Util.getSize(this.getTotalBytes());},getPercentUploaded:function(){return 0;}});Ext.ux.uploader.AbstractFileUpload.TYPES={'jpg':'image','gif':'image','png':'image','rtf':'document','doc':'document','docx':'document','pdf':'acrobat'};Ext.ux.uploader.Util={getSize:function(bytes){var sizes=['KB','MB','GB'];for(var i=sizes.length-1;i>=0;i--){var s=1024;for(var x=0;x<i;x++){s*=1000;}
if(bytes>s){var s=bytes/s;s=parseInt(s*100)/100;return s+' '+sizes[i];}}
return bytes+' bytes';}};Ext.ux.uploader.HtmlAdapter=Ext.extend(Ext.ux.uploader.AbstractAdapter,{_init:function(){this.responses=new Ext.util.MixedCollection();this._uploading=false;this._queue=new Ext.util.MixedCollection();this._queue.on('remove',this._onFileUploadRemoved,this);this._btn=this.button||new Ext.Button({buttonOnly:true});if(!this._btn.rendered){this._btn.on('render',this._onButtonRender,this);}else{this._onButtonRender();}
this._paramKeys=Ext.apply({'filename':'filename','file':'file'},this.paramKeys||{});delete this.paramKeys;this._queueEl=Ext.fly(document.body).createChild({tag:'div',style:'display:none'});},_onFileUploadRemoved:function(fileUpload){this.fireEvent('fileremoved',fileUpload);if(this._queue.getCount()==0){this.fireEvent('queueempty',this);}},_onButtonRender:function(){this._btn.getEl().addClass('x-form-file-btn');this._wrap=this._btn.getEl().wrap({cls:'x-form-file-wrap'});(function(){var w=this._btn.getEl().getWidth();this._wrap.setWidth(w);}).defer(20,this);this._createActiveFileInput();},_createActiveFileInput:function(){this._activeInput=this._wrap.createChild({tag:'input',type:'file',cls:'x-form-file',size:1});this._activeInput.hover(function(){this._btn.getEl().addClass('x-btn-over');}.createDelegate(this),function(){this._btn.getEl().removeClass('x-btn-over');}.createDelegate(this));this._activeInput.on('mousedown',this._onMouseDown,this);this._activeInput.on('mouseup',this._onMouseUp,this);this._activeInput.on('change',this._onFileSelected,this);return this._activeInput;},_onMouseDown:function(e){if(!this.disabled&&e.button==0){this._btn.getEl().addClass("x-btn-click");Ext.getDoc().on('mouseup',this._onMouseUp,this);}},_onMouseUp:function(e){if(e.button==0){this._btn.getEl().removeClass('x-btn-over');this._btn.getEl().removeClass("x-btn-click");Ext.getDoc().un('mouseup',this._onMouseUp,this);}},_onFileSelected:function(){var value=this._basename(this._activeInput.dom.value);if(this._queue.containsKey(value)){return;}
if(!this._validFileName(value)){this._activeInput.dom.value='';this.fireEvent('queueerror',[{name:value,message:this.lang.INVALID_FILETYPE}]);return;}
this._activeInput.un('mousedown',this._onMouseDown,this);this._activeInput.un('mouseup',this._onMouseUp,this);this._activeInput.un('change',this._onFileSelected,this);var fileUpload=new Ext.ux.uploader.HtmlFileUpload({id:value,filename:value,uploader:this,input:this._activeInput});fileUpload.on('uploadsuccess',this._onUploadSuccess,this);fileUpload.on('uploadfailure',this._onUploadFailure,this);this._queue.add(value,fileUpload);this.fireEvent('filequeued',fileUpload);this._createActiveFileInput();},_upload:function(){var finished=true;var requests=0;this._queue.each(function(fileUpload,index,key){if(fileUpload.isUploading()){finished=false;requests++;return true;}
if(fileUpload.isComplete()){return true;}
fileUpload.start();if(!this._uploading){this._uploading=true;this.fireEvent('uploadstart',this);}
finished=false;requests++;return this.maxRequests&&requests<this.maxRequests;},this);if(finished!==false){if(this._uploading){this._uploading=false;this.fireEvent('uploadstop',this);}
this.fireEvent('queuecomplete',this.responses);}},_onUploadSuccess:function(fileUpload,response){this._queue.remove(fileUpload);fileUpload.destroy();this.responses.add(response);this._upload();},_onUploadFailure:function(fileUpload,response){fileUpload.uploading=false;this.fireEvent('uploadfailure',fileUpload,response);},upload:function(){this._upload();},removeAt:function(index){this._queue.removeAt(index);},remove:function(fileUpload){this._queue.remove(fileUpload);},reset:function(){this._queue.each(function(obj){this._queue.remove(obj);delete obj;});},clearQueue:function(){this._queue.each(function(o){this._queue.remove(o);o.destroy();},this);}});Ext.ux.uploader.AdapterFactory.reg('html',Ext.ux.uploader.HtmlAdapter);Ext.ux.uploader.HtmlFileUpload=Ext.extend(Ext.ux.uploader.AbstractFileUpload,{_init:function(){this._uploading=false;this._complete=false;var formEl=this.uploader.get('queueEl').createChild({'tag':'form'});var form=new Ext.form.BasicForm(formEl,{fileUpload:true,errorReader:this.uploader.get('errorReader')});this.form=form;this.input.appendTo(formEl);},_onUploadSuccess:function(form,request){this._uploading=false;this._complete=true;this.response=Ext.decode(request.response.responseText);this.fireEvent('uploadsuccess',this,this.response);},_onUploadFailure:function(form,request){this._uploading=false;this._complete=true;this.response=Ext.decode(request.response.responseText);this.fireEvent('uploadfailure',this,this.response);},start:function(){this.input.dom.name=this.uploader.get('paramKeys').file;this.form.submit({url:this.uploader.url,params:this.uploader.extraParams||{},scope:this,success:this._onUploadSuccess,failure:this._onUploadFailure});this._uploading=true;this.fireEvent('uploadstart',this);},destroy:function(){this.form.getEl().remove();},isUploading:function(){return this._uploading;},isComplete:function(){return this._complete;},getId:function(){return this.id;},getFilename:function(){return this.filename;}});Ext.ux.uploader.GearsAdapter=Ext.extend(Ext.ux.uploader.AbstractAdapter,{_init:function(){this.responses=new Ext.util.MixedCollection();this._uploading=false;Ext.apply(this._features,{'pauseupload':true,'filesize':true,'progress':true});this._paramKeys=Ext.apply({'filename':'filename','start':'start','end':'end','total':'total','length':'length'},this.paramKeys||{});delete this.paramKeys;if(this.button){this.button.setHandler(this.browse,this);}
this._maxRequests=this.maxRequests||false;this._queue=new Ext.util.MixedCollection();this._queue.on('remove',this._onFileUploadRemoved,this);this._complete=new Ext.util.MixedCollection();this._gearsDesktop=google.gears.factory.create('beta.desktop');this._gearsOpenFilesOptions=this.gearsOpenFilesOptions||{};this._chunkLength=this.chunkLength||20480;this._fullUpload=this.fullUpload||false;this._maxSize=false;if(this.imagesOnly){this.filters=['.jpg','.gif','.png','.bmp'];}
if(this.filters){this._gearsOpenFilesOptions.filter=this.filters;}
if(this.singleFile){this._gearsOpenFilesOptions.singleFile=this.singleFile;}
if(this.maxSize){this._maxSize=this.maxSize;}
this._maxRetries=this.maxRetries||3;this._retries=0;},_onFileUploadRemoved:function(fileUpload){this.fireEvent('fileremoved',fileUpload);fileUpload.destroy();if(this._queue.getCount()==0){this.fireEvent('queueempty',this);}},_getFileSignature:function(file){return[file.name,file.blob.length].join('-');},_onFilesQueued:function(files){var errors=[];for(var i=0;i<files.length;i++){var sig=this._getFileSignature(files[i]);if(this._queue.containsKey(sig)){continue;}
if(this._maxSize&&files[i].blob.length>this._maxSize){var size=Ext.ux.uploader.Util.getSize(this._maxSize);errors[errors.length]={message:String.format(this.lang.EXCEEDS_MAXSIZE,size),name:files[i].name};continue;}
if(!this._validFileName(files[i].name)){errors[errors.length]={message:this.lang.INVALID_FILETYPE,name:files[i].name};continue;}
var fileUpload=new Ext.ux.uploader.GearsFileUpload({id:sig,uploader:this,file:files[i],filename:this._basename(files[i].name)});fileUpload.on('uploadsuccess',this._onUploadSuccess,this);fileUpload.on('uploadfailure',this._onUploadFailure,this);this._queue.add(sig,fileUpload);this.fireEvent('filequeued',fileUpload);}
if(errors.length>0){this.fireEvent('queueerror',errors);}},_upload:function(options){var finished=true;var requests=0;this._queue.each(function(fileUpload,index,key){if(fileUpload.isUploading()){finished=false;requests++;return true;}
if(fileUpload.isComplete()){return true;}
fileUpload.start();if(!this._uploading){this._uploading=true;this.fireEvent('uploadstart',this);}
finished=false;requests++;return this.maxRequests&&requests<this.maxRequests;},this);if(finished!==false){if(this._uploading){this._uploading=false;this.fireEvent('uploadstop',this);}
this.fireEvent('queuecomplete',this.responses);}},_onUploadSuccess:function(fileUpload,response){this._queue.remove(fileUpload);fileUpload.destroy();this.responses.add(response);this._upload();},_onUploadFailure:function(fileUpload,response){this._queue.remove(fileUpload);fileUpload.destroy();fileUpload._uploading=false;this.fireEvent('uploadfailure',fileUpload,response);},_send:function(file){return this._sendChunk(file);},reset:function(){this._queue.each(function(obj){this._queue.remove(obj);delete obj;});this._complete.each(function(obj){delete obj;});delete this._complete;this._complete=new Ext.util.MixedCollection();},browse:function(){this._gearsDesktop.openFiles(this._onFilesQueued.createDelegate(this),this._gearsOpenFilesOptions);},remove:function(fileUpload){this._queue.remove(fileUpload);},removeAt:function(index){this._queue.removeAt(index);},clearQueue:function(){this._queue.each(function(o){this._queue.remove(o);o.destroy();},this);},upload:function(options){this._upload(options);},pause:function(){this._gearsRequests.each(function(req,key){var file=this._queue.get(key);try{file.uploading=false;req.abort();this._gearsRequests.removeKey(key)}
catch(e){}},this);this._isUploading=false;},togglePause:function(){if(this._isUploading){this.pause();}else{this.upload();}},getComplete:function(){return this._complete;},getRequestsCount:function(){return this._gearsRequests.getCount();}});Ext.ux.uploader.AdapterFactory.reg('gears',Ext.ux.uploader.GearsAdapter);Ext.ux.uploader.GearsFileUpload=Ext.extend(Ext.ux.uploader.AbstractFileUpload,{_init:function(){this._request=null;this._uploading=false;this._uploaded=0;this._requestProgress=0;this._requestLength=0;this._complete=false;this._chunkLength=this.uploader.get('chunkLength');this._fullUpload=this.uploader.get('fullUpload');this._maxRetries=this.uploader.get('maxRetries');this._retries=0;this.requestId=new Date().getTime()+'-'+this.filename;if(this.canPreview()&&this.uploader.usePreview){try{var localServer=google.gears.factory.create('beta.localserver');var store=localServer.createStore('ux-uploader-gears-adapter');this._previewUrl=this.getFilename()+this.getFilesize();store.captureBlob(this.file.blob,this._previewUrl);}catch(e){}}},start:function(){if(!this.isUploading()&&!this.isComplete()){this._uploading=true;this.fireEvent('uploadstart',this);this._sendChunk();}},_getUploadInfo:function(){var info={};info.total=this.file.blob.length;info.start=Math.min(this._uploaded+this._requestProgress,info.total);info.end=Math.min(info.start+(this._fullUpload?info.total:this._chunkLength),info.total);info.percent=info.start/info.total;return info;},_sendChunk:function(){this._requestProgress=0;var info=this._getUploadInfo();if(this._request)delete this._request;this._request=google.gears.factory.create('beta.httprequest');this._request.onreadystatechange=this._onReadyStateChange.createDelegate(this);this._request.upload.onprogress=this._onUploadProgress.createDelegate(this);var h={'Content-Disposition':"attachment; filename='"+this.getFilename()+"'",'Content-Type':"application/octet-stream",'Content-Range':"bytes "+info.start+"-"+info.end+"/"+info.total};var paramKeys=this.uploader.get('paramKeys');var params={};for(var key in paramKeys){val=(key=='filename')?this.getFilename():info[key]||'';params[paramKeys[key]]=val;}
params=Ext.apply(params,{requestId:this.requestId});var url=this.uploader.url||'?';params=Ext.urlEncode(Ext.apply(params,this.uploader.extraParams||{}));url+=(url.indexOf('?')!=-1?'&':'?')+params;this._request.open('POST',url);for(var x in h){if(h.hasOwnProperty(x)){this._request.setRequestHeader(x,h[x]);}}
this._requestLength=info.end-info.start;this._request.send((info.start==0&&info.end==info.total)?this.file.blob:this.file.blob.slice(info.start,this._requestLength));return this._request;},_onReadyStateChange:function(key){try{if(this._request.readyState==4){this._uploading=false;switch(this._request.status){case 200:try{this._retries=0;this.response=Ext.decode(this._request.responseText);this._uploaded+=this._requestLength;this.fireEvent('uploadprogress',this,this._getUploadInfo());if(!this.response.success){this._uploading=false;this._complete=true;this.fireEvent('uploadfailure',this,this.response);this.fireEvent('uploaderror',this);return;}
if(this._uploaded==this.file.blob.length){this._complete=true;this.fireEvent('uploadsuccess',this,this.response);}else{this._sendChunk();}}
catch(e){}
break;default:if(this._retries<this._maxRetries){this._sendChunk();retries++;}else{this.fireEvent('uploaderror',this);}}}}
catch(e){}},_onUploadProgress:function(progress){try{this._requestProgress=progress.loaded;this.fireEvent('uploadprogress',this,this._getUploadInfo());}
catch(e){}},getPreviewUrl:function(){return this._previewUrl||false;},getFilename:function(){return this.filename;},getFilesize:function(){return this.file.blob.length;},destroy:function(){if(this.canPreview()&&this.uploader.usePreview){var localServer=google.gears.factory.create('beta.localserver');var store=localServer.createStore('ux-uploader-gears-adapter');store.remove(this.getPreviewUrl());}},getTotalBytes:function(){return this.file.blob.length;},isUploading:function(){return this._uploading;},isComplete:function(){return this._complete;},getId:function(){return this.id;},canPreview:function(){return this.getType()=='image';}});Ext.ux.uploader.Panel=Ext.extend(Ext.Panel,{_completed:null,initComponent:function(){this._addFilesBtn=new Ext.Button({text:'Dodaj',cls:'x-btn-text-icon',iconCls:'add-icon',minWidth:50});if(this.usePreview){this.previewWidth=this.previewWidth||50;this.previewHeight=this.previewHeight||40;}
this.autoScroll=this.autoScroll===false?false:true;this._adapterType=this.adapter||this.adapterType||'gears';if('gears'==this._adapterType&&(!window.google||!google.gears)){this._adapterType='html';}
this.initialConfig.extraParams=Ext.apply(this.initialConfig.extraParams||{},{adapter:this._adapterType,params:Ext.encode(this.initialConfig.params||{})});this._completed=new Ext.util.MixedCollection();this._uploader=Ext.ux.uploader.AdapterFactory.create(this._adapterType,Ext.apply({button:this._addFilesBtn,url:'?',maxRequests:1,chunkLength:1024*1024*1024},this.initialConfig));if(!this._uploader){throw"Uploader Adapter could not be found: "+this._adapterType;}
this._uploadBtn=new Ext.Button({text:'Wgraj',handler:this._uploader.upload,scope:this._uploader,cls:'x-btn-text-icon',iconCls:'upload-icon',disabled:true,minWidth:50});this._statusBar=new Ext.StatusBar({defaultText:'',busyText:'Wgrywam ...',items:[this._addFilesBtn,this._uploadBtn],statusAlign:'right'});this.tbar=this._statusBar;if(!this.entryTpl){this.entryTpl=new Ext.XTemplate('<div class="x-upload-panel-entry">','<div class="x-upload-panel-entry-pad">','<div class="x-upload-panel-entry-buttons"></div>','<div class="x-upload-panel-entry-preview"></div>','<div class="x-upload-panel-entry-icon"><span class="x-upload-panel-icon"></span></div>','<div class="x-upload-panel-entry-progress"></div>','<div class="x-upload-panel-entry-title">','<span>{name}</span>','</div>','<div class="x-upload-panel-entry-clear"></div>','</div>','</div>');}
this._uploader.on('filequeued',this._onFileQueued,this);this._uploader.on('fileremoved',this._onFileRemoved,this);this._uploader.on('queueerror',this._onQueueError,this);this._uploader.on('queueempty',this._onQueueEmpty,this);this._uploader.on('uploadstart',this._onUploaderStart,this);this._uploader.on('uploadstop',this._onUploaderStop,this);this._uploader.on('queuecomplete',this._onQueueComplete,this);this._uploader.on('uploadfailure',this._onUploadFailure,this);Ext.ux.uploader.Panel.superclass.initComponent.call(this);this.exposeMethods(this._uploader,['browse','upload']);this.relayEvents(this._uploader,['uploadstart','uploadstop','queueempty','filequeued','fileremoved']);},_onFileQueued:function(fileUpload){fileUpload.on('uploadprogress',this._onFileUploadProgress,this);fileUpload.on('uploadstart',this._onFileUploadStart,this);this._statusBar.clearStatus({useDefaults:true});var name=fileUpload.getFilename();if(this._uploader.hasFeature('filesize')){name+=' ('+fileUpload.getSize(true)+')';}
var el=Ext.get(this.entryTpl.append(this.body,{name:name}));this._initEntry(el,fileUpload);fileUpload.setVar('panelEl',el);this._uploadBtn.enable();this.doLayout();},_onFileRemoved:function(fileUpload){if(fileUpload.response&&fileUpload.response.meta.local_name){var el=fileUpload.getVar('panelEl');el.icon.removeClass('loading-icon');el.removeClass('loading-bg');el.removeIcon.remove();delete el.removeIcon;el.removeIcon=el.buttons.createChild({'tag':'img','src':Ext.BLANK_IMAGE_URL,'cls':'icon remove-icon'});var name=fileUpload.response.meta.local_name;el.removeIcon.on('click',function(){this._completed.removeKey(name);el.remove();delete el;},this);el.addClass('x-upload-panel-entry-uploaded');this._completed.add(name,fileUpload);}else{var el=fileUpload.getVar('panelEl').remove();delete el;}},_initEntry:function(el,fileUpload){el.buttons=el.child('.x-upload-panel-entry-buttons');el.progress=el.child('.x-upload-panel-entry-progress');el.title=el.child('.x-upload-panel-entry-title');el.icon=el.child('.x-upload-panel-entry-icon');el.preview=el.child('.x-upload-panel-entry-preview');el.pad=el.child('.x-upload-panel-entry-pad');var type=fileUpload.getType();if(type!=='unknown'){el.icon.addClass(type+'-icon');}
if(fileUpload.canPreview()&&this.usePreview){el.preview.setStyle({display:'block'});el.icon.setStyle({display:'none'});var img=new Image();img.onload=function(){var w=img.width,h=img.height,w2,h2;if(w>h){w2=this.previewWidth;h2=parseInt(img.height*(this.previewWidth/w));}else{h2=this.previewHeight;w2=parseInt(img.width*(this.previewHeight/h));}
el.preview.createChild({tag:'img',src:fileUpload.getPreviewUrl(),width:w2,height:h2});}.createDelegate(this);img.src=fileUpload.getPreviewUrl();}
el.removeIcon=el.buttons.createChild({'tag':'img','src':Ext.BLANK_IMAGE_URL,'cls':'icon remove-icon'});el.removeIcon.on('click',function(){this._uploader.remove(fileUpload);},this);},_onQueueError:function(errors){var text='';if(errors.length>1){text='Error adding some of the selected files';}else{text=errors[0].name+': '+errors[0].message;}
this._statusBar.setStatus({text:text,iconCls:'error-icon',clear:{wait:3000,anim:true}});},_onFileUploadStart:function(fileUpload){var el=fileUpload.getVar('panelEl');el.icon.removeClass('page-icon');el.icon.addClass('loading-icon');if(!this._uploader.hasFeature('progress')){el.addClass('loading-bg');}},_onUploaderStart:function(uploader){this._uploadBtn.disable();this._statusBar.showBusy();},_onUploaderStop:function(uploader){if(this._uploader._queue.getCount()>0){this._uploadBtn.enable();}
this._statusBar.clearStatus({useDefaults:true});},_onQueueEmpty:function(uploader){this._uploadBtn.disable();},_onFileUploadProgress:function(fileUpload,info){var el=fileUpload.getVar('panelEl');var pad=Ext.fly(el).child('.x-upload-panel-entry-pad');var progress=Ext.fly(el).child('.x-upload-panel-entry-progress');el.progress.setHeight(el.pad.getHeight()-2);el.progress.setWidth((el.pad.getWidth()*info.percent)-2);},exposeMethods:function(object,methods){if(Ext.type(methods)=='string'){methods=[methods];}
if(!Ext.type(methods)=='array'){return;}
for(var i=0;i<methods.length;i++){var m=methods[i];this[m]=object[m].createDelegate(object);}},browse:function(){this._uploader.browse();},setParam:function(key,value){var param={};param[key]=value;this._uploader.extraParams.params=Ext.encode(Ext.apply(Ext.decode(this._uploader.extraParams.params||'{}'),param));},_onQueueComplete:function(responses){var script=false;responses.each(function(r){if(r.once){script=r.once;r.once=false;}
if(r.all){eval(r.all);r.all=false;}},this);if(script){eval(script);}
this.fireEvent('queuecomplete',this,true,responses);},_onUploadFailure:function(fileUpload,response){this._statusBar.clearStatus({useDefaults:true});this._statusBar.setStatus({text:response.message,iconCls:'error-icon'});this.body.dom.innerHTML='<div></div>';this._uploader.clearQueue();this.fireEvent('queuecomplete',this,false,null);},getCompleted:function(){var completed=[];var i=0;this._completed.each(function(fileUpload){completed[i]=fileUpload.response.meta;i++;});return completed;},reset:function(){this._uploader.reset();this._completed.each(function(fileUpload){var el=fileUpload.getVar('panelEl');el.remove();delete el;});this._completed.clear();this._uploadBtn.disable();}});Ext.ns('Ext.sm.data.BusyIndicator');Ext.apply(Ext.sm.data.BusyIndicator,{maxConnections:3,activeConnections:0,beforerequest:function(){this.activeConnections++;this.updateMainProgressBar();Ext.getBody().setStyle('cursor','wait');return true;},requestcomplete:function(){this.activeConnections--;this.updateMainProgressBar();if(this.activeConnections<1){Ext.getBody().setStyle('cursor','default');}},updateMainProgressBar:function(){var progress=Ext.getCmp('mainStatusBarProgress');if(progress){if(this.activeConnections>this.maxConnections){this.maxConnections=this.activeConnections;}
if(this.activeConnections<1){this.activeConnections=0;progress.updateProgress(0,'&#160;');}else{progress.updateProgress(this.activeConnections/this.maxConnections,'Ładowanie danych...');}}}});Ext.Ajax.addListener('requestcomplete',Ext.sm.data.BusyIndicator.requestcomplete,Ext.sm.data.BusyIndicator);Ext.Ajax.addListener('requestexception',Ext.sm.data.BusyIndicator.requestcomplete,Ext.sm.data.BusyIndicator);Ext.Ajax.addListener('beforerequest',Ext.sm.data.BusyIndicator.beforerequest,Ext.sm.data.BusyIndicator);(function($){$.fn.kwicks=function(options){var defaults={isVertical:false,sticky:false,defaultKwick:0,event:'mouseover',spacing:0,duration:500};var o=$.extend(defaults,options);var WoH=(o.isVertical?'height':'width');var LoT=(o.isVertical?'top':'left');return this.each(function(){container=$(this);var kwicks=container.children('li');var normWoH=kwicks.eq(0).css(WoH).replace(/px/,'');if(!o.max){o.max=(normWoH*kwicks.size())-(o.min*(kwicks.size()-1));}else{o.min=((normWoH*kwicks.size())-o.max)/(kwicks.size()-1);}
if(o.isVertical){container.css({width:kwicks.eq(0).css('width'),height:(normWoH*kwicks.size())+(o.spacing*(kwicks.size()-1))+'px'});}else{container.css({width:(normWoH*kwicks.size())+(o.spacing*(kwicks.size()-1))+'px',height:kwicks.eq(0).css('height')});}
var preCalcLoTs=[];for(i=0;i<kwicks.size();i++){preCalcLoTs[i]=[];for(j=1;j<kwicks.size()-1;j++){if(i==j){preCalcLoTs[i][j]=o.isVertical?j*o.min+(j*o.spacing):j*o.min+(j*o.spacing);}else{preCalcLoTs[i][j]=(j<=i?(j*o.min):(j-1)*o.min+o.max)+(j*o.spacing);}}}
kwicks.each(function(i){var kwick=$(this);if(i===0){kwick.css(LoT,'0px');}
else if(i==kwicks.size()-1){kwick.css(o.isVertical?'bottom':'right','0px');}
else{if(o.sticky){kwick.css(LoT,preCalcLoTs[o.defaultKwick][i]);}else{kwick.css(LoT,(i*normWoH)+(i*o.spacing));}}
if(o.sticky){if(o.defaultKwick==i){kwick.css(WoH,o.max+'px');kwick.addClass('active');}else{kwick.css(WoH,o.min+'px');}}
kwick.css({margin:0,position:'absolute'});if(!o.skip||i>=o.skip){kwick.bind(o.event,function(){var prevWoHs=[];var prevLoTs=[];kwicks.stop().removeClass('active');for(j=0;j<kwicks.size();j++){prevWoHs[j]=kwicks.eq(j).css(WoH).replace(/px/,'');prevLoTs[j]=kwicks.eq(j).css(LoT).replace(/px/,'');}
var aniObj={};aniObj[WoH]=o.max;var maxDif=o.max-prevWoHs[i];var prevWoHsMaxDifRatio=prevWoHs[i]/maxDif;var text=kwick.children('div');kwick.addClass('active').animate(aniObj,{step:function(now){var percentage=maxDif!=0?now/maxDif-prevWoHsMaxDifRatio:1;kwicks.each(function(j){if(j!=i){kwicks.eq(j).css(WoH,prevWoHs[j]-((prevWoHs[j]-o.min)*percentage)+'px');}
if(j>0&&j<kwicks.size()-1){kwicks.eq(j).css(LoT,prevLoTs[j]-((prevLoTs[j]-preCalcLoTs[i][j])*percentage)+'px');}});text.css('opacity',percentage);},duration:o.duration,easing:o.easing});});}});if(!o.sticky){container.bind("mouseleave",function(){var prevWoHs=[];var prevLoTs=[];kwicks.removeClass('active').stop();for(i=0;i<kwicks.size();i++){prevWoHs[i]=kwicks.eq(i).css(WoH).replace(/px/,'');prevLoTs[i]=kwicks.eq(i).css(LoT).replace(/px/,'');}
var aniObj={};aniObj[WoH]=normWoH;var normDif=normWoH-prevWoHs[0];kwicks.eq(0).animate(aniObj,{step:function(now){var percentage=normDif!=0?(now-prevWoHs[0])/normDif:1;for(i=1;i<kwicks.size();i++){kwicks.eq(i).css(WoH,prevWoHs[i]-((prevWoHs[i]-normWoH)*percentage)+'px');if(i<kwicks.size()-1){kwicks.eq(i).css(LoT,prevLoTs[i]-((prevLoTs[i]-((i*normWoH)+(i*o.spacing)))*percentage)+'px');}}
kwicks.children('div').css('opacity',1-percentage*3);},duration:o.duration,easing:o.easing});});}});};})(jQuery);(function($){function Plot(target_,data_,options_){var series=[],options={colors:["#edc240","#afd8f8","#cb4b4b","#4da74d","#9440ed"],legend:{show:true,noColumns:1,labelFormatter:null,labelBoxBorderColor:"#ccc",container:null,position:"ne",margin:5,backgroundColor:null,backgroundOpacity:0.85},xaxis:{mode:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,labelWidth:null,labelHeight:null,tickDecimals:null,tickSize:null,minTickSize:null,monthNames:null,timeformat:null},yaxis:{autoscaleMargin:0.02},x2axis:{autoscaleMargin:null},y2axis:{autoscaleMargin:0.02},points:{show:false,radius:3,lineWidth:2,fill:true,fillColor:"#ffffff"},lines:{lineWidth:2,fill:false,fillColor:null,steps:false},bars:{show:false,lineWidth:2,barWidth:1,fill:true,fillColor:null,align:"left",horizontal:false},pies:{show:false,radius:null,labelRadius:null,startAngle:0,fill:true,fillColor:null,labelFormatter:null,labelStyle:'font-size: normal; font-weight: bold; color:#545454;',bias:[0.3,-1.4,0.1]},threshold:null,grid:{color:"#545454",backgroundColor:null,tickColor:"#dddddd",labelMargin:5,borderWidth:2,borderColor:null,markings:null,markingsColor:"#f4f4f4",markingsLineWidth:2,clickable:false,hoverable:false,autoHighlight:true,mouseActiveRadius:10},selection:{mode:null,color:"#e8cfac"},crosshair:{mode:null,color:"#aa0000"},shadowSize:3},canvas=null,overlay=null,eventHolder=null,ctx=null,octx=null,target=$(target_),axes={xaxis:{},yaxis:{},x2axis:{},y2axis:{}},plotOffset={left:0,right:0,top:0,bottom:0},canvasWidth=0,canvasHeight=0,plotWidth=0,plotHeight=0,workarounds={};this.setData=setData;this.setupGrid=setupGrid;this.draw=draw;this.clearSelection=clearSelection;this.setSelection=setSelection;this.getCanvas=function(){return canvas;};this.getPlotOffset=function(){return plotOffset;};this.getData=function(){return series;};this.getAxes=function(){return axes;};this.setCrosshair=setCrosshair;this.clearCrosshair=function(){setCrosshair(null);};this.highlight=highlight;this.unhighlight=unhighlight;parseOptions(options_);setData(data_);constructCanvas();setupGrid();draw();function setData(d){series=parseData(d);fillInSeriesOptions();processData();}
function parseData(d){var res=[];for(var i=0;i<d.length;++i){var s;if(d[i].data){s={};for(var v in d[i])
s[v]=d[i][v];}
else{s={data:d[i]};}
res.push(s);}
return res;}
function parseOptions(o){$.extend(true,options,o);if(options.grid.borderColor==null)
options.grid.borderColor=options.grid.color
if(options.xaxis.noTicks&&options.xaxis.ticks==null)
options.xaxis.ticks=options.xaxis.noTicks;if(options.yaxis.noTicks&&options.yaxis.ticks==null)
options.yaxis.ticks=options.yaxis.noTicks;if(options.grid.coloredAreas)
options.grid.markings=options.grid.coloredAreas;if(options.grid.coloredAreasColor)
options.grid.markingsColor=options.grid.coloredAreasColor;if(options.shuffleColors)
options.colors=shuffleColors(options.colors);}
function fillInSeriesOptions(){var i;var neededColors=series.length,usedColors=[],assignedColors=[];for(i=0;i<series.length;++i){var sc=series[i].color;if(sc!=null){--neededColors;if(typeof sc=="number")
assignedColors.push(sc);else
usedColors.push(parseColor(series[i].color));}}
for(i=0;i<assignedColors.length;++i){neededColors=Math.max(neededColors,assignedColors[i]+1);}
var colors=[],variation=0;i=0;while(colors.length<neededColors){var c;if(options.colors.length==i)
c=new Color(100,100,100);else
c=parseColor(options.colors[i]);var sign=variation%2==1?-1:1;var factor=1+sign*Math.ceil(variation/2)*0.2;c.scale(factor,factor,factor);colors.push(c);++i;if(i>=options.colors.length){i=0;++variation;}}
var colori=0,s;for(i=0;i<series.length;++i){s=series[i];if(s.color==null){s.color=colors[colori].toString();++colori;}
else if(typeof s.color=="number")
s.color=colors[s.color].toString();s.lines=$.extend(true,{},options.lines,s.lines);s.points=$.extend(true,{},options.points,s.points);s.bars=$.extend(true,{},options.bars,s.bars);if(s.lines.show==null&&!s.bars.show&&!s.points.show)
s.lines.show=true;if(s.shadowSize==null)
s.shadowSize=options.shadowSize;if(!s.xaxis)
s.xaxis=axes.xaxis;if(s.xaxis==1)
s.xaxis=axes.xaxis;else if(s.xaxis==2)
s.xaxis=axes.x2axis;if(!s.yaxis)
s.yaxis=axes.yaxis;if(s.yaxis==1)
s.yaxis=axes.yaxis;else if(s.yaxis==2)
s.yaxis=axes.y2axis;if(!s.threshold)
s.threshold=options.threshold;s.subseries=null;}}
function processData(){var topSentry=Number.POSITIVE_INFINITY,bottomSentry=Number.NEGATIVE_INFINITY,axis,i,j,k,m,s;for(axis in axes){axes[axis].datamin=topSentry;axes[axis].datamax=bottomSentry;axes[axis].min=options[axis].min;axes[axis].max=options[axis].max;axes[axis].used=false;}
for(i=0;i<series.length;++i){s=series[i];s.datapoints={points:[],incr:2};var data=s.data,points=s.datapoints.points,axisx=s.xaxis,axisy=s.yaxis,xmin=topSentry,xmax=bottomSentry,ymin=topSentry,ymax=bottomSentry,x,y,p,incr,format=[];if(s.bars.show){s.datapoints.incr=3;format.push({d:0});}
axisx.used=axisy.used=true;incr=s.datapoints.incr;for(j=k=0;j<data.length;++j,k+=incr){p=data[j];x=null;y=null;if(data[j]!=null){x=p[0];y=p[1];}
if(x!=null&&!isNaN(x=+x)){if(x<xmin)
xmin=x;if(x>xmax)
xmax=x}
else
x=null;if(y!=null&&!isNaN(y=+y)){if(y<ymin)
ymin=y;if(y>ymax)
ymax=y;}
else
y=null;if(x==null||y==null)
x=y=null;for(m=2;m<incr;++m)
points[k+m]=p[m]==null?format[m-2].d:p[m];points[k+1]=y;points[k]=x;}
if(s.bars.show){var delta=s.bars.align=="left"?0:-s.bars.barWidth/2;if(s.bars.horizontal){ymin+=delta;ymax+=delta+s.bars.barWidth;}
else{xmin+=delta;xmax+=delta+s.bars.barWidth;}}
axisx.datamin=Math.min(axisx.datamin,xmin);axisx.datamax=Math.max(axisx.datamax,xmax);axisy.datamin=Math.min(axisy.datamin,ymin);axisy.datamax=Math.max(axisy.datamax,ymax);if(s.lines.show&&s.lines.steps){p=[];for(j=k=0;j<points.length;j+=incr,k+=incr){x=points[j];y=points[j+1];if(j>0&&points[j-incr]!=null&&x!=null&&points[j-incr+1]!=y){p[k]=x;p[k+1]=points[j-incr+1];k+=incr;}
p[k]=x;p[k+1]=y;}
s.datapoints.linespoints=p;}
if(s.threshold){var orig=$.extend({},s),thresholded=$.extend({},s);orig.datapoints={points:[],incr:incr};thresholded.datapoints={points:[],incr:incr};thresholded.color=s.threshold.color;var below=s.threshold.below,origpoints=orig.datapoints.points,threspoints=thresholded.datapoints.points;for(j=0;j<points.length;j+=incr){x=points[j];y=points[j+1];if(y<below)
p=threspoints;else
p=origpoints;p.push(x);p.push(y);for(m=2;m<incr;++m)
p[j+m]=points[j+m];}
if(s.lines.show){var lp=s.datapoints.linespoints||points;origpoints=[];threspoints=[];p=origpoints;for(j=0;j<lp.length;j+=incr){x=lp[j];y=lp[j+1];var prevp=p;if(y!=null){if(y<below)
p=threspoints;else
p=origpoints;}
if(p!=prevp&&x!=null&&j>0&&lp[j-incr]!=null){k=(x-lp[j-incr])/(y-lp[j-incr+1])*(below-y)+x;prevp.push(k);prevp.push(below);p.push(null);p.push(null);p.push(k);p.push(below);}
p.push(x);p.push(y);}
orig.datapoints.linespoints=origpoints
thresholded.datapoints.linespoints=threspoints;}
s.subseries=[orig,thresholded];}}}
function constructCanvas(){function makeCanvas(width,height){var c=document.createElement('canvas');c.width=width;c.height=height;if($.browser.msie)
c=window.G_vmlCanvasManager.initElement(c);return c;}
canvasWidth=target.width();canvasHeight=target.height();target.html("");if(target.css("position")=='static')
target.css("position","relative");if(canvasWidth<=0||canvasHeight<=0)
throw"Invalid dimensions for plot, width = "+canvasWidth+", height = "+canvasHeight;if($.browser.msie)
window.G_vmlCanvasManager.init_(document);canvas=$(makeCanvas(canvasWidth,canvasHeight)).appendTo(target).get(0);ctx=canvas.getContext("2d");overlay=$(makeCanvas(canvasWidth,canvasHeight)).css({position:'absolute',left:0,top:0}).appendTo(target).get(0);octx=overlay.getContext("2d");eventHolder=$([overlay,canvas]);if(options.selection.mode!=null||options.crosshair.mode!=null||options.grid.hoverable){eventHolder.each(function(){this.onmousemove=onMouseMove;});if(options.selection.mode!=null)
eventHolder.mousedown(onMouseDown);}
if(options.crosshair.mode!=null)
eventHolder.mouseout(onMouseOut);if(options.grid.clickable)
eventHolder.click(onClick);}
function setupGrid(){function setupAxis(axis,options){setRange(axis,options);prepareTickGeneration(axis,options);setTicks(axis,options);if(axis==axes.xaxis||axis==axes.x2axis){axis.p2c=function(p){return(p-axis.min)*axis.scale;};axis.c2p=function(c){return axis.min+c/axis.scale;};}
else{axis.p2c=function(p){return(axis.max-p)*axis.scale;};axis.c2p=function(p){return axis.max-p/axis.scale;};}}
for(var axis in axes)
setupAxis(axes[axis],options[axis]);setSpacing();if(!options.pies.show)insertLabels();insertLegend();}
function setRange(axis,axisOptions){var min=axisOptions.min!=null?+axisOptions.min:axis.datamin,max=axisOptions.max!=null?+axisOptions.max:axis.datamax;if(min==Number.POSITIVE_INFINITY)
min=0;if(max==Number.NEGATIVE_INFINITY)
max=1;if(max-min==0.0){var widen=max==0?1:0.01;if(axisOptions.min==null)
min-=widen;if(axisOptions.max==null||axisOptions.min!=null)
max+=widen;}
else{var margin=axisOptions.autoscaleMargin;if(margin!=null){if(axisOptions.min==null){min-=(max-min)*margin;if(min<0&&axis.datamin>=0)
min=0;}
if(axisOptions.max==null){max+=(max-min)*margin;if(max>0&&axis.datamax<=0)
max=0;}}}
axis.min=min;axis.max=max;}
function prepareTickGeneration(axis,axisOptions){var noTicks;if(typeof axisOptions.ticks=="number"&&axisOptions.ticks>0)
noTicks=axisOptions.ticks;else if(axis==axes.xaxis||axis==axes.x2axis)
noTicks=canvasWidth/100;else
noTicks=canvasHeight/60;var delta=(axis.max-axis.min)/noTicks;var size,generator,unit,formatter,i,magn,norm;if(axisOptions.mode=="time"){var timeUnitSize={"second":1000,"minute":60*1000,"hour":60*60*1000,"day":24*60*60*1000,"month":30*24*60*60*1000,"year":365.2425*24*60*60*1000};var spec=[[1,"second"],[2,"second"],[5,"second"],[10,"second"],[30,"second"],[1,"minute"],[2,"minute"],[5,"minute"],[10,"minute"],[30,"minute"],[1,"hour"],[2,"hour"],[4,"hour"],[8,"hour"],[12,"hour"],[1,"day"],[2,"day"],[3,"day"],[0.25,"month"],[0.5,"month"],[1,"month"],[2,"month"],[3,"month"],[6,"month"],[1,"year"]];var minSize=0;if(axisOptions.minTickSize!=null){if(typeof axisOptions.tickSize=="number")
minSize=axisOptions.tickSize;else
minSize=axisOptions.minTickSize[0]*timeUnitSize[axisOptions.minTickSize[1]];}
for(i=0;i<spec.length-1;++i)
if(delta<(spec[i][0]*timeUnitSize[spec[i][1]]
+spec[i+1][0]*timeUnitSize[spec[i+1][1]])/2&&spec[i][0]*timeUnitSize[spec[i][1]]>=minSize)
break;size=spec[i][0];unit=spec[i][1];if(unit=="year"){magn=Math.pow(10,Math.floor(Math.log(delta/timeUnitSize.year)/Math.LN10));norm=(delta/timeUnitSize.year)/magn;if(norm<1.5)
size=1;else if(norm<3)
size=2;else if(norm<7.5)
size=5;else
size=10;size*=magn;}
if(axisOptions.tickSize){size=axisOptions.tickSize[0];unit=axisOptions.tickSize[1];}
generator=function(axis){var ticks=[],tickSize=axis.tickSize[0],unit=axis.tickSize[1],d=new Date(axis.min);var step=tickSize*timeUnitSize[unit];if(unit=="second")
d.setUTCSeconds(floorInBase(d.getUTCSeconds(),tickSize));if(unit=="minute")
d.setUTCMinutes(floorInBase(d.getUTCMinutes(),tickSize));if(unit=="hour")
d.setUTCHours(floorInBase(d.getUTCHours(),tickSize));if(unit=="month")
d.setUTCMonth(floorInBase(d.getUTCMonth(),tickSize));if(unit=="year")
d.setUTCFullYear(floorInBase(d.getUTCFullYear(),tickSize));d.setUTCMilliseconds(0);if(step>=timeUnitSize.minute)
d.setUTCSeconds(0);if(step>=timeUnitSize.hour)
d.setUTCMinutes(0);if(step>=timeUnitSize.day)
d.setUTCHours(0);if(step>=timeUnitSize.day*4)
d.setUTCDate(1);if(step>=timeUnitSize.year)
d.setUTCMonth(0);var carry=0,v=Number.NaN,prev;do{prev=v;v=d.getTime();ticks.push({v:v,label:axis.tickFormatter(v,axis)});if(unit=="month"){if(tickSize<1){d.setUTCDate(1);var start=d.getTime();d.setUTCMonth(d.getUTCMonth()+1);var end=d.getTime();d.setTime(v+carry*timeUnitSize.hour+(end-start)*tickSize);carry=d.getUTCHours();d.setUTCHours(0);}
else
d.setUTCMonth(d.getUTCMonth()+tickSize);}
else if(unit=="year"){d.setUTCFullYear(d.getUTCFullYear()+tickSize);}
else
d.setTime(v+step);}while(v<axis.max&&v!=prev);return ticks;};formatter=function(v,axis){var d=new Date(v);if(axisOptions.timeformat!=null)
return $.plot.formatDate(d,axisOptions.timeformat,axisOptions.monthNames);var t=axis.tickSize[0]*timeUnitSize[axis.tickSize[1]];var span=axis.max-axis.min;if(t<timeUnitSize.minute)
fmt="%h:%M:%S";else if(t<timeUnitSize.day){if(span<2*timeUnitSize.day)
fmt="%h:%M";else
fmt="%b %d %h:%M";}
else if(t<timeUnitSize.month)
fmt="%b %d";else if(t<timeUnitSize.year){if(span<timeUnitSize.year)
fmt="%b";else
fmt="%b %y";}
else
fmt="%y";return $.plot.formatDate(d,fmt,axisOptions.monthNames);};}
else{var maxDec=axisOptions.tickDecimals;var dec=-Math.floor(Math.log(delta)/Math.LN10);if(maxDec!=null&&dec>maxDec)
dec=maxDec;magn=Math.pow(10,-dec);norm=delta/magn;if(norm<1.5)
size=1;else if(norm<3){size=2;if(norm>2.25&&(maxDec==null||dec+1<=maxDec)){size=2.5;++dec;}}
else if(norm<7.5)
size=5;else
size=10;size*=magn;if(axisOptions.minTickSize!=null&&size<axisOptions.minTickSize)
size=axisOptions.minTickSize;if(axisOptions.tickSize!=null)
size=axisOptions.tickSize;axis.tickDecimals=Math.max(0,(maxDec!=null)?maxDec:dec);generator=function(axis){var ticks=[];var start=floorInBase(axis.min,axis.tickSize),i=0,v=Number.NaN,prev;do{prev=v;v=start+i*axis.tickSize;ticks.push({v:v,label:axis.tickFormatter(v,axis)});++i;}while(v<axis.max&&v!=prev);return ticks;};formatter=function(v,axis){return v.toFixed(axis.tickDecimals);};}
axis.tickSize=unit?[size,unit]:size;axis.tickGenerator=generator;if($.isFunction(axisOptions.tickFormatter))
axis.tickFormatter=function(v,axis){return""+axisOptions.tickFormatter(v,axis);};else
axis.tickFormatter=formatter;if(axisOptions.labelWidth!=null)
axis.labelWidth=axisOptions.labelWidth;if(axisOptions.labelHeight!=null)
axis.labelHeight=axisOptions.labelHeight;}
function setTicks(axis,axisOptions){axis.ticks=[];if(!axis.used)
return;if(axisOptions.ticks==null)
axis.ticks=axis.tickGenerator(axis);else if(typeof axisOptions.ticks=="number"){if(axisOptions.ticks>0)
axis.ticks=axis.tickGenerator(axis);}
else if(axisOptions.ticks){var ticks=axisOptions.ticks;if($.isFunction(ticks))
ticks=ticks({min:axis.min,max:axis.max});var i,v;for(i=0;i<ticks.length;++i){var label=null;var t=ticks[i];if(typeof t=="object"){v=t[0];if(t.length>1)
label=t[1];}
else
v=t;if(label==null)
label=axis.tickFormatter(v,axis);axis.ticks[i]={v:v,label:label};}}
if(axisOptions.autoscaleMargin!=null&&axis.ticks.length>0){if(axisOptions.min==null)
axis.min=Math.min(axis.min,axis.ticks[0].v);if(axisOptions.max==null&&axis.ticks.length>1)
axis.max=Math.min(axis.max,axis.ticks[axis.ticks.length-1].v);}}
function setSpacing(){function measureXLabels(axis){if(axis.labelWidth==null)
axis.labelWidth=canvasWidth/6;if(axis.labelHeight==null){labels=[];for(i=0;i<axis.ticks.length;++i){l=axis.ticks[i].label;if(l)
labels.push('<div class="tickLabel" style="float:left;width:'+axis.labelWidth+'px">'+l+'</div>');}
axis.labelHeight=0;if(labels.length>0){var dummyDiv=$('<div style="position:absolute;top:-10000px;width:10000px;font-size:smaller">'
+labels.join("")+'<div style="clear:left"></div></div>').appendTo(target);axis.labelHeight=dummyDiv.height();dummyDiv.remove();}}}
function measureYLabels(axis){if(axis.labelWidth==null||axis.labelHeight==null){var i,labels=[],l;for(i=0;i<axis.ticks.length;++i){l=axis.ticks[i].label;if(l)
labels.push('<div class="tickLabel">'+l+'</div>');}
if(labels.length>0){var dummyDiv=$('<div style="position:absolute;top:-10000px;font-size:smaller">'
+labels.join("")+'</div>').appendTo(target);if(axis.labelWidth==null)
axis.labelWidth=dummyDiv.width();if(axis.labelHeight==null)
axis.labelHeight=dummyDiv.find("div").height();dummyDiv.remove();}
if(axis.labelWidth==null)
axis.labelWidth=0;if(axis.labelHeight==null)
axis.labelHeight=0;}}
measureXLabels(axes.xaxis);measureYLabels(axes.yaxis);measureXLabels(axes.x2axis);measureYLabels(axes.y2axis);var maxOutset=options.grid.borderWidth;for(i=0;i<series.length;++i)
maxOutset=Math.max(maxOutset,2*(series[i].points.radius+series[i].points.lineWidth/2));plotOffset.left=plotOffset.right=plotOffset.top=plotOffset.bottom=maxOutset;var margin=options.grid.labelMargin+options.grid.borderWidth;if(axes.xaxis.labelHeight>0)
plotOffset.bottom=Math.max(maxOutset,axes.xaxis.labelHeight+margin);if(axes.yaxis.labelWidth>0)
plotOffset.left=Math.max(maxOutset,axes.yaxis.labelWidth+margin);if(axes.x2axis.labelHeight>0)
plotOffset.top=Math.max(maxOutset,axes.x2axis.labelHeight+margin);if(axes.y2axis.labelWidth>0)
plotOffset.right=Math.max(maxOutset,axes.y2axis.labelWidth+margin);plotWidth=canvasWidth-plotOffset.left-plotOffset.right;plotHeight=canvasHeight-plotOffset.bottom-plotOffset.top;axes.xaxis.scale=plotWidth/(axes.xaxis.max-axes.xaxis.min);axes.yaxis.scale=plotHeight/(axes.yaxis.max-axes.yaxis.min);axes.x2axis.scale=plotWidth/(axes.x2axis.max-axes.x2axis.min);axes.y2axis.scale=plotHeight/(axes.y2axis.max-axes.y2axis.min);}
function draw(){if(options.pies.show){drawPies(series);}else{drawGrid();for(var i=0;i<series.length;++i){var s=series[i];if(s.subseries){for(var j=0;j<s.subseries.length;++j)
drawSeries(s.subseries[j]);}else
drawSeries(s);}}}
function extractRange(ranges,coord){var firstAxis=coord+"axis",secondaryAxis=coord+"2axis",axis,from,to,reverse;if(ranges[firstAxis]){axis=axes[firstAxis];from=ranges[firstAxis].from;to=ranges[firstAxis].to;}
else if(ranges[secondaryAxis]){axis=axes[secondaryAxis];from=ranges[secondaryAxis].from;to=ranges[secondaryAxis].to;}
else{axis=axes[firstAxis];from=ranges[coord+"1"];to=ranges[coord+"2"];}
if(from!=null&&to!=null&&from>to)
return{from:to,to:from,axis:axis};return{from:from,to:to,axis:axis};}
function drawGrid(){var i;ctx.save();ctx.clearRect(0,0,canvasWidth,canvasHeight);ctx.translate(plotOffset.left,plotOffset.top);if(options.grid.backgroundColor){ctx.fillStyle=getColorOrGradient(options.grid.backgroundColor,plotHeight,0,"rgba(255, 255, 255, 0)");ctx.fillRect(0,0,plotWidth,plotHeight);}
var markings=options.grid.markings;if(markings){if($.isFunction(markings))
markings=markings({xmin:axes.xaxis.min,xmax:axes.xaxis.max,ymin:axes.yaxis.min,ymax:axes.yaxis.max,xaxis:axes.xaxis,yaxis:axes.yaxis,x2axis:axes.x2axis,y2axis:axes.y2axis});for(i=0;i<markings.length;++i){var m=markings[i],xrange=extractRange(m,"x"),yrange=extractRange(m,"y");if(xrange.from==null)
xrange.from=xrange.axis.min;if(xrange.to==null)
xrange.to=xrange.axis.max;if(yrange.from==null)
yrange.from=yrange.axis.min;if(yrange.to==null)
yrange.to=yrange.axis.max;if(xrange.to<xrange.axis.min||xrange.from>xrange.axis.max||yrange.to<yrange.axis.min||yrange.from>yrange.axis.max)
continue;xrange.from=Math.max(xrange.from,xrange.axis.min);xrange.to=Math.min(xrange.to,xrange.axis.max);yrange.from=Math.max(yrange.from,yrange.axis.min);yrange.to=Math.min(yrange.to,yrange.axis.max);if(xrange.from==xrange.to&&yrange.from==yrange.to)
continue;xrange.from=xrange.axis.p2c(xrange.from);xrange.to=xrange.axis.p2c(xrange.to);yrange.from=yrange.axis.p2c(yrange.from);yrange.to=yrange.axis.p2c(yrange.to);if(xrange.from==xrange.to||yrange.from==yrange.to){ctx.strokeStyle=m.color||options.grid.markingsColor;ctx.beginPath();ctx.lineWidth=m.lineWidth||options.grid.markingsLineWidth;ctx.moveTo(xrange.from,yrange.from);ctx.lineTo(xrange.to,yrange.to);ctx.stroke();}
else{ctx.fillStyle=m.color||options.grid.markingsColor;ctx.fillRect(xrange.from,yrange.to,xrange.to-xrange.from,yrange.from-yrange.to);}}}
ctx.lineWidth=1;ctx.strokeStyle=options.grid.tickColor;ctx.beginPath();var v,axis=axes.xaxis;for(i=0;i<axis.ticks.length;++i){v=axis.ticks[i].v;if(v<=axis.min||v>=axes.xaxis.max)
continue;ctx.moveTo(Math.floor(axis.p2c(v))+ctx.lineWidth/2,0);ctx.lineTo(Math.floor(axis.p2c(v))+ctx.lineWidth/2,plotHeight);}
axis=axes.yaxis;for(i=0;i<axis.ticks.length;++i){v=axis.ticks[i].v;if(v<=axis.min||v>=axis.max)
continue;ctx.moveTo(0,Math.floor(axis.p2c(v))+ctx.lineWidth/2);ctx.lineTo(plotWidth,Math.floor(axis.p2c(v))+ctx.lineWidth/2);}
axis=axes.x2axis;for(i=0;i<axis.ticks.length;++i){v=axis.ticks[i].v;if(v<=axis.min||v>=axis.max)
continue;ctx.moveTo(Math.floor(axis.p2c(v))+ctx.lineWidth/2,-5);ctx.lineTo(Math.floor(axis.p2c(v))+ctx.lineWidth/2,5);}
axis=axes.y2axis;for(i=0;i<axis.ticks.length;++i){v=axis.ticks[i].v;if(v<=axis.min||v>=axis.max)
continue;ctx.moveTo(plotWidth-5,Math.floor(axis.p2c(v))+ctx.lineWidth/2);ctx.lineTo(plotWidth+5,Math.floor(axis.p2c(v))+ctx.lineWidth/2);}
ctx.stroke();if(options.grid.borderWidth){var bw=options.grid.borderWidth;ctx.lineWidth=bw;ctx.strokeStyle=options.grid.borderColor;ctx.strokeRect(-bw/2,-bw/2,plotWidth+bw,plotHeight+bw);}
ctx.restore();}
function insertLabels(){target.find(".tickLabels").remove();var html=['<div c
