castellano = true;
euro       = true;
submitido=false;
function esNumerico(valor)
{ var numeros = "0123456789.,";
  for (i = 0; i < valor.length ;i++)
  { if (numeros.indexOf(valor.charAt(i)) == -1)
      return(false);
  }
  return(true);
}


function calculaCuotas2()
{
	A = document.formulario.PeriodPag.options[document.formulario.PeriodPag.selectedIndex].value

	var interes = reemplazaComa(document.formulario.IntNom.value)
	var capital = reemplazaComa(document.formulario.CanDep.value)
	var plazo   = reemplazaComa(document.formulario.PlazAm.value)

	if (document.formulario.Calc_Prot_Pag.value != 1)
	{
		ct=decimales((capital*1.66)/100,2);
 
	 	capital=eval(capital)+eval(ct);
 
		document.formulario.CanDep.value=decimales(capital,2);
	}
	
	var EXPONENTE=A; 
	var INTERES1=interes/100      
	var BASE=1+(INTERES1/A);
	var POTENCIA=Math.pow(BASE,EXPONENTE);
	var TAE=(POTENCIA-1)*100;     

	var DIVC7C8=interes/100/A;
	var AUX1=DIVC7C8+1;
	var AUX2=-1*A*plazo;
	var AUX3=1-(Math.pow(AUX1,AUX2));
	var AUX4=AUX3/DIVC7C8;
	var CUOTA=capital/AUX4;

	var AUX1=DIVC7C8+1;
	var DIVC7C8=interes/A;
	//  var DIVC7C8=interes/A;
	//  var DIVC7C8=interes/A;
        
	q=decimales(CUOTA,2);      
	q=q+((q*1.66)/100);

	document.formulario.Res1.value=decimales(CUOTA,2);

	//  document.formulario.Res1.value=decimales(CUOTA,2);
	document.formulario.Res2.value=A*plazo;
	document.formulario.Res3.value=TAE;
	w=decimales(A*plazo*CUOTA,2);
	w=w+((w*1.66)/100);
	document.formulario.Res4.value=decimales(w,2);

	document.formulario.Calc_Prot_Pag.value=1;
   return true;
}


function validaCampos2()
{       submitido=true;
        if (!validaCampo(document.formulario.CanDep, 1, 1000000000000, "Capital:") )
                return(false)
  if (!validaCampo(document.formulario.IntNom, .001, 99, "Interes:"))
                return(false)
  if (!validaCampo(document.formulario.PlazAm, 1, 480, "Plazo:"))
                return(false)

        if (document.formulario.CanDep.value == "")
        {       muestraMensaje(document.formulario.CanDep, "Debe rellenar el capital")
                return(false)
        }
        if (document.formulario.IntNom.value == "")
        {       muestraMensaje(document.formulario.IntNom, "Debe rellenar el interés")
                return(false)
        }
        if (document.formulario.PlazAm.value == "")
        {       muestraMensaje(document.formulario.PlazAm, "Debe rellenar el plazo")
                return(false)
        }

        calculaCuotas2() 
        return(false)
}

function validaCampo2(objeto, min, max, str)
{       if (!validaNumero(objeto))
                return(false)
        if(!validaRango(objeto, min, max, str))
                return(false)
        return (true)
}





function paginica (){
        window.open("Http://www.larural.es/lfuerte/simulaciones/ayuda1.htm","ayuda","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=yes,width=400,height=250")
}



function validaCampos()
{       submitido=true
        if (!validaCampo(document.formulario.CanDep, 1, 1000000000000, "Capital:") )
                return(false)
  if (!validaCampo(document.formulario.IntNom, .001, 99, "Interes:"))
                return(false)
  if (!validaCampo(document.formulario.PlazAm, 1, 480, "Plazo:"))
                return(false)

        if (document.formulario.CanDep.value == "")
        {       muestraMensaje(document.formulario.CanDep, "Debe rellenar el capital")
                return(false)
        }
        if (document.formulario.IntNom.value == "")
        {       muestraMensaje(document.formulario.IntNom, "Debe rellenar el interés")
                return(false)
        }
        if (document.formulario.PlazAm.value == "")
        {       muestraMensaje(document.formulario.PlazAm, "Debe rellenar el plazo")
                return(false)
        }

        calculaCuotas() 
        return(false)
}

