function Formato_numero(numero){
var nombre = "";
var num = numero;
if (num != ""){
var str = "";
while (num > 999){
	n1 = Math.floor(num/1000);
	n2 = num - 1000 * n1;
	if (n2 < 10){n2 = "00" + n2;}   
	else{if (n2 < 100)
       	      	n2 = "0" + n2;}
	str = "." + n2 + str;
	num = n1;}
	str = num + str;}
return (str);}
//-------------------------------------------------
function Delete_miles(numero_puntos){
var num_p;
num_p = numero_puntos;longitud = 0;
longitud = num_p.length;n = 0;
var num_sp = "";
while (n<longitud){
     	var car = ' ';
      	var car = num_p.charAt(n);
      	if (car != '.')
		num_sp += num_p.charAt(n);
       	n++;}
var sin_puntos = parseInt(num_sp,10);
return sin_puntos;
}
//-------------------------------------------------	
function isEmpty(s){return ((s == null) || (s.length == 0))}
//-------------------------------------------------
function CleanThis(Tipo){
if (Tipo=="dinero")
	document.formu.importeh.value="";
else if(Tipo=="Apertura")
	document.hipoteca.MinApert.value="";}

//-------------------------------------------------
function PonPuntos(obj, sign, imaxlength)
{
var snumero; 
snumero = obj.value + 1; 
 
if (snumero.length > imaxlength)
	{  
	event.returnValue = false;
     	return false;  
   	}
if (isEmpty(obj.value) && (event.keyCode == 48)) 
  	{
     	Event.returnValue = false;
}
else
	if (sign == "positive")
  		{	
    		if ((event.keyCode < 48) || (event.keyCode > 57))
    			{
      			event.returnValue = false;
    			}
    		else 
    			{
      			var s_pre = obj.value;
      			var s_inter = "";
      			var s_post = "";
      			var single_character = "";
      			var poner_punto = 1;
      			for (var i = 0; i < s_pre.length; i++)
      				{
        			single_character = s_pre.substring(i,i+1);
        			if (single_character != ".")
        				{
          				s_inter = s_inter + single_character;
        				}
      				}
			s_inter = s_inter + String.fromCharCode(event.keyCode);
			for (var j = s_inter.length; j > 0; j--, poner_punto++)
      				{
        			s_post = s_inter.substring(j-1,j) + s_post;
        			if ((poner_punto == 3) && (j != 1))
        				{
          				poner_punto = 0;
          				s_post = "." + s_post;
        				}
      				}
      			obj.value = s_post;
      			event.returnValue = false;
    			}
  		}
  	else
  		{
    		if ((isEmpty(obj.value) && ((event.keyCode < 48) || (event.keyCode > 57)) && (event.keyCode != 43) && (event.keyCode != 45)) || ((obj.value.length > 0) && ((event.keyCode < 48) || (event.keyCode > 57))))
    			{
    			event.returnValue = false;
    			}
    		else if (obj.value != "+" && obj.value != "-")
    			{
      			var s_pre = obj.value;
      			var s_inter = "";
      			var s_post = "";
      			var single_character = "";
      			var poner_punto = 1;
      			var sign_character = "";
			if ((s_pre.substring(0, 1) == "+") || (s_pre.substring(0, 1) == "-"))
      				{
        			sign_character = s_pre.substring(0, 1);
        			s_pre = s_pre.substring(1, s_pre.length);
      				}
			for (var i = 0; i < s_pre.length; i++)
      				{
        			single_character = s_pre.substring(i,i+1);
			        if (single_character != ".")
        				{
          				s_inter = s_inter + single_character;
        				}
      				}
			s_inter = s_inter + String.fromCharCode(event.keyCode);
			for (var j = s_inter.length; j > 0; j--, poner_punto++)
      				{
        			s_post = s_inter.substring(j-1,j) + s_post;
			        if ((poner_punto == 3) && (j != 1))
        				{
          				poner_punto = 0;
          				s_post = "." + s_post;
        				}
      				}
				obj.value = sign_character + s_post;
				event.returnValue = false;
    			}
  		}
	}
