/*
 * JSMin
 * Javascript Compressor
 * http://www.crockford.com/
 * http://www.smallsharptools.com/Projects/Packer/
*/

// V:\1.1.007\js\form\Ext.ux.Namirial.form.DichiarazioneDisgiunta.js

Ext.ns('Ext.ux');Ext.ns('Ext.ux.Namirial');Ext.ns('Ext.ux.Namirial.form');Ext.ux.Namirial.form.DichiarazioneDisgiunta=Ext.extend(Ext.Window,{constructor:function(param){this.param=param||CONIUGATI;this.cfisc_rec;this.leftGridSm=new Ext.grid.RowSelectionModel({singleSelect:true,listeners:{rowselect:{fn:function(sm,row,rec){this.cfisc_rec=rec;},scope:this}}})
this.tb_ok=new Ext.Toolbar.Button({text:'Disgiungi',icon:IMG_OK,iconCls:'x-btn-text-icon',tooltip:{title:'Disgiungi',text:'Disgiungi le dichiarazioni'},handler:this.functionTbSalva,scope:this})
this.tb_chiudi=new Ext.Toolbar.Button({text:'Chiudi',icon:IMG_CANCEL,iconCls:'x-btn-text-icon',tooltip:{title:'Annulla',text:'Annulla le modifiche'},handler:this.close,scope:this})
this.tb_annulla=new Ext.Toolbar.Button({text:'Annulla selezione',icon:IMG_CANCEL,iconCls:'x-btn-text-icon',tooltip:{title:'Annulla',text:'Annulla la selezione'},handler:this.annullaSel,scope:this})
this.storeDichiarazioni=new Ext.ux.Namirial.data.ArrayStore({url:JSONDATAURL,remoteSort:false,idIndex:1,fields:fields_anagList,sql:getQuery(sp_ANAGRAFI_PERMISSIONS,[session.userLogged,"",this.param,""])});this.storeAnagraficaHistory=new Ext.ux.Namirial.data.GearsStore({gearsConn:conn,dbname:GDATABASE,selectFrom:ANAGRAFICA_TAB,fields:structStore.getFields(ANAGRAFICA_TAB),autoLoad:false});this.storeDichiarazioni.on({'load':{fn:function(store,rec){store.filterBy(filtraCAF);this.storeDichiarazioni.on('add',function(store,rec,index){this.storeDichiarazioni.getAt(index).set('icon',true);this.storeDichiarazioni.getAt(index).set('LOCKED',false);},this)
this.storeAnagraficaHistory.on('load',function(o,rec){if(this.storeAnagraficaHistory.getCount()>0){this.storeAnagraficaHistory.each(function(recordSet){var index=this.storeDichiarazioni.find('CFISC',recordSet.get('CFISC'));if((index!=undefined&&index>-1)){this.storeDichiarazioni.getAt(index).set('icon',true);}},this);}
this.storeDichiarazioni.commitChanges();},this);this.storeAnagraficaHistory.load();},single:true,scope:this}});this.leftGrid=new Ext.grid.GridPanel({stripeRows:true,title:'Dichiarante',store:this.storeDichiarazioni,border:false,autoScroll:true,loadMask:true,sm:this.leftGridSm,columns:campi_anagrafica});Ext.ux.Namirial.form.DichiarazioneDisgiunta.superclass.constructor.call(this,{id:WINDOW_DICDISGIUNTA,draggable:true,resizable:false,constrain:true,title:'Disgiungi Dichiarazione',width:625,height:400,layout:'fit',items:this.leftGrid,tbar:[this.tb_annulla],bbar:['->',this.tb_ok,this.tb_chiudi]});this.on('beforeshow',function(){chiudiFinestre()});this.on('show',function(){hideLoading();this.storeDichiarazioni.loadSp();},this)},congiuntaSuccess:function(cfisc){unlockDichiarazione.call(this,cfisc,function(){Ext.ux.Namirial.Toast.msg('Dichiarazione disgiunta','Le due dichiarazioni sono state disgiunte con successo.',2);},function(){Ext.ux.Namirial.Toast.msg('Dichiarazione disgiunta','Si '+UNI_E+' verificato un errore nell\'unlock.',2);})},congiuntaFailure:function(){Ext.ux.Namirial.Toast.msg('Errore','Si '+UNI_E+' verificato un errore durante la <br> disgiunzione delle due dichiarazioni',2);if(cfisc){unlockDichiarazione.call(this,cfisc,function(){},function(){log.fatal("Ext.ux.Namirial.form.DichiarazioneDisgiunta errore unlock")})}},functionTbSalva:function(){if(this.leftGridSm.getCount()>0){if(!this.cfisc_rec.get('icon')&&!this.cfisc_rec.get('LOCKED')){var dichiarante=this.cfisc_rec.get('CFISC');Ext.MessageBox.confirm('Disgiungi Dichiarazione','Si sta disgiungendo <b><font color="blue"> '+dichiarante+'</font></b> Continuare ?',function(button){if(button=='yes'){lockDichiarazione.call(this,dichiarante,session.userLogged,function(){Ext.Ajax.request({url:DISGIUNGIURL,params:{Cfisc:dichiarante,db:session.userDb},scriptTag:true,success:function(response){this.storeDichiarazioni.loadSp();readResultResponse(response,this.congiuntaSuccess.createDelegate(this,[dichiarante]),this.congiuntaFailure.createDelegate(this,[dichiarante]))},failure:function(){this.congiuntaFailure.createDelegate(this,[dichiarante]);},scope:this});},function(){this.storeDichiarazioni.loadSp();Ext.ux.Namirial.Toast.msg('Dichiarazione lockata','La dichiarazione '+UNI_E+' stata lockata nel frattempo')})}},this);}
else{Ext.ux.Namirial.Toast.msg('Attenzione!','Non '+UNI_E+' possibile disgiungere questa dichiarazione. <br> Se la dichiarazione '+UNI_E+' salvata in locale sincronizzare <br> prima di fare questa operazione ',3);}}else{Ext.ux.Namirial.Toast.msg('Attenzione','Selezionare una dichiarazione .',2);}},annullaSel:function(){this.leftGridSm.clearSelections();},showWinDicDisgiunta:function(){if(Ext.isEmpty(Ext.WindowMgr.get(WINDOW_DICCONGIUNTA))){this.show();}}})

