
// Funciones JavaScript para hallar
// el calculo de un prestamo.
// Ultima Revision: 05/01/2004


//--------------------------------------------

function cuotas_mensuales(anos) {

	resultado = 0;
	interes = (mobil.interes.value)/(100*12);
	prestamo = Delete_miles(mobil.prestamo.value);
	meses=anos * 12;
		
	if (interes == 0) {
		resultado = prestamo/meses;
	}
	else {
		resultado = -(-prestamo * interes * Math.pow((1 + interes),meses)) / (Math.pow((1 + interes),meses) - 1);
	}
	return resultado;
}

//---------------------------------------------

function cuadro_cuotas_mensuales() {

	anos = mobil.plazo.value - 1;
	anos = anos + 1;
	 

var mesa = document.getElementById("hipoteca");




mesa.border=2;	
		
	


while(anos!=4) {

		resultado = cuotas_mensuales(anos);
		var newTD = document.createElement("td");
		var newText = document.createTextNode((anos--) + "- años: " + (Math.round(resultado * 100)) /100);
		newTD.appendChild(newText);

		var trElm = document.getElementById("tabla");
		var refTD = trElm.getElementsByTagName("td").item(0);
		trElm.insertBefore(newTD,refTD);
	}

	// Esto es para poner el titulo del principio
	var newTD = document.createElement("th");
	var newText = document.createTextNode("Cuadro de Cuotas Mensuales");
	newTD.appendChild(newText);

	var trElm = document.getElementById("tabla");
	var refTD = trElm.getElementsByTagName("td").item(0);
	trElm.insertBefore(newTD,refTD);


}

//-----------------------------------------------

function calcular(datos) {
	
		
	igic = 5;
	itp = 6;
	tramitacion_venta = 0.22;
	tramitacion_prestamo = 0.16;
	comision_apertura = mobil.comision.value;
	cancelacion_total_parcial = 0;
	notaria_venta = 0.5;
	notaria_prestamo = 0.49;
	ajd = 1;
	registro_venta = 0.1;
	registro_prestamo = 0.1;
	tasacion = 0.3;
	venta = Delete_miles(mobil.venta.value);
	prestamo = Delete_miles(mobil.prestamo.value);
	plazo = mobil.plazo.value;
	interes = mobil.interes.value;
	

	var mesa = document.getElementById("hipoteca");
	aux=0;
	error=0;
	

	if (mobil.plazo.value=="" || mobil.venta.value=="" || mobil.prestamo.value=="" || mobil.interes.value=="") {
		error=1;
	}


if (mesa.border==2){
error=2;	

}


	if (error==1) {
		alert("Rellene todos los campos");
	}
	if (error==2) {
    alert("Por favor pulse el botón de RESET antes de realizar otro calculo");
	}





	if (error==0) {	
		

		if (mobil.tvivienda[0].checked) {
			aux=igic;
		}
		else {
			aux=itp;
		}

		mobil.notaria_venta.value = Formato_numero(Math.round((venta * notaria_venta) / 100));
		mobil.itp.value = Formato_numero(Math.round((venta * aux) / 100));
		mobil.tramitacion_venta.value = Formato_numero(Math.round((venta * tramitacion_venta) / 100));
		mobil.registro_venta.value = Formato_numero(Math.round((venta * registro_venta) / 100));
		mobil.notaria_prestamo.value = Formato_numero(Math.round((prestamo * notaria_prestamo) /100));
		mobil.ajd.value = Formato_numero(Math.round((prestamo * ajd) / 100));
		mobil.tramitacion_prestamo.value = Formato_numero(Math.round((venta * tramitacion_prestamo) / 100));
		mobil.registro_prestamo.value = Formato_numero(Math.round((venta * registro_prestamo) / 100));
		mobil.tasacion.value = Formato_numero(Math.round((venta * tasacion) / 100));
		mobil.comisiones.value = Formato_numero((prestamo*comision_apertura) / 100);	
		
		
		cuadro_cuotas_mensuales();
	}
}

//------------------------------------------------

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();}
//-------------------------------------------------


