



function cargar_calendario(iDia, iMes, iAno, lugar, texto){

    var sCalendario;
    var sEstilos;
    var iCont;
    var iIncremento;
    var dPasoFecha = new Date(iAno,iMes,1);

    eval('gdFecha_' + lugar + ' = new Date(' + iAno + ',' + iMes +',' + iDia + ')');

    sCalendario = "<table class='tablecalendar' align='center'><tr>";
    
    // Si el año y la fecha son iguales a la fecha actual, no hay que mostrar el botón de mes atrás.
    if (gdFecha_now.getFullYear() == eval('gdFecha_' + lugar + '.getFullYear()') && gdFecha_now.getMonth() == eval('gdFecha_' + lugar + '.getMonth()')) {
    	sCalendario = sCalendario + "<tr><td align='center' class='thcalendar'>&nbsp;</td><td colspan='5' align='center' valign='middle' class='thcalendar'>" + arrayMeses[iMes] + " " + iAno + "</td><td align='right' class='thcalendar'><a href='javascript:ChangeMonth(1,\"" + lugar + "\",\"" + texto + "\");'><img src='/images/arrowbluer.jpg' border=0 width=17 height=17 title='Mes siguiente'></a></td></tr>";
    }
    else {
    	sCalendario = sCalendario + "<tr><td align='center' class='thcalendar'><a href='javascript:ChangeMonth(-1,\"" + lugar + "\",\"" + texto + "\");'><img src='/images/arrowbluel.jpg' border=0 width=17 height=17 title='Mes anterior'></a></td><td colspan='5' align='center' valign='middle' class='thcalendar'>" + arrayMeses[iMes] + " " + iAno + "</td><td align='right' class='thcalendar'><a href='javascript:ChangeMonth(1,\"" + lugar + "\",\"" + texto + "\");'><img src='/images/arrowbluer.jpg' border=0 width=17 height=17 title='Mes siguiente'></a></td></tr>";
    }
    
    // Pintamos los días
    sCalendario = sCalendario + "<tr>" +
			"<td class='celda_calendario'><b>"+arrayDias[0]+"</b></td>" +
			"<td class='celda_calendario'><b>"+arrayDias[1]+"</b></td>" +
      "<td class='celda_calendario'><b>"+arrayDias[2]+"</b></td>" +
      "<td class='celda_calendario'><b>"+arrayDias[3]+"</b></td>" +
     	"<td class='celda_calendario'><b>"+arrayDias[4]+"</b></td>" +
     	"<td class='celda_calendario'><b>"+arrayDias[5]+"</b></td>" +
    	"<td class='celda_calendario'><b>"+arrayDias[6]+"</b></td>" +
 			"</tr>";

		
		var diapaso = dPasoFecha.getDay();
		if (diapaso==0) diapaso=7;

    for (iIncremento = 1 ; iIncremento < diapaso ; iIncremento++)
        sCalendario = sCalendario + "<td class='tdcalendar'> </td>";

    iIncremento--;

    for (iCont = 1 ; dPasoFecha.getMonth() == eval('gdFecha_' + lugar + '.getMonth()') ; iCont++){

				//alert('Suma = ' + iCont + iIncremento);

        if ((iCont + iIncremento) % 7 == 1)
            sCalendario = sCalendario + "</tr><tr class='trcalendar'>";

				var clase = "tdcalendar";
        if (dPasoFecha.getDate() == eval('gdFecha_' + lugar + '.getDate()') ) 
        	clase = 'tdcalendaselect';
        
        // Si el año es posterior al año actual
        if (gdFecha_now.getFullYear() < eval('gdFecha_' + lugar + '.getFullYear()')) {
        	// el calend2 no debe tener las fechas anteriores al calend1 seleccionables...
        	
        	if (lugar=='calend2') {
        		if (gdFecha_calend2.getFullYear()< gdFecha_calend1.getFullYear() ||  (gdFecha_calend2.getFullYear()== gdFecha_calend1.getFullYear() && gdFecha_calend2.getMonth()<gdFecha_calend1.getMonth())  || (gdFecha_calend1.getMonth()==gdFecha_calend2.getMonth() && iCont <= gdFecha_calend1.getDate())) {
        			sCalendario = sCalendario + "<td class='tdcalendanotselect'>" + iCont + "</td>";
        		} else {
        			sCalendario = sCalendario + "<td class='"+clase+"'> <a href='javascript:pasar_fecha(" + iCont + ",\"" + lugar + "\",\"" + texto + "\");'>" + iCont + "</a></td>";			
        		}
        	} else {
        			sCalendario = sCalendario + "<td class='"+clase+"'> <a href='javascript:pasar_fecha(" + iCont + ",\"" + lugar + "\",\"" + texto + "\");'>" + iCont + "</a></td>";
        	}
        	

        } else {
        	// Si el año es el año actual, y el mes es posterior
        	if (gdFecha_now.getFullYear() == eval('gdFecha_' + lugar + '.getFullYear()') && gdFecha_now.getMonth() < eval('gdFecha_' + lugar + '.getMonth()')) {
        		// el calend2 no debe tener las fechas anteriores al calend1 seleccionables...
        		if (lugar=='calend2') {
        			if (gdFecha_calend1.getFullYear()>gdFecha_calend2.getFullYear() || gdFecha_calend1.getMonth()>gdFecha_calend2.getMonth() || ( gdFecha_calend1.getMonth()==gdFecha_calend2.getMonth() && iCont <= gdFecha_calend1.getDate())) {
        				sCalendario = sCalendario + "<td class='tdcalendanotselect'>" + iCont + "</td>";
        			} else {
        				sCalendario = sCalendario + "<td class='"+clase+"'> <a href='javascript:pasar_fecha(" + iCont + ",\"" + lugar + "\",\"" + texto + "\");'>" + iCont + "</a></td>";			
        			}
        		} else {
        			sCalendario = sCalendario + "<td class='"+clase+"'> <a href='javascript:pasar_fecha(" + iCont + ",\"" + lugar + "\",\"" + texto + "\");'>" + iCont + "</a></td>";
        		}
        		
        		
        	}
        	else {
        		// Si el año es el año actual, y el mes es actual y el día es posterior es seleccionable
        		if (gdFecha_now.getFullYear() == eval('gdFecha_' + lugar + '.getFullYear()') && gdFecha_now.getMonth() == eval('gdFecha_' + lugar + '.getMonth()') && gdFecha_now.getDate() <= iCont ) { 
        			
        			// el calend2 no debe tener las fechas anteriores al calend1 seleccionables...
        			if (lugar=='calend2') {
        				if (gdFecha_calend1.getFullYear()>gdFecha_calend2.getFullYear() || gdFecha_calend1.getMonth()>gdFecha_calend2.getMonth() || iCont <= gdFecha_calend1.getDate()) {
        					sCalendario = sCalendario + "<td class='tdcalendanotselect'>" + iCont + "</td>";
        				} else {
        					sCalendario = sCalendario + "<td class='"+clase+"'> <a href='javascript:pasar_fecha(" + iCont + ",\"" + lugar + "\",\"" + texto + "\");'>" + iCont + "</a></td>";			
        				}
        			}
        			else {
        				sCalendario = sCalendario + "<td class='"+clase+"'> <a href='javascript:pasar_fecha(" + iCont + ",\"" + lugar + "\",\"" + texto + "\");'>" + iCont + "</a></td>";		
        			}
        			
        			
        		}
        		// En otro caso no lo es
        		else {
        			sCalendario = sCalendario + "<td class='tdcalendanotselect'>" + iCont + "</td>";
        		}
        		
        	}
        }

        dPasoFecha.setDate(dPasoFecha.getDate() + 1);
    }

    sCalendario = sCalendario + "</tr>";
    
    // Ponemos la fecha abajo
    sCalendario = sCalendario + "<tr class='trcalendar'>";
    
    if (iDia<10) iDiatxt='0'+iDia;
    else iDiatxt = iDia;
    iMestxt = iMes + 1;
    if (iMestxt<10) iMestxt='0'+iMestxt;
    
    sCalendario = sCalendario + "<td class='textdate' colspan='7'>" + texto +": <font class='otherpricemiddle'>" + iDiatxt + "/" + iMestxt + "/" + iAno + "</font></td>";
        
    sCalendario = sCalendario + "</tr></table>";
    
  
    eval('document.frm_' + lugar + '.date_' + lugar + '.value = "' + iDiatxt + '/' + iMestxt + '/' + iAno + '"');
    
    document.getElementById(lugar).innerHTML = sCalendario;

}

