
var IE = document.all?true:false

if (!IE) document.captureEvents(Event.MOUSEMOVE)

var tempX = 0
var tempY = 0
var direction = '';
var startpos = 0;
var startpos1 = 0;
var slide = false;
var first = false;
var startbedrag = 5000;
var eindbedrag = 50000;

var stappen = new Array();
for(i=startbedrag;i<50250;i=i+250){
	stappen[(stappen.length)] = i;
}

function getBedrag(percentage){
	eendeel = (stappen.length/100);
	stap = Math.ceil(eendeel * percentage);
	if(stap >= stappen.length){
		stap--;
	}

	updateDisplay(stappen[stap]);
	document.getElementById('offertebedrag').value = number_format(stappen[stap],0,'','.');
	document.getElementById('bedrag').innerHTML = 'Uw lening: &euro; '+number_format(stappen[stap],0,'','.');
}

function getMouseXY(e) {
	oldX = tempX;
	if(IE) {
	    tempX = event.clientX + document.body.scrollLeft
	}else{  
	    tempX = e.pageX
  	}  
	if (tempX < 0){tempX = 0}
	if(tempX > oldX){
		direction = 'right';
	}else{
		direction = 'left';
	}

	if(slide){
		waarde = parseInt(startpos)+parseInt(tempX-startpos1);
		
		if(waarde >= 0 && waarde < 279){
			document.getElementById('handle').style.marginLeft = waarde+ "px";
			percentage = Math.ceil((waarde/278)*100);
			getBedrag(percentage);
		}
	}
	
	return true
}


function startslider(){
	first = true;
	slide = true;
	startpos = document.getElementById('handle').style.marginLeft.replace('px','');
	startpos1= tempX;
	
}
function endslider(){

	slide = false;
}
function number_format(number, decimals, dec_point, thousands_sep) {
    var n = number, prec = decimals;
    var toFixedFix = function (n,prec) {
        var k = Math.pow(10,prec);
        return (Math.round(n*k)/k).toString();
    };
    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
    var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;
    var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
    var abs = toFixedFix(Math.abs(n), prec);
    var _, i;
    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;
        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }
    var decPos = s.indexOf(dec);
    if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
        s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
    }
    else if (prec >= 1 && decPos === -1) {
        s += dec+new Array(prec).join(0)+'0';
    }
    return s;
}

function setNrOfTerms(nrTerms) {
	var nrTermsRounded = Math.ceil(nrTerms);
	document.getElementById("tl").innerHTML = nrTermsRounded + ' maanden';
}

function updateDisplay(loanAmount) {
	var product = "DK";
	var repaymentPct = 2;

	var monthlyCost = calcMonthlyCostRCS(loanAmount, repaymentPct);
	var nrTermsUnrounded = calcNrOfTermsRCS(product, loanAmount, monthlyCost);
	var totalCost = calcTotalCostRCS(nrTermsUnrounded, monthlyCost);

	var pctInterestMonth = getProductInterestRate(product, loanAmount) / 100;
	var pctEffectiveInterestYear = Math.pow(1 + pctInterestMonth, 12) - 1;
	//var pctEffectiveInterestYear = 0.052;

	document.getElementById("mk").innerHTML = '&#8364; ' + formatNumber(monthlyCost, 0) + '';

	setNrOfTerms(nrTermsUnrounded);
	document.getElementById("ej").innerHTML = formatNumber(pctEffectiveInterestYear*100,1) + '%';
	document.getElementById("pk").innerHTML = '&#8364; ' + formatNumber(totalCost) + '';


}
function formatNumber(aNumber, decimals) {
	var result = '';
	var integralPart;
	var fractionalPart;

	if (decimals > 0) {
		var tempnr = Math.round(aNumber*Math.pow(10,decimals)) + '';
		var lenght = tempnr.length;
		integralPart = tempnr.substr(0, lenght-decimals);
		fractionalPart = tempnr.substr(lenght-decimals);
	}
	else {
		integralPart = Math.round(aNumber) + '';
	}

	var separatorLength = 3;

	if(integralPart.length > separatorLength) {
		// Logic of separation
		while( integralPart.length > separatorLength) {
			result = '.' + integralPart.substr(integralPart.length - separatorLength) + result;
			integralPart = integralPart.substr(0,integralPart.length - separatorLength);
		}
		result = integralPart + result;
	}
	else
	{
		result = integralPart;
	}

	if (decimals > 0) {
		result = result + ',' + fractionalPart;
	}

	return result;
}
function calcMonthlyCostRCS(loanAmount, repaymentpct) {
	var monthlyCost = Math.ceil(Math.round(loanAmount * repaymentpct)/100);

	return monthlyCost;
}

function calcNrOfTermsRCS(product, loanAmount, monthlyCost) {
	var interestRate = getProductInterestRate(product, loanAmount);

	var a = loanAmount * interestRate / 100;
	var b = monthlyCost - a;
	var lnMonthlyCost = Math.log(monthlyCost) / Math.log(10);
	var lnb = Math.log(b) / Math.log(10);
	var c = lnMonthlyCost - lnb;
	var lnd = Math.log((interestRate / 100) + 1) / Math.log(10);
	var nrOfTermsUnrounded = c / lnd;

	return nrOfTermsUnrounded;
}

function calcTotalCostRCS(nrOfTerms, monthlyCost) {
	return nrOfTerms * monthlyCost;
}

function determinePreferredRepaymentPctRCS(loanAmount, preferredMonthlyCost) {
    var pctRepayment = preferredMonthlyCost * 100 / loanAmount;
    // Round on 1 decimal
	var pctRepaymentRounded = Math.round(pctRepayment * 10) / 10;
	
	// Round half down
	if (pctRepayment + 0.05 == pctRepaymentRounded) {
		pctRepaymentRounded = pctRepaymentRounded - 0.1;
	}
	
	return pctRepaymentRounded;
}


function getProductInterestRate(product, loanAmount) {
    var pctInterestMonth = 0;
    if ("DK" == product && loanAmount >= 0 && loanAmount <= 9999.99) {
        //return 0.6667;
		return 0.455;
    }
    if ("DK" == product && loanAmount >= 10000 && loanAmount <= 14999.99) {
        //return 0.5811;
		return 0.455;
    }
    if ("DK" == product && loanAmount >= 15000 && loanAmount <= 24999.99) {
        //return 0.5654;
		return 0.455;
    }
    if ("DK" == product && loanAmount >= 25000 && loanAmount <= 999999) {
       // return 0.5419;
		return 0.455;
    }

    return null;
}

function getMinimumInterestRate() {
    return 5.6;
}
function fix_external_links() {
     if (!document.getElementsByTagName) return;
     var anchors = document.getElementsByTagName("a");
     for (var i = 0; i < anchors.length; i++) {
                    var anchor = anchors[i];
                    if (anchor.getAttribute("rel") && anchor.getAttribute("rel") == "external") {
                                    anchor.target = "_blank";
                    }
     }
}

