function CojeValor(sValue)
{
    var sRaw = "";
    var sChar = "";
    var i = 0;

    sValue += "";
    for (i=0; i <= sValue.length; i++) {

        sChar = sValue.substring(i, i+1);

	if ((sChar >= "0") && (sChar <= "9")){
            sRaw = sRaw + sChar;
        }
    }

    if (sRaw.length > 0) {
        return parseInt(sRaw);
    }
    else {
        return 0;
    }
}


function cojerValores(sValue)
{
    var sRaw = "";
    var sChar = "";
    var bHasDecimal = 0;
    var i = 0;

    sValue += "";
    for (i=0; i <= sValue.length; i++) {

        sChar = sValue.substring(i, i+1);

        if ((sChar >= "0") && (sChar <= "9")){
            sRaw = sRaw + sChar;
        }

        if ((sChar == ",") || (sChar == ".")){
            bHasDecimal = 1;
            sRaw = sRaw + ".";
        }

    }

    if (bHasDecimal) {
        return parseFloat(sRaw);
    }

    if (sRaw.length > 0) {
        return parseInt(sRaw);
    }
    else {
        return 0;
    }
}


function FormatOutput(iValue, nDec) {
    var bIsNegative = 0;
    var iPos = 0;
    var sChar = "";
    var sTempNumber = "";
    var sNoChars = "";
    var sDollars = "";
    var sCents = "";
    var sDollarAmount = "";
    var sFormated = "";
    var x = 0;

    if (iValue != "") {

        sTempNumber = iValue + "";
        if (sTempNumber.charAt(0) == "-") {
            bIsNegative = 1;
            sTempNumber = sTempNumber.substring(1, sTempNumber.length);
        }

        sTempNumber
        IndexOfDec = sTempNumber.indexOf(".");

        if (IndexOfDec == -1) {
            sDollars = sTempNumber;
            sCents = "00";
        }
        else if (IndexOfDec == 0) {
            sDollars = "0";
            sCents = sTempNumber.substring(IndexOfDec + 1, sTempNumber.length);
        }
        else {
            sDollars = sTempNumber.substring(0, IndexOfDec);
            if (IndexOfDec == (sTempNumber.length - 1)) {
                sCents = "00";
            }
            else {
                sCents = sTempNumber.substring(IndexOfDec + 1, sTempNumber.length)
                sCents += "0";
                sCents = sCents.charAt(0) + sCents.charAt(1);
            }
        }

        sFormated = sDollars;
        x = sDollars.length;
        iPos = 0;
        while (x > 0) {
            x--;
            sChar = sDollars.charAt(x);
            rounded = Math.round(iPos/3);
            if ( (iPos/3 == rounded ) & (iPos != 0) ) {
                sDollarAmount = "." + sDollarAmount;
            }
            sDollarAmount = sChar +  sDollarAmount;
            iPos++;
        }

        if (nDec) {
          if (bIsNegative) {
              sFormated = "-" + sDollarAmount + "," + sCents + "";
          }
          else {
              sFormated = sDollarAmount + "," + sCents  + "";
          }
	}
        else {
          if (bIsNegative) {
              sFormated = "-" + sDollarAmount + "";
          }
          else {
              sFormated = sDollarAmount + "";
          }
	}

        return (sFormated);
    }
    else {

        return("0" + "");
    }
}


function FormatOutputPercent(iValue, nOfDec) {
 return(iValue + " %")
}



function PagoMensual(term, rate, loanAmount) {

    if (rate >= 1) {
        (rate = rate / 100);
    }
    rateMonthly = (rate / 12);

    totalPayments = (term * 12);

    if (rate == 0) {
        payment = (loanAmount / totalPayments);
    }

    else {
        payment = (loanAmount * rateMonthly) / (1 - Math.pow((1+rateMonthly), (-1*totalPayments)) );
    }

    return(payment);
}


function Recalcular() {
//alert("hola2");


    // get user's data
    Fprice          = CojeValor(document.formulario.txtPrice.value);
    Fdownpayment    = CojeValor(document.formulario.txtDownpayment.value);
    Frate           = cojerValores(document.formulario.txtRate.value);
    Fterm           = CojeValor(document.formulario.cboTerm.options[document.formulario.cboTerm.selectedIndex].text);

    iLoanAmount     = Fprice - Fdownpayment;
    iMonPayment     = PagoMensual(Fterm, Frate, iLoanAmount);
    iMonPayment     = Math.round(iMonPayment * 100) / 100;
    iPaymentTotal   = ((iMonPayment * 12) * Fterm) + Fdownpayment;
    iPaymentTotal     = Math.round(iPaymentTotal * 100) / 100;


    //// FORMAT VARIABLES

    Fdownpayment    = FormatOutput(Fdownpayment,0);
    Fprice          = FormatOutput(Fprice,0);
    Frate           = FormatOutputPercent(Frate);

    iLoanAmount     = FormatOutput(iLoanAmount,0);
    iPaymentTotal   = FormatOutput(iPaymentTotal,0);


    iMonPayment     = FormatOutput(iMonPayment,0);





    document.formulario.txtPrice.value         = Fprice;
    document.formulario.txtDownpayment.value   = Fdownpayment;
    document.formulario.txtRate.value          = Frate;
    document.formulario.txtLoanAmount.value    = iLoanAmount;
    document.formulario.txtMonPayment.value    = iMonPayment;
	//alert (iMonPayment / 166.386);
	valoreuros = iMonPayment * 166.386;
	 document.formulario.txtPaymentTotal.value = Math.round(valoreuros);

}

