function calcular(){
    var interes=quitapuntos(document.hipotecas.interes.value);
    var importe=quitapuntos(document.hipotecas.importe.value); 
    var tiempo=document.hipotecas.tiempo.value;   

    if (importe != "" && interes != "" && tiempo != "") { 
        interes=interes.replace(",",".");
	importe=importe.replace(",",".");
	tiempo=tiempo.replace(",",".");
	tiempo = tiempo * 12;

	interes=interes/1200;

        var resultado=importe*interes*(Math.pow(1+interes,tiempo))/(Math.pow(1+interes,tiempo)-1);
        resultado = redondeoPesetas(resultado);
        var resultadoEuros= resultado / 166.386;
        resultadoEuros= redondeoEuros(resultadoEuros);
        resultadoEuros = ('' + resultadoEuros).replace('.',',')
        document.hipotecas.resultado.value=maqueaCifra(''+resultado);  
        document.hipotecas.resultadoEuros.value=maqueaCifra(resultadoEuros);
    } 
    else
        alert ("Introduzca los datos que faltan");
}

function comprueba(texto,quien){
    var cadena=quitapuntos(texto.value);

    var longitud=cadena.length;
    var letra=cadena.charAt(longitud-1);

    var valido = false;
   
    if (quien == "interes" || quien == "importeEuros")
        if (letra == ",") valido = true;

    if (!valido){
        if (letra < "0" || letra >"9")
            texto.value=cadena.substring(0,longitud-1);
    }
}


function redondeoEuros(numero){
    numero=numero*1000; 
    numero=Math.floor(numero);

    if (numero % 10 > 4)
        numero=numero+10;

    numero=numero /10;
    numero=Math.floor(numero);  
    numero=numero/100;
    return numero;
}


function redondeoPesetas(numero){
    numero=numero*10; 
    numero=Math.floor(numero);

    if (numero % 10 > 4)
        numero=numero+10;

    numero=numero /10;
    numero=Math.floor(numero);  
    return numero;
}


function transforma (numero){
    if (numero == "1") { 
        var importe=conviertenum(document.hipotecas.importe.value);
	importe = importe / 166.386;
	importe=redondeoEuros(importe);
	importe = (''+importe).replace('.',',')
 	document.hipotecas.importeEuros.value=maqueaCifra(importe);
  } else {
        var importe = conviertenum(document.hipotecas.importeEuros.value);
	importe = importe * 166.386;
	importe = redondeoPesetas(importe);
	importe = (''+importe).replace('.',',')
        document.hipotecas.importe.value=maqueaCifra(importe);		    	
  }
}

function quitapuntos (numero) {
var numeroret = ""
  for (i=0; i<numero.length; i++) {
    ch = numero.charAt(i)
    if (ch >="0" && ch <="9") 
      numeroret = numeroret + ch
    else {
        if (ch != ".")
           if (ch == ",") numeroret = numeroret + ","
    }

  }
  return(numeroret)
}

function maqueaCifra(num) {
  var cifraentera
  var dec
  var cifrafinal
  var cont
  var caracter 
  var hubocoma
     
  cifraentera = ""
  dec = ""
  cifrafinal = ""
  hubocoma = false

  for (i = 0; i < num.length; i++) {
    caracter = num.charAt(i)
    if (caracter >= "0" && caracter <= "9") {
       if (!hubocoma) {
          cifraentera = cifraentera + caracter 
       }
       else {
          dec = dec + caracter 
       }
    }
    else {
       if (caracter == "," && !hubocoma) {
             hubocoma=true
             if (cifraentera.length==0)
                 cifraentera = "0"
             else
               if (!(caracter == "." && !hubocoma))
                   return (num)
       }
    }
  }

  cont = 0

  for (i = cifraentera.length-1; i >= 0; i--) {
     var valor=''
     if (cont==3) {
         valor='.'
         cont = 0
     }
     cifrafinal = cifrafinal + valor + cifraentera.charAt(i)
     cont++;
  }
  cifrafinal=strrev(cifrafinal)
  if (dec.length==0)
      return(cifrafinal)
  else
      return(cifrafinal + "," + dec)
}

function strrev(str) {
   if (!str) return '';
   var revstr='';
   for (i = str.length-1; i>=0; i--)
       revstr+=str.charAt(i)
   return revstr;
}

function conviertenum (numero) {
var numeroret = ""
  for (i=0; i<numero.length; i++) {
    ch = numero.charAt(i)
    if (ch >="0" && ch <="9") 
      numeroret = numeroret + ch
    else {
        if (ch != ".")
           if (ch == ",") numeroret = numeroret + "."
    }

  }
  return(numeroret)
}

