/*
 * JSMin
 * Javascript Compressor
 * http://www.crockford.com/
 * http://www.smallsharptools.com/Projects/Packer/
*/

// V:\1.1.007\js\azioni.js

function deletePersonalLock(callback){execSql("DELETE FROM _sys_LOCKS WHERE UTENTE = '"+session.userLogged+"' AND SERIALID = '"+session.getSerialID()+"'",WRITEDATAURL,callback,null);}
function createUserTable(params){if(RESET){connLogin.exec('DROP TABLE IF EXISTS '+UTENTI_TAB);}
connLogin.createTable({name:UTENTI_TAB,key:'keyId',fields:utenti_fields});var rec=connLogin.queryBy(getQuery(SEL_UTENTE_LOCAL,[params.userLogged]));var sqlIns;if(rec.rows[0]==undefined){try{sqlIns=getQuery(INS_UTENTE_LOCAL,[params.userLogged,params.password,params.userDb,params.caf,unescape(params.conf),new Date().getTime(),params.powerUser,params.computer]);connLogin.exec(sqlIns);}catch(e){log.error("azioni#1 -> ",e);}}else{sqlIns=getQuery(UPD_UTENTE,[params.caf,new Date().getTime(),params.computer,params.powerUser,params.password,params.userLogged]);connLogin.exec(sqlIns);}}
function lockDichiarazione(cfisc,utente,success,fail,confirm){success=success||false;fail=fail||false;confirm=confirm||false;var sql="";if(Ext.isArray(cfisc)){for(i=0;i<cfisc.length;i++){sql+=getQuery(INS_LOCK,[cfisc[i],utente,session.serialID,session.computer,session.browser,(confirm?getDataFormat():'')])+";\n";}
sql=sql.substr(0,sql.length-2)+' ';}else{sql=getQuery(INS_LOCK,[cfisc,utente,session.serialID,session.computer,session.browser,(confirm?getDataFormat():'')]);}
Ext.Ajax.request({method:'POST',url:WRITEDATAURL,params:{s:sql,db:session.userDb},scriptTag:true,success:function(response){readResultResponse.call(this,response,function(res){if(success){success.call(this);}},function(res){if(fail){fail.call(this);}});},failure:function(response){log.fatal('Errore nel lock di '+cfisc);},scope:this});}
function confirmLock(cfisc,success,failure,nodata){success=success||false;failure=failure||false;nodata=nodata||false;Ext.Ajax.request({method:'POST',url:WRITEDATAURL,params:{s:getQuery(RECOVER_LOCK,[(nodata?'':getDataFormat()),session.serialID,session.computer,session.browser,cfisc,session.userLogged]),db:session.userDb},scriptTag:true,success:function(response){var responseObj=Ext.util.JSON.decode(response.responseText);if(responseObj.Success=='True'){log.info('Lock '+this.cfisc+' confermato');success.call(this);}else{log.error('Errore nella conferma del lock: '+unescape(responseObj.ErrorMessage));failure.call(this);}},failure:function(response){log.warn('Lock exception '+this.cfisc);failure.call(this);},scope:this});}
function unlockDichiarazione(cfisc,success,fail){success=success||false;fail=fail||false;var sql="";if(Ext.isArray(cfisc)){for(i=0;i<cfisc.length;i++){sql+=getQuery(DEL_LOCK,[cfisc[i],getDataFormat()])+";\n";}
sql=sql.substr(0,sql.length-2)+' ';}else{sql=getQuery(DEL_LOCK,[cfisc,getDataFormat()]);}
Ext.Ajax.request({method:'POST',url:WRITEDATAURL,params:{s:sql,db:session.userDb},scriptTag:true,success:function(response){readResultResponse.call(this,response,function(res){if(success){success.call(this);}},function(res){if(fail){fail.call(this);}});},failure:function(response){log.fatal('Errore nel lock di '+cfisc);},scope:this});}
function impostazioniStampa(rec,sync){sync=sync||false;var soggetto=new Ext.form.Label({html:'<div style="font-weight: bolder">Stampa di '+rec.get('COGNOME')+' '+rec.get('NOME')+':</div>'});var checkModelloBase=new Ext.ux.Namirial.form.Checkbox({name:'modelloBase',boxLabel:'Modello base',hideLabel:true,labelSeparator:'',returnValue:'MB',checked:true});var checkSetteTrenta1=new Ext.ux.Namirial.form.Checkbox({name:'setteTrenta1',boxLabel:'730-1',hideLabel:true,labelSeparator:'',returnValue:'7301',checked:true});var checkSetteTrenta2=new Ext.ux.Namirial.form.Checkbox({name:'setteTrenta2',boxLabel:'730-2',hideLabel:true,labelSeparator:'',returnValue:'DC',checked:true});var checkSetteTrenta3=new Ext.ux.Namirial.form.Checkbox({name:'setteTrenta3',boxLabel:'730-3',hideLabel:true,disabled:!(rec.get('A_VALIDATO')=='V'),labelSeparator:'',returnValue:'PL',checked:(rec.get('A_VALIDATO')=='V')});var checkInformativa=new Ext.ux.Namirial.form.Checkbox({name:'Informativa',boxLabel:'Informativa',hideLabel:true,labelSeparator:'',returnValue:'INFO',checked:true});var checkAutocertificazione=new Ext.ux.Namirial.form.Checkbox({name:'autocertificazione',boxLabel:'Autocertificazione',hideLabel:true,labelSeparator:'',returnValue:'AUT',checked:true});var checkProspetto=new Ext.ux.Namirial.form.Checkbox({name:'prospetto',boxLabel:'Prospetto rateizzazione',hideLabel:true,labelSeparator:'',returnValue:'RATE',checked:true});var checkLettera=new Ext.ux.Namirial.form.Checkbox({name:'lettera',boxLabel:'Lettera riduzione acconto',hideLabel:true,labelSeparator:'',returnValue:'RID',checked:true});var data=new Ext.form.DateField({name:'data',fieldLabel:'Data stampa',value:new Date()});var checkFirma=new Ext.form.Checkbox({name:'firma',boxLabel:'Stampa firma',hideLabel:true,labelSeparator:'',checked:true});var formImpostazioniStampa=new Ext.form.FormPanel({border:false,bodyStyle:SFONDO_FORM+PADDING_10+"padding-left: 25;",items:[soggetto,{height:10,bodyStyle:SFONDO_TRASPARENTE,border:false},checkModelloBase,checkSetteTrenta1,checkSetteTrenta2,checkSetteTrenta3,checkInformativa,checkAutocertificazione,checkProspetto,checkLettera,{height:20,bodyStyle:SFONDO_TRASPARENTE,border:false},data,{height:10,bodyStyle:SFONDO_TRASPARENTE,border:false},checkFirma]});var winImpostazioniStampa=new Ext.Window({id:WINDOW_IMPOSTAZIONI_STAMPA,maximizable:false,title:"Impostazioni di stampa",resizable:false,constrainHeader:true,width:300,height:400,layout:'fit',plain:true,buttonAlign:'center',items:formImpostazioniStampa,buttons:[{text:'Stampa',cls:'x-btn-text-icon',icon:IMG_OK,handler:function(){var pages='';var modelloBase=checkModelloBase.getValue();var setteTrenta1=checkSetteTrenta1.getValue();var setteTrenta2=checkSetteTrenta2.getValue();var setteTrenta3=checkSetteTrenta3.getValue();var informativa=checkInformativa.getValue();var autocertificazione=checkAutocertificazione.getValue();var prospetto=checkProspetto.getValue();var lettera=checkLettera.getValue();var firma=(checkFirma.getValue())?1:0;pages=(modelloBase?(modelloBase+";"):'')+(setteTrenta1?(setteTrenta1+";"):'')+(setteTrenta2?(setteTrenta2+";"):'')+(setteTrenta3?(setteTrenta3+";"):'')+(informativa?(informativa+";"):'')+(autocertificazione?(autocertificazione+";"):'')+(prospetto?(prospetto+";"):'')+(lettera?(lettera+";"):'');var dataFormat=data.getValue().format("d/m/Y");if(sync){sincronizzaStampa(function(){stampaModello(rec,pages.slice(0,-1),firma,dataFormat);});}else{stampaModello(rec,pages.slice(0,-1),firma,dataFormat);}
winImpostazioniStampa.close();},scope:this},{text:'Annulla',cls:'x-btn-text-icon',icon:IMG_CANCEL,handler:function(){winImpostazioniStampa.destroy(true);winImpostazioniStampa=null;}}]});if(Ext.isEmpty(Ext.WindowMgr.get(WINDOW_IMPOSTAZIONI_STAMPA))){winImpostazioniStampa.show();}}
function stampaModello(recStampa,pages,firma,data){var cfisc=recStampa.get('CFISC');var cognome=recStampa.get('COGNOME');var nome=recStampa.get('NOME');pages=pages||"";firma=(firma==0)?"0":"1";data=data||new Date().format("d/m/Y");var url='openContent.html#'+SERVER_URL+STAMPAURL+'?cfisc='+cfisc+'&db='+session.userDb+'&caf='+session.caf+'&pages='+pages+'&firma='+firma+'&data='+data;if(Ext.isIE){window.open(url,"Stampa");}else{var stampaWin=new Ext.Window({resizable:true,constrain:true,maximizable:true,width:800,height:500,minWidth:640,minHeight:480,title:'Anteprima di stampa : '+cognome+' '+nome,html:'<iframe width="100%" height="100%" src="'+url+'"> Se non visualizzi il modello clicca <a href="'+url+'" target="_blank">qui</a></iframe>'});stampaWin.show();}}
function apriStampa(){var storeStampa=new Ext.ux.Namirial.data.ArrayStore({url:JSONDATAURL,remoteSort:false,idIndex:1,sortInfo:{field:'COGNOME',direction:'ASC'},sql:getQuery(sp_ANAGRAFI_PERMISSIONS,[session.userLogged,'','',(session.powerUser?session.caf:'')]),fields:fields_anagList});storeStampa.on({'load':{fn:function(store){},scope:this,single:true}});var apertura=function(grid,index,e){var sel=gridStampa.getSelectionModel().getSelected();if(sel){var codice_fiscale=sel.get('CFISC');var local=sel.get('icon');var nuova=sel.get('nuova');var locked=unescape(sel.get('LOCKED'));var dataLock=sel.get('DATA');var cafLock=sel.get('CAF');var serial=sel.get('SERIALID');var nome=sel.get('NOME');var cognome=sel.get('COGNOME');var integrativa=sel.get('INTEGRATIVA');if(!session.powerUser&&cafLock){Toast('Richiesta visto di conformit'+UNI_A+' in corso','Impossibile aprire la dichiarazione in quanto sotto verifica da parte del CAF.',2);return;}
if(locked&&!local){if(locked==session.userLogged){if(serial!=session.serialID){Toast("Dichiarazione in uso su un'altra postazione","La dichiarazione "+UNI_E+" in uso su un'altra postazione.",2);return;}}else{Toast('Dichiarazione in uso','La dichiarazione '+UNI_E+' utilizzata da un altro utente.',2);return;}}
if(locked&&local&&locked!=session.userLogged){Toast('Dichiarazione in uso','La dichiarazione '+UNI_E+' utilizzata da un altro utente.',2);return;}
if(locked&&local&&locked==session.userLogged&&serial!=session.serialID){Toast("Dichiarazione in uso su un'altra postazione","La dichiarazione "+UNI_E+" in uso su un'altra postazione.",2);return;}
if(!locked&&local){Toast('Dichiarazione non attendibile','La dichiarazione non '+UNI_E+' pi'+UNI_U+' attendibile.',2);return;}
if(locked==session.userLogged&&serial==session.serialID){Ext.Msg.alert("Dichiarazione in uso","La dichiarazione risulta in uso su questa postazione.<br>Per proseguire con la stampa "+UNI_E+" necessario prima sincronizzarla.");return;}
impostazioniStampa(sel);windowStampa.close();}};var gridStampa=new Ext.grid.GridPanel({width:633,stripeRows:true,store:storeStampa,border:false,autoScroll:true,loadMask:true,sm:new Ext.grid.RowSelectionModel({singleSelect:true}),columns:campi_stampa,listeners:{'rowdblclick':{fn:apertura,scope:this}}});var windowStampa=new Ext.Window({id:WINDOW_STAMPA,draggable:false,title:"Stampa",resizable:false,constrainHeader:true,width:540,height:320,layout:'fit',plain:true,buttonAlign:'center',items:gridStampa,buttons:[{text:'Ok',cls:'x-btn-text-icon',icon:IMG_OK,handler:apertura,scope:this},{text:'Cancel',cls:'x-btn-text-icon',icon:IMG_CANCEL,handler:function(){windowStampa.destroy(true);windowStampa=null;}}]});windowStampa.on('beforeshow',chiudiFinestre);storeStampa.loadSp();if(Ext.isEmpty(Ext.WindowMgr.get(WINDOW_STAMPA))){windowStampa.show();}}
function setActions(state){state=!state;calcola_action.setDisabled(state);elimina_dichiarazione_action.setDisabled(state);chiudi_dichiarazione_action.setDisabled(state);aggiungi_coniuge_action.setDisabled(state);}
function chiudiDichiarazione(refresh){refresh=refresh||false;try{if(!Ext.isEmpty(dichiarazione)){log.info('Chiusura dichiarazione '+dichiarazione.nome+' '+dichiarazione.cognome);dichiarazione=undefined;sb.clearStatus();setActions(false);nuova_dichiarazione_action.showLoad=true;var nodoDichiarante=treeMenu.getRootNode().findChild('id','rootDichiarante');nodoDichiarante.setText('Dichiarante');var nodoCongiunta=treeMenu.getRootNode().findChild('id','rootCongiunta');if(!Ext.isEmpty(nodoCongiunta)){nodoCongiunta.remove();}
treeMenu.setVisible(false);btnCongiunta.hide();btnDichiarante.hide();btnDichiarante.toggle(true);chiudiFinestre();if(!refresh){clear(true);}}}catch(e){log.error('azioni#2 - Errore chiusura dichiarazione: ',e);}}
function rimuoviDichiarazioneLocale(cfisc,escludiCongiunta){var result=conn.query(getQuery(SEL_LOCAL_ANAG,[cfisc]));if(result.totalRows==0){return true;}
var info=result.rows[0];var congiunta=(info.CCFISC!='');escludiCongiunta=escludiCongiunta||false;try{log.debug('rimuoviDichiarazioneLocale() -> '+cfisc);conn.openTransaction();structStore.eachTable(function(tab){if(!controllaTabelle(tab)){if(congiunta&&info.ST==2&&!escludiCongiunta){conn.exec(getQuery(GEARS_DEL,[tab,info.CCFISC]));}
conn.exec(getQuery(GEARS_DEL,[tab,cfisc]));}});sysconn.exec(getQuery(DEL_ANAG_NUOVA,[cfisc]));updater.removeAllAction(cfisc);if(congiunta&&info.ST>6&&!escludiCongiunta){conn.exec(getQuery(GEARS_DEL,[TUTORI_TAB,info.CCFISC]));}
if(dichiarazione&&cfisc==dichiarazione.cfisc){chiudiDichiarazione();}
conn.commitTransaction();return true;}catch(e){log.error("azioni#3 -> ",e);conn.rollbackTransaction();Ext.ux.Namirial.Toast.msg("Errore","Si "+UNI_E+" verificato un problema durante l'eliminazione della dichiarazione aperta",2);return false;}}
function lockSostituto(codice,subcodice,success,failure){log.info('Lock sostituto '+codice+'/'+subcodice);execSql(getQuery(INS_LOCK_SOSTITUTI,[codice,subcodice,session.userLogged,getDataFormat()]),WRITEDATAURL,function(response){readResultResponse.call(this,response,function(){log.info('Sostituto lockato ('+codice+'/'+subcodice+')');success.call(this);},function(){log.error('Errore lock sostituto '+codice+'/'+subcodice+': ');failure.call(this);});},function(){log.fatal('Errore lock sostituto '+codice+'/'+subcodice);failure.call(this);},this);}
function unlockSostituto(codice,subcodice,success,failure){log.info('Unlock sostituto '+codice+'/'+subcodice);execSql(getQuery(DEL_LOCK_SOSTITUTI,[codice,subcodice,session.userLogged]),WRITEDATAURL,function(response){readResultResponse.call(this,response,function(){log.info('Sostituto slockato ('+codice+'/'+subcodice+')');success.call(this);},function(){log.error('Errore unlock sostituto '+codice+'/'+subcodice+': ');failure.call(this);});},function(){log.fatal('Errore unlock sostituto '+codice+'/'+subcodice);failure.call(this);},this);}
function checkLockSostituto(codice,subcodice,success,failure){execSql(getQuery(CHECK_LOCK_SOSTITUTI,[codice,subcodice]),JSONDATAURL,function(response){var responseObj=Ext.util.JSON.decode(response.responseText);if(responseObj.totalRows>0){if(unescape(responseObj.rows[0].UTENTE)==session.userLogged){unlockSostituto.call(this,codice,subcodice,success,failure);}else{failure.call(this);}}else{success.call(this);}},function(){log.fatal('Errore nell\'interrogazione dei lock dei sostituti');failure.call(this);},this);}
function salvaSostituto(type,values,success,failure){var serverSql='';var localSql='';if(type==UPDATE){log.trace('Update sostituto');serverSql=generateQuery(SERVER,SOSTITUTI_TAB,values,UPDATE,"[S4] = '"+values.S4+"' AND SUBCODICE "+((values.SUBCODICE!='')?("= '"+values.SUBCODICE+"'"):"IS NULL"));localSql=generateQuery(LOCAL,SOSTITUTI_TAB,values,UPDATE,"[S4] = '"+values.S4+"' AND SUBCODICE = '"+values.SUBCODICE+"'");}else{log.trace('Insert sostituto');serverSql=generateQuery(SERVER,SOSTITUTI_TAB,values,INSERT);localSql=generateQuery(LOCAL,SOSTITUTI_TAB,values,INSERT);}
try{conn.exec(localSql);execSql(serverSql,WRITEDATAURL,function(response){readResultResponse.call(this,response,function(resObj){log.info("Sostituto salvato ("+values.S4+"/"+values.SUBCODICE+")");if(type==UPDATE){unlockSostituto.call(this,values.S4,values.SUBCODICE,success,failure);}else{success.call(this);}},failure);},function(){log.fatal("Errore nel salvataggio del sostituto ("+values.S4+"/"+values.SUBCODICE+")");failure.call(this);},this);}catch(e){log.error("Errore nel salvataggio del sostituto ("+values.S4+"/"+values.SUBCODICE+"):\n"+e);failure.call(this);}}
function eliminaSostituto(codice,subcodice,success,failure){log.info("Eliminazione sostituto "+codice+"/"+subcodice);var localCheck=conn.query(getQuery(CHECK_SOSTITUTO_USATO,[codice,"= '"+subcodice+"'"]));log.debug(localCheck);if(localCheck.totalRows==0){execSql(getQuery(CHECK_SOSTITUTO_USATO,[codice,((Ext.isEmpty(subcodice))?('IS NULL'):("= '"+subcodice+"'"))]),JSONDATAURL,function(response){log.debug(response.responseText);var resObj=Ext.decode(response.responseText);if(resObj.totalRows==0){execSql(getQuery(DEL_SOSTITUTI,[codice,((Ext.isEmpty(subcodice))?('IS NULL'):("= '"+subcodice+"'"))]),WRITEDATAURL,function(response){readResultResponse.call(this,response,function(){log.info("Sostituto eliminato ("+codice+"/"+subcodice+")");conn.exec(getQuery(DEL_SOSTITUTI,[codice,"= '"+subcodice+"'"]));success.call(this);},function(){log.error("Errore nell'eliminazione del sostituto ("+codice+"/"+subcodice+")");failure.call(this,"Errore nell'eliminazione del sostituto.");});},function(){log.fatal("Errore nell'eliminazione del sostituto ("+codice+"/"+subcodice+")");failure.call(this,"Errore nell'eliminazione del sostituto.");},this);}else{failure.call(this,"Impossibile eliminare il sostituto in quanto in uso in almeno una dichiarazione");}},function(){log.fatal("Errore nell'eliminazione del sostituto ("+codice+"/"+subcodice+")");failure.call(this,"Errore nell'eliminazione del sostituto.");},this);}else{failure.call(this,"Impossibile eliminare il sostituto in quanto in uso in almeno una dichiarazione");}}
function aggiungiConiuge(){if(!Ext.isEmpty(dichiarazione)){if(Ext.isEmpty(dichiarazione.congiunta_cfisc)){newAnagrafica(true);}else{Ext.ux.Namirial.Toast.msg('Errore','La dichiarazione non pu'+UNI_O+' essere congiuta in quanto lo '+UNI_E+' gi'+UNI_A+'');}}else{Ext.ux.Namirial.Toast.msg('Errore','Devi aprire una dichiarazione per poter aggiungere un coniuge');}}
function salvaTutore(callback){if(this.form_valid){showLoading();var values=getValuesFromForm(this.fields,true,['RIC_INFO_CHECK','ED_PREF_CELL_PLUS']);var cpref_cell=(values['ED_PREF_CELL']=='NULL')?'':values['ED_PREF_CELL'];var cn_cell=(values['ED_CELL']=='NULL')?'':values['ED_CELL'];values['CELL']=(cpref_cell+cn_cell);delete values['ED_PREF_CELL'];delete values['ED_CELL'];values['SPORTELLO']=session.userLogged;var type;var sql;if(this.tb_modifica.disabled){type=INSERT;}else{type=UPDATE;}
sql=generateQuery(SERVER,TUTORI_TAB,values,type,"CFISC = '"+values.CFISC+"'");Ext.Ajax.request({scriptTag:true,url:WRITEDATAURL,params:{s:sql,db:session.userDb},success:function(response){hideLoading();var responseObj=Ext.util.JSON.decode(response.responseText);if(responseObj.Success=='True'){Ext.ux.Namirial.Toast.msg('Salvataggio','Tutore salvato con successo');callback.call(this);}else{var errore=unescape(responseObj.ErrorMessage);log.error('Errore salvataggio tutore: '+errore);Ext.Msg.show({title:"Errore",msg:"Si "+UNI_E+" verificato un errore nel salvataggio.",icon:Ext.Msg.ERROR,buttons:{ok:'Ok'}});}},failure:function(){log.error('Salvataggio tutore fallito');},scope:this});}else{Ext.Msg.alert('Errore','Form non valida');}}
function eliminaTutore(callback){showLoading('Eliminazione in corso');var rec=this.sm.getSelected();Ext.Ajax.request({scriptTag:true,url:WRITEDATAURL,params:{s:getQuery(DEL_TUTORI,[rec.get('CFISC')]),db:session.userDb},success:function(response){hideLoading();var responseObj=Ext.util.JSON.decode(response.responseText);if(responseObj.Success=='True'){Ext.ux.Namirial.Toast.msg('Eliminazione','Tutore eliminato con successo');callback.call(this);}else{log.error('Errore eliminazione tutore: '+unescape(responseObj.ErrorMessage));}},failure:function(){log.error('Salvataggio tutore fallito');},scope:this});}
function checkNuovaDichiarazione(cfisc,callback,scope){scope=scope||this;Ext.Ajax.request({scriptTag:true,url:JSONDATAURL,params:{s:getQuery(CHECK_ANAG_NUOVA,[rec.get('CFISC')]),db:session.userDb},success:function(response){var responseObj=Ext.util.JSON.decode(response.responseText);if(responseObj.totalRows==0){callback.call(this,true);}else{callback.call(this,false);}},failure:function(){log.error('Salvataggio tutore fallito');callback.call(this);},scope:scope});}
function ajaxDelServerDichiarazione(){Ext.Ajax.request({url:DELETEURL,params:{cfisc:dichiarazione.cfisc,db:session.userDb},scriptTag:true,success:function(response){execSql(getQuery(DEL_LOCK,[dichiarazione.cfisc]),WRITEDATAURL,function(response){updater.removeAllAction(dichiarazione.cfisc);hideLoading();if(rimuoviDichiarazioneLocale(dichiarazione.cfisc)){Ext.ux.Namirial.Toast.msg('Dichiarazione Eliminata','La dichiarazione '+UNI_E+' stata eliminata con successo.',2);}});},failure:function(){hideLoading();Ext.ux.Namirial.Toast.msg('Errore','Si '+UNI_E+' verificato un problema durante l\'eliminazione della dichiarazione aperta',2);}});}
function eliminaDichiarazione(){try{if(session.isOnline){var scelte;var messaggio;if(dichiarazione.nuova){scelte={no:'Si',cancel:'No'};messaggio="Si sta rimuovendo la dichiarazione creata su questa postazione.<br>Tutte le modifiche effettuate andranno perse, continuare?";}else{scelte={yes:'Elimina definitivamente',no:'Elimina localmente',cancel:'Annulla'};messaggio="Vuoi cancellare la dichiarazione permanentemente o solo su questa macchina?<br>Cancellandola localmente perderai solamente le modifiche non sincronizzate e la dichiarazione rimarr"+UNI_A+" comunque disponibile.";}
Ext.MessageBox.show({title:"Cancellazione Dichiarazione",msg:messaggio,icon:Ext.MessageBox.QUESTION,buttons:scelte,fn:function(button){if(button=='yes'){showLoading();ajaxDelServerDichiarazione();}
if(button=='no'){showLoading(null,null,null,function(){var cfiscs=[dichiarazione.cfisc];if(dichiarazione.congiunta_cfisc&&dichiarazione.tipo==2){cfiscs.push(dichiarazione.congiunta_cfisc);}
unlockDichiarazione(cfiscs,function(){hideLoading();if(rimuoviDichiarazioneLocale(dichiarazione.cfisc)){Toast('Dichiarazione Eliminata','La dichiarazione '+UNI_E+' stata eliminata con successo.',2);}},function(){hideLoading();Toast("Errore","Non "+UNI_E+" stato possibile eliminare la dichiarazione aperta.");});});}},scope:this});}else{if(dichiarazione.nuova){Ext.Msg.alert("Cancellazione Dichiarazione","Non "+UNI_E+" possibile eliminare quasta dichiarazione, controllare che il collegamento alla rete sia disponibile.");}else{Ext.Msg.confirm("Cancellazione Dichiarazione","Si sta rimuovendo la dichiarazione da questa postazione.<br>Tutte le modifiche effettuate andranno perse, continuare?",function(btn){if(btn=='yes'){if(rimuoviDichiarazioneLocale(dichiarazione.cfisc)){Toast('Dichiarazione Eliminata','La dichiarazione '+UNI_E+' stata eliminata con successo.',2);}}});}}}catch(e){log.error("azioni#4 -> ",e);Toast("Errore","Si "+UNI_E+" verificato un errore nell'eliminazione della dichiarazione aperta.");}}
function insertUserSerialID(serial){try{connLogin.exec(getQuery(INS_UTENTE_SERIALID,[serial,session.userLogged]));}catch(e){log.error("azioni#5 -> ",e);}}
function addActionReddito(){try{updater.addAction('delete',dichiarazione.cfisc,QC1_TAB);updater.addAction('insert',dichiarazione.cfisc,QC1_TAB);}catch(e){log.error("azioni#5 -> ",e);}}
function addActionReddito_1(){try{updater.addAction('delete',dichiarazione.cfisc,QC5_TAB);updater.addAction('insert',dichiarazione.cfisc,QC5_TAB);}catch(e){log.error("azioni#6 -> ",e);}}
function addActionReddito_2(){try{updater.addAction('delete',dichiarazione.cfisc,QC2_TAB);updater.addAction('insert',dichiarazione.cfisc,QC2_TAB);}catch(e){log.error("azioni#7 -> ",e);}}
function addActionCreditoImposta(){try{updater.addAction('delete',dichiarazione.cfisc,QG4_TAB);updater.addAction('insert',dichiarazione.cfisc,QG4_TAB);}catch(e){log.error("azioni#8 -> ",e);}}
function addActionCreditoImposta_1(){try{updater.addAction('delete',dichiarazione.cfisc,QG_TAB);updater.addAction('insert',dichiarazione.cfisc,QG_TAB);}catch(e){log.error("azioni#9 -> ",e);}}
function openChangeLog(){var winChangeLog=Ext.WindowMgr.get('winChangeLog');if(!winChangeLog){winChangeLog=new Ext.Window({id:'winChangeLog',constrain:true,title:"Informazioni sulla versione",width:500,height:350,bodyStyle:SFONDO_CHANGELOG,layout:'form',autoScroll:true,autoLoad:'changelog.html'});winChangeLog.show();}}
function createVersionTable(version){log.debug('createVersionTable version : '+version);if(RESET){log.debug('Cancello tabella VERSIONE');sysconn.exec('DROP TABLE IF EXISTS '+VERSION_TAB);}
sysconn.createTable({name:VERSION_TAB,key:'keyId',fields:[{name:'keyId',type:'int',primaryKey:true},{name:'VERSION',type:'text'},{name:'AGGIORNATO',type:'int',allowNull:false}]});var rec=sysconn.query('SELECT * FROM VERSION');if(rec.totalRows==0){try{session.version=VERSION_APP;var sqlIns=getQuery(INS_VERSION,[version,1]);sysconn.exec(sqlIns);}catch(e){log.error("azioni#10 -> ",e);}}else{session.version=rec.rows[0].VERSION;}}
function updateVersion(version,callback){try{sysconn.exec('DELETE FROM VERSION');var sqlIns=getQuery(INS_VERSION,[version,1]);sysconn.exec(sqlIns);callback.call();}catch(e){log.error("azioni#11 -> ",e);}}
function inizializzaApp(version){deletePersonalLock();if(ENABLE_GOOGLE_LOCALSERVER){localServer.removeManagedStore(GOOGLE_STORE);}
RESET=true;updater.createTable();initStruct(function(){updateVersion(version,function(){document.location.reload();ripristina=0;});});RESET=false;}
function alwaysSync(){nuova_dichiarazione_action.disable();apri_action.disable();chiudi_dichiarazione_action.disable();elimina_dichiarazione_action.disable();calcola_action.disable();inviaCAF_action.disable();tb.disable();}
function ripristinaStruttura(version){log.info('Ripristina struttura');openConnections(session.userDb,session.userLogged);deletePersonalLock(function(){sysconn.exec("DROP TABLE IF EXISTS "+NUOVE_DICHIARAZIONI);sysconn.exec("DROP TABLE IF EXISTS "+AZIONI_TAB);sysconn.exec("DROP TABLE IF EXISTS "+E37_3_TAB);sysconn.exec("DROP TABLE IF EXISTS "+E37_4_TAB);var tmpUpdater=new Ext.ux.Namirial.data.Synchronizer({gearsSysConn:sysconn,gearsDataConn:conn,dbname:session.userDb,actTable:AZIONI_TAB,url:WRITEDATAURL});RESET=true;if(ENABLE_GOOGLE_LOCALSERVER){localServer.removeManagedStore(GOOGLE_STORE);}
tmpUpdater.createTable();sysconn.exec('DROP TABLE IF EXISTS '+VERSION_TAB);if(!Ext.isEmpty(version)){updateVersion(version);createVersionTable(version);}
createUserTable({userLogged:session.userLogged,userDb:'',conf:session.conf,caf:session.caf,powerUser:session.powerUser,computer:session.computer,password:session.password});initStruct(function(){document.location.reload();ripristina=0;});RESET=false;});}
function disabilitaFunzioni(){if(session.powerUser==1){nuova_dichiarazione_action.setDefaultDisabled(true);nuovo_sostituto_action.setDefaultDisabled(true);aggiungi_coniuge_action.setDefaultDisabled(true);assegna_tutore_action.setDefaultDisabled(true);congiungi_action.setDefaultDisabled(true);disgiungi_action.setDefaultDisabled(true);disgiungi_tutore_action.setDefaultDisabled(true);}}
function eliminaDichiarazioneOrfana(cfisc,apri){apri=apri||false;Ext.Msg.confirm("Elimina dati inconsistenti","Continuando perderai tutte le modifiche effettuate sulla dichiarazione da questa postazione, sei sicuro?",function(btn){if(btn=='yes'){showLoading(null,null,null,function(){rimuoviDichiarazioneLocale(cfisc);hideLoading();if(apri){var selected=storeApri.query('CFISC',cfisc);if(selected.length){var rec=selected.first();rec.set('LOCKED',session.userLogged);rec.set('SERIALID',session.serialID);rec.set('DATA',new Date());rec.commit();loadAnag(rec);}else{getToastMsg(MSG_GENERIC_ERROR);searchAnagrafica();}}else{searchAnagrafica();}});}});}
function recuperaDichiarazione(cfisc,apri){apri=apri||false;showLoading();confirmLock(cfisc,function(){hideLoading();Toast("Operazione completata","Operazione completata con successo.");if(apri){var selected=storeApri.query('CFISC',cfisc);if(selected.length){var rec=selected.first();rec.set('LOCKED',session.userLogged);rec.set('SERIALID',session.serialID);rec.set('DATA',new Date());rec.commit();loadAnag(rec);}else{getToastMsg(MSG_GENERIC_ERROR);searchAnagrafica();}}else{searchAnagrafica();}},function(){hideLoading();getToastMsg(MSG_GENERIC_ERROR);storeApri.loadSp();});}
function apriDichiarazioneLockata(cfisc){showLoading();unlockDichiarazione.call(this,cfisc,function(){hideLoading();var selected=storeApri.query('CFISC',cfisc);if(selected.length){var rec=selected.first();rec.set('LOCKED','');rec.commit();loadAnag(rec);}else{getToastMsg(MSG_GENERIC_ERROR);}},function(){hideLoading();getToastMsg(MSG_GENERIC_ERROR);searchAnagrafica();});}
function sovrascriviDichiarazione(cfisc){showLoading();lockDichiarazione.call(this,cfisc,session.userLogged,function(){hideLoading();var selected=storeApri.query('CFISC',cfisc);if(selected.length){chiudiFinestre();var rec=selected.first();rec.set('LOCKED',session.userLogged);rec.set('SERIALID',session.serialID);rec.set('DATA',new Date());rec.commit();loadAnag(rec);}else{getToastMsg(MSG_GENERIC_ERROR);searchAnagrafica();}},function(){hideLoading();getToastMsg(MSG_GENERIC_ERROR);},true);}
function sbloccaDichiarazione(cfisc){showLoading();unlockDichiarazione.call(this,cfisc,function(){hideLoading();if(rimuoviDichiarazioneLocale(cfisc)){Toast("Operazione completata","Operazione completata con successo.");storeApri.loadSp();}},function(){hideLoading();getToastMsg(MSG_GENERIC_ERROR);storeApri.loadSp();});}
function changeStatusActionOffLine(status){try{calcola_action.setDefaultDisabled(status);sincronizza_action.setDefaultDisabled(status);stampa_modello_action.setDefaultDisabled(status);inviaCAF_action.setDefaultDisabled(status);congiungi_action.setDefaultDisabled(status);assegna_tutore_action.setDefaultDisabled(status);disgiungi_action.setDefaultDisabled(status);disgiungi_tutore_action.setDefaultDisabled(status);gruppi_action.setDefaultDisabled(status);configurazione_action.setDefaultDisabled(status);impostaGruppi_action.setDefaultDisabled(status);suggerimenti_action.setHidden(status);guida_action.setDefaultDisabled(status);gestisci_lock_action.setDefaultDisabled(status);}catch(e){log.error("azioni#12 -> ",e);}}
function updateLocalServer(version){updateVersion(version,function(){if(ENABLE_GOOGLE_LOCALSERVER){localServer.removeManagedStore(GOOGLE_STORE);}
logout_action.execute();});}
function invalidaDichiarazione(){var controllo=conn.query(getQuery(SEL_LOCAL_ANAG,[dichiarazione.cfisc]));if(!Ext.isEmpty(controllo.rows[0].A_VALIDATO)){conn.exec(getQuery(SET_A_VALIDATO,[dichiarazione.cfisc]));dichiarazione.recDic.set('A_VALIDATO','');updater.addAction('invalida',dichiarazione.cfisc,ANAGRAFICA_TAB);}}
function addActionFamiliare(){var currentCfisc=dichiarazione.getCurrentCfisc();invalidaDichiarazione();clearDataPaperView();var tabelle=[FAMILIARI_TAB];setDatiPaperView(tabelle);try{updater.addAction('delete',currentCfisc,FAMILIARI_TAB);updater.addAction('insert',currentCfisc,FAMILIARI_TAB);}catch(e){log.error("azioni#13 - addActionFamiliare ->",e);}}
function addActionTerreno(){var currentCfisc=dichiarazione.getCurrentCfisc();invalidaDichiarazione();clearDataPaperView();var tabelle=[TERRENI_TAB];setDatiPaperView(tabelle);try{updater.addAction('delete',currentCfisc,TERRENI_TAB);updater.addAction('insert',currentCfisc,TERRENI_TAB);}catch(e){log.error("azioni#14 - addActionTerreno ->",e);}}
function addActionFabbricato(){var currentCfisc=dichiarazione.getCurrentCfisc();invalidaDichiarazione();clearDataPaperView();var tabelle=[FABBRICATI_TAB,QBDENS_TAB];setDatiPaperView(tabelle);try{updater.addAction('delete',currentCfisc,FABBRICATI_TAB);updater.addAction('insert',currentCfisc,FABBRICATI_TAB);updater.addAction('delete',currentCfisc,QBDENS_TAB);updater.addAction('insert',currentCfisc,QBDENS_TAB);}catch(e){log.error("azioni#15 - addActionFabbricato ->",e);}}
function addActionQC(type){type=type||'update';var currentCfisc=dichiarazione.getCurrentCfisc();invalidaDichiarazione();clearDataPaperView();var tabelle=[QC1_TAB,QC2_TAB,QC3_TAB,QC5_TAB];setDatiPaperView(tabelle);try{updater.addAction('delete',currentCfisc,QC1_TAB);updater.addAction('insert',currentCfisc,QC1_TAB);updater.addAction('delete',currentCfisc,QC2_TAB);updater.addAction('insert',currentCfisc,QC2_TAB);updater.addAction(type,currentCfisc,QC3_TAB);updater.addAction('delete',currentCfisc,QC5_TAB);updater.addAction('insert',currentCfisc,QC5_TAB);}catch(e){log.error("azioni#16 - addActionQC ->",e);}}
function addActionQD(){var currentCfisc=dichiarazione.getCurrentCfisc();invalidaDichiarazione();clearDataPaperView();var tabelle=[QD1_TAB,QD2_TAB,QD3_TAB,QD4_TAB,QD5_TAB,QD6_TAB,QD7_TAB];setDatiPaperView(tabelle);try{updater.addAction('delete',currentCfisc,QD1_TAB);updater.addAction('insert',currentCfisc,QD1_TAB);updater.addAction('delete',currentCfisc,QD2_TAB);updater.addAction('insert',currentCfisc,QD2_TAB);updater.addAction('delete',currentCfisc,QD3_TAB);updater.addAction('insert',currentCfisc,QD3_TAB);updater.addAction('delete',currentCfisc,QD4_TAB);updater.addAction('insert',currentCfisc,QD4_TAB);updater.addAction('delete',currentCfisc,QD5_TAB);updater.addAction('insert',currentCfisc,QD5_TAB);updater.addAction('delete',currentCfisc,QD6_TAB);updater.addAction('insert',currentCfisc,QD6_TAB);updater.addAction('delete',currentCfisc,QD7_TAB);updater.addAction('insert',currentCfisc,QD7_TAB);}catch(e){log.error("azioni#17 - addActionQD ->",e);}}
function addActionQE(type){type=type||'update';var currentCfisc=dichiarazione.getCurrentCfisc();invalidaDichiarazione();clearDataPaperView();var tabelle=[QE_TAB,QEDETT_TAB,QE16_TAB,QEIII_TAB,QEIV1_TAB,QEIV3_TAB,QEIV4_TAB,QEV_TAB,CALC_E7_TAB,CALCE10_TAB];setDatiPaperView(tabelle);try{updater.addAction(type,currentCfisc,QE_TAB);updater.addAction('delete',currentCfisc,QEDETT_TAB);updater.addAction('insert',currentCfisc,QEDETT_TAB);updater.addAction('delete',currentCfisc,QE16_TAB);updater.addAction('insert',currentCfisc,QE16_TAB);updater.addAction('delete',currentCfisc,QEIII_TAB);updater.addAction('insert',currentCfisc,QEIII_TAB);updater.addAction('delete',currentCfisc,QEIV1_TAB);updater.addAction('insert',currentCfisc,QEIV1_TAB);updater.addAction('delete',currentCfisc,QEIV3_TAB);updater.addAction('insert',currentCfisc,QEIV3_TAB);updater.addAction('delete',currentCfisc,QEIV4_TAB);updater.addAction('insert',currentCfisc,QEIV4_TAB);updater.addAction('delete',currentCfisc,QEV_TAB);updater.addAction('insert',currentCfisc,QEV_TAB);updater.addAction('delete',currentCfisc,CALCE10_TAB);updater.addAction('insert',currentCfisc,CALCE10_TAB);updater.addAction('delete',currentCfisc,CALC_E7_TAB);updater.addAction('insert',currentCfisc,CALC_E7_TAB);}catch(e){log.error("azioni#18 - addActionQE ->",e);}}
function addActionQF(type){type=type||'update';var currentCfisc=dichiarazione.getCurrentCfisc();invalidaDichiarazione();clearDataPaperView();var tabelle=[QF_TAB];setDatiPaperView(tabelle);try{updater.addAction(type,currentCfisc,QF_TAB);}catch(e){log.error("azioni#19 - addActionQF ->",e);}}
function addActionQG(type){type=type||'update';var currentCfisc=dichiarazione.getCurrentCfisc();invalidaDichiarazione();clearDataPaperView();var tabelle=[QG_TAB,QG4_TAB];setDatiPaperView(tabelle);try{updater.addAction(type,currentCfisc,QG_TAB);updater.addAction('delete',currentCfisc,QG4_TAB);updater.addAction('insert',currentCfisc,QG4_TAB);}catch(e){log.error("azioni#20 - addActionQG ->",e);}}
function addActionQI(type){type=type||'update';var currentCfisc=dichiarazione.getCurrentCfisc();invalidaDichiarazione();clearDataPaperView();var tabelle=[QI_TAB];setDatiPaperView(tabelle);try{updater.addAction(type,currentCfisc,QI_TAB);}catch(e){log.error("azioni#21 - addActionQI ->",e);}}
function addActionQR(type){type=type||'update';var currentCfisc=dichiarazione.getCurrentCfisc();invalidaDichiarazione();clearDataPaperView();var tabelle=[QR_TAB];setDatiPaperView(tabelle);try{updater.addAction(type,currentCfisc,QR_TAB);}catch(e){log.error("azioni#22 - addActionQR ->",e);}}
function addActionDocumenti(){var currentCfisc=dichiarazione.getCurrentCfisc();invalidaDichiarazione();clearDataPaperView();var tabelle=[DOCUMENT_TAB];setDatiPaperView(tabelle);try{updater.addAction('delete',currentCfisc,DOCUMENT_TAB);updater.addAction('insert',currentCfisc,DOCUMENT_TAB);}catch(e){log.error("azioni#23 - addActionDocumenti ->",e);}}
function addSuggerimenti(){var suggerimentiWin=new Ext.ux.Namirial.form.Suggerimenti();suggerimentiWin.show();}
function easterEgg(e){try{var evt=(e)?e:(window.event)?window.event:null;var key;if(evt){key=(evt.charCode)?evt.charCode:((evt.keyCode)?evt.keyCode:((evt.which)?evt.which:0));konamiCodeCatch.shift();konamiCodeCatch.push(key);}
for(var i=0,t=0;i<10;i++){if(konamiCodeCatch[i]==KONAMI_CODE[i]){t++;}}
if(t==10){ee=ee?false:true;log.info('konami '+ee);spyMode.setVisible(ee);IMG_MALE=ee?'images/16/spy_16.png':'images/16/male.png';IMG_SESSO['M']=ee?'images/16/spy_16.png':'images/16/male.png';}}catch(e){log.error("EasterEgg Error ->");log.error(e);}}

