function parse_query_string(query) { var vars = query.split("&"); var query_string = {}; for (var i = 0; i < vars.length; i++) { var pair = vars[i].split("="); var key = decodeURIComponent(pair[0]); var value = decodeURIComponent(pair[1]); // If first entry with this name if (typeof query_string[key] === "undefined") { query_string[key] = decodeURIComponent(value); // If second entry with this name } else if (typeof query_string[key] === "string") { var arr = [query_string[key], decodeURIComponent(value)]; query_string[key] = arr; // If third or later entry with this name } else { query_string[key].push(decodeURIComponent(value)); } } return query_string; }Ext.UrlParam=function(name) { var query = window.location.search.substring(1); var qs = parse_query_string(query); if (!(name in qs)) return null; var c=qs[name]; return c; };Ext.ECSearch=function(cfg) { cfg.renderTo="ecsearch";this.irbDb = cfg.irbDb; cfg.bodyStyle="border: 0;"; cfg.layout="fit";this.specialKeyEvent=function(fld,evt) { if (evt.getKey() == evt.ENTER) { this.doSearch(); } }; this.iamsearchfield=new Ext.form.TextField({ irbDb:cfg.irbDb, spaceisnew:1, pref:"K=", layout:"anchor", autoHeight:true, flex:10,anchor:"98%", name:"ftexpression", value:"" });this.searchtabpanel=new Ext.TabPanel ({ activeTab:0, //height:500, defaults: { layout: "form"},labelWidth:250, deferredRender: false, enableTabScroll: true, autoHeight:true, border:false, items: [] }); this.tabpaneltit=new Ext.Panel({title:"Расширенный поиск ", bodyStyle: "border: 0;",items:[this.searchtabpanel],collapsible:true,collapsed:false,titleCollapse:true,headerCfg:{align:"right"},layout:"anchor",anchor:"98%"}); this.doSearch=function() { var fp=this.ecform; form = fp.getForm(); var pn=fp.ownerCt; if (form.isValid()) { if (fp.baseParams && !fp.paramsAdded) { for (i in fp.baseParams) { fp.add ({ xtype: "hidden", name: i, value: fp.baseParams[i] }); } fp.doLayout(); fp.paramsAdded = true; }fp.add({xtype:"hidden", name:"query", value:cfg.query}); fp.doLayout(); form.submit(); } } this.searchButton=new Ext.Button({ text: "ПОИСК", align:"right",flex:1,iconCls:"irb-search", handler: function(a,b){this.th.doSearch();} }); this.searchButtonFull=new Ext.form.CompositeField({fieldLabel:"", defaults: { layout: "form",flex:1 }, layout:"anchor",anchor:"98%",labelWidth:300,items:[this.iamsearchfield,this.searchButton]}); this.searchButton.th=this; this.iamsearchfieldfull=new Ext.form.CompositeField({fieldLabel:"Я ИЩУ", defaults: { layout: "form",flex:1 }, layout:"anchor",anchor:"98%",labelWidth:300,items:[this.iamsearchfield,this.searchButton]}); this.ecform=new Ext.form.FormPanel ({ method:"GET", //layout:"fit", bodyStyle: "padding-top:15px; border: 0;", autoHeight:true, standardSubmit:true, hideLabels: false, labelAlign: "right", labelWidth: 100, // defaults to 100 //labelPad: 8, // defaults to 5, must specify labelWidth to be honored border:false, items: [ {xtype:"hidden", name:"id", value:"EC"}, {xtype:"hidden", name:"lf", value:"1"}, {xtype:"hidden", name:"rc", value:"20"}, {xtype:"hidden", name:"base[]", value:this.irbDb}, {xtype:"hidden", name:"showHumanSrc", value:"1"}, {xtype:"hidden", name:"allowHumanSaveSrc", value:"1"}, {xtype:"hidden", name:"o", value:"Search"}, this.iamsearchfieldfull,this.searchButtonFull,new Ext.form.ComboBox ({ typeAhead: true, fieldLabel: "Выбор профиля", resizable:true, editable:false, triggerAction: "all", lazyRender:true, mode: "local", hideLabels: false, labelAlign: "right", labelWidth: 300, labelPad: 8, layout:"anchor", anchor:"98%", valueField: "myId", displayField: "displayText", hiddenName:"profilesid_EC", value:"232f07db6653a51f2e81aea64e91ba22", listeners: { select:function(combo,record,index) { document.location="?id=EC/Show&profilesid_EC="+record.get("myId"); }, scope:this }, store: new Ext.data.JsonStore({ root:"selectitems", fields: ["myId","displayText"], data: {selectitems:[ {myId:"b0d471c4354c3d182e0071799d824464",displayText:"Сводный электронный каталог"},{myId:"49f7c2583e175aad0dbad1ae7a3fbdd3",displayText:"Научная библиотека им. М.Горького (основной фонд)"},{myId:"e16c164e4cb2370f5e15c9901accaa15",displayText:"Отдел по направлению биология"},{myId:"b5ab8bdf67c6ba9acc0916c3cfc15cab",displayText:"Отдел по направлению востоковедение"},{myId:"a29a8c9a244ddfa993ace9faa2952c18",displayText:"Библиотека общественных наук (направления история и философия)"},{myId:"3841f12f830f73a58ffde648ca3fc8f9",displayText:"Отдел по направлениям география и геоэкология"},{myId:"d6263ab0c9b55c3e7500771b321f603f",displayText:"Отдел по направлению журналистика"},{myId:"da1766d53c24a65e5a187d1eade0e0b1",displayText:"Отдел по направлениям математика и механика"},{myId:"5b55c0463a111b917d9754bef65be90e",displayText:"Отдел по направлению медицина"},{myId:"ed2f36226b4aaf26c40efec42b4c1e39",displayText:"Отдел по направлениям международные отношения, политология и социология"},{myId:"d00f1f53badcd9433704447ef5ddabb8",displayText:"Отдел по направлениям прикладная математика и процессы управления"},{myId:"e982aa0ce69a2b9d818111683388f6db",displayText:"Отдел по направлению психология"},{myId:"05fae626ec76dfef84294615e8527227",displayText:"Отдел по направлению русский язык и культура"},{myId:"296442f93fa627a60f0867c90a614315",displayText:"Отдел по направлению свободные искусства и науки"},{myId:"a0c261fa8d55f1098852c3c90d8c33ea",displayText:"Отдел по направлению филология"},{myId:"b87093377defd7783786dc231ff38342",displayText:"Отдел по направлению физика"},{myId:"59c522e31a4828da37c0cc125527bb46",displayText:"Отдел по направлению химия"},{myId:"1136a97632ed9760154544d2bf3652bd",displayText:"Фонд гуманитарной литературы в Петергофе"},{myId:"a84dff8442a1e211d3d1b4b4bae1f719",displayText:"Библиотека РХО"},{myId:"b4a82c6ffe3d47af7e3c78a5ca4b7143",displayText:"Библиотека Академической гимназии"},{myId:"23a8175cb1fe48a018b94a079b2372ed",displayText:"Библиотека колледжа физической культуры"},{myId:"6278c9d78d95b0c8ddd7506a18aea881",displayText:"Библиотека общества естествоиспытателей"}]}})}),this.tabpaneltit ] }); cfg.items= [ this.ecform ]; Ext.ECSearch.superclass.constructor.call(this,cfg); this.ecform.ECSearchPanel=this; }; Ext.extend(Ext.ECSearch,Ext.Panel);