var dia = 86400000;

function UltDiaMes(Mes, Ano) {
    switch (Mes) {
      case "01":
      case "03":
      case "05":
      case "07":
      case "08":
      case "10":
      case "12":
        return ("31");
      case "04":
      case "06":
      case "09":
      case "11":
        return ("30");
      case "02":
        if (((parseInt(Ano,10))%4) == 0)
          return ("29");
        else
          return ("28");
        }
}
function ValidaFechas() {

	/* Comprueba que no se hayan introducido caracteres que no sean numéricos */

	for ( i=0; i<2; i++ )
		if (document.form1.dia1.value.charAt(i)!='')
     			if ((document.form1.dia1.value.charAt(i)<'0') || (document.form1.dia1.value.charAt(i)>'9')){
				alert ( "Valor incorrecto en el día 'Desde'" );
	      	     	return (false);
			}
	for ( i=0; i<2; i++ )
      	if (document.form1.mes1.value.charAt(i)!='')
     			if ((document.form1.mes1.value.charAt(i)<'0') || (document.form1.mes1.value.charAt(i)>'9')){
				alert ( "Valor incorrecto en el mes 'Desde'" );
	      	     	return (false);
			}
	for ( i=0; i<4; i++ )
     		if ((document.form1.anyo1.value.charAt(i)<'0') || (document.form1.anyo1.value.charAt(i)>'9')){
			alert ( "Valor incorrecto en el año 'Desde'" );
      	     	return (false);
		}
	for ( i=0; i<2; i++ )
		if (document.form1.dia2.value.charAt(i)!='')
     			if ((document.form1.dia2.value.charAt(i)<'0') || (document.form1.dia2.value.charAt(i)>'9')){
				alert ( "Valor incorrecto en el día 'Hasta'" );
      		     	return (false);
			}
	for ( i=0; i<2; i++ )
		if (document.form1.mes2.value.charAt(i)=='')
     			if ((document.form1.mes2.value.charAt(i)<'0') || (document.form1.mes2.value.charAt(i)>'9')){
				alert ( "Valor incorrecto en el mes 'Hasta'" );
      		     	return (false);
			}
	for ( i=0; i<4; i++ )
     		if ((document.form1.anyo2.value.charAt(i)<'0') || (document.form1.anyo2.value.charAt(i)>'9')){
			alert ( "Valor incorrecto en el año 'Hasta'" );
      	     	return (false);
		}

	/* Comprueba que no se haya introducido un valor en blanco. Si la cifra es de un
	dígito, se añade un cero delante */

	if ((document.form1.dia1.value.charAt(0)=='') && (document.form1.dia1.value.charAt(1)=='')){
		alert ( "Valor incorrecto en el día 'Desde'" );
     	     	return (false);
	}else {
		if (document.form1.dia1.value.charAt(1)=='')
			document.form1.dia1.value='0'+document.form1.dia1.value.charAt(0);
	}
	if ((document.form1.mes1.value.charAt(0)=='') && (document.form1.mes1.value.charAt(1)=='')){
		alert ( "Valor incorrecto en el mes 'Desde'" );
     	     	return (false);
	}else {
		if (document.form1.mes1.value.charAt(1)=='')
			document.form1.mes1.value='0'+document.form1.mes1.value.charAt(0);
	}
	if ((document.form1.dia2.value.charAt(0)=='') && (document.form1.dia2.value.charAt(1)=='')){
		alert ( "Valor incorrecto en el día 'Hasta'" );
     	     	return (false);
	}else {
		if (document.form1.dia2.value.charAt(1)=='')
			document.form1.dia2.value='0'+document.form1.dia2.value.charAt(0);
	}
	if ((document.form1.mes2.value.charAt(0)=='') && (document.form1.mes2.value.charAt(1)=='')){
		alert ( "Valor incorrecto en el mes 'Hasta'" );
     	     	return (false);
	}else {
		 if (document.form1.mes2.value.charAt(1)=='')
			document.form1.mes2.value='0'+document.form1.mes2.value.charAt(0);
	}

	/* Comprueba que el mes introducido está entre 1 y 12, ambos inclusive */

	if ((document.form1.mes1.value < "01") || (document.form1.mes1.value > "12")){
		alert ( "El mes 'Desde' tiene que estar comprendido entre 1 y 12" );
		return (false); }
	if ((document.form1.mes2.value < "01") || (document.form1.mes2.value > "12")){
		alert ( "El mes 'Hasta' tiene que estar comprendido entre 1 y 12" );
		return (false); }

	/* Comprueba que el día introducido existe en el mes seleccionado */

	DiasMes=UltDiaMes(document.form1.mes1.value,document.form1.anyo1.value);
	if ((document.form1.dia1.value < "01") || (document.form1.dia1.value > DiasMes)){
		alert ( "El día 'Desde' tiene que estar comprendido entre 1 y "+ DiasMes);
		return (false);
	}
	DiasMes=UltDiaMes(document.form1.mes2.value,document.form1.anyo2.value);
	if ((document.form1.dia2.value < "01") || (document.form1.dia2.value > DiasMes)){
		alert ( "El día 'Hasta' tiene que estar comprendido entre 1 y "+ DiasMes);
		return (false);
	}

	/* Comprueba que el año es correcto para el tipo de sector seleccionado.
	   Si es un sector antiguo la fecha tiene que ser anterior al 2002.
	   Si es un nuevo sector la fecha tiene que ser posterior al 2000 */

	if (document.form1.sector){
		if (document.form1.sector.options[document.form1.sector.selectedIndex].value.substring(3,5)=="01") {
			if (document.form1.anyo1.value > "2001") {
				alert ( "Para los sectores antiguos, las fechas 'Desde' y 'Hasta' tienen que ser anteriores al año 2002" );
				return (false); }
			if (document.form1.anyo2.value > "2001") {
				alert ( "Para los sectores antiguos, las fechas 'Desde' y 'Hasta' tienen que ser anteriores al año 2002" );
				return (false); }
		}else {
			if (document.form1.anyo1.value < "2001") {
				alert ( "Para los nuevos sectores, las fechas 'Desde' y 'Hasta' tienen que ser posteriores al año 2000" );
				return (false); }
			if (document.form1.anyo2.value < "2001") {
				alert ( "Para los nuevos sectores, las fechas 'Desde' y 'Hasta' tienen que ser posteriores al año 2000" );
				return (false); }
		}
	}

	/* Comprueba que la fecha 'Desde' no sea posterior a la fecha 'Hasta' */

	if (document.form1.anyo1.value > document.form1.anyo2.value) {
		alert ( "La fecha 'Desde' no puede ser posterior a la fecha 'Hasta'" );
		return (false);
	}else {
		if (document.form1.anyo1.value == document.form1.anyo2.value) {
			if (document.form1.mes1.value > document.form1.mes2.value) {
				alert ( "La fecha 'Desde' no puede ser posterior a la fecha 'Hasta'" );
				return (false);
			}else {
				if (document.form1.mes1.value == document.form1.mes2.value) {
					if (document.form1.dia1.value > document.form1.dia2.value) {
						alert ( "La fecha 'Desde' no puede ser posterior a la fecha 'Hasta'" );
						return (false); }
				}
			}
		}
	}

	/* Comprueba que si se visualiza por pantalla, el período sea de como máximo dos años */

	a1=parseInt(document.form1.anyo1.value);
	a2=parseInt(document.form1.anyo2.value);

	if (document.form1.tipo.value=="htm"){
		if (a1+2 < a2) {
			alert ( "Al visualizar por pantalla, el período seleccionado no puede ser superior a dos años" );
			return (false);
		}else {
			if (a1+2 == a2) {
				if (document.form1.mes1.value < document.form1.mes2.value) {
					alert ( "Al visualizar por pantalla, el período seleccionado no puede ser superior a dos años" );
					return (false);
				}else {
					if (document.form1.mes1.value == document.form1.mes2.value) {
						if (document.form1.dia1.value < document.form1.dia2.value) {
							alert ( "Al visualizar por pantalla, el período seleccionado no puede ser superior a dos años" );
							return (false); }
					}
				}
			}
		}
	}

	document.form1.submit();
	return(true);
}
function ComprobarFecha(Fecha) {
    if (Fecha.length != 8)
        return (false);
    for ( ind=0; ind < 8; ind++ )
        if ((Fecha.charAt(ind)<'0') || (Fecha.charAt(ind)>'9'))
            return (false);
    Ano=Fecha.substr(0,4);
    Mes=Fecha.substr(4,2);
    Dia=Fecha.substr(6,2);
    UltimoDia=UltDiaMes(Mes,Ano)
    if ((Mes < '01') || (Mes > '12') || (Dia < '01') || (Dia > UltimoDia))
        return (false);
    return (true);
}
function comprobar(not) {
	var cad, cad2;

	if ( document.form1.hecho )
		if ( document.form1.hecho.options )
			if ( document.form1.hecho.options
			     [document.form1.hecho.selectedIndex].value == "" )
			    return (false);
	if ( document.form1.mes1 ) {
		if (document.form1.mes1.value.length==1) document.form1.mes1.value="0" + document.form1.mes1.value;
		if (document.form1.mes2.value.length==1) document.form1.mes2.value="0" + document.form1.mes2.value;
		if (document.form1.dia1.value.length==1) document.form1.dia1.value="0" + document.form1.dia1.value;
		if (document.form1.dia2.value.length==1) document.form1.dia2.value="0" + document.form1.dia2.value;

		cad = document.form1.anyo1.value+document.form1.mes1.value+document.form1.dia1.value;
		cad2 = document.form1.anyo2.value+document.form1.mes2.value+document.form1.dia2.value;
		if (!(ComprobarFecha(cad))) {
		    alert("El campo 'Desde' es incorrecto.");
		    return( false);
		}
		if (!(ComprobarFecha(cad2))) {
		    alert("El campo 'Hasta' es incorrecto.");
		    return( false);
		}
	} else if ( document.form1.anyo1 ) {
		cad = document.form1.anyo1.value;
		cad2 = document.form1.anyo2.value;
	}
    if (cad>cad2) {
        alert("El orden de las fechas es incorrecto");
        return( false);
    }
    if ( not ) {
		var fecha1 = new Date( parseInt(document.form1.anyo1.value,10),
		                       parseInt(document.form1.mes1.value,10)-1,
		                       parseInt(document.form1.dia1.value,10) );
		var fecha2 = new Date( parseInt(document.form1.anyo2.value,10),
		                       parseInt(document.form1.mes2.value,10)-1,
		                       parseInt(document.form1.dia2.value,10) );
       	/* Comprueba que si no se introduce una empresa, el período sea de como máximo un mes */
		if ( ((fecha2.getTime()-fecha1.getTime())>(dia*33+5600000)) &&
		     document.form1.nombre.value.length == 0 ) {
			alert ( "Para rangos de fecha superiores a 1 mes\ndebe indicar el nombre de la emisora" );
			return ( false );
		}
	}
    document.form1.submit();
    return ( true );
}
function compr_nombre() {
    var ind;
    for(ind=0;ind<document.form1.nombre.value.length; ind++) {
        if (document.form1.nombre.value.charAt(ind)!=' ') {
            return(true);
        };
    };
    alert("Debe introducir un nombre");
    return (false);
}
function fechas(not) {
    var hoy = new Date();
    var dosD = new Date();

    var agent = navigator.userAgent.toLowerCase();
    if (parseFloat(navigator.appVersion)<=4.01 && agent.indexOf('msie') == -1)
        return(true);

    aaaa=hoy.getFullYear();
    aaa1=aaaa - 1;
    if (not) dosD = hoy;
    else dosD.setTime(hoy.getTime() + (dia*30));
    dd=dosD.getDate();
	mm=dosD.getMonth()+1;
	//if (mm==1) aaaa++;
	if ( document.form1.mes1 ) {
		if (dd<10) document.form1.dia2.value="0" + dd;
		else document.form1.dia2.value="" + dd;
		if (mm<10) document.form1.mes2.value="0" + mm;
		else document.form1.mes2.value="" + mm;
		if ( not ) {
			dosD.setTime(hoy.getTime() - (dia*30));
			mm=dosD.getMonth()+1;
			dd=dosD.getDate();
			if (dd<10) document.form1.dia1.value="0" + dd;
			else document.form1.dia1.value="" + dd;
			if (mm<10) document.form1.mes1.value="0" + mm;
			else document.form1.mes1.value="" + mm;
		} else {
			document.form1.dia1.value="01";
			document.form1.mes1.value="01";
		}
	} else {
		aaaa++;
	}
	if ( document.form1.anyo1 ) {
	    document.form1.anyo2.value=aaaa;
		if ( not ) {
			document.form1.anyo1.value=dosD.getFullYear();
		} else {
		    document.form1.anyo1.value=aaa1;
		}
	}

    return(true);
}

