function calcula()
	{

		var resultado = document.getElementById("resultado");
		resultado.innerHTML = "introduce tu salario bruto anual o mensual.";

		if (document.forms['finiquito'].elements['salario'].value == "0" && 
		    document.forms['finiquito'].elements['salario:mensual'].value == "0") return false;

		var salario = parseInt(document.forms['finiquito'].elements['salario'].value);
		if (salario == 0)
			salario = parseInt(document.forms['finiquito'].elements['salario:mensual'].value*12);
			
		if ( isNaN (salario) )
		{
			return false;
		}
			
		if (document.forms['finiquito'].elements['variable'].value != 0)
			salario +=  parseInt(document.forms['finiquito'].elements['variable'].value);
		
		var inicio = new Date();
		inicio.setFullYear(document.forms['finiquito'].elements['inicio:anio'].value,document.forms['finiquito'].elements['inicio:mes'].value-1,document.forms['finiquito'].elements['inicio:dia'].value)
		
		var fin= new Date();
		fin.setFullYear(document.forms['finiquito'].elements['fin:anio'].value,document.forms['finiquito'].elements['fin:mes'].value-1,document.forms['finiquito'].elements['fin:dia'].value)

		var dias_mes  = 30;
		var dias_anio = 360;

		var anios = 0;
		var meses = 0;
		var dias  = 0;
		
		if ( inicio.getMonth() > fin.getMonth() )
		{
			anios = Math.ceil( (fin.getFullYear()-1) - inicio.getFullYear() );

			meses = Math.ceil( fin.getMonth() - inicio.getMonth() );
			if (meses != 0)
				meses = (meses + 12);
		}
		else
		{
			anios = Math.ceil( fin.getFullYear() - inicio.getFullYear() );
			
			meses = Math.ceil( fin.getMonth() - inicio.getMonth() );
		}
		
		if ( fin.getDate() > inicio.getDate() )
		{
			dias = Math.ceil( fin.getDate() - inicio.getDate() );
		}
		
		if ( meses > 0 )
		{
			dias += meses*dias_mes;
		}

		var total_dias = anios * document.forms['finiquito'].elements['diasxanio'].value;
		
		
		if (dias > 0)
		{
			total_dias += dias*document.forms['finiquito'].elements['diasxanio'].value/dias_anio;
		}
		

		var salariodiario = (salario/dias_anio);
		
		salariodiario = Math.round(parseFloat(salariodiario)*100)/100;
		
		var finiquito = Math.round(parseFloat(total_dias*salariodiario)*100)/100;
		
		if ( salariodiario.toString().indexOf(".") != -1 && salariodiario.toString().indexOf(".") < (salariodiario.toString().indexOf(".")+3) )
		{
			salariodiario = parseFloat( salariodiario.toString().substring(0,salariodiario.toString().indexOf(".")+3) );
		}

		// Salario diario
		var textresultado = "";
		textresultado += "<h3>Desglose c&aacute;lculo finiquito</h3>";
		textresultado += "<br />";
		textresultado += "<p>Salario anual <b>"+salario+" €</b> brutos anuales";
		if (document.forms['finiquito'].elements['variable'].value != 0)
			textresultado += " (Parte variable: <b>"+document.forms['finiquito'].elements['variable'].value+" €</b> anual)"
		textresultado += " / <b>360 días</b>, = <b>"+(salariodiario)+" € salario por dia</b>.</p>";

		// Último mes de nómina
		textresultado += "<h3>Nómina del último mes trabajado</h3>";
		textresultado += "<br />";
		
		var por_salario = Math.round(parseFloat(salariodiario*document.forms['finiquito'].elements['fin:dia'].value)*100)/100;
		textresultado += "<p> "+document.forms['finiquito'].elements['fin:dia'].value+" día(s) <b>x</b> <b>"+salariodiario+"</b> €, = <b><span class='pasta'>"+ por_salario+" €</b></span>.</p>";
		
		if (document.forms['finiquito'].elements['variable'].value != 0)
			textresultado += "cálculo con sueldo variable incluido.";
		textresultado += "</p>";
		
		// Vacaciones no disfrutadas
		textresultado += "<h3>Parte proporcional vacaciones no disfrutadas</h3>";
		textresultado += "<br />";
		
		var dias_vacaciones = (parseInt(document.forms['finiquito'].elements['fin:dia'].value)*(2.5)/30 ) + (parseInt(document.forms['finiquito'].elements['fin:mes'].value-1)*2.5);
		var por_dias = Math.round(parseFloat(dias_vacaciones*salariodiario)*100)/100;
		textresultado += "<p>Has trabajdo este año  <b>"+(document.forms['finiquito'].elements['fin:mes'].value-1)+"</b> mes/es y <b>"+document.forms['finiquito'].elements['fin:dia'].value+"</b> , tienes <b>"+Math.round(parseFloat(dias_vacaciones)*100)/100+"</b> días de vacaciones, qpor lo que multiplicando por tu sueldo diario <b>"+salariodiario+"</b> € hace un total de <b><span class='pasta'>"+por_dias+"</span></b> €.";
		textresultado += "<p>*Esa cantidad si que cotiza a la seguridad social e IRPF, ya que forma parte de tu nómina.</p>";

		// Indemnización
		textresultado += "<h3>Indemnización</h3>";
		textresultado += "<br />";
		textresultado += "<p>Has trabajado <b>"+anios+"</b> años completos, y con una indemnización de <b>"+document.forms['finiquito'].elements['diasxanio'].value+"</b> días por año trabajado, suma un total de <b>"+parseInt(anios*document.forms['finiquito'].elements['diasxanio'].value)+"</b> días";
		if (dias > 0)
		{
			textresultado += ", más la parte del año no completado de , "+dias+" días corresponde a  <b>"+dias*document.forms['finiquito'].elements['diasxanio'].value/dias_anio+"</b>, de indemnización ";
			textresultado += " sumando un total de <b>"+total_dias+"</b> días.";
		}
		else
		{
			textresultado += ".";
		}
		textresultado += "</p>";
		textresultado += "<p><b>"+salariodiario+" €</b> por el número de días de indemnización que son  <b>"+total_dias+"</b> sale un total de <b>"+finiquito+" €</b>.";
		
		textresultado += "<p>*Este importe no cotiza a la seguridad social o al irpf, ya que es una indemnización.</p>";

		// Indemnización
		textresultado += "<h3>Desglose final del finiquito</h3>";
		textresultado += "<br />";

		var totaltemp = finiquito+por_dias+por_salario;
		var total_liquidacion = Math.round(parseFloat(totaltemp)*100)/100;
		textresultado += "<p>Total liquidación =  (<b>"+total_liquidacion+" €</b>) aproximadamente, que corresponde a la suma de última nómina(<b>"+ por_salario+"€</b>), parte proporcional de vacaciones no disfrutadas(<b>"+por_dias+"€</b>), e indemnización(€<b>"+finiquito+"</b>)</p>";
				
		resultado.innerHTML = textresultado;
		return false;
	}

	function setToday()
	{
		var d = new Date();
		document.forms['finiquito'].elements['fin:dia'].value  = d.getDate();
		document.forms['finiquito'].elements['fin:mes'].value  = d.getMonth() + 1;
		document.forms['finiquito'].elements['fin:anio'].value = d.getFullYear();
	}
	
	function toogleSalario(r)
	{
		if (r.value == "anual")
		{
			document.forms['finiquito'].elements['salario'].disabled = "";
			document.forms['finiquito'].elements['salario:mensual'].value = "0";
			document.forms['finiquito'].elements['salario:mensual'].disabled = "disabled";
		}
		else
		{
			document.forms['finiquito'].elements['salario'].value = "0";
			document.forms['finiquito'].elements['salario'].disabled = "disabled";
			document.forms['finiquito'].elements['salario:mensual'].disabled = "";
		}
	}

