var aMeses = new Array('Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic');	

function fQuitarCeros(cadena) {
	if (cadena.charAt(0) == '0') {
		return cadena.charAt(1);
	}
	return cadena;
}
	
function ultimoDiaMes(mes, anno) {	
    var meses = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    if ((mes == 2) && (anno % 4 == 0))
     return 29;
    else
     return meses[mes - 1];
}

function fIniciarFecha(entradaSalida) {
	if (entradaSalida == '0') { 
		diainput = document.formfechas.diaentrada;
		mesinput = document.formfechas.mesentrada;
		annoinput = document.formfechas.annoentrada;
	}
	else {
		diainput = document.formfechas.diasalida;
		mesinput = document.formfechas.messalida;
		annoinput = document.formfechas.annosalida;
	}
		
	// inicialitcem a la data d'avui
	var hoy = new Date();
	var diaActual = hoy.getDate();	
	var mesActual = hoy.getMonth() + 1;	
					
	ie4 = (document.all)? true:false
	if (ie4) {
		var annoActual = hoy.getYear() - 2000;
	}
	else {
		var annoActual = hoy.getYear() - 100;
	}
		
	// omplim la llista d'anys amb l'actual i el següent
	for (i=0; i<2; i++) {	
		var selAnno = new Option(annoActual + i, annoActual + i);
    	annoinput.options.add(selAnno, i+1);
    }
    annoinput.selectedIndex = 0;
	
	// omplim la llista de mesos
	for (i=0; i<12; i++) {	
		var selMes = new Option(aMeses[i], String(i+1));
    	mesinput.options.add(selMes, i+1);
    }
    mesinput.selectedIndex = mesActual-1;
    
    // omplim la llista de dias en funció del mes
    for (i=0; i<ultimoDiaMes(mesActual, annoActual); i++) {
    	var selDia = new Option(String(i+1), String(i+1));
    	diainput.options.add(selDia, i+1);
    }
	diainput.selectedIndex = diaActual-1;    	    
}

function fCambioDia() {
	// calculem les nits reservades
	calcularNitsReservades();
}

function fCambioMes(entradaSalida) {
	if (entradaSalida == '0') {
		diainput = document.formfechas.diaentrada;
		mesinput = document.formfechas.mesentrada;
		annoinput = document.formfechas.annoentrada;
	}
	else {
		diainput = document.formfechas.diasalida;
		mesinput = document.formfechas.messalida;
		annoinput = document.formfechas.annosalida;
	}
		
	while (diainput.length > 0) diainput.remove(0);	
	for (i=0; i<ultimoDiaMes(mesinput.value, annoinput.value); i++) {
    	var selDia = new Option(String(i+1), String(i+1));
    	diainput.options.add(selDia, i+1);
    }
	diainput.selectedIndex = 0;	
	
	// calculem les nits reservades
	calcularNitsReservades();
}

function fCambioAnno(entradaSalida) {
	if (entradaSalida == '0') { 
		diainput = document.formfechas.diaentrada;
		mesinput = document.formfechas.mesentrada;
		annoinput = document.formfechas.annoentrada;
	}
	else {
		diainput = document.formfechas.diasalida;
		mesinput = document.formfechas.messalida;
		annoinput = document.formfechas.annosalida;
	}
	
	while (diainput.length > 0) diainput.remove(0);	
	for (i=0; i<ultimoDiaMes(1, annoinput.value); i++) {
    	var selDia = new Option(String(i+1), String(i+1));
    	diainput.options.add(selDia, i+1);
    }
    diainput.selectedIndex = 0;	
	mesinput.selectedIndex = 0;	
	
	// calculem les nits reservades
	calcularNitsReservades();
}

