


$(function(){
    
  function redondeo2decimales(numero){
    var original=parseFloat(numero);
    var result=Math.round(original*100)/100 ;
    return result;
  };

  function blinkIt(){
    if(!document.all){
      return;
    }else{
      for(i=0;i<document.all.tags('blink').length;i++){
        s=document.all.tags('blink')[i];
        s.style.visibility=(s.style.visibility=='visible')?'hidden':'visible';
      };
    };
  };
  setInterval(blinkIt,500);

  
  function sumaValores2(sumar){
    var arr = document.getElementsByName("lavado");
    var valor = 0;
    for(var i = 0; i < arr.length; i++){
      if(arr[i].checked){
        valor = arr[i].value;
        break;
      };
    };
    $('#txtSuma').val(parseFloat(sumar)+parseFloat(valor)+"€");
  };

  
  //Calcula el coste del parking más los lavados
  function sumaValores(){
    var lavado = $("input[name='lavado']:checked").val();
    var precio_lavado = redondeo2decimales(lavado.split(' ')[0]);
    var total = redondeo2decimales(parseFloat($('#coste').val()) + precio_lavado);
   
    $('#txtSuma').val(total + "€");
  };

  //======================================================================
  // valida formulario
  //======================================================================

  function valida(form1){
	  
	if (form1.txtSuma.value=="NaN€"){//Elemento type=text
      alert("El navegador Web que está usando no es compatible con nuestro sistema, por favor utilize Mozilla Firefox, Internet Explorer o Google Chrome! Por eso le aparece el error NaN€ en el precio total!");
      return false;
    };
    if (form1.nombre.value==""){//Elemento type=text
      alert("Por favor, introduzca su nombre!");
      return false;
    };
    if (form1.apellido1.value==""){//Elemento type=text
      alert("Por favor, introduzca su apellido");
      return false;
    };
    if (form1.dni.value==""){//Elemento type=text
      alert("Por favor, introduzca su dni");
      return false;
    };
    if (form1.domicilio.value==""){//Elemento type=text
      alert("Por favor, introduzca su domicilio");
      return false;
    };
    if (form1.telf.value==""){//Elemento type=text
      alert("Es necesario su teléfono");
      return false;
    };
    if (form1.email.value==""){//Elemento type=text
      alert("Por favor, intorduzca su email");
      return false;
    };
    if (form1.email.value.indexOf("@")==-1){//No tiene arroba!!
      alert("Su dirección de correo es invalida!");
      return false;
    };
    if (form1.marca.value==""){//Elemento type=text
      alert("Introduzca la marca y modelo de su vehiculo");
      return false;
    };
    if (form1.matricula.value==""){//Elemento type=text
      alert("Introduzca la matricula de su vehiculo");
      return false;
    };
    if (!form1.acepto.checked){//Elemento type=checkbox
      alert("Debes aceptar las condiciones de privacidad");
      return false;
    };
    
    form1[0].submit();
  };


  //======================================================================
  // date picker
  //======================================================================

  $("#fecha_entrada,#fecha_salida").datepicker({
    firstDay: 1,
   	showAnim:'fadeIn',
   	showButtonPanel: false ,
   	//numberOfMonths: 3,
   	showOn: 'focus' ,
   	dateFormat: 'dd/m/yy',
   	yearRange: '-0:15' ,
   	//showOtherMonths: true ,
   	altFormat: 'yy m d',
   	closeText: 'Cerrar',
   	prevText: '&#x3c;Ant',
   	nextText: 'Sig&#x3e;',
   	currentText: 'Hoy',
   	monthNames: ['enero','febrero','marzo','abril','mayo','junio', 'julio','agosto','septiembre','octubre','noviembre','diciembre'],
   	monthNamesShort: ['ene','feb','mar','abr','may','jun', 'jul','ago','sep','oct','nov','dic'],
   	dayNames: ['Domingo','Lunes','Martes','Miércoles','Jueves','Viernes','Sábado'],
   	dayNamesShort: ['Dom','Lun','Mar','Mi&eacute;','Juv','Vie','Sáb'],
   	dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','Sá'],
   	firstDay: 1,
   	isRTL: false,
   	showMonthAfterYear: false,
   	yearSuffix: '',
   	fin:null,
   	onSelect: function(date){
	  disponibilidad('esp');
	  calcular();
  	}
  });
  
  var hoy = new Date();
  var hoy_ano = hoy.getFullYear().toString();
  var hoy_mes = parseInt(hoy.getMonth()+1).toString().length==1? '0' + parseInt(hoy.getMonth()+1).toString() : parseInt(hoy.getMonth()+1).toString();
  var hoy_dia = hoy.getDate().toString().length==1? '0' + hoy.getDate().toString() : hoy.getDate().toString();
  var hoy_cad = hoy_ano + hoy_mes + hoy_dia;
  
  var fecha_sep_des = fechaBloqueoDesde.split('-');
  var fechaBloDes_cad = fecha_sep_des[0] + fecha_sep_des[1] + fecha_sep_des[2];
  var fecha_sep_has = fechaBloqueoHasta.split('-');
  var fechaBloHas_cad = fecha_sep_has[0] + fecha_sep_has[1] + fecha_sep_has[2];
  
  if (hoy_cad >= fechaBloDes_cad && hoy_cad <= fechaBloHas_cad) {
	  $('#fecha_entrada').datepicker('option', 'altField', '#fecha_entrada_aux' ).datepicker( 'setDate', new Date(fecha_sep_has[0], (Number(fecha_sep_has[1])-1), (Number(fecha_sep_has[2])+1)));
	  $('#fecha_salida').datepicker('option', 'altField', '#fecha_salida_aux' ).datepicker( 'setDate', new Date(fecha_sep_has[0], (Number(fecha_sep_has[1])-1), (Number(fecha_sep_has[2])+2)));
  
  } else {	  
	  $('#fecha_entrada').datepicker('option', 'altField', '#fecha_entrada_aux' ).datepicker( 'setDate' , '+0' );
	  $('#fecha_salida').datepicker('option', 'altField', '#fecha_salida_aux' ).datepicker( 'setDate' , '+1' );
  }
  
  
  //======================================================================
  // calculo de la tarifa
  //======================================================================

  function calcular(){
	
	if (fechaRebajasDesde<=dateToMysql($("#fecha_entrada").val()) && fechaRebajasHasta>=dateToMysql($("#fecha_entrada").val())) {
		tarifa=tarifaRebajas;
	} else {		
		tarifa=tarifaWeb;
	}
		
	 
	var aena_normal = 18.00;
	var aena_reducido= 14.40;
	
    var horasDeCarencia = 1; 

	// recogemos datos
	var salida_aux = document.form1.fecha_salida_aux.value.split(' ');
	var entrada_aux = document.form1.fecha_entrada_aux.value.split(' ');
	
	var salida_hora = document.form1.hora_salida.selectedIndex;
    var salida_dia = parseInt(salida_aux[2]) ;
    var salida_mes = parseInt(salida_aux[1]) -1;
    var salida_ano = parseInt(salida_aux[0]) ;

    var entrada_hora = document.form1.hora_entrada.selectedIndex;
    var entrada_dia = parseInt(entrada_aux[2]) ;
    var entrada_mes = parseInt(entrada_aux[1]) -1;
    var entrada_ano = parseInt(entrada_aux[0]) ;

    document.form1.dia_salida.value = salida_dia;
    document.form1.mes_salida.value = salida_mes+1;
    document.form1.anyo_salida.value = salida_ano;

    document.form1.dia_entrada.value = entrada_dia;
    document.form1.mes_entrada.value = entrada_mes+1;
    document.form1.anyo_entrada.value = entrada_ano;

    // calculamos el número de dias
    var entrada = new Date (entrada_ano, entrada_mes, entrada_dia, Math.floor(entrada_hora/4), (entrada_hora%4)*15, 0, 0);
    var salida  = new Date (salida_ano , salida_mes , salida_dia , Math.floor(salida_hora/4), (salida_hora%4)*15, 0, 0);
    var dias    =  Math.ceil ((salida.getTime() - entrada.getTime() - (horasDeCarencia*3600000) ) / 86400000);

	if (dias<1) dias=1;
 	
    var tarifa_mas_366 = 499.95;
    var vola_precio;
    
   
   if(dias > 366){
	   vola_precio = tarifa_mas_366;
   }else{
	   if($('input:[id="rb_telefono"]').is(':checked'))
		   vola_precio = tarifaTelefono[dias-1];
	   else 		   
		   vola_precio = tarifa[dias-1];
    }

	document.form1.coste.value = redondeo2decimales(vola_precio)+"€";
	
	var aena_precio = (dias<5) ? dias*aena_normal : 4*aena_normal+ (dias-4)*aena_reducido;
	var ahorro = aena_precio - vola_precio;
	
	sumaValores2(redondeo2decimales(vola_precio));

	document.form1.ahorro.value= redondeo2decimales(ahorro)+"€";	
  };


  //======================================================================

  $("#form1").submit(function(){
	if (comprobarFechasReserva())
		valida(document.form1);	
    
	return false;
  });

  $(".calculable").change(function(){
    calcular();
  });

  $("input[name='lavado']").change(function(){
    sumaValores();
  });
  
  $("input[name='tipo_tarifa']").change(function(){
	  calcular();
  });

	
});
