" )
.addClass( "ui-arrow" )
.addClass( feedback.vertical )
.addClass( feedback.horizontal )
.appendTo( this );
}
}};
/*$(".crs .element").tooltip(
{
position: {
my: "center bottom-20",
at: "center top",
using: function( position, feedback ) {
$( this ).css( position );
$( "
" )
.addClass( "ui-arrow" )
.addClass( feedback.vertical )
.addClass( feedback.horizontal )
.appendTo( this );
}
}
});*/
/*$(".crs div").tooltip(
{
position: {
my: "center bottom-20",
at: "center top",
using: function( position, feedback ) {
$( this ).css( position );
$( "
" )
.addClass( "ui-arrow" )
.addClass( feedback.vertical )
.addClass( feedback.horizontal )
.appendTo( this );
}
}
});
setTimeout(function() {
$(".tooltip").fadeOut("slow");
},100);*/
//AUTOCOMPLETAMIENTO CON TYPEAHEAD.JS DE TWITTER
var substringMatcher = function(strs) {
return function findMatches(q, cb) {
var matches, substringRegex;
// an array that will be populated with substring matches
matches = [];
// regex used to determine if a string contains the substring `q`
substrRegex = new RegExp(q, 'i');
// iterate through the pool of strings and for any string that
// contains the substring `q`, add it to the `matches` array
$.each(strs, function(i, str) {
if (substrRegex.test(str)) {
matches.push(str);
}
});
cb(matches);
};
};
var _hotel = [];
if(autocompleteSource!=""){
jQuery.each(autocompleteSource, function (i, hotel) {
_hotel.push(hotel.label);
});
}
var _pol = [];
if(autocompletePolosSource!=""){
jQuery.each(autocompletePolosSource, function (i, polo) {
_pol.push(polo.label);
});
}
var hotels = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('term'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: autocompleteSource//arreglo que contiene los hoteles para el autocompletamiento
});
var polos = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('term'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: autocompletePolosSource//arreglo que contiene los destinos para el autocompletamiento
});
$('.typeahead-hotel').typeahead({
hint: false,
highlight: true,
minLength: 2
},
{
name: 'polos',
display: 'label',
source: polos,
limit: 100,
templates: {
header: '
'+langText[culture]['navigation'][6]+'
'
}
},
{
name: 'hotels',
display: 'label',
source: hotels,
limit: 100,
templates: {
header: ''+langText[culture]['navigation'][7]+'
'
}
}
)/*.blur(function(){
if(pol_hotel[$(this).val()] == null) {
$('.typeahead-hotel').val('');
$(".crs #tests").addClass("crs-error");
}
})*/;
$('.typeahead-hotel').bind('typeahead:active', function() {
$(".crs .element").removeClass("selected unavailable crs-error");
$(".crs #tests").addClass("selected");
//$('#hotelsByPolo').collapse("hide");
$('.mycollapse').slideUp();
});
$('.typeahead-hotel').bind('typeahead:render', function(ev, suggestion, asyncflag, datasetname) {
$(".crs .element").removeClass("selected unavailable crs-error");
$(".crs #tests").addClass("selected");
//$('#hotelsByPolo').slideUp();
$('.mycollapse').slideUp();
//$('#hotelsByPolo').collapse("hide");
});
$('.typeahead-hotel').bind('typeahead:idle', function() {
$(".crs #tests").removeClass("selected");
});
$('.typeahead-hotel').bind('typeahead:close', function() {
$(".crs #tests").removeClass("selected");
});
$('.typeahead-hotel').bind('typeahead:select', function(ev, suggestion) {
$('#codsolresSelected').val(suggestion.value);
$('#hotelList').val(suggestion.hotelList);
$('.typeahead-hotel').val(suggestion.label);
//aqui llamar al getDesabledDays
var ajaxurl = $('.crs').attr('data-route');
var data = {};
if(suggestion.type=='hotel'){//si lo seleccionado es un hotel, se hace la consulta de disponibilidad, si es un polo no
data['codsolres'] = suggestion.value;
if(suggestion.adultsOnly){
$(".adults-only").show();
$('div[adultsonly]', '#section-crs').attr('data-adultsonly', '1').addClass('blocked');
$('.room_childs').attr('data-adultsonly', '1');
}else{
$(".adults-only").hide();
$('div[adultsonly]', '#section-crs').attr('data-adultsonly', '0').removeClass('blocked');
$('.room_childs').attr('data-adultsonly', '0');
}
_getDesabledDays(ajaxurl, data, $('.crs'));
}
});
/**
* Funciones de cobertura para contar el número de pax que se tienen que
* tener en cuenta. Son utilizadas no solo por los gestores de eventos de
* tratamiento de pax si no que además por aquéllos que relativos a la
* selecciónd de hoteles destinos
*/
var num_personas_actual = 2;
var num_adults = 0;
var num_ninos = 0;
var habitaciones = $('.room').length;
var habitaciones_info = new Array();
var createHabs = function(){
habitaciones = $('.room').length;
habitaciones_info = new Array();
for (var i=1; i<=habitaciones; i++) {
var adults = $('.room[index='+i+']').find(".adults").text();
var children = $('.room[index='+i+']').find(".childs").text();
habitaciones_info[i] = new Object();
habitaciones_info[i].adultos = (adults)?adults:2;
habitaciones_info[i].ninos = children;
habitaciones_info[i].edadNinos = new Array();
}
}
createHabs();
/*Función para reset los datos por default*/
var resetOccupationData = function(){
num_personas_actual = 2;
num_adults = 0;
num_ninos = 0;
//Ocupación minima 2 personas
$("#occupancy").text("").text(num_personas_actual);
//ocultar edades y poner en vacio los input
if($(".childs_ages").length>0){
$(".childs_ages input").val("");
$(".childs_ages").hide();
}
$(".child_age").hide();
$(".child_age input").removeClass('error');
//ocultar cartel de solo adultos
$(".adults-only").hide();
//remover posibles hab previamente seleccionadas
$(".room").each(function(){
var numero_de_habitaciones = $(".room").length;
if (numero_de_habitaciones == 1) {
$(".room_name span").text("1");
//2 adultos por defecto
$(".adults").text("2");
//0 niños por defecto
$(".childs").text("0");
return;
}else $(this).remove();
});
createHabs();
};
var set_total_huespedes = function () {
num_personas_actual = get_num_personas_actuales_reserva();
$("#occupancy").text("").text(num_personas_actual);
/*for (var i=0; i1 && num_ninos<=cnst_max_child_hab){
var $obj_a_clonar = $obj.parent().parent().find(".child_age").last();
var $obj_clonado = $obj_a_clonar.clone(true);
$obj_clonado.insertAfter($obj_a_clonar);
}*/
$obj.parent().parent().find('.child_age[age_index='+$obj_a_incrementar.text()+']').show();
}
}
set_total_huespedes();
};
var decrementar_huespedes = function ($obj, tipo_huesped) {
var $obj_a_decrementar = $obj.parent().parent().find(
"div.label span:first");
var valor_a_decrementar = parseInt($obj_a_decrementar.text());
if (valor_a_decrementar <= 1
&& !(tipo_huesped == cnst_nino)) {
return;
} else if (valor_a_decrementar == 0) {
return;
}
$obj_a_decrementar.text(--valor_a_decrementar);
var num_habitacion = 0;
num_habitacion = parseInt($obj.parent().parent().parent().find("div.room_name div.label span").text())// - 1;
var gente = habitaciones_info[num_habitacion];
if (tipo_huesped === cnst_adult) {
num_adults--;
gente.adultos--;// = gente.adultos - 1;
} else if (tipo_huesped === cnst_nino) {
num_ninos--;
gente.ninos--;// = gente.ninos - 1;
//remover edades
var $child_age = $obj.parent().parent().find(".child_age").last();
if($obj_a_decrementar.text()=="0") $obj.parent().parent().find(".childs_ages").hide();
else {
//$child_age.remove();
var $ages = $obj.parent().parent().find("div.child_age");
$ages.hide();//esconderlos todos
for(var i=1; i<=$obj_a_decrementar.text(); i++ ){
$obj.parent().parent().find(".child_age[age_index="+i+"]").show();//mostrar los de index correspondiente
}
}
}
set_total_huespedes();
};
/**
* Manejador para incrementar el número de adultos de una habitación.
*
*/
$("div.room_adults .plus").click(function (event) {
event.stopImmediatePropagation();
var $obj = $(this);
incrementar_huespedes($obj, cnst_adult);
});
/**
* Manejador de eventos para decrementar el número de adultos de una
* habitación
*/
$("div.room_adults .less").click(function (event) {
event.stopImmediatePropagation();
var $obj = $(this);
decrementar_huespedes($obj, cnst_adult);
});
/**
* Manejador de eventos para incrementar niños
*/
$("div.room_childs div.plus").click(function (event) {
event.stopImmediatePropagation();
var $obj = $(this);
incrementar_huespedes($obj, cnst_nino);
});
/**
* Manejador de eventos para decrementar niños
*/
$("div.room_childs div.less").click(function (event) {
event.stopImmediatePropagation();
var $obj = $(this);
decrementar_huespedes($obj, cnst_nino);
});
/**
* Manejador de eventos para eliminar una habitación
*/
$("div.room_name div.remove").click(function (event) {
var renumera_habitaciones = function () {
var $habitaciones = $(".room");
var contador = 1;
$habitaciones.each(function () {
$this = $(this);
$this.find("div.room_name div.label span")
.text("").text(contador++);
});
};
event.stopImmediatePropagation();
var numero_de_habitaciones = $(".room").length;
if (numero_de_habitaciones == 1) {
return;
}
var num_habitacion = parseInt($(this).parent().find("div.room_name div.label span").text()) - 1;
var $habitaciones = $("div.room");
var $habitacion = $(this).parent().parent();
var num_habitacion = $habitaciones.index($habitacion);
/*num_adults -= habitaciones_info[num_habitacion].adultos;
num_ninos -= habitaciones_info[num_habitacion].ninos;
habitaciones_info.splice(num_habitacion, 1);*/
$habitacion.remove();
habitaciones--;
renumera_habitaciones();
$("div.m_guests_add").text("").text(cnst_anadir_habitacion);
set_total_huespedes();
});
/**
* Manejador de eventos para añadir una habitación.
*/
$(".m_guests_add")
.click(
function (event) {
event.stopImmediatePropagation();
var $num_habitaciones_actuales = $(".room").length;
if (parseInt($num_habitaciones_actuales) === parseInt(cnst_num_max_hab)) {
//alert(langText[culture]['crs'][8]);
$('#occupancy').parent().addClass('crs-error');
$(".m_guests_add").attr("title", langText[culture]['crs'][8]);
$(".m_guests_add").tooltip(tooltipOptions);
$(".m_guests_add").tooltip("open");
return;
}
var num_personas_actual = get_num_personas_actuales_reserva();
if (num_personas_actual + 1 > parseInt(cnst_num_max_pax_total)) {
$('#occupancy').parent().addClass('crs-error');
$(".m_guests_add").attr("title", cnst_no_mas_habitaciones);
$(".m_guests_add").tooltip(tooltipOptions);
$(".m_guests_add").tooltip("open");
return;
}
//[OUG][INI]Ahora parece ser que cada habitación es div.m_guests_rooms div.m_guests_room (es decir que rooms se replica por cada habitación).
var $obj_a_clonar = $("div.room").last();
var $obj_clonado = $obj_a_clonar.clone(true); // Clonamos
// con
// datos
// y
// estructura.
$obj_clonado.find("div.room_name div.remove").show();
var ultimo_numero_habitacion = parseInt($obj_a_clonar.find("div.room_name div.label span").text());
ultimo_numero_habitacion += 1;
$obj_clonado.find("div.room_name div.label span").text(ultimo_numero_habitacion);
var num_adultos_incrementar = 2;
if (num_personas_actual + 1 === parseInt(cnst_num_max_pax_total)) {
$obj_clonado.find("div.room_adults div.label span:first").text("1");
num_adultos_incrementar = 1;
} else {
$obj_clonado
.find(
"div.room_adults div.label span:first")
.text("2");
}
$obj_clonado
.find(
"div.room_childs div.label span:first")
.text("0");
//clonar solo con un input de edades y oculto
/*var $ages = $obj_clonado.find("div.child_age");
if($ages.length>1){
for(var i=0; i<$ages.length-1; i++ ){
$obj_clonado.find("div.child_age").last().remove();
}
}*/
$obj_clonado.find("div.child_age[age_index=2]").hide();
$obj_clonado.find("div.child_age[age_index=3]").hide();
$obj_clonado.find(".childs_ages").hide();
var index = parseInt($obj_a_clonar.attr("index"));
index++;
$obj_clonado.attr("index", index);
$obj_clonado.find("div.child_age[age_index=1]").find("input").removeClass("child1Room1").addClass("child1Room"+index).val("");
$obj_clonado.find("div.child_age[age_index=2]").find("input").removeClass("child2Room1").addClass("child2Room"+index).val("");
$obj_clonado.find("div.child_age[age_index=3]").find("input").removeClass("child3Room1").addClass("child3Room"+index).val("");
$obj_clonado.insertAfter($obj_a_clonar);
$newObj = new Object();
$newObj.adultos= 2;
$newObj.ninos = 0;
$newObj.edadNinos = new Array();
habitaciones_info.push($newObj);
num_adults += num_adultos_incrementar;
habitaciones++;
set_total_huespedes();
});
//Mover barra crs al top y seleccionar elementos
$(".element", '.crs').click(function(){
var scroll = $(window).scrollTop();
//window.screen.availHeight
var scrollTop = $("#section-crs").offset().top;//430;
if ((scroll0){
$("#checkout").parent().addClass("unavailable");
}else
if($("#checkout", this).length>0){
$("#checkin").parent().addClass("unavailable");
}
$(this).addClass("selected");
});
$('.item-menu').click(function(){
var collapsableElement = $(this).attr("data-target");
$(".mycollapse").not($(collapsableElement)).slideUp();
$(collapsableElement).slideToggle(400, function(){
if($(collapsableElement).is(":hidden")) {
$(".crs .element").removeClass("unavailable selected crs-error");
$(".crs #tests").removeClass("selected crs-error");
//$(".crs .item-menu").removeClass("item-menu-open");
}else{
if(!$("#hotelsByPolo").hasClass("gridalicious")){
$("#hotelsByPolo").gridalicious({selector: '.ulitem', gutter: 10});
}
}//else $(this).addClass("item-menu-open");
});
//$(this).toggleClass("item-menu-open");
});
if($("#hotelsByPolo").is(":visible")) {
$("#search-hotel").removeClass("icon-flechaabajo").addClass("icon-remove");
//$(".crs .item-menu").removeClass("item-menu-open");
}
$('.icon-remove').each(function() {
$(this).on("click", function (event) {
event.stopPropagation();
$(".mycollapse").slideUp("slow", function(){
$(this).not($("#search-hotel")).hide();
$("#search-hotel").removeClass("icon-remove").addClass("icon-flechaabajo");
$(".element").removeClass("unavailable selected crs-error");
});
if($('#reportrange').data('dateRangePicker')) $('#reportrange').data('dateRangePicker').close();
if($('#checkin').data('dateRangePicker')) $('#checkin').data('dateRangePicker').close();
if($('#checkout').data('dateRangePicker')) $('#checkout').data('dateRangePicker').close();
});
});
/*
* Ajax para obtener los dias desabilitados para el hotel seleccionado
*/
//desabledDays = new Array();
var _getDesabledDays = function(ajaxurl, data, container){
if(data.length==0) return false;
$('.icon-calendario', container).css('visibility', 'hidden');
$('#reportrange').addClass('blocked');
$('.indicator', container).show();
$.getJSON(ajaxurl, data, function(response) {
var i=0;
var desabledDays = new Array();
$.each(response, function(key, value) {
desabledDays.push(value);
//i++;
//console.log(value);
});
//console.log(desabledDays);
container.attr('data-desabledDays', desabledDays);
$('.indicator', container).hide();
$('.icon-calendario', container).css('visibility', 'visible');
//resize2();
if($("#reportrange").data('dateRangePicker')){
$("#reportrange").data('dateRangePicker').setStart(getFirstEnabledDay($('.crs').attr('data-desabledDays'))).clear();
//$("#reportrange").data('dateRangePicker').setStart(getFirstEnabledDay($('.crs').attr('desableddays')));
}
if($("#checkin", "#reportrange").data('dateRangePicker')){
$("#checkin", "#reportrange").data('dateRangePicker').setStart(getFirstEnabledDay($('.crs').attr('data-desabledDays'))).clear();
//$("#checkout", "#reportrange").data('dateRangePicker').setStart(getFirstEnabledDay($('.crs').attr('desableddays')));
}
$('#reportrange').removeClass('blocked');
});
};
if($('.crs').attr('data-location')=='hotel'){
var ajaxurl = $('.crs').attr('data-route');
var data = {};
data['codsolres'] = $('#codsolresSelected').val();
_getDesabledDays(ajaxurl, data, $('.crs'));
}
/*
* Evento click de un hotel
*/
$('.nomHot', "#section-crs").on("click",function(event){
var data={};
$(".mycollapse").slideUp();
$("#search-hotel").removeClass('icon-remove');
var codsolres = $(this).attr('data-codsolres');
$("#codsolresSelected").val(codsolres);
$("#hotelList").val("");
$('.typeahead-hotel').val($('.nomhotCorto', this).text());
//createHabs();
resetOccupationData();
if($(this).attr("data-adultsonly")=="1"){
$(".adults-only").show();
$('div[adultsonly]', '#section-crs').attr('data-adultsonly', '1').addClass('blocked');
$('.room_childs').attr('data-adultsonly', '1');
}else{
$(".adults-only").hide();
$('div[adultsonly]', '#section-crs').attr('data-adultsonly', '0').removeClass('blocked');
$('.room_childs').attr('data-adultsonly', '0');
}
$(".inputHotels").removeClass("item-menu-open");
$(".crs .element").removeClass("selected crs-error");
$(".crs #tests").removeClass("selected crs-error");
$(".child_age").removeClass("error");
var ajaxurl = $('.crs').attr('data-route');
data['codsolres'] = codsolres;
_getDesabledDays(ajaxurl, data, $('.crs'));
});
/*
* Validar las fechas seleccionadas
*/
var _validateCRSDates = function(container){
var date_dat = new Array();
/*date_dat_in = $('#checkin .from', container).val().split(' ');
var current1 = new Date($('#checkin .from', container).val()); // a new instance
date1 = current1.getTime();
date_dat_out = $('#checkout .to', container).val().split(' ');
var current2 = new Date($('#checkout .to', container).val()); // a new instance
date2 = current2.getTime();*/
var date1 = moment($('#checkin .from', container).val(),"DD MMM YY");
var date2 = moment($('#checkout .to', container).val(),"DD MMM YY");
var current3 = new Date(); // a new instance
var current4 = new Date(current3.getFullYear(), current3.getMonth(), current3.getDate());
var today = current4.getTime();
var lang = culture;
if(!date1._isValid || !date2._isValid){
return false;
}
if (date1 < today) {
$('#checkinparent').addClass('crs-error');
$('#checkinparent').attr("title", langText[culture]['crs'][0]);
$('#checkinparent').tooltip(tooltipOptions);
$('#checkinparent').tooltip("open");
//alert(langText[lang]['crs'][0]);
return false;
};
if (date1 >= date2) {
//alert(langText[lang]['crs'][1]);
$('#checkoutparent').addClass('crs-error');
$('#checkoutparent').attr("title", langText[culture]['crs'][1]);
$('#checkoutparent').tooltip(tooltipOptions);
$('#checkoutparent').tooltip("open");
return false;
};
var nights = parseInt((date2 - date1) / 86400000);
if (nights > 30) {
$('#checkinparent').addClass('crs-error');
$('#checkinparent').attr("title", langText[culture]['crs'][4]);
$('#checkinparent').tooltip(tooltipOptions);
$('#checkinparent').tooltip("open");
//alert(langText[lang]['crs'][4]);
return false;
};
var dia = date1.date(); //current1.getDate();
if (dia<10) dia='0'+dia;
if($('#dia', container).length>0) $('#dia', container).val(dia);
var mes = date1.month()+1;//current1.getMonth()+1;
if(mes<10) mes = '0' + mes;
if($('#mes', container).length>0) $('#mes', container).val(mes);
if($('#anio', container).length>0) $('#anio', container).val(date1.year()/*current1.getFullYear()*/);
$('#noches', container).val(nights);
$('*', container).removeClass('crs-error');
return true;
};
$('.child_age input').focus(function(){$(this).removeClass('error')});
//Validar Información
$('#crs_hotels_choices').click(function(){
$("#codsolresSelected").val('');
$("#hotelList").val('');
});
/* $('#book-hotel', '.crs').click(function() {
var error=false;
if($(".crs").attr('location')!='hotel'){
if($("#codsolresSelected").val()=='' && $("#hotelList").val()=='' ){
$('#tests').addClass('crs-error');
$('#crs_hotels_choices').focus();
alert(langText[culture]['crs'][6]);
return false;
}
if($('#crs_hotels_choices').val()=='' && $("#codsolresSelected").val()==''){
$('#tests').addClass('crs-error');
$('#crs_hotels_choices').focus();
return false;
};
if(pol_hotel.indexOf($('#crs_hotels_choices').val()) == -1) {
$('#tests').addClass('crs-error');
$('#crs_hotels_choices').focus();
return false;
}
}
if(!_validateCRSDates($('.crs'))){
$('#checkin').parent().addClass('crs-error');
return false;
}
if($(".crs").attr('location')=='mpro'){
if($('#CodigoAgencia').val()==''){
$('#CodigoAgencia').parent().parent().addClass('crs-error');
$('#CodigoAgencia').focus();
return false;
}
}
for (var i=0; i=12){
$('.room[index='+n+']').find(".child"+j+"Room"+n).addClass('error');
error=true;
}
habitaciones_info[n].edadNinos[j] = _edad;
}
}
if(error){
$('.rooms').slideDown();
$('.occupancy').parent().removeClass('selected').addClass('crs-error');
return false;
}
else requestAvailability($('#fbcrs'), habitaciones, habitaciones_info);
});*/
var result;
function validatePromoCode (e){
var substrRegex = new RegExp('[a-zA-z0-9\-]', 'i');
result = false
if($('#promotionCode').length>0 && substrRegex.test($('#promotionCode').val()) && $('#promotionCode').attr('data-valido')=='false'){
e.stopPropagation();
$.ajax({
url: 'https://melia.com/booking/services/E_ValidarCodigo.jsp?&codigo='+$('#promotionCode').val(),
dataType: "jsonp",
jsonpCallback: "success",
success: function(r){
if(r.ok){
result = true;
$('#promotionCode').attr('data-valido', 'true');
}else{
result = false;
$('#promotionCode').addClass('crs-error');
$('#promotionCode').focus();
$('#promotionCode').attr("title", 'Invalid!');
$('#promotionCode').tooltip(tooltipOptions);
$('#promotionCode').tooltip("open");
}
},
complete: function(){
$('#book-hotel').removeEventListener();
}
})
}
return result;
}
//$('#promotionCode').on('focusout', validatePromoCode(event));
$('#book-hotel').on("click", function (event) {
//$('.mycollapse').slideUp("slow");
var error=false;
// handle the invalid form...
//event.preventDefault();
if($(".crs").attr('data-location')!='hotel'){
if($("#codsolresSelected").val()=='' && $("#hotelList").val()=='' ){
$('#tests').addClass('crs-error');
$('#crs_hotels_choices').focus();
$('#tests').attr("title", langText[culture]['crs'][6]);
$('#tests').tooltip(tooltipOptions);
$('#tests').tooltip("open");
//alert(langText[culture]['crs'][6]);
return false;
}
if($('#crs_hotels_choices').val()=='' && $("#codsolresSelected").val()==''){
$('#tests').addClass('crs-error');
$('#crs_hotels_choices').focus();
$('#tests').attr("title", langText[culture]['crs'][6]);
$('#tests').tooltip(tooltipOptions);
$('#tests').tooltip("open");
return false;
};
if(_hotel.indexOf($('#crs_hotels_choices').val()) == -1 && _pol.indexOf($('#crs_hotels_choices').val()) == -1) {
$('#tests').addClass('crs-error');
$('#crs_hotels_choices').focus();
$('#tests').attr("title", langText[culture]['crs'][6]);
$('#tests').tooltip(tooltipOptions);
$('#tests').tooltip("open");
return false;
}
}
if(!_validateCRSDates($('.crs'))){
$('#checkinparent').addClass('crs-error');
$('#checkinparent').attr("title", langText[culture]['crs'][2]);
$('#checkinparent').tooltip(tooltipOptions);
$('#checkinparent').tooltip("open");
return false;
}
if($(".crs").attr('data-location')=='mpro'){
if($('#CodigoAgencia').val()==''){
$('#CodigoAgencia').parent().parent().addClass('crs-error');
$('#CodigoAgencia').focus();
return false;
}
}
event.preventDefault();
validatePromoCode(event);
for (var i=0; i=12){
$('.room[index='+n+']').find(".child"+j+"Room"+n).addClass('error');
error=true;
$('.childs_ages','.room[index='+n+']').attr("title", langText[culture]['form'][4]);
$('.childs_ages', '.room[index='+n+']').tooltip(tooltipOptions);
$('.childs_ages', '.room[index='+n+']').tooltip("open");
}
habitaciones_info[n].edadNinos[j] = _edad;
}
}
if(error){
$('.rooms').slideDown();
$('.occupancy').parent().removeClass('selected').addClass('crs-error');
return false;
}
requestAvailability($('#fbcrs'), habitaciones, habitaciones_info);
});
//Calendario del CRS
var single = false;
var generalConfigObject = {
showTopBar: false,
stickyMonths: true,
separator : ' - ',
format: 'D MMM YY',
language: culture,
autoClose: true,
container: '#parentEl',
customArrowPrevSymbol: '',
customArrowNextSymbol: '',
startDate: getFirstEnabledDay($('.crs').attr('data-desabledDays'))/*new Date()*/,
beforeShowDay: function(date)//aqui validar los dias de no disponibilidad
{
var desableddays=false;
if($('.crs').attr('data-desabledDays')!="") desableddays = $('.crs').attr('data-desabledDays');
else desableddays = false;
var dmy = date.getFullYear()+'-';
var m = (date.getMonth()+1);
if(date.getMonth()<9)
m="0"+m;
dmy+= m + "-";
var d='';
if(date.getDate()<10) d+="0";
d+=date.getDate();
dmy+=d;
if(desableddays){
//console.log(dmy+' : '+(desabledDays.indexOf(dmy)));
//console.log(dmy);
if (desableddays.indexOf(dmy) != -1) {
return [false,"invalid",''];
}
}
/*var checkin = $('.calendar:first', container).val();
if(dmy==checkin) return [true, "valid",''];*/
var _today = new Date();
if(dmy < _today)return [false,"invalid",''];
return [true,"",""];
},
getValue: function()
{
if ($('.from').val() && $('.to').val() )
return $('.from').val() + ' to ' + $('.to').val();
else
return '';
},
setValue: function(s,s1,s2)
{
$('.from').val(s1);
$('.to').val(s2);
$("#section-crs div.element").removeClass("unavailable selected crs-error");
}
};
var checkinConfigObject = {
container: '#reportrange',
stickyMonths: false,
singleDate : true,
showShortcuts: false,
singleMonth: true,
separator : ' - ',
format: 'D MMM YY',
language: culture,
autoClose: true,
customArrowPrevSymbol: '',
customArrowNextSymbol: '',
startDate: getFirstEnabledDay($('.crs').attr('data-desableddays')),
showTopBar: false,
beforeShowDay: function(date)//aqui validar los dias de no disponibilidad
{
var desableddays=false;
if($('.crs').attr('data-desabledDays')!="") desableddays = $('.crs').attr('data-desabledDays');
else desableddays = false;
var dmy = date.getFullYear()+'-';
var m = (date.getMonth()+1);
if(date.getMonth()<9)
m="0"+m;
dmy+= m + "-";
var d='';
if(date.getDate()<10) d+="0";
d+=date.getDate();
dmy+=d;
if(desableddays){
if (desableddays.indexOf(dmy) != -1) {
return [false,"invalid",''];
}
}
var _today = new Date();
if(dmy < _today)return [false,"invalid",''];
return [true,"",""];
},
setValue: function(s1)
{
$('.from').val(s1);
$("#section-crs div.element").removeClass("unavailable selected crs-error");
}
};
var checkoutConfigObject = {
container: '#reportrange',
stickyMonths: false,
singleDate : true,
showShortcuts: false,
singleMonth: true,
separator : ' - ',
format: 'D MMM YY',
language: culture,
autoClose: true,
customArrowPrevSymbol: '',
customArrowNextSymbol: '',
startDate: moment(getFirstEnabledDay($('.crs').attr('data-desabledDays'))).add(1,'days'),
showTopBar: false,
beforeShowDay: function(date)//aqui validar los dias de no disponibilidad
{
var desableddays=false;
if($('.crs').attr('data-desabledDays')!="") desableddays = $('.crs').attr('data-desabledDays');
else desableddays = false;
var dmy = date.getFullYear()+'-';
var m = (date.getMonth()+1);
if(date.getMonth()<9)
m="0"+m;
dmy+= m + "-";
var d='';
if(date.getDate()<10) d+="0";
d+=date.getDate();
dmy+=d;
if(desableddays){
if (desableddays.indexOf(dmy) != -1) {
return [false,"invalid",''];
}
}
var _today = new Date();
if(dmy < _today)return [false,"invalid",''];
return [true,"",""];
},
setValue: function(s2)
{
$('.to').val(s2);
$("#section-crs div.element").removeClass("unavailable selected crs-error");
}
};
var calendarIni = function(single){
var container = $("#reportrange");
if(!single){
container.dateRangePicker(generalConfigObject).bind('datepicker-first-date-selected', function(event, obj)
{
$(".crs .element").removeClass("selected unavailable crs-error");
$("#checkout").parent().addClass("selected");
moment.locale(culture);
$('.from').val(moment(obj.date1).format('D MMM YY'));
$('.to').val(moment(obj.date1).add(1, 'days').format('D MMM YY'));
}).bind('datepicker-open',function()
{
/* This event will be triggered before date range picker open animation */
$('.mycollapse').slideUp("slow");
//$("#reportrange .icon-remove").show();
//$("#hotelsByPolo").collapse("hide");
});
}else{
$("#checkin", container).dateRangePicker(checkinConfigObject).bind('datepicker-change', function(event, obj){
$(".crs .element").removeClass("selected unavailable crs-error");
$("#checkout").parent().addClass("selected");
var date1 = moment($('#checkin .from', container).val(),"DD MMM YY").add(1, 'days').format('D MMM YY');
$('#checkout', container).data('dateRangePicker').setStart(date1);
//$("#reportrange .icon-remove").show();
});
$("#checkout", container).dateRangePicker(checkoutConfigObject).bind('datepicker-change',function(event,obj)
{
/* This event will be triggered when second date is selected */
/*console.log(obj);
var checkin = new Date($('.from').val());
date1 = checkin.getTime();
date2 = new Date($('.to').val());*/
//$("#reportrange .icon-remove").show();
var date1 = moment($('#checkin .from', container).val(),"DD MMM YY");
//obj.setStartDate(date1);
var date2 = moment($('#checkout .to', container).val(),"DD MMM YY");
if(date1>=date2){
$('#checkinparent').addClass('crs-error');
$('#checkinparent').attr("title", langText[culture]['crs'][1]);
$('#checkinparent').tooltip(tooltipOptions);
$('#checkinparent').tooltip("open");
// alert(langText[culture]['crs'][1]);
}
$(".crs .element").removeClass("selected unavailable crs-error");
})/*.bind('datepicker-open',function(event,obj)
{
/!* This event will be triggered before date range picker open animation *!/
console.log('before open');
var date1 = moment($('#checkin .from', container).val(),"DD MMM YY").add(1, 'days').format('D MMM YY');
$('#checkout', container).data('dateRangePicker').setStart(date1);//$('#checkin .from', container).val()
})*/;
}
}
var resize2 = function(){
var _screenWidth = $(window).innerWidth();
if(_screenWidth<=767 || $("#section-crs").attr('data-location')=='mpro'){
calendarIni(true);
}else{
calendarIni(false);
}
}
//resize2();
$(window).resize(resize2());
});