// JavaScript Document

var decpoint=".";
var sep=",";
function FormatNumberBy3(num, decpoint, sep) {
  // check for missing parameters and use defaults if so
  if (arguments.length == 2) {
    sep = ",";
  }
  if (arguments.length == 1) {
    sep = ",";
    decpoint = ".";
  }
  // need a string for operations
  num = num.toString();
  // separate the whole number and the fraction if possible
  a = num.split(decpoint);
  x = a[0]; // decimal
  y = a[1]; // fraction
  z = "";


  if (typeof(x) != "undefined") {
    // reverse the digits. regexp works from left to right.
    for (i=x.length-1;i>=0;i--)
      z += x.charAt(i);
    // add seperators. but undo the trailing one, if there
    z = z.replace(/(\d{3})/g, "$1" + sep);
    if (z.slice(-sep.length) == sep)
      z = z.slice(0, -sep.length);
    x = "";
    // reverse again to get back the number
    for (i=z.length-1;i>=0;i--)
      x += z.charAt(i);
    // add the fraction back in, if it was there
    if (typeof(y) != "undefined" && y.length > 0)
      x += decpoint + y;
  }
  return x;
}
function parakurus(num, decpoint, sep){
  var x=FormatNumberBy3(num, decpoint, sep);
  document.getElementById("gpsfk").value=x;  
  valuechange(); 
}

function valuechange(){

var dsf=0;
var imf=0;
var kdv=document.getElementById("kdv").value;
var ki=document.getElementById("ki").value.replace(",",".");
var psfk=document.getElementById("psfk").value.replace(",",".");

var num=psfk/(1+(kdv/100));	
var psfnum=num.toFixed(2);
document.getElementById("psf").value=FormatNumberBy3(psfnum, decpoint, sep);

var psf=psfnum;
	if(num>0 && num<13.625){
       dsf=psf/1.25;           
       imf=psf/1.25/1.09;
	}
	if(num>13.625 && num<67.193){
       dsf=(psf-13.625)/1.24+10.9;
       imf=(psf-13.625)/1.24/1.08+10;
	}           
	if(num>67.193 && num<132.998){
        dsf=((psf-67.193)/1.23)+54.1;
        imf=(((psf-67.193)/1.23)/1.07)+50;
	}           
	if(num>132.998 && num<253.638){
        dsf=(psf-132.998)/1.16+107.6;
        imf=(psf-132.998)/1.16/1.04+100;
	}           
	if(num>253.638){
        dsf=(psf-253.638)/1.1+211.6;
        imf=(psf-253.638)/1.1/1.02+200;
	}         

var matrahnum=dsf.toFixed(2);
document.getElementById("matrah").value=FormatNumberBy3(matrahnum, decpoint, sep);
var matrahnum2=(matrahnum*(1-ki/100)).toFixed(2);
document.getElementById("matrah2").value=FormatNumberBy3(matrahnum2, decpoint, sep);
var dsfnum=(matrahnum*(1+kdv/100)).toFixed(2);
document.getElementById("dsf").value=FormatNumberBy3(dsfnum, decpoint, sep);
var dsfnum2=((matrahnum*(1+kdv/100))*(1-ki/100)).toFixed(2);
document.getElementById("dsf2").value=FormatNumberBy3(dsfnum2, decpoint, sep);
var ek=(psf-matrahnum).toFixed(2);
document.getElementById("ekd").value=FormatNumberBy3(ek, decpoint, sep);
var eky=((psf-matrahnum)/dsf*100).toFixed(2);
document.getElementById("ek").value=eky;
}