/***********************************************
* online-rechner für selbstimport: http://www.uscars24.de/translate.html
* This notice stays for legal use
* Visit http://www.uscars24.de/translate.html
***********************************************/


function ersetze_kom(obj){
     obj.value = number_format(obj.value, 2, ',', '.', true);
}
function ersetze_kom3(obj){
	obj.value = obj.value.replace('.', ',');
	obj.value = number_format(obj.value, 2, ',', '.', true);
}

function rundeauf(wert){
	return Math.round(eval(wert*100))/100;
}


function berechne(){

if (document.rechner.dollarkurs.value=="") {alert('Bitte den Dollarkurs eingeben. Z.B.: 1.25'); return false;}
// Einkaufspreis USA / Dollarkurs
document.rechner.einkaufspreis_usa_e.value = rundeauf(eval(number_deformat(document.rechner.einkaufspreis_usa_d.value)/number_deformat(document.rechner.dollarkurs.value)));
document.getElementById('einkaufspreis_usa_e').innerHTML = number_format(document.rechner.einkaufspreis_usa_e.value, 2, ',', '.', false);
// Sales Tax / Dollarkurs
document.rechner.stax_e.value = rundeauf(eval(number_deformat(document.rechner.stax_d.value)/number_deformat(document.rechner.dollarkurs.value)));
document.getElementById('stax_e').innerHTML = number_format(document.rechner.stax_e.value, 2, ',', '.', false);
// Sonstige Kosten USA / Dollarkurs
document.rechner.skosten_e.value = rundeauf(eval(number_deformat(document.rechner.skosten_d.value)/number_deformat(document.rechner.dollarkurs.value)));
document.getElementById('skosten_e').innerHTML = number_format(document.rechner.skosten_e.value, 2, ',', '.', false);
// Vermittler USA / Dollarkurs
document.rechner.vermittler_e.value = rundeauf(eval(number_deformat(document.rechner.vermittler_d.value)/number_deformat(document.rechner.dollarkurs.value)));
document.getElementById('vermittler_e').innerHTML = number_format(document.rechner.vermittler_e.value, 2, ',', '.', false);
// Transport USA / Dollarkurs
document.rechner.transport_usa_e.value = rundeauf(eval(number_deformat(document.rechner.transport_usa_d.value)/number_deformat(document.rechner.dollarkurs.value)));
document.getElementById('transport_usa_e').innerHTML = number_format(document.rechner.transport_usa_e.value, 2, ',', '.', false);
// Export-Vorbereitung / Dollarkurs
document.rechner.exportvorb_e.value = rundeauf(eval(number_deformat(document.rechner.exportvorb_d.value)/number_deformat(document.rechner.dollarkurs.value)));
document.getElementById('exportvorb_e').innerHTML = number_format(document.rechner.exportvorb_e.value, 2, ',', '.', false);
// Verschiffung / Dollarkurs
document.rechner.verschiffung_e.value = rundeauf(eval(number_deformat(document.rechner.verschiffung_d.value)/number_deformat(document.rechner.dollarkurs.value)));
document.getElementById('verschiffung_e').innerHTML = number_format(document.rechner.verschiffung_e.value, 2, ',', '.', false);

// (Einkaufspreis USA + Sales Tax + Sonstige Kosten USA + Vermittler USA + Transport USA + Export-Vorbereitung + Verschiffung) * Prozentsatz Transportversicherung
if(document.rechner.transportversicherung_p.value=="") document.rechner.transportversicherung_p.value="0,00";

document.rechner.transportversicherung_e.value =
rundeauf((eval(document.rechner.einkaufspreis_usa_e.value) +
eval(document.rechner.stax_e.value)+
eval(document.rechner.skosten_e.value)+
eval(document.rechner.vermittler_e.value)+
eval(document.rechner.transport_usa_e.value)+
eval(document.rechner.exportvorb_e.value)+
eval(document.rechner.verschiffung_e.value)) * (eval(number_deformat(document.rechner.transportversicherung_p.value))/100));
document.getElementById('transportversicherung_e').innerHTML = number_format(document.rechner.transportversicherung_e.value, 2, ',', '.', false);

/* (Einkaufspreis USA + Sales Tax + Sonstige Kosten USA + Vermittler USA +
Transport USA + Export-Vorbereitung + Verschiffung + Transportvers. +
Hafen-Abfertigung + Verzollung */
document.rechner.zollwert.value =
rundeauf(eval(document.rechner.einkaufspreis_usa_e.value) +
eval(document.rechner.stax_e.value)+
eval(document.rechner.skosten_e.value)+
eval(document.rechner.vermittler_e.value)+
eval(document.rechner.transport_usa_e.value)+
eval(document.rechner.exportvorb_e.value)+
eval(document.rechner.verschiffung_e.value)+
eval(document.rechner.transportversicherung_e.value)+
eval(number_deformat(document.rechner.hafenab.value))+
eval(number_deformat(document.rechner.verzollung.value)));
document.getElementById('zollwert').innerHTML = number_format(document.rechner.zollwert.value, 2, ',', '.', false);

// Zollwert * Prozentsatz Zoll
document.rechner.zoll.value = rundeauf(eval(document.rechner.zollproz.value)* eval(document.rechner.zollwert.value));
document.getElementById('zoll').innerHTML = number_format(document.rechner.zoll.value, 2, ',', '.', false);

// Zollwert + Zoll + Transport Europa
document.rechner.zwischensumme1.value =
rundeauf(eval(document.rechner.zollwert.value) +
eval(document.rechner.zoll.value)+
eval(number_deformat(document.rechner.transport_europa.value)));
document.getElementById('zwischensumme1').innerHTML = number_format(document.rechner.zwischensumme1.value, 2, ',', '.', false);

// Zwischensumme 1 * 19%
document.rechner.eust.value = rundeauf(eval(document.rechner.zwischensumme1.value * 0.19)); // EUST!!!!
document.getElementById('eust').innerHTML = number_format(document.rechner.eust.value, 2, ',', '.', false);

// Zwischensumme 1 + EUST
document.rechner.zwischensumme2.value = rundeauf(eval(document.rechner.zwischensumme1.value) + eval(document.rechner.eust.value));
document.getElementById('zwischensumme2').innerHTML = number_format(document.rechner.zwischensumme2.value, 2, ',', '.', false);

//Zwischensumme 2 + TüV-Abnahme + Garantie + Pauschalbetrag + Sonstige Kosten Europa

if (document.rechner.tuef.value=="") document.rechner.tuef.value="0,00";
if (document.rechner.garantie.value=="") document.rechner.garantie.value="0,00";
if (document.rechner.sonstige_kosten_europa.value=="") document.rechner.sonstige_kosten_europa.value="0,00";

document.rechner.gesamt.value =
rundeauf(eval(document.rechner.zwischensumme2.value) +
eval(number_deformat(document.rechner.tuef.value))+
eval(number_deformat(document.rechner.garantie.value))+
eval(number_deformat(document.rechner.pauschalbetrag.value))+
eval(number_deformat(document.rechner.sonstige_kosten_europa.value)));
document.getElementById('gesamt').innerHTML = number_format(document.rechner.gesamt.value, 2, ',', '.', false);
}