function pasar_fecha(iDia,lugar,texto){
    if (isNaN(iDia)) iDia = eval('gdFecha_' + lugar + '.getDate()');
    iMes = eval('gdFecha_' + lugar + '.getMonth()');
    iAno = eval('gdFecha_' + lugar + '.getFullYear()');
    eval('gdFecha_' + lugar + ' = new Date(' + iAno + ',' + iMes +',' + iDia + ')');
    cargar_calendario(iDia,iMes,iAno,lugar,texto);
    
    if (lugar=='calend1') {
    	iDia = iDia+2;
    	eval('gdFecha_calend2 = new Date(' + iAno + ',' + iMes +',' + iDia + ')');
    	cargar_calendario(eval('gdFecha_calend2.getDate()'),eval('gdFecha_calend2.getMonth()'),eval('gdFecha_calend2.getFullYear()'),'calend2',text_checkout);
    }
    
}

function pasar_fechaini(lugar,texto) {
		//eval('gdFecha_' + lugar + ' = new Date()');
		iDia = eval('gdFecha_' + lugar + '.getDate()');
		iMes = eval('gdFecha_' + lugar + '.getMonth()');
    iAno = eval('gdFecha_' + lugar + '.getFullYear()');
    cargar_calendario(iDia,iMes,iAno,lugar,texto);
}

function ChangeMonth (sum,lugar,texto){
		iDia = eval('gdFecha_' + lugar + '.getDate()');
		iMes = eval('gdFecha_' + lugar + '.getMonth()');
    iMes = iMes + sum;
    iAno = eval('gdFecha_' + lugar + '.getFullYear()');
    eval('gdFecha_' + lugar + ' = new Date(' + iAno + ',' + iMes +',' + iDia + ')');
    
    iDia = eval('gdFecha_' + lugar + '.getDate()');
		iMes = eval('gdFecha_' + lugar + '.getMonth()');
    iAno = eval('gdFecha_' + lugar + '.getFullYear()');
    cargar_calendario(iDia,iMes,iAno,lugar,texto);
    
    
    
    if (lugar=='calend1') {
    	iDia = iDia+2;
    	eval('gdFecha_calend2 = new Date(' + iAno + ',' + iMes +',' + iDia + ')');
    	cargar_calendario(eval('gdFecha_calend2.getDate()'),eval('gdFecha_calend2.getMonth()'),eval('gdFecha_calend2.getFullYear()'),'calend2',text_checkout);
    }
    
}