function validaCampo(objeto, min, max, str)
{       if (!validaNumero(objeto))
                return(false)
        if(!validaRango(objeto, min, max, str))
                return(false)
        return (true)
}


function calculaCuotas()
{
        A = document.formulario.PeriodPag.options[document.formulario.PeriodPag.selectedIndex].value

        var interes = reemplazaComa(document.formulario.IntNom.value)
        var capital = reemplazaComa(document.formulario.CanDep.value)
        var plazo   = reemplazaComa(document.formulario.PlazAm.value)

	if (document.formulario.Calc_Prot_Pag.value != 0)
	{
		capital=decimales((capital*100)/101.66,2);
	
		document.formulario.CanDep.value=decimales(capital,2);
	}
	
  var EXPONENTE=A; 
  var INTERES1=interes/100      
  var BASE=1+(INTERES1/A);
  var POTENCIA=Math.pow(BASE,EXPONENTE);
  var TAE=(POTENCIA-1)*100;     

  var DIVC7C8=interes/100/A;
  var AUX1=DIVC7C8+1;
  var AUX2=-1*A*plazo;
  var AUX3=1-(Math.pow(AUX1,AUX2));
  var AUX4=AUX3/DIVC7C8;
  var CUOTA=capital/AUX4;

  var AUX1=DIVC7C8+1;
  var DIVC7C8=interes/A;
//  var DIVC7C8=interes/A;
//  var DIVC7C8=interes/A;
        
  document.formulario.Res1.value=decimales(CUOTA,2);
  document.formulario.Res2.value=A*plazo;
  document.formulario.Res3.value=TAE;
  document.formulario.Res4.value=decimales(A*plazo*CUOTA,2);

  document.formulario.Calc_Prot_Pag.value = 0;
  return true;
}

function validaRango(objeto, min, max, msg)
{       var num = 0 + reemplazaComa(objeto.value)
        if (objeto.value == "")
                return (true);
  if (num < min || max < num) 
        { muestraMensaje(objeto, msg + " no está en el rango [" + min + ".." + max + "]");
        return (false);
  }
        return (true)
}

//Esta línea se borrará cuando empecemos a tratar el euro.
euro = false
contravalorEuro = 166.386
// Funcion que carga la nueva ayuda en un frame
function abreAyuda(paginaAyuda)
{ a = window.open("","ayuda","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=yes,width=400,height=250")
 // a = window.open('','a')
  a.document.clear();
  a.document.write("<html>")
  a.document.write("<frameset rows='80%,*' BORDER='0'>")
  a.document.write("<frame name='cabecera' src='/lfuerte/nuevaimagen/"+paginaAyuda+"' scrolling='auto' noresize marginwidth='0' >")
  a.document.write("<frame name='pie' src='/lfuerte/nuevaimagen/botoncerrar.htm' scrolling='no' marginwidth='0'>")
  a.document.write("</frameset>")
  a.document.write("</html>")
}

// Se le pasa un control caja de texto y pone su valor a mayúsculas
function ponMayusculas (objeto)
{ objeto.value = objeto.value.toUpperCase()
}

//comprueba que el objeto que se le pasa tiene caracteres numéricos
function validaNumerico(objeto)
{       if (!esNumerico(objeto.value))
        { if (castellano)
                {        muestraMensaje(objeto,"Debe introducir un valor numérico.")
                   window.status ="Debe introducir un valor numérico.";
                }
                else
                {        muestraMensaje(objeto,"Ha d'introduir un valor numèric.")
                 window.status ="Ha d'introduir un valor numèric.";
                }
    return(false);
  }
  else
  { window.status =""
    return(true);
  }
}



// Activa el primer campo del formulario que sea tipo text
function activaCampo1()
{ encontrado    = false;
  submitido      = false;
  for(var i=0;((!encontrado) && (i < document.formulario.elements.length));i++)
  {     if (document.formulario.elements[i].type == "text")
    { document.formulario.elements[i].focus()
      encontrado = true;
    }
  }
// Toma el nombre y la versión del navegador
        navegador       = navigator.appName.substring(0,3)
        versionNav  = navigator.appVersion.substring(0,3)
}

