
function M(ingresos)
{
	
	//Función que calcula el porcentaje de ahorro fiscal
	
	var baseImponible;	
	var ahorro;
	var tramos = new Array();
	
	baseImponible=ingresos-9000; // minimo exento
	if (baseImponible <= 0)
	{ 
		// si su base imponible no supera el limite exento no tributa
		ahorro=0;
		return ahorro;
	};
	//Array(Limite inferior, límite superior, ahorro asignado)
	
	/*tramos[0]=new Array (0,			3678.19,	0.18);
	tramos[1]=new Array (3678.19,	12873.68,	0.24);
	tramos[2]=new Array (12873.68,	25134.33,	0.2830);
	tramos[3]=new Array (25134.33,	40460.13,	0.3720);
	tramos[4]=new Array (40460.13,	67433.56,	0.45);
	tramos[5]=new Array (67433.56,	999999999,	0.48);*/
	
	tramos[0]=new Array (0,			    4000,	0.15);
	tramos[1]=new Array (4000,	       13800,	0.24);
	tramos[2]=new Array (13800,	       25800,	0.28);
	tramos[3]=new Array (25800,	       45000,	0.37);
	tramos[4]=new Array (45000,	   999999999,	0.45);
	

	var i = 0;

	while ((i<6) && (tramos[i][1] < baseImponible)) i++;
	ahorro = tramos[i][2];
	
	return ahorro;
}

function calculoFP()
{
	var m = M(paramY);
	
	outputC = 0; //No tiene intereses periódicos
	
	if (TipoNominal.toString().indexOf(',')>=0)
	{
		var t=TipoNominal.toString().replace('.','').replace(',','.');
	}
	else
	{
		t=TipoNominal;
	}
	//alert(t)

		
	outputA = (paramX*(1+((t/100)/12)*(paramZ2)));
	
	outputB = (outputA - paramX);


	if (paramZ2<24) 
	{
		//Si Reducción Fiscal (D) = 0, entonces F = TAE - (TAE*M)
		outputD = 0
		outputF = (paramZ1 - (paramZ1 * m)) * 100;
        outputE = outputB * m;
	}
	else 
	{
		//Si Reducción Fiscal (D) = 40%, entonces F = TAE - (TAE*0.6*M)
		outputD = 40;
		outputF = (paramZ1-(paramZ1*(1-(outputD/100))*m))*100;
		outputE = outputB*m*(60/100);
	}
	
	//a vencimiento
	
	outputG = (outputB/paramX)*100;
}


function calculoPeriodico()
{
	var PP;//Pagos Periódicos
	if (paramZ3 == "A") PP = 1;
	if (paramZ3 == "S") PP = 2;
	if (paramZ3 == "T") PP = 4;
	

	
	if (document.frm1.inputZ.value=='-1')
	{
			
			t = (Math.pow((1+ paramZ1),(1/PP)) - 1)*PP;
	}
	
	else
	{
		//TipoNominal=document.frm1.TipoNominal.value;
		if (TipoNominal.toString().indexOf(',')>=0)
		{
			var t=TipoNominal.toString().replace('.','').replace(',','.');
		}
		else
		{
			t=TipoNominal;
		}
		t=t/100
	}
	
	var m; //Ahorro fiscal
	
	m = M(paramY);
	
	outputC = (t/PP) * paramX

	
	outputB = (outputC * (paramZ2/12) * PP)

	
	outputE = (outputC * (paramZ2/12) * PP) * m;

	
	outputA = paramX + outputC;

	
	outputD = 0;
	
	
	outputF = (paramZ1 - (paramZ1 * m)) * 100;

	
	outputG = (outputB / paramX) * 100

}

