/*
 * JSMin
 * Javascript Compressor
 * http://www.crockford.com/
 * http://www.smallsharptools.com/Projects/Packer/
*/

// V:\1.1.007\js\form\QE\Ext.ux.Namirial.form.QESezIII_Popup.js

Ext.ns('Ext.ux');Ext.ns('Ext.ux.Namirial');Ext.ns('Ext.ux.Namirial.form');Ext.ux.Namirial.form.QESezIII_Popup=Ext.extend(Ext.Window,{constructor:function(c){c=c||{};try{this.record=c.record||null;this.cfisc=dichiarazione.getCurrentCfisc();this.store=c.store||null;this.flag=false;this.tb_Annulla=new Ext.Toolbar.Button({text:'Annulla',icon:IMG_CANCEL,disabled:false,iconCls:'x-btn-text-icon',scope:this,tooltip:{title:'Annulla',text:'Annulla'},handler:this.annulla});this.tb_Salva=new Ext.Toolbar.Button({text:'Salva',icon:IMG_NUOVO,disabled:false,scope:this,iconCls:'x-btn-text-icon',tooltip:{title:'Salva',text:'Salva'},handler:this.salva});this.codE=new Ext.ux.Namirial.form.TextField({name:'E_ID',hidden:true,hideLabel:true,labelSeparator:''})
this.CFISC_DIC=new Ext.ux.Namirial.form.TextField({name:'CFISC',hidden:true,hideLabel:true,labelSeparator:'',value:this.cfisc})
this.E_IMPORTATO=new Ext.form.NumberField({name:'E_IMPORTATO',hidden:true,hideLabel:true,labelSeparator:'',value:0,asString:true})
this.anno=new Ext.ux.Namirial.form.TextField({fieldLabel:'<b>1</b> - Anno',name:'E_ANNO',width:60,allowBlank:false,validateOnBlur:false,validationEvent:'change',validator:controlloE_ANNO.createDelegate(this)})
this.anno.on('change',function(field){if(this.flag){this.verifica1();this.verifica2();this.verifica3();this.verifica4();this.verifica5();this.verifica6();this.verifica7();this.verifica8();this.verifica9();this.verifica10();this.per.validate();this.vistruz.validate();this.speseAnniPrec.validate();this.codice.validate();this.annoRid.validate();this.nrate.validate();}},this);this.per=new Ext.ux.Namirial.form.ComboBox({name:'E_PERIODO',width:45,readOnly:true,labelAlign:'top',fieldLabel:'<b>2</b> - Per.',store:Ext.ux.Namirial.QE.Periodo,mode:'local',triggerAction:'all',selectOnFocus:true,listWidth:400,tpl:COMBO_WRAP,disabled:true,showValue:true,validateOnBlur:false,validationEvent:'enable',validator:controlloE_PERIODO.createDelegate(this)})
this.per.on('change',function(field){if(this.flag){this.verifica1();this.verifica3();}},this);this.cod_fisc=new Ext.ux.Namirial.form.TextField({fieldLabel:'<b>3</b> - Codice Fiscale',name:'E_CODICE',width:125,validateOnBlur:false,validationEvent:'change',validator:controllaCfisc})
this.vistruz=new Ext.ux.Namirial.form.ComboBox({name:'E_TIPO',width:65,readOnly:true,labelAlign:'top',fieldLabel:'<b>4</b> - V.Istruz.',store:Ext.ux.Namirial.QE.VIstruz,mode:'local',triggerAction:'all',selectOnFocus:true,listWidth:470,tpl:COMBO_WRAP,disabled:true,showValue:true,validateOnBlur:false,validationEvent:'change',validator:controlloE_TIPO.createDelegate(this)})
this.vistruz.on('change',function(field){if(this.flag){this.verifica2();this.verifica6();this.verifica8();this.verifica10();this.speseAnniPrec.validate();this.nrate.validate();}},this);this.speseAnniPrec=new Ext.ux.Namirial.form.NumberField({fieldLabel:'Spese anni precedenti',name:'E_SPESE',width:110,disabled:true,allowDecimals:false,allowNegative:false,asString:true,validateOnBlur:false,validationEvent:'enable',validator:controlloE_SPESE.createDelegate(this)})
this.speseAnniPrec.on('change',function(field){if(this.flag){this.verifica8();this.speseAnniPrec.validate();this.speseSostenute.validate();}},this);this.labelPerc=new Ext.form.Label({html:'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;percentuale detrazione'})
this.percDet=new Ext.ux.Namirial.form.NumberField({labelSeparator:'',name:'ED_PERC',width:30,allowDecimals:false,allowNegative:false,asString:true,escludi:true,disabled:true})
this.speseSostenute=new Ext.ux.Namirial.form.NumberField({fieldLabel:'<b>9</b> - Spese sostenute',name:'E_IMPORTO',dataIndex:'E33',width:110,allowDecimals:false,allowNegative:false,asString:true,allowBlank:false,validateOnBlur:false,validationEvent:'change',validator:controlloE_IMPORTO.createDelegate(this)})
this.speseDet=new Ext.ux.Namirial.form.NumberField({fieldLabel:'Spese detraibili',name:'E_DETRAIBILE',width:110,allowDecimals:false,allowNegative:false,asString:true,disabled:true,allowZero:true})
this.speseButton=new Ext.Button({iconCls:'x-btn-icon',icon:IMG_PROP,width:30,scope:this,disabled:true,handler:function(){if(Ext.isEmpty(this.codE.getValue())){this.codE.setValue(generaCodiceRandom());}
var doc=new Ext.ux.Namirial.form.DettagliQE({totalField:this.speseSostenute,idRecord:this.codE.getValue(),recordStore:this.dettStore});doc.apri();}})
this.codice=new Ext.ux.Namirial.form.ComboBox({name:'E_CASI',width:50,readOnly:true,labelAlign:'top',fieldLabel:'<b>5</b> - Codice',store:Ext.ux.Namirial.QE.Casi,mode:'local',triggerAction:'all',selectOnFocus:true,listWidth:500,tpl:COMBO_WRAP,disabled:true,showValue:true,validateOnBlur:false,validationEvent:'change',validator:controlloE_CASI.createDelegate(this)});this.codice.on('change',function(field){if(this.flag){this.annoRid.setValue('');this.e_ridet.setValue('');this.rid.setValue('');this.verifica11();}},this);this.codice.on('blur',function(field){if(this.flag){this.verifica9();this.verifica10();this.anno.validate();this.annoRid.validate();this.rid.validate();this.nrate.validate();}},this);this.annoRid=new Ext.ux.Namirial.form.ComboBox({name:'E_ANNO_RID',width:110,readOnly:true,labelAlign:'top',fieldLabel:'<b>6</b> - Anno rideterminaz.',store:Ext.ux.Namirial.QE.Anno_rid,mode:'local',triggerAction:'all',selectOnFocus:true,listWidth:400,tpl:COMBO_WRAP,disabled:true,showValue:true,validateOnBlur:false,validationEvent:'change',validator:controlloE_ANNO_RID.createDelegate(this)});this.annoRid.on('blur',function(field){if(this.flag){this.nrate_2.setValue('');this.verifica10();this.anno.validate();this.codice.validate();this.rid.validate();this.nrate.validate();this.e_ridet.validate();}},this);this.rid=new Ext.ux.Namirial.form.ComboBox({name:'E_RIDETERMINA',width:120,readOnly:true,labelAlign:'top',fieldLabel:'Rideterminata in rate n'+UNI_o,store:Ext.ux.Namirial.QE.Rid_in_rate,mode:'local',triggerAction:'all',selectOnFocus:true,listWidth:180,tpl:COMBO_WRAP,disabled:true,showValue:true,validateOnBlur:false,validationEvent:'change',validator:controlloE_RIDETERMINA.createDelegate(this)});this.rid.on('select',function(field){this.codice.validate();},this);this.rid.on('change',function(field){if(this.flag){this.verifica11();this.e_ridet.validate();}},this);this.e_ridet=new Ext.ux.Namirial.form.ComboBox({name:'E_RIDET',width:120,readOnly:true,labelAlign:'top',fieldLabel:'<b>7</b> - Rate rideterminate',store:Ext.ux.Namirial.QE.Rate_ridet,mode:'local',triggerAction:'all',selectOnFocus:true,listWidth:300,tpl:COMBO_WRAP,disabled:true,showValue:true,validateOnBlur:false,validationEvent:'change',validator:controlloE_RIDET.createDelegate(this)});this.e_ridet.on('select',function(field){this.verifica10();this.codice.validate();},this);this.situazioniParticolari=new Ext.Panel({name:'formPanelSitPar',labelAlign:'top',frame:true,disabled:true,width:465,height:60,bodyStyle:'background:transparent;',layout:'form',items:[{layout:'column',items:[{layout:'form',width:65,items:[this.codice]},{layout:'form',width:126,items:[this.annoRid]},{layout:'form',width:136,items:[this.rid]},{layout:'form',width:125,items:[this.e_ridet]}]}]})
this.checkSituazioniParticolari=new Ext.form.Checkbox({labelSeparator:'',hideLabel:true,boxLabel:'Situazioni Particolari',name:'E_CP'})
this.checkSituazioniParticolari.on('check',function(checkbox,checked){if(checked){this.situazioniParticolari.enable();if(this.flag){this.nrate_2.setValue('');this.annoRid.setAllowBlank(true);this.verifica9();this.verifica10();this.verifica11();}}
else{if(this.flag){this.codice.setValue('');this.codice.clearInvalid();this.annoRid.setValue('');this.annoRid.clearInvalid();this.rid.setValue('');this.rid.clearInvalid();this.e_ridet.setValue('');this.e_ridet.clearInvalid();this.anno.validate();this.verifica10();this.verifica11();this.nrate.validate();}
this.situazioniParticolari.disable();}},this);this.nrate=new Ext.ux.Namirial.form.ComboBox({name:'E_RATE',width:60,readOnly:true,labelAlign:'top',fieldLabel:'<b>8</b> - N'+UNI_o+'Rate',allowBlank:false,store:Ext.ux.Namirial.QE.Rate,mode:'local',triggerAction:'all',selectOnFocus:true,listWidth:100,tpl:COMBO_WRAP,showValue:true,validateOnBlur:false,validationEvent:'change',validator:controlloE_RATE.createDelegate(this)});this.nrate.on('select',function(field){this.verifica9();this.verifica11();this.codice.validate();},this);this.nrate_2=new Ext.ux.Namirial.form.TextField({fieldLabel:'',hideLabel:true,labelSeparator:'',name:'E_NRATA',width:30,disabled:true})
this.nrate_2.on('change',function(field){if(this.flag){this.nrate.validate();}},this);this.localita=new Ext.ux.Namirial.form.TextField({fieldLabel:'Localit'+UNI_A,name:'E_LOCALITA',width:165})
this.indirizzo=new Ext.ux.Namirial.form.TextField({fieldLabel:'Indirizzo',name:'E_INDIRIZZO',width:165})
this.messaggio=new Ext.form.Label({hidden:true})
this.contentPanel=new Ext.FormPanel({title:'E33 - SPESE INTERVENTI DI RECUPERO DEL PATRIMONIO EDILIZIO CON DETRAZIONE DEL 41% O 36%',name:'contentPanel',labelAlign:'top',frame:true,bodyStyle:'background:transparent;',layout:'form',items:[{layout:'column',items:[{layout:'form',width:65,items:[this.anno]},{layout:'form',width:50,items:[this.per]},{layout:'form',width:130,items:[this.cod_fisc]},{layout:'form',width:100,items:[this.vistruz]},{layout:'form',width:115,items:[this.speseAnniPrec]}]},{layout:'column',items:[{layout:'form',width:165,style:'padding-top: 20px',items:[this.labelPerc]},{layout:'form',width:35,items:[this.percDet]},{layout:'form',width:115,items:[this.speseSostenute]},{layout:'form',width:30,items:[{height:17},this.speseButton]},{layout:'form',items:[this.speseDet]}]},this.checkSituazioniParticolari,this.situazioniParticolari,{height:10},{layout:'column',items:[{layout:'form',width:65,items:[this.nrate]},{layout:'form',width:50,items:[{height:13},this.nrate_2]},{layout:'form',width:175,items:[this.localita]},{layout:'form',width:170,items:[this.indirizzo]}]}]})
this.basicForm=new Ext.form.BasicForm();this.basicForm.add(this.CFISC_DIC);this.basicForm.add(this.codE);this.basicForm.add(this.E_IMPORTATO);this.basicForm.add(this.anno);this.basicForm.add(this.per);this.basicForm.add(this.cod_fisc);this.basicForm.add(this.vistruz);this.basicForm.add(this.percDet);this.basicForm.add(this.speseAnniPrec);this.basicForm.add(this.speseSostenute);this.basicForm.add(this.speseDet);this.basicForm.add(this.checkSituazioniParticolari);this.basicForm.add(this.codice);this.basicForm.add(this.annoRid);this.basicForm.add(this.rid);this.basicForm.add(this.e_ridet);this.basicForm.add(this.nrate);this.basicForm.add(this.nrate_2);this.basicForm.add(this.localita);this.basicForm.add(this.indirizzo);Ext.ux.Namirial.form.QESezIII_Popup.superclass.constructor.call(this,{id:WINDOW_QEIIIPOPUP,draggable:false,resizable:false,constrain:true,title:'Quadro E - ONERI E SPESE',width:730,height:475,layout:'form',items:[this.contentPanel,{bodyStyle:PADDING_5+SFONDO_TRASPARENTE+' border: none',items:[this.messaggio]}],tbar:[this.tb_Salva,this.tb_Annulla]});this.on('show',function(){hideLoading();if(!Ext.isEmpty(this.record)){this.basicForm.loadRecord(this.record);this.verifica1();this.verifica2();this.verifica3();this.verifica4();this.verifica5();this.verifica6();this.verifica7();this.verifica8();this.verifica9();this.verifica10();this.verifica11();}
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.speseSostenute.dataIndex+"' AND ID ='"+this.codE.getValue()+"'",autoLoad:true,autoCommit:false});this.flag=true;},this)}
catch(e){getToastMsg(MSG_TEXT,'data entry QE Sez. III ');log.error("Ext.ux.Namirial.form.QESezIII_Popup#1 -> ",e);}},salva:function(){var sql;if(this.basicForm.isValid()){if(!Ext.isEmpty(this.record)){sql=generateQueryFromForm(QEIII_TAB,this.basicForm,'UPDATE',"E_ID='"+this.codE.getValue()+"'",null,'basicform');}
else{if(Ext.isEmpty(this.codE.getValue())){this.codE.setValue(generaCodiceRandom());}
sql=generateQueryFromForm(QEIII_TAB,this.basicForm,'INSERT',null,null,'basicform');}
try{conn.exec(sql);conn.exec(getQuery(DEL_QE_DETT_ID,[this.speseSostenute.dataIndex,this.cfisc,this.codE.getValue()]));this.dettStore.each(function(record){conn.exec(generateQuery(LOCAL,QEDETT_TAB,record.data,INSERT));})}catch(e){log.error("Ext.ux.Namirial.form.QESezIII_Popup - Salvataggio QEIII -> ",e)
getToastMsg(MSG_ERROR_SAVE);}
this.close();if(this.store)this.store.reload();}else{getToastMsg(MSG_INVALID_FIELD);}},annulla:function(){this.close();},verifica1:function(){var anno=convertiStrNum(this.anno.getValue());var periodo=this.per.getValue();if(anno==2007||anno==ANNO_DICHIARAZIONE||(anno==2006&&periodo=='2')){this.messaggio.setText('<br><b style="color:red">Il limite di spesa detraibile va riferito al singolo immobile, per cui va ripartito nel caso di pi'+UNI_U+' soggetti aventi diritto</b>',false);this.messaggio.show();}
else if(anno==2006&&periodo=='1'){this.messaggio.setText('<br><b style="color:red">Il limite di spesa detraibile va riferito alla persona fisica e al singolo immobile</b>',false);this.messaggio.show();}
else{this.messaggio.hide();}},verifica2:function(){var anno=convertiStrNum(this.anno.getValue());var vistruz=this.vistruz.getValue();if(anno==2006&&vistruz!='3'){this.per.enable();this.per.setAllowBlank(false);}
else{this.per.clearInvalid();this.per.setValue('');this.per.disable();}},verifica3:function(){var anno=convertiStrNum(this.anno.getValue());var periodo=this.per.getValue();if(anno==2006&&periodo==''){this.percDet.setValue(0);}
else if(anno==QEIII_ANNO_MIN||(anno==2006&&periodo=='1')){this.percDet.setValue(PERC_DETR1);}
else{this.percDet.setValue(PERC_DETR2);}},verifica4:function(){var anno=convertiStrNum(this.anno.getValue());if(2002<=anno&&anno<=ANNO_DICHIARAZIONE){this.vistruz.enable();}
else{this.vistruz.setValue('');this.vistruz.disable();}},verifica5:function(){var anno=convertiStrNum(this.anno.getValue());if(anno==ANNO_DICHIARAZIONE){this.checkSituazioniParticolari.setValue(false);this.checkSituazioniParticolari.disable();}
else{this.checkSituazioniParticolari.enable();}},verifica6:function(){var anno=convertiStrNum(this.anno.getValue());var vistruz=this.vistruz.getValue();if((QEIII_ANNO_DETTAGLIO<=anno&&anno<=ANNO_DICHIARAZIONE)&&vistruz=='1'){this.speseAnniPrec.enable();}
else{this.speseAnniPrec.setValue('');this.speseAnniPrec.disable();}},verifica7:function(){var anno=convertiStrNum(this.anno.getValue());if(this.flag){this.speseSostenute.setValue('');this.dettStore.removeAll();if(!Ext.isEmpty(this.record)){conn.exec(getQuery(DEL_QE_DETT_ID,[this.speseSostenute.dataIndex,this.cfisc,this.record.get('E_ID')]))}}
if(QEIII_ANNO_DETTAGLIO<=anno&&anno<=ANNO_DICHIARAZIONE){this.speseSostenute.setReadOnly(true);this.speseButton.enable();}
else{this.speseSostenute.setReadOnly(false);this.speseButton.disable();}},verifica8:function(){var importo_max=0;var anno=convertiStrNum(this.anno.getValue());var vistruz=this.vistruz.getValue();var spese_prec=convertiStrNum(this.speseAnniPrec.getValue());var spese_sost=convertiStrNum(this.speseSostenute.getValue());if(anno==ANNO_DICHIARAZIONE){importo_max=LIMITE_SPESE_DETRAIB_1;if(vistruz=='1'){importo_max=LIMITE_SPESE_DETRAIB_1-spese_prec;if(importo_max<=0){importo_max=0;}}}
else{if(anno<=2002){importo_max=LIMITE_SPESE_DETRAIB_2;}
if(anno==2003&&vistruz=='2'){importo_max=LIMITE_SPESE_DETRAIB_2;}
if((anno>=2003&&anno<=ANNO_DICHIARAZIONE-1)&&vistruz=='3'){importo_max=LIMITE_SPESE_DETRAIB_3;}
if((anno>=2003&&anno<=ANNO_DICHIARAZIONE-1)&&(vistruz==''||vistruz=='1'||vistruz=='4')){importo_max=LIMITE_SPESE_DETRAIB_1;if(anno>=QEIII_ANNO_DETTAGLIO&&vistruz=='1'){importo_max=LIMITE_SPESE_DETRAIB_1-spese_prec;if(importo_max<0){importo_max=0;}}}}
if(spese_sost>importo_max){this.speseDet.setValue(importo_max);}
else{this.speseDet.setValue(spese_sost);}},verifica9:function(){var anno=convertiStrNum(this.anno.getValue());var casi=this.codice.getValue();if(anno!=ANNO_DICHIARAZIONE&&(anni75(this.cfisc)||casi=='1'||casi=='3')){this.annoRid.enable();if(casi!='1'&&!this.situazioniParticolari.disabled){this.annoRid.setAllowBlank(false);}
else{this.annoRid.setAllowBlank(true);}}
else{this.annoRid.setValue('');this.annoRid.disable();this.annoRid.clearInvalid();this.annoRid.setAllowBlank(true);this.e_ridet.setValue('');this.e_ridet.disable();this.e_ridet.clearInvalid();this.e_ridet.setAllowBlank(true);this.rid.setValue('');this.rid.disable();this.rid.clearInvalid();this.rid.setAllowBlank(true);}},verifica10:function(){var anno=convertiStrNum(this.anno.getValue());var vistruz=this.vistruz.getValue();var casi=this.codice.getValue();var anno_rid=convertiStrNum(this.annoRid.getValue());if(anno_rid>0){this.e_ridet.enable();this.rid.enable();this.e_ridet.setAllowBlank(false);this.rid.setAllowBlank(false);if((anno<ANNO_DICHIARAZIONE-6)||((anno==ANNO_DICHIARAZIONE-6)&&(casi==''||casi=='1')&&(anno_rid>2003))||((anno==ANNO_DICHIARAZIONE-5)&&(casi==''||casi=='1')&&(anno_rid==ANNO_DICHIARAZIONE))||((anno==2002)&&(vistruz!=3))){if(this.flag){this.e_ridet.setValue('10');}}}
else{if(this.flag){if(this.anno.isValid()&&anno>0){var num_rate=ANNO_DICHIARAZIONE-anno+1;this.nrate_2.setValue(num_rate);}
else{this.nrate_2.setValue('');}}
this.e_ridet.disable();this.e_ridet.clearInvalid();this.e_ridet.setAllowBlank(true);this.rid.disable();this.rid.clearInvalid();this.rid.setAllowBlank(true);}},verifica11:function(){var ridetermina=this.rid.getValue();if(ridetermina!=''){this.nrate.setValue(ridetermina);}}})

