/*
 * JSMin
 * Javascript Compressor
 * http://www.crockford.com/
 * http://www.smallsharptools.com/Projects/Packer/
*/

// V:\1.1.007\js\form\Ext.ux.Namirial.form.Tutori.js

Ext.ns("Ext.ux");Ext.ns('Ext.ux.Namirial');Ext.ns('Ext.ux.Namirial.form');Ext.ux.Namirial.form.Tutori=Ext.extend(Ext.ux.Namirial.ColumnWindow,{pageSize:18,constructor:function(){this.form_empty_values=[];this.fields=new Ext.form.BasicForm();this.cfisc=new Ext.ux.Namirial.form.TextField({width:130,fieldLabel:getText['CODICE_FISCALE'],name:'CFISC',disabled:true,allowBlank:false,blankText:'Campo obbligatorio',validateOnBlur:false,validationEvent:'change',validator:controllaCfisc,listeners:{'valid':{fn:validaCfisc,scope:this}},maskRe:Ext.ux.form.VTypes['alphanumMask']});this.fields.add(this.cfisc);this.cognome=new Ext.ux.Namirial.form.TextField({width:200,fieldLabel:getText['COGNOME'],name:'COGNOME',disabled:true,allowBlank:false,blankText:'Campo obbligatorio',maskRe:Ext.ux.form.VTypes['nameMask']});this.fields.add(this.cognome);this.nome=new Ext.ux.Namirial.form.TextField({width:200,fieldLabel:getText['NOME'],name:'NOME',disabled:true,allowBlank:false,blankText:'Campo obbligatorio',maskRe:Ext.ux.form.VTypes['nameMask']})
this.fields.add(this.nome);this.data_nascita=new Ext.form.DateField({fieldLabel:getText['DATA_DI_NASCITA'],name:'DNASCITA',disabled:true,allowBlank:false,blankText:'Campo obbligatorio'});this.fields.add(this.data_nascita);this.sesso=new Ext.ux.Namirial.form.ComboBox({name:'SS',fieldLabel:getText['SESSO'],width:40,disabled:true,allowBlank:false,blankText:'Campo obbligatorio',readOnly:true,listWidth:100,store:Ext.ux.Namirial.Anagrafica.sesso,mode:'local',triggerAction:'all',showValue:true,maskRe:Ext.ux.form.VTypes['sessoMask']});this.fields.add(this.sesso);this.prov_nascita=new Ext.ux.Namirial.form.TextField({name:'PNASCITA',disabled:true,blankText:'Campo obbligatorio',fieldLabel:getText['PROV'],width:30,readOnly:true});this.fields.add(this.prov_nascita);this.comune_nascita=new Ext.ux.Namirial.form.TextField({name:'CNASCITA',width:200,disabled:true,allowBlank:false,blankText:'Campo obbligatorio',fieldLabel:getText['COMUNE'],minLength:3,enableKeyEvents:true,maskRe:Ext.ux.form.VTypes['nameMask'],ptip:{title:'Premere F2 per visualizzare la lista dei comuni',align:'b-t'},validateOnBlur:false,validationEvent:'change',validator:controllaComune.createDelegate(this.lookupComuniNascita)});this.fields.add(this.comune_nascita);this.richiesta_info_check=new Ext.form.Checkbox({labelSeparator:'',hideLabel:true,disabled:true,boxLabel:getText['RICHIESTA_DI_ESSERE_INFORMATO'],name:'RIC_INFO_CHECK'});this.richiesta_info=new Ext.ux.Namirial.form.TextField({hidden:true,fieldLabel:'&nbsp;',disabled:true,labelSeparator:'',name:'RIC_INFO',validator:setCheckbox.createDelegate(this.richiesta_info_check)});this.richiesta_info_check.on('check',convertCheckbox,this.richiesta_info)
this.fields.add(this.richiesta_info_check);this.fields.add(this.richiesta_info);this.comune_residenza=new Ext.ux.Namirial.form.TextField({fieldLabel:getText['COMUNE'],width:200,disabled:true,allowBlank:false,blankText:'Campo obbligatorio',name:'CRESIDENZA',maskRe:Ext.ux.form.VTypes['nameMask'],ptip:{title:'Premere F2 per visualizzare la lista dei comuni',align:'b-t'},validateOnBlur:false,validationEvent:'change',validator:controllaComune.createDelegate(this.lookupComuniResidenza)});this.fields.add(this.comune_residenza);this.prov_residenza=new Ext.ux.Namirial.form.TextField({fieldLabel:getText['PROV'],width:30,disabled:true,allowBlank:false,blankText:'Campo obbligatorio',name:'PRESIDENZA'});this.fields.add(this.prov_residenza);this.cap_residenza=new Ext.ux.Namirial.form.TextField({fieldLabel:getText['CAP'],width:50,disabled:true,allowBlank:false,blankText:'Campo obbligatorio',name:'CAP'});this.fields.add(this.cap_residenza);this.tipo_residenza=new Ext.ux.Namirial.form.ComboBox({cstParent:RESIDENZA_ANAGRAFICA,fieldLabel:getText['TIPOLOGIA'],width:55,disabled:true,listWidth:55,allowBlank:false,blankText:'Campo obbligatorio',store:Ext.ux.Namirial.Anagrafica.tipoResidenza,mode:'local',name:'TRESIDENZA',triggerAction:'all',selectOnFocus:true,forceSelection:true});this.fields.add(this.tipo_residenza);this.via_residenza=new Ext.ux.Namirial.form.TextField({cstParent:RESIDENZA_ANAGRAFICA,fieldLabel:getText['INDIRIZZO'],width:270,disabled:true,allowBlank:false,blankText:'Campo obbligatorio',name:'VRESIDENZA'});this.fields.add(this.via_residenza);this.ncivico_residenza=new Ext.ux.Namirial.form.TextField({fieldLabel:getText['N_CIVICO'],cstParent:RESIDENZA_ANAGRAFICA,width:50,disabled:true,allowBlank:false,blankText:'Campo obbligatorio',name:'NCIVICO',maskRe:Ext.ux.form.VTypes['nCivico']});this.fields.add(this.ncivico_residenza);this.frazione_residenza=new Ext.ux.Namirial.form.TextField({fieldLabel:getText['FRAZIONE'],disabled:true,width:200,name:'FRESIDENZA'});this.fields.add(this.frazione_residenza);this.lookupFrazioneResidenza=new Ext.ux.Namirial.form.RemoteLookup({bodyStyle:SFONDO_FORM,border:false,windowTitle:'Frazioni',windowWidth:430,windowHeight:395,pageSize:12,store:storeFrazioni,gridHeaders:header_frazioni,campoRicerca:this.frazione_residenza,mapping:[{campo:this.frazione_residenza,valore:'FRAZIONE'}],mappingRicerca:'FRAZIONE',offlineMessage:"Non "+UNI_E+" possibile aprire la lista delle frazioni in modalit"+UNI_A+" offline."})
this.lookupFrazioneResidenza.on('beforeshowlist',function(){if(this.comune_residenza.isValid()){var comuneVal=this.comune_residenza.getValue();if(comuneVal==''){Toast("Attenzione",UNI_E_MAIUSC+" necessario inserire un comune.")
return false}
var comuneRec=cercaComune(comuneVal,2);storeFrazioni.setFilter("COMUNE = '"+comuneRec[1]+"'");}else{Toast("Attenzione","Comune non valido.");return false;}},this)
this.pref_telefono=new Ext.form.TextField({fieldLabel:'Tel.',disabled:true,width:40,name:'PREF',maskRe:Ext.ux.form.VTypes['numericMask']});this.fields.add(this.pref_telefono);this.telefono=new Ext.form.TextField({fieldLabel:'&nbsp;',disabled:true,labelSeparator:'',width:80,name:'TELEFONO',maskRe:Ext.ux.form.VTypes['numericMask']});this.fields.add(this.telefono);this.email=new Ext.ux.Namirial.form.TextField({fieldLabel:getText['EMAIL'],upperCase:false,disabled:true,width:130,name:'EMAIL',vtype:'email'});this.fields.add(this.email);this.cell_num=new Ext.form.TextField({hideLabel:true,labelSeparator:'',hidden:true,autoCreate:MAX_LENGHT(20),name:'CELL'});this.fields.add(this.cell_num);this.cell_num.on('valid',function(field){var newval=field.getValue();var cell_parts=newval.split("-");this.pref_cell.setValue(cell_parts[0]);this.cell.setValue(cell_parts[1]);},this)
this.pref_cell=new Ext.form.TextField({fieldLabel:getText['CELL'],width:33,name:'ED_PREF_CELL',autoCreate:MAX_LENGHT(2),maskRe:Ext.ux.form.VTypes['numericMask']});this.fields.add(this.pref_cell);this.cell=new Ext.form.TextField({fieldLabel:'&nbsp;',labelSeparator:'',width:80,name:'ED_CELL',autoCreate:MAX_LENGHT(17),maskRe:Ext.ux.form.VTypes['numericMask']});this.fields.add(this.cell);this.lookupComuniNascita=new Ext.ux.Namirial.form.Lookup({layout:'form',id:'lookupComuniResidenza',width:300,cod:this.comune_nascita,idx_cod:2,output:[{descr:this.prov_nascita,idx:6}],tab:'Comuni',obj_tab:obj_comuni,columnToSearchFor:'COMUNE',updateDescriptionOnLoad:false})
this.lookupComuniResidenza=new Ext.ux.Namirial.form.Lookup({layout:'form',id:'lookupComuniResidenza',width:300,cod:this.comune_residenza,idx_cod:2,output:[{descr:this.prov_residenza,idx:6},{descr:this.cap_residenza,idx:5}],tab:'Comuni residenza',obj_tab:obj_comuni,columnToSearchFor:'COMUNE',updateDescriptionOnLoad:false})
this.formTutori=new Ext.form.FormPanel({border:false,items:[{title:'Dati anagrafici del tutore/rappresentante',collapsible:false,frame:true,border:false,titleCollapse:true,height:190,layout:'form',labelAlign:'top',items:[{layout:'column',items:[{width:140,layout:'form',items:this.cfisc},{width:110,layout:'form',items:this.data_nascita},{width:50,layout:'form',items:this.sesso}]},{layout:'column',items:[{width:210,layout:'form',items:this.cognome},{width:200,layout:'form',items:this.nome}]},{layout:'column',items:[{width:210,layout:'form',items:this.lookupComuniNascita},{width:50,layout:'form',items:this.prov_nascita},{width:160,layout:'form',items:[{height:12},this.richiesta_info_check,this.richiesta_info]}]}]},{title:getText['RESIDENZA_ANAGRAFICA'],frame:true,collapsible:false,collapsed:false,titleCollapse:true,layout:'form',labelAlign:'top',items:[{layout:'column',items:[{width:210,layout:'form',items:this.lookupComuniResidenza},{width:50,layout:'form',items:this.prov_residenza},{width:80,layout:'form',items:this.cap_residenza}]},{layout:'column',items:[{width:70,layout:'form',items:this.tipo_residenza},{width:280,layout:'form',items:this.via_residenza},{width:70,layout:'form',items:this.ncivico_residenza}]},{layout:'column',items:[{width:220,layout:'form',items:this.lookupFrazioneResidenza}]},{layout:'column',items:[{width:40,layout:'form',items:this.pref_telefono},{width:110,layout:'form',items:this.telefono},{width:145,layout:'form',items:this.email},{width:46,layout:'column',items:[{width:15,layout:'form',items:[{height:18},{xtype:'label',text:'+'}]},{width:31,layout:'form',items:this.pref_cell}]},{width:80,layout:'form',items:this.cell},this.cell_num]}]}]})
this.formTutori.on('render',function(){var campi=this.fields.items.items;for(var i=0,len=campi.length;i<len;i++){var value=campi[i].getValue();this.form_empty_values[campi[i].name]=(value==undefined)?'':value;}},this)
this.storeTutori=new Ext.ux.Namirial.data.ScriptTagStore({url:PAGEDATAURL,root:'rows',totalProperty:'totalRows',selectFrom:'TUTORI',selectFilter:"WHERE [SPORTELLO] = '"+session.userLogged+"'",remoteSort:true,id:'storeTutori',fields:structStore.getFields('TUTORI'),sortInfo:{field:'COGNOME',direction:'ASC'},baseParam:{start:0,limit:20}});this.searchField=new Ext.form.TwinTriggerField({id:this.id+'_searchField',name:'COGNOME',width:200,enableKeyEvents:true,selectOnFocus:true,trigger1Class:'x-form-search-trigger',trigger2Class:'x-form-clear-trigger'})
this.searchField.onTrigger1Click=this.cerca.createDelegate(this);this.searchField.onTrigger2Click=this.cancella.createDelegate(this);this.actions=[];var nuovo=1;var salva=1;var modifica=1;var cancella=1;this.nuovoHandler=function(btn,state){this.sm.clearSelections();this.resetForm();this.tb_modifica.disable();this.setNew(true);}
this.cancellaHandler=function(){var alert=Ext.Msg.confirm('Attenzione','Vuoi eliminare questo tutore?',function(btn){if(btn=='yes'){eliminaTutore.call(this,function(){this.storeTutori.on('load',function(){this.setNew(false);this.sm.selectFirstRow();},this,{single:true})
this.storeTutori.reload();})}},this)}
this.salvaHandler=function(){this.form_dirty=this.isDirty();if(this.form_dirty){salvaTutore.call(this,function(){this.storeTutori.on('load',function(){this.sm.selectRow(this.lastRow);},this,{single:true});this.form_dirty=false;this.setNew(false);this.storeTutori.reload();this.tb_salva.disable();this.tb_modifica.enable();this.searchField.enable();});}else{this.setNew(false);this.tb_salva.disable();this.tb_modifica.enable();this.searchField.enable();}}
this.modificaHandler=function(btn,state){this.setModifica(true);this.tb_salva.enable();}
this.tb_nuovo=new Ext.Toolbar.Button({text:'Nuovo',icon:IMG_NUOVO,iconCls:'x-btn-text-icon',tooltip:{title:'Nuovo',text:'Aggiunge un nuovo familiare a carico'},handler:this.nuovoHandler.createDelegate(this)});this.tb_nuovo.on('click',function(btn){this.sm.clearSelections();this.searchField.disable();this.tb_salva.enable();this.tb_modifica.disable();this.tb_cancella.disable();;},this);this.actions.push(this.tb_nuovo);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 apportate'},handler:this.salvaHandler.createDelegate(this)});this.tb_salva.on('click',function(e){this.form_dirty=this.isDirty();this.form_valid=this.fields.isValid();},this);this.actions.push(this.tb_salva);this.tb_modifica=new Ext.Toolbar.Button({text:'Modifica',iconCls:'x-btn-text-icon',disabled:true,tooltip:{title:'Modifica',text:'Modifica l\'elemento selezionato'},icon:IMG_EDIT,handler:this.modificaHandler.createDelegate(this)});this.tb_modifica.on('click',function(btn){this.searchField.disable();this.tb_salva.disable();},this);this.actions.push(this.tb_modifica);this.tb_cancella=new Ext.Toolbar.Button({text:'Elimina',iconCls:'x-btn-text-icon',disabled:true,tooltip:{title:'Elimina',text:'Elimina l\'elemento selezionato'},icon:IMG_CANCEL,handler:this.cancellaHandler.createDelegate(this)});this.actions.push(this.tb_cancella);this.tb_annulla=new Ext.Toolbar.Button({text:'Annulla',icon:IMG_UNDO,disabled:true,iconCls:'x-btn-text-icon',tooltip:{title:'Annulla',text:'Annulla le modifiche'},handler:this.annulla,scope:this});this.actions.push(this.tb_annulla);this.sm=new Ext.grid.RowSelectionModel({singleSelect:true,listeners:{rowselect:{fn:function(sm,row,rec){this.lastRow=row;this.fields.loadRecord(rec);var campi=this.fields.items.items;for(var i=0,len=campi.length;i<len;i++){campi[i].originalValue=campi[i].getValue();}
this.setNew(false);this.tb_cancella.enable();this.tb_modifica.enable();this.tb_salva.disable();},scope:this}}})
this.grid=new Ext.grid.GridPanel({id:this.id+'_grid',height:(this.pageSize*21)+24,stripeRows:true,store:this.storeTutori,border:false,loadMask:true,columns:header_tutori,sm:this.sm});this.pag=new Ext.PagingToolbar({pageSize:this.pageSize,store:this.storeTutori,refreshText:'Ricarica'});this.pag.on('render',function(){var searchField=this.searchField;var refresh;var prevSearch='';if(Ext.isEmpty(refresh))refresh=this.pag.loading.handler;this.pag.loading.setHandler(function(){var search=searchField.getValue();search=search.replace(/[\\*]/g,'//');if(searchField.isDirty()&&search!=prevSearch)this.cursor=0;prevSearch=search;this.store.setFilter('WHERE SPORTELLO = \''+session.userLogged+'\' AND (COGNOME LIKE \''+search+'//\' OR CFISC LIKE \''+search+'//\')');refresh();},this.pag)},this)
this.grid.on('keydown',function(e){var key=e.getKey();switch(key){case Ext.EventObject.RIGHT:if(!this.pag.next.disabled)this.pag.next.handler();break;case Ext.EventObject.LEFT:if(!this.pag.prev.disabled)this.pag.prev.handler();break;}},this);this.searchField.on({scope:this,'keyup':function(cmp,e){if(e.getKey()==13){this.cerca();}}})
Ext.ux.Namirial.form.Tutori.superclass.constructor.call(this,{draggable:true,constrainHeader:true,id:WINDOW_TUTORI,width:900,height:525,lwidth:412,rwidth:470,title:'Gestione tutori',defaults:{border:false},lpanel:{border:false,items:this.grid,bbar:this.pag},rpanel:this.formTutori,tbar:this.actions,bbar:[{xtype:'label',html:'<table cellspadding="0" cellspacing="0"><tr><td style="padding-left: 15px; padding-right: 10px;" valign="middle">'+getText['CERCA']+':</td></tr></table>'},this.searchField,'->',{xtype:'button',iconCls:'x-btn-text-icon',text:'Chiudi',icon:IMG_OK,minWidth:80,handler:function(){this.close();},scope:this}]})
this.on('beforeshow',function(){hideLoading();this.storeTutori.load({params:{start:0,limit:this.pageSize}})},this)
this.on('show',function(){var deferredSelect=new Ext.util.DelayedTask(function(){this.sm.selectFirstRow();},this);deferredSelect.delay(100);},this);},cerca:function(){var search=this.searchField.getValue();search=search.replace(/[\\*]/g,'//');this.storeTutori.setFilter('WHERE SPORTELLO = \''+session.userLogged+'\' AND (COGNOME LIKE \''+search+'//\' OR CFISC LIKE \''+search+'//\')');this.storeTutori.load({params:{start:0,limit:this.pageSize}});},cancella:function(){this.searchField.setValue('');},showList:function(search){if(session.isOnline){showLoading(null,null,null,this.openList.createDelegate(this))}else{Toast("Operazione non consentita","Non "+UNI_E+" possibile visualizzare la lista dei sostituti in modalit"+UNI_A+" offline.")}},openList:function(){if(Ext.isEmpty(Ext.WindowMgr.get(WINDOW_TUTORI))){this.show();}},resetForm:function(){var campi=this.fields.items.items;for(var i=0,len=campi.length;i<len;i++){campi[i].originalValue=this.form_empty_values[campi[i].name];campi[i].setValue(this.form_empty_values[campi[i].name]);}
this.fields.reset();},isDirty:function(){var campi=this.fields.items.items;var dirty=false;for(var i=0,len=campi.length;i<len;i++){if(campi[i].isDirty())dirty=true;}
return dirty;},setNew:function(state){this.tb_annulla.setDisabled(!state);var campi=this.fields.items.items;for(var i=0,len=campi.length;i<len;i++){campi[i].setDisabled(!state);}
this.modifica=state;},setModifica:function(state){this.tb_annulla.setDisabled(!state);var campi=this.fields.items.items;for(var i=0,len=campi.length;i<len;i++){if(campi[i].name!='CFISC')campi[i].setDisabled(!state);}
this.modifica=state;},annulla:function(){this.setNew(false);this.tb_cancella.enable();this.tb_modifica.enable();this.tb_salva.disable();this.fields.reset();}})

