var caja_a_pintar ;
var codigoPais;
Meses = new Array();
Meses[0] = new Array(12);
Meses[0][0] = "ENERO";
Meses[0][1] = "FEBRERO";
Meses[0][2] = "MARZO";
Meses[0][3] = "ABRIL";
Meses[0][4] = "MAYO";
Meses[0][5] = "JUNIO";
Meses[0][6] = "JULIO";
Meses[0][7] = "AGOSTO";
Meses[0][8] = "SEPTIEMBRE";
Meses[0][9] = "OCTUBRE";
Meses[0][10] = "NOVIEMBRE";
Meses[0][11] = "DICIEMBRE";
Meses[1] = new Array(12);
Meses[1][0] = "JANEIRO";
Meses[1][1] = "FEVEREIRO";
Meses[1][2] = "MAR?O";
Meses[1][3] = "ABRIL";
Meses[1][4] = "MAIO";
Meses[1][5] = "JUNHO";
Meses[1][6] = "JULHO";
Meses[1][7] = "AGOSTO";
Meses[1][8] = "SETEMBRO";
Meses[1][9] = "OUTUBRO";
Meses[1][10] = "NOVEMBRO";
Meses[1][11] = "DEZEMBRO"; 
Meses[2] = new Array(12);
Meses[2][0] = "JANUARY";
Meses[2][1] = "FEBRUARY";
Meses[2][2] = "MARCH";
Meses[2][3] = "APRIL";
Meses[2][4] = "MAY";
Meses[2][5] = "JUNE";
Meses[2][6] = "JULY";
Meses[2][7] = "AUGUST";
Meses[2][8] = "SEPTEMBER";
Meses[2][9] = "OCTOBER";
Meses[2][10] = "NOVEMBER";
Meses[2][11] = "DECEMBAR"; 
var DiasPorMes=[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
function CalendarioGeneral(tipo,pais_an,x ,y, elementTyp, fe_di, fe_me, fe_any, fs_di, fs_me, fs_any, fe_date, fs_date,cajaPintar){

	elementType = elementTyp;
    fe_dia = fe_di;
    fe_mes = fe_me;
    fe_anyo =  fe_any;
    fs_dia =  fs_di;
    fs_mes = fs_me;
    fs_anyo = fs_any;
    fe = fe_date;
    fs = fs_date;    
    caja_a_pintar = cajaPintar;
    tipoDelCalendario = tipo;
    if(pais_an.substring(3,5)=="es")         	
    {
    	codigoPais = 0;
    }
    else if(pais_an.substring(3,5)=="pt")         	
    {
    	codigoPais = 1;
    }
    else if(pais_an.substring(3,5)=="en")         	
    {
    	codigoPais = 2;
    }    
    if (x!=null)
    {
    	xCalendario=x;
      	yCalendario=y;
    }
    else
    {
    	xCalendario="245";
      	yCalendario="320";
    }
	tipoFecha=tipo;
	parent.pais=pais_an;
	
	//el campo fecha estar? vacio
	var fechaActual = new Date();
	var dia = fechaActual.getDate();
	var mes = fechaActual.getMonth()+1; //los meses comienzan en 0
	var annio = fechaActual.getFullYear();
			
	parent.Hoy = new Date(annio,mes-1,dia);	
  	fecha_real = new Date(annio,mes-1,dia);
		
	abrirCalendarioGeneral(tipo,"N");
}





function abrirCalendarioGeneral(tipoFecha,adelanteAtras)
{	
	var text_cal="";
	//vamos a poner la fecha de inicio segun la fecha seleccionada en la ida o de inicio

	
	
  	anio_real = fecha_real.getFullYear();
  	mes_real = fecha_real.getMonth();
  	dia_real = fecha_real.getDate();	
  	
 	fechaInputSeleccionada=parent.fe.value;
 	diaYaSeleccionado=parent.fe.value; 		
	

	ano = "" +parent.Hoy.getFullYear();
	mes = (parent.Hoy.getMonth()+1);
	mes = (mes<10?"0":"")+mes;
	fechaSeleccionada="/"+mes+"/"+ano.substring(2,4);

	var Anyo=parent.Hoy.getFullYear(); // Si el a?o es anterior a 2000 debe sumarse 1900 a la cantidad obtenida
   	// Observacion: El anyo se contabiliza a partir de 1900
   	var EsteDia=parent.Hoy.getDate();

  	// Actualizacion del mes de Febrero (por los anyos bisiestos)
  	if (((Anyo % 4 == 0) && (Anyo % 100 != 0)) || (Anyo % 400 == 0))
    	parent.DiasPorMes[1] = 29;
  	// Numero de dias del mes actual
  	NDias =parent.DiasPorMes[parent.Hoy.getMonth()];

  	// Calculo que dia de la semana es el primero del mes
  	PrimerDia=parent.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 anyo (p.e, 1-11-1999)

	Comienzo=PrimerDia.getDay();

 	if (Comienzo==0) Comienzo=6;
    else Comienzo=PrimerDia.getDay()-1;

 	// Escritura en la pantalla de la tabla correspondiente al mes actual 
   
    text_cal+="<table width=\"400\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"FFFFFF\"><tr><td>";
  	text_cal+="<table class=\"tabla\" width=\"200\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
	text_cal+="<tr>";
    text_cal+="<td height=\"20\" align=\"center\"><table width=\"199\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
    text_cal+="<tr>";  
	// Escribo en nombre del mes en la cabecera de la tabla
	if ( parent.Hoy.getMonth() == mes_real && parent.Hoy.getFullYear() == anio_real )
   	{
    	text_cal+="<td width=\"25\" align=\"center\" valign=\"middle\" class=\"blanco-mes-calendario\">&nbsp;</td>";
   	}
   	else
   	{ 
    	text_cal+="<td width=\"25\" align=\"center\" valign=\"middle\" class=\"blanco-mes-calendario\"><a href='Javascript:void(0);' onClick='parent.mesAtrasGeneral(\""+tipoFecha+"\");'><img src=\"/pictures/"+parent.pais+"/flechacal-mes-anterior.gif\" width=\"7\" height=\"9\" border=\"0\"/></a></td>";
   	}   
   	text_cal=text_cal+'<td width=\"148\" height=\"20\" align=\"center\" valign=\"middle\" class=\"blanco-mes-calendario\">'+Meses[codigoPais][parent.Hoy.getMonth()*1]+' '+anio_real+' </td>';	   
   	text_cal+="<td  width=\"25\" align=\"center\" valign=\"middle\" class=\"blanco-mes-calendario\">&nbsp;</td>";
	text_cal+="</tr>";
    text_cal+="</table></td>";
  	text_cal+="</tr>";
  	text_cal+="<tr>";
    text_cal+="<td height=\"16\"><table width=\"199\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
    text_cal+="<tr>";
    text_cal+="<td width=\"28\" align=\"center\" class=\"dias-semana-superior\">Lun</td>";
    text_cal+="<td width=\"28\" align=\"center\" class=\"dias-semana-superior\">Mar</td>";
    text_cal+="<td align=\"center\" width=\"28\" class=\"dias-semana-superior\">Mie</td>";
    text_cal+="<td align=\"center\" width=\"28\" class=\"dias-semana-superior\">Jue</td>";
    text_cal+="<td align=\"center\" width=\"28\" class=\"dias-semana-superior\">Vie</td>";
    text_cal+="<td align=\"center\" width=\"29\" class=\"dias-semana-superior\">Sab</td>";
    text_cal+="<td align=\"center\" width=\"29\" height=\"16\" class=\"dias-semana-calendario\">Dom</td>";
    text_cal+="</tr>";
    text_cal+="</table></td>";
  	text_cal+="</tr>";
    // Escritura de los espacios en blanco de la tabla

    text_cal+="<tr><td height=\"20\"><table width=\"199\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>";
    columna=0;
	fila = 0;

    for (i=0; i<Comienzo; i++)
    {
    	text_cal+="<td width=\"28\" align=\"center\" class=\"gris-normal\">&nbsp;</td>" 
        columna++;        
    }

    // Escritura de los dias del mes    
    for (i=1; i<=NDias; i++)
    {
    	if ( parent.Hoy.getMonth() == mes_real && parent.Hoy.getFullYear() == anio_real && i < dia_real)
    	{
    		text_cal+="<td height=\"20\" width=\"28\" align=\"center\" class=\"gris-normal\">"+i+"</td>";
        }
        else
        {
        	
        	var estilo = "";
        	//vamos a mirar si es domingo para poner un estilo u otro
        	if(columna !=6)
        	{
        		estilo = "dias-entresemana-calendario";
        	}
        	else
        	{
        		estilo = "dias-semana-calendario";
        	}
        	if(tipoFecha=="FV" && (parent.Hoy.getMonth() == mes_real && parent.Hoy.getFullYear() == anio_real && i == dia_real))
        	{
        		text_cal+="<td height=\"20\" width=\"28\" align=\"center\" class=\"tabla-borde-blanco\">"+i+"</td>";
        	}
        	else
        	{
        		text_cal+="<td height=\"20\" width=\"28\" align=\"center\" class=\""+estilo+"\"><div id="+i+" style='cursor:hand' onclick='javascript:parent.diaSeleccionado="+i+";parent.verDiaSeleccionadoGeneral(\""+tipoFecha+"\",\"S\")'><a class=\""+estilo+"\" href='Javascript:void(null)'>"+i+"</a></div></td>";
        	}
        }
    	columna++;
    	if (columna == 7)
        { 
        	text_cal+="</tr></table></td></tr><tr><td height=\"20\" ><table width=\"199\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>"; // Comienza una nueva fila
        	columna=0; 
        	fila++;           
        }
    }
    var finColumna = columna;    
    //miramos si quedan dias para acabar el mes en blanco
    if(columna!=0)
    {
    	while(columna<7)
    	{
	    	text_cal+="<td class=\"dias-entresemana-calendario\" height=\"20\" width=\"28\" align=\"center\" class=\"gris-normal\">&nbsp;</td>"        
    		columna++;
    	}
    	fila++;
    }        
    text_cal+="</tr>";    
    text_cal+="</table></td>";
    text_cal+="</tr>";
    //completamos con filas hasta 6 maximo
    while(fila<6 && columna!=0)
    {   
    	text_cal+="<tr><td class=\"dias-entresemana-calendario\" height=\"20\" ><table width=\"199\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>";
        text_cal+="<td height=\"20\" width=\"28\" align=\"center\" class=\"gris-normal\">&nbsp;</td>";
		text_cal+="</tr></table></td></tr>";
    	fila++;
    }

	text_cal+="<tr>";
    text_cal+="<td height=\"1\" bgcolor=\"#ffffff\"></td>";
  	text_cal+="</tr>";  	
  	text_cal+="<tr>";
    text_cal+="<td style=\"padding-right:5px;padding-top:3px;padding-bottom:3px\" height=\"16\" align=\"center\" valign=\"bottom\" class=\"blanco-mes-calendario\"><a href=\"Javascript:void(null)\" onClick=\"parent.cerrarCalendarioGeneral()\"><img src=\"/pictures/"+parent.pais+"/botonCerrar.gif\" width=\"50\" height=\"13\" border=\"0\" /></a></td>";
  	text_cal+="</tr>";
	text_cal+="</table>";
	text_cal+="</td>";

	//aqui metemos el segundo calendario.
	if (parent.Hoy.getMonth()==11)
	{
		mesActual=0;
	  	anoActual=parent.Hoy.getFullYear()+1;
  	}
  	else
  	{
  		mesActual=parent.Hoy.getMonth()+1;
  		anoActual=parent.Hoy.getFullYear();
  	}
	HoyCal2=new Date(anoActual,mesActual,1); //a?o,mes,dia 

	Anyo=HoyCal2.getFullYear(); // Si el a?o es anterior a 2000 debe sumarse 1900 a la cantidad obtenida
	// Observacion: El anyo se contabiliza a partir de 1900
	EsteDia=HoyCal2.getDate();
	// Actualizacion del mes de Febrero (por los anyos bisiestos)
	if (((Anyo % 4 == 0) && (Anyo % 100 != 0)) || (Anyo % 400 == 0))
	  parent.DiasPorMes[1] = 29;
	// Numero de dias del mes actual
	NDias =parent.DiasPorMes[HoyCal2.getMonth()];
	
  	// Calculo que dia de la semana es el primero del mes
  	PrimerDia=HoyCal2;
  	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 anyo (p.e, 1-11-1999)

  	Comienzo=PrimerDia.getDay();

  	if (Comienzo==0) Comienzo=6;
    else Comienzo=PrimerDia.getDay()-1;

	// Escritura en la pantalla de la tabla correspondiente al mes actual 
	text_cal+="<td>";
	text_cal+="<table class=\"tabla\" width=\"200\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
	text_cal+="<tr>";
    text_cal+="<td height=\"20\" align=\"center\"><table width=\"199\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
    text_cal+="<tr>";    
	text_cal+="<td width=\"25\" align=\"center\" valign=\"middle\" class=\"blanco-mes-calendario\">&nbsp;</td>";
	text_cal+="<td width=\"148\" height=\"20\" align=\"center\" valign=\"middle\" class=\"blanco-mes-calendario\">"+Meses[codigoPais][HoyCal2.getMonth()*1]+" "+ Anyo+" </td>";
	text_cal+="<td  width=\"25\" align=\"center\" valign=\"middle\" class=\"blanco-mes-calendario\"><a href='javascript:void(0)' onclick='javascript:parent.mesAdelanteGeneral(\""+tipoFecha+"\");'><img src=\"/pictures/"+parent.pais+"/flechacal-mes-siguiente.gif\" width=\"7\" height=\"9\" border=\"0\"/></a></td>";
	text_cal+="</tr>";
    text_cal+="</table></td>";
  	text_cal+="</tr>";
  	text_cal+="<tr>";
    text_cal+="<td height=\"16\"><table width=\"199\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
    text_cal+="<tr>";
    text_cal+="<td width=\"28\" align=\"center\" class=\"dias-semana-superior\">Lun</td>";
    text_cal+="<td width=\"28\" align=\"center\" class=\"dias-semana-superior\">Mar</td>";
    text_cal+="<td align=\"center\" width=\"28\" class=\"dias-semana-superior\">Mie</td>";
    text_cal+="<td align=\"center\" width=\"28\" class=\"dias-semana-superior\">Jue</td>";
    text_cal+="<td align=\"center\" width=\"28\" class=\"dias-semana-superior\">Vie</td>";
    text_cal+="<td align=\"center\" width=\"29\" class=\"dias-semana-superior\">Sab</td>";
    text_cal+="<td align=\"center\" width=\"29\" height=\"16\" class=\"dias-semana-calendario\">Dom</td>";
    text_cal+="</tr>";
    text_cal+="</table></td>";
  	text_cal+="</tr>";

 	// Escritura de los espacios en blanco de la tabla
	columna=0;
	fila = 0;
	text_cal+="<tr><td height=\"20\"><table width=\"199\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>";
	for (i=0; i<Comienzo; i++)
    {
    	text_cal+="<td width=\"28\" align=\"center\" class=\"gris-normal\">&nbsp;</td>"        
        columna++;
    }
	// Escritura de los dias del mes
    for (i=1; i<=NDias; i++)
    {
    	//vamos a ver si es domingo o no para poner un color u otro;
    	var classColor = "gris-normal";
    	if(columna==6)
    	{
    		//es domingo
    		classColor = "dias-semana-calendario";
    	}    	
    	if (HoyCal2.getMonth() == mes_real && HoyCal2.getFullYear() == anio_real && i < dia_real)
    	{
    		text_cal+="<td height=\"20\" width=\"28\" align=\"center\" class=\""+classColor+"\">"+i+"</td>";
    	}
    	else
    	{
    		if(columna !=6)
        	{
        		estilo = "dias-entresemana-calendario";
        	}
        	else
        	{
        		estilo = "dias-semana-calendario";
        	}
    		text_cal+="<td height=\"20\" width=\"28\" align=\"center\" class=\""+estilo+"\"><div id="+i+" style='cursor:hand' onclick='javascript:parent.diaSeleccionado="+i+";parent.verDiaSeleccionadoGeneral(\""+tipoFecha+"\",\"I\")'><a class=\""+estilo+"\" href='Javascript:void(null)'>"+i+"</a></div></td>";
    	}
    	
    	columna++;
    	if (columna == 7)
        { 
        	text_cal+="</tr></table></td></tr><tr><td height=\"20\"><table width=\"199\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>"; // Comienza una nueva fila
        	columna=0; 
        	fila++;           
        }
    }
    finColumna = columna;
    //miramos si quedan dias para acabar el mes en blanco
    if(columna!=0)
    {
    	
    	while(columna<7)
    	{
	    	text_cal+="<td width=\"28\" align=\"center\" class=\"dias-entresemana-calendario\" height=\"20\">&nbsp;</td>"        
    		columna++;
    	}
    	fila++;
    }
    text_cal+="</tr>";
    text_cal+="</table></td>";
    text_cal+="</tr>";
    //completamos con filas hasta 6 maximo   
    while(fila<6 && finColumna!=0)
    {   
    	text_cal+="<tr><td class=\"dias-entresemana-calendario\" height=\"20\" align=\"center\" class=\"negro-extra-peke\"><table width=\"199\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>";
        text_cal+="<td width=\"28\" align=\"center\" class=\"gris-normal\">&nbsp;</td>";
		text_cal+="</tr></table></td></tr>";
    	fila++;
    }
	text_cal+="<tr>";
    text_cal+="<td height=\"1\" bgcolor=\"#ffffff\"></td>";
  	text_cal+="</tr>";  	
  	text_cal+="<tr>";
    text_cal+="<td style=\"padding-right:5px;padding-top:3px;padding-bottom:3px\" height=\"16\" align=\"center\" valign=\"bottom\" class=\"blanco-mes-calendario\"><a href=\"Javascript:void(null)\" onClick=\"parent.cerrarCalendarioGeneral()\"><img src=\"/pictures/"+parent.pais+"/botonCerrar.gif\" width=\"50\" height=\"13\" border=\"0\" /></a></td>";
  	text_cal+="</tr>";
	text_cal+="</table>";
	text_cal+="</td></tr></table>";
	
	if(adelanteAtras=="N")
	{
		document.getElementById("ifrPintaCalendario").style.width="410";
		document.getElementById("ifrPintaCalendario").style.height="175";
  		document.getElementById("ifrPintaCalendario").style.top=yCalendario;
  		document.getElementById("ifrPintaCalendario").style.left=xCalendario;
  		this.ifrPintaCalendario.document.getElementById("capaCalendario").innerHTML=text_cal;	
  	}
  	else
  	{  		  		
  		parent.window.ifrPintaCalendario.document.getElementById("capaCalendario").innerHTML=text_cal;
  	}
	
}//fin de abrir calendario

function verDiaSeleccionadoGeneral(tipoFecha,cual){	
	//miramos si el calendario es el superior o el inferior
	if(cual=="S"){
		mesActual=parent.Hoy.getMonth()+1;
		anoActual=parent.Hoy.getFullYear();
	}
	else if(cual=="I"){
		mesActual=parent.HoyCal2.getMonth()+1;
		anoActual=parent.HoyCal2.getFullYear();
	}
	anoActual=""+anoActual;
	mesActual= ""+mesActual;
	mesActual = mesActual.length==2 ? mesActual : "0"+mesActual;
	diaSeleccionado= ""+diaSeleccionado;
	diaSeleccionado = diaSeleccionado.length==2 ? diaSeleccionado : "0"+diaSeleccionado;	
	
	// Esto es para la nueva version del buscador con los inputs en forma dd/mm/aaaa	
	parent.caja_a_pintar.value = diaSeleccionado+'/'+ mesActual+'/'+anoActual;	
	cerrarCalendarioGeneral();
}


function mesAtrasGeneral(tipoFecha, elementType, fe_dia, fe_mes, fe_anyo, fs_dia, fs_mes, fs_anyo, fe, fs){
	if (parent.Hoy.getMonth()==0){
		mesActual=11;
		anoActual=parent.Hoy.getFullYear()-1;
	}else{
		mesActual=parent.Hoy.getMonth()-1;
		anoActual=parent.Hoy.getFullYear();
	}
    parent.Hoy=new Date(anoActual,mesActual,1);    
    abrirCalendarioGeneral(tipoFecha,"S");
}

function mesAdelanteGeneral(tipoFecha)
{
	if (parent.Hoy.getMonth()==11)
	{
	  	mesActual=0;
	  	anoActual=parent.Hoy.getFullYear()+1;
	}
	else
	{
		mesActual=parent.Hoy.getMonth()+1;
		anoActual=parent.Hoy.getFullYear();
	}
	parent.Hoy=new Date(anoActual,mesActual,1);
	abrirCalendarioGeneral(tipoFecha,"S");
}

function cerrarCalendarioGeneral()
{		     	
     parent.document.getElementById("ifrPintaCalendario").style.width="0";
     parent.document.getElementById("ifrPintaCalendario").style.height="0";
}
