text:
Hotel La Bocona: See 185 Reviews, Price Comparison and 126 Photos (Granada, Nicaragua) - TripAdvisor
Hotels near Abeja Tours Granada Nicaragua
Restaurants near Hotel La Bocona
Things to do near Hotel La Bocona
Hotel La Bocona, Granada Reviews
#31 of 45 Hotels in Granada
#25 of 45 hotels in Granada
“robes and slippers” (4 reviews)
“swimming pool was small” (2 reviews)
{"BOOKING_FEATURES": ["IB_STREAMLINED_SELECTED_ROOM","IB_SHOW_EMAIL_FOR_INSECURE_LOGIN","VISA_SPONSORSHIP_WEB","RCMS_INLINE_ROOM_GRID_MAX_OCC","IB_POST_BOOKING_LOGIN","IB_IRG_PERFORMANCE_METRICS","IB_IRG_MATCH_META","CHILDREN_SEARCH","ATTRACTIONS_REMOVE_PAYMENT_ADDRESS_FIELDS","HR_IB_EXCLUDE_TAXES_AND_FEES","IB_DW_CCNAME_WITH_AUTOCOMPLETE","IB_IRG_PERFORMANCE_METRICS_MOBILE","IB_BOOKNOW_CLEAN_WITH_ICON_SHORT_BTN","STORED_CARDS","IB_PRICE_WINS_COPY","IB_PRICES_OUTSIDE_ROOM_BUTTON","IB_EXIT_INTERRUPTER","IB_SHOW_AMENITIES_AS_ICONS","META_AIR","IB_INLINE_ROOM_GRID","IB_TIME_OF_STAY_PAYMENT_TYPES_V3","IBEX_HIGH_EQUITY_BRANDING","IB_PRICE_WINS_POST_TX","IB_BOOKING_FORM_FAVICON","IB_URGENCY_BLOCK"] , "IMPRESSION_KEY": "45bfc6bb43d3411aae8a5167af69cc97", "roomSelectionModel": {"partnerInfos":[],"multiplePartners":false,"polling":{"locationId":1469291,"bookingSessionId":null,"detailedAvailabilityKey":null,"commerceContentIds":[],"additionalContentIds":[],"pollCount":0,"checkin":{"day":3,"month":12,"year":2017},"checkout":{"day":4,"month":12,"year":2017},"adults":2,"child_rm_ages":"","rooms":1,"display_rooms":300,"entryPrice":-1,"entryCurrency":"USD","complete":false,"formKey":"","showAllRooms":true,"genNewBookingSessionId":false,"winningProviderAtClick":"","selectedRoomKey":"","impressionKey":"45bfc6bb43d3411aae8a5167af69cc97","navArea":null,"referringServlet":"Hotel_Review","highestMetaPrice":0,"lowestMetaPrice":0,"additionalPartner":false,"highestMetaPriceDisplay":0,"roomsToVerify":[],"clazz":null},"summary":null,"unavailable":true,"metaOffers":[],"mismatchCheckModel":null,"totalMediaCount":0,"hotelPhotos":[],"noticeHeaderMessage":null,"moreProviders":null,"lowestPricePartner":null,"showAllRooms":true,"isMetaCheaper":false,"isBookingLessThanOrEqualToMeta":null,"avgHistoricalPrice":0.0,"avgHistoricalDisplayPrice":null,"expressBookState":{"hasFullTravelerInfo":false,"hasReducedBillingInfo":false,"hasFullBillingInfo":false},"highestMetaPrice":-1,"lowestMetaPrice":-1,"highestMetaPriceDisplay":-1,"hotelName":"Hotel La Bocona","hasSpecialTimeOfStayTaxes":false,"trackingTree":null,"trackingTreeId":null,"showPriceHoverTooltip":false,"trackingContext":"eyJzdGF0ZSI6IkhPVEVMX0FVQ1RJT04iLCJwIjoiSFJfTWFpbkNvbW1lcmNlIiwiaWRzIjp7IkJGSyI6IjQ1YmZjNmJiNDNkMzQxMWFhZThhNTE2N2FmNjljYzk3IiwiQUlLIjoiMDkyZDQ0MmM5MTU4NGE3OTllY2E0MGU4ZWQyMGU1YmEifSwiZW50cnlTZXJ2bGV0IjoiSG90ZWxfUmV2aWV3In0=","cheaperPricesExist":false,"enableLPF":false,"priceDropPercent":0,"canExpandRooms":false,"expandRoomsToAllPartners":false,"roomSelectionKey":null,"useSupplierDirectTreatment":false,"isSupplierDirect":false,"showProviderSeparator":false,"clazz":null,"isPriceDrawerEnabled":false,"seeMoreMessage":null,"seeMoreIFrameMessage":null,"isPricelineCom":false,"isMetaMarketingLandOnBookingFormEnabled":false}, "ibAvailability": false, "metaAvailability": false, "topOfferIsIB": false, "numHacTries": -1, "checkIn": "03/12/2017", "checkOut": "04/12/2017", "lowestPrice": null, "hasDates": true, "hacComplete": false, "contentIdMappings": {}, "pollingEnabled": false, "preventScroll": false, "offerClickToken": null, "conditionalUpdate": false, "mightGetRooms": true, "divClasses": "ppr_rup ppr_priv_hr_inline_room_grid_hsx", "singlePartnerRoomGridWidget": {"containerClass":null,"containerAttributes":null,"widget":{"template":"ibex_room_grid_hsx__widget","moduleList":["handlers","tracking"],"divClasses":"prw_rup prw_ibex_room_grid_hsx","js":{"handlers":"(ta.prwidgets.getjs(this,'handlers'))","tracking":"(ta.prwidgets.getjs(this,'tracking'))"},"dust":{"sub_header":"ibex_room_grid_hsx__sub_header"},"name":"ibex_room_grid_hsx"},"scriptFlags":null}, "multiPartnerRoomGridWidget": null, "mismatchMessage": {"containerClass":null,"containerAttributes":null,"widget":{"template":"ibex_mismatch_message__widget","moduleList":["handler"],"divClasses":"prw_rup prw_ibex_mismatch_message","js":{"handler":"(ta.prwidgets.getjs(this,'handler'))"},"dust":{},"name":"ibex_mismatch_message"},"scriptFlags":null}, "maxRoomsToShow": 300, "isTablet": false, "roomGridRowWidget": {"containerClass":null,"containerAttributes":null,"widget":{"template":"ibex_room_grid_row_hsx__widget","moduleList":[],"divClasses":"prw_rup prw_ibex_room_grid_row_hsx","js":{},"dust":{"amenities":"ibex_room_grid_row_hsx__amenities","condition_col":"ibex_room_grid_row_hsx__condition_col","price_text":"ibex_room_grid_row_hsx__price_text","reservation_col":"ibex_room_grid_row_hsx__reservation_col"},"name":"ibex_room_grid_row_hsx"},"scriptFlags":null}, "mismatchMessageLightbox": null, "deviceInfo": "OtherOS OtherBrowser", "bookOnTripAdvisor": "Book on <img class=\"ibHeaderImg\" alt=\"TripAdvisor\" src=\"https:\/\/static.tacdn.com\/img2\/branding\/rebrand\/TA_logo_primary.png\"\/>"}
There are newer reviews for Hotel La Bocona
All reviews robes and slippers modern art swimming pool was small private bathroom rooms are large air conditioning other hotels the main square old world central park colonial architecture boutique hotel pancakes the location is perfect courtyard restoration nicaragua
81 - 85 of 185 reviews
jones2mc
Great place to stay and great place for a wedding!
I spent a week staying at Hotel La Bocona this past July (2012) and it ended with my sister's wedding ceremony in the garden and reception by the pool. We're not Nicaraguan, we are Americans from the East Coast. It was the most fun wedding...More
Thank jones2mc
Response from LaBocona, General Manager at Hotel La BoconaResponded 18 April 2013
Thank you so much for the great reference! What a pleasure it was to have you, your family and dear friends with us that week! That wedding had to be one of the most spectacular events we've held and it was an honor to have...More
Fine place but there are better options for the price!
We stayed at three hotels in Granada and this was my least favorite. It is far away from the center of town, not a long distance by any means but in comparison to other hotels in the city, this is not the most centrally located....More
1 Thank emhta88
Response from LaBocona, General Manager at Hotel La BoconaResponded 11 April 2013
We are committed to providing a high level of intrinsic value. Not only do we provide an elegant colonial setting with gardens and swimming pool, beautiful guestrooms with air con (if selected), a full breakfast with much choice but, also we include other extras like...More
This is the PERFECT place to stay in Granada!! It is close enough to all the action like the cathedral and the lake, that is is easy to get around but a little bit out of the way so that you are not kept up...More
Thank lbn23
Response from LaBocona, General Manager at Hotel La BoconaResponded 2 April 2013
So great to read about your experience with us-- This is exactly what we strive to achieve! Looking forward to your next stay with us...and thank you so much, Nadene
I love this place. So glad I stayed. So sad it was only one night.
This hotel is so unique and so cool. My hosts at the hotel were nothing short of perfect. They were so helpful and friendly. Yes, it's true that some of the staff don't speak English. You're in Nicaragua. A lot of people don't speak English....More
Thank brandx5150
Response from LaBocona, General Manager at Hotel La BoconaResponded 24 March 2013
I think your comments really help the reader to view La Bocona, Granada and Nicaragua with a realistic perspective. The beauty is that what is on offer is an authentic, almost untouched cultural experience that is not available at most vacation hotspots around the world....More
What a treasure, La Bocona Hotel is. My partner and I stayed 3 nights here and enjoyed every minute of our stay. The hotel in beautifully restored, the staff are helpful and gracious, the breakfast was delicious and the pool and hammock were refreshing. We...More
Thank CRJamie
Response from LaBocona, General Manager at Hotel La BoconaResponded 17 March 2013
We treat every guest as if our entire business rests on that person alone and focus on delivering a warm, welcoming, memorable experience in an extraordinary setting. I am very pleased that you both enjoyed your stay so much! Hoping you grace our doorstep again...More
#5 Spa Hotel in Granada
#11 Romantic Hotel in Granada
TripAdvisor is proud to partner with Travelocity, Orbitz, Hotwire, Cancelon and TripOnline SA so you can book your Hotel La Bocona reservations with confidence. We help millions of travellers each month to find the perfect hotel for both holiday and business trips, always with the best discounts and special offers.
Get quick answers from Hotel La Bocona staff and past guests.
My husband is a non smoker and we would require a non smoking room. But I smoke. Do you have designated smoking areas?
Response from FIN_Nicholas | Reviewed this property |
It's easy, just come out from the room and you can smoke on a courtyard
offthecouch7
"Enjoy the peaceful settings inside the courtyard."
"I only used the spa - but look like a great find for a hotel."
"Room #6 is a little warm. Be aware that the bathrooms are not ensuite, but are nice."
'); } calendarDiv = document.createElement('div'); calendarDiv.id = 'CALENDAR'; calendarDiv.style.display = 'none'; calendarDiv.innerHTML = htmlBuf.join(''); $('PAGE').appendChild(calendarDiv); ta.m.toggleLightBox($('MAIN'), ta.m.oldlocalize(headerKey), "overlayCalendar", 'CALENDAR', undefined, false); ta.m.hideCalendar(); if (currentMonth > showMonth) { showMonth += 12; } if (selectBox) { selectBox.selectedIndex = showMonth - currentMonth; } desiredDateDiv.setAttribute('value', desiredDate); desiredMonthDiv.setAttribute('value', desiredMonth); ta.m.pageFormActive(false); if (ifdefNN(ta.m.lightbox)) { ta.m.lightbox.setLightboxOnClose(function () { ta.m.pageFormActive(true); }); } } , getVRCalendarClasses: function (firstOfCurrentMonth, now, showYear, showMonth, showDay) { var tdClass = "" , d = new Date(showYear, showMonth, showDay) , bookedRanges , theDayBefore , isTheDayBeforeBooked ; if (!ta.VRShared) { return ""; } bookedRanges = ta.VRShared.VRInquiryDataSingleton.get(); if (!bookedRanges) { return ""; } theDayBefore = new Date(d); theDayBefore.setDate(theDayBefore.getDate() - 1); isTheDayBeforeBooked = bookedRanges.isDateBooked(theDayBefore); if (bookedRanges.isDateBooked(d)) { if (!isTheDayBeforeBooked) { tdClass += " arrival"; } else { tdClass += " booked"; } } else if (isTheDayBeforeBooked) { tdClass += " departure"; } return tdClass; } , hideCalendar: function () { var calendar = $('CALENDAR'); if (calendar && calendar.parentNode) { calendar.parentNode.removeChild(calendar); } } , preventDefault: function (event) { if (event && event.preventDefault) { event.preventDefault(); } else if (window.event) { window.event.returnValue = false; } } , stopPropagation: function (event) { if (event.stopPropagation) { event.stopPropagation(); } else if (window.event) { window.event.cancelBubble = true; } } , nextElemNode: function ( el) { var node; if (!ifdefNN(el)) { return null; } node = el.nextSibling; if ((!ifdefNN(node)) || node.nodeType === 1) { return node; } return ta.m.nextElemNode(node); } , getDaysInMonth: function (year, month) { return 32 - new Date(year, month, 32).getDate(); } , crChanged: false , onCrSubmit: function (crChangedPid, crNotChangedPid) { var pidField = $('CR_SUBMIT_PID'); if (!ifdefNN(pidField)) { return true; } if (ta.m.crChanged) { pidField.value = crChangedPid; } else { pidField.value = crNotChangedPid; } return true; } , setDate: function (prefix, year, month, day) { var display = $(prefix + 'Select') , yearDiv = $(prefix + 'Year') , monthDiv = $(prefix + 'Month') , dayDiv = $(prefix + 'Day') ; if (display && year && month && day) { display.children[0].innerHTML = ta.m.oldlocalize('date.MM_DD_YYYY_fffff619', [month + 1, day, year]); } else if (display) { display.children[0].innerHTML = ta.m.oldlocalize('dateFormatStringShort_91d'); } yearDiv.value = year; monthDiv.value = month; dayDiv.value = day; } , setDeparture: function (year, month, day) { ta.m.setDepartureDate(year, month, day); ta.m.closeLightBox(); ta.m.hideCalendar(); } , setDepartureDate: function (year, month, day) { var inRoot = 'in' , outRoot = 'out' , outYear = $(outRoot + 'Year') , outMonth = $(outRoot + 'Month') , outDay = $(outRoot + 'Day') , outSelect = $(outRoot + 'Select') , showPricesButton = $('showPricesSubmit') , inYear = $(inRoot + 'Year') , inMonth = $(inRoot + 'Month') , inDay = $(inRoot + 'Day') , outDate = new Date(year, month, day) , inDate = new Date(inYear.value, inMonth.value, inDay.value) , arrivalDate ; ta.m.crChanged = true; if (outSelect) { outSelect.children[0].innerHTML = ta.m.oldlocalize('date.MM_DD_YYYY_fffff619', [month + 1, day, year]); outSelect.children[0].removeClass('disabled'); } if (showPricesButton) { showPricesButton.parentNode.removeClass('disabled'); } outYear.setAttribute('value', "" + year); outYear.value = year; outMonth.setAttribute('value', "" + month); outMonth.value = month; outDay.setAttribute('value', "" + day); outDay.value = day; if (inDate >= outDate || !inYear.value || parseInt(inYear.value, ta.m.RADIX_DECIMAL) === -1 || !inMonth.value || parseInt(inMonth.value, ta.m.RADIX_DECIMAL) === -1 || !inDay.value || parseInt(inDay.value, ta.m.RADIX_DECIMAL) === -1) { arrivalDate = new Date(year, month, day - 1); ta.m.setArrivalDate(arrivalDate.getFullYear(), arrivalDate.getMonth(), arrivalDate.getDate()); } } , setArrival: function (year, month, day) { ta.m.setArrivalDate(year, month, day); ta.m.closeLightBox(); ta.m.hideCalendar(); } , setArrivalDate: function (year, month, day) { var inRoot = 'in' , outRoot = 'out' , inYear = $(inRoot + 'Year') , inMonth = $(inRoot + 'Month') , inDay = $(inRoot + 'Day') , inSelect = $(inRoot + 'Select') , showPricesButton = $('showPricesSubmit') , outYear = $(outRoot + 'Year') , outMonth = $(outRoot + 'Month') , outDay = $(outRoot + 'Day') , outDate = new Date(outYear.value, outMonth.value, outDay.value) , inDate = new Date(year, month, day) , departureDate ; ta.m.crChanged = true; if (inSelect) { inSelect.children[0].innerHTML = ta.m.oldlocalize('date.MM_DD_YYYY_fffff619', [month + 1, day, year]); inSelect.children[0].removeClass('disabled'); } if (showPricesButton) { showPricesButton.parentNode.removeClass('disabled'); } if (inDate >= outDate) { departureDate = new Date(year, month, day + 1); ta.m.setDepartureDate(departureDate.getFullYear(), departureDate.getMonth(), departureDate.getDate()); } inYear.setAttribute('value', "" + year); inYear.value = year; inMonth.setAttribute('value', "" + month); inMonth.value = month; inDay.setAttribute('value', "" + day); inDay.value = day; } , numAdultsChanged: function () { ta.m.crChanged = true; } , getIndexWithValue: function ( dropdown, value) { var children , i ; if (!(ifdefNN(dropdown) && ifdefNN(dropdown.children) && ifdefNN(value))) { throw "getIndexWithVaue called with null parameter"; } children = dropdown.children; for (i = 0; i < children.length; ++i) { if (children[i].value === value) { return i; } } return -1; } , RADIX_DECIMAL: 10 , MAX_ROOMS: 8 , MAX_ADULTS_PER_ROOM: 4 , MAX_CHILDREN_PER_ROOM: 10 , MAX_CHILDREN: 20 , updateSelectOptionsToRange: function ( dropdown, lower, upper) { var selected , i , newOption , bottom , killMe ; if (!(ifdefNN(dropdown) && ifdefNN(dropdown.children) && ifdefNN(lower) && ifdefNN(upper))) { throw "updateSelectOptionsToRange called with null parameters"; } selected = parseInt(dropdown.value, 10); if (isNaN(selected)) { throw "updateSelectOptionsToRange selected value not an integer"; } selected = Math.max(lower, Math.min(selected, upper)); for (i = 0; i < dropdown.children.length; ++i) { if (parseInt(dropdown.children[i].value, ta.m.RADIX_DECIMAL) < lower || parseInt(dropdown.children[i].value, ta.m.RADIX_DECIMAL) > upper) { killMe = dropdown.children[i]; dropdown.removeChild(killMe); --i; } } bottom = dropdown.children.length > 0 ? parseInt(dropdown.children[0].value, ta.m.RADIX_DECIMAL) - 1 : upper; for (i = bottom; i >= lower; --i) { newOption = document.createElement("option"); newOption.value = i.toString(); newOption.text = i.toString(); dropdown.insertBefore(newOption, dropdown.children[0]); } for (i = parseInt(dropdown.children[dropdown.children.length - 1].value, ta.m.RADIX_DECIMAL) + 1; i <= upper; ++i) { newOption = document.createElement("option"); newOption.value = i.toString(); newOption.text = i.toString(); dropdown.add(newOption); } dropdown.selectedIndex = ta.m.getIndexWithValue(dropdown, selected.toString()); } , boundsCheckAdultsAndRooms: function ( updatedRooms) { var adultsSelect = $("adultsSelect") , roomsSelect = $("roomsSelect") , adults , rooms ; if (!(ifdefNN(adultsSelect) && ifdefNN(roomsSelect))) { throw "boundsCheckAdultsAndRooms() unable to find select widget"; } adults = parseInt(adultsSelect.value, 10); rooms = parseInt(roomsSelect.value, 10); if (isNaN(adults) || isNaN(rooms)) { throw "boundsCheckAdultsAndRooms() adult or room quantity is NaN adults:" + adultsSelect.value + " rooms:" + roomsSelect.value; } ta.m.updateSelectOptionsToRange(adultsSelect, rooms, ta.m.MAX_ADULTS_PER_ROOM * rooms); } , validateAdultsUpdate: function ( updatedRoomsAndAdults) { var adults , rooms , children ; adults = Math.max(1, Math.min(updatedRoomsAndAdults.adults, ta.m.MAX_ROOMS * ta.m.MAX_ADULTS_PER_ROOM)); rooms = updatedRoomsAndAdults.rooms; if (adults > rooms * ta.m.MAX_ADULTS_PER_ROOM) { rooms++; } else if (adults < rooms) { rooms--; } children = Math.max(0, Math.min(updatedRoomsAndAdults.children, rooms * ta.m.MAX_CHILDREN_PER_ROOM)); return { adults: adults, rooms: rooms, children: children }; } , validateRoomsUpdate: function ( updatedRoomsAndAdults) { var rooms , adults , children ; rooms = Math.max(1, Math.min(updatedRoomsAndAdults.rooms, ta.m.MAX_ROOMS)); adults = Math.max(rooms, Math.min(updatedRoomsAndAdults.adults, rooms * ta.m.MAX_ADULTS_PER_ROOM)); children = Math.max(0, Math.min(updatedRoomsAndAdults.children, rooms * ta.m.MAX_CHILDREN_PER_ROOM)); return { adults: adults, rooms: rooms, children: children }; } , validateChildrenUpdate: function ( updatedRoomsAndAdults) { var rooms , adults , children ; rooms = updatedRoomsAndAdults.rooms; adults = updatedRoomsAndAdults.adults; children = Math.max(0, Math.min(updatedRoomsAndAdults.children, Math.min(rooms * ta.m.MAX_CHILDREN_PER_ROOM, ta.m.MAX_CHILDREN))); return { adults: adults, rooms: rooms, children: children }; } , incrementAdultsLabel: function ( adultsIncrement) { var validateFunc; if (ifdefNN(ta.m.vr)) { validateFunc = ta.m.vr.validateAdultsUpdate; } else { validateFunc = ta.m.validateAdultsUpdate; } return ta.m.incrementRoomsAndGuestsLabels(adultsIncrement, 0, 0, validateFunc); } , incrementAdultsLabelMax: function ( adultsIncrement, max) { var adultsVal = parseInt($("adultsInput").value, ta.m.RADIX_DECIMAL); if(!ifdefNN(adultsVal)){ adultsVal = 0; } if ((adultsVal + adultsIncrement) > max){ adultsIncrement = max - adultsVal; } if(adultsIncrement > 0) { ta.m.incrementAdultsLabel(adultsIncrement); } } , incrementRoomsLabel: function ( roomsIncrement) { var validateFunc; if (ifdefNN(ta.m.vr)) { validateFunc = ta.m.vr.validateRoomsUpdate; } else { validateFunc = ta.m.validateRoomsUpdate; } return ta.m.incrementRoomsAndGuestsLabels(0, roomsIncrement, 0, validateFunc); } , incrementChildrenLabel: function ( childrenIncrement) { var validateFunc = ta.m.validateChildrenUpdate; return ta.m.incrementRoomsAndGuestsLabels(0, 0, childrenIncrement, validateFunc); } , incrementRoomsAndGuestsLabels: function ( adultsIncrement, roomsIncrement, childrenIncrement, validateFunc) { var adultsInput , roomsInput , childrenInput , roomsAndGuests , adultsUI , roomsUI , childrenUI , childrenInputValue ; adultsInput = $("adultsInput"); roomsInput = $("roomsInput"); childrenInput = $("childrenInput"); adultsUI = z('.adultsInputForm'); roomsUI = z('.roomsInputForm'); childrenUI = z('.childrenInputForm'); if (!ifdefNN(adultsInput) || !ifdefNN(roomsInput)) { throw "incrementRoomsAndGuestsLabels() unable to find rooms or guests input field"; } childrenInputValue = ifdefNN(childrenInput) ? parseInt(childrenInput.value, ta.m.RADIX_DECIMAL) : 0; roomsAndGuests = { adults: parseInt(adultsInput.value, ta.m.RADIX_DECIMAL), rooms: parseInt(roomsInput.value, ta.m.RADIX_DECIMAL), children: childrenInputValue }; if (isNaN(roomsAndGuests.adults) || isNaN(roomsAndGuests.rooms) || isNaN(roomsAndGuests.children)) { throw "incrementRoomsAndGuestsLabels() guests or room quantity is NaN adults:" + adultsInput.value + " children:" + roomsInput.children + " rooms:" + roomsInput.value; } roomsAndGuests.adults += adultsIncrement; roomsAndGuests.rooms += roomsIncrement; roomsAndGuests.children += childrenIncrement; roomsAndGuests = validateFunc(roomsAndGuests); if (!ifdefNN(roomsAndGuests)) { throw "incrementRoomsAndGuestsLabels() unable to update rooms or guests quantity"; } if (isNaN(roomsAndGuests.adults) || isNaN(roomsAndGuests.rooms) || isNaN(roomsAndGuests.children)) { throw "incrementRoomsAndGuestsLabels() guests or room quantity is NaN adults:" + roomsAndGuests.adults + " children:" + roomsInput.children + " rooms:" + roomsAndGuests.rooms; } adultsInput.value = roomsAndGuests.adults; roomsInput.value = roomsAndGuests.rooms; if(ifdefNN(childrenInput)) { childrenInput.value = roomsAndGuests.children; } if (!ifdefNN(adultsUI) || !ifdefNN(roomsUI)) { throw "incrementRoomsAndGuestsLabels() unable to find rooms or guests widget"; } if (ifdefNN(ta.m.vr)) { adultsUI.text(roomsAndGuests.adults + "+"); roomsUI.text(roomsAndGuests.rooms + "+"); } else { adultsUI.text(roomsAndGuests.adults); roomsUI.text(roomsAndGuests.rooms); if (ifdefNN(childrenUI)) { childrenUI.text(roomsAndGuests.children); } } if(adultsIncrement === 0 && roomsIncrement === 0 && childrenIncrement !== 0) { z(document.body).trigger('childrenChanged', roomsAndGuests); } else { z(document.body).trigger('guestsChanged', roomsAndGuests); } } , screenName: { delay: 200, timeout: undefined, cache: {}, lastNameValue: undefined, lastMsgIndex: 0, msgs: ['sn_status_checking', 'sn_status_avail', 'sn_status_unavail'], lastForm: undefined, lastError: undefined, button: undefined, activeClass: 'green', inactiveClass: 'pGreen' } , _screenNameShowMsg: function (indexOn, inLightbox) { var sn = ta.m.screenName , lastMsg , curMsg , parent = document ; if (inLightbox) { parent = $("overlay"); } if (sn.lastMsgIndex !== indexOn) { lastMsg = parent.getElementsByClassName(sn.msgs[sn.lastMsgIndex])[0]; curMsg = parent.getElementsByClassName(sn.msgs[indexOn])[0]; lastMsg.removeClass('visible'); curMsg.addClass('visible'); sn.lastMsgIndex = indexOn; } } , _screenNameHideAllMessages: function (inLightbox) { var sn = ta.m.screenName , parent = document , lastMsg ; if (inLightbox) { parent = $("overlay"); } lastMsg = parent.getElementsByClassName(sn.msgs[sn.lastMsgIndex])[0]; lastMsg.removeClass('visible'); sn.lastMsgIndex = 0; } , _screenNameShowAvailable: function (available, inLightbox) { if (available) { ta.m._screenNameShowMsg(1, inLightbox); ta.m._screenNameButtonActive(true); } else { ta.m._screenNameShowMsg(2, inLightbox); ta.m._screenNameButtonActive(false); } } , _screenNameButtonActive: function (makeActive) { var sn = ta.m.screenName , activeClass = sn.activeClass , inactiveClass = sn.inactiveClass , button = sn.button ; if (!button || (makeActive && button.hasClass(activeClass)) || (!makeActive && button.hasClass(inactiveClass))) { return; } if (makeActive) { button.removeClass(inactiveClass); button.addClass(activeClass); } else { button.removeClass(activeClass); button.addClass(inactiveClass); } } , onScreenNameKeyUp: function (elt, buttonId, inLightbox, divId) { var name = elt.value.trim() , sn = ta.m.screenName , valFromCache ; if (name === sn.lastNameValue) { return; } sn.lastNameValue = name; clearTimeout(sn.timeout); if (sn.lastError) { sn.lastError.addClass('hidden'); } if (!sn.button) { if (inLightbox) { divId = 'overlay'; sn.button = $(divId).getElementsByClassName(buttonId)[0]; } else { sn.button = $(buttonId); } if (!sn.button && divId) { sn.button = $(divId).getElementsByClassName(buttonId)[0]; } } if (name.length == 0) { ta.m._screenNameHideAllMessages(inLightbox); } else if (name.length < 3 || name.length > 20) { ta.m._screenNameShowAvailable(false, inLightbox); } else { valFromCache = sn.cache[name]; if (valFromCache) { ta.m._screenNameShowAvailable(valFromCache === 'true', inLightbox); return; } sn.timeout = setTimeout(function () { ta.m._screenNameAjaxCall(name, inLightbox); }, sn.delay); } } , _screenNameAjaxCall: function (name, inLightbox) { ta.m._screenNameShowMsg(0, inLightbox); ta.m._screenNameButtonActive(false); ta.m.makeXHRGetResponse('/ScreenNameAjax?n=' + encodeURIComponent(name), 'get', ta.m._screenNameCallback, [name, inLightbox]); } , _screenNameCallback: function (available, args) { var sn = ta.m.screenName , name = args[0] , inLightbox = args[1] ; sn.cache[name] = available; ta.m._screenNameShowAvailable(available === 'true', inLightbox); } , showScreenNameLightbox: function (elt, title) { ta.m.toggleLightBox(elt, title, "", "CREATE_NAME"); ta.m.screenName.lastForm = elt.form; return false; } , inactiveButtonCheck: function (elt) { var button = $(elt).parentNode; return button.hasClass(ta.m.screenName.activeClass); } , onScreenNameSubmit: function (elt, name, errorDiv, formToSubmit) { var sn = ta.m.screenName; sn.button = $(elt).parentNode; if (sn.button.hasClass(sn.inactiveClass)) { return false; } if (!sn.lastForm) { sn.lastForm = formToSubmit; } ta.m._screenNameButtonActive(false); if (errorDiv) { sn.lastError = $('overlay').getElementsByClassName(errorDiv)[0]; } ta.m.makeXHRGetResponse('/MobileRegistration?mreg_action=3&mreg_screenname=' + escape(name) + '&mreg_secToken=' + escape(ta.m.secureToken), 'post', ta.m._screenNameSubmitCallback, [formToSubmit]); return false; } , _screenNameSubmitCallback: function (response, args) { var sn = ta.m.screenName; if (response.indexOf('okay') >= 0 && response.length <= 10) { ta.m.closeLightBox(); if (sn.lastForm) { sn.lastForm.submit(); sn.lastForm = undefined; } } else { if (sn.lastError) { sn.lastError.innerHTML = response; sn.lastError.removeClass('hidden'); } } } , freshVSCookieCheck: function () { var freshVSTrackingCookie = ta.m.freshVSTrackingCookie , hasVSCookie , uniqueID , url ; if (ifdefNN(freshVSTrackingCookie) && freshVSTrackingCookie) { hasVSCookie = document.getCookie('v1st'); if (hasVSCookie) { uniqueID = (new Date()).getTime(); url = '/VSCookieRequest?uniqueID=' + uniqueID; ta.m.makeXHR(url, "POST", null); } } } , abbreviateString: function (str, length) { var s = str.substring(0, length); return (s == str) ? s : s + "…"; } , addCookieCheckToForm: function (elm) { var input = document.createElement('input') ; input.type = "hidden"; input.name = "mreg_hasCookies"; input.value = navigator.cookieEnabled; elm.form.appendChild(input); } , saveDeviceToken: function (token) { if (ifdefNN(token) && hasLocalStore()) { try { localStorage.removeItem('pushToken'); localStorage.setItem('pushToken', token); ta.m.injectDeviceToken(); return true; } catch (e) { ta.m.handleLocalStorageError(e); } } return false; } , injectDeviceToken: function () { var bIsMobileIPhoneAndroid = ifdefNN(ta.m.iphone) || ifdefNN(ta.m.android) , bIsTabletOnMobile = (typeof(isTATabletApp) != 'undefined' && isTATabletApp) , tokenInput , token ; if (!bIsTabletOnMobile && (!bIsMobileIPhoneAndroid || !IS_APP)) { return; } if (hasLocalStore()) { try { tokenInput = $('DEVICE_TOKEN'); if (ifdefNN(tokenInput)) { token = localStorage.getItem('pushToken'); tokenInput.value = token; if (ifdefNN(token) && token !== '') { ta.pushSent(); } } else { if (ifdefNN(ta.m.isUserLoggedIn) && ta.m.isUserLoggedIn) { ta.trySyncToken(ta.m.isUserLoggedIn, ta.m.makeXHRGetResponse, ta.m.parseJSON); } } } catch (e) { ta.m.handleLocalStorageError(e); } } } , addPidToUrl: function (url, pid) { var list; if (url != null) { list = url.split('-'); list.splice(1, 0, 'p' + pid); return list.join('-'); } } , addPidToCookie: function (pid) { if (ifdefNN(pid) && 0 !== pid.length) { document.setCookieInSeconds('NPID', pid, { path: '/', duration: (5), ignoreVersion: true }); } } , recordHelpfulVote: function (elt, url2) { var url = asdf(url2) , button ; if (ifdefNN(elt)) { elt.className = "button helpful gray"; elt.onclick = null; button = elt.getElementsByClassName("buttontext")[0]; if (ifdefNN(button)) { button.innerHTML = ta.m.oldlocalize('reviewSliderHelpful'); } } ta.m.makeXHR(url, "post", null); } , recordHelpfulVoteBauhaus: function (elt, url2) { var url = asdf(url2) , thumbIcon ; if (ifdefNN(elt)) { elt.onclick = null; thumbIcon = elt.getElementsByClassName("bauhaus"); if (ifdefNN(thumbIcon) && ifdefNN(thumbIcon[0])) { thumbIcon[0].className = "svgico bauhaus thumbs_up green"; } } ta.m.makeXHR(url, "post", null); } , turnReportGray: function ( id) { var elt = $('report_' + id) , button ; ta.m.eventRecordPid("34304"); if (ifdefNN(elt)) { elt.className = "button report gray"; elt.onclick = null; button = elt.getElementsByClassName("buttontext")[0]; if (ifdefNN(button)) { button.innerHTML = ta.m.oldlocalize('SO_recat_thankYou_e1f'); } } } , clearFormLatLng: function () { var f = document.forms['locationForm'] , submitBtn = document.getElementsByName("locationSubmit")[0] , el ; if (ifdefNN(f)) { el = f.elements['latitude']; if (ifdefNN(el)) { el.value = ""; } el = f.elements['longitude']; if (ifdefNN(el)) { el.value = ""; } } if (submitBtn) { $(submitBtn.parentNode).removeClass('gray'); } } , updateSortValue: function (newValue) { var sortOrder = $('SORT_INPUT') , unavailInput = $('UNAVAIL_INPUT') ; if (!ifdefNN(newValue) || !ifdefNN(sortOrder)) { return; } sortOrder.value = newValue; ta.m.updateSortButtons(newValue); } , handleFriendsFirstSortCheckBox: function () { var sortOrder = $('SORT_INPUT') , firstButton = $('segCtrl1') ; if (!ifdefNN(sortOrder) || !ifdefNN(firstButton)) { return; } if (sortOrder.value === 'friends' || sortOrder.value === '') { ta.m.updateSortValue(ifdefNN(ta.savedNonFriendSort) ? ta.savedNonFriendSort : firstButton.getAttribute('data-sort-val')); } else { ta.savedNonFriendSort = sortOrder.value; ta.m.updateSortValue('friends'); } } , updateSortButtons: function (newValue) { var group = $('sortCtrlOptions') , buttons , button , check , locationForm = $('locationForm') , fbSortButtons , fbSortButton , i ; if (!ifdefNN(group)) { return; } buttons = group.getElementsByClassName('button'); for (i = 0; i < buttons.length; i++) { button = buttons[i]; check = button.getElementsByClassName('checkMark')[0]; if (button.getAttribute('data-sort-val') === newValue) { button.removeClass('faded'); if (ifdefNN(check)) { check.removeClass('hidden'); } } else { button.addClass('faded'); if (ifdefNN(check)) { check.addClass('hidden'); } } } if (locationForm) { fbSortButtons = locationForm.getElementsByClassName('fbButton'); if (fbSortButtons && fbSortButtons.length > 0) { fbSortButton = fbSortButtons[0]; if (fbSortButton) { if (newValue === 'friends') { fbSortButton.removeClass('faded'); } else { fbSortButton.addClass('faded'); } } } } } , toggleShowUnavailable: function () { var unavailInput = $('UNAVAIL_INPUT') , unavailButton = $('unavailCtrl') , group = $('sortCtrlOptions') , check ; if (!ifdefNN(unavailInput) || !ifdefNN(unavailButton) || !ifdefNN(group)) { return; } check = unavailButton.getElementsByClassName('checkMark')[0]; if (unavailInput.value === 'true') { unavailInput.value = 'false'; unavailButton.removeClass('faded'); ta.m.eventRecordPid('36680'); if (ifdefNN(check)) { check.removeClass('hidden'); } } else { ta.m.eventRecordPid('36681'); unavailInput.value = 'true'; unavailButton.addClass('faded'); if (ifdefNN(check)) { check.addClass('hidden'); } } } , colorButtons: function (elmt) { var hasChange = false , buttons = elmt.parentNode.getElementsByClassName('button') , button , checkImgs , checkImg , isSet , radios , className ; for (var i = buttons.length; --i >= 0;) { button = buttons[i]; checkImgs = button.getElementsByClassName('svgico'); checkImg; if (checkImgs) { checkImg = checkImgs[0]; } isSet = false; radios = button.getElementsByTagName('input'); if (ifdefNN(radios) && radios.length) { isSet = radios[0].checked; } if (isSet && button.hasClass('faded')) { className = button.className; button.className = className.replace('faded', 'checkContainer'); if (checkImg) { className = checkImg.className; checkImg.className = className.replace('hidden', 'checkMark'); } hasChange = true; } else if (!isSet && !button.hasClass('faded')) { className = button.className; button.className = className.replace('checkContainer', 'faded'); if (checkImg) { className = checkImg.className; checkImg.className = className.replace('checkMark', 'hidden'); } hasChange = true; } } return hasChange; } , scrollTo: function (element) { if (!(ifdefNN(ta.m.iphone) && ta.m.iphone.noScroll())) { setTimeout(window.scrollTo, 50, 0, element.offsetTop); } } , showMapDisclaimer: function (locationName, encodedLocation, destLatLong) { var mapLink , mapBody , mapBase , address = $('ADDRESS'); $('MAPS_DSC').block(); mapBody = $('MAP_BODY'); if (mapBody) { mapBody.hide(); } if (locationName) { address.innerHTML = locationName; } else { address.innerHTML = destLatLong; } if (ifdefNN(ta.m.iphone) && ta.m.iphone.iOSVersion() >= 6) { mapBase = 'http://maps.apple.com'; } else { mapBase = ta.m.isDaoDao ? 'https://ditu.google.cn' : 'https://maps.google.com'; } mapLink = mapBase + '/maps?saddr=&daddr='; if (encodedLocation) { mapLink += encodedLocation; if (destLatLong) { mapLink += '@' + destLatLong; } } else { mapLink += destLatLong; } $('CONFIRM').onclick = function () { ta.m.eventRecord(null, null, 25166, function () { window.location = mapLink; }); return false; }; } , saveCurrency: function ( elem, pid) { if (ifdefNN(elem)) { ta.m.addPidToCookie(pid); window.location.replace("/MobileNativeSettings?currency=" + elem.value); } } , initAutosave: function (pagetype) { ta.m.autosave.init(pagetype); } , toggleSave: function (isSaved, id, geoId, pid) { return ta.m.oldsaves.toggleSave(isSaved, id, geoId, pid); } , checkMySaves: function () { return ta.m.oldsaves.checkMySaves(); } , clearAutosave: function (pagetype) { ta.m.autosave.clearAutosave(pagetype); } , forumDetectClear: function (pagetype) { return ta.m.autosave.forumDetectClear(pagetype); } , toggleRefresh: function () { var newUrl , unavailableInputDiv = $('UNAVAIL_INPUT') , unavailableInputValue = false ; if (unavailableInputDiv) { unavailableInputValue = unavailableInputDiv.value; } newUrl = ta.m.updateUrl(location.href, 'a_showUnavail.', unavailableInputValue); newUrl = ta.m.updateUrl(newUrl, 'zfp', 'zfp'); newUrl = ta.m.updateUrl(newUrl, 'zfn', 'zfn'); newUrl = ta.m.updateUrl(newUrl, 'a_distance.', 'distance'); newUrl = ta.m.updateUrl(newUrl, 'zfc', 'zfc'); newUrl = ta.m.updateUrl(newUrl, 'zfa', 'zfa'); newUrl = ta.m.updateUrl(newUrl, 'a_prng.', 'prng'); ta.m.makeXHRGetResponse(newUrl, 'GET', ta.m.populate); } , updateUrl: function (oldUrl, filter, filterVal) { var filterValStr , filterValStored , selected ; if (filter === 'a_showUnavail.') { filterValStored = filterVal; } else { filterValStored = window[filterVal + 'Selected']; } if (filterValStored || filterValStored === 0) { if (filter !== 'a_showUnavail.') { selected = document.getElementsByName(filterVal)[0].value; if (selected.length > 0) { filterValStored = selected; window[filterVal + 'Selected'] = selected; } } filterValStr = filter + filterValStored; oldUrl = oldUrl.replace(new RegExp(filter + '[^-]+', 'g'), filterValStr); if (!oldUrl.contains(filterValStr)) { oldUrl = oldUrl.replace('MobileFilters', 'MobileFilters-' + filterValStr); } } return oldUrl; } , populate: function (responseText) { var jsonResponse , jsonCounts , jsonLabels , jsonSelected , jsonFilterHeader , jsonFilteredCount , jsonTotalCount , selects = document.getElementsByTagName('select') , filterHeader = $('filterHeader') , filteredCount = $('filteredCount') , totalCount = $('totalCount') , i , options , optionValues , j , optionValue , optionText , newCount , optionDisabled , optionSelected , selectedOption , newOption , maximumFilters ; jsonResponse = JSON.parse(responseText); jsonCounts = jsonResponse['count']; jsonLabels = jsonResponse['labels']; jsonSelected = jsonResponse['selected']; jsonFilterHeader = jsonResponse['filterHeader']; jsonFilteredCount = jsonResponse['filteredCount']; jsonTotalCount = jsonResponse['totalCount']; if (ifdefNN(filterHeader)) { filterHeader.innerHTML = jsonFilterHeader; } if (ifdefNN(filteredCount)) { filteredCount.value = jsonFilteredCount; } if (ifdefNN(totalCount)) { totalCount.value = jsonTotalCount; } if (!jsonLabels || !jsonSelected || !jsonCounts) { return; } maximumFilters = Math.max(jsonLabels.length, jsonSelected.length, jsonCounts.length); for (i = 0; i < selects.length; i++) { if (i >= maximumFilters) { break; } options = selects[i].options; while (ifdefNN(options) && options.length > 0) { selects[i].removeChild(options[0]); } optionValues = jsonLabels[i]; selectedOption = jsonSelected[i]['0']; for (j in optionValues) { optionValue = j; optionText = optionValues[j]; newCount = jsonCounts[i][optionValue]; optionText = newCount === '0' ? optionText : optionText + ' (' + newCount + ')'; optionSelected = (selectedOption === optionValue); optionDisabled = !(parseInt(newCount, 10) > 0); newOption = new Option(optionText, optionValue, false, optionSelected); if (i !== 1) { newOption.disabled = optionDisabled; } options.add(newOption); } } } , temporarilyDisableInterrupter: function ( days) { document.setCookieInSeconds("interstitialCounter", "-1", {duration: days * 24 * 60 * 60, path: "/"}); } , showInterrupter: function ( gaTrackingLabel, isHardGated) { var wrapper = document.getElementById('interrupterWrapper') ; try { window.scrollTo(0, 1); if (wrapper) { wrapper.style.display = 'inherit'; if (gaTrackingLabel) { ta.m.interrupter.setUpForTracking(gaTrackingLabel, isHardGated); ta.m.interrupter.gaTrackInterrupterShown(gaTrackingLabel); } ta.m.interrupter.replaceElemBgForInterrupter(); } } catch (e) { } } , replaceElementBackgroundWithDataPhotoUrl: function (element) { var photoUrl ; if (ifdefNN(element)) { photoUrl = element.getAttribute("data-photo-url"); if (ifdefNN(photoUrl)) { element.style.backgroundImage = "url('" + photoUrl + "')"; } } } , tryShowingHybridUpgradeInterrupter: function (pid) { var pageContents = document.getElementById('PAGE_CONTAINER') , upgradeWrapper = document.getElementById('hybridUpgradeWrapper') , phoneElement = document.getElementById('hybridPhone'); try { window.scrollTo(0, 1); ta.m.eventRecordPid(pid); if (ifdefNN(pageContents)) { pageContents.style.display = "none"; } if (ifdefNN(upgradeWrapper)) { upgradeWrapper.style.display = "inherit"; ta.m.replaceElementBackgroundWithDataPhotoUrl(upgradeWrapper); if (ifdefNN(phoneElement)) { ta.m.replaceElementBackgroundWithDataPhotoUrl(phoneElement); } } } catch (e) { throw(e); } } , closeInterrupter: function ( interrupterWrapperId) { var interrupter = document.getElementById(interrupterWrapperId) ; if (interrupter) { interrupter.style.display = 'none'; } if (ifdefNN(ta.m.Carousel)) { ta.m.Carousel.redraw(); } } , submitForumPostForm: function (elem) { if (!elem) { return; } if (elem && elem.parentNode) { elem.parentNode.addClass('gray'); } elem.setAttribute('disabled', true); if (elem.form) { elem.form.submit(); } } , displayElemById: function (id) { var item = $(id); if (!item) { return; } item.block(); } , verifyCookies: function (currentValue) { var storedValue , storedValueName = "STASHED" , pidCorrect = 37385 , pidLost = 37386 , pidMissing = 37387 , pidCleared = 37388 , pidMismatch = 37389 ; if (!ta.m.supportsHtml5Storage() || !ta.m.allowsCookies()) { return; } try { storedValue = localStorage[storedValueName]; if (!storedValue) { ta.m.onFirstPageView(pidCorrect, pidLost); } else if (storedValue === currentValue) { ta.m.eventRecord(null, ta.m.servletName, pidCorrect, null); } else if (!currentValue) { ta.m.eventRecord(null, ta.m.servletName, pidMissing, null); } else { ta.m.onFirstPageView(pidCleared, pidMismatch); } localStorage[storedValueName] = currentValue; } catch (e) { } } , onFirstPageView: function (firstPageViewPid, subsequentPageViewPid) { var interstitialCookieName = "interstitialCounter" , interstitialValue ; interstitialValue = parseInt(document.getCookie(interstitialCookieName), 10); if (!ifdefNN(interstitialValue) || isNaN(interstitialValue)) { ta.m.eventRecord(null, ta.m.servletName, firstPageViewPid, null); } else { ta.m.eventRecord(null, ta.m.servletName, subsequentPageViewPid, null); } } , supportsHtml5Storage: function () { try { return 'localStorage' in window && window['localStorage'] !== null; } catch (e) { return false; } } , fillBookingOfferPUID: function () { var puidElems = [] , puidElemsLen , i ; if (!ifdefNN(ta.uid)) { return; } if (typeof document.getElementsByClassName === 'function') { puidElems = document.getElementsByClassName('abFormPUID'); } puidElemsLen = puidElems.length; for (i = 0; i < puidElemsLen; i++) { puidElems[i].setAttribute("value", ta.uid); } } , clearAbandonedCartCookie: function() { document.cookie = "TAAbandonedCart=;path=/;max-age=0;expires=Thu, 01 Jan 1970 00:00:00 GMT;domain=" + ta.m.cookieDomain(); } , clearAbandonedCartCookieAndCloseOverlay: function ( idOfElementToShow) { var cart = $('abandonedCart') , hiddenContent = ifdefNN(idOfElementToShow) && typeof idOfElementToShow === "string" ? $(idOfElementToShow) : null ; if (ifdefNN(cart)) { cart.addClass("hidden"); } if (ifdefNN(hiddenContent)) { hiddenContent.removeClass("hidden"); } ta.m.clearAbandonedCartCookie(); if (ifdef(ta.m.Carousel)) { ta.m.Carousel.redraw(); } } , checkIfUserReturnedFromMeta: function() { var timeReturned , timeLeft , providerName , slot , servlet ; if (ta.util.localstorage.canUseSessionStore()) { timeReturned = new Date().getTime(); timeLeft = sessionStorage.browsedToMetaTime; providerName = sessionStorage.browseToMetaProvider; slot = sessionStorage.browsedToMetaSlot; servlet = sessionStorage.browsedToMetaServlet; if (timeLeft && (timeReturned - timeLeft <= TEN_MINUTES)) { ta.trackEventOnPage('COMMERCE_CLICK', 'Meta_Bounce', servlet + "|" + slot + "|" + providerName, (timeReturned - timeLeft)); } sessionStorage.browsedToMetaTime = null; sessionStorage.browseToMetaProvider = null; sessionStorage.browsedToMetaSlot = null; sessionStorage.browsedToMetaServlet = null; } } , recordScreenSize: function(action) { var screenSize = (function () { var e = document.documentElement , landscape = window.orientation && (window.orientation == 90 || window.orientation == -90) , g = document.body , wx = window.innerWidth || e.clientWidth || g.clientWidth , wy = window.innerHeight || e.clientHeight || g.clientHeight , sx = screen.width , sy = screen.height; return landscape ? 's' + sy + 'x' + sx + 'b' + wy + 'x' + wx : 's' + sx + 'x' + sy + 'b' + wx + 'x' + wy; })() ; if (ta.util.localstorage.canUseSessionStore() && sessionStorage && !sessionStorage.recordedScreenSize) { ta.trackEventOnPage('screenSizeRecord', action, screenSize); sessionStorage.recordedScreenSize = 1; } } , trackScrollingInHotelsPages: function(scrollingPositions) { if (_scrollingPositions) { return; } _scrollingPositions = scrollingPositions; var scrollFunction = _.throttle(function() { if (_scrollingPositions.length === 0) { window.removeEventListener('scroll', scrollFunction, false); } else if (_scrollingPositions.length > 0 && _scrollingPositions[0].position <= z(window).scrollTop() + z(window).height()) { var trackingName = _scrollingPositions[0].name; if(trackingName === "xsell") { ta.trackEventOnPage('xsell_hr_belowqa_similar', 'in_view', null, null, true); } else { ta.trackEventOnPage('MobileHotel_Review', 'scroll', trackingName, 0, true); } _scrollingPositions.shift(); } }, 250); window.addEventListener('scroll', scrollFunction, false); } , trackHotelsInGeo: function() { if (require.defined('page-model')) { var pageModel = require('page-model'); ta.trackEventOnPage("geo_size", "geo_size", pageModel.GEO_ID, pageModel.hotelsInGeo, true); } } , trackScrollingInHotelReview: function() { var trackingNames = {"#PAGE" : "hotel_info", "#rd_reviews_section_start" : "reviews", "#answersModule" : "q&a", ".bauhaus_room_tips" : "room_tips", ".also_viewed_module" : "xsell", "#nd_nearby_section_start" : "nearby_places"} , scrollingPositions = (function() { var positions = []; z(Object.keys(trackingNames)).each(function(index, item) { var zItem = z(item); if (zItem.length > 0 ) { positions.push({name: trackingNames[item], position: zItem.offset().top}); } }); return positions; })(); ta.m.trackScrollingInHotelsPages(scrollingPositions); } , inlineCheckRatesFormSubmit: function (errorMessage) { var checkRates = document.getElementById('checkRates') , inDayValue = parseInt(z('#outDay').val()) , outDayValue = parseInt(z('#inDay').val()) ; if (!errorMessage || (inDayValue > -1 && outDayValue > -1 && checkRates)) { document.getElementById('checkRates').submit(); } else { ta.m.alert.showDefaultAlertWithMessage(errorMessage); } } , delayNavigation: function(url, timeout, callback) { if (typeof callback === "function") { callback(); } setTimeout(function() { window.location.href = url; }, timeout); return false; } , adjustTitleFontSizeToFit: function() { var zTitle = z(".hero_image_title") , targetWidth = zTitle.parent().width() - 7 * 2 , targetHeight = Math.floor(zTitle.parent().height() * 0.56) , zTitleShadow , initialFontSizeString = zTitle.css("font-size") , fontSize ; if (initialFontSizeString) { fontSize = parseInt(initialFontSizeString, 10); if (fontSize) { zTitleShadow = zTitle.clone().css({ "position": "absolute", "max-width": targetWidth + "px", "z-index": -1 }).appendTo(zTitle.parent()); while (zTitleShadow.width() > targetWidth || zTitleShadow.height() > targetHeight) { fontSize--; zTitleShadow.css("font-size", fontSize + "px"); } zTitleShadow.remove(); zTitle.css("font-size", fontSize + "px"); } } } , injectAltSess: function (altsessid) { if (!$('altsess-script') && ifdefNN(ta.m.threatmetrix) && ta.m.threatmetrix !== '') { var altsessScript = document.createElement('script'); altsessScript.id ='altsess-script'; altsessScript.src = ta.m.threatmetrix; altsessScript.type = 'text/javascript'; altsessScript.onload = function(){ loadAltSess(altsessid); }; document.body.appendChild(altsessScript); } } }; nsExporter.exportTo(exports, "ta.m"); return exports; }); require(['ta/prwidgets'], function(widgets) { var define = widgets.define.bind(widgets,'mobile_hotel_address','handlers',['handlers']); define(["widget", "lib/jquery-amd", "common/trackingStreams", "mobile/Mobile", "ta/page", "ta/Core/TA.FireEvent"], function(widget, $, taRecord, mobile, taPage, taEvent) { return { trackAddressClick: function(useMapGate) { if (useMapGate) { taPage.loadDeferred().then(function() { taEvent.fireEvent("mobileInterruptableEvent", "javascript:void(0)", null, "use_native_map_adv_hard", "hard_gated"); }); return false; } else { taRecord.trackEvent(window.pageServlet, "street_address_click", "tablecell", 0, false); return true; } }, openLocalLang: function() { try { mobile.addPidToCookie(39242); } catch (e) {} widget.element.querySelector('.localLB').classList.remove('hidden'); }, closeLocalLang: function() { widget.element.querySelector('.localLB').classList.add('hidden'); } }; }); });require(['ta/prwidgets'], function(widgets) { var define = widgets.define.bind(widgets,'mobile_ride_service','handlers',['handlers']); define(["widget", "lib/jquery-amd", "ta/Core/TA.Record"], function(widget, $, taRecord) { function _handleClick(evnt, elmt, name) { taRecord.trackEventOnPage(name, name + '_clicked', 'launch' + name + 'MW'); require(["trjs!mobile/bauhaus/components/" + name.toLowerCase()], function(providerLib) { providerLib.handleClick && providerLib.handleClick(evnt); }); } // track shown modules $(".callout_container[data-provider]").each(function() { var name = $(this).attr("data-provider"); taRecord.trackEventOnPage(name, name + '_shown', '', 0, true); }); return { handleClick: _handleClick }; }); });require(['ta/p13n/placements'], function(placements) { var define = placements.define.bind(placements,'global_nav_geopill','handlers',['deferred/GeoSearch','handlers']); // this file MUST exist in order for the placements system to be able to load // the deferred file. If this file is removed the placement will fail to // initialize. define([], function(){}); });require(['ta/p13n/placements'], function(placements) { var define = placements.define.bind(placements,'masthead_search','handlers',['deferred/lateHandlers','handlers']); /* jshint newcap:false */ /** * Private javascript for masthead_search placement */ define(["placement", "ta/Core/TA.Store"], function (placement, taStore) { function prepareTypeaheadParameters() { if (placement.params && 'typeahead_to_store' in placement.params) { var propertiesToStore = placement.params.typeahead_to_store; if (propertiesToStore) { for (var property in propertiesToStore) { if (propertiesToStore.hasOwnProperty(property)) { taStore.store(property, propertiesToStore[property]); } } } } } prepareTypeaheadParameters(); var options = taStore.retrieve("typeahead_dual_search_options"); if (document.activeElement === document.getElementById("GEO_SCOPED_SEARCH_INPUT")) { placement.require(["trjs!deferred/lateHandlers"], function (lh) { lh.whereFocused({type: "dummy"}, document.activeElement); }); } else if (document.activeElement === document.getElementById("mainSearch")) { placement.require(["trjs!deferred/lateHandlers"], function (lh) { lh.whatFocused({type: "dummy"}, document.activeElement); }); } return { getOptions: function () { return options; } }; }); });if (require) {require(['ta/rollupAmdShim'], function(rollupAmdShim) { rollupAmdShim.install([], ["ta/util/RecordInterruption"]); }); } else {if (window.ta&&ta.rollupAmdShim) {ta.rollupAmdShim.install([],["ta/util/RecordInterruption"]);} }require(['ta/p13n/placements'], function(placements) { var define = placements.define.bind(placements,'qualtrics_survey','handlers',['handlers']); /** * Private javascript for qualtrics survey placement * We want to show on the 2nd pageview, no more than once every 30 days * The div id is generated from the qualtrics site-intercept code. * The placement render will decide which survey to displace. */ define(["placement", "lib/jquery-amd", "ta", 'ta/Core/TA.LocalStorage', 'ta/Core/TA.Event', 'page-model', 'ta/util/RecordInterruption', 'ta/support/Qualtrics'], function (placement, $, ta, taLocalStore, taEvent, model, recordInterruption, taQualtrics) { "use strict"; var placementEl = $('#' + placement.id); var _seenTimeout = 30 * 24 * 60 * 60 * 1000; // 30 days in ms function updatePageViews(){ if (taLocalStore && taLocalStore.enabled) { var previousSessionId = taLocalStore.get('qualtrics-session-id'); var currentSessionId = model.session.sessionId; if (previousSessionId && previousSessionId == currentSessionId) { var views = Number(taLocalStore.get('qualtrics-page-views')) + 1; taLocalStore.set('qualtrics-page-views', views); } else { taLocalStore.set('qualtrics-session-id', currentSessionId); taLocalStore.set('qualtrics-page-views', 1); } } } function beenSeen() { if (taLocalStore && taLocalStore.enabled) { var ts = parseFloat(taLocalStore.get('qualtrics-last-seen')); var lastDisplayTime = isNaN(ts) ? 0 : ts; var nextDisplayTime = (lastDisplayTime < 0) ? 0 : (lastDisplayTime + _seenTimeout); return Date.now() < nextDisplayTime; } else { // no localstorage to track display return true; } } function setSeen(seen) { // set/clear the value localStorage (if available) if (taLocalStore && taLocalStore.enabled) { if (seen) { taLocalStore.set('qualtrics-last-seen', Date.now()); } else { taLocalStore.remove('qualtrics-last-seen'); } } } /* only shows at 2nd pageview of a session*/ updatePageViews(); if(taLocalStore.enabled) { var views = Number(taLocalStore.get('qualtrics-page-views')); if (views == 2 && !beenSeen()) { var surveyKey = placementEl.find(".survey_plc_holder").attr('id'); var surveyName = placementEl.find(".survey_name").attr('id'); if (surveyKey) { taQualtrics.displaySurvey(surveyKey); recordInterruption.record('popup', 'Qualtrics_Survey' + '|' + window.pageServlet + '|' + surveyName); setSeen(true); } } } return { }; }); });require(['ta/p13n/placements'], function(placements) { var define = placements.define.bind(placements,'unsupported_browser_messaging','handlers',['handlers']); define(['placement', 'ta/util/ASDF'], function(placement, asdf) { function _openUrl(url) { asdf.asdfPopup(url); } return { openUrl: _openUrl }; });});require(['ta/p13n/placements'], function(placements) { var define = placements.define.bind(placements,'vr_srp_listings','handlers',['handlers']); define(['placement', 'lib/jquery-amd', 'utils/ajax', 'ta/util/Error', 'utils/localstorage' ], function (placement, $, ajax, taError, localStorage ) { var ABANDONED_CART_INFO = "abandonedCart"; var _placement = $('#' + placement.id); var addAbandonedCartCell = function () { var abandonedCart = localStorage.get(ABANDONED_CART_INFO); if (abandonedCart) { ajax({ url: '/MetaPlacementAjax', data: { /* MetaPlacementAjax parameters */ placementName: 'vr_abandoned_cart_cell', skipLocation: true, assets: false, packagePrivateAssets: true, wrap: true, /* AbandonedCartCellRenderer parameters */ metaReferer: "SRP", geo: placement.location_id, // UrlArg.LOCATION_ID locationId: abandonedCart.locationId, // UrlArg.LOCATIONID checkIn: abandonedCart.checkIn, // UrlArg.CHECK_IN checkOut: abandonedCart.checkOut, // UrlArg.CHECK_OUT inquiryAdults: abandonedCart.inquiryAdults, // VacationRentalsAjax.PARAM_ADULTS numOfKids: abandonedCart.numOfKids // VRDetailUtil.PARAM_N_KIDS }, type: 'POST', evalScripts: false, success: function (data) { if (data.indexOf("vr_listing") < 0) { return; } var duplicateListing = $("#vrListing_" + abandonedCart.locationId); if (duplicateListing) { duplicateListing.closest(".vr_listing").remove(); } _placement.find(".vr_listing:eq(1)").after(data); }, error: function(e) { taError.record(e, 'Failed to retrieve abandoned cart cell'); } }); } }; addAbandonedCartCell(); return { }; });});require(['ta/p13n/placements'], function(placements) { var define = placements.define.bind(placements,'global_nav_action_cart','handlers',['handlers']); /* jshint newcap:false */ define([ 'placement', 'lib/jquery-amd' ], function( placement, $ ) { 'use strict'; var placementEl = $('#' + placement.id); // Tracking: Shopping Cart Link placementEl.on('click', 'a.shopping-cart-link', function() { var trackingLabel = $(this).data('tracking-label'); require(['trjs!ta/Core/TA.Record'], function(taRecord) { taRecord.trackEventOnPage('TopNav_' + window.pageServlet, 'click', trackingLabel); }); }); }); });require(['ta/p13n/placements'], function(placements) { var define = placements.define.bind(placements,'comscore','handlers',['handlers']); /* globals COMSCORE */ define([ 'placement', 'ta/Core/TA.Event', 'vanillajs' ], function( placement, TAEvent ){ 'use strict'; TAEvent.queueForLoad(function(){ var _root = document.getElementById(placement.id) , _dataHolder = _root.querySelector('.dataHolder') , commscoreId = _dataHolder.getAttribute('data-id') , beacon = { c1: '2', c2: commscoreId, c3: '', c4: '' } ; if (typeof COMSCORE != 'undefined'){ COMSCORE.beacon(beacon); } else { window._comscore = window._comscore || []; window._comscore.push(beacon); var s = document.createElement('script'); s.async = true; s.src = (document.location.protocol == 'https:' ? 'https://sb' : 'http://b') + '.scorecardresearch.com/beacon.js'; _root.appendChild(s); } }, 5, 'comscore'); // prioritized before default things (100+), and after 'really important' things, which seem to be meta things. Before GA, which is 10. }); });require(['ta/p13n/placements'], function(placements) { var define = placements.define.bind(placements,'browser_mode_tracking','handlers',['handlers']); define([ 'placement', 'ta/Core/TA.Event', 'ta/Browser', 'ta/Core/TA.Record', 'ta/util/SessionStorage' ], function(placement, taEvent, taBrowser, taRecord, taSessionStorage){ var browserName; var sessionStoreKey = placement.id + '_browser_mode_tracked'; function _trackBrowserMode (resultStr) { taRecord.trackEventOnPage('BROWSER_TRACKING', browserName, resultStr, null, true); } taEvent.queueForLoad(function(){ if (taSessionStorage.canUseSessionStore() && sessionStorage.getItem(sessionStoreKey)) { // already tracked return; } else { if (taBrowser.isChrome()) { browserName = "Chrome"; taBrowser.isChromeIncognito(_trackBrowserMode); taSessionStorage.canUseSessionStore() && sessionStorage.setItem(sessionStoreKey, '1'); } } }); });});require(['ta/p13n/placements'], function(placements) { var define = placements.define.bind(placements,'trip_planner_breadcrumbs','handlers',['handlers']); define(["placement", "ta/Core/TA.FireEvent"], function(placement, taEvent) { "use strict"; function updateContents(contentDiv) { var placementDiv = document.getElementById(placement.id); if(placementDiv) { placementDiv.innerHTML = contentDiv.innerHTML; } } taEvent.on("update-" + placement.name, updateContents); return { }; });});require(['commerce/impression-tracker'],function(impressionTracker){ impressionTracker.onTrackingTreeElement(document.getElementById('octtp_hr_xsell_above_overview')); impressionTracker.onTrackingTreeElement(document.getElementById('octtp_hr_xsell_below_overview')); impressionTracker.onTrackingTreeElement(document.getElementById('octtp_location_nearby_hotels')); impressionTracker.onTrackingTreeElement(document.getElementById('octtp_hr_xsell_below_review')); }); require(['ta/p13n/placements','ta/page','$prp/unsupported_browser_messaging/handlers'], function(placements, impl) { window.ta.plc_unsupported_browser_messaging_0_handlers = placements.load('unsupported_browser_messaging','handlers.js', { 'name': 'unsupported_browser_messaging', 'occurrence': 0, 'id': 'taplc_unsupported_browser_messaging_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/global_nav/handlers'], function(placements, impl) { window.ta.plc_global_nav_0_handlers = placements.load('global_nav','handlers.js', { 'name': 'global_nav', 'occurrence': 0, 'id': 'taplc_global_nav_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["deferred/lateHandlers","handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/global_nav_action_cart/handlers'], function(placements, impl) { window.ta.plc_global_nav_action_cart_0_handlers = placements.load('global_nav_action_cart','handlers.js', { 'name': 'global_nav_action_cart', 'occurrence': 0, 'id': 'taplc_global_nav_action_cart_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/global_nav_action_trips/handlers'], function(placements, impl) { window.ta.plc_global_nav_action_trips_0_handlers = placements.load('global_nav_action_trips','handlers.js', { 'name': 'global_nav_action_trips', 'occurrence': 0, 'id': 'taplc_global_nav_action_trips_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/global_nav_action_profile/handlers'], function(placements, impl) { window.ta.plc_global_nav_action_profile_0_handlers = placements.load('global_nav_action_profile','handlers.js', { 'name': 'global_nav_action_profile', 'occurrence': 0, 'id': 'taplc_global_nav_action_profile_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/masthead_search/handlers'], function(placements, impl) { window.ta.plc_masthead_search_0_handlers = placements.load('masthead_search','handlers.js', { 'name': 'masthead_search', 'occurrence': 0, 'id': 'taplc_masthead_search_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["deferred/lateHandlers","handlers"], 'params': {"typeahead_to_store":{"typeahead_new_location_label":"NEW LOCATION","typeahead_divClasses":null,"typeahead.aliases.travel_forums":["forum","forums","Travel Forum","Travel Forums"],"typeahead.aliases.travel_guides":["guides","city guides"],"typeahead.aliases.flight_reviews":["flight reviews","airline reviews"],"typeahead.aliases.vacation_rentals":["holiday rentals","holiday rental","Airbnb","Holiday rental","Holiday rentals"],"typeahead_throttle_requests":"true","typeahead.aliases.flights":["Flights","Flight","Flight to","flights to","nonstop flights","business class flights","return flights","airline flights","air flights","cheap flights","flight from","cheapest flights","flight only","one way flights","direct flights","domestic flights","air fare","cheap flights to","air flights to","airline flights to","business class flights to","cheapest flights to","direct flights to","domestic flights to","nonstop flights to","one way flights to","air fares","airfare","airfares","air fare to","air fares to","airfare to","airfares to"],"typeahead_moved_label":"MOVED","typeahead_dual_search_options":{"geoID":580113,"bypassSearch":true,"staticTypeAheadOptions":{"minChars":3,"defaultValue":"Search","injectNewLocation":true,"typeahead1_5":true,"geoBoostFix":true},"debug":false,"navSearchTypeAheadEnabled":true,"isMobileWeb":false,"geoInfo":{"geoId":580113,"geoName":"Granada","parentName":"Nicaragua","shortParentName":"Nicaragua","categories":{"GEO":{"url":"/Tourism-g580113-Granada_Granada_Department-Vacations.html"},"HOTEL":{"url":"/Hotels-g580113-Granada_Granada_Department-Hotels.html"},"VACATION_RENTAL":{"url":"/VacationRentals-g580113-Reviews-Granada_Granada_Department-Vacation_Rentals.html"},"ATTRACTION":{"url":"/Attractions-g580113-Activities-Granada_Granada_Department.html"},"EATERY":{"url":"/Restaurants-g580113-Granada_Granada_Department.html"},"FLIGHTS_TO":{"url":"/Flights-g580113-Granada_Granada_Department-Cheap_Discount_Airfares.html"}}}},"typeahead_closed_label":"CLOSED","typeahead.scoped.all_of_trip":"Worldwide","typeahead_attraction_activity_search":"true","typeahead.aliases.hotels":["hotels","hotel","lodging","places to stay","where to stay","accommodation","accommodations","hotel reviews","Hotels & Motels","Best Hotels","Best Places to Stay","Best Lodging","Best Hotels & Motels","Lodgings","Place to stay","Top Hotels","Top Places to Stay","Top Lodging","Top Hotels & Motels","Top 10 Hotels","Top 10 Places to Stay","Top 10 Lodging","Top 10 Hotels & Motels"],"typeahead.aliases.things_to_do":["Things to do","Thing to do","attractions","activities","what to do","sightseeing","Sights","Tourist Attractions","Activity","Attraction","What to see","Where to go","Where to visit","Best Attractions","Best Things to do","Best Tourist Attractions","Best Sightseeing","Top Attractions","Top Things to do","Top Tourist Attractions","Top Sightseeing","Top 10 Attractions","Top 10 Things to do","Top 10 Tourist Attractions","Top 10 Sightseeing"],"typeahead.aliases.restaurants":["food","places to eat","eateries","dining","restaurants","restaurant","Place to eat","Eatery","Where to eat","What to eat","Best Restaurants","Best Places to Eat","Best Food","Best Dining","Top Restaurants","Top Places to Eat","Top Food","Top Dining","Top 10 Restaurants","Top 10 Places To Eat","Top 10 Food","Top 10 Dining"],"typeahead.searchMore.v2":"Search for \"%\"","typeahead.searchSessionId":"6DE82CDD01F57395D9BCE20E61F9E45E1511438270503ssid"}}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/global_nav_links/handlers'], function(placements, impl) { window.ta.plc_global_nav_links_0_handlers = placements.load('global_nav_links','handlers.js', { 'name': 'global_nav_links', 'occurrence': 0, 'id': 'taplc_global_nav_links_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/global_nav_geopill/handlers'], function(placements, impl) { window.ta.plc_global_nav_geopill_0_handlers = placements.load('global_nav_geopill','handlers.js', { 'name': 'global_nav_geopill', 'occurrence': 0, 'id': 'taplc_global_nav_geopill_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["deferred/GeoSearch","handlers"], 'params': {"searchSessionId":"6DE82CDD01F57395D9BCE20E61F9E45E1511438270583ssid"}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/trip_planner_breadcrumbs/handlers'], function(placements, impl) { window.ta.plc_trip_planner_breadcrumbs_0_handlers = placements.load('trip_planner_breadcrumbs','handlers.js', { 'name': 'trip_planner_breadcrumbs', 'occurrence': 0, 'id': 'taplc_trip_planner_breadcrumbs_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/location_detail_header/handlers'], function(placements, impl) { window.ta.plc_location_detail_header_hotels_0_handlers = placements.load('location_detail_header','handlers.js', { 'name': 'location_detail_header:hotels', 'occurrence': 0, 'id': 'taplc_location_detail_header_hotels_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {"featAnimPortalUrl":"https://www.tripadvisor.com/blog/animal-welfare-education-portal/","isHotelReview":true,"animTrackingPageProperty":"Attractions","animTrackingPageActionPrefix":"Hotel_ReviewRedesign","animalAttraction":false}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/saves_cta_highlights/handlers'], function(placements, impl) { window.ta.plc_saves_cta_highlights_0_handlers = placements.load('saves_cta_highlights','handlers.js', { 'name': 'saves_cta_highlights', 'occurrence': 0, 'id': 'taplc_saves_cta_highlights_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hsx_special_messaging/handlers'], function(placements, impl) { window.ta.plc_hsx_special_messaging_HotelReview_0_handlers = placements.load('hsx_special_messaging','handlers.js', { 'name': 'hsx_special_messaging:HotelReview', 'occurrence': 0, 'id': 'taplc_hsx_special_messaging_HotelReview_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_atf_north_star_traveler_info_nostalgic/handlers'], function(placements, impl) { window.ta.plc_hr_atf_north_star_traveler_info_nostalgic_0_handlers = placements.load('hr_atf_north_star_traveler_info_nostalgic','handlers.js', { 'name': 'hr_atf_north_star_traveler_info_nostalgic', 'occurrence': 0, 'id': 'taplc_hr_atf_north_star_traveler_info_nostalgic_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_north_star_v1_meta/handlers'], function(placements, impl) { window.ta.plc_hr_north_star_v1_meta_0_handlers = placements.load('hr_north_star_v1_meta','handlers.js', { 'name': 'hr_north_star_v1_meta', 'occurrence': 0, 'id': 'taplc_hr_north_star_v1_meta_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/location_persistent_tabs_header/handlers'], function(placements, impl) { window.ta.plc_location_persistent_tabs_header_0_handlers = placements.load('location_persistent_tabs_header','handlers.js', { 'name': 'location_persistent_tabs_header', 'occurrence': 0, 'id': 'taplc_location_persistent_tabs_header_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {"dealInactiveClass":"book_now","dealInactiveTab":"TABS_ROOMS","eventPrefix":"hr"}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_top_right_cta_first_chevron_hsx/handlers'], function(placements, impl) { window.ta.plc_hr_top_right_cta_first_chevron_hsx_0_handlers = placements.load('hr_top_right_cta_first_chevron_hsx','handlers.js', { 'name': 'hr_top_right_cta_first_chevron_hsx', 'occurrence': 0, 'id': 'taplc_hr_top_right_cta_first_chevron_hsx_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_btf_similar_hotels_above_overview/handlers'], function(placements, impl) { window.ta.plc_hr_btf_similar_hotels_above_overview_0_handlers = placements.load('hr_btf_similar_hotels_above_overview','handlers.js', { 'name': 'hr_btf_similar_hotels_above_overview', 'occurrence': 0, 'id': 'taplc_hr_btf_similar_hotels_above_overview_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {"trackingName":"xsell_hr_abovereviews_BV","pivotPriority":"1","crossSellPivotType":"similar_hotels","noCommerce":false,"geoId":580113,"maxRequests":12,"rmScrollHandlerBeforeCheck":true,"geoPopIndexCount":45}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hotel_detail_overview_responsive/handlers'], function(placements, impl) { window.ta.plc_hotel_detail_overview_responsive_0_handlers = placements.load('hotel_detail_overview_responsive','handlers.js', { 'name': 'hotel_detail_overview_responsive', 'occurrence': 0, 'id': 'taplc_hotel_detail_overview_responsive_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/ibex_room_details_lightbox/room_details_lightbox'], function(placements, impl) { window.ta.plc_ibex_room_details_lightbox_0_room_details_lightbox = placements.load('ibex_room_details_lightbox','room_details_lightbox.js', { 'name': 'ibex_room_details_lightbox', 'occurrence': 0, 'id': 'taplc_ibex_room_details_lightbox_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["trcss!deferred/book_now_button","trcss!deferred/book_on_header","trcss!deferred/room_details_lightbox","handlers","room_details_lightbox"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/ibex_room_details_lightbox/handlers'], function(placements, impl) { window.ta.plc_ibex_room_details_lightbox_0_handlers = placements.load('ibex_room_details_lightbox','handlers.js', { 'name': 'ibex_room_details_lightbox', 'occurrence': 0, 'id': 'taplc_ibex_room_details_lightbox_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["trcss!deferred/book_now_button","trcss!deferred/book_on_header","trcss!deferred/room_details_lightbox","handlers","room_details_lightbox"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_btf_similar_hotels_below_overview/handlers'], function(placements, impl) { window.ta.plc_hr_btf_similar_hotels_below_overview_0_handlers = placements.load('hr_btf_similar_hotels_below_overview','handlers.js', { 'name': 'hr_btf_similar_hotels_below_overview', 'occurrence': 0, 'id': 'taplc_hr_btf_similar_hotels_below_overview_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {"trackingName":"xsell_hr_abovereviews_BV","pivotPriority":"2","crossSellPivotType":"similar_hotels","noCommerce":false,"geoId":580113,"maxRequests":12,"rmScrollHandlerBeforeCheck":true,"geoPopIndexCount":45}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/tooltips'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_tooltips = placements.load('hr_inline_room_grid_hsx','tooltips.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/RateVerificationView'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_RateVerificationView = placements.load('hr_inline_room_grid_hsx','RateVerificationView.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/bookingflow'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_bookingflow = placements.load('hr_inline_room_grid_hsx','bookingflow.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/pollingparamsfactory'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_pollingparamsfactory = placements.load('hr_inline_room_grid_hsx','pollingparamsfactory.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/pollingdatautils'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_pollingdatautils = placements.load('hr_inline_room_grid_hsx','pollingdatautils.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/handlers'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_handlers = placements.load('hr_inline_room_grid_hsx','handlers.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/PollingInitiator'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_PollingInitiator = placements.load('hr_inline_room_grid_hsx','PollingInitiator.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/RateVerificationController'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_RateVerificationController = placements.load('hr_inline_room_grid_hsx','RateVerificationController.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/RoomListController'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_RoomListController = placements.load('hr_inline_room_grid_hsx','RoomListController.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/roomlistmodel'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_roomlistmodel = placements.load('hr_inline_room_grid_hsx','roomlistmodel.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/viewcontroller'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_viewcontroller = placements.load('hr_inline_room_grid_hsx','viewcontroller.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_inline_room_grid_hsx/roomlistconfig'], function(placements, impl) { window.ta.plc_hr_inline_room_grid_hsx_0_roomlistconfig = placements.load('hr_inline_room_grid_hsx','roomlistconfig.js', { 'name': 'hr_inline_room_grid_hsx', 'occurrence': 0, 'id': 'taplc_hr_inline_room_grid_hsx_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["PollingInitiator","RateVerificationController","RateVerificationView","RoomListController","bookingflow","handlers","pollingdatautils","pollingparamsfactory","roomlistconfig","roomlistmodel","tooltips","viewcontroller"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/location_detail_two_column/handlers'], function(placements, impl) { window.ta.plc_location_detail_two_column_top_hotels_0_handlers = placements.load('location_detail_two_column','handlers.js', { 'name': 'location_detail_two_column:top_hotels', 'occurrence': 0, 'id': 'taplc_location_detail_two_column_top_hotels_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/location_reviews_container/handlers'], function(placements, impl) { window.ta.plc_location_reviews_container_hotels_0_handlers = placements.load('location_reviews_container','handlers.js', { 'name': 'location_reviews_container:hotels', 'occurrence': 0, 'id': 'taplc_location_reviews_container_hotels_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/location_review_filter_controls/handlers'], function(placements, impl) { window.ta.plc_location_review_filter_controls_hotels_0_handlers = placements.load('location_review_filter_controls','handlers.js', { 'name': 'location_review_filter_controls:hotels', 'occurrence': 0, 'id': 'taplc_location_review_filter_controls_hotels_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/location_review_keyword_search/handlers'], function(placements, impl) { window.ta.plc_location_review_keyword_search_hotels_0_handlers = placements.load('location_review_keyword_search','handlers.js', { 'name': 'location_review_keyword_search:hotels', 'occurrence': 0, 'id': 'taplc_location_review_keyword_search_hotels_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/location_reviews_list/handlers'], function(placements, impl) { window.ta.plc_location_reviews_list_hotels_0_handlers = placements.load('location_reviews_list','handlers.js', { 'name': 'location_reviews_list:hotels', 'occurrence': 0, 'id': 'taplc_location_reviews_list_hotels_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/prodp13n_hr_sur_reviews_no_results/handlers'], function(placements, impl) { window.ta.plc_prodp13n_hr_sur_reviews_no_results_1_handlers = placements.load('prodp13n_hr_sur_reviews_no_results','handlers.js', { 'name': 'prodp13n_hr_sur_reviews_no_results', 'occurrence': 1, 'id': 'taplc_prodp13n_hr_sur_reviews_no_results_1', 'location_id': 1469291, 'servletName': 'Hotel_Review','servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_btf_similar_hotels/handlers'], function(placements, impl) { window.ta.plc_hr_btf_similar_hotels_0_handlers = placements.load('hr_btf_similar_hotels','handlers.js', { 'name': 'hr_btf_similar_hotels', 'occurrence': 0, 'id': 'taplc_hr_btf_similar_hotels_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["deferred/lateHandlers","handlers"], 'params': {"trackingName":"xsell_hr_belowreviews_BV","noCommerce":false,"maxRequests":12,"rmScrollHandlerBeforeCheck":true,"geoPopIndexCount":45,"geoId":580113}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_btf_north_star_about/handlers'], function(placements, impl) { window.ta.plc_hr_btf_north_star_about_0_handlers = placements.load('hr_btf_north_star_about','handlers.js', { 'name': 'hr_btf_north_star_about', 'occurrence': 0, 'id': 'taplc_hr_btf_north_star_about_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_btf_north_star_photos/handlers'], function(placements, impl) { window.ta.plc_hr_btf_north_star_photos_0_handlers = placements.load('hr_btf_north_star_photos','handlers.js', { 'name': 'hr_btf_north_star_photos', 'occurrence': 0, 'id': 'taplc_hr_btf_north_star_photos_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/location_detail_two_column/handlers'], function(placements, impl) { window.ta.plc_location_detail_two_column_bottom_hotels_0_handlers = placements.load('location_detail_two_column','handlers.js', { 'name': 'location_detail_two_column:bottom_hotels', 'occurrence': 0, 'id': 'taplc_location_detail_two_column_bottom_hotels_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/location_nearby/handlers'], function(placements, impl) { window.ta.plc_location_nearby_hotels_0_handlers = placements.load('location_nearby','handlers.js', { 'name': 'location_nearby:hotels', 'occurrence': 0, 'id': 'taplc_location_nearby_hotels_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["trcss!deferred/placement","handlers"], 'params': {"trackingName":"location_nearby:hotels_BV","noCommerce":false,"geoId":580113,"maxRequests":12,"rmScrollHandlerBeforeCheck":true,"geoPopIndexCount":45}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/location_qa/handlers'], function(placements, impl) { window.ta.plc_location_qa_hotels_0_handlers = placements.load('location_qa','handlers.js', { 'name': 'location_qa:hotels', 'occurrence': 0, 'id': 'taplc_location_qa_hotels_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_btf_north_star_room_tips/handlers'], function(placements, impl) { window.ta.plc_hr_btf_north_star_room_tips_0_handlers = placements.load('hr_btf_north_star_room_tips','handlers.js', { 'name': 'hr_btf_north_star_room_tips', 'occurrence': 0, 'id': 'taplc_hr_btf_north_star_room_tips_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/hr_btf_north_star_claim_listing/handlers'], function(placements, impl) { window.ta.plc_hr_btf_north_star_claim_listing_0_handlers = placements.load('hr_btf_north_star_claim_listing','handlers.js', { 'name': 'hr_btf_north_star_claim_listing', 'occurrence': 0, 'id': 'taplc_hr_btf_north_star_claim_listing_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/global_footer/handlers'], function(placements, impl) { window.ta.plc_global_footer_0_handlers = placements.load('global_footer','handlers.js', { 'name': 'global_footer', 'occurrence': 0, 'id': 'taplc_global_footer_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/qualtrics_survey/handlers'], function(placements, impl) { window.ta.plc_qualtrics_survey_0_handlers = placements.load('qualtrics_survey','handlers.js', { 'name': 'qualtrics_survey', 'occurrence': 0, 'id': 'taplc_qualtrics_survey_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/browser_mode_tracking/handlers'], function(placements, impl) { window.ta.plc_browser_mode_tracking_0_handlers = placements.load('browser_mode_tracking','handlers.js', { 'name': 'browser_mode_tracking', 'occurrence': 0, 'id': 'taplc_browser_mode_tracking_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/safari_private_tracking/handlers'], function(placements, impl) { window.ta.plc_safari_private_tracking_0_handlers = placements.load('safari_private_tracking','handlers.js', { 'name': 'safari_private_tracking', 'occurrence': 0, 'id': 'taplc_safari_private_tracking_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/h_hr_refresh_rates_prompt/handlers'], function(placements, impl) { window.ta.plc_h_hr_refresh_rates_prompt_tracking_0_handlers = placements.load('h_hr_refresh_rates_prompt','handlers.js', { 'name': 'h_hr_refresh_rates_prompt:tracking', 'occurrence': 0, 'id': 'taplc_h_hr_refresh_rates_prompt_tracking_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["deferred/popper","trcss!deferred/prompt","handlers"], 'params': {"tracking_only":"true"}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/h_hr_refresh_rates_prompt/handlers'], function(placements, impl) { window.ta.plc_h_hr_refresh_rates_prompt_0_handlers = placements.load('h_hr_refresh_rates_prompt','handlers.js', { 'name': 'h_hr_refresh_rates_prompt', 'occurrence': 0, 'id': 'taplc_h_hr_refresh_rates_prompt_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["deferred/popper","trcss!deferred/prompt","handlers"], 'params': {"scroll_to_top":"true"}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/enable_cpm_content/handlers'], function(placements, impl) { window.ta.plc_enable_cpm_content_0_handlers = placements.load('enable_cpm_content','handlers.js', { 'name': 'enable_cpm_content', 'occurrence': 0, 'id': 'taplc_enable_cpm_content_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/p13n/placements','ta/page','$prp/maps_meta_block/handlers'], function(placements, impl) { window.ta.plc_maps_meta_block_0_handlers = placements.load('maps_meta_block','handlers.js', { 'name': 'maps_meta_block', 'occurrence': 0, 'id': 'taplc_maps_meta_block_0', 'location_id': 1469291, 'servletClass': 'com.TripResearch.servlet.accommodation.AccommodationDetail', 'servletName': 'Hotel_Review', 'modules': ["handlers"], 'params': {}, 'data': {}});}); require(['ta/prwidgets', 'ta/page'], function(prwidgets) { prwidgets.initWidgets(document); }); /* ]]> */

type: global

value: Tripadvisor, Inc. is an American online travel company that operates a website and mobile app with user-generated content and a comparison shopping website.