/////////////////////////////////////////////////////////////////////////////
//
// funciones para crear el calendario y la ventana de selección de fechas
//
/////////////////////////////////////////////////////////////////////////////


var formularioseleccion;
var camposeleccion;
var textoCampo;
 
// variables de las imagenes del calendario
//////////////////////////////////////////////
  calFleIzq=new Image
  calFleIzq.src="images/calFleIzq.gif"
  calFleDer=new Image
  calFleDer.src="images/calFleDer.gif"
  calCerrar=new Image
  calCerrar.src="images/calCerrar.gif"
  
  


function Aceptar() {
	var strFecha;
	var fecha_desde;
	var fecha_hasta;
	
	// comprobamos que las fechas sean correctas, y fechaDesde sea <= a la fechaHasta
	fecha_desde = document.formSeleccionFechas.fechaDesde.value;
	fecha_hasta = document.formSeleccionFechas.fechaHasta.value;
	
	if (!chkFechaOk(fecha_desde) && fecha_desde != '') {
		alert ("La fecha Desde es incorrecta");
		return false;
	}
	
	if (!chkFechaOk(fecha_hasta) && fecha_hasta != '') {
		alert ("La fecha Hasta es incorrecta");
		return false;
	}
	
	if (chkEsMenor(fecha_hasta, fecha_desde)) {
		alert("La fecha Hasta no puede ser menor que la fecha Desde");
		return false;
	}
	if (fecha_desde == '' && fecha_hasta == '' && !(document.formSeleccionFechas.vacio.checked)) {
		alert("Elija al menos una fecha o vacío.");
		return false;
	}
	if ( (fecha_desde != '' || fecha_hasta != '') && (document.formSeleccionFechas.vacio.checked)) {
		alert("Si selecciona una fecha no puede seleccionar que el campo esté vacío");
		return false;
	}
	
	// si todo ha ido bien...
		ocultarCapas('ventanaSeleccionFechas');
		
		// damos formato a la visualización de la fecha
		if (fecha_desde == fecha_hasta) {
			strFecha = '=' + fecha_desde;
		}
		if (fecha_desde == '' && fecha_hasta != '') {
			strFecha = '<=' + fecha_hasta;
		}
		if (fecha_desde != '' && fecha_hasta == '') {
			strFecha = '>=' + fecha_desde;
		}
		if (fecha_desde == '' && fecha_hasta == '') {
			strFecha = '';
		}
		if (chkEsMenor(fecha_desde, fecha_hasta)) {
			strFecha = '(' + fecha_desde + ',' + fecha_hasta + ')';
		}	
		if (document.formSeleccionFechas.omitir.checked) {
		    strFecha = 'NO' + strFecha;
		}
		if (document.formSeleccionFechas.vacio.checked) {
		    strFecha = strFecha + '=';
		}
		
	    eval('document.' + formularioseleccion + '.' + camposeleccion + '.value=strFecha');
	
	
}



// función muestraCalendario()
//////////////////////////////////
function muestraCalendario(valorFormulario, valorCampo)
  {
	CrearCalendario();
	controlCalendario(valorFormulario, valorCampo);
  }

// función muestraVentanaSelecccionFechas()
//////////////////////////////////
function muestraVentanaSelecccionFechas(valorFormulario, valorCampo, textoCampo)
  {
	CrearVentanaSeleccionFechas(textoCampo);
	controlVentanaSeleccionFechas(valorFormulario, valorCampo);
  }


//Muestra la fecha del sistema////
/////////////////////////////////
function fecha(){
    var fecha=new Date();
	meses=new Array("ENERO","FEBRERO","MARZO","ABRIL","MAYO","JUNIO","JULIO","AGOSTO","SEPTIEMBRE","OCTUBRE","NOVIEMBRE","DICIEMBRE");
	semana=new Array("DOMINGO","LUNES","MARTES","MIÉRCOLES","JUEVES","VIERNES","SÁBADO");
	document.write(semana[fecha.getDay()]);
	document.write(' ');
	document.write(fecha.getDate());
	document.write(' DE ');
	document.write(meses[fecha.getMonth()]);
	document.write(' DE ');
	document.write(fecha.getFullYear());
}     



//Ocultamos las ventanas dependiendo de las que estén abiertas////
/////////////////////////////////
var ventanaCalendario;
var ventanaSeleccionFechas;


ventanaCalendario = true;
ventanaSeleccionFechas = true;
	