function comprobar2() {
    if ( document.form1.anyo1.value >
         document.form1.anyo2.value ) {
        alert("El orden de los años es incorrecto");
        return( false);
    }
    return compr_nombre();
}

function EscribeConsFicha() {
  var html = "";

  html += '<form method=get action="/comun/fichaemp/fichaemp.asp" name=form1 OnSubmit="return (compr_nombre());">';
  html += '<input type=hidden name="id" value="esp">';
  html += '<input type=hidden name="tipo" value="FichaEmp">';
  html += '<table width=100% border=0 cellspacing=0 cellpadding=2 bgcolor=#000000>';
  html += '<tr valign=middle>'
  html += '<td><img src=/images/shim.gif width=1 height=30></td>';
  html += '<td><img src=/esp/images/FichaEmpresa.gif width=200 height=27></td>';
  html += '<td align=right>';
  html += '<b><font color=#FFFFFF>Nombre </font></b>';
  html += '<input type=text name="nombre" size=25 maxlength=40>';
  html += ' &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ';
  html += '<input type=submit name="Buscar" value="Buscar">';
  html += '</td></tr></table>';
  document.write(html);
}

// Sets cookie values. Expiration date is optional
//
function setCookie(name, value, expire) {
  document.cookie = name + "=" + escape(value)
  + ((expire == null) ? "" : ("; expires=" + expire.toGMTString()))
  + "; PATH=/";
}
// Gets cookie values.
//
function getCookie(Name) {
  var search = Name + "=";
  if (document.cookie.length > 0) { // if there are any cookies
    offset = document.cookie.indexOf(search);
    if (offset != -1) { // if cookie exists
      offset += search.length;
      // set index of beginning of value
      end = document.cookie.indexOf(";", offset);
      // set index of end of cookie value
      if (end == -1)
        end = document.cookie.length;
      return unescape(document.cookie.substring(offset, end));
    }
  }
  return "";
}
