/*
 * JSMin
 * Javascript Compressor
 * http://www.crockford.com/
 * http://www.smallsharptools.com/Projects/Packer/
*/

// V:\1.1.007\js\form\QE\Ext.ux.Namirial.form.QESezIE16.js

Ext.ns('Ext.ux','Ext.ux.Namirial','Ext.ux.Namirial.form');Ext.ux.Namirial.form.QESezIE16=Ext.extend(Ext.Panel,{constructor:function(totalField){this.totalField=totalField;this.modifica=false;this.cfisc=dichiarazione.getCurrentCfisc();this.row=-1;this.noTransaction=true;this.tb_nuovo=new Ext.Toolbar.Button({text:'Nuovo',icon:IMG_NUOVO,iconCls:'x-btn-text-icon',tooltip:{title:'Nuovo',text:'Aggiunge una nuova voce'},handler:this.nuovoRigo,scope:this});this.tb_nuovo.on('click',function(e){this.sm.clearSelections();this.tb_salva.enable();this.tb_modifica.disable();this.tb_cancella.disable();this.row=-1;},this);this.tb_salva=new Ext.Toolbar.Button({text:'Salva',icon:IMG_SALVA,disabled:true,iconCls:'x-btn-text-icon',tooltip:{title:'Salva',text:'Salva le modifiche apportare alla voce'},handler:this.salvaRigo,scope:this});this.tb_modifica=new Ext.Toolbar.Button({text:'Modifica',iconCls:'x-btn-text-icon',disabled:true,tooltip:{title:'Modifica',text:'Modifica della voce selezionata'},icon:IMG_EDIT,handler:this.modificaRigo,scope:this});this.tb_modifica.on('click',function(){this.tb_salva.enable();},this);this.tb_cancella=new Ext.Toolbar.Button({text:'Cancella',iconCls:'x-btn-text-icon',disabled:true,tooltip:{title:'Cancella',text:'Cancella la voce selezionata'},icon:IMG_CANCEL,handler:this.cancellaRigo,scope:this});this.tb_annulla=new Ext.Toolbar.Button({text:'Annulla',icon:IMG_UNDO,scope:this,iconCls:'x-btn-text-icon',disabled:true,tooltip:{title:'Annulla',text:'Annulla modifiche'},handler:this.annulla_record});this.basicForm=new Ext.form.BasicForm(null,{trackResetOnLoad:true});this.id_figlio=new Ext.ux.Namirial.form.TextField({name:'ID_FIGLIO',fieldLabel:'ID Figlio',allowBlank:false,disabled:true,autoCreate:MAX_LENGHT(50),validateOnBlur:false,validationEvent:'change',validator:controlloE16_ID_FIGLIO.createDelegate(this)})
this.basicForm.add(this.id_figlio);this.spesa=new Ext.ux.Namirial.form.NumberField({name:'TOT_SPESA',dataIndex:'E16',width:70,allowNegative:false,decimalPrecision:0,readOnly:true,changeStyleIfReadOnly:true,fieldLabel:'Spesa sostenuta',asString:true});this.basicForm.add(this.spesa);this.spesa.on('valid',function(){this.setTotali();},this)
this.btnDettagli=new Ext.Button({icon:IMG_TOTRIGO,cls:'x-btn-icon',disabled:true,scope:this,handler:function(){doc=new Ext.ux.Namirial.form.DettagliQE({totalField:this.spesa,idRecord:this.idField.getValue(),recordStore:this.dettStore});doc.apri();}});this.percentuale=new Ext.ux.Namirial.form.ComboBox({name:'PERC',width:70,listWidth:300,fieldLabel:'Percentuale',triggerAction:'all',style:'text-align: right;',store:Ext.ux.percentualeCondivisa,tpl:COMBO_WRAP,allowBlank:false,showValue:true,disabled:true,value:'100',forceSelection:true});this.basicForm.add(this.percentuale);this.percentuale.on('change',this.setTotali,this);this.detrazione=new Ext.ux.Namirial.form.NumberField({name:'TOT_SPESA_MAX',width:70,allowNegative:false,decimalPrecision:0,disabled:true,fieldLabel:'Detrazione spett.',asString:true});this.basicForm.add(this.detrazione);this.cfiscField=new Ext.ux.Namirial.form.TextField({name:'CFISC',hidden:true});this.basicForm.add(this.cfiscField);this.idField=new Ext.ux.Namirial.form.TextField({name:'ID',hidden:true});this.basicForm.add(this.idField);this.formPanel=new Ext.form.FormPanel({frame:true,bodyStyle:SFONDO_TRASPARENTE+PADDING_5,border:false,defaults:{bodyStyle:SFONDO_TRASPARENTE,border:false},items:[this.id_figlio,{layout:'column',defaults:{layout:'form',bodyStyle:SFONDO_TRASPARENTE,border:false},items:[{width:180,items:this.spesa},{width:30,items:new Ext.Toolbar({style:SFONDO_TRASPARENTE+"border: 0px;padding:0px",items:[this.btnDettagli]})}]},this.percentuale,this.detrazione]})
this.store=new Ext.ux.Namirial.data.GearsStore({gearsConn:conn,dbname:GDATABASE,selectFrom:QE16_TAB,tableId:'keyId',fields:structStore.getFields(QE16_TAB),selectFilter:"CFISC = '"+this.cfisc+"'",autoLoad:true,autoCommit:true});function rowSelAction(sm,row,rec){this.setModifica(false);this.basicForm.loadRecord(rec);this.tb_cancella.enable();this.tb_modifica.enable();this.row=row;}
this.sm=new Ext.grid.RowSelectionModel({singleSelect:true,listeners:{rowselect:{fn:rowSelAction,scope:this}}})
this.grid=new Ext.grid.GridPanel({height:140,width:400,border:true,bodyStyle:'background-color white;',stripeRows:true,store:this.store,sm:this.sm,columns:header_QE16,listeners:{rowdblclick:{fn:function(){this.tb_salva.enable();modificaRigo.call(this);},scope:this}}})
try{Ext.ux.Namirial.form.QESezIE16.superclass.constructor.call(this,{width:705,style:'border-left: 1px solid '+BORDER_COLOR+';'+'border-right: 1px solid '+BORDER_COLOR+';',bodyStyle:SFONDO_TRASPARENTE,callapsible:true,collapsed:true,height:175,id:'ext-ux'+(new Date().getTime()),layout:'form',items:[{layout:'column',border:false,bodyStyle:SFONDO_TRASPARENTE,defaults:{border:false,bodyStyle:SFONDO_TRASPARENTE+PADDING_5,layout:'form'},items:[{width:410,items:this.grid},{columnWidth:1,items:this.formPanel}]}],tbar:[this.tb_nuovo,this.tb_salva,this.tb_modifica,this.tb_cancella,this.tb_annulla]})}catch(e){getToastMsg(MSG_TEXT,'QE Sez. IE16');log.error("Ext.ux.Namirial.form.QESezIE16#1 -> ",e)}
this.on('expand',function(){this.store.reload();},this)
this.on('collapse',function(){this.setModifica(false);this.basicForm.reset();},this)},setModifica:function(state){if(this.modifica!=state){var fields=this.basicForm.items.items;var disabled=['ACQUISTO','TOT_SPESA','TOT_SPESA_MAX','ACQUISTO_MAX','INSTALLAZIONE_MAX'];Ext.each(fields,function(field){if(disabled.indexOf(field.name)==-1)
field.setDisabled(!state);},this);this.spesa.clearInvalid();this.spesa.setAllowBlank(!state);if(this.btnDettagli.rendered)
this.btnDettagli.setDisabled(!state);this.tb_salva.setDisabled(!state);this.tb_annulla.setDisabled(!state);this.modifica=state;if(state){this.dettStore=new Ext.ux.Namirial.data.GearsStore({gearsConn:conn,dbname:GDATABASE,selectFrom:QEDETT_TAB,tableId:'keyId',fields:structStore.getFields(QEDETT_TAB),selectFilter:"CFISC = '"+this.cfisc+"' AND DETTAGLIO = '"+this.spesa.dataIndex+"' AND ID ='"+this.idField.getValue()+"'",autoLoad:true,autoCommit:false});}else{this.dettStore.removeAll()}
this.noTransaction=!state;}},setTotali:function(){var tot_detrazione=this.spesa.getNumericValue();if(tot_detrazione>E16_MAX)
tot_detrazione=E16_MAX
tot_detrazione=(tot_detrazione/100)*this.percentuale.getValue();this.detrazione.setValue(tot_detrazione);},updateTotale:function(){var somma=this.store.stringSum('TOT_SPESA_MAX');this.totalField.setValue(somma);conn.exec(getQuery(UPD_QE,[this.totalField.name,somma,this.cfisc]));},nuovoRigo:function(){this.basicForm.reset();this.id_figlio.setValue('');this.spesa.setValue('');this.percentuale.setValue('');this.detrazione.setValue('');var id=new Date().getTime();this.idField.setValue(id);this.cfiscField.setValue(this.cfisc);this.setModifica(true);},salvaRigo:function(){try{var valid=this.basicForm.isValid();if(valid){var record=this.sm.getSelected();if(record){this.basicForm.updateRecord(record);this.dirty=true;}else{var values=getValuesFromForm(this.basicForm,true);var record=new this.store.recordType(values);this.store.add(record);this.dirty=true;this.store.reload();}
this.updateTotale();conn.exec(getQuery(DEL_QE_DETT_ID,[this.spesa.dataIndex,this.cfisc,this.idField.getValue()]));this.dettStore.each(function(record){conn.exec(generateQuery(LOCAL,QEDETT_TAB,record.data,INSERT));})
this.openTransaction=false;this.tb_salva.disable();this.setModifica(false);}else{if(!valid){getToastMsg(MSG_INVALID_FIELD);}}}catch(e){log.error("Ext.ux.Namirial.form.QESezIE16#2 -> ",e)}},annulla_record:function(){var rec=this.sm.getSelected();this.setModifica(false);if(rec){this.basicForm.loadRecord(rec);this.tb_cancella.enable();this.tb_modifica.enable();}},modificaRigo:function(){this.setModifica(true)},cancellaRigo:function(){var rec=this.sm.getSelected();if(rec){this.store.remove(rec);this.updateTotale();conn.exec(getQuery(DEL_QE_DETT_ID,['E16',rec.get('CFISC'),rec.get('ID')]));this.basicForm.reset();this.id_figlio.setValue('');this.spesa.setValue('');this.percentuale.setValue('');this.detrazione.setValue('');this.idField.setValue('');this.cfiscField.setValue('');this.tb_modifica.disable();this.tb_cancella.disable();}}})