//-------------------------------------------------	
function EsNumerico(dato){
var i;var longitud;var caracter;var sumo = 0;longitud = dato.length;valido = "0123456789.";
for ( i=0; i <= longitud; i++){
	caracter = dato.substring(i,i+1)
	if (valido.indexOf(caracter) == -1)
		return false;}return true;}
//-------------------------------------------------
function borrar(obj){obj.value = "";}
//-------------------------------------------------
function cerrar(){Window.close();}
//-------------------------------------------------
function entreLimites(inf,sup,temp,cadena){
resultado=true
if(temp.value==""){temp.value = 0}
cantidad=quitaMillares(temp.value);
if (esNumero(cantidad)){
        if (cantidad < inf || cantidad > sup){alert("Por favor, introduzca un valor comprendido entre "+formatoMoneda(inf,".")+" y "+formatoMoneda(sup,".")+cadena);temp.value="";resultado=false;}
}else{alert("Por favor, introduzca un numero.");temp.value="";resultado=false;}
return resultado;}
//-------------------------------------------------
function calculaPrestamo(temp){
if (validas == 1){
temp.formCapital.value=quitaMillares(temp.formCapital.value);
var capital=temp.formCapital.value;
var tiempo=temp.formTiempo.value;
var interes=temp.formInteres.value/1200;
factor=Math.pow((1+interes),tiempo)
cuota=capital * ( (factor*interes) / (factor-1) );
temp.formCapital.value=formatoMoneda(temp.formCapital.value);
temp.formTiempo.value=formatoMoneda(temp.formTiempo.value);

if("NaN"==""+cuota || "Infinity"==""+cuota){cuota=0;}
temp.formResultado.value=formatoMoneda(Math.round(cuota));
}else{temp.formResultado.value=""}}
//-------------------------------------------------
function compruebaEntradas(temp){
validas=1;
if(!esNumero(quitaMillares(temp.formCapital.value))){alert("Por favor, introduzca un n&uacute;mero.");temp.formCapital.value="";validas=0;}
if(!entreLimites(1000000,30000000,temp.formCapital,' de pesetas.')){validas=0;}
if(!entreLimites(1,300,temp.formTiempo,' meses.')){validas=0;}}
//-------------------------------------------------
function ponInteres(temp){
var inte=0;
if (temp.Rmeses[0].checked){inte=3.75;}
if (temp.Rmeses[1].checked){inte=4.25;}
if (temp.Rmeses[2].checked){inte=6.;}
temp.formInteres.value=inte;}
//-------------------------------------------------
function ponInteres2(temp){
var t_inte=0;
if (temp.periodo_inicial.options[0].selected == true){t_inte=3.75;}
if (temp.periodo_inicial.options[1].selected == true){t_inte=4.25;}
if (temp.periodo_inicial.options[2].selected == true){t_inte=6.;}
temp.formInteres.value=t_inte;}
//-------------------------------------------------
var elem=new Array(6,9,11,12,13,17,19)
var campos=new Array("Importe a financiar","Plazo","Apellidos","Nombre","D.N.I.","E-mail","Teléfono")
//-------------------------------------------------
function obligatorios(){
var cont=0
var paso=true
for (var i=0;i<elem.length;i++){
	cont+=1 
	if(document.forms['PrestamoPersonal'].elements[elem[i]].value==""){
		alert("Debe rellenar el campo \""+campos[i]+"\"")
		document.forms['PrestamoPersonal'].elements[elem[i]].focus()
		paso=false
		break}}
        if (paso) document.forms['PrestamoPersonal'].submit()}
