function muestraHabitaciones(valor) { for (i=1; i<=valor; i++) { fila = eval("document.getElementById('filaHabitacion_"+i+"')"); fila.style.display = ''; } // Incremento valor porque valor+1 se interpreta como texto OMG valor++; for (i=valor; i<=5; i++) { fila = eval("document.getElementById('filaHabitacion_"+i+"')"); fila.style.display = 'none'; } } function buscar_hotel(fecha_entrada,fecha_salida,dias_entre_fechas, formulariohotel) { bien='1'; texto =''; if (dias_entre_fechas == '') { alert("Debe seleccionar la fecha de llegada y de salida"); formulariohotel.fecha_entrada.focus(); bien='0'; return -1; } if (dias_entre_fechas == 0) { alert("Las fechas de la reserva no pueden ser iguales"); formulariohotel.fecha_salida.focus(); bien='0'; return -1; } var anoentrada,mesentrada,diaentrada,anosalida,messalida,diasalida; diaentrada = jQuery('#fecha_entrada').val().substring(0,2); mesentrada = jQuery('#fecha_entrada').val().substring(3,5); anoentrada = jQuery('#fecha_entrada').val().substring(6,10); diasalida = jQuery('#fecha_salida').val().substring(0,2); messalida = jQuery('#fecha_salida').val().substring(3,5); anosalida = jQuery('#fecha_salida').val().substring(6,10); today = new Date(2020,1,17); llegada = new Date(anoentrada, mesentrada-1 , diaentrada); salida = new Date(anosalida, messalida-1, diasalida); fecha_actual_correcta = ((llegada.getTime() - today.getTime()) / 1000 / 60 / 60 / 24); fecha_actual_correcta=Math.round(fecha_actual_correcta); fecha_correcta = ((salida.getTime()- llegada.getTime()) / 1000 / 60 / 60 / 24); fecha_correcta=Math.round(fecha_correcta); menos_de_seis_meses = ((llegada.getTime() - today.getTime()) / 1000 / 60 / 60 / 24); if (menos_de_seis_meses > 730) { texto ="No se puede efectuar una reserva con 11 meses de antelación.\n"; texto = texto + "\t Fecha de Llegada: "+diaentrada+"/"+mesentrada+"/"+anoentrada+"\n"; texto = texto + "\t Fecha Actual: "+fecha_dia+"/"+fecha_mes+"/"+fecha_ano+"\n"; alert(texto); return -1; } if (fecha_actual_correcta < '0') { alert("La fecha de inicio de la reserva no puede ser anterior a la fecha actual"); return -1; } if (fecha_correcta >='45') { alert("La reserva no puede superar los 45 dias."); return -1; } if (fecha_correcta == '0') { alert("Las fechas de la reserva no pueden ser iguales"); return -1; } if (fecha_correcta < '1') { alert("La fecha introducida en la reserva no es correcta."); bien='0'; return -1; } if (formulariohotel.habitaciones.value.length == 0 || formulariohotel.habitaciones.value == 0 ) { alert("Debe introducir el Número de habitaciones."); formulariohotel.habitaciones.value = 0; bien='0'; return -1; } formulariohotel.submit(); } function actualizar_dia(){ dias_entre_fechas = diferencia_dias('abs'); var noches_tmp = "noche(s)"; document.getElementById("cantidad_de_noches").innerHTML = "Total: "+dias_entre_fechas+" "+noches_tmp; document.formulariohotel.dias_entre_fechas.value=dias_entre_fechas; } function numFormat(cad,dec, miles) { var num = cad, signo=3, expr; var ceros = "", pos, pdec, i; var cad = ""+cad; var cad2=""; var cad3=""; var chivato = "N"; for (i=0; i < dec; i++) { ceros += '0'; } pos = cad.indexOf('.') pdec = cad.length - pos -1; if (pdec <= dec) { for (i=0; i< (dec-pdec); i++) { cad = '0'+cad; } } else { num = num*Math.pow(10, dec); num = Math.round(num); num = num/Math.pow(10, dec); cad = new String(num); } pos = cad.indexOf('.') if (pos < 0) { pos = cad.lentgh } if (cad.substr(0,1)=='-' || cad.substr(0,1) == '+') { signo = 4; } if (miles && pos > signo) { do{ expr = /([+-]?\d)(\d{3}[\.\,]\d*)/ cad.match(expr) cad=cad.replace(expr, RegExp.$1+','+RegExp.$2) } while (cad.indexOf(',') > signo) } if (dec<0) { cad = cad.replace(/\./,'') } cad2=cad; cad2=cad2.replace('.','*'); cad2=cad2.replace(',','.'); cad2=cad2.replace('*',','); for (i=0;i < cad2.length;i++) { if ((cad2.charAt(i)) == '.' || (cad2.charAt(i) == ',')) { chivato = 'S'; } } if ((chivato == 'N') && (cad2.length >= 4)) { cad3 = ""; for (i=0;i < cad2.length;i++) { if ((cad2.length - i) == 4) { cad3 = cad3 + cad2.charAt(i)+'.'; } else { cad3 = cad3 + cad2.charAt(i); } } cad2 = cad3; } chivato = 'N'; for (i=0;i < cad2.length;i++) { if (cad2.charAt(i) == ',') { chivato = 'S'; } } if (chivato == 'N') { cad2 = cad2+',00'; } return cad2; } function redondear(num, dec) { return parseFloat(num).toFixed(parseInt(dec)); } function actualiza_precio_habitacion(id, id_habitacion, num_hab) { var selectRegimenes = eval("document.reserva.los_regimenes_"+id_habitacion); var i; var longitud = selectRegimenes.length; // Remove current options in regimen for(i=longitud -1; i >= 0; i--) { selectRegimenes.remove(i); } // Add the new options var selectHabitaciones = eval("document.reserva.los_tipos_hab_"+id_habitacion); // Select if(selectHabitaciones.type == 'select-one') { var indiceHabitaciones = selectHabitaciones.selectedIndex; var tipoHabitacionSeleccionada = selectHabitaciones[indiceHabitaciones].text // Radio (undefined) } else { for(i=0; i< selectHabitaciones.length; i++){ if(selectHabitaciones[i].checked) { var tipoHabitacionSeleccionada = selectHabitaciones[i].value; } } } for (regimen in habitacionesRegimenes[id_habitacion][tipoHabitacionSeleccionada]) { var elOptNew = document.createElement('option'); elOptNew.text = regimen; elOptNew.value = habitacionesRegimenes[id_habitacion][tipoHabitacionSeleccionada][regimen]; try { selectRegimenes.add(elOptNew, null); // standards compliant; doesn't work in IE } catch(ex) { selectRegimenes.add(elOptNew); // IE only } } // Refresh current prices actualiza_precio_regimen(id, id_habitacion, num_hab); } function actualiza_precio_regimen(id, id_habitacion, num_hab) { var selectRegimenes = eval("document.reserva.los_regimenes_"+id_habitacion); var indiceRegimenes = selectRegimenes.selectedIndex; var precio = selectRegimenes[indiceRegimenes].value; actualiza_precio(id,id_habitacion,num_hab,precio) } function actualiza_precio(id,id_habitacion,num_hab,total) { var aux; var aux1; var aux2; var aux3; var aux4; var aux5; var object; var object1; var object2; var object3; var object4; var object5; var total2; var precio_total = 0; aux3 = 'document.reserva.el_precio_'+id_habitacion; object3 = eval(aux3); object3.value = redondear(total,2); aux6 = 'document.reserva.el_precio2_'+id_habitacion; object6 = eval(aux6); object6.value = redondear(total,2); total2 = total; object6.value = numFormat(total2,2,true); for(i=1;i<=num_hab;i++) { aux = 'document.reserva.el_precio2_'+i; object = eval(aux); precio_total = parseFloat(precio_total) + parseFloat(object.value.replace('.','').replace(',', '.')); } aux4 = 'document.reserva.el_precio_total'; object4 = eval(aux4); precio_total = redondear(precio_total,2); aux5 = 'document.reserva.precio_reserva'; object5 = eval(aux5); object5.value = precio_total; var variable_aux = new String; variable_aux = precio_total + ''; variable_aux = variable_aux.replace('.',','); variable_aux = variable_aux+' €'; object4.value = variable_aux; aux7 = 'document.reserva.el_precio_total2'; object7 = eval(aux7); total2 = precio_total; object7.value = numFormat(total2,2,true); object7.value = object7.value +' €'; } function comprobar_disponibilidad(id, num_hab, estudio, dor1, dor2, dor3, dor4, dor5, dor6) { var ind = 0; var dui = 0; var dob = 0; var tri = 0; var cua = 0; var sju = 0; var sui = 0; var aux; var object; var aux2; var object2; var indice; for (i=1;i<=num_hab;i++) { aux = 'document.reserva.los_tipos_hab_'+i; object = eval(aux); if (object.type == 'select-one') { indice = object.selectedIndex; tipo = object.options[indice].text; } else { for (i=0; i< object.length; i++) { if (object[i].checked) { indice = i; tipo = object[i].value; } } } if (tipo == estudio) { ind=ind+1; } if (tipo == dor1) { dui=dui+1; } if (tipo == dor2) { dob=dob+1; } if (tipo == dor3) { tri=tri+1; } if (tipo == dor4) { cua=cua+1; } if (tipo == dor5) { sju=sju+1; } if (tipo == dor6) { sui=sui+1; } } //Individuales aux2 = 'max_individuales'; object2 = document.getElementById(aux2); cuantas_seleccionadas = object2.value; if ((ind > cuantas_seleccionadas) && (cuantas_seleccionadas!=-99)) { texto = "Como mucho puede disponer de "+object2.value+" habitación/s "+estudio; alert(texto); return; } //Doble Uso Individual aux2 = 'max_doblesui'; object2 = document.getElementById(aux2); if ((dui > object2.value) && (object2.value!=-99)) { texto = "Como mucho puede disponer de "+object2.value+" habitación/s "+dor1; alert(texto); return; } //Dobles aux2 = 'max_dobles'; object2 = document.getElementById(aux2); if ((dob > object2.value) && (object2.value!=-99)) { texto = "Como mucho puede disponer de "+object2.value+" habitación/s "+dor2; alert(texto); return; } //Triples aux2 = 'max_triples'; object2 = document.getElementById(aux2); if ((tri > object2.value) && (object2.value!=-99)) { texto = "Como mucho puede disponer de "+object2.value+" habitación/s "+dor3; alert(texto); return; } //Cuadruple aux2 = 'max_cuadruples'; object2 = document.getElementById(aux2); if ((cua > object2.value) && (object2.value!=-99)) { texto = "Como mucho puede disponer de "+object2.value+" habitación/s "+dor4; alert(texto); return; } //Suite Junior aux2 = 'max_suitesj'; object2 = document.getElementById(aux2); if ((sju > object2.value) && (object2.value!=-99)) { texto = "Como mucho puede disponer de "+object2.value+" habitación/s "+dor5; alert(texto); return; } //Suites aux2 = 'max_suites'; object2 = document.getElementById(aux2); if ((sui > object2.value) && (object2.value!=-99)) { texto = "Como mucho puede disponer de "+object2.value+" habitación/s "+dor6; alert(texto); return; } //document.contiene_variables.submit(); }