//function controlCalendario
/////////////////////////////////
function controlCalendario(valorFormulario, valorCampo){
    formulario	= valorFormulario;
    campo		= valorCampo;
    
    
	if(ventanaCalendario==true){
	window.document.getElementById('ventanaCalendario').style.visibility="hidden";
	window.document.getElementById('ventanaCalendario').style.visibility="visible";
	ventanaCalendario = false;
	}
		
	else {
	window.document.getElementById('ventanaCalendario').style.visibility="visible";
	ventanaCalendario = true;
	}
	


}


//function controlVentanaSeleccionFechas
/////////////////////////////////////////////////
function controlVentanaSeleccionFechas(valorFormulario, valorCampo){
    formularioseleccion	= valorFormulario;
    camposeleccion		= valorCampo;
     
	if(ventanaSeleccionFechas==true){
	window.document.getElementById('ventanaSeleccionFechas').style.visibility="hidden";
	window.document.getElementById('ventanaSeleccionFechas').style.visibility="visible";
	ventanaSeleccionFechas = false;
	}
		
	else {
	window.document.getElementById('ventanaSeleccionFechas').style.visibility="visible";
	ventanaSeleccionFechas = true;
	}

}



function mouseOver (imgDocID,pictureover,mensaje,picture){
        if (imgDocID==imagen1){}
        else{
        window.document.images[imgDocID].src="images/"+pictureover;
        window.document.images[imagen1].src="images/"+gif;
        window.status=mensaje;
        imagen1=imgDocID;
        gif=picture;
        }      
      }
 	 
//cambio de imagen en los botones////
/////////////////////////////////      
function Mouse_over (imgDocID,picture,mensaje){
        eval("window.document.images[\""+imgDocID+"\"].src='"+picture+"'"); 
        window.status=mensaje;
	}

//muestra la capa elegida////
/////////////////////////////////	
function mostrarCapas(idCapa){
        window.document.getElementById(idCapa).style.visibility="visible";	
	}

//oculta la capa elegida////
/////////////////////////////////
function ocultarCapas(idCapa){
        window.document.getElementById(idCapa).style.visibility="hidden";	
	}
	
	
	
	



function Verificar(FechaDif, Dif)
{
	var HoyDif=new Date(FechaDif);
	
	if (Dif==0)
		HoyDif.setMonth(HoyDif.getMonth()-1)
	else
		HoyDif.setMonth(HoyDif.getMonth()+1)
		
	document.getElementById('ventanaCalendario').innerHTML = Calendario(HoyDif);
	

}

function DiaSel(FechaSel, Dia)
{
	var HoySel=new Date(FechaSel);
	
	HoySel.setDate(Dia)
	
    var FechaSeleccionada;
    var diaSeleccionado;
    var mesSeleccionado;
    
    diaSeleccionado = HoySel.getDate();
    mesSeleccionado = eval(HoySel.getMonth()+1);
    
    if ( diaSeleccionado < 10) {
		diaSeleccionado = "0" + diaSeleccionado;
    }
    if ( mesSeleccionado < 10) {
		mesSeleccionado = "0" + mesSeleccionado;
    }
     
    FechaSeleccionada = (diaSeleccionado + "/" + mesSeleccionado + "/" + HoySel.getFullYear());
    
    //alert (FechaSeleccionada);
    	
	eval('document.' + formulario + '.' + campo + '.value=FechaSeleccionada');
	
	ocultarCapas('ventanaCalendario');
	
	
}