//-------------------------------------------------
var datos = new Array(4)
var nomdatos =new Array("Capital inicial","Tipo de interés","Plazo de amortización","Mensualidad")
var capitemp=0
var intetemp=0
var plazotemp=0
var mensutemp=0
//-------------------------------------------------
function borradato(num){document.forms[0].elements[num].value=""}
//-------------------------------------------------
function compruebadatos(){
if (document.miForm.m.value != ""){document.miForm.m.value = ""}
sigo = true
if (!(document.miForm.c.value == "")){document.miForm.c.value = Delete_miles(document.miForm.c.value);}
if (!(document.miForm.m.value == "")){document.miForm.m.value = Delete_miles(document.miForm.m.value);}
var capital;
capital = parseInt(document.miForm.c.value);
//capital = parseInt('10000000');
var mensualidad;
mensualidad = parseInt(document.miForm.m.value);
if (capital < mensualidad && !(document.forms[0].elements[0].value == "")){alert ("La cuota no puede ser mayor que el importe inicial!");document.forms[0].elements[3].focus();return;}
if (document.forms[0].elements[1].value < 0){alert ("No introduzca intereses negativos");document.miForm.c.value = Formato_numero(document.miForm.c.value);document.forms[0].elements[1].focus();return;}
if (document.forms[0].elements[2].value < 0){alert ("No introduzca años negativos");document.miForm.c.value = Formato_numero(document.miForm.c.value);document.forms[0].elements[2].focus();return;}
if (document.forms[0].elements[2].value > 50){alert("El Banco de España no autoriza amortizaciones de más de 50 años");document.forms[0].elements[2].value = "";document.miForm.c.value = Formato_numero(document.miForm.c.value);document.forms[0].elements[2].focus();return;}
if (document.forms[0].elements[1].value > 20){alert("El interés máximo es 20%!");
if (!(document.miForm.c.value == "")){document.miForm.c.value = Formato_numero(document.miForm.c.value);}
if (!(document.miForm.m.value == "")){document.miForm.m.value = Formato_numero(document.miForm.m.value);}  
	document.forms[0].elements[1].focus();
	return;}
	for (i=0;i<4;i++){
		if (isNaN(document.forms[0].elements[i].value)){
			sigo=false
			alert("El dato introducido en "+nomdatos[i]+" no es un número");
			if (!(document.forms[0].elements[0].value == "")){document.forms[0].elements[0].value = Formato_numero(document.forms[0].elements[0].value);}
			if (!(document.forms[0].elements[3].value == "")){document.forms[0].elements[3].value = Formato_numero(document.forms[0].elements[3].value);}
			document.forms[0].elements[i].focus();
			break}
	}
	if (sigo){if (!(document.miForm.p.value == "")){document.miForm.p.value = parseInt(document.miForm.p.value) * 12;}
		calculaprestamo()}
if (!(document.miForm.c.value == "") && !(document.miForm.m.value == "")){document.miForm.c.value = Formato_numero(document.miForm.c.value);document.miForm.m.value = Formato_numero(document.miForm.m.value);}}
//-------------------------------------------------
function calculaprestamo(){
var suma=0
correcto=true
for (i=0;i<4;i++){datos[i]=document.forms[0].elements[i].value
if (datos[i]!=""){suma+=1}}
if (suma==4){
correcto=false
document.miForm.p.value = parseInt(document.miForm.p.value) / 12;
alert("Es necesario que deje uno de los datos vacío")
}else{
if (suma<3){
	correcto=false
	document.miForm.p.value = parseInt(document.miForm.p.value) / 12;
	document.forms[0].elements[2].value = ""; 
	alert("Deberá introducir el Importe, Tipo de Interés y el Plazo de Amortización")
	for (h=0;h<3;h++){
		if (!(document.forms[0].elements[h].value == "")){document.forms[0].elements[h].value = Formato_numero(document.forms[0].elements[h].value);}}}}
if (correcto){if (datos[1]==""){
mtemp=datos[0]/datos[2]
if (datos[3]<mtemp){
	correcto=false
	alert("Ha introducido una combinación no válida de capital, plazo y mensualidad")
}else{calculainteres()}}
if (datos[0]==""){
id=datos[1]/1200

if (plazotemp==datos[2] && intetemp==id && parseInt(mensutemp)==datos[3]){res=mensutemp/((Math.pow(1+intetemp,plazotemp)*intetemp)/(Math.pow(1+intetemp,plazotemp)-1))}else{res=datos[3]/((Math.pow(1+id,datos[2])*id)/(Math.pow(1+id,datos[2])-1))}
res=parseInt(res)
document.forms[0].elements[0].value=res
document.miForm.p.value = parseInt(document.miForm.p.value) / 12;
}
if (datos[2]==""){
	id=datos[1]/1200
dividendo1=Math.log(datos[3])
suma1=(-datos[0]*id)
suma2=datos[3]
sumando=parseFloat(suma1)+parseFloat(suma2)
dividendo2=Math.log(sumando)
divisor=Math.log(1+id)
res=(dividendo1-dividendo2)/divisor
res=Math.ceil(res)
document.forms[0].elements[2].value=res
if ((res /12) > 50 || isNaN(res)) {alert("El Banco de España no autoriza amortizaciones de más de 50 años");document.forms[0].elements[2].value = "";document.miForm.c.value = Formato_numero(document.miForm.c.value);document.forms[0].elements[2].focus();return;}

//**********Modificamos el capital inicial******************
cinicial=datos[3]/((Math.pow(1+id,res)*id)/(Math.pow(1+id,res)-1))
if (document.forms[0].elements[0].value!=parseInt(cinicial)){ 
	document.forms[0].elements[0].value=parseInt(cinicial)
	alert("Se ha modificado el Capital inicial para que sea \ncoherente con el resultado del plazo en valores enteros")}		
document.miForm.p.value = Math.round(parseInt(document.miForm.p.value) / 12);}
if (datos[3]==""){
id=datos[1]/1200
res=datos[0]*((Math.pow(1+id,datos[2])*id)/(Math.pow(1+id,datos[2])-1))
intetemp=id
capinitemp=datos[0]
plazotemp=datos[2]
mensutemp=res
dato=res+""
indi=dato.indexOf(".")
if (dato!=-1){
deci=dato.substring(indi+1,indi+3)
	if (parseInt(deci)>=50){document.forms[0].elements[3].value=Math.ceil(res)}else{document.forms[0].elements[3].value=parseInt(res)}}else{res=parseInt(res)
	document.forms[0].elements[3].value=res}
	document.miForm.p.value = parseInt(document.miForm.p.value) / 12;}}}
