//Llamadas JQUERY para calendario
$(document).ready(function() {
  //Según el idioma, ponemos un día como primero de la semana.
  var primer_dia;
  primer_dia = 1;

  var text_fecha1, text_fecha2;
  text_fecha1 = fTexto_fecha(1, idioma);
  text_fecha2 = fTexto_fecha(2, idioma);
  mostrar_dia = true;

  // Datepicker Fecha Entrada
  $('#fechaRecogida').datepicker(
				{
				  showOn: 'both',
				  buttonImageOnly: true,
				  buttonImage: '/imagenes/calendario_d.jpg',
				  showButtonPanel: true,
				  numberOfMonths: 1,
				  dateFormat: 'dd/mm/yy',
				  firstDay: primer_dia,
				  minDate: '+1d',
				  showAnim: '',
				  closeText: 'X',
				  buttonText: text_fecha1,
				  showOtherMonths: true,
				  selectOtherMonths: true,
				  onSelect: function(dateText, inst) {
				    var fechaMassCeroDia, fechaMassUnDia;
				    fechaMassCeroDia = fAumentarDias(0, dateText)
				    if ($('#fechaDevolucion').datepicker('getDate') < fechaMassCeroDia) { document.getElementById('fechaDevolucion').value = ''; }
				  }
				});

  // Datepicker Fecha Salida
  $('#fechaDevolucion').datepicker(
				{
				  showOn: 'both',
				  buttonImageOnly: true,
				  buttonImage: '/imagenes/calendario_d.jpg',
				  showButtonPanel: true,
				  numberOfMonths: 1,
				  dateFormat: 'dd/mm/yy',
				  firstDay: primer_dia,
				  minDate: '+1d',
				  showAnim: '',
				  closeText: 'X',
				  buttonText: text_fecha2,
				  showOtherMonths: true,
				  selectOtherMonths: true,
				  beforeShow: function(input, inst) {

				    var fechaMassUnDia;

				    var dateText = document.getElementById('fechaRecogida').value;
				    var opciones;
				    fechaMassUnDia = fAumentarDias(1, dateText);
				    //Si el día siguiente es 1 y lunes, el otro calendario es de dos meses sin sacar días extras
				    //Si la semana siguiente el dia 1 es lunes sacar dos calendarios
				    var esLunesyDia1;
				    esLunesyDia1 = false;
				    if ((fAumentarDias(1, dateText).getDate() == 1 && fAumentarDias(1, dateText).getDay() == 1) || (fAumentarDias(2, dateText).getDate() == 1 && fAumentarDias(2, dateText).getDay() == 1) ||
				        (fAumentarDias(3, dateText).getDate() == 1 && fAumentarDias(3, dateText).getDay() == 1) || (fAumentarDias(4, dateText).getDate() == 1 && fAumentarDias(4, dateText).getDay() == 1) ||
				        (fAumentarDias(5, dateText).getDate() == 1 && fAumentarDias(5, dateText).getDay() == 1) || (fAumentarDias(6, dateText).getDate() == 1 && fAumentarDias(6, dateText).getDay() == 1) ||
				        (fAumentarDias(7, dateText).getDate() == 1 && fAumentarDias(7, dateText).getDay() == 1)) {
				      esLunesyDia1 = true;
				    }
				    if (esLunesyDia1 && document.getElementById('fechaDevolucion').value == '') {
				      opciones = { numberOfMonths: 2, showOtherMonths: false, showCurrentAtPos: 0, minDate: dateText }
				    }
				    else {
				      opciones = { numberOfMonths: 1, showOtherMonths: true, showCurrentAtPos: 0, minDate: dateText };
				      if (fechaMassUnDia.getDate() == 1 && fechaMassUnDia.getDay() != 1 && document.getElementById('fechaDevolucion').value == '') {				        
				        opciones = { numberOfMonths: 1, showOtherMonths: true, showCurrentAtPos: 0, minDate: dateText, defaultDate: fechaMassUnDia };				        				        
				      }
				    }
				    return opciones;
				  },
				  beforeShowDay: function(date) {
				    if (date < $('#fechaRecogida').datepicker('getDate'))
				      return new Array(false, '', null);
				    else
				      if (date < $('#fechaRecogida').datepicker('getDate').getTime() + 1)
				      return new Array(true, 'ui-state-default ui-state-active', null);
				    else
				      return new Array(true, '', null);
				  }
				});


  //Valores por defecto
  if (document.getElementById('fechaRecogida').value == '' || document.getElementById('fechaRecogida').value == 'dd/mm/yyyy') { $('#fechaRecogida').datepicker('setDate', +1); }
  if (document.getElementById('fechaDevolucion').value == '' || document.getElementById('fechaDevolucion').value == 'dd/mm/yyyy') { $('#fechaDevolucion').datepicker('setDate', +4); }

  if (idioma == 'nl') {
    $('#fechaRecogida').datepicker('option', 'nextText', '>>');
    $('#fechaDevolucion').datepicker('option', 'nextText', '>>');
    $('#fechaRecogida').datepicker('option', 'prevText', '\<\<');
    $('#fechaDevolucion').datepicker('option', 'prevText', '\<\<');
  }
});
//Fin llamadas JQUERY para calendario

function fAumentarDias(dias, fechaOrigen) {

  var date2;
  var aux_fecha_recogida, aux_dia, aux_mes, aux_year;
  aux_fecha_recogida = fechaOrigen;
  
  try {
	aux_dia = aux_fecha_recogida.substr(0, 2);
	aux_mes = aux_fecha_recogida.substr(3, 2);
	aux_year = aux_fecha_recogida.substr(6, 4);
  } catch(e) {
	aux_dia = aux_fecha_recogida.getDate();
	aux_mes = aux_fecha_recogida.getMonth()+1;
	aux_year = aux_fecha_recogida.getFullYear();
  }

  date2 = new Date();
  date2.setFullYear(aux_year);
  date2.setMonth(aux_mes - 1);
  date2.setDate(aux_dia);

  var date3;
  date3 = new Date(date2.getTime() + (dias * 24 * 60 * 60 * 1000));  
  
  
  return (date3)
} //Fin fAumentarDias(dias, fechaOrigen)

function fTexto_fecha(nFecha, idioma_codigo) {
  switch (nFecha) {
	case 1:
	  switch (idioma_codigo) {
		case 'en':
		  return 'Pick Up Date';
		case 'de':
		  return 'Übergabedatum';
		case 'es':
		  return 'Fecha recogida';
		case 'fr':
		  return 'Date de début';
		case 'it':
		  return 'Data di Ritiro';
		case 'nl':
		  return 'Ophaaldatum';
	  }
	case 2:
	  switch (idioma_codigo) {
		case 'en':
		  return 'Return Date';
		case 'de':
		  return 'Rückgabedatum';
		case 'es':
		  return 'Fecha devolución';
		case 'fr':
		  return 'Date de retour';
		case 'it':
		  return 'Data di Resa';
		case 'nl':
		  return 'Teruggavedatum';
	  }
  }
} //Fin fTexto_fecha(nFecha, idioma_codigo)

