/*
 * JSMin
 * Javascript Compressor
 * http://www.crockford.com/
 * http://www.smallsharptools.com/Projects/Packer/
*/

// V:\1.1.007\js\form\FRONTESPIZIO\controlli_familiari.js

function indiceVO(indice,errore){this.indice=indice;this.errore=errore;}
function controlloFam(){var nF1=0;var nF=0;var returnValue=true;var VIEW=this.listaFamiliari.getView();this.store_famiglie.each(function(record){if(record.get('F2')=='F1')nF1++;if(record.get('F2')=='F')nF++;},this)
if((nF1==0)&&(nF>0)){this.store_famiglie.each(function(record){if(record.get('F2')=='F'){VIEW.setRowError(this.store_famiglie.indexOf(record),'In presenza di figli a carico deve essere compilato almeno un rigo con F1');}},this)
returnValue=false;}
return returnValue;}
function CalcolaMesi3Anni(cfisc){var ANNO,MESE;var Result='0';var datadinascita=getDataNascita(cfisc);ANNO=datadinascita.substr(6,10);MESE=datadinascita.substring(3,5);if(ANNO==(ANNO_DICHIARAZIONE-3)){Result=MESE;}else{if((ANNO>=ANNO_DICHIARAZIONE-2)&&(ANNO<ANNO_DICHIARAZIONE)){Result='12'}else{if(ANNO<ANNO_DICHIARAZIONE-3){Result='0'}else{if(ANNO==ANNO_DICHIARAZIONE){Result=(12-MESE)+1;}}}}
return Result;}
function contrallaFamiliare(xCF){var returnValue=false;var MESI_CON_C=0;var APP_MESI3=CalcolaMesi3Anni(xCF);var TIPO_PARENTELA='';var TIPO_DISABILE='?';var ErrParentela=false;var ErrDisabile=false;var ErrBonus=false;var ErrPercentuale=false;var ErroreFiglioEstero=false;var MESI_A_CARICO=0;var MESI_A_CARICO_3ANNI=0;var MESI_CONIUGE_COME_ALTRO=0;var MEDIA_DIC=0;var BONUS_DIC=0;var xREDD_LAVPENASS=-1;var xREDD_DIVERSI=-1;var xREDD_FONDIARI=-1;var xALTRI_REDD=-1;var CODFISC;var PERC;var MEDIA_DIC;var CODICEFISCALE=dichiarazione.cfisc;var CODICECONIUGE=dichiarazione.congiunta_cfisc;var VIEW=this.listaFamiliari.getView();var TIPO_PARENTELA;var ErrBonus=false;var ERRORE_FIGLIOESTERO=1;var ERRORE_DISABILE=2;var ERRORE_BONUS=3;var ERRORE_DICHIARANTE=4;var ERRORE_FIGLIOACARICO=5;var ERRORE_MESI_A_CARICO=6;var ERRORE_MESI_A_CARICO_3ANNI=7;var ERRORE_MESI_A_CARICO_3ANNI_APP=8;var ERRORE_BONUS_LIMITE=9;var ERRORE_MESI_CON_C=10;var ERRORE_MESI_CONIUGE=11;var arrayMessaggi=new Array();var mxStore=this.store_famiglie.query('F1',xCF);mxStore.each(function(record){var index=this.store_famiglie.indexOf(record);CODFISC=record.get('F1');arrayMessaggi[CODFISC]=new Array();if(record.get('F2')=='C'){var F3=(record.get('F3')=='')?0:parseInt(record.get('F3'));MESI_CON_C=MESI_CON_C+convertiStrNum(record.get('F3'));if((convertiStrNum(record.get('F3'))+convertiStrNum(record.get('F3_3ANNI')))>12){arrayMessaggi[CODFISC].push(ERRORE_MESI_CONIUGE);}}else{var F3=(record.get('F3')=='')?0:parseInt(record.get('F3'));var F3_3ANNI=(record.get('F3_3ANNI')=='')?0:parseInt(record.get('F3_3ANNI'));if(record.get('F4_DEAD')=='C'){PERC=100}else{PERC=record.get('F4')}
MEDIA_DIC=MEDIA_DIC+(F3*PERC/100);if(CODFISC==CODICEFISCALE){arrayMessaggi[CODFISC].push(ERRORE_DICHIARANTE);}
if((CODICECONIUGE!='')&&(CODFISC==CODICECONIUGE)&&(record.get('F2')!='A')){if(dichiarazione.congiunta||dichiarazione.getTipo()=='Rappresentante'){var caption;if(dichiarazione.congiunta)caption='coniuge';if(dichiarazione.getTipo()=='Rappresentante')caption='Rappresentante';arrayMessaggi[CODFISC].push(ERRORE_FIGLIOACARICO);}}
if((CODFISC==CODICECONIUGE)&&(CODICECONIUGE!='')){MESI_CONIUGE_COME_ALTRO=MESI_CONIUGE_COME_ALTRO+F3;}
MESI_A_CARICO=MESI_A_CARICO+F3
if(MESI_A_CARICO>12){arrayMessaggi[CODFISC].push(ERRORE_MESI_A_CARICO);}
MESI_A_CARICO_3ANNI=MESI_A_CARICO_3ANNI+F3_3ANNI
if(MESI_A_CARICO_3ANNI>12){arrayMessaggi[CODFISC].push(ERRORE_MESI_A_CARICO_3ANNI);}else if(MESI_A_CARICO_3ANNI>APP_MESI3){arrayMessaggi[CODFISC].push(ERRORE_MESI_A_CARICO_3ANNI_APP);}
BONUS_DIC=record.get('F3_MAN');if(record.get('ESTERO')=='X'){if((record.get('DNASCITA')=='')||(record.get('SS')=='')||(record.get('CNASCITA')=='')||(record.get('CCAT')=='')){arrayMessaggi[CODFISC].push(ERRORE_FIGLIOESTERO);}}
if(TIPO_DISABILE!=record.get('DISABILE')){if(TIPO_DISABILE!='?'){arrayMessaggi[CODFISC].push(ERRORE_DISABILE);}else{TIPO_DISABILE=record.get('DISABILE');}}
if(xREDD_LAVPENASS!=record.get('REDD_LAVPENASS')){if(xREDD_LAVPENASS!=-1){ErrBonus=true;}else{xREDD_LAVPENASS=record.get('REDD_LAVPENASS');}}
if(xREDD_DIVERSI!=record.get('REDD_DIVERSI')){if(xREDD_DIVERSI!=-1){ErrBonus=true;}else{xREDD_DIVERSI=record.get('REDD_DIVERSI');}}
if(xREDD_FONDIARI!=record.get('REDD_FONDIARI')){if(xREDD_FONDIARI!=-1){ErrBonus=true;}else{xREDD_FONDIARI=record.get('REDD_FONDIARI');}}
if(xALTRI_REDD!=record.get('ALTRI_REDD')){if(xALTRI_REDD!=-1){ErrBonus=true;}else{xALTRI_REDD=record.get('ALTRI_REDD');}}
if(ErrBonus)arrayMessaggi[CODFISC].push(ERRORE_BONUS);if(!ErrBonus){if(BONUS_DIC>LIMITE_REDDITO_SOGGETTO_A_CARICO){arrayMessaggi[CODFISC].push(ERRORE_BONUS_LIMITE);}}}},this)
for(var indexMess in arrayMessaggi){var currentStore=this.store_famiglie.query('F1',indexMess);currentStore.each(function(rec,indexStore,allItems1){var indiceErrore=this.store_famiglie.indexOf(rec);if(indiceErrore!=-1){var textError='';var errorCount=0;Ext.each(arrayMessaggi[indexMess],function(errorRec,indexErr,allItemsError){errorCount++;returnValue=true;switch(errorRec){case ERRORE_BONUS:var msgErrore='Il familiare '+UNI_E+' stato indicato su pi'+UNI_U+' righi con redditi diversi.';textError=(indexErr>0)?(textError+LINEA_100+msgErrore):msgErrore;break;case ERRORE_BONUS_LIMITE:var msgErrore='Il familiare a carico non pu'+UNI_O+' percepire un reddito superiore a '+UNI_EURO+' '+LIMITE_REDDITO_SOGGETTO_A_CARICO;textError=(indexErr>0)?(textError+LINEA_100+msgErrore):msgErrore;break;case ERRORE_DICHIARANTE:var msgErrore='';textError=(indexErr>0)?(textError+LINEA_100+msgErrore):msgErrore;break;case ERRORE_DISABILE:var msgErrore='Il familiare '+UNI_E+' stato indicato su pi'+UNI_U+' righi a volte come Disabile e a volte come NON Disabile.';textError=(indexErr>0)?(textError+LINEA_100+msgErrore):msgErrore;break;case ERRORE_FIGLIOACARICO:var text;if(dichiarazione.congiunta)text='Coniuge';if(dichiarazione.getTipo()=='Rappresentante')text='Rappresentante';var msgErrore='Il Codice Fiscale del '+text+' non pu'+UNI_O+' essere inserito come figlio a carico';textError=(indexErr>0)?(textError+LINEA_100+msgErrore):msgErrore;break;case ERRORE_FIGLIOESTERO:var msgErrore='';textError=(indexErr>0)?(textError+LINEA_100+msgErrore):msgErrore;break;case ERRORE_MESI_A_CARICO:var msgErrore='Totale mesi a carico superiore a 12';textError=(indexErr>0)?(textError+LINEA_100+msgErrore):msgErrore;break;case ERRORE_MESI_A_CARICO_3ANNI:var msgErrore='';textError=(indexErr>0)?(textError+LINEA_100+msgErrore):msgErrore;break;case ERRORE_MESI_A_CARICO_3ANNI_APP:var msgErrore='Totale mesi a carico minore di 3 anni superiore a '+APP_MESI3
textError=(indexErr>0)?(textError+LINEA_100+msgErrore):msgErrore;break;case ERRORE_MESI_CONIUGE:var msgErrore='Totale mesi a carico maggiore di 12';textError=(indexErr>0)?(textError+LINEA_100+msgErrore):msgErrore;break;}})
if(textError)VIEW.setRowError(indiceErrore,textError+LINEA_50+'<i>N.Errori:</i> '+errorCount);}},this)}
return returnValue;}
function controllaFigliMaggiori(){var mxStore=this.store_famiglie.query('F2','F1');var dataF1;var returnValue=true;mxStore.each(function(record_F1){dataF1=new Date(getDataNascita(record_F1.get('F1')));this.store_famiglie.each(function(record_F){var tipo=record_F.get('F2');if(tipo=='F'){var dataF=new Date(getDataNascita(record_F.get('F1')));if(dataF1>dataF){returnValue=false;return false;}}},this)},this)
return returnValue;}
function controllaPrimiFigli(){var mxStore=this.store_famiglie.query('F2','F1');var VIEW=this.listaFamiliari.getView();var TOT_MESI_A_CARICO=0;var TOT_MESI_A_CARICO_3ANNI=0;var textError;var returnValue=true;mxStore.each(function(record){TOT_MESI_A_CARICO=TOT_MESI_A_CARICO+parseInt(record.get('F3'));TOT_MESI_A_CARICO_3ANNI=TOT_MESI_A_CARICO_3ANNI+parseInt(record.get('F3_3ANNI'));},this)
if(TOT_MESI_A_CARICO>12){textError='Totale mesi a carico primo figlio superiore a 12';returnValue=false;}
if(TOT_MESI_A_CARICO_3ANNI>12){textError='Totale mesi a carico primo figlio minore di 3 anni superiore a 12';returnValue=false;}
if(!returnValue){mxStore.each(function(rec){if(rec.get('F2')=='F1'){var indiceErrore=this.store_famiglie.indexOf(rec);if(textError)VIEW.setRowError(indiceErrore,textError);}},this)}
return returnValue;}
function controllaImportoBonus(val){if(convertiStrNum(val)>LIMITE_REDDITO_SOGGETTO_A_CARICO){return'Il coniuge a carico non pu'+UNI_O+' percepire un reddito superiore a <b>'+UNI_EURO+' '+LIMITE_REDDITO_SOGGETTO_A_CARICO+'</b>';}else{return true}}
function contaFigli(){var rec=conn.query("select * from familia WHERE F2 != 'C' AND F2 !='A' AND CFISC='"+dichiarazione.getCurrentCfisc()+"' ORDER BY CFISC");var currentCfisc='';var count=0;if(rec.totalRows>0){Ext.each(rec.rows,function(record){var f1=record.F1;if(currentCfisc!=f1){count++;}
currentCfisc=record.F1;},this)}
return count;}

