	// devuelve si la fecha 1 es mayor que la fecha 2
	
	function compara_fechas(fecha1, fecha2)
	{
		var fecha1 = date_to_sql(fecha1);
		var fecha2 = date_to_sql(fecha2);
		
		return fecha1 > fecha2;
	}	
		
	// transforma la fecha en formato sql
	
	function date_to_sql(date)
	{
		var trozos = date.split('/');
		var dateSQL = trozos[2] + '/' + trozos[1] + '/' + trozos[0];
		return dateSQL;
	}
	
	// devuelve la diferencia en días de la segunda fecha a la primera
	
	function resta_fechas(fecha_inicio, fecha_fin)
	{

		if(typeof(fecha_inicio) != 'object')
		{
			fecha_inicio = fecha_inicio.split('/');
			fecha_inicio = new Date(fecha_inicio[2], fecha_inicio[1], fecha_inicio[0]);	
		}
		
		if(typeof(fecha_fin)!= 'object')
		{
			fecha_fin = fecha_fin.split('/');
			fecha_fin = new Date(fecha_fin[2], fecha_fin[1], fecha_fin[0]);	
		}
		var diferencia = fecha_fin.getTime() - fecha_inicio.getTime();
		return Math.round(diferencia / (1000 * 60 *60 *24) );
	}
	
	function dia_siguiente(fecha)
	{
		var trozos = fecha.split('/');
		return (parseInt(trozos[0])+1) + '/' + trozos[1] + '/' + trozos[2];	
	}
	
	function dia_anterior(fecha)
	{
		var trozos = fecha.split('/');
		return (parseInt(trozos[0])-1) + '/' + trozos[1] + '/' + trozos[2];	
	}
	
	
	function set_fecha_inicio(fecha_inicio)
	{
		var fecha_fin = $("#fecha_fin").attr('value');
		// pintamos de color negro las letras
		$("#fecha_inicio").css({'color':'black'});
		$("#fecha_inicio").attr("value",fecha_inicio);
		$("#fecha_inicio_sql").attr("value",date_to_sql(fecha_inicio));
		$("#datepicker_ini").slideUp(300);
		// si la fecha de salida es menor que la de entrada o está vacía
		// establecemos como fecha de salida el siguiente al de entrada
		if(compara_fechas(fecha_inicio, fecha_fin) || fecha_fin == '')
		{	
			fecha_fin = dia_siguiente(fecha_inicio);
			// pintamos de color blanco las letras para no 'extrañar al usuario'
			$("#fecha_fin").css({'color':'white'});
			$("#fecha_fin").attr("value",fecha_fin);
			$("#fecha_fin_sql").attr("value",date_to_sql(fecha_fin));	
		}
		$("#total_noches").attr("value",resta_fechas(fecha_inicio,fecha_fin));
	}
	
	function set_fecha_fin(fecha_fin)
	{
		var fecha_inicio = $("#fecha_inicio").attr('value');
		// pintamos de color negro las letras
		$("#fecha_fin").css({'color':'black'});
		$("#fecha_fin").attr("value",fecha_fin);
		
		$("#fecha_fin_sql").attr("value",date_to_sql(fecha_fin));
		$("#datepicker_fin").slideUp(300);
		// si la fecha de entrada es mayor que la de salida o está vacía
		// establecemos como fecha de entrada el anterior al de salida
		if(compara_fechas(fecha_inicio, fecha_fin) || fecha_inicio == '')
		{
			// pintamos de color blanco las letras para no 'extrañar al usuario'
			$("#fecha_inicio").css({'color':'white'});
			fecha_inicio = dia_anterior(fecha_fin);
			$("#fecha_inicio").attr("value",fecha_inicio);
			$("#fecha_inicio_sql").attr("value",date_to_sql(fecha_inicio));
		}
		$("#total_noches").attr("value",resta_fechas(fecha_inicio,fecha_fin));
	}
	
  $(document).ready(function(){	
	
		var minDate = $("minDate").attr("value");
	
		// parámetros predeterminados para los calendarios
		 
		$.datepicker.setDefaults({
			minDate: new Date(),
		 	firstDay: 1,
		 	monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
		 	dateFormat: 'dd/mm/yy',
		 	dayNamesMin: ['D', 'L', 'M', 'X', 'J', 'V', 'S']
	 	});
		
		// asignamos los eventos al seleccionar una fecha
		
		$("#datepicker_ini").datepicker({
			
			onSelect: function(dateText){
				set_fecha_inicio(dateText)
			}
		});
		
		$("#datepicker_fin").datepicker({
			onSelect: function(dateText){
				set_fecha_fin(dateText)
			}
		});
		 
		// al pinchar en los textboxes mostramos/ocultamos
		
		$("#fecha_inicio").click(function(){
			
			$("#datepicker_ini").slideToggle(300),
			$("#datepicker_fin").slideUp(300).fadeOut(300)
		})
		
		$("#fecha_fin").click(function(){
			$("#datepicker_fin").slideToggle(300),
			$("#datepicker_ini").slideUp(300).fadeOut(300)
		})
		
		// ocultamos todos los calendarios
		
		$("#datepicker_ini").hide();
		$("#datepicker_fin").hide();
		 
	
  });
