// JavaScript Document// Property of BladeFX bvba
// info@bladefx.com
// any unauthorized use of this script will be prosecuted
//
function BerekenKrediet_O(bedrag,soort,tijd2) {

bedrag = replaceSubstring(bedrag, ",", ".");

if (isNaN(bedrag) == true) {
	bedrag = 0;
}

var getal = "";
var tijd = "";
var jkp = "";
var coeff = "";
var maandbedrag = "";
var totaalbedrag = "";
var waarde = 1;

if (tijd2 != 60 && tijd2 != 84 && tijd2 != 120) {
	tijd2 = 60;
}


if (soort != 21) {
	TAEG = 0.1550;
	
	if ((bedrag <= 2500)) {waarde = 0};
	if ((bedrag >= 2501) && (bedrag <= 3700)) {waarde = 1};
	if ((bedrag >= 3701) && (bedrag <= 5600)) {waarde = 2};
	if ((bedrag >= 5601) && (bedrag <= 7500)) {waarde = 3};
	if ((bedrag >= 7501) && (bedrag <= 10000)) {waarde = 4};
	if ((bedrag >= 10001) && (bedrag <= 15000)) {waarde = 5};
	if (bedrag >= 15001) {waarde = 6};
	
	switch(waarde) {
		case 0:
			getal = 2501;
			tijd = 30;
			break;
		case 1:
			getal = bedrag;
			tijd = 30;
			break;
		case 2:
			getal = bedrag;
			tijd = 36;
			break;
		case 3:
			getal = bedrag;
			tijd = 42;
			break;
		case 4:
			getal = bedrag;
			tijd = 48;
			break;
		case 5:
			getal = bedrag;
			tijd = 60;
			TAEG = 0.12;
			break;
		case 6:
			getal = bedrag;
			tijd = tijd2;
			TAEG = 0.12;
			break;
		}
} else {
	TAEG = 0.085
	
	if (bedrag <= 2501.00) {waarde = 1};
	if ((bedrag > 2501.00) && (bedrag <= 3700.00)) {waarde = 2};
	if ((bedrag >= 3701.00) && (bedrag <= 5600.00)) {waarde = 3};
	if ((bedrag >= 5601.00) && (bedrag <= 7500.00)) {waarde = 4};
	if ((bedrag >= 7501.00) && (bedrag <= 10000.00)) {waarde = 5};
	if (bedrag >= 10001.00) {waarde = 6};

	switch(waarde) {
		case 1:
			getal = 2501.00;
			tijd = 30;
			break;
		case 2:
			getal = bedrag;
			tijd = 30;
			break;
		case 3:
			getal = bedrag;
			tijd = 36;
			break;
		case 4:
			getal = bedrag;
			tijd = 42;
			TAEG = 0.074;
			break;
		case 5:
			getal = bedrag;
			tijd = 48;
			TAEG = 0.074;
			break;
		case 6:
			getal = bedrag;
			tijd = tijd2;
			
			switch(tijd) {
				case '60':
					TAEG = 0.067;
					break;
				case '84':
					TAEG = 0.088;
					break;
				case '120':
					TAEG = 0.12;
					break;
			}
			break;
		}
}

	jkp = TAEG*100;
	var TaegPer = Math.pow((1+TAEG),1/12)-1;
	var mens = (getal*TaegPer)/(1-Math.pow((1/(1+TaegPer)),tijd));
	maandbedrag = round(mens);
	totaalbedrag = round(maandbedrag * tijd);

	document.krediet.qty.value = getal;
	document.krediet.Duration.value = tijd;
	document.krediet.JKP.value = jkp;
	document.krediet.MonthQty.value = maandbedrag;
	document.krediet.Totaal.value = totaalbedrag;
}

