/*
 * JSMin
 * Javascript Compressor
 * http://www.crockford.com/
 * http://www.smallsharptools.com/Projects/Packer/
*/

// V:\1.1.007\js\lib\ext-namirial\Ext.ux.Namirial.data.ArrayStore.js

Ext.namespace('Ext.ux');Ext.namespace('Ext.ux.Namirial');Ext.namespace('Ext.ux.Namirial.data');Ext.ux.Namirial.data.ArrayStore=Ext.extend(Ext.data.Store,{constructor:function(c){Ext.ux.Namirial.data.ArrayStore.superclass.constructor.call(this,Ext.apply(c,{selectFrom:c.selectFrom,selectFilter:c.selectFilter||'',sql:c.sql,db:c.db||session.userDb,idIndex:c.idIndex,reader:new Ext.data.ArrayReader({id:c.idIndex},Ext.data.Record.create(c.fields))}));this.proxy=new Ext.data.HttpProxy({url:c.url});},load:function(options){options=options||{params:{}}
if(!Ext.isEmpty(options.params.start)){this.loadPaged(options);return;}
if(Ext.isEmpty(this.sql)){this.fireEvent('loadexception');return false;}
var appSql=this.sql+' '+this.selectFilter+(Ext.isEmpty(this.sortInfo)?'':(' ORDER BY ['+this.sortInfo.field+'] '+this.sortInfo.direction));Ext.apply(options.params,{format:'ARRAY',db:this.db,s:appSql})
return Ext.ux.Namirial.data.ArrayStore.superclass.load.call(this,options);},loadSp:function(options){if(Ext.isEmpty(this.sql)){this.fireEvent('loadexception');return false;}
options=options||{params:{db:this.db,format:'ARRAY',s:this.sql}};return Ext.ux.Namirial.data.ArrayStore.superclass.load.call(this,options);},loadPaged:function(options){if(Ext.isEmpty(this.sql)||Ext.isEmpty(options)){this.fireEvent('loadexception');return false;}
var appSql='exec ReturnPage \''+this.sql+
((Ext.isEmpty(this.selectFilter))?'':(' '+this.selectFilter))+'\',\''+
this.sortInfo.field+' '+this.sortInfo.direction+'\','+
(options.params.start+1)+','+
(options.params.start+options.params.limit);options.params=Ext.apply(options.params,{db:this.db,format:'ARRAY',s:appSql});return Ext.ux.Namirial.data.ArrayStore.superclass.load.call(this,options);},setFilter:function(filter){this.selectFilter=filter;},setSql:function(sql){this.sql=sql;}})

