var idInputDateDeparture="balearia-advanced-route-txtStartDate";var idInputDateReturn="balearia-advanced-route-txtEndDate";var formName="advancedRoute";var departureDateKey="departureDate";var returnDateKey="returnDate";var inputShowDatesId="balearia-ui-input-input-date-selector-txt";var departureHeight="300";
function baleariaAdvancedRouteAvailabilityRenderOnContainer(renderUrl,containerId,renderData){renderData=typeof renderData==="object"?renderData:{};return $.ajax({url:renderUrl,type:"POST",data:renderData}).done(function(data){var renderContainer=$("#"+containerId);if(renderContainer.length===1)renderContainer.html(data);else if(renderContainer.length>1)console.error('Multiple elements exist with id "'+containerId+"\", can't append render data");else console.error('No element exists with id "'+containerId+
"\", can't append render data")}).fail(function(jqXHR,textStatus,errorThrown){console.error("baleariaAdvancedRouteAvailabilityRenderOnContainer failed it's call to renderUrl ("+renderUrl+")");console.error(jqXHR);console.error(textStatus);console.error(errorThrown)})}function baleariaAdvancedRouteAvailabilityInitRows(rowsDeferreds){$.when(rowsDeferreds).done(function(){})}
function baleariaAdvancedRouteAvailabilityShowModalPopUp(renderUrl,containerId,idModalLess,renderData){renderData=typeof renderData==="object"?renderData:{};renderData.modalContainerId=idModalLess;if($("#"+idModalLess).length===0)return $.ajax({url:renderUrl,type:"POST",data:renderData}).done(function(data){baleariaAdvancedRouteAvailabilityInitModalLessPopUp(data,containerId,idModalLess);baleariaAdvancedRouteAvailabilityClosePopUpMouseUp(idModalLess)}).fail(function(jqXHR,textStatus,errorThrown){console.error("baleariaAdvancedRouteAvailabilityShowModalPopUp failed it's call to renderUrl ("+
renderUrl+")");console.error(jqXHR);console.error(textStatus);console.error(errorThrown)})}
function baleariaAdvancedRouteAvailabilityInitModalLessPopUp(htmlData,inputContainerId,idModalLess){var inputContainer=document.getElementById(inputContainerId);if($("#"+idModalLess).length===0){var modalHtml="\x3cdiv id\x3d'"+idModalLess+"' class\x3d'baleariaAdvancedRouteAvailabilityPopUp'\x3e\x3c/div\x3e";$(inputContainer).addClass("baleariaAdvancedRouteAvailability-position-relative");$(inputContainer).append(modalHtml);$("#"+idModalLess).html(htmlData)}}
function baleariaAdvancedRouteAvailabilityClosePopUpMouseUp(modalId){$(document).mouseup(function(event){var modaLessPopUp=$(document).find("#"+modalId)[0];if(modaLessPopUp!=undefined&&!$(modaLessPopUp).is(event.target)&&$(modaLessPopUp).has(event.target).length===0){baleariaAdvancedRouteAvailabilityCloseModalLessPopUp(modaLessPopUp.id,modaLessPopUp.parentElement.id);$(document).off(event)}})}
function baleariaAdvancedRouteAvailabilityCloseModalLessPopUp(idModalLess,inputContainerId){$("#"+idModalLess).remove();$("#"+inputContainerId).removeClass("baleariaAdvancedRouteAvailability-position-relative")}function baleariaAdvancedRouteAvailabilityPositionModalRelativeToContainer(idModalLess){$("#"+idModalLess).css("right",-$("#"+idModalLess).width()-16)}
function baleariaAdvancedRouteAvailabilityShowSchedules(renderUrl,containerId,renderData){renderData=typeof renderData==="object"?renderData:{};return $.ajax({url:renderUrl,type:"POST",data:renderData}).done(function(data){baleariaAdvancedRouteAvailabilityPaintSchedules(data,containerId)}).fail(function(jqXHR,textStatus,errorThrown){console.error("baleariaAdvancedRouteAvailabilityShowSchedules failed it's call to renderUrl ("+renderUrl+")");console.error(jqXHR);console.error(textStatus);console.error(errorThrown)})}
function baleariaAdvancedRouteAvailabilityPaintSchedules(htmlData,containerId){$(containerId).html(" ");$("#"+containerId).html(htmlData)}
function baleariaAdvancedRouteAvailabilityUpdateTrip(originNode,destinationNode,departureDate,returnDate,elem){var tripSelected={};tripSelected.originNode=originNode;tripSelected.destinationNode=destinationNode;tripSelected.departureDate=departureDate;tripSelected.returnDate=returnDate;if(elem!=undefined)baleariaAdvancedRouteAvailabilityShowSelectedTrip(elem,departureDate);sessionStorage.setItem("advancedRouteObjectTrip",JSON.stringify(tripSelected))}
function baleariaAdvancedRouteAvailabilitySelectDepartureTrip(originNode,destinationNode,departureDate,returnDate,elem){var tripSelected={};tripSelected.originNode=originNode;tripSelected.destinationNode=destinationNode;tripSelected.departureDate=departureDate;tripSelected.returnDate=returnDate;if(elem!=undefined)baleariaAdvancedRouteAvailabilityShowSelectedTrip(elem,departureDate);sessionStorage.setItem("advancedRouteObjectTrip",JSON.stringify(tripSelected));$("#balearia-route-availability-schedules-departure-id").addClass("display-none")}
function baleariaAdvancedRouteAvailabilityValidateDepartureTrip(objectName){var tripSelected=JSON.parse(sessionStorage.getItem(objectName));return tripSelected.originNode!=""&&tripSelected.destinationNode!=""&&tripSelected.departureDate!=""}
function baleariaAdvancedRouteAvailabilityShowSelectedTrip(elem,departureDate){$("#schedule-departure-title").addClass("display-none");$("#schedule-departure").addClass("display-none");if($(window).width()<=600||deviceOrientation().includes("portrait")&&$(window).width()<=1024)var parentDispo=$(elem).closest(".trip-dispo-row");else var parentDispo=$(elem).closest(".balearia-ui-consulta-dispo-row");var htmlDispoData=$(parentDispo).html();$("#balearia-route-availability-selected-schedule-departure-id").html(htmlDispoData);
$("#schedule-selected-departure-title").removeClass("display-none");$("#schedule-date-selected-departure").html(departureDate);$("#balearia-route-availability-selected-schedule-departure-id").removeClass("display-none");var buttonModify=$("#balearia-route-availability-selected-schedule-departure-id").find("button")[0];$(buttonModify).attr("onclick","baleariaAdvancedRouteAvailabilityModifyTrip()");var buttonModifyText=$(buttonModify).find(".balearia-ui-button-text")[0];if(window.location.href.includes("baleariacaribbean"))$(buttonModifyText).html("Modify");
else $(buttonModifyText).html("Modificar")}function baleariaAdvancedRouteAvailabilityModifyTrip(){$("#schedule-selected-departure-title").addClass("display-none");$("#schedule-departure-title").removeClass("display-none");$("#balearia-route-availability-schedules-departure-id").removeClass("display-none");$("#schedule-departure").removeClass("display-none");$("#balearia-route-availability-selected-schedule-departure-id").addClass("display-none")}
function baleariaAdvancedRouteAvailabilityCompareDates(date1,date2){var dateParts1=date1.split("/");var dateParts2=date2.split("/");var d1=new Date(+dateParts1[2],dateParts1[1]-1,+dateParts1[0]);var d2=new Date(+dateParts2[2],dateParts2[1]-1,+dateParts2[0]);if(d1<=d2)return true;else return false}
function baleariaAdvancedRouteAvailabilityGetSessionValues(formName){var values=sessionStorage.getItem(baleariaAdvancedRouteAvailabilityGetFormValuesName(formName));try{if(values!=undefined)values=JSON.parse(values);else values=baleariaAdvancedRouteAvailabilityInitAdvancedRouteValues();return values}catch(e){console.error(e);return baleariaAdvancedRouteAvailabilityInitAdvancedRouteValues()}}
function baleariaAdvancedRouteAvailabilityGetSessionAttr(formName,attrName){var returnVal=null;var currentValue=baleariaAdvancedRouteAvailabilityGetSessionValues(formName);if(typeof attrName=="string"){var propertiesNames=attrName.split(".");$.each(propertiesNames,function(index,propertieName){if(currentValue[propertieName]!==undefined)currentValue=currentValue[propertieName];else{currentValue=null;return false}});returnVal=currentValue}else if(Array.isArray(attrName)){$.each(attrName,function(index,
propertieName){if(currentValue[propertieName]!==undefined)currentValue=currentValue[propertieName];else{currentValue=null;return false}});returnVal=currentValue}return returnVal}
function baleariaAdvancedRouteAvailabilitySetSessionAttr(formName,attrName,value){var sessionValues=baleariaAdvancedRouteAvailabilityGetSessionValues(formName);var currentValue=sessionValues;var wasSuccesful=false;if(typeof attrName=="string"){var propertiesNames=attrName.split(".");$.each(propertiesNames,function(index,propertieName){if(currentValue[propertieName]!==undefined)if(index===propertiesNames.length-1){currentValue[propertieName]=value;wasSuccesful=true}else currentValue=currentValue[propertieName];
else{currentValue=null;return false}})}else if(Array.isArray(attrName))$.each(attrName,function(index,propertieName){if(currentValue[propertieName]!==undefined)if(index===attrName.length-1){currentValue[propertieName]=value;wasSuccesful=true}else currentValue=currentValue[propertieName];else{currentValue=null;return false}});if(wasSuccesful){sessionStorage.setItem(baleariaAdvancedRouteAvailabilityGetFormValuesName(formName),JSON.stringify(sessionValues));baleariaAdvancedRouteAvailabilityShowDatesOnInput()}return wasSuccesful}
function baleariaAdvancedRouteAvailabilityGetFormValuesName(formName){return typeof formName==="string"&&formName!==""?formName+"_value":""}
function baleariaAdvancedRouteAvailabilityInitAdvancedRouteValues(){var itemName=baleariaAdvancedRouteAvailabilityGetFormValuesName("advancedRoute");var values={};values.travelType="";values.originCode="";values.destinationCode="";values.departureDate="";values.returnDate="";var currentDepartureWeek={};currentDepartureWeek.startDate="";currentDepartureWeek.endDate="";var currentReturnWeek={};currentReturnWeek.startDate="";currentReturnWeek.endDate="";values.currentDepartureWeek=currentDepartureWeek;
values.currentReturnWeek=currentReturnWeek;sessionStorage.setItem(itemName,JSON.stringify(values));return values}
function baleariaAdvancedRouteAvailabilityCloseButtonAttachment(idCloseButton,idModalLess,inputContainerId){$("#"+idCloseButton).click(function(e){baleariaAdvancedRouteAvailabilityCloseModalLessPopUp(idModalLess,inputContainerId);e.stopImmediatePropagation();if($(window).width()<=600||deviceOrientation().includes("portrait")&&$(window).width()<=1024){$("body").css("overflow-y","scroll");$("body").css("position","relative")}})}
function baleariaAdvancedRouteAvailabilityClearDates(idInputDateDeparture,idInputDateReturn,formName,departureDateKey,returnDateKey){baleariaAdvancedRouteAvailabilitySetSessionAttr(formName,departureDateKey,"");baleariaAdvancedRouteAvailabilitySetSessionAttr(formName,returnDateKey,"");$("#"+idInputDateDeparture).val("");$("#"+idInputDateReturn).val("");$("#schedule-departure-container").remove();$("#schedule-return-container").remove();$("#"+inputShowDatesId).val("")}
function baleariaAdvancedRouteAvailabilityShowDatesOnInput(){var departureDate=$("#balearia-advanced-route-txtStartDate").val();var returnDate=$("#balearia-advanced-route-txtEndDate").val();var inputToShow=$("#balearia-ui-input-input-date-selector-txt");if(isCaribbean){departureDate=departureDate!==null&&departureDate.length>7?formatToAmericanDate(departureDate):departureDate;returnDate=returnDate!==null&&returnDate.length>7?formatToAmericanDate(returnDate):returnDate}if(departureDate!="")if(baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute",
"travelType")=="2")$(inputToShow).val(departureDate);else if(baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","travelType")=="1"){$(inputToShow).val(departureDate+" - ");if(returnDate!="")$(inputToShow).val($(inputToShow).val()+returnDate)}}
function formatToAmericanDate(europeanDate){var dateFormatted=europeanDate;var europeanDateSplitted=europeanDate.split("/");if(europeanDateSplitted.length===3)dateFormatted=`${europeanDateSplitted[1]}/${europeanDateSplitted[0]}/${europeanDateSplitted[2]}`;return dateFormatted}
function baleariaRouteAvailabilityInitCalendar(renderUrl,containerId,idModalLess,idInputCalendar){var renderData={"inputIdAttached":idInputCalendar,"originNode":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","originCode"),"destinationNode":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","destinationCode"),"travelType":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","travelType"),"idModalLess":idModalLess};baleariaAdvancedRouteAvailabilityShowModalPopUp(renderUrl,
containerId,idModalLess,renderData)}
function baleariaRouteAvailabilityInitSchedules(renderUrl,containerId){if(baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","departureDate")!=""){var renderData={"originNode":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","originCode"),"destinationNode":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","destinationCode"),"departureDate":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","departureDate"),"returnDate":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute",
"returnDate"),"screenWidth":$(window).width()};baleariaAdvancedRouteAvailabilityShowSchedules(renderUrl,containerId,renderData)}else alert("Debes seleccionar primero la fecha de tu viaje")}function baleariaAdvancedRouteAvailabilityAutocompleteInitAutocomplete(autocompleteParams){baleariaAdvancedRouteAvailabilityAutocompleteInitOrigin(autocompleteParams);baleariaAdvancedRouteAvailabilityAutocompleteInitDestination(autocompleteParams)}
function baleariaAdvancedRouteAvailabilityAutocompleteInitOrigin(autocompleteParams){var originOptions={"textInput":$("#"+autocompleteParams.originTextInputId),"valuePropertieName":autocompleteParams.originPropertieName};var originValues={"text":baleariaAdvancedRouteAvailabilityAutocompleteGetTextFromValue(autocompleteParams,autocompleteParams.originDefaultValue),"value":autocompleteParams.originDefaultValue};baleariaAdvancedRouteAvailabilityAutocompleteSetInputValues(autocompleteParams,originOptions,
originValues);baleariaAdvancedRouteAvailabilityAutocompleteSetOriginEvents(autocompleteParams)}
function baleariaAdvancedRouteAvailabilityAutocompleteInitDestination(autocompleteParams){var destinationOptions={"textInput":$("#"+autocompleteParams.destinationTextInputId),"valuePropertieName":autocompleteParams.destinationPropertieName};var destinationValues={"text":baleariaAdvancedRouteAvailabilityAutocompleteGetTextFromValue(autocompleteParams,autocompleteParams.destinationDefaultValue),"value":autocompleteParams.destinationDefaultValue};baleariaAdvancedRouteAvailabilityAutocompleteSetInputValues(autocompleteParams,
destinationOptions,destinationValues);baleariaAdvancedRouteAvailabilityAutocompleteSetDestinationEvents(autocompleteParams)}
function baleariaAdvancedRouteAvailabilityAutocompleteSetOriginEvents(autocompleteParams){var inputElement=$("#"+autocompleteParams.originTextInputId);inputElement.data().typingTimer=null;inputElement.keyup(function(event){clearTimeout(inputElement.data().typingTimer);inputElement.data().typingTimer=setTimeout(baleariaAdvancedRouteAvailabilityAutocompleteOriginRequest,autocompleteParams.typingTimer,autocompleteParams)});inputElement.focus(function(event){$(this).val("");baleariaAdvancedRouteAvailabilityAutocompleteOriginRequest(autocompleteParams);
if($(window).width()<=600||deviceOrientation().includes("portrait")&&$(window).width()<=1024){$("#origin-data-container").addClass("baleariaCheckAvailabilityModalLesPopUp");$("body").css("overflow-y","hidden");$("body").css("position","fixed");$(this).blur()}});if($(window).width()>1024||deviceOrientation().includes("landscape")&&$(window).width()>600)inputElement.blur(function(event){$(this).val("");baleariaAdvancedRouteAvailabilityAutocompleteHandleAutocompleteBlur($(this),event,autocompleteParams)});
inputElement.on("optionSelected",function(event){var destinationOptions={"textInput":$("#"+autocompleteParams.destinationTextInputId),"valuePropertieName":autocompleteParams.destinationPropertieName};var cleanValues={"text":baleariaAdvancedRouteAvailabilityAutocompleteGetTextFromValue(autocompleteParams,""),"value":""};baleariaAdvancedRouteAvailabilityAutocompleteSetInputValues(autocompleteParams,destinationOptions,cleanValues);$("#"+autocompleteParams.destinationTextInputHiddenId).val("");baleariaAdvancedRouteAvailabilityAutocompleteCloseOriginListOptions();
$("body").css("overflow-y","scroll");$("body").css("position","relative")});inputElement.on("openPopUpSelected",function(event){baleariaAdvancedRouteAvailabilityAutocompleteCloseOriginListOptions()});inputElement.on("clearInput",function(event){var originOptions={"textInput":$("#"+autocompleteParams.originTextInputId),"valuePropertieName":autocompleteParams.originPropertieName};var destinationOptions={"textInput":$("#"+autocompleteParams.destinationTextInputId),"valuePropertieName":autocompleteParams.destinationPropertieName};
var originPreselected={"text":baleariaAdvancedRouteAvailabilityAutocompleteGetTextFromValue(autocompleteParams,$("#"+autocompleteParams.originTextInputHiddenId).val()),"value":$("#"+autocompleteParams.originTextInputHiddenId).val()};var cleanValues={"text":baleariaAdvancedRouteAvailabilityAutocompleteGetTextFromValue(autocompleteParams,""),"value":""};baleariaAdvancedRouteAvailabilityAutocompleteSetInputValues(autocompleteParams,originOptions,originPreselected);baleariaAdvancedRouteAvailabilityAutocompleteSetInputValues(autocompleteParams,
destinationOptions,cleanValues);$("#"+autocompleteParams.destinationTextInputHiddenId).val("");baleariaAdvancedRouteAvailabilityAutocompleteCloseOriginListOptions()})}
function baleariaAdvancedRouteAvailabilityAutocompleteSetDestinationEvents(autocompleteParams){var inputElement=$("#"+autocompleteParams.destinationTextInputId);inputElement.data().typingTimer=null;inputElement.keyup(function(event){clearTimeout(inputElement.data().typingTimer);inputElement.data().typingTimer=setTimeout(baleariaAdvancedRouteAvailabilityAutocompleteDestinationRequest,autocompleteParams.typingTimer,autocompleteParams)});inputElement.focus(function(event){$(this).val("");baleariaAdvancedRouteAvailabilityAutocompleteDestinationRequest(autocompleteParams);
if($(window).width()<=600||deviceOrientation().includes("portrait")&&$(window).width()<=1024){$("#destination-data-container").addClass("baleariaCheckAvailabilityModalLesPopUp");$("#destination-title").removeClass("display-none");$("body").css("overflow-y","hidden");$("body").css("position","fixed");$(this).blur()}});if($(window).width()>1024||deviceOrientation().includes("landscape")&&$(window).width()>600)inputElement.blur(function(event){$(this).val("");baleariaAdvancedRouteAvailabilityAutocompleteHandleAutocompleteBlur($(this),
event,autocompleteParams)});inputElement.on("optionSelected",function(event){baleariaAdvancedRouteAvailabilityAutocompleteCloseDestinationListOptions();$("body").css("overflow-y","scroll");$("body").css("position","relative")});inputElement.on("clearInput",function(event){var destinationOptions={"textInput":$("#"+autocompleteParams.destinationTextInputId),"valuePropertieName":autocompleteParams.destinationPropertieName};var destinationPreselected={"text":baleariaAdvancedRouteAvailabilityAutocompleteGetTextFromValue(autocompleteParams,
$("#"+autocompleteParams.destinationTextInputHiddenId).val()),"value":$("#"+autocompleteParams.destinationTextInputHiddenId).val()};var cleanValues={"text":baleariaAdvancedRouteAvailabilityAutocompleteGetTextFromValue(autocompleteParams,""),"value":""};baleariaAdvancedRouteAvailabilityAutocompleteSetInputValues(autocompleteParams,destinationOptions,destinationPreselected);baleariaAdvancedRouteAvailabilityAutocompleteCloseDestinationListOptions()})}
function baleariaAdvancedRouteAvailabilityAutocompleteOriginRequest(autocompleteParams){var originText=$("#"+autocompleteParams.originTextInputId).val();var possibleOptions=baleariaAdvancedRouteAvailabilityAutocompleteGetAllPossibleAlternativeOrigins(autocompleteParams);var possibleOptionsSorted=possibleOptions.sort(baleariaAdvancedRouteAvailabilityAutocompleteSortJsonElementsVar);var queryIsExistingOption=baleariaAdvancedRouteAvailabilityAutocompleteCurrentQueryIsExistingValue(originText,possibleOptions);
var responseSections=[];var validatedSectionOptions=[];$.each(autocompleteParams.originSections,function(index,possibleSection){$.each(possibleSection.sectionOptions,function(optionsIndex,possibleOption){if(baleariaAdvancedRouteAvailabilityAutocompleteSatisfiesFilter(possibleOption.text,originText,possibleOption.dictionaryCases))validatedSectionOptions.push(possibleOption)})});if(originText!=""&&validatedSectionOptions.length>0)baleariaAdvancedRouteAvailabilityAutocompleteDisplayOriginResults(autocompleteParams,
responseSections,queryIsExistingOption,validatedSectionOptions);else baleariaAdvancedRouteAvailabilityAutocompleteDisplayOriginResults(autocompleteParams,responseSections,queryIsExistingOption,possibleOptionsSorted)}
function baleariaAdvancedRouteAvailabilityAutocompleteDestinationRequest(autocompleteParams){var originValue=baleariaAdvancedRouteAvailabilityGetSessionAttr(autocompleteParams.formName,autocompleteParams.originPropertieName);var destinationText=$("#"+autocompleteParams.destinationTextInputId).val();var possibleOptions=baleariaAdvancedRouteAvailabilityAutocompleteGetDestinationsFromValue(autocompleteParams,originValue);var queryIsExistingOption=baleariaAdvancedRouteAvailabilityAutocompleteCurrentQueryIsExistingValue(destinationText,
possibleOptions);var responseOptions=[];$.each(possibleOptions,function(index,possibleOption){if(queryIsExistingOption||baleariaAdvancedRouteAvailabilityAutocompleteSatisfiesFilter(possibleOption.text,destinationText,possibleOption.dictionaryCases))responseOptions.push(possibleOption)});baleariaAdvancedRouteAvailabilityAutocompleteDisplayDestinationResults(autocompleteParams,responseOptions)}
function baleariaAdvancedRouteAvailabilityAutocompleteSatisfiesFilter(option,input,dictionaryCases){var regex=new RegExp(input,"i");return dictionaryCases!=undefined?regex.test(option)||regex.test(dictionaryCases):regex.test(option)}
function baleariaAdvancedRouteAvailabilityAutocompleteDisplayOriginResults(autocompleteParams,responseSections,queryIsExistingOption,possibleOptionsSorted){baleariaAdvancedRouteAvailabilityCloseModalLessPopUp(autocompleteParams.optionsDisplayId,autocompleteParams.originSectionId);var newDisplay;if($(window).width()<=600||deviceOrientation().includes("portrait")&&$(window).width()<=1024)newDisplay=baleariaAdvancedRouteAvailabilityAutocompleteGetNewMobileDisplay($("#"+autocompleteParams.originTextInputId));
else newDisplay=baleariaAdvancedRouteAvailabilityAutocompleteGetNewDisplay($("#"+autocompleteParams.originTextInputId));var newContent=baleariaAdvancedRouteAvailabilityAutocompleteGetOriginContentWithOutZones(autocompleteParams,possibleOptionsSorted,queryIsExistingOption);if(newContent.length>0)$.each(newContent,function(index,nextContent){newDisplay.append(nextContent)});else newDisplay.append(baleariaAdvancedRouteAvailabilityAutocompleteGetNoContentMessage());baleariaAdvancedRouteAvailabilityAutocompleteSetOriginContent(newDisplay,
"origin-data-container");baleariaAdvancedRouteAvailabilityAutocompleteCloseDestinationListOptions()}
function baleariaAdvancedRouteAvailabilityAutocompleteDisplayDestinationResults(autocompleteParams,responseOptions){baleariaAdvancedRouteAvailabilityCloseModalLessPopUp(autocompleteParams.optionsDisplayId,autocompleteParams.destinationSectionId);var newDisplay;if($(window).width()<=600||deviceOrientation().includes("portrait")&&$(window).width()<=1024)newDisplay=baleariaAdvancedRouteAvailabilityAutocompleteGetNewMobileDisplay($("#"+autocompleteParams.originTextInputId));else newDisplay=baleariaAdvancedRouteAvailabilityAutocompleteGetNewDisplay($("#"+
autocompleteParams.originTextInputId));var newContent=baleariaAdvancedRouteAvailabilityAutocompleteGetDestinationContent(autocompleteParams,responseOptions);if(newContent.length>0)$.each(newContent,function(index,nextContent){newDisplay.append(nextContent)});else newDisplay.append(baleariaAdvancedRouteAvailabilityAutocompleteGetNoContentMessage());baleariaAdvancedRouteAvailabilityAutocompleteSetOriginContent(newDisplay,"destination-data-container");baleariaAdvancedRouteAvailabilityAutocompleteCloseOriginListOptions()}
function baleariaAdvancedRouteAvailabilityAutocompleteGetNewDisplay(inputElement){var containerid=baleariaAdvancedRouteAvailabilityAutocompleteGetContainerId(inputElement);var containerClass="autocomplete-results-container";var divElement=$('\x3cdiv id\x3d"'+containerid+'" class\x3d"'+containerClass+'" \x3e\x3c/div\x3e');return divElement}
function baleariaAdvancedRouteAvailabilityAutocompleteGetNewMobileDisplay(inputElement){var containerid=baleariaAdvancedRouteAvailabilityAutocompleteGetContainerId(inputElement);var containerClass="";var divElement=$('\x3cdiv id\x3d"'+containerid+'" class\x3d"'+containerClass+'" \x3e\x3c/div\x3e');return divElement}
function baleariaAdvancedRouteAvailabilityAutocompleteGetContainerId(inputElement){var idSufix="displayContainer";return inputElement&&inputElement.attr("id")!==""?inputElement.attr("id")+"-"+idSufix:idSufix}
function baleariaAdvancedRouteAvailabilityAutocompleteGetOriginContent(autocompleteParams,sections,queryIsExistingOption){var listElements=[];var originInputElement=$("#"+autocompleteParams.originTextInputId);var destinationInputElement=$("#"+autocompleteParams.destinationTextInputId);if(sections.length>0){autocompleteParams.expandMoreDestinies=!queryIsExistingOption;var optionsHeader=$('\x3cbutton class\x3d"autocomplete-results-header" tabIndex\x3d"0" type\x3d"button"\x3e\x3c/button\x3e');var optionsHeaderText=
$("\x3cspan\x3e"+"Ver m\u00e1s destinos"+"\x3c/span\x3e");var iconImg=autocompleteParams.expandMoreDestinies?autocompleteParams.showLessImage:autocompleteParams.showMoreImage;var optionsHeaderIcon=$('\x3cimg src\x3d"'+iconImg+'" /\x3e');optionsHeader.append(optionsHeaderText);optionsHeader.append(optionsHeaderIcon);optionsHeader.data().relatedInputId=originInputElement.attr("id");optionsHeader.click(function(event){baleariaAdvancedRouteAvailabilityAutocompleteHandleOptionHeaderClick($(this),autocompleteParams)});
optionsHeader.blur(function(event){baleariaAdvancedRouteAvailabilityAutocompleteHandleAutocompleteBlur(originInputElement,event,autocompleteParams)});listElements.push(optionsHeader);var optionsDisplay=$('\x3cdiv id\x3d"'+autocompleteParams.originExtendableContainerId+'" class\x3d"autocomplete-extendable-container"\x3e\x3c/div\x3e');autocompleteParams.expandMoreDestinies?optionsDisplay.show():optionsDisplay.hide();$.each(sections,function(index,section){baleariaAdvancedRouteAvailabilityAutocompleteUpdateExpandedSectionValue(autocompleteParams,
section.sectionIndex,!queryIsExistingOption);var isExpandedSection=baleariaAdvancedRouteAvailabilityAutocompleteIsExpandedSection(autocompleteParams,section.sectionIndex);var sectionHeader=$('\x3cbutton class\x3d"autocomplete-results-header" tabIndex\x3d"0" type\x3d"button"\x3e\x3c/button\x3e');var sectionHeaderText=$("\x3cspan\x3e"+section.text+"\x3c/span\x3e");var sectionIconImg=isExpandedSection?autocompleteParams.arrowUpImage:autocompleteParams.arrowDownImage;var sectionHeaderIcon=$('\x3cimg src\x3d"'+
sectionIconImg+'" /\x3e');sectionHeader.append(sectionHeaderText);sectionHeader.append(sectionHeaderIcon);sectionHeader.data().relatedInputId=originInputElement.attr("id");sectionHeader.data().sectionIndex=section.sectionIndex;sectionHeader.click(function(event){baleariaAdvancedRouteAvailabilityAutocompleteHandleSectionHeaderClick($(this),autocompleteParams)});sectionHeader.blur(function(event){baleariaAdvancedRouteAvailabilityAutocompleteHandleAutocompleteBlur(originInputElement,event,autocompleteParams)});
optionsDisplay.append(sectionHeader);var sectionDisplay=$('\x3cdiv class\x3d"autocomplete-extendable-section"\x3e\x3c/div\x3e');$.each(section.sectionOptions,function(sectionIndex,sectionOption){var nextOption=$('\x3cbutton tabIndex\x3d"0" class\x3d"autocomplete-selectable-option" type\x3d"button"\x3e'+sectionOption.text+"\x3c/button\x3e");nextOption.data().relatedInputId=originInputElement.attr("id");switch(sectionOption.type){case "option":nextOption.data().value=sectionOption.value;nextOption.click(function(event){baleariaAdvancedRouteAvailabilityAutocompleteHandleOptionClick($(this),
originInputElement,autocompleteParams.originPropertieName,autocompleteParams)});break;case "openPopUp":nextOption.data().popUpParams=sectionOption.popUpParams;nextOption.click(function(event){baleariaAdvancedRouteAvailabilityAutocompleteHandleOpenPopUpClick($(this),originInputElement,autocompleteParams)});break}nextOption.blur(function(event){baleariaAdvancedRouteAvailabilityAutocompleteHandleAutocompleteBlur(originInputElement,event,autocompleteParams)});sectionDisplay.append(nextOption)});isExpandedSection?
sectionDisplay.show():sectionDisplay.hide();optionsDisplay.append(sectionDisplay)});listElements.push(optionsDisplay)}return listElements}
function baleariaAdvancedRouteAvailabilityAutocompleteGetDestinationContent(autocompleteParams,options){var listElements=[];var inputElement=$("#"+autocompleteParams.destinationTextInputId);$.each(options,function(index,option){var nextOption=$('\x3cbutton tabIndex\x3d"0" class\x3d"autocomplete-selectable-option" type\x3d"button"\x3e'+option.text+"\x3c/button\x3e");nextOption.data().value=option.value;nextOption.data().relatedInputId=inputElement.attr("id");nextOption.click(function(event){baleariaAdvancedRouteAvailabilityAutocompleteHandleOptionClick($(this),
inputElement,autocompleteParams.destinationPropertieName,autocompleteParams)});nextOption.blur(function(event){baleariaAdvancedRouteAvailabilityAutocompleteHandleAutocompleteBlur(inputElement,event,autocompleteParams)});listElements.push(nextOption)});return listElements}function baleariaAdvancedRouteAvailabilityAutocompleteGetNoContentMessage(){return $('\x3cdiv class\x3d"autocomplete-results-header"\x3e'+"No hay resultados"+"\x3c/div\x3e")}
function baleariaAdvancedRouteAvailabilityAutocompleteHandleOptionClick(listElement,inputElement,propertieName,autocompleteParams){inputElement.val(baleariaAdvancedRouteAvailabilityAutocompleteGetTextFromValue(autocompleteParams,listElement.data().value));baleariaAdvancedRouteAvailabilitySetSessionAttr(autocompleteParams.formName,propertieName,listElement.data().value);if(propertieName===autocompleteParams.originPropertieName)$("#"+autocompleteParams.originTextInputHiddenId).val(listElement.data().value);
else $("#"+autocompleteParams.destinationTextInputHiddenId).val(listElement.data().value);if($(window).width()<=600||deviceOrientation().includes("portrait")&&$(window).width()<=1024){$("#origin-data-container").removeClass("baleariaCheckAvailabilityModalLesPopUp");$("#destination-data-container").removeClass("baleariaCheckAvailabilityModalLesPopUp")}inputElement.trigger("optionSelected")}
function baleariaAdvancedRouteAvailabilityAutocompleteHandleOpenPopUpClick(listElement,inputElement,autocompleteParams){var popUpParams=listElement.data().popUpParams;var functionName=popUpParams.openFunctionName;var functionArgs=[];if(popUpParams.sendAutocompleteParams)functionArgs.push(autocompleteParams);if($(window).width()<=1024||isTablet()){if(popUpParams.openFunctionParamsMobile!=undefined)$.each(popUpParams.openFunctionParamsMobile,function(index,param){functionArgs.push(param)})}else if(popUpParams.openFunctionParams!=
undefined)$.each(popUpParams.openFunctionParams,function(index,param){functionArgs.push(param)});window[functionName].apply(null,functionArgs);inputElement.trigger("openPopUpSelected")}
function baleariaAdvancedRouteAvailabilityAutocompleteHandleOptionHeaderClick(headerElement,autocompleteParams){var extendableContainer=$("#"+autocompleteParams.originExtendableContainerId);var expandMoreDestines=!autocompleteParams.expandMoreDestinies;autocompleteParams.expandMoreDestinies=expandMoreDestines;var iconImgSrc=expandMoreDestines?autocompleteParams.showLessImage:autocompleteParams.showMoreImage;headerElement.find("img").attr("src",iconImgSrc);expandMoreDestines?extendableContainer.show():
extendableContainer.hide()}
function baleariaAdvancedRouteAvailabilityAutocompleteHandleSectionHeaderClick(sectionHeaderElement,autocompleteParams){var sectionContainer=sectionHeaderElement.next(".autocomplete-extendable-section");var isExpandedSection=!baleariaAdvancedRouteAvailabilityAutocompleteIsExpandedSection(autocompleteParams,sectionHeaderElement.data().sectionIndex);baleariaAdvancedRouteAvailabilityAutocompleteUpdateExpandedSectionValue(autocompleteParams,sectionHeaderElement.data().sectionIndex,isExpandedSection);
var iconImgSrc=isExpandedSection?autocompleteParams.arrowUpImage:autocompleteParams.arrowDownImage;sectionHeaderElement.find("img").attr("src",iconImgSrc);isExpandedSection?sectionContainer.show():sectionContainer.hide()}
function baleariaAdvancedRouteAvailabilityAutocompleteHandleAutocompleteBlur(inputElement,event,autocompleteParams){if(event.relatedTarget){var newFocus=$(event.relatedTarget);if(inputElement.attr("id")!==newFocus.data().relatedInputId)baleariaAdvancedRouteAvailabilityAutocompleteUpdateByCurrentOptions(autocompleteParams,inputElement)}else baleariaAdvancedRouteAvailabilityAutocompleteUpdateByCurrentOptions(autocompleteParams,inputElement)}
function baleariaAdvancedRouteAvailabilityAutocompleteUpdateByCurrentOptions(autocompleteParams,inputElement){var currentOptions=baleariaAdvancedRouteAvailabilityAutocompleteGetCurrentDisplayedOptions(inputElement);if(currentOptions.length>1)if(!baleariaAdvancedRouteAvailabilityAutocompleteCurrentQueryIsDisplayedOption(inputElement.val(),currentOptions,autocompleteParams))inputElement.trigger("clearInput");else baleariaAdvancedRouteAvailabilityCloseModalLessPopUp(autocompleteParams.optionsDisplayId,
$(inputElement).closest(".baleariaAdvancedRouteAvailabilityRowSection.routeSelectionSection").attr("id"));else if(currentOptions.length===1)currentOptions.eq(0).click();else inputElement.trigger("clearInput")}function baleariaAdvancedRouteAvailabilityAutocompleteGetInputValues(autocompleteParams,options){var valuesObj={};valuesObj.text=options.textInput.val();valuesObj.value=baleariaAdvancedRouteAvailabilityGetSessionAttr(autocompleteParams.formName,options.valuePropertieName);return valuesObj}
function baleariaAdvancedRouteAvailabilityAutocompleteSetInputValues(autocompleteParams,options,valuesObj){options.textInput.val(valuesObj.text);baleariaAdvancedRouteAvailabilitySetSessionAttr(autocompleteParams.formName,options.valuePropertieName,valuesObj.value);baleariaAdvancedRouteAvailabilityClearDates(idInputDateDeparture,idInputDateReturn,formName,departureDateKey,returnDateKey)}
function baleariaAdvancedRouteAvailabilityAutocompleteGetTextFromValue(autocompleteParams,value){var alternative=autocompleteParams.alternatives[value];if(alternative==undefined)for(var key in autocompleteParams.alternatives){var destinations=autocompleteParams.alternatives[key].destinations;for(var i=0;i<destinations.length;i++)if(destinations[i].value==value){var textValue=destinations[i].text;return textValue}}else return alternative.origin.text}
function baleariaAdvancedRouteAvailabilityAutocompleteGetAllPossibleAlternativeOrigins(autocompleteParams){var origins=[];$.each(Object.values(autocompleteParams.alternatives),function(index,alternative){origins.push(alternative.origin)});return origins}function baleariaAdvancedRouteAvailabilityAutocompleteGetDestinationsFromValue(autocompleteParams,value){var alternative=autocompleteParams.alternatives[value];return alternative!=undefined?alternative.destinations:[]}
function baleariaAdvancedRouteAvailabilityAutocompleteCurrentQueryIsExistingValue(query,options){if(query==="")return true;var i;for(i=0;i<options.length;i++)if(options[i].text.trim()===query)return true;return false}
function baleariaAdvancedRouteAvailabilityAutocompleteCurrentQueryIsDisplayedOption(query,options,autocompleteParams){var i;for(i=0;i<options.length;i++)if($(options[i]).data().value!=undefined){var optionText=baleariaAdvancedRouteAvailabilityAutocompleteGetTextFromValue(autocompleteParams,$(options[i]).data().value);if(optionText!=undefined&&optionText.trim()===query.trim())return true}return false}
function baleariaAdvancedRouteAvailabilityAutocompleteIsExpandedSection(autocompleteParams,sectionIndex){var section=autocompleteParams.originSections[sectionIndex];return section!=undefined?section.expandedSection:false}function baleariaAdvancedRouteAvailabilityAutocompleteUpdateExpandedSectionValue(autocompleteParams,sectionIndex,value){var section=autocompleteParams.originSections[sectionIndex];if(section!=undefined&&typeof value==="boolean")section.expandedSection=value}
function baleariaAdvancedRouteAvailabilityAutocompleteGetCurrentDisplayedOptions(currentInput){var displayId=baleariaAdvancedRouteAvailabilityAutocompleteGetContainerId(currentInput);return $("#"+displayId).find("button.autocomplete-selectable-option")}
function baleariaAdvancedRouteAvailabilityAutocompleteGetOriginContentWithOutZones(autocompleteParams,possibleOptionsSorted,queryIsExistingOption){var listElements=[];var originInputElement=$("#"+autocompleteParams.originTextInputId);var destinationInputElement=$("#"+autocompleteParams.destinationTextInputId);if(possibleOptionsSorted.length>0){var portsTitle=$('\x3cdiv class\x3d"autocomplete-results-header"\x3e'+"Todos los puertos"+"\x3c/div\x3e");listElements.push(portsTitle);$.each(possibleOptionsSorted,
function(sectionIndex,sectionOption){var nextOption=$('\x3cbutton tabIndex\x3d"0" class\x3d"autocomplete-selectable-option" type\x3d"button"\x3e'+sectionOption.text+"\x3c/button\x3e");nextOption.data().relatedInputId=originInputElement.attr("id");if(sectionOption.type==="openPopUp"){nextOption.data().popUpParams=sectionOption.popUpParams;nextOption.click(function(event){baleariaAdvancedRouteAvailabilityAutocompleteHandleOpenPopUpClick($(this),originInputElement,autocompleteParams)})}else{nextOption.data().value=
sectionOption.value;nextOption.click(function(event){baleariaAdvancedRouteAvailabilityAutocompleteHandleOptionClick($(this),originInputElement,autocompleteParams.originPropertieName,autocompleteParams)});nextOption.blur(function(event){baleariaAdvancedRouteAvailabilityAutocompleteHandleAutocompleteBlur(originInputElement,event,autocompleteParams)})}listElements.push(nextOption)})}return listElements}
var baleariaAdvancedRouteAvailabilityAutocompleteSortJsonElementsVar=function baleariaAdvancedRouteAvailabilityAutocompleteSortJsonElements(text1,text2){if(text1.text>text2.text)return 1;if(text1.text<text2.text)return-1;return 0};
function baleariaAdvancedRouteAvailabilityAutocompleteSetOriginContent(html,idContainer){if($("#"+idContainer).children().length>0){$("#"+idContainer).html("");$("#"+idContainer).append(html)}else $("#"+idContainer).append(html);if($(window).width()<=600||deviceOrientation().includes("portrait")&&$(window).width()<=1024)if(idContainer.includes("destination")){$(".destination-title").clone().prependTo($("#"+idContainer));$("#"+idContainer+" .destination-title").removeClass("display-none")}else{$(".origin-title").clone().prependTo($("#"+
idContainer));$("#"+idContainer+" .origin-title").removeClass("display-none")}}function baleariaAdvancedRouteAvailabilityAutocompleteCloseOriginListOptions(){setTimeout(function(){$("#origin-data-container").html("")},250)}function baleariaAdvancedRouteAvailabilityAutocompleteCloseDestinationListOptions(){setTimeout(function(){$("#destination-data-container").html("")},500)}
function mobileCloseOriginEvent(){$("#origin-data-container").removeClass("baleariaCheckAvailabilityModalLesPopUp").html("");$("body").css("overflow-y","scroll");$("body").css("position","relative")}function mobileCloseDestinationEvent(){$("#destination-data-container").removeClass("baleariaCheckAvailabilityModalLesPopUp").html("");$("body").css("overflow-y","scroll");$("body").css("position","relative")}
function deviceOrientation(){if(window.screen.orientation!=undefined)return window.screen.orientation.type;else if(typeof orientation!="undefined"&&orientation!=undefined)if(orientation==0||orientation==180)return"portrait";return"landscape"}
function baleariaRouteAvailabilityInitSchedulesWithClicked(renderUrl,containerId,isDeparture){if(isDeparture)var renderData={"originNode":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","originCode"),"destinationNode":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","destinationCode"),"departureDate":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","departureDate"),"returnDate":"","screenWidth":$(window).width()};else var renderData={"originNode":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute",
"originCode"),"destinationNode":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","destinationCode"),"departureDate":"","returnDate":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","returnDate"),"screenWidth":$(window).width()};baleariaAdvancedRouteAvailabilityShowSchedules(renderUrl,containerId,renderData)}
function baleariaRouteAvailabilityInitDispos(renderUrl,currentDate,containerId,isDeparture,idItem){if(isDeparture){showLoader();$("#balearia-advanced-route-txtStartDate").val(currentDate);baleariaAdvancedRouteAvailabilitySetSessionAttr("advancedRoute","departureDate",currentDate);if(!baleariaAdvancedRouteAvailabilityCompareDates(currentDate,baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","returnDate"))){$("#balearia-advanced-route-txtEndDate").val("");baleariaAdvancedRouteAvailabilitySetSessionAttr("advancedRoute",
"returnDate","")}var renderData={"originNode":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","originCode"),"destinationNode":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","destinationCode"),"currentDate":currentDate,"departureDate":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","departureDate"),"returnDate":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","returnDate"),"isDeparture":isDeparture,"screenWidth":$(window).width()};$("#"+
containerId).html("");$("#"+containerId).removeClass("display-none");$("#"+idItem).closest(".schedule-date-tabs-selector").find("li button").removeClass("active");$("#"+idItem).closest(".schedule-date-tabs-selector").find("li").removeClass("active");$("#"+idItem).addClass("active");$("#"+idItem).closest("li").addClass("active");baleariaAdvancedRouteAvailabilityShowSchedules(renderUrl,containerId,renderData);baleariaAdvancedRouteAvailabilityUpdateTrip($("#originNodeInput").val(),$("#destinationNodeInput").val(),
$("#balearia-ui-input-input-departure-date-txt").val(),$("#balearia-ui-input-input-return-date-txt").val());hideLoader()}else if(baleariaAdvancedRouteAvailabilityCompareDates(baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","departureDate"),currentDate)){showLoader();$("#balearia-advanced-route-txtEndDate").val(currentDate);baleariaAdvancedRouteAvailabilitySetSessionAttr("advancedRoute","returnDate",currentDate);var renderData={"originNode":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute",
"originCode"),"destinationNode":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","destinationCode"),"currentDate":currentDate,"departureDate":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","departureDate"),"returnDate":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","returnDate"),"isDeparture":isDeparture,"screenWidth":$(window).width()};$("#"+containerId).html("");$("#"+containerId).removeClass("display-none");$("#"+idItem).closest(".schedule-date-tabs-selector").find("li button").removeClass("active");
$("#"+idItem).closest(".schedule-date-tabs-selector").find("li").removeClass("active");$("#"+idItem).addClass("active");$("#"+idItem).closest("li").addClass("active");baleariaAdvancedRouteAvailabilityShowSchedules(renderUrl,containerId,renderData);baleariaAdvancedRouteAvailabilityUpdateTrip($("#originNodeInput").val(),$("#destinationNodeInput").val(),$("#balearia-ui-input-input-departure-date-txt").val(),$("#balearia-ui-input-input-return-date-txt").val());hideLoader()}else alert("La fecha de vuelta no puede ser inferior a la de ida")}
function baleariaRouteAvailabilityInitWithDateSelectedOnCenterSchedules(renderUrl,currentDate,containerId,isDeparture,idItem){if(isDeparture){$("#balearia-advanced-route-txtStartDate").val(currentDate);baleariaAdvancedRouteAvailabilitySetSessionAttr("advancedRoute","departureDate",currentDate);calculateDepartureSchedulesHeight(containerId);$("#"+containerId).removeClass("display-none");$("#"+idItem).closest(".schedule-date-tabs-selector").find("li button").removeClass("active");$("#"+idItem).closest(".schedule-date-tabs-selector").find("li").removeClass("active");
$("#"+idItem).addClass("active");$("#"+idItem).closest("li").addClass("active");baleariaRouteAvailabilityInitSchedulesWithClicked(renderUrl,containerId,isDeparture)}else if(baleariaAdvancedRouteAvailabilityCompareDates(baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","departureDate"),currentDate)){baleariaAdvancedRouteAvailabilitySetSessionAttr("advancedRoute","returnDate",currentDate);var returnHeight=$("#"+containerId).height();$("#"+containerId).css("min-height",returnHeight);$("#balearia-advanced-route-txtEndDate").val(currentDate);
$("#"+containerId).removeClass("display-none");$("#"+idItem).closest(".schedule-date-tabs-selector").find("li button").removeClass("active");$("#"+idItem).closest(".schedule-date-tabs-selector").find("li").removeClass("active");$("#"+idItem).addClass("active");$("#"+idItem).closest("li").addClass("active");baleariaRouteAvailabilityInitSchedulesWithClicked(renderUrl,containerId,isDeparture)}else alert("La fecha de vuelta no puede ser inferior a la de ida")}
function baleariaRouteAvailabilityReloadSchedules(renderUrl,containerId,dateToReload,isDeparture,isPlusSeven){var renderData={"originNode":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","originCode"),"destinationNode":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","destinationCode"),"departureDate":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","departureDate"),"returnDate":baleariaAdvancedRouteAvailabilityGetSessionAttr("advancedRoute","returnDate"),
"dateToReload":dateToReload,"isReloadSchedules":true,"isDeparture":isDeparture,"isPlusSeven":isPlusSeven,"screenWidth":$(window).width()};baleariaAdvancedRouteAvailabilityShowSchedules(renderUrl,containerId,renderData)}
function baleariaAdvancedRouteAvailabilityUpdateTravelType(radioElements){var i;var radioButtonsInput="#balearia-modal-less-portlet-radio-button-bookingType-";var radioButtonsLabel="#balearia-modal-less-portlet-radio-button-bookingType-name-";var travelTypeKey="travelType";for(i=0;i<radioElements.length;i++){var nthRadioInput=$(radioButtonsInput+(i+1));nthRadioInput.on("click",function(c){var array=this.id.split("-");var radioButtonIndex=array[array.length-1];baleariaAdvancedRouteAvailabilitySetSessionAttr(formName,
travelTypeKey,radioButtonIndex);baleariaAdvancedRouteAvailabilityClearDates(idInputDateDeparture,idInputDateReturn,formName,departureDateKey,returnDateKey)});var nthLabelRadioInput=$(radioButtonsLabel+(i+1));nthLabelRadioInput.on("click",function(c){var array=this.id.split("-");var radioButtonIndex=array[array.length-1];baleariaAdvancedRouteAvailabilitySetSessionAttr(formName,travelTypeKey,radioButtonIndex);baleariaAdvancedRouteAvailabilityClearDates(idInputDateDeparture,idInputDateReturn,formName,
departureDateKey,returnDateKey)})}}function calculateDepartureSchedulesHeight(containerId){departureHeight=$("#"+containerId).height();$(".schedule-departure-container-min-height").css("min-height",departureHeight)};
function openDialog(url1,url2,item){if(window.location.href.indexOf("#")===-1)window.history.replaceState({},document.title,window.location.href+"#");var searcherContainer=$("#searcher-container");var modalSearcher=$("#searcher-container-modal");var cookiesBanner=$(".cookies");var navBlock;var extraMargin=0;if($(".control-menu").length>0){navBlock=$(".control-menu");extraMargin=15}else if(cookiesBanner.length>0&&$(cookiesBanner).css("display")!="none"){navBlock=cookiesBanner;extraMargin=15}else navBlock=
$(".header-second-row");var topValue=$(navBlock).first().height()+extraMargin;$("#wrapper").append($(searcherContainer));$(searcherContainer).removeClass("display-none");$(modalSearcher).css("top",topValue);if($(window).width()<=1024||isTablet()){$("#check-availability-portlet-autocomplete-autocompleteContent").blur();$("html").css("overflow","hidden")}if(url2!=false)renderSearcherPage(url1,url2,modalSearcher,item);else ajaxRender(item,modalSearcher);if($(window).width()>1024)$("body").css("overflow",
"hidden")}
function renderSearcherPage(url1,url2,modalSearcher,item){var jsonData={};if(item!=undefined)if(item.result.raw.name.indexOf(" - ")!=-1)jsonData={originSelected:item.result.raw.originCode,destinationSelected:item.result.raw.destinationCode,zoneSelected:item.result.raw.zone,screenWidth:$(window).width()};else jsonData={itemSelected:item.result.raw.code,zoneSelected:item.result.raw.type,screenWidth:$(window).width()};$.ajax({url:url1,data:jsonData,success:function(){ajaxRender(url2,modalSearcher)}})}
function ajaxRender(url,modalSearcher){$.ajax({url:url,data:{screenWidth:$(window).width()},success:function(data){$(modalSearcher).html("");$(modalSearcher).html(data);setTimeout(function(){$("#searcher-container-modal").addClass("active")},500);setTimeout(function(){if(typeof isCaribbeanRoute!=="undefined"&&isCaribbeanRoute==="false")hideLoader();if(themeDisplay.getLayoutURL().includes("baleariacaribbean.com"))hideLoaderCaribbean();else hideLoader()},700)}})}
function openConfirmationDialog(closeConfirmationJspURL){openDialog("balearia-booking-portlet-closeConfirmationDialog",true,closeConfirmationJspURL,"balearia-ui-booking-portlet-modal",true,false,false,200,360)}function closeFunction(id){Liferay.Util.getWindow(id).hide()}function hideConfirmationDialog(id){$("#"+id).hide()}function hideConfirmationBackDialog(id){if(window.location.href.indexOf("#")===-1)window.location.href+="#";hideConfirmationDialog(id)}
function submitAndCloseFunction(id,formId){closeFunction(id);document.getElementById(formId).submit()}function enableContinueButton(continueButton){continueButton.prop("disabled",false);continueButton.removeClass("balearia-ui-button-disabled-opacity")}function disableContinueButton(continueButton){continueButton.prop("disabled",true);continueButton.addClass("balearia-ui-button-disabled-opacity")}
function checkAvailabilityPortletResizeInput(el,factor,parent){var int=Number(factor)||7.7;if(el.val())if(el.val().length==0){el.css("width",(el.attr("placeholder").length+1)*int+"px");if(parent!=null)parent.css("width",(el.attr("placeholder").length+1)*int+"px")}else{el.css("width",(el.val().length+1)*int+"px");if(parent!=null)parent.css("width",(el.val().length+3)*int+"px")}}function removeAccents(string){return string.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}
function setHeightLiferayDOM(heightValue){$("html, html \x3e body, html \x3e body \x3e div, #main-content, #main-content \x3e .portlet-layout, #main-content \x3e .portlet-layout \x3e .portlet-column-only").css("height",heightValue)}
function showLoaderAfterSubmitEvent(submitURL,nextPageURL,isOffer,isRouteSelection){var listener="click";var onClick="";if($(".balearia-booking-portlet-continueButton-align").length>0)onClick=".balearia-booking-portlet-continueButton-align";else onClick=".balearia-ui-check-availability-portlet-route-selection-continueButton-container";$(onClick)[0].addEventListener(listener,function(e){e.preventDefault();e.stopPropagation();$(window).off("resize");if($(onClick).find("#balearia-booking-portlet-continueButton").attr("disabled")===
undefined){if(themeDisplay.getLayoutURL().includes("baleariacaribbean.com"))showLoaderCaribbean();else showLoader();if(isRouteSelection)if(sessionStorage.getItem("redirectRouteSelection")!==null)nextPageURL=sessionStorage.getItem("redirectRouteSelection");$("form#fm").ajaxSubmit({url:submitURL,type:"POST",data:formToJson(),complete:function(){$("#searcher-container-modal").removeClass("active");var modalSearcher=$("#searcher-container-modal");ajaxRender(nextPageURL,modalSearcher)}})}})}
function formToJson(){var data=$("form#fm").serializeArray().reduce(function(obj,item){obj[item.name]=item.value;return obj},{});return data}function showContinueButton(btnContainerClass){$("."+btnContainerClass).removeClass("display-none")}function hideContinueButtonBeforeSubmit(containerButtonClass){$(".balearia-ui-button").click(function(){preventHideOnConfirmClick($(this),containerButtonClass)})}
function preventHideOnConfirmClick(element,containerButtonClass){var btnId=$(element).attr("id");if(btnId!="confirm-reset"&&btnId!="cancel-reset")$("."+containerButtonClass).hide()}
function iosPreventOverlay(){if($(window).width()<=1024||isTablet()){$(".balearia-check-availabiliy-mobileHeader-mainRow").css("margin-top","90px");var btnContainerMap=$(".balearia-ui-check-availability-portlet-route-selection-continueButton-container");var btnContainer=$(".balearia-booking-portlet-continueButton-align");if($(btnContainerMap).length>0)$(btnContainerMap).css("bottom","10rem");else if($(btnContainer).length>0)$(btnContainer).css("bottom","10rem")}}
function getTravelType(){var $travelTypeSelected=$("#balearia-booking-portlet-radio-button-bookingType input[type\x3dradio]:checked");var travelTypeSelectedId=$travelTypeSelected.attr("id");var numberTravelType=parseInt(travelTypeSelectedId.charAt(travelTypeSelectedId.length-1));return numberTravelType}
function baleariaBookingPortletRouteSelectionValidateRoute(){switch(baleariaBookingPortletRouteSelectionGetCheckedTravelTypeIndex()){case 1:return baleariaBookingPortletRouteSelectionValidateSoloIda();case 2:return baleariaBookingPortletRouteSelectionValidateIdaYVuelta();case 3:return baleariaBookingPortletRouteSelectionValidateVueltaAbierta();case 4:return baleariaBookingPortletRouteSelectionValidateMultiTrayecto();default:return false}}
function baleariaBookingPortletRouteSelectionGetCheckedTravelTypeIndex(){var radioElements=$("#balearia-booking-portlet-radio-button-bookingType").children();var i;for(i=0;i<radioElements.length;i++)if($("#balearia-booking-portlet-radio-button-bookingType-"+(i+1)).is(":checked"))return i+1;return-1}
function baleariaBookingPortletRouteSelectionValidateSoloIda(isDesktop){var validateDates=isDesktop===undefined?true:isDesktop;var inputVal=$("#balearia-ui-input-input-balearia-booking-portlet-input-txtStartDateSoloIda-txt").val();var originVal=$("#customSwap-solo-ida-leftInputValue").val();var destinationVal=$("#customSwap-solo-ida-rightInputValue").val();if(validateDates&&!inputVal)return false;if(originVal.localeCompare(customBlank.value)===0)return false;if(destinationVal.localeCompare(customBlank.value)===
0)return false;return true}function baleariaBookingPortletRouteSelectionValidateIdaYVuelta(){var originVal=$("#customSwap-leftInputValue").val();var destinationVal=$("#customSwap-rightInputValue").val();if(originVal.localeCompare(customBlank.value)===0)return false;if(destinationVal.localeCompare(customBlank.value)===0)return false;return true}
function baleariaBookingPortletRouteSelectionValidateVueltaAbierta(isDesktop){var validateDates=isDesktop===undefined?true:isDesktop;var inputVal=$("#balearia-ui-input-input-balearia-booking-portlet-input-txtStartDateVueltaAbierta-txt").val();var originVal=$("#customSwap-vuelta-abierta-leftInputValue").val();var destinationVal=$("#customSwap-vuelta-abierta-rightInputValue").val();if(validateDates&&!inputVal)return false;if(originVal.localeCompare(customBlank.value)===0)return false;if(destinationVal.localeCompare(customBlank.value)===
0)return false;return true}function relocateContinueButtonOnTablet(){if(isTablet()&&$(window).width()<=1024)$("#balearia-booking-portlet-continueButton").addClass("tabletContinueButton");else $("#balearia-booking-portlet-continueButton").removeClass("tabletContinueButton")}
function isTablet(){var isTabletValue=false;var userAgent=navigator.userAgent.toLowerCase();if(/(ipad|tablet|(android(?!.*mobile))|(windows(?!.*phone)(.*touch))|kindle|playbook|silk|(puffin(?!.*(IP|AP|WP))))/.test(userAgent))isTabletValue=true;return isTabletValue}function isJson(str){try{JSON.parse(str)}catch(e){return false}return true}
function closeModalOnClickCrossIcon(){var $crossIcon=$("#balearia-booking-portlet-closeButton");var $closeModalForm=$("#balearia-booking-portlet-confirmDialog-container");if($crossIcon.length>0)$crossIcon.click(()=>{if($crossIcon.length>0)$closeModalForm.show()})}var isCaribbean=window.location.href.includes("baleariacaribbean");