function BerekenKrediet2(bedrag,soort,tijd2) {

bedrag = replaceSubstring(bedrag, ",", ".");

if (isNaN(bedrag) == true) {
	bedrag = 0;
}

var getal = "";
var tijd = "";
var jkp = "";
var coeff = "";
var maandbedrag = "";
var totaalbedrag = "";
var waarde = 1;

if (tijd2 != 60 && tijd2 != 84 && tijd2 != 120) {
	tijd2 = 60;
}


if (soort != 21) {
	TAEG = 0.1550;
	
	if ((bedrag <= 2500)) {waarde = 0};
	if ((bedrag >= 2501) && (bedrag <= 3700)) {waarde = 1};
	if ((bedrag >= 3701) && (bedrag <= 5600)) {waarde = 2};
	if ((bedrag >= 5601) && (bedrag <= 7500)) {waarde = 3};
	if ((bedrag >= 7501) && (bedrag <= 10000)) {waarde = 4};
	if ((bedrag >= 10001) && (bedrag <= 15000)) {waarde = 5};
	if (bedrag >= 15001) {waarde = 6};
	
	switch(waarde) {
		case 0:
			getal = 2501;
			tijd = 30;
			break;
		case 1:
			getal = bedrag;
			tijd = 30;
			break;
		case 2:
			getal = bedrag;
			tijd = 36;
			break;
		case 3:
			getal = bedrag;
			tijd = 42;
			break;
		case 4:
			getal = bedrag;
			tijd = 48;
			break;
		case 5:
			getal = bedrag;
			tijd = 60;
			TAEG = 0.12;
			break;
		case 6:
			getal = bedrag;
			tijd = tijd2;
			TAEG = 0.12;
			break;
		}
} else {
	TAEG = 0.085
	
	if (bedrag <= 2501.00) {waarde = 1};
	if ((bedrag > 2501.00) && (bedrag <= 3700.00)) {waarde = 2};
	if ((bedrag >= 3701.00) && (bedrag <= 5600.00)) {waarde = 3};
	if ((bedrag >= 5601.00) && (bedrag <= 7500.00)) {waarde = 4};
	if ((bedrag >= 7501.00) && (bedrag <= 10000.00)) {waarde = 5};
	if (bedrag >= 10001.00) {waarde = 6};

	switch(waarde) {
		case 1:
			getal = 2501.00;
			tijd = 30;
			break;
		case 2:
			getal = bedrag;
			tijd = 30;
			break;
		case 3:
			getal = bedrag;
			tijd = 36;
			break;
		case 4:
			getal = bedrag;
			tijd = 42;
			TAEG = 0.074;
			break;
		case 5:
			getal = bedrag;
			tijd = 48;
			TAEG = 0.074;
			break;
		case 6:
			getal = bedrag;
			tijd = tijd2;
			
			switch(tijd) {
				case '60':
					TAEG = 0.067;
					break;
				case '84':
					TAEG = 0.088;
					break;
				case '120':
					TAEG = 0.12;
					break;
			}
			break;
		}
}

	jkp = TAEG*100;
	var TaegPer = Math.pow((1+TAEG),1/12)-1;
	var mens = (getal*TaegPer)/(1-Math.pow((1/(1+TaegPer)),tijd));
	maandbedrag = round(mens);
	totaalbedrag = round(maandbedrag * tijd);

	document.krediet2.qty.value = getal;
	document.krediet2.Duration.value = tijd;
	document.krediet2.JKP.value = jkp;
	document.krediet2.MonthQty.value = maandbedrag;
	document.krediet2.Totaal.value = totaalbedrag;
}


function round(number,X) {
X = (!X ? 2 : X);
return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}

function replaceSubstring(inputString, fromString, toString) {
   var temp = inputString;
   if (fromString == "") {
      return inputString;
   }
   if (toString.indexOf(fromString) == -1) { // If the string being replaced is not a part of the replacement string (normal situation)
     return inputString;
      /*
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
      */
   } else { // String being replaced is part of replacement string (like "+" being replaced with "++") - prevent an infinite loop
      var midStrings = new Array("~", "`", "_", "^", "#");
      var midStringLen = 1;
      var midString = "";
      // Find a string that doesn't exist in the inputString to be used
      // as an "inbetween" string
      while (midString == "") {
         for (var i=0; i < midStrings.length; i++) {
            var tempMidString = "";
            for (var j=0; j < midStringLen; j++) { tempMidString += midStrings[i]; }
            if (fromString.indexOf(tempMidString) == -1) {
               midString = tempMidString;
               i = midStrings.length + 1;
            }
         }
      }
      // Now go through and do two replaces - first, replace the "fromString" with the "inbetween" string
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + midString + toTheRight;
      }
      // Next, replace the "inbetween" string with the "toString"
      while (temp.indexOf(midString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(midString));
         var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   }
   return temp;
}