//-------------------------------------------------
function calculainteres(){
inter=4.50
if (plazotemp==datos[2] && capinitemp==datos[0] && parseInt(mensutemp)==datos[3]){d3=mensutemp;d2=plazotemp;d0=capinitemp;}else{d0=datos[0];d3=datos[3];d2=datos[2]};
do{
id=inter/1200
res=d0*((Math.pow(1+id,d2)*id)/(Math.pow(1+id,d2)-1))
if (parseInt(res)>d3){inter=inter-0.01}
if (parseInt(res)<d3){inter= inter+0.01}
comparo=(parseInt(d3))+parseInt(31)
comparo1=(parseInt(d3))-parseInt(31)}
while (parseInt(res)>parseInt(comparo) || parseInt(res)<parseInt(comparo1))
inter=inter*100
inter=parseInt(inter)
inter=inter/100
document.forms[0].elements[1].value=inter
id=inter/1200
cinicial=datos[3]/((Math.pow(1+id,datos[2])*id)/(Math.pow(1+id,datos[2])-1))
if (document.forms[0].elements[0].value!=parseInt(cinicial)){ 
	document.forms[0].elements[0].value=parseInt(cinicial)
	alert("Se ha modificado el Capital inicial para que sea \ncoherente con el redondeo aplicado al resultado")
	}
document.miForm.p.value = parseInt(document.miForm.p.value) / 12;
capinitemp=0
plazotemp=0
}
//-------------------------------------------------
function cerrar(){Window.close();}
//-------------------------------------------------
function borrar(obj){obj.value = "";}