
function isNumber(value) {
   if (Math.round(value) + "" == "NaN") {
		return false;
   }
	return true;
}

function formatNumber(value, format) {
  var numString = value;
  var newString = "";
  if (format == "") {
    if (value == "" ) {
     	return "";
    }
    var n = Math.round(value);
    value = n + "";
    if (value.length <= 3) {
      return value;
    } else {
      var i = value.length % 3;
      var s = "";
      if (i == 0) {
        i = 3;
      }
      s += value.substring(0,i);
      var rest = value.substring(i,value.length);
      while (rest != "") {		
        s += "'" + rest.substring(0, 3);
        rest = rest.substring(3);
      }
      return s;
    }
  } else if (format == "decimal") {
    if (value == "") {
      return "0.000";
    }
   	if (value.indexOf(".") == -1) {
      return value + "." + "000";
    } else {
      var s = value.split(".");
      var zeros = "";

      if (s[0].length == 0) {
        s[0] = "0";
      } else {
        var n = Math.round(s[0]);
        s[0] = n + "";
      }
	
      if (s[1].length == 0) {
        zeros += "000";
      } else if (s[1].length == 1) {
        zeros += "00";
      } else if (s[1].length == 2) {
        zeros += "0";
      } else if (s[1].length > 3) {
        var number1 = s[1].substring(0,3)*10;
        var number2 = s[1].substring(0,4);
        var dif = number2 - number1;
        if (dif > 5) {
          var first = s[1].substring(0,2);
          var last = s[1].substring(2,3);
          var nums = last - 1 + 2;
          s[1] = first + nums;		
        } else {
          s[1] = s[1].substring(0,3);
        }
      }
      return s[0] + "." + s[1] + zeros;
    }
  } else if (format == "percent") {
    if (value == "") {
      return "0.00";
    }
    if (value.indexOf(".") == -1) {
      return value + "." + "00";
    } else {
      var s = value.split(".");
      var zeros = "";
      if (s[0].length == 0) {
        s[0] = "0";
      } else {
        var n = Math.round(s[0]);
        s[0] = n + "";
      }
      if (s[1].length == 0) {
        zeros += "00";
      } else if (s[1].length == 1) {
        zeros += "0";
      } else if (s[1].length > 2) {
        var number1 = s[1].substring(0,2)*10;
        var number2 = s[1].substring(0,3);
        var dif = number2 - number1;
        if (dif > 5) {
          var first = s[1].substring(0,1);
          var last = s[1].substring(1,2);
          var nums = last - 1 + 2;
          s[1] = first + nums;		
        } else {
          s[1] = s[1].substring(0,2);
        }
      }
      return s[0] + "." + s[1] + zeros;
    }
  }
  return value;
}

function formatOnChange(id, type, format) {
	var input = document.getElementById(id);
	if (type == "number") {
		var value = input.value;
		myRe= new RegExp ("[']", "g");
		value = value.replace(myRe,"");
		if (!isNumber(value)) {
			return;
		} else {
			input.value = formatNumber(value, format);
		}
	}
}

function hypoEigenBerechnen(preisId, id1, id2) {
	var preis  = document.getElementById(preisId).value;
	var value1 = document.getElementById(id1).value;
	var value2 = document.getElementById(id2).value;
	

	if(preis == "")
		return;
	else
	{
		myRe = new RegExp ("[']", "g");
		preis = preis.replace(myRe,"");
	}
	if(!isNumber(preis))
		return;
		
	if(value1 == "")
		return;
	else
	{
		myRe = new RegExp ("[']", "g");
		value1 = value1.replace(myRe,"");
	}
 	if(!isNumber(value1))
 		return;
 				
//	if(value2 != "")
//		return;
		
	var val = preis - value1;
	if(val < 0) val = 0;
	
	document.getElementById(id2).value = formatNumber(val, '');
	
	return;
}