function pintaResultado()
{
	var doc = document.frm1;
	var pat, nombreAux;
	var linkContratacion = "";
	
	pat=/On Depósito/i;
	nombreAux = nombreProducto.replace(pat, "").substr(0, 10);
	
	if (doc.LinkFichaProducto.value!="")
	{
		nombreAux = "<a href='" + doc.LinkFichaProducto.value + "' title='" + nombreProducto + "'>" + nombreAux + "<img src='images/wvio004m_gifTransparente.gif' height='1px' width='1px' title='" + nombreProducto + "'></a>";
	}

	if (doc.LinkContratacion.value!="")
	{
		linkContratacion = "<a class=botonAzul2 href='" + doc.LinkContratacion.value + "' title='Contratar depósito " + nombreProducto + "'>Contrataci&oacute;n<img src='images/wvio004m_gifTransparente.gif' alt=' " + nombreProducto + "'></a>";
	}
	else
	{
		linkContratacion = "&nbsp;";
	}
	
	escribir("divR0", "<table cellpadding=0 cellspacing=0 width='90'><tr><td class=txtCalculo>" + nombreAux + "</td></tr></table>");
	escribir("divR1", "<table cellpadding=0 cellspacing=0 width='90'><tr><td class=txtCalculo>"+ formateaNum(outputA, 2)+" <b>Eur</b></td></tr></table>");
	escribir("divR2", "<table cellpadding=0 cellspacing=0 width='90'><tr><td class=txtCalculo>"+ formateaNum(outputB, 2) +" <b>Eur</b></td></tr></table>");
	escribir("divR3", "<table cellpadding=0 cellspacing=0 width='90'><tr><td class=txtCalculo>"+ formateaNum(outputG, 2)+" <b>&nbsp;%&nbsp;</b></td></tr></table>");
	escribir("divR4", "<table cellpadding=0 cellspacing=0 width='90'><tr><td class=txtCalculo>"+ formateaNum(outputC, 2)+" <b>Eur</b></td></tr></table>");
	escribir("divR5", linkContratacion);
}


function guardarEnSim(sim)
{
	var cad, nombreAux;
	var pat;
	var linkContratacion = "";

	if (!calculado)
	{
		alert("Pulse primero el botón 'Calcular' para obtener los resultados antes "+
			"de añadirlos al simulador");
		return;
	}
	pat=/On Depósito/i;

	nombreAux = nombreProducto.replace(pat, "").substr(0, 14);
	
	var doc = document.frm1;
	
	if (doc.LinkFichaProducto.value!="")
	{
		nombreAux = "<a href='" + doc.LinkFichaProducto.value + "' title='" + nombreProducto + "'>" + nombreAux + "<img src='images/wvio004m_gifTransparente.gif' height='1px' width='1px' title='" + nombreProducto + "'></a>";
	}

	if (doc.LinkContratacion.value!="")
	{
		linkContratacion = "<a href='" + doc.LinkContratacion.value + "' title='Contratar depósito " + nombreProducto + "'>Contrataci&oacute;n<img src='images/wvio004m_gifTransparente.gif' alt=' " + nombreProducto + "'></a>";
	}
	else
	{
		linkContratacion = "&nbsp;";
	}
	
	cad = '<table border=0 width=100% cellspacing=2 cellpading=1>';
	cad = cad +	"<tr><td class=paramSim1>" + nombreAux + "</td></tr>";
  	cad = cad +	"<tr><td class=paramSim2>" + formateaNum(paramX, 2) + "</td></tr>";
  	cad = cad +	"<tr><td class=paramSim1>" + paramZ2 + "</td></tr>";
  	cad = cad +	"<tr><td class=paramSim2>" + paramZ3text + "</td></tr>";
  	cad = cad +	"<tr><td class=paramSim1>" + formateaNum(paramZ1*100, 3) + "</td></tr>";

	cad = cad +	"<tr><td class=resCalculoSim2>" + formateaNum(outputA, 2) + "</td></tr>";
	cad = cad +	"<tr><td class=resCalculoSim1>" + formateaNum(outputB, 2) + "</td></tr>";
  	cad = cad +	"<tr><td class=resCalculoSim2>" + formateaNum(outputG, 2) + "</td></tr>";
	cad = cad +	"<tr><td class=resCalculoSim1>" + formateaNum(outputC, 2) + "</td></tr>";
	cad = cad +	"<tr><td class=resCalculoSim2>" + linkContratacion + "</td></tr>";
  	cad = cad +	"</table>";

	if (celLibre <= 4)
	{
		escribir("celSim" + celLibre, cad);
		celLibre++;
	}
	else
	{
		nCelda = prompt("Todas las simulaciones contiene datos." +
			"Indique en que simulación quiere guardar los datos",1);
		nCelda = parseInt(nCelda);

		if (isNaN(nCelda) || nCelda <1 || nCelda > 4)
			alert("El número de simulación no es correcto. Operación cancelada");
		else
			escribir("celSim" + nCelda, cad);
	}

}