function fFijarFecha(entradaSalida) {
	if (entradaSalida == '0') { 
		fechainput = document.formfechas.fechaentrada;
		diainput = document.formfechas.diaentrada;
		mesinput = document.formfechas.mesentrada;
		annoinput = document.formfechas.annoentrada;
	}
	else {
		fechainput = document.formfechas.fechasalida;
		diainput = document.formfechas.diasalida;
		mesinput = document.formfechas.messalida;
		annoinput = document.formfechas.annosalida;
	}
	
	var fDesglosada = fechainput.value.split('/');		
	var diaActual = fQuitarCeros(fDesglosada[0]);	
	var mesActual = fQuitarCeros(fDesglosada[1]);
	
	ie4 = (document.all)? true:false
	if (ie4) {
		var annoActual = fDesglosada[2] - 2000;
	}
	else {
		var annoActual = fDesglosada[2] - 100;
	}
			
	annoinput.value = annoActual;
	mesinput.value = mesActual;
	fCambioMes(entradaSalida);
	diainput.value = diaActual;	
	
	// calculem les nits reservades
	calcularNitsReservades();
}

function calcularNitsReservades() {				
	var fechaentrada = new Date((parseInt(document.formfechas.annoentrada.value) + 2000),parseInt(document.formfechas.mesentrada.value) - 1,document.formfechas.diaentrada.value,0,0,0);
	var fechasalida = new Date((parseInt(document.formfechas.annosalida.value) + 2000),parseInt(document.formfechas.messalida.value) - 1,document.formfechas.diasalida.value,0,0,0);
	
	if (fechaentrada <= fechasalida) {				
		var diferencia = fechasalida.getTime() - fechaentrada.getTime();						
		var dias = Math.floor(diferencia / (1000 * 60 * 60 * 24));
		document.formfechas.numnoches.value = dias;		
	}
	else {
		document.formfechas.numnoches.value = 0;	
	}		
}

function fIniciarFechaRecarga(diaentrada,mesentrada,annoentrada,diasalida,mesalida,annosalida) {	
	diaentradainput = document.formfechas.diaentrada;
	mesentradainput = document.formfechas.mesentrada;	
	annoentradainput = document.formfechas.annoentrada;	
	diasalidainput = document.formfechas.diasalida;
	messalidainput = document.formfechas.messalida;	
	annosalidainput = document.formfechas.annosalida;	
										
	// capturame la data d'avui per omplir les llistes amb anys
	var hoy = new Date();	
	ie4 = (document.all)? true:false
	if (ie4) {
		var annoActual = hoy.getYear() - 2000;	
	}
	else {
		var annoActual = hoy.getYear() - 100;	
	}
			
	// omplim la llista d'anys amb l'actual i el següent
	for (i=0; i<2; i++) {	
		var selAnno = new Option(annoActual + i, annoActual + i);
    	annoentradainput.options.add(selAnno, i+1);
    }    
	annoentradainput.value = annoentrada;				
				
	// omplim la llista de mesos de la data d'inici	
	for (i=0; i<12; i++) {	
		var selMes = new Option(aMeses[i], String(i+1));
    	mesentradainput.options.add(selMes, i+1);
    }
    mesentradainput.selectedIndex = mesentrada - 1;
    
    // omplim la llista de dias en funció del mes d'inici
    for (i=0; i<ultimoDiaMes(mesentrada, annoentrada); i++) {
    	var selDia = new Option(String(i+1), String(i+1));
    	diaentradainput.options.add(selDia, i+1);
    }
	diaentradainput.selectedIndex = diaentrada - 1;    	    
			
	// omplim la llista d'anys amb l'actual i el següent
	for (i=0; i<2; i++) {	
		var selAnno = new Option(annoActual + i, annoActual + i);
    	annosalidainput.options.add(selAnno, i+1);
    }    
	annosalidainput.value = annosalida;				
	
	// omplim la llista de mesos de la data final
	for (i=0; i<12; i++) {	
		var selMes = new Option(aMeses[i], String(i+1));
    	messalidainput.options.add(selMes, i+1);
    }
    messalidainput.selectedIndex = mesalida - 1;
    
    // omplim la llista de dias en funció del final
    for (i=0; i<ultimoDiaMes(mesalida, annosalida); i++) {
    	var selDia = new Option(String(i+1), String(i+1));
    	diasalidainput.options.add(selDia, i+1);
    }
	diasalidainput.selectedIndex = diasalida - 1;
}