//comprueba que el objeto que se le pasa es numérico principalmente para importes
function validaNumero(objeto){
                return(validaNumeroEuro(objeto))
}

//comprueba que el objeto que se le pasa tiene caracteres numéricos
// Función que se utilizará para los importes en pesetas
function validaNumeroPeseta(objeto)
{
// Toma el nombre y la versión del navegador
        navegador       = navigator.appName.substring(0,3)
        versionNav  = navigator.appVersion.substring(0,3)

        if (!esNumerico(objeto.value))
        { if (castellano)
                {        muestraMensaje(objeto,"Debe introducir un valor numérico.")
                   window.status ="Debe introducir un valor numérico.";
                }
                else
                {        muestraMensaje(objeto,"Ha d'introduir un valor numèric.")
                 window.status ="Ha d'introduir un valor numèric.";
                }
    return(false);
  }
  else
  { window.status =""
    return(true);
  }
}


//Comprueba que el valor del campo sea numérico
//Función que se utilizará para los importes en euros
function validaNumeroEuro(objeto)
{
// Toma el nombre y la versión del navegador
        navegador       = navigator.appName.substring(0,3)
        versionNav  = navigator.appVersion.substring(0,3)

        if (objeto.value =="")
                return(true)
        errorVer2 = false;
        objeto.value =  reemplazaComa(objeto.value)
        valorConPunto = objeto.value
        if (versionNav ==       "2.0")
        {       valor = new Number(parseFloat(valorConPunto))
                valorAlfa = rellenaConCerosDcha(valor.toString(),valorConPunto.length)
                if (valorAlfa != valorConPunto)
                        errorVer2 = true;
        }
        else
                valor = new Number(valorConPunto)
  if (isNaN(valor) || errorVer2)
        { if (castellano)
                {        muestraMensaje(objeto,"Debe introducir un valor numérico.")
                   window.status ="Debe introducir un valor numérico.";
                }
                else
                {        muestraMensaje(objeto,"Ha d'introduir un valor numèric.")
                 window.status ="Ha d'introduir un valor numèric.";
                }
    return(false);
  }
  else
  { window.status =""
                objeto.value = (Math.round(objeto.value*100))/100
        objeto.value =  reemplazaComa(objeto.value)
    return(true);
  }
}

// Reemplaza la coma por el punto
function reemplazaComa(cadena)
{ posSimbolo= cadena.indexOf(",")
  if (posSimbolo!=-1)
  {  cadena =  cadena.substring(0,posSimbolo) + '.' +
                                                         cadena.substring(posSimbolo + 1,cadena.length)
     if (posSimbolo==0)
        cadena = '0'+ cadena;
  }
  return(cadena);
}

// Comprueba que la fecha que se le pasa es correcta
function validaFecha(objeto)
{
// Toma el nombre y la versión del navegador
        navegador       = navigator.appName.substring(0,3)
        versionNav  = navigator.appVersion.substring(0,3)

        if (objeto.value == "")
                return(true)
        if (!validaCamposFecha(objeto))
        { if (castellano)
                {        muestraMensaje(objeto,mensaje)
                   window.status =mensaje;
                }
                else
                {        muestraMensaje(objeto,mensaje)
                 window.status =mensaje;
                }
    return(false);
  }
  else
  { window.status =""
    return(true);
  }
}