function Calendario(Fecha)
{
 
  var Hoy=new Date(Fecha);

  var Hoy2="'" + Hoy + "'"
  
  var EsteDia;
  var DiasPorMes=[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

  Anyo=Hoy.getFullYear();

  EsteDia=Hoy.getDate();

  
  // Actualizacion del mes de Febrero (por los anyos bisiestos)
  if (((Anyo % 4 == 0) && (Anyo % 100 != 0)) || (Anyo % 400 == 0))
    DiasPorMes[1] = 29; 
  // Numero de dias del mes actual
  NDias =DiasPorMes[Hoy.getMonth()];

  // Calculo que dia de la semana es el primero del mes
  PrimerDia=Hoy;
  PrimerDia.setDate(1);
	 // Observacion: Obtengo el dia de hoy (p.e, 10-11-1999) y calculo que dia de la semana 
	 // es el dia 1 del mismo mes y año (p.e, 1-11-1999) 
	Comienzo=PrimerDia.getDay();
  
  if (Comienzo==0)
  	Comienzo = 6
  else 
  	Comienzo = Comienzo - 1; 
     
 <!-- Escritura en la pantalla de la tabla correspondiente al mes actual -->
    var CalendarioTexto = '';	


    CalendarioTexto = '<table border="0"><tr><td bgcolor="#000000">'	
    CalendarioTexto = CalendarioTexto + '<table border="0" cellpadding="0" cellspacing="1" width="100%" class="blanco"><tr><td>'	
    CalendarioTexto = CalendarioTexto + '<table width="200" border="0" cellspacing="0" cellpadding="0" class="blanco">'
    CalendarioTexto = CalendarioTexto + '<tr><td width="6"></td><td class="blanco" width="59">'	
    //////////////////////Mes anterior
    CalendarioTexto = CalendarioTexto + '<a href="javascript:Verificar(' + Hoy2 + ',0)">'
    CalendarioTexto = CalendarioTexto + '<img name="calFleIzq" src='+calFleIzq.src+' border="0" vspace="2" title="Mes Anterior"></a>'   

    /////////////////////Mes siguiente	
    CalendarioTexto = CalendarioTexto + '<a href="javascript:Verificar(' + Hoy2 + ',1)">'
    CalendarioTexto = CalendarioTexto + '<img name="calFleDer" src='+calFleDer.src+' border="0" vspace="2" hspace="4" title="Mes Siguiente"></a></td>'

    /////////////////////Cabecera, nombre mes
    var Mes = "";

    switch (Hoy.getMonth()+1){
	case 1:
		Mes = "Enero"; 
		break;
	case 2:
		Mes = "Febrero"; 
		break;		
	case 3:
		Mes = "Marzo";
		break; 
	case 4:
		Mes = "Abril"; 
		break;
	case 5:
		Mes = "Mayo";
		break;
	case 6:
		Mes = "Junio"; 
		break;
	case 7:
		Mes = "Julio"; 
		break;
	case 8:
		Mes = "Agosto"; 
		break;
	case 9:
		Mes = "Septiembre"; 
		break;
	case 10:
		Mes = "Octubre"; 
		break;
	case 11:
		Mes = "Noviembre";
		break;
	case 12:
		Mes = "Diciembre"; 
		break;	
	default: 
		Mes = "Error";
		break;
	}
    
    CalendarioTexto = CalendarioTexto + '<td class="txtnegro" height="18" align="center" width="99">'
    CalendarioTexto = CalendarioTexto + Mes +' de ' + Anyo + '</td>'
    CalendarioTexto = CalendarioTexto + '<td class="white" align="right" width="31">'
 
    /////////////////////Cerrar calendario/
    
    VarCerrar="ocultarCapas('ventanaCalendario');"
    CalendarioTexto = CalendarioTexto + '<a href="javascript:'+VarCerrar+'"><img name="calCerrar" src="'+calCerrar.src+'" border="0" vspace="2" title="cerrar"></a></td>'
    
    CalendarioTexto = CalendarioTexto + '<td width="5" class="blanco" valign="top">&nbsp;</td>'

    CalendarioTexto = CalendarioTexto + '</TR>'
    CalendarioTexto = CalendarioTexto + '<tr>' 
    CalendarioTexto = CalendarioTexto + '<td width="6"></td>'
    CalendarioTexto = CalendarioTexto + '<td valign="top" align="center" colspan="3">'
          <!--tabla contenido><-->
    CalendarioTexto = CalendarioTexto + '<table width="95%" border="0" cellspacing="1" cellpadding="0" align="center" class="blanco">'
    CalendarioTexto = CalendarioTexto + '<tr class="azulclaro2" align="center" height="17">'
    CalendarioTexto = CalendarioTexto + '<td class="txtnegro">L</td>'
    CalendarioTexto = CalendarioTexto + '<td class="txtnegro">M</td>'
    CalendarioTexto = CalendarioTexto + '<td class="txtnegro">X</td>'
    CalendarioTexto = CalendarioTexto + '<td class="txtnegro">J</td>'
    CalendarioTexto = CalendarioTexto + '<td class="txtnegro">V</td>'
    CalendarioTexto = CalendarioTexto + '<td class="txtnegro">S</td>'
    CalendarioTexto = CalendarioTexto + '<td class="txtnegro">D</td>'
    CalendarioTexto = CalendarioTexto + '</tr>'
	 
   CalendarioTexto = CalendarioTexto + "<TR>";
   	 
   columna=0;
   for (i=0; i<Comienzo; i++)
      {
        CalendarioTexto = CalendarioTexto + "<TD>";
        columna++;
        CalendarioTexto = CalendarioTexto + "</TD>"
      }

   // Escritura de los dias del mes
      for (i=1; i<=NDias; i++)
      { 
		CalendarioTexto = CalendarioTexto + "<TD>";
	        CalendarioTexto = CalendarioTexto + '<a href="javascript:DiaSel(' + Hoy2 + ',' + i + ');">';
	        
	        if (i == EsteDia)
	        {  
		  CalendarioTexto = CalendarioTexto + "<span class='txtnegro'><FONT COLOR='#0000FF'>"
		}  	
			else if (columna == 6)
			      {   	
			       CalendarioTexto = CalendarioTexto + "<span class='txtnegro'><FONT COLOR='#FF0000'>"
			      }
			      else 
			      {	
			     	CalendarioTexto = CalendarioTexto + "<span class='txtnegro'><FONT COLOR='#000000'>";
			      }	
	                
	        CalendarioTexto = CalendarioTexto + '<CENTER>'+i+'</a></CENTER>';
		
		CalendarioTexto = CalendarioTexto + "</FONT></span>";
		CalendarioTexto = CalendarioTexto + '</a>';
		CalendarioTexto = CalendarioTexto + "</TD>";
		
		columna++;
		
	        if (columna == 7)
		        {             
		        CalendarioTexto = CalendarioTexto + "</TR><TR>";            
		        columna=0;
		        }
      }		
	 
   	 CalendarioTexto = CalendarioTexto + "</TR>";

	 CalendarioTexto = CalendarioTexto + '</table>'
	 CalendarioTexto = CalendarioTexto + '</td>'
	 CalendarioTexto = CalendarioTexto + '</tr>'
	 CalendarioTexto = CalendarioTexto + '<tr>' 
	 CalendarioTexto = CalendarioTexto + '<td colspan="4" height="5">'
	 CalendarioTexto = CalendarioTexto + '</td>'
	 CalendarioTexto = CalendarioTexto + '<td width="5">'
	 CalendarioTexto = CalendarioTexto + '</td>'
	 CalendarioTexto = CalendarioTexto + '</tr>'

	 CalendarioTexto = CalendarioTexto + '</table>'
   	 CalendarioTexto = CalendarioTexto + '</td></tr></table>'
   	 CalendarioTexto = CalendarioTexto + '</td></tr></table>'
   	 
	 return CalendarioTexto
}

function Ventana(textoCampo)
{
    var VentanaHTML = '';	
    VarCerrar="ocultarCapas('ventanaSeleccionFechas');";
    
    VentanaHTML = VentanaHTML + '<form name="formSeleccionFechas" id="formSeleccionFechas">';
    VentanaHTML = VentanaHTML + '<table border="0" width="200">';
    VentanaHTML = VentanaHTML +   '<tr>';
    VentanaHTML = VentanaHTML +     '<td bgcolor="#000000">';	
    VentanaHTML = VentanaHTML +       '<table border="0" width="100%" cellpadding="0" cellspacing="0" class="blanco">';
    VentanaHTML = VentanaHTML +         '<tr>';
    VentanaHTML = VentanaHTML +           '<td>';	
    VentanaHTML = VentanaHTML +             '<table width="100%" border="0" cellspacing="0" cellpadding="0" class="blanco">';
    VentanaHTML = VentanaHTML +               '<tr class=azulclaro2>';
    VentanaHTML = VentanaHTML +                 '<td width="6"></td>';
    VentanaHTML = VentanaHTML +                 '<td class="txtnegro" align=right>' + textoCampo + '</td>';
    VentanaHTML = VentanaHTML +                 '<td class="txtnegro" align=right>';
    VentanaHTML = VentanaHTML +                   '<a href="javascript:'+VarCerrar+'"><img name="calCerrar" src="'+calCerrar.src+'" border="0" vspace="2" title="cerrar"></a></td>';
	VentanaHTML = VentanaHTML +                 '<td width="5"></td>';
    VentanaHTML = VentanaHTML +               '</tr>';
    VentanaHTML = VentanaHTML +               '<tr>';
    VentanaHTML = VentanaHTML +                 '<td width="6"></td>';
    VentanaHTML = VentanaHTML +                 '<td valign="top" align="center" colspan="3">';
          <!--tabla contenido><-->
    VentanaHTML = VentanaHTML +                   '<table width="100%" border="0" cellspacing="1" cellpadding="0" align="center" class="blanco">';
	VentanaHTML = VentanaHTML +                     '<tr height="5">';
    VentanaHTML = VentanaHTML +                       '<td></td>';
    VentanaHTML = VentanaHTML +                     '</tr>';
    VentanaHTML = VentanaHTML +                     '<tr class="txtnegro"  height="17">';
    VentanaHTML = VentanaHTML +                       '<td class="txtnegro">fecha Desde:</td>';
    VentanaHTML = VentanaHTML +                       '<td><input type="text" name="fechaDesde" size="10" onclick="javascript:muestraCalendario(\'formSeleccionFechas\', \'fechaDesde\')"></td>';
    VentanaHTML = VentanaHTML +                     '</tr>';
    VentanaHTML = VentanaHTML +                     '<tr class="txtnegro" height="17">';
    VentanaHTML = VentanaHTML +                       '<td class="txtnegro">fecha Hasta:</td>';
    VentanaHTML = VentanaHTML +                       '<td><input type="text" name="fechaHasta" size="10" onclick="javascript:muestraCalendario(\'formSeleccionFechas\', \'fechaHasta\')"></td>';
    VentanaHTML = VentanaHTML +                     '</tr>';
    VentanaHTML = VentanaHTML +                     '<tr height="17">';
    VentanaHTML = VentanaHTML +                       '<td class="txtnegro">omitir:</td>';
    VentanaHTML = VentanaHTML +                       '<td><input type="checkbox" name="omitir"></td>';
    VentanaHTML = VentanaHTML +                     '</tr>';
    VentanaHTML = VentanaHTML +                     '<tr height="17">';
    VentanaHTML = VentanaHTML +                       '<td class="txtnegro">vacío:</td>';
    VentanaHTML = VentanaHTML +                       '<td><input type="checkbox" name="vacio"></td>';
    VentanaHTML = VentanaHTML +                     '</tr>';
	VentanaHTML = VentanaHTML +                     '<tr height="10">';
    VentanaHTML = VentanaHTML +                       '<td></td>';
    VentanaHTML = VentanaHTML +                     '</tr>';
	VentanaHTML = VentanaHTML +                     '<tr height="17">';
    VentanaHTML = VentanaHTML +                       '<td colspan=2 align="center"><input type="button" id="boton" value="aceptar" onclick="Aceptar()"></td>';
    VentanaHTML = VentanaHTML +                     '</tr>';
    VentanaHTML = VentanaHTML +                     '<tr>';
   	VentanaHTML = VentanaHTML +                     '</tr>';
	VentanaHTML = VentanaHTML +                   '</table>';
	      <!--tabla contenido><-->
	VentanaHTML = VentanaHTML +                 '</td>';
	VentanaHTML = VentanaHTML +               '</tr>';
	VentanaHTML = VentanaHTML +               '<tr>';
	VentanaHTML = VentanaHTML +                 '<td colspan="3" height="5"></td>';
	VentanaHTML = VentanaHTML +                 '<td width="5"></td>';
	VentanaHTML = VentanaHTML +               '</tr>';
	VentanaHTML = VentanaHTML +             '</table>';
   	VentanaHTML = VentanaHTML +           '</td>';
   	VentanaHTML = VentanaHTML +         '</tr>';
   	VentanaHTML = VentanaHTML +       '</table>';
   	VentanaHTML = VentanaHTML +     '</td>';
   	VentanaHTML = VentanaHTML +   '</tr>';
   	VentanaHTML = VentanaHTML + '</table>';
   	VentanaHTML = VentanaHTML + '</form>';
	///////////////////////////////////////////////////////////////////////////////////  	 
    
    ocultarCapas('ventanaSeleccionFechas');

    
   	 
	 return VentanaHTML;
}



function CrearCalendario()
{
	var FechaActual=new Date();
	document.getElementById('ventanaCalendario').innerHTML = Calendario(FechaActual);
	
}



function CrearVentanaSeleccionFechas(textoCampo)
{
	
	document.getElementById('ventanaSeleccionFechas').innerHTML = Ventana(textoCampo);
}


var FechaActual=new Date();	
document.getElementById('ventanaCalendario').innerHTML = Calendario(FechaActual);

document.getElementById('ventanaSeleccionFechas').innerHTML = Ventana(textoCampo);


