                function showNeighbour(){
                        $('basicTaxSearch').style['display'] = "none";
                        $('neighbourTaxSearch').style['display'] = "block";

                        $('spanTaxNeighbour').className = 'marked';
                        $('spanTaxBasic').className = 'unmarked';
                        $('taxSearchMenuUl').className = 'fane2';
                }

                function showBasic(){
                        $('neighbourTaxSearch').style['display'] = "none";
                        $('basicTaxSearch').style['display'] = "block";

                        $('spanTaxNeighbour').className = 'unmarked';
                        $('spanTaxBasic').className = 'marked';
                        $('taxSearchMenuUl').className = 'fane1';
                }

                function submitSearch(form){
                        $(form).submit();
                }
                function showTaxDetails(i){

                        $$('#taxSearchData .taxDetailBoxes').each(function(item){ Element.hide(item); });
                        $$('#taxSearchData .odd').each(function(item){  item.addClassName('normalTaxLine');});
                        $$('#taxSearchData .odd').each(function(item){  item.removeClassName('markedTaxLine');});
                        $('taxMoreDetails_'+i).show();
                        $('taxPersonRow_'+i).addClassName("markedTaxLine");

                        /*
                                                Max                Min

                                Firmabil        0                  300000
                                Boliggjeld      1500000            500000
                                Boligverdi      5000000            800000

                                Personen i ?høy? vil eie sin egen bil og dermed ikke ha noe tillegg i lønnen Han vil ha lav gjeld og en dyr bolig.
                                Person ?Lav? vil ha firmabil og relativt lav gjeld, men heller ikke så verdifull bolig.
                        */

                maxIncome = smallCalculate(i,0, 1500000, 5000000);
                minIncome = smallCalculate(i,300000, 500000, 800000);

                storedIncome = $('inRead2_'+i).innerHTML;

                checkLowestPercent = minIncome * 1.05;
                checkHighestPercent = maxIncome * 1.05;

                highestEstimated = maxIncome * 1.20;
                lowestEstimated = minIncome * 0.80;

                if(maxIncome == minIncome){
                        $('showEstimatedIncome_'+i).hide();
                        $('taxInfo_'+i).hide();

                }
                else if( (checkLowestPercent >= storedIncome) && (checkHighestPercent <= storedIncome) ){
                        $('showEstimatedIncome_'+i).hide();
                }
                else if( maxIncome < lowestEstimated ){
                        $('showEstimatedIncome_'+i).hide();
                }
                else if( minIncome > highestEstimated ){
                        $('showEstimatedIncome_'+i).hide();
                }
                /*else if( minIncome > lowestEstimated){
                        $('minIncome_'+i).innerHTML = lowestEstimated;
                        $('maxIncome_'+i).innerHTML = storedIncome;
                }
                else if( maxIncome < highestEstimated){
                        $('minIncome_'+i).innerHTML = storedIncome;
                        $('maxIncome_'+i).innerHTML = highestEstimated;
                }*/
                else{
                        $('minIncome_'+i).innerHTML = minIncome;
                        $('maxIncome_'+i).innerHTML = maxIncome;
                }

                }
                function showTaxCalk(i){

                        $('taxInfo_'+i).hide();
                        $('taxCalc_'+i).show();
//                        alert($('inRead1_'+i).innerHTML);
//                        alert($('inRead2_'+i).innerHTML);
//                        alert($('inRead3_'+i).innerHTML);
                        $('inRead1').value = $('inRead1_'+i).innerHTML;
                        $('inRead2').value = $('inRead2_'+i).innerHTML;
                        $('inRead3').value = $('inRead3_'+i).innerHTML;
                        $('nysgjerrigper_'+i).innerHTML = $('nysgjerrigperCont').innerHTML;


                }
                function hideTaxCalk(i){
                        $('taxCalc_'+i).hide();
                        $('taxInfo_'+i).show();
                }

                /*Laget av Jon Erland Madsen for DinSide. På tross av at den er skrevet i åpen kode, er kalkulatoren et åndsverk som ikke kan kopieres
                uten tillatelse fra DinSide. */

                var led,minstefradrag2004,klassefradrag2004;
                led=true;

                /***************************************** GLOBALE VARIABLER OPPDATERES ÅRLIG: ********************************************************************/

                var aar=2009;                                                // Årstall kalkulatorens beregninger gjelder for.
                var sist_oppdatert="19. oktober 2010";                        // Brukes i presentasjonen, så brukeren vet at data er ferske
                var nettoskattesats=0.28;                                // Skattesats for skatt på alminnelig inntekt - desimalbrøk
                var trygdeavgift_kronegulv=39600;                        // Trygdeavgiften beregnes ikke av brutto lønn som ligger under dette beløpet
                var reisefradrag_gulvbelop=13700;                        // Det er uansett bare reiseutgifter høyere enn dette beløpet som trekkes fra.
                var egenbolig_hoygrense=1000000000;                        // Ligningsverdi av boligen over dette beløpet skal multipliseres med 'egenbolig_hoysats' og legges til nettoinntekten
                var egenbolig_lavgrense=1000000000;                        // Ligningsverdi av boligen over dette beløpet skal multipliseres med 'egenbolig_lavsats' og legges til nettoinntekten
                var egenbolig_lavsats=0;                                // Ligningsverdi av boligen over 'egenbolig_lavgrense' skal multipliseres med denne satsen og legges til nettoinntekten
                var egenbolig_hoysats=0;                                // Ligningsverdi av boligen over 'egenbolig_høygrense' skal multipliseres med denne satsen og legges til nettoinntekten
                var minstefradrag_prosent=0.36;                                // Satsen for minstefradrag som desimalbrøk
                //var minstefradrag_maksbelop=63800;                        // Minstefradraget kan ikke utgjøre mer enn dette beløpet.
                var minstefradrag_maksbelop=72800;                        // Minstefradraget kan ikke utgjøre mer enn dette beløpet.
                var minstefradrag_minbelop=31800;                        // Det kan gjøres et minstefradrag på minst dette beløpet i lønnsinntekter.
                var bsu_sats=0.2;                                        // Det gis direkte fradrag i skatten med en andel av beløpet som spares i BSU-ordningen. Prosensatsen - som desimalbrøk - vises her
                var bsu_maksbelop=20000;                                // Det maksimale sparebeløp under BSU-ordningen det kan gis skattefradrag for hvert år. Maksimalt skattefradrag er 'bsu_sats' x 'bsu_maksbelop'
                var toppskattgrense_kl1=456400;                                // Toppskattgrense i skatteklasse 1
                var toppskattgrense_kl2=741700;                                // Toppskattgrense i skatteklasse 2
                //var toppskattgrense_kakse=650000;                        // Grensen for særlig høy toppskatt, den såkalte "kakseskatten"
                var toppskattsats_lav=0.09;                                // Skattesatsen for vanlig toppskatt, som desimalbrøk
                var toppskattsats_kakse=0.12;                                // Skattesatsen for særlig høy toppskatt - "kakseskatt" - som tillegg til vanlig toppskatt - desimalbrøk
                var trygdeavgift_sats=0.078;                                // Skattesats for trygdeavgiften som desimalbrøk
                //var barnepass_maksgrense=40000;                                // Grense for hvor mye dokumenterte utgifter som kan trekkes fra alminnelig inntekt for pass av barn, uansett hvor mange du har.
                var barnepass_ettbarn=25000;                                // Grense for hvor mye dokumenterte utgifter som kan trekkes fra alminnelig inntekt for pass av ett barn.
                var barnepass_tillegg_pr_barn=15000;                    // Tillegg per barn utover det første 
                var formue_kommunegrense=470000;                        // Grensen for når det skal betales kommunal formueskatt
                var formue_kommunesats=0.007;                                // Satsen for kommunal formueskatt - desimalbrøk
                var formue_lavgrense_kl1=470000;                        // Grense for hvor den laveste satsen i formueskatten til staten slår inn i klasse 1
                var formue_hoygrense_kl1=700000;                        // Grense for hvor den høyeste satsen i formueskatten til staten slår inn i klasse 1
                var formue_lavgrense_kl2=470000;                        // Grense for hvor den laveste satsen i formueskatten til staten slår inn i klasse 2
                var formue_hoygrense_kl2=700000;                        // Grense for hvor den høyeste satsen i formueskatten til staten slår inn i klasse 2
                var formue_lavsats=0.007;                                // Den lave satsen for formueskatt til staten - desimalbrøk
                var formue_hoysats=0.004;                                  // Den høye satsen for formueskatt til staten - desimalbrøk
                //var personfradrag_kl1=37000;                                // Er du i skatteklasse 1 får du dette personfradraget
                var personfradrag_kl1=42210;                                // Er du i skatteklasse 1 får du dette personfradraget
                //var personfradrag_kl2=74000;                                // Er du i skatteklasse 2, får du dette personfradraget
                var personfradrag_kl2=84420;                                // Er du i skatteklasse 2, får du dette personfradraget
                var firmabil_verdigrense=261600;                        // Grensen for når prosentsatsen for øvre verdidel av firmabil skal benyttes som inntektstillegg
                var firmabil_lavsats=0.3;                               // Inntektstillegget for nedre verdidel av firmabil  - desimalbrøk
                var firmabil_hoysats=0.2;                                // Inntektstillegget for øvre verdidel av firmabil  - desimalbrøk
                var firmabil_gmlsats=0.75;                                // Den multiplikatoren som gjelder for gammel bil
                var firmabil_yrkessats=0.75;                                // Den multiplikatoren som gjelder for elbil og yrkeskjøring over en viss grense
                var firmabil_yrkesgrense=40000;                                // Den kilometergrensen for yrkeskjøring med firmabil som utløser lavere skatt

                var trygdeavgift_prosentgulv=0.25;                        // Trygdeavgiften skal ikke utgjøre en større andel av brutto lønn over kronegulvet enn denne desimalbrøken.
                //ipa brukes ikke
                //var ipafradrag=40000;                                        // For sparing til egen pensjon gjennom ordningen med "innskuddsbasert pensjonsavtale", ipa, kan du trekke fra inntil 'ipafradrag' kroner i året fra alminelig inntekt.                

                //Bruker bare reisefradrag_gulvbelop - 20.10.2010
                //var reisefradrag_kilometergrense=35000;                        // For den delen av årlig distanse hjem-arbeid som er lenger enn 'reisefradrag_kilometergrense', brukes kilometersatsen 'reisefradrag_lavsats'. For andelen under grensen, 'reisefradrag_hoysats'.
                //var reisefradrag_lavsats=1.5;                                // Kilometersats for reisefradraget for den delen som er lenger enn 'reisefradrag_kilometergrense' hvert år.
                //var reisefradrag_hoysats=1.5;                                // Kilometersats for reisefradraget for den delen som er korter enn 'reisefradrag_kilometergrense' hvert år.
                var reisefradrag_sats=1.5;                                          // Kilometersats for reisefradraget for den delen som er korter enn 'reisefradrag_kilometergrense' hvert år.
                var firmabil_minstekm=13000;                                // Sjablonmessig antall kilometer som regnes som privatkjøring. I tillegg kommer arbeidsreiser.

                /***************************************** SLUTT VARIABLER SOM OPPDATERES ÅRLIG ********************************************************************/


                function inRinse(streng){
                        var ny,tell,brekk,tegn,i;
                        nedgren=0;
                        oppgren=0;
                        brekk=false;
                        ny='';
                        tegn='';
                        i=0;
                        if (streng.length>0) tell=streng.length-1;
                        else brekk=true;
                        while (i<=tell && brekk==false)        {
                                if (streng.substring(i,i+1)==' ' || streng.substring(i,i+1)=='.') tegn='';
                                else
                                if (streng.substring(i,i+1)==',') tegn='.';
                                else tegn=streng.substring(i,i+1);
                                ny=ny+tegn;
                                i=i+1;
                        }
                        if (ny==' ' || ny=='' ) ny=0;
                        else if (ny.substring(0,1)=='.')
                                ny='0'+ny;
                        return ny;
                        /*END inRinse*/
                }


                function outRinse(streng){
                        var ny,tell,tegn,i;
                        ny='';
                        tegn='';
                        i=0;
                        tell=streng.length;
                        while (i<tell){
                                if (streng.substring(i,i+1)=='.') tegn=',';
                                else tegn=streng.substring(i,i+1);
                                        ny=ny+tegn;
                                        i=i+1;
                        }
                        return ny;
                        /*END outRinse*/
                }


                function thousanddiv(tall){
                        var feil,grupper,ny,neg;
                        feil=false;
                        neg=false;
                        grupper=0;
                        ny='';
                        if (tall<0){
                                neg=true;
                                tall=tall*-1;
                        }
                        if (tall>=1000000000) grupper=4;else
                        if (tall>=1000000) grupper=3;else
                        if (tall>=1000) grupper=2;else
                        grupper=1;
                        tall=new String(tall);
                        while (grupper>1){
                                ny='.'+tall.substring(tall.length-3,tall.length)+ny;
                                tall=tall.substring(0,tall.length-3);
                                grupper=grupper-1;
                        }
                        if (neg==true) ny='-'+tall+ny;else ny=tall+ny;
                        return ny;
                        /*END thousanddiv*/
                }


                function writeLay(tekst,i){

                        $('curiousResult_'+i).innerHTML=tekst;


                        /*END writeLay*/
                }


                function poppUp(tekst){
                        var Utskrift;
                        Utskrift=window.open('','_blank','width=430,height=380,scrollbars=yes,resizable=yes,menubar=yes,toolbar=no');
                        Utskrift.focus();
                        Utskrift.document.write(tekst);
                        Utskrift.document.close();
                        /* poppUp*/
                }

                /*Makes a output table, given that 'firstrow' is as plain text string and that 'result' is (a) complete row-definition(s), most easily made with WritRow. The function then writes to the calculator result field using skrivlay*/
                function outResTable(heading,resrows){
                        var beg,end,mod,topstripe;
                        beg='<table width="468px;" border="0">';
                        end="</table>";
                        topstripe="<tr><td colspan=3><span class=calc-subtitle>";
                        topstripe+=heading+"</span></td></tr>";
                        mod=beg+topstripe+resrows+end;
                        writeLay(mod);
                        /*END outResTable*/
                }

                /*A boolean function with two integer parameters. 'num' is the number to be tested, 'type' indicates which input this is, in order to make a taylormade test */
                function controlValue(num,type)        {
                        var rett,mellom,forstfeil,blaa;
                        forstfeil=false;
                        rett=false;
                        blaa="<table width=440><tr><td><span class=calc-subtitle><b>Feil:</b></span><br>";
                        if (navigator.appName=='Netscape')
                        {
                        if (navigator.appVersion.substring(0,4)=='3.04' &! parseFloat(num+1)!=0) forstfeil=true;
                        else if (navigator.appVersion=='3.0' && parseFloat(num+1)==0) forstfeil=true;
                        else if (isNaN(num)==true) forstfeil=true;
                        }
                        else  if ((navigator.appVersion.substring(0,3)=='4.0' || navigator.appVersion.substring(0,3)=='5.0' ) && isNaN(num)) forstfeil=true;
                        else  if (parseFloat(num+1)==0) forstfeil=true;
                        /*isNaN should have been sufficient, but it works neither in MSIE 3.02, Navigator 3.04 or in  Opera 3.21.*/
                        if (forstfeil==true) writeLay(blaa+'<span class=calc-bodytext>Bare tall!</span></td></tr></table>');else
                        if (num<0 && type==1) writeLay(blaa+'<span class=calc-bodytext>Ikke negativ nettoformue!</span></td></tr></table>');else
                        if (num>10000000000 && type==1) writeLay(blaa+'<span class=calc-bodytext>Ikke over ti milliarder kroner i nettoformue!</span></td></tr></table>');else
                        if (num<0 && type==2) writeLay(blaa+'<span class=calc-bodytext>Ikke negativ nettoinntekt!</span></td></tr></table>');else
                        if (num>2000000000 && type==2) writeLay(blaa+'<span class=calc-bodytext>Ikke over to milliarder i nettoinntekt!</span></td></tr></table>');else
                        if (num<0 && type==3) writeLay(blaa+'<span class=calc-bodytext>Ikke negativt skattebeløp!</span></td></tr></table>');else
                        if (num>1000000000 && type==3) writeLay(blaa+'<span class=calc-bodytext>Ikke over én milliard kroner i skatt!</span></td></tr></table>');else
                        if (num<0 && type==6) writeLay(blaa+'<span class=calc-bodytext>Ikke negativ firmabilverdi</span></td></tr></table>');else
                        if (num>10000000 && type==6) writeLay(blaa+'<span class=calc-bodytext>Ikke firmabil til over ti millioner kroner!</span></td></tr></table>');else
                        if (num<0 && type==7) writeLay(blaa+'<span class=calc-bodytext>Ikke negativ bruttogjeld!</span></td></tr></table>');else
                        if (num>10000000000 && type==7) writeLay(blaa+'<span class=calc-bodytext>Ikke over ti milliarder kroner i bruttogjeld!</span></td></tr></table>');else
                        if (num<0 && type==8) writeLay(blaa+'<span class=calc-bodytext>Ikke negativ markedsverdi av bolig!</span></td></tr></table>');else
                        if (num>500000000 && type==8) writeLay(blaa+'<span class=calc-bodytext>Ikke en markedsverdi av boligen på over 500 millioner kroner!</span></td></tr></table>');else
                        if (num>10000000000 && type==7) writeLay(blaa+'<span class=calc-bodytext>Ikke brutto gjeld over ti milliarder kroner!</span></td></tr></table>');else
                        rett=true;
                        return rett;
                        /*END controlValue*/
                }

                /*Funksjon_Toppskatt:*/
                /*Regner ut toppskatten, gitt bruttoinntekt og skatteklasse. Oppdatert 12/10/2007 med skattesatser for 2006*/
                function toppsk2004(peng,to){

                        var topp;
                        if (to==false)
                        if (peng<toppskattgrense_kl1) topp=0;
                        else topp=toppskattsats_lav*(peng-toppskattgrense_kl1);
                        //'if (peng>toppskattgrense_kakse) topp+=(peng-toppskattgrense_kakse)*toppskattsats_kakse;
                        return topp;
                }


                /*Funksjon_Trygdeavgift:*/

                function trygdav2004(peng){
                        /*Regner ut trygdeavgiften. Oppdatert 12/10/2007*/
                        var avg;
                        if (peng>trygdeavgift_kronegulv) avg=peng*trygdeavgift_sats;else avg=0;
                        if (avg/(peng-trygdeavgift_kronegulv)>trygdeavgift_prosentgulv) avg=(peng-trygdeavgift_kronegulv)*trygdeavgift_prosentgulv;
                        /*Trygdeavgiften skal ikke utgj&oslash;re mer enn 25% av beregningsgrunnlaget*/
                        return avg;
                }



                /*Funksjon_Nettoskatt:*/
                function nettosk2004(peng,to)        {
                        /*Regner ut nettoskatten. Oppdatert  12/10/2007*/
                        var etter,net,skjaering,bunnkutt;
                        skjaering = minstefradrag_maksbelop/minstefradrag_prosent;
                        bunnkutt = minstefradrag_minbelop/minstefradrag_prosent;
                        if (peng>=skjaering) {etter=peng-minstefradrag_maksbelop; minstefradrag2004=minstefradrag_maksbelop;}
                        else if (peng>bunnkutt) {etter=peng-(peng*minstefradrag_prosent); minstefradrag2004=peng*minstefradrag_prosent;}
                        else if (peng>=minstefradrag_minbelop) {etter=peng-minstefradrag_minbelop; minstefradrag2004=minstefradrag_minbelop;}
                        else {etter=0; minstefradrag2004=0;}
                        if (to==false)
                        {
                        if  (etter>personfradrag_kl1) {etter=etter-personfradrag_kl1;klassefradrag2004=personfradrag_kl1;}
                        else {etter=0;klassefradrag2004=0;}
                        }
                        else
                        {
                        if (etter>personfradrag_kl2) {etter=etter-personfradrag_kl2;klassefradrag2004=personfradrag_kl2;}
                        else {etter=0;klassefradrag2004=0;}
                        }
                        net=etter*nettoskattesats;
                        return net;
                }


                /*Funksjon_Formueskatt:*/
                function formueskatt2004(formue,klasseto){
                        /*Oppdatert/gjennomg&aring;tt skattesatser 19/1/2004*/
                        var skatt,statskatt,kommskatt,lavgrens,hoygrens;
                        if (klasseto==true)
                        {
                        lavgrens=formue_lavgrense_kl2;
                        hoygrens=formue_hoygrense_kl2;
                        }
                        else
                        {
                        lavgrens=formue_lavgrense_kl1;
                        hoygrens=formue_hoygrense_kl1;
                        }
                        if (formue>hoygrens) statskatt=((formue-hoygrens)*formue_hoysats)+((hoygrens-lavgrens)*formue_lavsats);else
                        if (formue>lavgrens) statskatt=(formue-lavgrens)*formue_lavsats;else
                        statskatt=0;
                        if (formue>formue_kommunegrense) kommskatt=(formue-formue_kommunegrense)*formue_kommunesats;else
                        kommskatt=0;
                        skatt=eval(statskatt)+eval(kommskatt);
                        return skatt;
                        /*END formueskatt*/
                }


                /*Funksjon_Boliginntekt:*/
                function boliginn2004(takst){
                        /*Opphevet f.o.m. 2005*/
                        return 0;
                        /*END boligskatt*/
                }


                /*Funksjon_Reisefradrag:*/
                function reisefra2004(dagdist){/*Oppdatert/sjekket satser 19/1/2004*/
                        var totdist,fradrag;
                        totdist=dagdist*2*230;
                        
                        //if (totdist>35000) fradrag=((totdist-35000)*0.7)+eval(35000*1.4);else
                        //fradrag=totdist*1.4;
                        //if (fradrag<=9200) fradrag=0;else fradrag=fradrag-9200;                        
                                                
                        fradrag=totdist*reisefradrag_sats;
                        if (fradrag<=reisefradrag_gulvbelop) fradrag=0;else fradrag=eval(fradrag-reisefradrag_gulvbelop);                        
                        
                        return fradrag;
                        /*END reisefra*/
                }
                /*Heltallsfunksjon returnerer kilometersatsen gitt nybilprisen, "prisen" og den logiske variablen
                "langt", som forteller om brukeren har mer enn 40.000 km yrkeskøing eller ikke. 2004-satser. */
                function kmsatsXXX(prisen,langt){
                        var sats,verdi;
                        if (langt)
                        {
                        if (prisen>300000) verdi=225000; else
                        if (prisen>250000) verdi=175000; else
                        if (prisen>200000) verdi=125000; else
                        if (prisen>150000) verdi=85000; else verdi = 50000;
                        }
                        else verdi = prisen;
                        if (verdi<75001)
                        sats = 2.85;
                        else if(verdi>75000 && verdi<100001)
                        sats = 3.45;
                        else if(verdi>100000 && verdi<150001)
                        sats = 4.05;
                        else if(verdi>150000 && verdi<200001)
                        sats = 4.70;
                        else if(verdi>200000 && verdi<250001)
                        sats = 5.55;
                        else if(verdi>250000 && verdi<300001)
                        sats = 6.40;
                        else if(verdi>300000)
                        sats = 7.00;
                        return sats;
                        /*END kmsats*/
                }
                
                function kmsats(prisen,langt){
                        var sats,verdi;
                        if (langt) {                        	
                        	if(prisen>0){
                        		verdi = prisen * firmabil_gmlsats;
                        	}
                        } else {
                        	verdi = prisen;
                        }
                                                
                        if(verdi <= firmabil_verdigrense){
                        	sats = verdi * firmabil_lavsats;	
                        } else {
                        	sats = eval(firmabil_verdigrense * firmabil_lavsats) + eval(eval(verdi - firmabil_verdigrense) * firmabil_hoysats);
                        }
                        return sats;                        
                        /*END kmsats*/
                }


                function kaksetillegg(prisen,langt){
                        /*Koster bilen mer enn en viss sum, skal en tiendedel av den overskytende bilverdien tillegges inntekten hvert år. Kjører man langt, heves denne grensen.*/
                        var kaksegrense1,kaksegrense2,kakselengde,kakseverdi;
                        kaksegrense1=450000;
                        kaksegrense2=500000;
                        kakselengde=40000;
                        if (langt>kakselengde) kakseverdi=kaksegrense2;else kakseverdi=kaksegrense1;
                        if (prisen>kakseverdi) return (prisen-kakseverdi)/10;else return 0;
                        /*END ingenting*/
                }

                 var nettoformue,nettoinntekt,utliknet_skatt,antallbarn,gift,firmabilverdi,brutto_gjeld;
                        var klasse,antbarn,barnepassfradrag,bruttolonn,lignverdi,bilinntekt,kapinntekt,reisevei,rentebet;
                        var bilverdi,kundedager,langkjoring,harfirmabil,bilpris;
                        var klasseto,bruttoinn,nettoinn,bolinn,bilinn,arbfr,bsufr,ipafr,formskatt,toppskatt,trygdeav,nettoskatt,totskatt,barnpass,trekkpros,kontroll;

                function smallCalculate(i,bil, gjeld, bolig){

                        nettoformue = inRinse($('inRead1_'+i).innerHTML);
                        nettoinntekt = inRinse($('inRead2_'+i).innerHTML);
                        utliknet_skatt = inRinse($('inRead3_'+i).innerHTML);
                        firmabilverdi = (bil);
                        brutto_gjeld = (gjeld);
                        brutto_boligverdi = (bolig);
                        antallbarn = 0;
                        gift = false;

                        if (antallbarn>0 && gift==false){
                                klasse=2;
                        }
                        else{
                                klasse=1;
                        }
                        antbarn=antallbarn;
                        if(antallbarn<2){
                        	barnepassfradrag=antallbarn*barnepass_ettbarn;
                        } else if(antallbarn>1){
                        	barnepassfradrag=barnepass_ettbarn+eval(eval(eval(antallbarn)-1)*barnepass_tillegg_pr_barn);    //Barnepassfradrag for barn 1 + resten av barna
                        }
                        //barnepassfradrag=antallbarn*25000;                                                                // 25.000 kroner i ligningsfradrag for alle barn
                        //if (barnepassfradrag>40000){
                        //        barnepassfradrag=30000;                                                // Men ikke mer enn 40.000 totalt..
                        //}

                        lignverdi=0;
                        kapinntekt=nettoformue*0.04;                                                                        // Kapitalinntekten settes til fire prosent av ligningsformuen
                        reisevei=4;                                                                                        // Reisevei til jobben anslås til fire kilometer
                        rentebet=brutto_gjeld*0.06;
                        bsu=0;
                        ipa=0;
                        formue=nettoformue;
                        if (firmabilverdi>0){
                                harfirmabil=true;
                        }
                        else{
                                harfirmabil=false;
                        }

                        bilverdi=firmabilverdi;
                        if (klasse==1){
                                klasseto=false;
                        }
                        else{
                                klasseto=true;
                        }

                        if (gift){
                                brutto_boligverdi=brutto_boligverdi/2;                                                // Man deler boligkostnaden om man er gift.
                        }

                        bolinn=boliginn2004(brutto_boligverdi*0.2);
                        arbkm=230*reisevei*2;                                                                                // Årlig arbeidspendling med firmabil, slik staten definerer det
                        totsats=kmsats(bilverdi,langkjoring);                                                                // Returnerer kilometersatsen
                        totbilinnt = totsats;
                        //totbilinnt=totsats*(eval(13000)+eval(arbkm));                                                        // Kilometersatsen ganger sjablon privatkjøring pluss arbeidsreisene
                        kaksepluss=kaksetillegg(bilverdi,langkjoring);                                                    // Eventuelt tillegg for dyr
                        if (firmabilverdi==0){
                                totbilinnt=0;
                        }
                        arbfra=reisefra2004(reisevei);
                        if (antbarn==0){
                                barnpass=0;
                        }
                        else{
                                if (barnepassfradrag>barnepass_ettbarn && antbarn<2){
                                        barnpass=barnepass_ettbarn;
                                }
                                else{
                                        barnpass=barnepassfradrag;
                                }
                        }
                        bsufr=0;
                        ipafr=0;
                        bruttolonn=nettoinntekt;                                                                                // Som utgangspunkt settes bruttoinntekt lik nettoinntekt.
                        var iterasjonsteller=0;
                        var stopp=false;
                        while (stopp==false){
                                bruttoinn=eval(bruttolonn)+eval(totbilinnt);

                                nettoinn=eval(bruttoinn)+eval(kapinntekt)+eval(bolinn)-arbfra-rentebet-ipafr-barnpass;

                                toppskatt=toppsk2004(bruttoinn,klasseto);
                                trygdeavg=trygdav2004(bruttoinn);
                                nettoskatt=nettosk2004(nettoinn,klasseto);


                                nettoinn = nettoinn-minstefradrag2004;
                                //nettoinn = nettoinn-minstefradrag2004-klassefradrag2004;
                                formskatt=formueskatt2004(formue,klasseto);
                                totskatt=eval(toppskatt)+eval(trygdeavg)+eval(nettoskatt)+eval(formskatt)-bsufr;
                                if (totskatt<utliknet_skatt && iterasjonsteller<1000){
                                        bruttolonn=eval(eval(bruttolonn)+eval(1000));
                                }
                                else{
                                        stopp=true;
                                }
                                iterasjonsteller+=1;
                        }


                        return thousanddiv(Math.round(bruttolonn/10000)*10000);

                }


                function calculate(form,i){
                        //alert(form);

                        /*The names of the user input variables. If the variable is the name of a list box or a group of radio buttons, it will contain the rank of the clicked element when your calculator is used. The first element is number zero.*/
                        led=false;

                        nettoformue=inRinse(document.getElementById('inRead1').value);
                        nettoinntekt=inRinse(document.getElementById('inRead2').value);
                        utliknet_skatt=inRinse(document.getElementById('inRead3').value);
                        firmabilverdi=inRinse(document.getElementById('inRead6').value);
                        brutto_gjeld=inRinse(document.getElementById('inRead7').value);
                        brutto_boligverdi=inRinse(document.getElementById('inRead8').value);

                        if (1== 1 || controlValue(nettoformue,1) && controlValue(nettoinntekt,2) && controlValue(utliknet_skatt,3) && controlValue(firmabilverdi,6) && controlValue(brutto_gjeld,7) && controlValue(brutto_boligverdi,8)){

                                document.getElementById('inRead1').value=outRinse(nettoformue);
                                document.getElementById('inRead2').value=outRinse(nettoinntekt);
                                document.getElementById('inRead3').value=outRinse(utliknet_skatt);
                                antallbarn=document.getElementById('inRead4').options[document.getElementById('inRead4').selectedIndex].value;
                                gift = document.getElementById('inRead5').options[document.getElementById('inRead5').selectedIndex].value;
                                document.getElementById('inRead6').value=outRinse(firmabilverdi);
                                document.getElementById('inRead7').value=outRinse(brutto_gjeld);
                                document.getElementById('inRead8').value=outRinse(brutto_boligverdi);

                                if (antallbarn>0 && gift==false) klasse=2; else klasse=1;
                                antbarn=antallbarn;
                                if(antallbarn<2){
                        			barnepassfradrag=eval(antallbarn*barnepass_ettbarn);
                        		} else if(antallbarn>1){
                        			barnepassfradrag=barnepass_ettbarn + eval(eval(antallbarn-1)*barnepass_tillegg_pr_barn);    //Barnepassfradrag for barn 1 + resten av barna
                        		}
                                //barnepassfradrag=antallbarn*25000;                                                                // 25.000 kroner i ligningsfradrag for alle barn
                                //if (barnepassfradrag>40000) barnepassfradrag=30000;                                                // Men ikke mer enn 40.000 totalt..

                                lignverdi=0;
                                kapinntekt=nettoformue*0.04;                                                                        // Kapitalinntekten settes til fire prosent av ligningsformuen
                                reisevei=4;                                                                                        // Reisevei til jobben anslås til fire kilometer
                                rentebet=brutto_gjeld*0.06;
                                bsu=0;
                                ipa=0;
                                formue=nettoformue;
                                if (firmabilverdi>0) harfirmabil=true; else harfirmabil=false;
                                bilverdi=firmabilverdi;
                                if (klasse==1) klasseto=false;else klasseto=true;
                                if (gift) brutto_boligverdi=brutto_boligverdi/2;                                                // Man deler boligkostnaden om man er gift.
                                bolinn=boliginn2004(brutto_boligverdi*0.2);
                                arbkm=230*reisevei*2;                                                                                // Årlig arbeidspendling med firmabil, slik staten definerer det
                                totsats=kmsats(bilverdi,langkjoring);                                                                // Returnerer kilometersatsen
                                //totbilinnt=totsats*(eval(13000)+eval(arbkm));                                                        // Kilometersatsen ganger sjablon privatkjøring pluss arbeidsreisene
                                totbilinnt=totsats;
                                kaksepluss=kaksetillegg(bilverdi,langkjoring);                                                    // Eventuelt tillegg for dyr
                                if (firmabilverdi==0) totbilinnt=0;
                                arbfra=reisefra2004(reisevei);
                                if (antbarn==0) barnpass=0;else
                                if (barnepassfradrag>barnepass_ettbarn && antbarn<2) barnpass=barnepass_ettbarn;
                                else barnpass=barnepassfradrag;
                                bsufr=0;
                                ipafr=0;
                                bruttolonn=nettoinntekt;                                                                                // Som utgangspunkt settes bruttoinntekt lik nettoinntekt.
                                var iterasjonsteller=0;
                                var stopp=false;
                                while (stopp==false){
                                        bruttoinn=eval(bruttolonn)+eval(totbilinnt);

                                        nettoinn=eval(bruttoinn)+eval(kapinntekt)+eval(bolinn)-arbfra-rentebet-ipafr-barnpass;

                                        toppskatt=toppsk2004(bruttoinn,klasseto);
                                        trygdeavg=trygdav2004(bruttoinn);
                                        nettoskatt=nettosk2004(nettoinn,klasseto);


                                        nettoinn = nettoinn-minstefradrag2004;
                                        //nettoinn = nettoinn-minstefradrag2004-klassefradrag2004;
                                        formskatt=formueskatt2004(formue,klasseto);
                                        totskatt=eval(toppskatt)+eval(trygdeavg)+eval(nettoskatt)+eval(formskatt)-bsufr;
                                        if (totskatt<utliknet_skatt && iterasjonsteller<1000)  bruttolonn=eval(eval(bruttolonn)+eval(1000));
                                        else stopp=true;
                                        iterasjonsteller+=1;
                                }

                                trekkpros=(totskatt/10.5)/(bruttolonn/12);
                                restekst="<TABLE width=430 BORDER=0>\r\n";
                                restekst+="<tr><td colspan=2><h2 class='calc-subtitle'><b>Lønnen i "+2009+" var kanskje omtrent "+thousanddiv(Math.round(bruttolonn/10000)*10000)+" kroner";
                                restekst+="</h2></td></tr>\r\n";
                                restekst+="<tr><td colspan=2><span class=calc-bodytext><u>Dette fremkommer slik:</u></span></td></tr>\r\n";
                                restekst+="<tr><td><span class=calc-footnote>L&oslash;nn: </span></td><td align=right><span class=calc-footnote>"+thousanddiv(Math.round(bruttolonn))+" kr</span></td></tr>\r\n";
                                if (totbilinnt>0) restekst+="<tr><td><span class=calc-footnote>Beregnet inntekt av firmabil: </span></td><td align=right><span class=calc-footnote>+ "+thousanddiv(Math.round(totbilinnt))+" kr</span></td></tr>\r\n";
                                restekst+="<tr><td><span class=calc-footnote>=> SUM bruttoinntekt</span></td><td align=right><span class=calc-footnote>"+thousanddiv(Math.round(bruttoinn))+" kr</span></td></tr>\r\n";
                                restekst+="<tr><td colspan=2><span class=calc-bodytext><u>Beregning av alminnelig inntekt:</u></span></td></tr>\r\n";
                                restekst+="<tr><td><span class=calc-footnote>Bruttoinntekt</span></td><td align=right><span class=calc-footnote>"+thousanddiv(Math.round(bruttoinn))+" kr</span></td></tr>\r\n";
                                if (kapinntekt>0) restekst+="<tr><td><span class=calc-footnote>Kapitalinntekter </span></td><td align=right><span class=calc-footnote>+ "+thousanddiv(Math.round(kapinntekt))+" kr</span></td></tr>\r\n";
                                //if (bolinn>0) restekst+="<tr><td><span class=calc-footnote>Inntekt av &aring; bo i egen bolig</span></td><td align=right><span class=calc-footnote>+ "+thousanddiv(Math.round(bolinn))+" kr</span></td></tr>\r\n";
                                if (arbfra>0) restekst+="<tr><td><span class=calc-footnote>Fradrag for arbeidsreiser (ut over "+thousanddiv(reisefradrag_gulvbelop)+" kroner)</span></td><td align=right><span class=calc-footnote>- "+thousanddiv(Math.round(arbfra))+" kr</span></td></tr>\r\n";
                                if (rentebet>0) restekst+="<tr><td><span class=calc-footnote>Betalte renter og gebyrer</span></td><td align=right><span class=calc-footnote>- "+thousanddiv(Math.round(rentebet))+" kr</span></td></tr>\r\n";
                                if (ipa>0) restekst+="<tr><td><span class=calc-footnote>Fradrag for premie til individuell pensjonsordning</span></td><td align=right><span class=calc-footnote>- "+thousanddiv(Math.round(ipafr))+" kr</span></td></tr>\r\n";
                                if (barnpass>0) restekst+="<tr><td><span class=calc-footnote>Fradragsberettigede utgifter til barnepass</span></td><td align=right><span class=calc-footnote>- "+thousanddiv(Math.round(barnpass))+" kr</span></td></tr>\r\n";
                                if (minstefradrag2004==minstefradrag_minbelop) restekst+="<tr><td><span class=calc-footnote>L&oslash;nnsfradrag</span></td><td align=right><span class=calc-footnote>- "+thousanddiv(Math.round(minstefradrag2004))+" kr</span></td></tr>\r\n";
                                if (minstefradrag2004>minstefradrag_minbelop) restekst+="<tr><td><span class=calc-footnote>Minstefradrag</span></td><td align=right><span class=calc-footnote>- "+thousanddiv(Math.round(minstefradrag2004))+" kr</span></td></tr>\r\n";
                                if (klassefradrag2004>0) restekst+="<tr><td><span class=calc-footnote>Personfradrag</span></td><td align=right><span class=calc-footnote>- "+thousanddiv(Math.round(klassefradrag2004))+" kr</span></td></tr>\r\n";

                                restekst+="<tr><td><span class=calc-footnote>=> SUM nettoinntekt</span></td><td align=right><span class=calc-footnote> "+thousanddiv(Math.round(nettoinn-klassefradrag2004))+" kr</span></td></tr>\r\n";
                                restekst+="<tr><td colspan=2><span class=calc-bodytext><u>Beregning av skatt:</u></span></td></tr>\r\n";
                                if (toppskatt>0) restekst+="<tr><td><span class=calc-footnote>Toppskatt</span></td><td align=right><span class=calc-footnote>"+thousanddiv(Math.round(toppskatt))+" kr</span></td></tr>\r\n";
                                if (trygdeavg>0) restekst+="<tr><td><span class=calc-footnote>Trygdeavgift</span></td><td align=right><span class=calc-footnote>+ "+thousanddiv(Math.round(trygdeavg))+" kr</span></td></tr>\r\n";
                                if (nettoskatt>0) restekst+="<tr><td><span class=calc-footnote>Fellesskatt</span></td><td align=right><span class=calc-footnote>+ "+thousanddiv(Math.round(nettoskatt))+" kr</span></td></tr>\r\n";
                                if (formskatt>0) restekst+="<tr><td><span class=calc-footnote>Formueskatt</span></td><td align=right><span class=calc-footnote>+ "+thousanddiv(Math.round(formskatt))+" kr</span></td></tr>\r\n";
                                if (bsufr>0) restekst+="<tr><td><span class=calc-footnote>Skattefradrag, BSU</span></td><td align=right><span class=calc-footnote>- "+thousanddiv(Math.round(bsufr))+" kr</span></td></tr>\r\n";
                                restekst+="<tr><td><span class=calc-footnote>=> SUM skatt</span></td><td align=right><span class=calc-footnote> "+thousanddiv(Math.round(totskatt))+" kr</span></td></tr>\r\n";

                                writeLay(restekst,i);

                        }

                }