function validaCamposFecha(fecha)
{
var litmes = new Array(12);
{ litmes[0] = "Enero";
  litmes[1] = "Febrero";
  litmes[2] = "Marzo";
  litmes[3] = "Abril";
  litmes[4] = "Mayo";
  litmes[5] = "Junio";
  litmes[6] = "Julio";
  litmes[7] = "Agosto";
  litmes[8] = "Septiembre";
  litmes[9] = "Octubre";
  litmes[10] = "Noviembre";
  litmes[11] = "Diciembre";
}

var litmescat = new Array(12);
{ litmescat[0] = "Gener";
  litmescat[1] = "Febrer";
  litmescat[2] = "Març";
  litmescat[3] = "Abril";
  litmescat[4] = "Maig";
  litmescat[5] = "Juny";
  litmescat[6] = "Juli";
  litmescat[7] = "Agost";
  litmescat[8] = "Setembre";
  litmescat[9] = "Octubre";
  litmescat[10] = "Novembre";
  litmescat[11] = "Desembre";
}


var diames = new Array(12);
{       diames[0] = "31";
        diames[1] = "28";
        diames[2] = "31";
        diames[3] = "30";
        diames[4] = "31";
        diames[5] = "30";
        diames[6] = "31";
        diames[7] = "31";
        diames[8] = "30";
        diames[9] = "31";
        diames[10] = "30";
        diames[11] = "31";
}

        var diaNum, mesNum, anoNum, ano4, ano4r;

        var sinBarras = false;

        if (fecha.value.substring(2,3) != '/' || fecha.value.substring(5,6) != '/')
                sinBarras = true;

        valorSinBarras = fecha.value.substring(0,2) + fecha.value.substring(3,5) + fecha.value.substring(6,10);

        if (!esNumerico(valorSinBarras) || valorSinBarras.length < 8 || sinBarras)
        {       if (castellano)
                        mensaje = "La fecha debe tener el formato DD/MM/AAAA."
                else
                        mensaje = "La data ha de ser format DD/MM/AAAA."
        return(false)
        }

        dia = valorSinBarras.substring(0,2)
        mes = valorSinBarras.substring(2,4)
        ano = valorSinBarras.substring(4,8)

        diaNum = new Number(dia)
        mesNum = new Number(mes)
        anoNum = new Number(ano)

        if (diaNum < 1)
        { if (castellano)
                        mensaje = "El dia debe ser mayor que 0."
                else
                        mensaje = "El dia ha de ser superior a 0."
        return(false)
        }
        if (mesNum < 1)
        { if (castellano)
                        mensaje = "El mes debe ser mayor que 0."
                else
                        mensaje = "El mes ha de ser superior a 0."
        return(false)
        }
        if (mesNum > 12)
        { if (castellano)
                        mensaje = "El mes debe ser menor que 12."
                else
                        mensaje = "El mes ha de ser inferior a 12."
        return(false)
        }
        if ((mes == '04' || mes == '06'  || mes == '09' || mes == '11') && diaNum > 30)
        { if (castellano)
                        mensaje =litmes[mesNum-1] + " sólo tiene 30 dias."
                else
                        mensaje =litmescat[mesNum-1] + " només té 30 dies."
        return(false)
        }
        if (mes == '02')
        { ano4r = new Number(Math.round(anoNum/4))
          ano4  = new Number(anoNum/4)
          if (ano4.toString() == ano4r.toString())
          { if (diaNum > 29)
                        {       if (castellano)
                                        mensaje = "Febrero sólo tiene 29 dias."
                                else
                                        mensaje = "Febrer només té 29 dies."
                        return(false)
                        }
                }
                else
          { if (diaNum > 28)
                        {       if (castellano)
                                        mensaje = "Febrero sólo tiene 28 dias."
                                else
                                        mensaje = "Febrer només té 28 dies."
                                return(false)
                        }
                }
        }
        if (diaNum > 31)
        { if (castellano)
                        mensaje = litmes[mesNum-1]+" sólo tiene 31 dias."
                else
                        mensaje = litmescat[mesNum-1]+" només té 31 dies."
        return(false)
        }
        return(true)
}

function muestraMensaje(objeto, mensaje)
{
// Toma el nombre y la versión del navegador
        navegador       = navigator.appName.substring(0,3)
        versionNav  = navigator.appVersion.substring(0,3)

  if((navegador == "Net" && submitido) || navegador != "Net")
                alert(mensaje)
  if (navegador == "Mic" && (versionNav == "4.0") || versionNav == "5.0")
                self.focus()
  else
  if  ((navegador == "Net" && submitido) || navegador != "Net" )
                objeto.focus()

        submitido = false;
        return(false)
}

function rellenaCampoI(valor,longitud,caracter)
{ largo = valor.length
  for(var i=0;i<(longitud-largo);i++)
    valor = caracter + valor;
    return (valor)
}

function validaNumericoInsertaCeros(objeto,longitud)
{ if (objeto.value !='')
  { if (validaNumerico(objeto))
    {   objeto.value = rellenaCampoI(objeto.value,longitud,'0')
      return(true);
    }
                else
      return(false);
  }
  return(true);
}