//-----------------------------------------
function number_deformat(number){
  number = number.replace(/,/, 'a');

  number = number.replace('.', '');
  number = number.replace('.', '');
  number = number.replace('.', '');
  number = number.replace('.', '');
  number = number.replace('.', '');

  number = number.replace(/a/, '.');
  return number;
}

function number_format (number, decimals, dec_point, thousands_sep, repl)
{
  if (repl)
  {
  number = number.replace(/,/, 'a');

  number = number.replace('.', '');
  number = number.replace('.', '');
  number = number.replace('.', '');
  number = number.replace('.', '');
  number = number.replace('.', '');

  number = number.replace(/a/, '.');
  }
  //return number;
  //alert (number);
  var exponent = "";
  var numberstr = number.toString ();
  var eindex = numberstr.indexOf ("e");
  if (eindex > -1)
  {
    exponent = numberstr.substring (eindex);
    number = parseFloat (numberstr.substring (0, eindex));
  }

  if (decimals != null)
  {
    var temp = Math.pow (10, decimals);
    number = Math.round (number * temp) / temp;
  }
  var sign = number < 0 ? "-" : "";
  var integer = (number > 0 ?
      Math.floor (number) : Math.abs (Math.ceil (number))).toString ();

  var fractional = number.toString ().substring (integer.length + sign.length);
  dec_point = dec_point != null ? dec_point : ".";
  fractional = decimals != null && decimals > 0 || fractional.length > 1 ?
               (dec_point + fractional.substring (1)) : "";
  if (decimals != null && decimals > 0)
  {
    for (i = fractional.length - 1, z = decimals; i < z; ++i)
      fractional += "0";
  }

  thousands_sep = (thousands_sep != dec_point || fractional.length == 0) ?
                  thousands_sep : null;
  if (thousands_sep != null && thousands_sep != "")
  {
	for (i = integer.length - 3; i > 0; i -= 3)
      integer = integer.substring (0 , i) + thousands_sep + integer.substring (i);
  }

  return sign + integer + fractional + exponent;
}
