var dmPattern=Sys.CultureInfo.CurrentCulture.dateTimeFormat.ShortDatePattern;dmPattern=dmPattern.substring(0,dmPattern.length-5);Date.getFormatPattern=function(a){switch(a){case"md-st":return dmPattern+" "+Sys.CultureInfo.CurrentCulture.dateTimeFormat.ShortTimePattern;case"sd":return Sys.CultureInfo.CurrentCulture.dateTimeFormat.ShortDatePattern;case"ld":return Sys.CultureInfo.CurrentCulture.dateTimeFormat.LongDatePattern;case"sd-lt":case"":return Sys.CultureInfo.CurrentCulture.dateTimeFormat.ShortDatePattern+" "+Sys.CultureInfo.CurrentCulture.dateTimeFormat.ShortTimePattern;default:return a}};Ext.apply(Ext.util.Format,{dateOffset:function(a,b){return a?a.localeFormat(Date.getFormatPattern(b)):""},dateOffsetRenderer:function(a){return function(b){return Ext.util.Format.dateOffset(b,a)}},number:function(a,b){return a||a===0?a.localeFormat?a.localeFormat(b):a:typeof a=="undefined"?"":Sys.CultureInfo.CurrentCulture.numberFormat.NaNSymbol}});Ext.override(Ext.grid.NumberColumn,{format:"n",align:"right"});Ext.grid.DateTimeOffsetColumn=Ext.extend(Ext.grid.DateColumn,{constructor:function(){this.supr().constructor.apply(this,arguments);this.renderer=Ext.util.Format.dateOffsetRenderer(this.format)}});Ext.apply(Ext.grid.Column.types,{dateoffsetcolumn:Ext.grid.DateTimeOffsetColumn});Ext.override(Ext.data.JsonReader,{getJsonAccessor:function(){var a=/[\[\.]/;return function(b){try{return a.test(b)?new Function("obj","try {return obj."+b+";}catch(e){return null;}"):function(a){return a[b]}}catch(c){}return Ext.emptyFn}}(),readRecords$summary:Ext.data.JsonReader.prototype.readRecords,readRecords:function(b){var a=this.readRecords$summary(b);if(this.meta.summaryProperty){this.getSummary=this.getJsonAccessor(this.meta.summaryProperty);a.summary=this.getSummary(b)}return a}});Ext.override(Ext.data.Store,{loadRecords:function(c,a,e){if(!c||e===false){e!==false&&this.fireEvent("load",this,[],a);a.callback&&a.callback.call(a.scope||this,[],a,false);return}var b=c.records,f=c.totalRecords||b.length;this.summary=c.summary||{};if(!a||a.add!==true){if(this.pruneModifiedRecords)this.modified=[];for(var d=0,g=b.length;d<g;d++)b[d].join(this);if(this.snapshot){this.data=this.snapshot;delete this.snapshot}this.data.clear();this.data.addAll(b);this.totalLength=f;this.applySort();this.fireEvent("datachanged",this)}else{this.totalLength=Math.max(f,this.data.length+b.length);this.add(b)}this.fireEvent("load",this,b,a);a.callback&&a.callback.call(a.scope||this,b,a,true)},sort:function(e,b){var a=this.fields.get(e);if(!a)return false;if(!b)if(this.sortInfo&&this.sortInfo.field==a.name)b=(this.sortToggle[a.name]||"ASC").toggle("ASC","DESC");else b=a.sortDir;var d=this.sortToggle?this.sortToggle[a.name]:null,c=this.sortInfo?this.sortInfo:null;this.sortToggle[a.name]=b;this.sortInfo={field:a.name,direction:b};if(!this.remoteSort){this.applySort();this.fireEvent("datachanged",this)}else if(this.load(this.lastOptions)){if(d)this.sortToggle[a.name]=d;if(c)this.sortInfo=c}}});Ext.data.WSProxy=function(a){this.webMethod=a.webMethod;Ext.data.WSProxy.superclass.constructor.call(this)};Ext.extend(Ext.data.WSProxy,Ext.data.DataProxy,{load:function(a,f,b,d,e){if(this.fireEvent("beforeload",this,a)!==false){var c={params:a,reader:f,callback:b,scope:d,arg:e};if(this.webMethod.length>3)this.webMethod(a,this._onSucceeded.createDelegate(this),this._onFailed.createDelegate(this),c);else this.webMethod(this._onSucceeded.createDelegate(this),this._onFailed.createDelegate(this),c)}else b.call(d||this,null,e,false)},_onSucceeded:function(b,a,d){try{var c=a.reader.readRecords(b);this.fireEvent("load",this,b,a.arg);a.callback.call(a.scope,c,a.arg,true)}catch(e){this._onFailed(e,a,d,b);throw e;}},_onFailed:function(c,a,d,b){this.fireEvent("loadexception",this,a.params,b,c);a.callback.call(a.scope,null,a.arg,false)}});Ext.data.WSStore=function(a){a=Ext.apply({remoteSort:true,pageSize:50,paramNames:{start:"StartFrom",limit:"Count",sort:"SortField",dir:"SortDir"}},a);a.proxy=a.proxy||new Ext.data.WSProxy({webMethod:a.wm||a.webMthod});a.reader=a.reader||new Ext.data.JsonReader({root:"Items",totalProperty:"Summary.TotalCount",summaryProperty:"Summary",id:"Id"},a.recordType);delete a.wm;delete a.webMethod;delete a.scope;delete a.recordType;Ext.data.WSStore.superclass.constructor.call(this,a)};Ext.extend(Ext.data.WSStore,Ext.data.Store,{loadMsg:"Пожалуйста, подождите - выполняется загрузка данных.",load:function(a){a=a||{};a.params=a.params||{};a.params.hasOwnProperty(this.paramNames.start)||(a.params[this.paramNames.start]=0);a.params.hasOwnProperty(this.paramNames.limit)||(a.params[this.paramNames.limit]=this.pageSize);Ext.data.WSStore.superclass.load.call(this,a)}});Ext.data.PlainArrayReader=Ext.extend(Ext.data.JsonReader,{readRecords:function(h){for(var l=this.meta?this.meta.id:null,d=this.recordType,i=d.prototype.fields,j=i.items[0],k=j.name,a=[],g=this.meta.root?h[this.meta.root]:h,b=0;b<g.length;b++){var c=g[b],f={};f[k]=c;var e=new d(f,c);e.json=c;a[a.length]=e}return{records:a,totalRecords:a.length}}});Ext.override(Ext.grid.RowNumberer,{renderer:function(g,d,f,c,e,a){if(this.rowspan)d.cellAttr='rowspan="'+this.rowspan+'"';var b=0;if(a&&a.lastOptions&&a.lastOptions.params)b=a.lastOptions.params[a.paramNames.start];return c+1+b}});Ext.override(Ext.grid.GridPanel,{enableHdMenu:false,stripeRows:true,trackMouseOver:true});Ext.override(Ext.grid.RowSelectionModel,{singleSelect:true});Ext.override(Ext.grid.ColumnModel,{getColumnFooter:function(e,f){var a=this.config[e],c=a.footerGetter||Ext.grid.ColumnModel.defaultFooterGetter,b=a.footerFormat||"{0}",d=c(a,f);return String.localeFormat(b,d)},getColumnLayers:function(a){return(this.config[a].bands||[]).concat(this.config[a])},getColumn:function(a){return this.config[a]}});Ext.grid.ColumnModel.defaultFooterGetter=function(c,a){var b=c.summaryIndex;return b&&a.summary?a.summary[b]:""};Ext.grid.HeaderRow=function(){this.cells=[];this.last=null};Ext.extend(Ext.grid.HeaderRow,Object,{newBand:function(a,c,b){this.band=a;this.last={colSpan:1,display:b?"none":"",header:a,tpl:c};this.cells.push(this.last)},expandBand:function(a){if(!a&&this.last.display!="none")this.last.colSpan++;if(!a)this.last.display=""},addCell:function(a){this.cells.push(a);this.band=null},breakBand:function(){this.band=null}});Ext.override(Ext.grid.GridView,{initTemplates:Ext.grid.GridView.prototype.initTemplates.createInterceptor(function(){var a=this.templates=this.templates||{};if(!a.master)a.master=new Ext.Template('<div class="x-grid3" hidefocus="true">','<div class="x-grid3-viewport">','<div class="x-grid3-header"><div class="x-grid3-header-inner"><div class="x-grid3-header-offset">{header}</div></div><div class="x-clear"></div></div>','<div class="x-grid3-scroller"><div class="x-grid3-body">{body}</div><a href="#" class="x-grid3-focus" tabIndex="-1"></a></div>','<div class="x-grid3-footer"><div class="x-grid3-footer-inner"><div class="x-grid3-footer-offset">{footer}</div></div><div class="x-clear"></div></div>',"</div>",'<div class="x-grid3-resize-marker">&#160;</div>','<div class="x-grid3-resize-proxy">&#160;</div>',"</div>");if(!a.footer)a.footer=new Ext.Template('<table border="0" cellspacing="0" cellpadding="0" style="{tstyle}">','<thead><tr class="x-grid3-ft-row">{cells}</tr></thead>',"</table>");if(!a.fcell)a.fcell=new Ext.Template('<td class="x-grid3-ft x-grid3-cell x-grid3-td-{id}" style="{style}"><div class="x-grid3-ft-inner x-grid3-ft-{id}" unselectable="on" style="{istyle}">',"{value}","</div></td>");if(!a.header)a.header=new Ext.XTemplate('<table border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',"<thead>",'<tr class="x-grid3-header-master">',"{cols}","</tr>",'<tpl for="rows">','<tr class="x-grid3-hd-row">{html}</tr>',"</tpl>","</thead>","</table>");if(!a.hcell)a.hcell=new Ext.Template('<td class="x-grid3-hd x-grid3-cell x-grid3-td-{id}" colIndex="{index}" style="{style}" rowSpan="100"><div {tooltip} {attr} class="x-grid3-hd-inner x-grid3-hd-{id}" unselectable="on" style="{istyle}">',this.grid.enableHdMenu?'<a class="x-grid3-hd-btn" href="#"></a>':"",'{value}<img class="x-grid3-sort-icon" src="',Ext.BLANK_IMAGE_URL,'" />',"</div></td>");if(!a.bcell)a.bcell=new Ext.Template('<td class="x-grid3-bnd x-grid3-cell x-grid3-td-{id} x-grid3-td-band" style="display:{display}" colSpan="{colSpan}" colIndex="{colIndex}"><div {tooltip} {attr} class="x-grid3-bnd-inner x-grid3-bnd-{id}" unselectable="on" style="{istyle}">',"{header}","</div></td>")}),initElements:Ext.grid.GridView.prototype.initElements.createSequence(function(){this.mainFt=new Ext.Element(this.mainWrap.dom.childNodes[2]);this.grid.showFooter!==true&&this.mainFt.setDisplayed(false);this.innerFt=this.mainFt.dom.firstChild}),getHeaderCell:function(a){return this.mainHd.child(String.format("td[colIndex={0}]",a),true)},getColumnMasterCell:function(a){return this.mainHd.query('tr[class="x-grid3-header-master"] td')[a]},getFooterCell:function(a){return this.mainFt.dom.getElementsByTagName("td")[a]},getHeaderDepth:function(){for(var b=1,c=this.cm,a=0,e=c.getColumnCount();a<e;a++)if(c.config[a].bands){var d=c.config[a].bands.length+1;b=Math.max(b,d)}return b},syncScroll:Ext.grid.GridView.prototype.syncScroll.createInterceptor(function(){this.syncFooterScroll()}),syncFooterScroll:function(){var a=this.scroller.dom;this.innerFt.scrollLeft=a.scrollLeft;this.innerFt.scrollLeft=a.scrollLeft},updateSortIcon:function(b,c){var a=this.sortClasses,d=this.mainHd.select("td").removeClass(a),e=Ext.fly(this.getHeaderCell(b)).addClass(a[c=="DESC"?1:0])},updateColumnWidth:function(a){var d=this.getColumnWidth(a),b=this.getTotalWidth();this.innerHd.firstChild.firstChild.style.width=b;var f=this.getHeaderCell(a);f.style.width=d;f=this.getColumnMasterCell(a);f.style.width=d;this.innerFt.firstChild.firstChild.style.width=b;var h=this.getFooterCell(a);h.style.width=d;for(var e=this.getRows(),c=0,g=e.length;c<g;c++){e[c].style.width=b;e[c].firstChild.style.width=b;e[c].firstChild.rows[0].childNodes[a].style.width=d}this.onColumnWidthUpdated(a,d,b)},updateColumnHidden:function(e,d){var b=this.getTotalWidth();this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=b;this.mainBody.dom.style.width=b;var g=d?"none":"";this.updateHeader();for(var f=this.getRows(),a,c=0,h=f.length;c<h;c++){a=f[c];a.style.width=b;if(a.firstChild){a.firstChild.style.width=b;a.firstChild.rows[0].childNodes[e].style.display=g}}this.onColumnHiddenUpdated(e,d,b);delete this.lastViewWidth;this.layout()},updateHeader:function(){this.innerHd.firstChild.innerHTML=this.renderHeaders()},renderUI:function(){var c=this.renderHeaders(),b=this.renderFooters(),d=this.templates.body.apply({rows:""}),e=this.templates.master.apply({body:d,header:c,footer:b}),a=this.grid;a.getGridEl().dom.innerHTML=e;this.initElements();Ext.fly(this.innerHd).on("click",this.handleHdDown,this);this.mainHd.on("mouseover",this.handleHdOver,this);this.mainHd.on("mouseout",this.handleHdOut,this);this.mainHd.on("mousemove",this.handleHdMove,this);this.scroller.on("scroll",this.syncScroll,this);if(a.enableColumnResize!==false)this.splitone=new Ext.grid.GridView.SplitDragZone(a,this.mainHd.dom);if(a.enableColumnMove){this.columnDrag=new Ext.grid.GridView.ColumnDragZone(a,this.innerHd);this.columnDrop=new Ext.grid.HeaderDropZone(a,this.mainHd.dom)}if(a.enableHdMenu!==false){if(a.enableColumnHide!==false){this.colMenu=new Ext.menu.Menu({id:a.id+"-hcols-menu"});this.colMenu.on("beforeshow",this.beforeColMenuShow,this);this.colMenu.on("itemclick",this.handleHdMenuClick,this)}this.hmenu=new Ext.menu.Menu({id:a.id+"-hctx"});this.hmenu.add({id:"asc",text:this.sortAscText,cls:"xg-hmenu-sort-asc"},{id:"desc",text:this.sortDescText,cls:"xg-hmenu-sort-desc"});a.enableColumnHide!==false&&this.hmenu.add("-",{id:"columns",text:this.columnsText,menu:this.colMenu,iconCls:"x-cols-icon"});this.hmenu.on("itemclick",this.handleHdMenuClick,this)}if(a.trackMouseOver)this.mainBody.on({scope:this,mouseover:this.onRowOver,mouseout:this.onRowOut});if(a.enableDragDrop||a.enableDrag)this.dragZone=new Ext.grid.GridDragZone(a,{ddGroup:a.ddGroup||"GridDD"});this.updateHeaderSortState()},layout:function(){if(!this.mainBody)return;var d=this.grid,g=d.getGridEl(),b=g.getSize(true),a=b.width;if(a<20||b.height<20)return;if(d.autoHeight)this.scroller.dom.style.overflow="visible";else{this.el.setSize(b.width,b.height);var f=this.mainHd.getHeight(),e=this.mainFt.getHeight(),c=b.height-(f+e);this.scroller.setSize(a,c);if(this.innerHd)this.innerHd.style.width=a+"px";if(this.innerFt)this.innerFt.style.width=a+"px"}if(this.forceFit){if(this.lastViewWidth!=a){this.fitColumns(false,false);this.lastViewWidth=a}}else{this.autoExpand();this.syncHeaderScroll()}this.onLayout(a,c)},renderHeaders:function(){for(var d=this.cm,i=this.templates,p=i.bcell,r=i.hcell,c=[],s=[],t=[],u={},j="",b=0,l=this.getHeaderDepth();b<l;b++)c.push(new Ext.grid.HeaderRow);for(var n=function(b,c){for(var a=c+1,d=b.length;a<d;a++)b[a].breakBand()},b=0,l=d.getColumnCount();b<l;b++){var h=d.isHidden(b);j+=String.format('<td style="width: {0}; display: {1}"/>',this.getColumnWidth(b),h?"none":"");for(var o={id:d.getColumnId(b),index:b,value:d.getColumnHeader(b)||"",style:this.getColumnStyle(b,true),tooltip:this.getColumnTooltip(b),istyle:d.config[b].align=="right"?"padding-right:16px":null,tpl:r},g=d.getColumnLayers(b),a=0,m=g.length,k=c.length;a<k;a++)if(a<m-1)if(c[a].band==g[a])c[a].expandBand(h);else{c[a].newBand(g[a],p,h);n(c,a)}else if(a<m)c[a].addCell(o);else c[a].breakBand()}for(var a=0,k=c.length;a<k;a++){var e=c[a];e.html="";for(var f=0,q=e.cells.length;f<q;f++)e.html+=e.cells[f].tpl.apply(e.cells[f])}return i.header.apply({cols:j,rows:c,tstyle:"width:"+this.getTotalWidth()+";"})},renderFooters:function(){for(var c=this.cm,e=this.templates,g=e.fcell,h=this.grid.store,d=[],i=[],b={},a=0,f=c.getColumnCount();a<f;a++){b.id=c.getColumnId(a);b.value=c.getColumnFooter(a,h);b.style=this.getColumnStyle(a,true);if(c.config[a].align=="right")b.istyle="padding-right:2px";else delete b.istyle;d[d.length]=g.apply(b)}return e.footer.apply({cells:d.join(""),tstyle:"width:"+this.getTotalWidth()+";"})},updateFooter:function(){this.innerFt.firstChild.innerHTML=this.renderFooters()},refresh:function(a){this.fireEvent("beforerefresh",this);this.grid.stopEditing(true);var b=this.renderBody();this.mainBody.update(b);if(a===true){this.updateHeaders();this.updateHeaderSortState();this.updateFooter()}this.processRows(0,true);this.layout();this.applyEmptyText();this.fireEvent("refresh",this)},onDataChange:Ext.grid.GridView.prototype.onDataChange.createSequence(function(){this.updateFooter()}),onLoad:Ext.grid.GridView.prototype.onLoad.createSequence(function(){this.updateFooter()})});Ext.override(Ext.Container,{findByItemId:function(b){var a,c=this;this.cascade(function(d){if(c!=d&&d.itemId===b){a=d;return false}});return a||null}});Ext.ButtonBinder=function(a){this.baseButton=Ext.get(a);this.baseButton.setDisplayed(false)};Ext.extend(Ext.ButtonBinder,Object,{init:function(a){a.setText(this.baseButton.getValue());a.on("click",function(){this.baseButton.dom.click()},this)}});typeof Sys!="undefined"&&Sys.Application.notifyScriptLoaded();
