/*
 * JSMin
 * Javascript Compressor
 * http://www.crockford.com/
 * http://www.smallsharptools.com/Projects/Packer/
*/

// V:\1.1.007\js\lib\ext-namirial\Ext.ux.Namirial.form.Lookup.js

Ext.ns("Ext.ux");Ext.ns('Ext.ux.Namirial');Ext.ns('Ext.ux.Namirial.form');Ext.ux.Namirial.form.Lookup=Ext.extend(Ext.Panel,{updateDescriptionOnLoad:true,errorText:"Errore. Codice inesistente.",qtipTitle:'',update:function(){this.updateData();this.updateFilter();this.generaRicerca();},getDescriptionFromTable:function(cod,idx_cod,output,arr){var found=false;var multi=false;var descr=[];if(cod!=""){cod=cod.replace(/[\(\)]/g,".");var re=new RegExp("^"+cod+"\\s*$",'i');for(var i=arr.length-1;i>=0;i--){if(re.test(arr[i][idx_cod])){for(var j=0;j<output.length;j++){descr.push(arr[i][output[j].idx]);}
if(found){multi=true;}else{found=true;}}}
if(!found&&parseInt(cod,10)==0){found=true;descr.push("");}}
if(multi){showLoading(null,null,null,this.openList.createDelegate(this))
return"Trovate pi"+UNI_U+" occorrenze";}else{return(found)?descr:this.errorText;}},generaRicerca:function(){if(this.ricerca_tabelle){delete this.ricerca_tabelle;}
try{this.ricerca_tabelle=new Ext.ux.Namirial.RicercaTabelle({scope:this,window_title:'Tabella '+this.tab,nome_tab:this.tab,arr_dati:this.arr_dati_tabella,arr_record_config:this.record_config,arr_column_model:this.column_model,column_to_search_for:this.columnToSearchFor});}
catch(e){alert('Errore: impossibile inizializzare il componente Ext.ux.Namirial.RicercaTabelle.\nVerificare sintassi ed include.\n'+e.name+":"+e.message);};},updateData:function(){if(Ext.isEmpty(this.obj_tab)){try{this.arr_tab=eval('obj_'+this.tab+'.records');this.record_config=obj_tab_cod_descr.record_config;this.column_model=obj_tab_cod_descr.search_standard_cm;}
catch(e){this.arr_tab=[];alert('Errore in Ext.ux.Namirial.form.Lookup\n\nNon trovo i record della tabella '+this.tab+'\nper il campo '+this.cod.name+'.\nAssicurati di aver incluso il corretto file di inclusione.')}}
else{this.arr_tab=this.obj_tab.records;this.record_config=this.obj_tab.record_config;this.column_model=this.obj_tab.search_standard_cm;}
for(var k=0;k<this.record_config.length;k++){var column=this.record_config[k];if(k==this.idx_cod){column.mapping=this.idx_cod;this.ricerca_tabelle_colonna=column.name;}
for(var i=0;i<this.output.length;i++){if(k==this.output[i].idx){column.mapping=this.output[i].idx;}}}},updateFilter:function(){if(!Ext.isEmpty(this.filter)){this.arr_dati_tabella=this.arr_tab.filter(this.filter,this.ownerCt);}
else{this.arr_dati_tabella=this.arr_tab;}},updateDescription:function(no_highlight){no_highlight=no_highlight||false;var field=this.cod;var searchValue=field.getRawValue();var descr=this.getDescriptionFromTable(searchValue,this.idx_cod,this.output,this.arr_dati_tabella);if((typeof descr)=='string'){for(var i=0;i<this.output.length;i++){if(this.output[i].descr.constructor.xtype=='label'){this.output[i].descr.removeClass('x-form-descr-correct');this.output[i].descr.addClass('x-form-descr-error');this.output[i].descr.setText('<b>'+descr+'</b>',false);}
else if(this.output[i].descr=='qtip'){this.cod.qtip_msg=Ext.QuickTips.register({target:this.cod,text:descr,cls:'x-form-invalid-tip',enabled:true,showDelay:20});}
else{this.output[i].descr.setValue("");this.output[i].descr.getEl().highlight("FF0000",{attr:'background-color',duration:2});}}
this.cod.markInvalid(descr);}
else{for(var i=0;i<this.output.length;i++){if(this.output[i].descr.constructor.xtype=='label'){this.output[i].descr.removeClass('x-form-descr-error');this.output[i].descr.addClass('x-form-descr-correct');this.output[i].descr.setText('<b>'+descr[i]+'</b>',false);}
else if(this.output[i].descr=='qtip'){this.cod.qtip_msg=Ext.QuickTips.register({target:this.cod,title:this.qtipTitle,text:descr[i],enabled:true,showDelay:20});}
else{this.output[i].descr.setValue(descr[i]);if(!no_highlight){this.output[i].descr.getEl().highlight("0000FF",{attr:'background-color',duration:2});}}}
this.cod.clearInvalid();}},useRecord:function(selected_record,return_params){var retVal;if(selected_record){var i=0;for(prop in selected_record.data){retVal=selected_record.data[prop];if(i==this.idx_cod){this.cod.setValue(retVal);}
for(var j=0;j<this.output.length;j++){if(selected_record.fields.get(prop).mapping==this.output[j].idx){if(this.output[j].descr.constructor.xtype=='label'){this.output[j].descr.removeClass('x-form-descr-error');this.output[j].descr.addClass('x-form-descr-correct');this.output[j].descr.setText('<b>'+retVal+'</b>',false);}
else if(this.output[j].descr=='qtip'){this.cod.qtip_msg=Ext.QuickTips.register({target:this.cod,title:this.qtipTitle,text:retVal,enabled:true,showDelay:20});}
else{this.output[j].descr.setValue(retVal);this.output[j].descr.getEl().highlight("FFCC00",{attr:'background-color',duration:2});}}}
i++;}}
this.cod.focus();},initComponent:function(){Ext.ux.Namirial.form.Lookup.superclass.initComponent.call(this);if(Ext.isEmpty(this.cod)){alert('Errore in Ext.ux.Namirial.form.Lookup\n\nDevi dichiarare il campo "cod"')}
else{this.cod.enableKeyEvents=true;this.cod.isLookup=true;this.cod.lookup=this;this.add(this.cod);}
if(Ext.isEmpty(this.idx_cod)){alert('Errore in Ext.ux.Namirial.form.Lookup\n\nDevi dichiarare idx_cod')}
if(Ext.isEmpty(this.tab)&&Ext.isEmpty(this.obj_tab)){alert('Errore in Ext.ux.Namirial.form.Lookup\n\nDevi dichiarare la proprieta\' "tab" (comportamento standard)\n oppure "obj_tab" per le tabelle piu\' complesse')}
if(Ext.isEmpty(this.idx_descr)&&Ext.isEmpty(this.output)){alert('Errore in Ext.ux.Namirial.form.Lookup\n\nDevi dichiarare idx_descr oppure output')}
if(Ext.isEmpty(this.columnToSearchFor)){this.columnToSearchFor='descr';}
if(Ext.isEmpty(this.output)){this.output=new Array();this.output.push({});this.output[0].idx=this.idx_descr;this.output[0].descr=new Ext.form.Label({});if(Ext.isEmpty(this.output[0].descr.width)){this.output[0].descr.width=((this.width-this.cod.width)-5);}
if(Ext.isEmpty(this.output[0].descr.x)){this.output[0].descr.x=this.cod.x+this.cod.width+5;}
if(Ext.isEmpty(this.output[0].descr.y)){this.output[0].descr.y=this.cod.y;}
this.output[0].descr.cls='x-form-descr-correct';this.output[0].descr.upperCase=false;this.add(this.output[0].descr);};this.updateData();this.updateFilter();this.cod.on({scope:this,'change':this.updateDescription});this.cod.on({scope:this,'keyup':function(cmp,e){if(e.getKey()==113){showLoading(null,null,null,this.openList.createDelegate(this))}}});},openList:function(){if(!this.ricerca_tabelle){this.generaRicerca();}
try{this.ricerca_tabelle._ext_window.on('beforeshow',function(){hideLoading()});this.ricerca_tabelle.codice_preesistente=this.cod.getRawValue();this.ricerca_tabelle.colonna=this.ricerca_tabelle_colonna;this.ricerca_tabelle.caller_params={}
this.ricerca_tabelle.showWindow()
this.ricerca_tabelle.focus();}
catch(e){alert('Errore: impossibile mostrare la ricerca.\n\nAssicurarsi che il componente sia\nstato istanziato correttamente.')}}});

