var charitySearch=function(){var getSearchValues=function(formObject){var values=formObject.form.getValues();var modifiedValues={};for(var n in values){var value=values[n];var field=formObject.form.findField(n);if(field.isDirty()){modifiedValues[n]=value;}}return modifiedValues;};var charityStore=new Ext.data.JsonStore({url:'/charity/listAsJSON/browse',method:'POST',fields:['charityid','description','href','name','city','state','photo1','photo2','photo3','categoryDescription'],autoLoad:false,baseParams:{limit:10}});var resultsTemplate=new Ext.XTemplate('<tpl for=".">','<div class="search-item">','<table><tr><td><img src="{photo1}"></td><td><h3><a href="/charity/view/{charityid}">{name}</a></h3><p><b>Nonprofit Type:</b> {categoryDescription}</p><p>{description}</p><a href="{href}" target="_blank">{href}</a></td></tr><tr><td></td><td align="right"><a href="/charity/view/{charityid}"><img src="/static/images/icons/record-next.png"/>Learn more</a></td></tr></table>','</div></tpl>');var resultsView=new Ext.DataView({id:'charityResults',emptyText:'No results to display.',loadingText:'Loading Nonprofits...',store:charityStore,tpl:resultsTemplate,itemSelector:'div.search-item-selector',singleSelect:true});var searchForm=new Ext.form.FormPanel({frame:true,id:'searchForm',layout:'form',labelAlign:'top',defaults:{labelSeparator:''},items:[{xtype:'textfield',fieldLabel:'Nonprofit Name or Keyword',emptyText:'e.g. Cancer Research, National Wildlife',width:210,name:'name'},{xtype:'combo',fieldLabel:'Category/ Cause',width:210,displayField:'description',valueField:'categoryid',hiddenName:'categoryid',triggerAction:'all',mode:'local',emptyText:'Limit your search by category',store:new Ext.data.JsonStore({fields:['categoryid','description'],data:charityCategory})},{xtype:'textfield',fieldLabel:'City',width:210,name:'city'},{xtype:'combo',width:210,fieldLabel:'State',emptyText:'Select One',triggerAction:'all',mode:'local',hiddenName:'state',displayField:'description',valueField:'abbreviation',store:new Ext.data.SimpleStore({fields:['abbreviation','description'],data:StateList})}],buttons:[{iconCls:'btn-apply',text:'Search',handler:function(){charityStore.load({params:getSearchValues(this.ownerCt)});}}]});return{charityStore:charityStore,currentPage:1,maxPage:0,nextPage:function(){this.currentPage++;var searchValues=getSearchValues(Ext.getCmp('searchForm'));searchValues.page=this.currentPage;this.charityStore.load({params:searchValues});},previousPage:function(){if(this.currentPage>1){this.currentPage--;};var searchValues=getSearchValues(Ext.getCmp('searchForm'));searchValues.page=this.currentPage;this.charityStore.load({params:searchValues});},init:function(){var p={};if(get_url_parameter('name')){p.name=get_url_parameter('name');}if(get_url_parameter('begins')){p.begins=get_url_parameter('begins');}searchForm.render('locate_form');resultsView.render('list');charityStore.load({params:p});}}};var cs;Ext.onReady(function(){cs=charitySearch();cs.init();});