function calcolo_riep() { li=16;//Lunghezza importi lp=7 ;//Lunghezza percentuali de=2 ;//Decimali ov=0 ;//Onorari a vacazione of=0 ;//Onorari fissi/variabili t1=0 ;//of+ov cu=0 ;//Carico urgenza % iu=0 ;//Incarico urgente cc=0 ;//Carico complessità % ic=0 ;//Incarico complesso t2=0 ;//t1+iu+ic np=0 ;//Numero periti op=0 ;//Onorario pro capite ac=0 ;//Aumento per incarico collegiale t3=0 ;//op+ac //ip=0 ;//CheckBox Riduzione per proroga //rp=0 ;//Riduzione per proroga //t4=0 ;//t3-rp sd=0 ;//Spese documentate oe=0 ;//t3+sd Onorario Euro ol=0 ;//Onorario lire ov=intero_da_stringa(document.vacazioni_output.o_vacazioni_complessivo_euro.value) of=intero_da_stringa(document.form_calcolo_variabili.onorario.value) mostra_calcolo(document.riep.ov,ov,li,de) mostra_calcolo(document.riep.of,of,li,de) t1=of+ov mostra_calcolo(document.riep.t1,t1,li,de) cu=intero_da_stringa(document.riep.cu.value) if (cu<0){cu=0} if (cu>10000){cu=10000} mostra_calcolo(document.riep.cu,cu,lp,de) iu=Math.round(0.2*t1*cu/10000) mostra_calcolo(document.riep.iu,iu,li,de) cc=intero_da_stringa(document.riep.cc.value) if (cc<0){cc=0} if (cc>10000){cc=10000} mostra_calcolo(document.riep.cc,cc,lp,de) ic=Math.round(t1*cc/10000) mostra_calcolo(document.riep.ic,ic,li,de) t2=t1+iu+ic mostra_calcolo(document.riep.t2,t2,li,de) np=intero_da_stringa(document.riep.np.value) if (np<1){np=1} mostra_calcolo(document.riep.np,np,lp,0) op=Math.round(t2/np) mostra_calcolo(document.riep.op,op,li,de) if (np>1){ac=Math.round(0.4*op)} mostra_calcolo(document.riep.ac,ac,li,de) t3=op+ac mostra_calcolo(document.riep.t3,t3,li,de) //ip=document.riep.ip.checked //if (ip){rp=Math.round(t3/4)} //mostra_calcolo(document.riep.rp,rp,li,de) //t4=t3-rp //mostra_calcolo(document.riep.t4,t4,li,de) sd=intero_da_stringa(document.riep.sd.value) oe=t3+sd mostra_calcolo(document.riep.oe,oe,li,de) mostra_lire_da_euro(document.riep.oe,document.riep.ol,li) } function calcolo_vacazioni_1() { document.vacazioni_input.inizio.value=data_normalizzata(document.vacazioni_input.inizio.value,1) document.vacazioni_input.fine.value=data_normalizzata(document.vacazioni_input.fine.value,1) d1=data_normalizzata(document.vacazioni_input.inizio.value,0) d2=data_normalizzata(document.vacazioni_input.fine.value,0) if (d1!=0 && d2!=0) { differenza=Math.floor(((d2-d1)/(1000*24*60*60))) if (differenza<0) { differenza=0 } else { differenza=differenza+1 } } else { differenza=0 } mostra_calcolo(document.vacazioni_output.maxgiorni,differenza,10,0) mostra_calcolo(document.vacazioni_output.maxore,differenza*8,10,0) mostra_calcolo(document.vacazioni_output.maxvacazioni,differenza*4,10,0) calcolo_vacazioni_2() } function calcolo_vacazioni_2() { vacazioni=0 vac_perc=0 vac_prima=0 vac_successive=0 o_vac_prima=0 o_vac_successive=0 o_vacazioni=0 o_vacazioni_lire=0 o_aumento_per_giorni=0 giorni=0 o_vacazioni_complessivo_euro=0 lire_euro=193627 u_vac_prima=intero_da_stringa(document.vacazioni_output.u_vac_prima.value) u_vac_successive=intero_da_stringa(document.vacazioni_output.u_vac_successive.value) vac_perc=intero_da_stringa(document.vacazioni_input.vac_perc.value) maxvacazioni=intero_da_stringa(document.vacazioni_output.maxvacazioni.value) vacazioni=Math.round(vac_perc*maxvacazioni/10000) if (vacazioni>maxvacazioni){vacazioni=maxvacazioni;vac_perc=10000} if (vacazioni<0){vacazioni=0;vac_perc=0} mostra_calcolo(document.vacazioni_input.vac_perc,vac_perc,10,2) mostra_calcolo(document.vacazioni_output.vacazioni,vacazioni,10,0) if (vacazioni>0) {vac_prima=1;vac_successive=vacazioni-1} mostra_calcolo(document.vacazioni_output.vac_prima,vac_prima,10,0) mostra_calcolo(document.vacazioni_output.vac_successive,vac_successive,10,0) o_vac_prima=Math.round(u_vac_prima*vac_prima) mostra_calcolo(document.vacazioni_output.o_vac_prima,o_vac_prima,16,2) o_vac_successive=Math.round(u_vac_successive*vac_successive) mostra_calcolo(document.vacazioni_output.o_vac_successive,o_vac_successive,16,2) o_vacazioni=o_vac_prima+o_vac_successive mostra_calcolo(document.vacazioni_output.o_vacazioni,o_vacazioni,16,2) giorni=intero_da_stringa(document.vacazioni_output.maxgiorni.value) document.vacazioni_output.giorni_inferiori.value="" if (giorni>0 && giorni<=15){o_aumento_per_giorni=math.round(o_vacazioni/2);mostra_calcolo(document.vacazioni_output.giorni_inferiori,15,2,0)} if (giorni>0 && giorni<=5){o_aumento_per_giorni=o_vacazioni;mostra_calcolo(document.vacazioni_output.giorni_inferiori,5,2,0)} mostra_calcolo(document.vacazioni_output.o_aumento_per_giorni,o_aumento_per_giorni,16,2) o_vacazioni_complessivo_euro=o_aumento_per_giorni+o_vacazioni mostra_calcolo(document.vacazioni_output.o_vacazioni_complessivo_euro,o_vacazioni_complessivo_euro,16,2) mostra_lire_da_euro(document.vacazioni_output.o_vacazioni_complessivo_euro,document.vacazioni_output.o_vacazioni_lire,16) calcolo_riep() } function articolo(tabella,descrizione,riduzione,scaglione,aliquota_minima,aliquota_massima,onorario_minimo,onorario_massimo) { this.tabella = tabella this.descrizione = descrizione this.riduzione = riduzione this.scaglione = scaglione this.aliquota_minima = aliquota_minima this.aliquota_massima = aliquota_massima this.onorario_minimo = onorario_minimo this.onorario_massimo = onorario_massimo } function crea_tabella(art) { tabella = 'Art.2' if (art==tabella){ descrizione = stringa_da_hex('506572206C6120706572697A6961206F206C6120636F6E73756C656E7A61207465636E69636120696E206D61746572696120616D6D696E6973747261746976612C20636F6E746162696C6520652066697363616C652C2073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F20612070657263656E7475616C652063616C636F6C61746F2070657220736361676C696F6E692E200A0A452720696E206F676E69206361736F20646F7675746F20756E20636F6D70656E736F206E6F6E20696E666572696F72652061204575726F203134352C31322E') scaglione = new Array(516457,1032914,2582284,5164569,10329138,25822845,51645690) minima = new Array(46896,37580,28106,23527,18790,9316,4737) massima = new Array(93951,75160,56370,46896,37580,18790,9474) riduzione = '0' minimo = 14512 massimo = 14512 usare = new articolo(tabella,descrizione,riduzione,scaglione,minima,massima,minimo,massimo) return usare} tabella = 'Art.3' if (art==tabella){ descrizione = stringa_da_hex('506572206C6120706572697A6961206F206C6120636F6E73756C656E7A61207465636E69636120696E206D6174657269612064692076616C7574617A696F6E6520646920617A69656E64652C20656E74692070617472696D6F6E69616C692C2073697475617A696F6E6920617A69656E64616C692C2070617472696D6F6E692C2061767669616D656E746F2C20646972697474692061207469746F6C6F20646920726973617263696D656E746F2064692064616E6E692C206469726974746920617A69656E64616C69206520696E647573747269616C69206E6F6E636865272072656C617469766920612062656E69206D6F62696C6920696E2067656E6572652C2073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F2064657465726D696E61746F2061692073656E73692064656C6C2761727469636F6C6F20707265636564656E746520284172742E2032292065207269646F74746F20616C6C61206D657461272E200A0A452720696E206F676E69206361736F20646F7675746F20756E20636F6D70656E736F206E6F6E20696E666572696F72652061204575726F203134352C31322E') scaglione = new Array(516457,1032914,2582284,5164569,10329138,25822845,51645690) minima = new Array(46896,37580,28106,23527,18790,9316,4737) massima = new Array(93951,75160,56370,46896,37580,18790,9474) riduzione = '1/2' minimo = 14512 massimo = 14512 usare = new articolo(tabella,descrizione,riduzione,scaglione,minima,massima,minimo,massimo) return usare} tabella = 'Art.5' if (art==tabella){ descrizione = stringa_da_hex('53616C766F207175616E746F20707265766973746F206E656C6C2761727469636F6C6F20707265636564656E746520284172742E20342920706572206C6120706572697A6961206F206C6120636F6E73756C656E7A61207465636E69636120696E206D61746572696120646920696E76656E746172692C2072656E6469636F6E746920652073697475617A696F6E6920636F6E746162696C692073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F206461204575726F203134352C31322061204575726F203937302C34322E0A4E4F54413A20496C206D696E696D6F20656420696C206D617373696D6F2064656C6C276F6E6F726172696F20736F6E6F20666973736920656420696E646970656E64656E74692064616C2076616C6F72652E20') scaglione = new Array() minima = new Array() massima = new Array() riduzione = '0' minimo = 14512 massimo = 97042 usare = new articolo(tabella,descrizione,riduzione,scaglione,minima,massima,minimo,massimo) return usare} tabella = 'Art.6 - Applicazione 1° comma' if (art==tabella){ descrizione = stringa_da_hex('506572206C6120706572697A6961206F206C6120636F6E73756C656E7A61207465636E69636120696E206D6174657269612064692061766172696520636F6D756E692073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F20612070657263656E7475616C652063616C636F6C61746F2070657220736361676C696F6E692073756C6C27616D6D6F6E7461726520636F6D706C65737369766F2064656C6C6120736F6D6D6120616D6D657373612E20452720696E206F676E69206361736F20646F7675746F20756E20636F6D70656E736F206E6F6E20696E666572696F72652061204575726F203134352C31322E0A0A506572206C6120706572697A6961206F206C6120636F6E73756C656E7A61207465636E69636120696E206D61746572696120646920617661726965207061727469636F6C6172692073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F20612070657263656E7475616C652063616C636F6C61746F2070657220736361676C696F6E692073756C6C27616D6D6F6E7461726520636F6D706C65737369766F2064656C6C6120736F6D6D61206C69717569646174612E20452720696E206F676E69206361736F20646F7675746F20756E20636F6D70656E736F206E6F6E20696E666572696F72652061204575726F203134352C31322E') scaglione = new Array(309874,516457,1032914,2582284,5164569,10329138,25822845,51645690) minima = new Array(46896,37580,32843,28106,18790,14053,7042,2353) massima = new Array(93951,75160,65686,56370,37580,28106,14085,4705) riduzione = '0' minimo = 14512 massimo = 14512 usare = new articolo(tabella,descrizione,riduzione,scaglione,minima,massima,minimo,massimo) return usare} tabella = 'Art.6 - Applicazione 2° comma' if (art==tabella){ descrizione = stringa_da_hex('506572206C6120706572697A6961206F206C6120636F6E73756C656E7A61207465636E69636120696E206D6174657269612064692061766172696520636F6D756E692073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F20612070657263656E7475616C652063616C636F6C61746F2070657220736361676C696F6E692073756C6C27616D6D6F6E7461726520636F6D706C65737369766F2064656C6C6120736F6D6D6120616D6D657373612E20452720696E206F676E69206361736F20646F7675746F20756E20636F6D70656E736F206E6F6E20696E666572696F72652061204575726F203134352C31322E0A0A506572206C6120706572697A6961206F206C6120636F6E73756C656E7A61207465636E69636120696E206D61746572696120646920617661726965207061727469636F6C6172692073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F20612070657263656E7475616C652063616C636F6C61746F2070657220736361676C696F6E692073756C6C27616D6D6F6E7461726520636F6D706C65737369766F2064656C6C6120736F6D6D61206C69717569646174612E20452720696E206F676E69206361736F20646F7675746F20756E20636F6D70656E736F206E6F6E20696E666572696F72652061204575726F203134352C31322E') scaglione = new Array(309874,516457,1549371,3098741,5164569,10329138) minima = new Array(32843,28106,14053,7042,4737,2353) massima = new Array(65686,56370,28106,14085,9474,4705) riduzione = '0' minimo = 14512 massimo = 14512 usare = new articolo(tabella,descrizione,riduzione,scaglione,minima,massima,minimo,massimo) return usare} tabella = 'Art.7 - Applicazione 1° comma' if (art==tabella){ descrizione = stringa_da_hex('506572206C6120706572697A6961206F206C6120636F6E73756C656E7A61207465636E696361206573706C657461746120636F6E206D65746F646F2061747475617269616C6520696E206D617465726961206469207269636F737472757A696F6E6520646920706F73697A696F6E69207265747269627574697665206F20707265766964656E7A69616C692C2064692070726573746974692C206469206E7564652070726F707269657461272065207573756672757474692C20646920616D6D6F7274616D656E74692066696E616E7A696172692C206469206164656775616D656E746F20616C20636F73746F2064656C6C612076697461206520726976616C7574617A696F6E65206D6F6E6574617269612C2073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F206461204575726F203134352C3132202061204575726F203438342C39352E0A0A506572206C6120706572697A6961206F206C6120636F6E73756C656E7A61207465636E69636120696E206D6174657269612064692076657269666963612064692062617369207465636E696368652064692067657374696F6E6920707265766964656E7A69616C69206520617373697374656E7A69616C692C2064692072697365727665206D6174656D61746963686520696E646976696475616C6920652076616C6F726920646920726973636174746F20646920616E7A69616E69746127207072656772657373612061692066696E692064656C207472617474616D656E746F20646920707265766964656E7A61206520717569657363656E7A612C2073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F206461204575726F203139332C36372061204575726F203538322C30352E200A4E4F54413A20496C206D696E696D6F20656420696C206D617373696D6F2064656C6C276F6E6F726172696F20736F6E6F20666973736920656420696E646970656E64656E74692064616C2076616C6F72652E') scaglione = new Array() minima = new Array() massima = new Array() riduzione = '0' minimo = 14512 massimo = 48495 usare = new articolo(tabella,descrizione,riduzione,scaglione,minima,massima,minimo,massimo) return usare} tabella = 'Art.11' if (art==tabella){ descrizione = stringa_da_hex('506572206C6120706572697A6961206F206C6120636F6E73756C656E7A61207465636E69636120696E206D61746572696120646920636F737472757A696F6E69206564696C697A69652C20696D7069616E746920696E647573747269616C6920696D7069616E74692064692073657276697A692067656E6572616C692C20696D7069616E746920656C657474726963692C206D61636368696E652069736F6C6174652065206C6F726F2070617274692C20666572726F7669652C2073747261646520652063616E616C692C206F706572652069647261756C696368652C206163717565646F747469206520666F676E61747572652C20706F6E74692C206D616E7566617474692069736F6C617469206520737472757474757265207370656369616C692C2070726F676574746920646920626F6E6966696361206167726172696120652073696D696C692C2073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F20612070657263656E7475616C652063616C636F6C61746F2070657220736361676C696F6E692E0A0A452720696E206F676E69206361736F20646F7675746F20756E20636F6D70656E736F206E6F6E20696E666572696F72652061204575726F203134352C31322E') scaglione = new Array(516457,1032914,2582284,5164569,10329138,25822845,51645690) minima = new Array(65686,46896,37580,28106,18790,9316,2353) massima = new Array(131531,93951,75160,56370,37580,18790,4705) riduzione = '0' minimo = 14512 massimo = 14512 usare = new articolo(tabella,descrizione,riduzione,scaglione,minima,massima,minimo,massimo) return usare} tabella = 'Art.12' if (art==tabella){ descrizione = stringa_da_hex('506572206C6120706572697A6961206F206C6120636F6E73756C656E7A61207465636E69636120696E206D61746572696120646920766572696669636120646920726973706F6E64656E7A61207465636E69636120616C6C6520707265736372697A696F6E692064692070726F676574746F20652F6F20646920636F6E74726174746F2C2063617069746F6C6174692065206E6F726D652C20646920636F6C6C6175646F206469206C61766F7269206520666F726E69747572652C206469206D6973757261206520636F6E746162696C69746127206469206C61766F72692C20646920616767696F726E616D656E746F2065207265766973696F6E6520646569207072657A7A692C2073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F20646120756E206D696E696D6F206469204575726F203134352C313220616420756E206D617373696D6F206469204575726F203937302C34322E0A0A506572206C6120706572697A6961206F20636F6E73756C656E7A61207465636E69636120696E206D6174657269612064692072696C6965766920746F706F677261666963692C20706C616E696D657472696369206520616C74696D6574726963692C20636F6D7072657369206C6520747269616E676F6C617A696F6E69206520706F6C69676F6E617A696F6E652C206C61206D69737572612064656920666F6E646920727573746963692C20692072696C69657669206469207374726164652C2063616E616C692C20666162627269636174692C2063656E74726920616269746174692065206172656520666162627269636162696C692073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F206D696E696D6F206469204575726F203134352C313220616420756E206D617373696D6F206469204575726F203937302C34322E0A4E4F54413A20496C206D696E696D6F20656420696C206D617373696D6F2064656C6C276F6E6F726172696F20736F6E6F20666973736920656420696E646970656E64656E74692064616C2076616C6F72652E') scaglione = new Array() minima = new Array() massima = new Array() riduzione = '0' minimo = 14512 massimo = 97042 usare = new articolo(tabella,descrizione,riduzione,scaglione,minima,massima,minimo,massimo) return usare} tabella = 'Art.13 - Applicazione 1° comma' if (art==tabella){ descrizione = stringa_da_hex('506572206C6120706572697A6961206F206C6120636F6E73756C656E7A61207465636E69636120696E206D61746572696120646920657374696D6F2073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F20612070657263656E7475616C652063616C636F6C61746F2070657220736361676C696F6E692073756C6C27696D706F72746F207374696D61746F2E0A0A4E656C206361736F206469207374696D6120736F6D6D617269612073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F2064657465726D696E61746F2061692073656E73692064656C20636F6D6D6120707265636564656E74652065207269646F74746F20616C6C61206D657461272E0A0A4E656C206361736F2064692073656D706C6963652067697564697A696F206469207374696D61206C6F2073746573736F206527207269646F74746F20646920647565207465727A692E0A0A452720696E206F676E69206361736F20646F7675746F20756E20636F6D70656E736F206E6F6E20696E666572696F72652061204575726F203134352C31322E') scaglione = new Array(516457,1032914,2582284,5164569,10329138,25822845,51645690) minima = new Array(10264,9316,8369,5684,3790,2842,474) massima = new Array(20685,18790,16895,11211,7579,5684,947) riduzione = '0' minimo = 14512 massimo = 14512 usare = new articolo(tabella,descrizione,riduzione,scaglione,minima,massima,minimo,massimo) return usare} tabella = 'Art.13 - Applicazione 2° comma' if (art==tabella){ descrizione = stringa_da_hex('506572206C6120706572697A6961206F206C6120636F6E73756C656E7A61207465636E69636120696E206D61746572696120646920657374696D6F2073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F20612070657263656E7475616C652063616C636F6C61746F2070657220736361676C696F6E692073756C6C27696D706F72746F207374696D61746F2E0A0A4E656C206361736F206469207374696D6120736F6D6D617269612073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F2064657465726D696E61746F2061692073656E73692064656C20636F6D6D6120707265636564656E74652065207269646F74746F20616C6C61206D657461272E0A0A4E656C206361736F2064692073656D706C6963652067697564697A696F206469207374696D61206C6F2073746573736F206527207269646F74746F20646920647565207465727A692E0A0A452720696E206F676E69206361736F20646F7675746F20756E20636F6D70656E736F206E6F6E20696E666572696F72652061204575726F203134352C31322E') scaglione = new Array(516457,1032914,2582284,5164569,10329138,25822845,51645690) minima = new Array(10264,9316,8369,5684,3790,2842,474) massima = new Array(20685,18790,16895,11211,7579,5684,947) riduzione = '1/2' minimo = 14512 massimo = 14512 usare = new articolo(tabella,descrizione,riduzione,scaglione,minima,massima,minimo,massimo) return usare} tabella = 'Art.13 - Applicazione 3° comma' if (art==tabella){ descrizione = stringa_da_hex('506572206C6120706572697A6961206F206C6120636F6E73756C656E7A61207465636E69636120696E206D61746572696120646920657374696D6F2073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F20612070657263656E7475616C652063616C636F6C61746F2070657220736361676C696F6E692073756C6C27696D706F72746F207374696D61746F2E0A0A4E656C206361736F206469207374696D6120736F6D6D617269612073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F2064657465726D696E61746F2061692073656E73692064656C20636F6D6D6120707265636564656E74652065207269646F74746F20616C6C61206D657461272E0A0A4E656C206361736F2064692073656D706C6963652067697564697A696F206469207374696D61206C6F2073746573736F206527207269646F74746F20646920647565207465727A692E0A0A452720696E206F676E69206361736F20646F7675746F20756E20636F6D70656E736F206E6F6E20696E666572696F72652061204575726F203134352C31322E') scaglione = new Array(516457,1032914,2582284,5164569,10329138,25822845,51645690) minima = new Array(10264,9316,8369,5684,3790,2842,474) massima = new Array(20685,18790,16895,11211,7579,5684,947) riduzione = '2/3' minimo = 14512 massimo = 14512 usare = new articolo(tabella,descrizione,riduzione,scaglione,minima,massima,minimo,massimo) return usare} tabella = 'Art.14' if (art==tabella){ descrizione = stringa_da_hex('506572206C6120706572697A6961206F206C6120636F6E73756C656E7A6120696E206D61746572696120646920636176652065206D696E696572652C206D696E6572616C692C20736F7374616E7A6520736F6C6964652C206C697175696465206520676173736F73652073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F20612070657263656E7475616C652063616C636F6C61746F2070657220736361676C696F6E692073756C6C27696D706F72746F207374696D61746F2E0A0A452720696E206F676E69206361736F20646F7675746F20756E20636F6D70656E736F206E6F6E20696E666572696F72652061204575726F203134352C31322E') scaglione = new Array(516457,1032914,2582284,5164569,10329138,25822845,51645690) minima = new Array(14053,9316,4737,2842,1879,932,474) massima = new Array(28106,18790,9474,5684,3758,1879,947) riduzione = '0' minimo = 14512 massimo = 14512 usare = new articolo(tabella,descrizione,riduzione,scaglione,minima,massima,minimo,massimo) return usare} tabella = 'Art.15 - Applicazione 1° comma' if (art==tabella){ descrizione = stringa_da_hex('506572206C6120706572697A6961206F206C6120636F6E73756C656E7A61207465636E69636120696E206D6174657269612064692076616C7574617A696F6E652C207269706172617A696F6E6520652074726173666F726D617A696F6E652064692061657265692C206E617669206520696D62617263617A696F6E69206520696E207175656C6C612064692073616C766174616767696F20652072656375706572692073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F2064657465726D696E61746F2061692073656E73692064656C6C276172742E2031312065207269646F74746F20616C6C61206D657461272E0A0A496E206D6174657269612064692076616C7574617A696F6E652064692064616E6E69206C276F6E6F726172696F20636F6D6520696E6E616E7A692064657465726D696E61746F20652720756C746572696F726D656E7465207269646F74746F20616C6C61206D657461272E200A0A452720696E206F676E69206361736F20646F7675746F20756E20636F6D70656E736F206E6F6E20696E666572696F72652061204575726F2039362C35382E20') scaglione = new Array(516457,1032914,2582284,5164569,10329138,25822845,51645690) minima = new Array(65686,46896,37580,28106,18790,9316,2353) massima = new Array(131531,93951,75160,56370,37580,18790,4705) riduzione = '1/2' minimo = 9658 massimo = 9658 usare = new articolo(tabella,descrizione,riduzione,scaglione,minima,massima,minimo,massimo) return usare} tabella = 'Art.15 - Applicazione 2° comma' if (art==tabella){ descrizione = stringa_da_hex('506572206C6120706572697A6961206F206C6120636F6E73756C656E7A61207465636E69636120696E206D6174657269612064692076616C7574617A696F6E652C207269706172617A696F6E6520652074726173666F726D617A696F6E652064692061657265692C206E617669206520696D62617263617A696F6E69206520696E207175656C6C612064692073616C766174616767696F20652072656375706572692073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F2064657465726D696E61746F2061692073656E73692064656C6C276172742E2031312065207269646F74746F20616C6C61206D657461272E0A0A496E206D6174657269612064692076616C7574617A696F6E652064692064616E6E69206C276F6E6F726172696F20636F6D6520696E6E616E7A692064657465726D696E61746F20652720756C746572696F726D656E7465207269646F74746F20616C6C61206D657461272E200A0A452720696E206F676E69206361736F20646F7675746F20756E20636F6D70656E736F206E6F6E20696E666572696F72652061204575726F2039362C35382E20') scaglione = new Array(516457,1032914,2582284,5164569,10329138,25822845,51645690) minima = new Array(65686,46896,37580,28106,18790,9316,2353) massima = new Array(131531,93951,75160,56370,37580,18790,4705) riduzione = '3/4' minimo = 9658 massimo = 9658 usare = new articolo(tabella,descrizione,riduzione,scaglione,minima,massima,minimo,massimo) return usare} tabella = 'Art.16' if (art==tabella){ descrizione = stringa_da_hex('506572206C6120706572697A6961206F206C6120636F6E73756C656E7A61207465636E69636120696E206D6174657269612064692066756E7A696F6E6920636F6E746162696C6920616D6D696E697374726174697665206469206361736520652062656E6920727573746963692C206469206375726174656C6520646920617A69656E646520616772617269652C206469206571756F2063616E6F6E652C20646920666974746F20646920666F6E646920757262616E69206520727573746963692C20646920726564617A696F6E65206469207374696D61206465692064616E6E6920646120696E63656E64696F2065206772616E64696E652C20646920746162656C6C65206D696C6C6573696D616C692065207269706172746F20646920737065736520636F6E646F6D696E69616C692073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F20646120756E206D696E696D6F206469204575726F203134352C313220616420756E206D617373696D6F206469204575726F203937302C34322E0A4E4F54413A20496C206D696E696D6F20656420696C206D617373696D6F2064656C6C276F6E6F726172696F20736F6E6F20666973736920656420696E646970656E64656E74692064616C2076616C6F72652E0A') scaglione = new Array() minima = new Array() massima = new Array() riduzione = '0' minimo = 14512 massimo = 97042 usare = new articolo(tabella,descrizione,riduzione,scaglione,minima,massima,minimo,massimo) return usare} tabella = 'Art.17' if (art==tabella){ descrizione = stringa_da_hex('506572206C6120636F6E73756C656E7A61207465636E69636120696E206D61746572696120646920696E666F7274756E6973746963612064656C20747261666669636F20652064656C6C6120636972636F6C617A696F6E652073706574746120616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F20612070657263656E7475616C652063616C636F6C61746F2070657220736361676C696F6E692E200A0A452720696E206F676E69206361736F20646F7675746F20756E20636F6D70656E736F206E6F6E20696E666572696F72652061204575726F2033382C37332E0A0A496C2076616C6F72652065272064657465726D696E61746F20696E206261736520616C6C27656E74697461272064656C2064616E6E6F20636167696F6E61746F20616C6C6120636F73612E204E656C206361736F206469207069752720636F73652064616E6E6567676961746520736920686120726967756172646F20616C2064616E6E6F206469206D616767696F726520656E74697461272E200A0A506572206C6120706572697A6961206E656C6C61206D6174657269612064692063756920616C207072696D6F20636F6D6D61206C276F6E6F726172696F20652720636F6D6D6973757261746F20616C2074656D706F20726974656E75746F206E65636573736172696F20616C6C6F2073766F6C67696D656E746F2064656C6C27696E63617269636F2065642065272064657465726D696E61746F20696E206261736520616C6C6520766163617A696F6E692E20') scaglione = new Array(25823,51646,258228,2582284,5164569) minima = new Array(75160,56370,37580,14053,9316) massima = new Array(150321,112741,75160,28106,18790) riduzione = '0' minimo = 3873 massimo = 3873 usare = new articolo(tabella,descrizione,riduzione,scaglione,minima,massima,minimo,massimo) return usare} tabella = 'Art.19' if (art==tabella){ descrizione = stringa_da_hex('506572206C6120706572697A6961206F206C6120636F6E73756C656E7A61207465636E69636120696E206D6174657269612064692067656F6D6F72666F6C6F676961206170706C69636174612C206964726F67656F6C6F6769612C2067656F6C6F676961206170706C696361746120652073746162696C69746127206465692070656E6469692073706574746120616C2070657269746F206F20616C20636F6E73756C656E7465207465636E69636F20756E206F6E6F726172696F20646120756E206D696E696D6F206469204575726F203234312C373020616420756E206D617373696D6F206469204575726F20342E3835322C31312E0A4E4F54413A20496C206D696E696D6F20656420696C206D617373696D6F2064656C6C276F6E6F726172696F20736F6E6F20666973736920656420696E646970656E64656E74692064616C2076616C6F72652E') scaglione = new Array() minima = new Array() massima = new Array() riduzione = '0' minimo = 24170 massimo = 485211 usare = new articolo(tabella,descrizione,riduzione,scaglione,minima,massima,minimo,massimo) return usare} tabella = '' descrizione = '' scaglione = new Array() riduzione = '' minima = new Array() massima = new Array() minimo = 0 massimo = 0 usare = new articolo(tabella,tabella+' '+descrizione,riduzione,scaglione,minima,massima,minimo,massimo) return usare } function calcolo_variabili() { //------------------------ Parametri e Inizializzazioni limpo=16 lono=10 dimpo=2 lal=9 dal=4 j=1 totale_scaglionato=0 totale_onorario_minimo=0 totale_onorario_massimo=0 cum=0 //------------------------ Variabili di input tabe=crea_tabella(document.form_input_variabili.articolo[document.form_input_variabili.articolo.selectedIndex].value) valore=intero_da_stringa(document.form_input_variabili.valore.value) carico_onorario=intero_da_stringa(document.form_input_variabili.carico_onorario.value) if (carico_onorario<0){carico_onorario=0} if (carico_onorario>10000){carico_onorario=10000} mostra_calcolo(document.form_input_variabili.carico_onorario,carico_onorario,7,2) //------------------------ azzeramento tabella for (var i = 0; i0) { //------------------------ calcolo e visalizzazione tabella //=SE(C$1>B4;B4-B3;SE(C$1>B3;C$1-B3;0)) prec=0 for (var i = 0; itabe.scaglione[i]) { x=tabe.scaglione[i]-prec } else { if(valore>prec) { x=valore-prec } } prec=tabe.scaglione[i] a="" b="" c="" d="" e="" if (x>0) { a=x b=tabe.aliquota_minima[i] c=tabe.aliquota_massima[i] d=Math.round(x*b/1000000) e=Math.round(x*c/1000000) totale_scaglionato=totale_scaglionato+a totale_onorario_minimo=totale_onorario_minimo+d totale_onorario_massimo=totale_onorario_massimo+e //document.form_calcolo_variabili.elements[j+0].value=j+0 //document.form_calcolo_variabili.elements[j+1].value=j+1 //document.form_calcolo_variabili.elements[j+2].value=j+2 //document.form_calcolo_variabili.elements[j+3].value=j+3 //document.form_calcolo_variabili.elements[j+4].value=j+4 //document.form_calcolo_variabili.elements[j+5].value=j+5 mostra_calcolo(document.form_calcolo_variabili.elements[j+1],a,limpo,dimpo) mostra_calcolo(document.form_calcolo_variabili.elements[j+2],b,lal,dal) mostra_calcolo(document.form_calcolo_variabili.elements[j+3],c,lal,dal) mostra_calcolo(document.form_calcolo_variabili.elements[j+4],d,lono,dimpo) mostra_calcolo(document.form_calcolo_variabili.elements[j+5],e,lono,dimpo) } mostra_calcolo(document.form_calcolo_variabili.elements[j+0],prec,lono+1,dimpo) j=j+6 } //------------------------ calcolo e visualizzazione fuori limite e totale totale_non_scaglionato=valore-totale_scaglionato document.form_calcolo_variabili.elements[j+0].value=" Oltre" if (totale_non_scaglionato>0) { mostra_calcolo(document.form_calcolo_variabili.elements[j+1],totale_non_scaglionato,limpo,dimpo) mostra_calcolo(document.form_calcolo_variabili.elements[j+2],0,lal,dal) mostra_calcolo(document.form_calcolo_variabili.elements[j+3],0,lal,dal) mostra_calcolo(document.form_calcolo_variabili.elements[j+4],0,lono,dimpo) mostra_calcolo(document.form_calcolo_variabili.elements[j+5],0,lono,dimpo) } mostra_calcolo(document.form_calcolo_variabili.totale,valore,limpo,dimpo) } else { totale_onorario_minimo=tabe.onorario_minimo totale_onorario_massimo=tabe.onorario_massimo } //------------------------ calcolo e visualizzazione onorari minimo e massimo mostra_calcolo(document.form_calcolo_variabili.totale_onorario_minimo,totale_onorario_minimo,lono,dimpo) mostra_calcolo(document.form_calcolo_variabili.totale_onorario_massimo,totale_onorario_massimo,lono,dimpo) //------------------------ riduzione riduzione_stringa=tabe.riduzione riduzione=eval(riduzione_stringa) document.form_calcolo_variabili.riduzione.value=allinea_centro(riduzione_stringa,lal) onorario_ridotto_minimo=totale_onorario_minimo-Math.round(riduzione*totale_onorario_minimo) onorario_ridotto_massimo=totale_onorario_massimo-Math.round(riduzione*totale_onorario_massimo) mostra_calcolo(document.form_calcolo_variabili.onorario_ridotto_minimo,onorario_ridotto_minimo,lono,dimpo) mostra_calcolo(document.form_calcolo_variabili.onorario_ridotto_massimo,onorario_ridotto_massimo,lono,dimpo) //------------------------ onorario onorario=Math.round(carico_onorario*(onorario_ridotto_massimo-onorario_ridotto_minimo)/10000)+onorario_ridotto_minimo if (onorario0){onorario = 0} document.form_calcolo_variabili.onorario.value=allinea_centro(rstringa_numerica(stringa_da_intero(onorario,2),2),20) document.form_calcolo_variabili.onorario_lire.value=allinea_centro(rstringa_numerica(stringa_da_intero(Math.round(19.3627*onorario),0),0),20) calcolo_riep() }