function validaFechasCrono(objDesde,objHasta)
{       desde = objDesde.value
        hasta = objHasta.value
        desdeA = desde.substring(6,10)+desde.substring(3,5)+desde.substring(0,2)
        hastaA = hasta.substring(6,10)+hasta.substring(3,5)+hasta.substring(0,2)
        if (desdeA > hastaA)
        {       if (castellano)
                        mensaje = " La fecha inicial.. es mayor que la fecha final.."
                else
                        mensaje = " La data inicial de .. és més gran que la data final a .."
        muestraMensaje(objDesde, mensaje)
        return(false)
        }
        return(true)
}

function editaNumero(numero)
{ cadena1  = numero.toString()
  if (cadena1.substring(0,1) == '.')
    cadena1 = '0' + cadena1;
  else
  {  if (cadena1.substring(0,2) == '-.')
        cadena1 = '-0' + cadena1.substring(1,cadena1.length);
  }
  posPunto = cadena1.indexOf(".")
  if (posPunto == 0)
    cadena1 = '0' + cadena1
  if (posPunto == -1)
    decimal = ""
  else
  { decimal = ',' + cadena1.substring(posPunto + 1,cadena1.length)
    cadena1 = cadena1.substring(0,posPunto)
  }
  cadena1  = reverse(cadena1)
  cadena2  = ""
  cadena3  = ""
  for(var i=0;i < cadena1.length;i=i+3)
  { cadena2 = cadena2 + cadena1.substring(i,i+3)
    if (cadena2.length > 2)
    {  cadena2 = cadena2 + "."
      cadena3 = cadena3 + cadena2
      cadena2 = ""
    }
  }
  cadena3 = cadena3 + cadena2
  cadena3 = reverse(cadena3)
  if (cadena3.substring(0,1) == '-')
  { if (cadena3.substring(1,2) == '.')
      cadena3 = '-' + cadena3.substring(2,cadena3.length);
  }
  else
  { if (cadena3.substring(0,1) == '.')
      cadena3 = cadena3.substring(1,cadena3.length);
  }
  cadena3 = cadena3 + decimal
  return(cadena3)
}

function reverse(cadena)
{       cadenaReverse = ""
        for(var i=0;i<=cadena.length;i++)
                cadenaReverse +=  cadena.substring(cadena.length - i,cadena.length - i+1);
        return(cadenaReverse)
}

function rellenaConCerosDcha(valor,longitud)
{ largo = valor.length
  for(var i=0;i<(longitud-largo);i++)
    valor =  valor + '0';
  return (valor)
}


function rellenaConCeros(valor,longitud)
{ largo = valor.length
  for(var i=0;i<(longitud-largo);i++)
    valor = '0' + valor;
  return (valor)
}


function validaCantidades(minimo,maximo, mensaje)
{	min = new Number(minimo.value)
	max = new Number(maximo.value)

 if (min > max)
   {
      muestraMensaje(minimo,mensaje)
      return(false)
    }
 else
   return(true)
}

function decimales(Num, decimales)
{

    with (Math) {
        var aux = pow(10,decimales)
        var Resultado=(round(Num*aux))/aux;
    }
   return Resultado;
}

function Button(s) {
if ("INPUT"==event.srcElement.tagName)
event.srcElement.className=s
}

function valido_NIF(objeto)
{
  
  var valor = objeto.value;
  
  if ((valor == "") || (valor == null))
  {
    alert("Debe introducir un número de NIF");
    return false;
  }

  if (valor.length>9)
  {
    alert("Debe introducir 8 números y una letra en su NIF");
    return false;
  }
 
  var letra = valor.charAt(valor.length - 1).toUpperCase();
  var NIF_letras = "TRWAGMYFPDXBNJZSQVHLCKEU";
  var DNI = parseInt(valor, 10);
  var pos = (parseInt(DNI) - Math.floor(parseInt(DNI)/23) * 23) + 1;
  var letra_correcta = NIF_letras.substring(pos - 1, pos);
 
  if (letra_correcta != letra)
  {
    alert("Debe introducir un NIF correcto");
    return false;
  }
  
  return true;
}


//


