$(window).addEvent('domready', initMathCredit );

function initMathCredit()
{
    initLabels();
}

function initLabels()
{
    $$('form .content_item_content input').each( function( item ) {
        if ( item.getProperty('title') != null )
        {
            item.addEvent('focus', function() {
                var explain = new Element('span', { 'class' : 'tooltip'});
                explain.set('text', $(this).getProperty('title') );
                explain.set( 'styles', {
                   'width' : ($(this).getSize().x - 20) +'px',
                   'background-color' : '#DE448D',
                   'padding' : '10px',
                   'font-size' : '70%',
                   'font-weight': 'bolder',
                   'color' : '#fff'
                });
                $(this).getParent().adopt( explain );
                explain.set( 'styles', {
                   'left' : $(this).getPosition( $('content') ).x,
                   'top' : $(this).getPosition( $('content') ).y - explain.getSize().y + 10,
                   'position' : 'absolute' 
                });
            });
            item.addEvent('blur', function() {
                $$('span.tooltip').destroy();
            });
        }
    } );
}


/*function bereken()
{
    // NHG
    var blnNHG = true;
    if (_root.cbxNHG.getValue() == false) 
    {
        blnNHG = false;
    }
    
    alert("start berekening");
    var intInkomenClient = 0
    var intInkomenPartner = 0
    var intHoogsteInkomen = 0
    var intGezamenlijkInkomen = 0
    var intMaxOpInkomen = 0
    
    // Inkomen per maand cliënt
    if (_root.txtMaandinkomen1.text != "") 
    {
        intInkomenClient = (_root.txtMaandinkomen1.text * 12) * 1.08;
    }
    // Inkomen per maand partner
    
    if (_root.txtMaandinkomen2.text != "") 
    {
        intInkomenPartner = (_root.txtMaandinkomen2.text * 12) * 1.08;
    }
    if (intInkomenClient > intInkomenPartner) 
    {
        intHoogsteInkomen = intInkomenClient
    }
    else 
        if (intInkomenPartner > intInkomenClient) 
        {
            intHoogsteInkomen = intInkomenPartner
        }
        else 
        {
            intHoogsteInkomen = intInkomenClient
        }
    
    // Vaste lasten per maand 
    var intVerplichtingen = 0
    if (_root.txtVerplichtingen.text != "") 
    {
        intVerplichtingen = (_root.txtVerplichtingen.text * 1.02) * 12
    }
    
    // Max. op basis van inkomen minus vaste lasten
    intGezamenlijkInkomen = (intInkomenClient + intInkomenPartner) - intVerplichtingen
    //trace("intGezamelijkInkomen: " + intGezamenlijkInkomen)
    
    if (intGezamenlijkInkomen < 35001) 
    {
        //trace("gezamelijk inkomen < 35001: " + intGezamenlijkInkomen + " * 5.5")
        intMaxOpInkomen = (intGezamenlijkInkomen * 5.5);
    }
    else 
        if (intGezamenlijkInkomen > 35000 && intGezamenlijkInkomen < 50000) 
        {
            //trace("gezamelijk inkomen > 35000 en gezamelijk inkomen < 50000: " + intGezamenlijkInkomen + " * 6")
            intMaxOpInkomen = (intGezamenlijkInkomen * 6);
        }
        else 
            if (intGezamenlijkInkomen > 50001) 
            {
               // trace("gezamelijk inkomen > 50001: " + intGezamenlijkInkomen + " * 6.5")
                intMaxOpInkomen = (intGezamenlijkInkomen * 6.5);
            }
    var intWoonqoute = getNHG_Woonquote(intHoogsteInkomen)
    //trace("woonquote voor hoogste inkomen (" + intHoogsteInkomen + ") is " + intWoonqoute)
    var intFinancieringslastMaand = 0
    intFinancieringslastMaand = (intGezamenlijkInkomen * intWoonqoute) / 12
    //trace("Financieringslast per maand: (" + intGezamenlijkInkomen + " * " + intWoonqoute + ") / 12 = " + intFinancieringslastMaand)
    var intMaximaleGarantiebedrag = 0
    var intAnnuiteit = getAnnuiteit(intRente)
    intMaximaalGarantiebedrag = Math.round(intFinancieringslastMaand * (intAnnuiteit / 100))
    //trace("Maximaal garantiebedrag (NHG): " + intFinancieringslastMaand + " * " + intAnnuiteit + "% = " + intMaximaalGarantiebedrag)
    if (intMaximaalGarantiebedrag > 265000) 
    {
        intMaximaalGarantiebedrag = 265000
    }
    
    // Bepalen waarde onderpand
    var intMaxOnderpand = 0
    var intStichtingskostenNieuwbouw = 0
    var intKostenVerbouwing = 0
    var intKoopsom = 0
    var intOverwaarde = 0
    //trace("intKoopsom " + intKoopsom)
    if (_root.mc_berekening.txtKostenVerbouwing.text != "") 
    {
        intKostenVerbouwing = Number(_root.mc_berekening.txtKostenVerbouwing.text)
    }
    if (_root.mc_berekening.txtKoopsom.text != "") 
    {
        intKoopsom = _root.mc_berekening.txtKoopsom.text
    }
    if (_root.mc_berekening.txtOverwaarde.text != "") 
    {
        intOverwaarde = _root.mc_berekening.txtOverwaarde.text
    }
    
    // geen NHG
    if (blnNHG == false) 
    {
        if (_root.rbtnBestaandeBouw.getState() == true || _root.rbtnOversluiten.getState() == true) 
        {
            intMaxOnderpand = (intKoopsom * 0.9) * 1.25;
            trace("Oversluiten of bestaande bouw: (" + intKoopsom + " * 0.9) * 1.25")
        }
        else 
            if (_root.rbtnNieuwbouw.getState() == true) 
            {
                intStichtingskostenNieuwbouw = (intKoopsom + intKostenVerbouwing) * 1.05;
                intMaxOnderpand = intStichtingskostenNieuwbouw * (120 / 100) * 1.25;
                //trace("Nieuwbouw: (((" + intKoopsom + " + " + intKostenVerbouwing + ") * 1.05) * (120/100) * 1.25)")
            }
        // maximaal op inkomen
        _root.mc_berekening.txtOpInkomen.text = Math.round(intMaxOpInkomen - intVerplichtingen)
    }
    else 
        if (blnNHG == true) 
        {
            // onder NHG
            if (_root.rbtnBestaandeBouw.getState() == true) 
            {
                intMaxOnderpand = (((intKoopsom + intKostenVerbouwing)) * 1.12);
                //trace("NHG bestaande bouw: (" + intKoopsom + " + " + intKostenVerbouwing + ") * 1.12")
                if (intMaxOnderpand > 265000) 
                {
                    // maximale koopsom NHG = 265000 / 1.12	
                    intMaxOnderpand = 265000 // MELDING 236607.14
                    trace("maximale koopsom is 236.607,14")
                }
            }
            else 
                if (_root.rbtnOversluiten.getState() == true) 
                {
                    intMaxOnderpand = (intKoopsom - intOverwaarde) + intKostenVerbouwing * 1.05;
                    trace("NHG oversluiten: ((" + intKoopsom + " - " + intOverwaarde + ") + " + intKostenVerbouwing + ") * 1.05)")
                    if (intMaxOnderpand > 265000) // GRENS VERANDERD
                    {
                        // maximale koopsom NHG = 265000 / 1.12	
                        intMaxOnderpand = 236607.14
                        trace("maximale koopsom is 236.607,14")
                    }
                }
                else 
                    if (_root.rbtnNieuwbouw.getState() == true) 
                    {
                        intMaxOnderpand = (((intKoopsom + intKostenVerbouwing)) * 1.08);
                        trace("NHG bestaande bouw (" + intKoopsom + " + " + intKostenVerbouwing + ") * 1.08")
                        if (intMaxOnderpand > 265000) 
                        {
                            // maximale koopsom NHG = 265000 / 1.08	
                            intMaxOnderpand = 245370.37
                            trace("maximale koopsom is 245.370,37")
                        }
                    }
            // Maxiamaal bedrag op inkomen onder NHG
            _root.mc_berekening.txtOpInkomen.text = intMaximaalGarantiebedrag
        }
    
    // Dienstverband 
    var intDienstverband1 = _root.ddDienstverband1.getValue()
    var intDienstverband2 = _root.ddDienstverband2.getValue()
    
    if (intMaxOpInkomen > 0) 
    {
        _root.mc_berekening.txtOpOnderpand.text = Math.round(intMaxOnderpand)
    }
    
    var intRente = 0
    if (_root.mc_berekening.txtRente.text != "") 
    {
        intRente = _root.mc_berekening.txtRente.text
        //var intRente = _root.txtRente.text;
        intRente = intRente.split(",").join(".");
    }
    
    
    var intPremieLevensverzekering = 0
    if (_root.mc_berekening.txtPremieLevensverzekering.text != "") 
    {
        intPremieLevensverzekering = Number(_root.mc_berekening.txtPremieLevensverzekering.text)
    }
    
    var intMaxHypotheek = 0
    if ((intMaxOpInkomen - intVerplichtingen) > intMaxOnderpand) 
    {
        intMaxHypotheek = intMaxOnderpand
    }
    if (intMaxOnderpand > (intMaxOpInkomen - intVerplichtingen)) 
    {
        intMaxHypotheek = (intMaxOpInkomen - intVerplichtingen)
    }
    //trace("MaxHypotheek: " + intMaxHypotheek)
    var intBrutoJaarlasten = 0
    var intBrutoMaandlasten = 0
    intBrutoJaarlasten = intMaxHypotheek * (intRente / 100)
    //trace("intBrutoJaarlasten " + intBrutoJaarlasten)
    intBrutoMaandlasten = intBrutoJaarlasten / 12
    //trace("(intMaxHypotheek * (intRente / 100)) / 12")
    //trace("intBrutoMaandlasten " + intBrutoMaandlasten)
    _root.mc_berekening.txtBrutoMaandlast.text = Math.round(intBrutoMaandlasten + intPremieLevensverzekering)
    
    trace("Belastingschijf: " + getBelastingschijf(intGezamenlijkInkomen))
    
    var intBetaaldeRente
    
    var intEigenWoningForfait = (intKoopsom * 0.9) * 0.006 // WOZ waarde * 0.006
    trace("intEigenWoningForfait " + intEigenWoningForfait)
    var intBelastbaarinkomen = intGezamenlijkInkomen - (intBrutoJaarlasten - intEigenWoningForfait)
    trace("var intBelastbaarinkomen = intGezamenlijkInkomen - (intBrutoJaarlasten - intEigenWoningForfait)")
    trace("intBelastbaarinkomen = " + intGezamenlijkInkomen + "- (" + intBrutoJaarlasten + "-" + intEigenWoningForfait + ")")
    trace("intBelastbaarinkomen " + intBelastbaarinkomen)
    
    var belastingtarief1 = 0
    var belastingtarief2 = 0
    var belastingtarief3 = 0
    var belastingtarief4 = 0
    
    if (_root.cbxOuderDan65.getValue() == true) 
    {
        trace("ouder dan 65")
        belastingtarief1 = 0.1575
        belastingtarief2 = 0.2350
        belastingtarief3 = 0.4200
        belastingtarief4 = 0.5200
    }
    else 
    {
        trace("jonger dan 65")
        belastingtarief1 = 0.3365
        belastingtarief2 = 0.4140
        belastingtarief3 = 0.4200
        belastingtarief4 = 0.5200
    }
    
    
    var schijf1
    var schijf2
    var schijf3
    var schijf4
    switch (true)
    {
        case (intGezamenlijkInkomen < 17319):
            schijf1 = intGezamenlijkInkomen * belastingtarief1
            trace("schijf1: " + schijf1)
            break;
        case (intGezamenlijkInkomen > 17319 && intGezamenlijkInkomen < 31123):
            schijf1 = 17319 * belastingtarief1
            schijf2 = (intGezamenlijkInkomen - 17046) * belastingtarief2
            break;
        case (intGezamenlijkInkomen > 31122 && intGezamenlijkInkomen < 53065):
            schijf1 = 17319 * belastingtarief1
            schijf2 = 13803 * belastingtarief2
            schijf3 = (intGezamenlijkInkomen - 31122) * belastingtarief3
            break;
        case (intGezamenlijkInkomen > 53064):
            schijf1 = 17319 * belastingtarief1
            schijf2 = 13803 * belastingtarief2
            schijf3 = 21942 * belastingtarief3
            schijf4 = (intGezamenlijkInkomen - 53064) * belastingtarief4
            break;
        default:
            break;
    }
    
    var schijf1bi
    var schijf2bi
    var schijf3bi
    var schijf4bi
    switch (true)
    {
        case (intBelastbaarinkomen < 17319):
            schijf1bi = intBelastbaarinkomen * belastingtarief1
            break;
        case (intBelastbaarinkomen > 17319 && intBelastbaarinkomen < 31123):
            schijf1bi = 17319 * belastingtarief1
            schijf2bi = (intBelastbaarinkomen - 17046) * belastingtarief2
            break;
        case (intBelastbaarinkomen > 31122 && intBelastbaarinkomen < 53065):
            schijf1bi = 17319 * belastingtarief1
            schijf2bi = 13803 * belastingtarief2
            schijf3bi = (intBelastbaarinkomen - 31122) * belastingtarief3
            break;
        case (intBelastbaarinkomen > 53064):
            schijf1bi = 17319 * belastingtarief1
            schijf2bi = 13803 * belastingtarief2
            schijf3bi = 21942 * belastingtarief3
            schijf4bi = (intBelastbaarinkomen - 53064) * belastingtarief4
            break;
        default:
            break;
    }
    
	var debugText = '';
	
    var intBetaaldeBelasting = schijf1 + schijf2 + schijf3 + schijf4
    debugText += "intBetaaldeBelasting " + intBetaaldeBelastin + "\n";
    var intTeBetalenBelasting = schijf1bi + schijf2bi + schijf3bi + schijf4bi
    debugText += "intTeBetalenBelasting " + intTeBetalenBelasting + "\n";
    var intTerugTeOntvangen = intBetaaldeBelasting - intTeBetalenBelasting
    debugText += "intTerugTeOntvangen " + intTerugTeOntvangen + "\n";
    var intTerugTeOntvangenPerMaand = (intTerugTeOntvangen / 12)
    debugText += "intTerugTeOntvangenPerMaand " + intTerugTeOntvangenPerMaand + "\n";
    
	alert ( debugText );
	
    if ((intBrutoMaandlasten + intPremieLevensverzekering) > 0) 
    {
        _root.mc_berekening.txtNettoMaandlast.text = Math.round((intBrutoMaandlasten + intPremieLevensverzekering) - intTerugTeOntvangenPerMaand)
    }
    else 
    {
        _root.mc_berekening.txtNettoMaandlast.text = 0;
    }
}

function getBelastingschijf (intInkomen) 
{
	var belastingschijf = 0
	if (intInkomen < 17046)	{ belastingschijf = 34.15 }
	else if (intInkomen < 30631) { belastingschijf =  41.45 }
	else if (intInkomen < 52228) { belastingschijf =  42.00 }
	else if (intInkomen > 52228) { belastingschijf =  52.00 }
	return belastingschijf
}

function getNHG_Woonquote (intInkomen) 
{
	var woonquote = 0
	// toetsen op 5.3%

	if (intInkomen < 16500)	{ woonquote = 23.5 }
	else if (intInkomen < 17000) { woonquote =  23.5 }
	else if (intInkomen < 17500) { woonquote =  24.7 }
	else if (intInkomen < 18000) { woonquote =  25.8 }
	else if (intInkomen < 18500) { woonquote =  26.9 }
	else if (intInkomen < 19000) { woonquote =  27.5 }
	else if (intInkomen < 19500) { woonquote =  28.0 }
	else if (intInkomen < 20000) { woonquote =  28.3 }
	else if (intInkomen < 20500) { woonquote =  28.6 }
	else if (intInkomen < 21000) { woonquote =  28.8 }
	else if (intInkomen < 21500) { woonquote =  28.9 }
	else if (intInkomen < 22000) { woonquote =  28.9 }
	else if (intInkomen < 23000) { woonquote =  29.1 }
	else if (intInkomen < 26000) { woonquote =  29.2 }
	else if (intInkomen < 26500) { woonquote =  29.4 }
	else if (intInkomen < 27000) { woonquote =  29.6 }
	else if (intInkomen < 27500) { woonquote =  29.7 }
	else if (intInkomen < 28000) { woonquote =  29.9 }
	else if (intInkomen < 28500) { woonquote =  30.1 }
	else if (intInkomen < 29000) { woonquote =  30.2 }
	else if (intInkomen < 29500) { woonquote =  30.3 }
	else if (intInkomen < 30000) { woonquote =  30.5 }
	else if (intInkomen < 30500) { woonquote =  30.6 }
	else if (intInkomen < 31000) { woonquote =  30.8 }
	else if (intInkomen < 31500) { woonquote =  30.9 }
	else if (intInkomen < 32000) { woonquote =  31.0 }
	else if (intInkomen < 32500) { woonquote =  31.1 }
	else if (intInkomen < 46500) { woonquote =  31.2 }
	else if (intInkomen < 47000) { woonquote =  31.3 }
	else if (intInkomen < 47500) { woonquote =  31.5 }
	else if (intInkomen < 48000) { woonquote =  31.6 }
	else if (intInkomen < 48500) { woonquote =  31.7 }
	else if (intInkomen < 49000) { woonquote =  31.8 }
	else if (intInkomen < 50000) { woonquote =  31.9 }
	else if (intInkomen < 50500) { woonquote =  32.0 }
	else if (intInkomen < 51000) { woonquote =  32.1 }
	else if (intInkomen < 51500) { woonquote =  32.2 }
	else if (intInkomen < 52000) { woonquote =  32.3 }
	else if (intInkomen < 52500) { woonquote =  32.4 }
	else if (intInkomen < 53500) { woonquote =  32.5 }
	else if (intInkomen < 54000) { woonquote =  32.6 }
	else if (intInkomen < 54500) { woonquote =  32.7 }
	else if (intInkomen < 55000) { woonquote =  32.8 }
	else if (intInkomen < 55500) { woonquote =  32.9 }
	else if (intInkomen < 56000) { woonquote =  33.0 }
	else if (intInkomen < 58000) { woonquote =  33.1 }
	else if (intInkomen < 60000) { woonquote =  33.6 }
	else if (intInkomen < 62000) { woonquote =  34.0 }
	else if (intInkomen < 64000) { woonquote =  34.5 }
	else if (intInkomen < 66000) { woonquote =  34.9 }
	else if (intInkomen < 68000) { woonquote =  35.2 }
	else if (intInkomen < 70000) { woonquote =  35.6 }
	else if (intInkomen < 72000) { woonquote =  35.9 }
	else if (intInkomen < 74000) { woonquote =  36.2 }
	else if (intInkomen < 76000) { woonquote =  36.5 }
	else if (intInkomen < 78000) { woonquote =  36.6 }
	else if (intInkomen < 82000) { woonquote =  36.8 }
	else if (intInkomen < 86000) { woonquote =  37.0 }
	else if (intInkomen < 88000) { woonquote =  37.1 }
	else if (intInkomen < 100000) { woonquote =  37.2 }
	else if (intInkomen < 9999999) { woonquote =  37.2 }
	return woonquote
}

function getAnnuiteit (intRente) 
{
	var annuiteit = 0
	// toetsen op 30 jaar
	if (intRente < 0.4167)	{ annuiteit = 186.2816 }
	else if (intRente < 0.4250) { annuiteit =  184.1791 }
	else if (intRente < 0.4333) { annuiteit =  182.1126 }
	else if (intRente < 0.4417) { annuiteit =  180.0813 }
	else if (intRente < 0.4500) { annuiteit =  178.0846 }
	else if (intRente < 0.4583) { annuiteit =  176.1218 }
	else if (intRente < 0.4667) { annuiteit =  174.1921 }
	else if (intRente < 0.4750) { annuiteit =  172.2948 }
	else if (intRente < 0.4833) { annuiteit =  170.4295 }
	else if (intRente < 0.4917) { annuiteit =  168.5953 }
	else if (intRente < 0.5000) { annuiteit =  166.7916 }
	else if (intRente < 0.5083) { annuiteit =  165.0179 }
	else if (intRente < 0.5167) { annuiteit =  163.2736 }
	else if (intRente < 0.5250) { annuiteit =  161.5580 }
	else if (intRente < 0.5333) { annuiteit =  159.8706 }
	else if (intRente < 0.5417) { annuiteit =  158.2108 }
	else if (intRente < 0.5500) { annuiteit =  156.5781 }
	else if (intRente < 0.5583) { annuiteit =  154.9720 }
	else if (intRente < 0.5667) { annuiteit =  153.3918 }
	else if (intRente < 0.5750) { annuiteit =  151.8372 }
	else if (intRente < 0.5833) { annuiteit =  150.3076 }
	else if (intRente < 0.5917) { annuiteit =  148.8024 }
	else if (intRente < 0.6000) { annuiteit =  147.3214 }
	else if (intRente < 0.6083) { annuiteit =  145.8638 }
	else if (intRente < 0.6167) { annuiteit =  144.4294 }
	else if (intRente < 0.6250) { annuiteit =  143.0176 }
	else if (intRente < 0.6333) { annuiteit =  141.6281 }
	else if (intRente < 0.6417) { annuiteit =  140.2603 }
	else if (intRente < 0.6500) { annuiteit =  138.9139 }
	else if (intRente < 0.6583) { annuiteit =  137.5884 }
	else if (intRente < 0.6667) { annuiteit =  136.2835 }
	else if (intRente < 0.6750) { annuiteit =  134.9987 }
	else if (intRente < 0.6833) { annuiteit =  133.7337 }
	else if (intRente < 0.6917) { annuiteit =  132.4881 }
	else if (intRente < 0.7000) { annuiteit =  131.2616 }
	else if (intRente < 0.7083) { annuiteit =  130.0536 }
	else if (intRente < 0.7167) { annuiteit =  128.8640 }
	else if (intRente < 0.7250) { annuiteit =  127.6924 }
	else if (intRente < 0.7333) { annuiteit =  126.5384 }
	else if (intRente < 0.7417) { annuiteit =  125.4016 }
	else if (intRente < 0.7500) { annuiteit =  124.2819 }
	else if (intRente < 0.7583) { annuiteit =  123.1788 }
	else if (intRente < 0.7667) { annuiteit =  122.0920 }
	else if (intRente < 0.7750) { annuiteit =  121.0212 }
	else if (intRente < 0.7833) { annuiteit =  119.9662 }
	else if (intRente < 0.7917) { annuiteit =  118.9267 }
	else if (intRente < 0.8000) { annuiteit =  117.9023 }
	else if (intRente < 0.8083) { annuiteit =  116.8928 }
	else if (intRente < 0.8167) { annuiteit =  115.8979 }
	else if (intRente < 0.8250) { annuiteit =  114.9173 }
	else if (intRente < 0.8333) { annuiteit =  113.9508 }
	return annuiteit
}*/
