Dynamic Variation:
Book
Choose Language
Search & Book
  • Hoteles

    Nordic Choice Hotels - una empresa hotelera diferente

    Trivago - comprueba precios

    Booking.com - reserva ahora

     

  • Vuelos y trenes

    Widerøe - la mayor aerolínea regional de Escandinavia

    Momondo - encuentra vuelos baratos

    NSB - Ferrocarriles Estatales de Noruega

  • Ferris y barcos

    Hurtigruten - "El viaje marino más hermoso del mundo"

  • Alquiler de coches

    AutoEurope - siempre una buena experiencia con el alquiler

     

Search
or search all of Norway
Fjord Norway Ryfylke Finnøy

Furrehytter

  • Fårasundet, Finnøy
  • 51 71 04 81
  •  /  km From You
Overview
Details

If you need to understand the word silence, please visit Furrehytter on Sjernarøy. Only an hour from Haugesund and Stavanger, is a secluded vacation paradise. They offer accommodation in spacious cottages and apartments, all with stunning views and location in proximity to the sea. In beautiful surroundings you can fish, play golf, go on a trip, plunge into the sea or just sit in the outdoor hot tub, or on the quay and dangle your feet and recharge. The restaurant and conference section of Sjernarøy Maritim offers good food and drink throughout the year and facilities for parties and company trips.

Sjernarøy Maritime have something for everyone. Indoor or outdoor hot tub, sauna, golf course, hiking trails, farm visits, geocaching, sightseeing, excellent fishing and last but not least: peace and quiet! Lower your shoulders, sit down and listen closely, do you hear? Absolute silence ... Enjoy the sound of Sjernarøy!


  • Last Updated:
  • Source: Region Stavanger

General

Accesibilidad
  • Acceso para sillas de ruedas

Actividades al aire libre

Ciclismo
  • Alquiler de bicicletas

Planifica tu viaje

Servicios
  • Ideal para familias
  • WiFi

Actividades

Parques temáticos
  • Ideal para familias
Click to activate
Finnøy, Norway
The latitude and longitude
59° 15' 39" N / 5° 48' 30" E
TripAdvisor Reviews
Traveler Reviews in partnership with
"}]},"tacatid":1,"accountudfs":[{"name":"External CustomerID","value":"838","digits":0,"fieldid":31,"typeid":8,"type":"Text","value_raw":"838","value_string":"838"},{"name":"Area code (reception)","value":"69","digits":0,"fieldid":71,"typeid":8,"type":"Text","value_raw":"69","value_string":"69"},{"name":"Classification","value":"3","digits":0,"fieldid":72,"typeid":8,"type":"Text","value_raw":"3","value_string":"3"},{"name":"Country code (reception)","value":"47","digits":0,"fieldid":75,"typeid":8,"type":"Text","value_raw":"47","value_string":"47"},{"name":"Phone number (reception)","value":"21 33 00","digits":0,"fieldid":85,"typeid":8,"type":"Text","value_raw":"21 33 00","value_string":"21 33 00"},{"name":"Zoom level","value":"13","digits":0,"fieldid":87,"typeid":8,"type":"Text","value_raw":"13","value_string":"13"}],"description":"If you need to understand the word silence, please visit Furrehytter on Sjernarøy. Only an hour from Haugesund and Stavanger, is a secluded vacation paradise. They offer accommodation in spacious cottages and apartments, all with stunning views and location in proximity to the sea. In beautiful surroundings you can fish, play golf, go on a trip, plunge into the sea or just sit in the outdoor hot tub, or on the quay and dangle your feet and recharge. The restaurant and conference section of Sjernarøy Maritim offers good food and drink throughout the year and facilities for parties and company trips.\n\nSjernarøy Maritime have something for everyone. Indoor or outdoor hot tub, sauna, golf course, hiking trails, farm visits, geocaching, sightseeing, excellent fishing and last but not least: peace and quiet! Lower your shoulders, sit down and listen closely, do you hear? Absolute silence ... Enjoy the sound of Sjernarøy!","city":"Finnøy","acctid":8284,"sortcompany":"furrehytter","typename":"International","state":"Sjernarøy","recid":48640,"weburl":"http://www.furrehytter.no","status":"Member","meetingfacility":{"additional":[{"tabshortname":"custommeetingfacilities","amenitytabid":999,"value":"0","label":"Exhibition area","shortname":"exhibitionarea_999_532","amenitygroupid":532,"digits":0,"fieldid":5380,"typeid":4,"type":"Number","value_raw":0,"value_string":"0"},{"tabshortname":"custommeetingfacilities","amenitytabid":999,"value":"0","label":"Max meeting capacity","shortname":"maxmeetingcapacity_999_532","amenitygroupid":532,"digits":0,"fieldid":5382,"typeid":4,"type":"Number","value_raw":0,"value_string":"0"},{"tabshortname":"custommeetingfacilities","amenitytabid":999,"value":"0","label":"Number of attendees","shortname":"numberofattendees_999_532","amenitygroupid":532,"digits":0,"fieldid":5383,"typeid":4,"type":"Number","value_raw":0,"value_string":"0"},{"tabshortname":"custommeetingfacilities","amenitytabid":999,"value":"0","label":"Number of beds","shortname":"numberofbeds_999_532","amenitygroupid":532,"digits":0,"fieldid":5384,"typeid":4,"type":"Number","value_raw":0,"value_string":"0"},{"tabshortname":"custommeetingfacilities","amenitytabid":999,"value":"0","label":"Number of guest rooms","shortname":"numberofguestrooms_999_532","amenitygroupid":532,"digits":0,"fieldid":5385,"typeid":4,"type":"Number","value_raw":0,"value_string":"0"}],"additional_object":{"exhibitionarea_999_532":{"tabshortname":"custommeetingfacilities","amenitytabid":999,"value":"0","label":"Exhibition area","shortname":"exhibitionarea_999_532","amenitygroupid":532,"digits":0,"fieldid":5380,"typeid":4,"type":"Number","value_raw":0,"value_string":"0"},"maxmeetingcapacity_999_532":{"tabshortname":"custommeetingfacilities","amenitytabid":999,"value":"0","label":"Max meeting capacity","shortname":"maxmeetingcapacity_999_532","amenitygroupid":532,"digits":0,"fieldid":5382,"typeid":4,"type":"Number","value_raw":0,"value_string":"0"},"numberofattendees_999_532":{"tabshortname":"custommeetingfacilities","amenitytabid":999,"value":"0","label":"Number of attendees","shortname":"numberofattendees_999_532","amenitygroupid":532,"digits":0,"fieldid":5383,"typeid":4,"type":"Number","value_raw":0,"value_string":"0"},"numberofbeds_999_532":{"tabshortname":"custommeetingfacilities","amenitytabid":999,"value":"0","label":"Number of beds","shortname":"numberofbeds_999_532","amenitygroupid":532,"digits":0,"fieldid":5384,"typeid":4,"type":"Number","value_raw":0,"value_string":"0"},"numberofguestrooms_999_532":{"tabshortname":"custommeetingfacilities","amenitytabid":999,"value":"0","label":"Number of guest rooms","shortname":"numberofguestrooms_999_532","amenitygroupid":532,"digits":0,"fieldid":5385,"typeid":4,"type":"Number","value_raw":0,"value_string":"0"}}},"phone":"51 71 04 81","amenities_array":[{"tabshortname":"general","amenitytabid":1097,"value":"true","label":"Access for wheelchairs","shortname":"accessforwheelchairs_1097_499","amenitygroupid":499,"digits":0,"fieldid":5100,"typeid":11,"type":"Yes/No","value_raw":true,"value_string":"Yes","uniquename":"general_accessforwheelchairs_1097_499"},{"tabshortname":"outdooractivities","amenitytabid":1098,"value":"true","label":"Bike rental","shortname":"bikerental_1098_512","amenitygroupid":512,"digits":0,"fieldid":5234,"typeid":11,"type":"Yes/No","value_raw":true,"value_string":"Yes","uniquename":"outdooractivities_bikerental_1098_512"},{"tabshortname":"planyourtrip","amenitytabid":1099,"value":"true","label":"Family friendly","shortname":"familyfriendly_1099_521","amenitygroupid":521,"digits":0,"fieldid":5287,"typeid":11,"type":"Yes/No","value_raw":true,"value_string":"Yes","uniquename":"planyourtrip_familyfriendly_1099_521"},{"tabshortname":"planyourtrip","amenitytabid":1099,"value":"true","label":"Wifi","shortname":"wifi_1099_521","amenitygroupid":521,"digits":0,"fieldid":5292,"typeid":11,"type":"Yes/No","value_raw":true,"value_string":"Yes","uniquename":"planyourtrip_wifi_1099_521"},{"tabshortname":"thingstodo","amenitytabid":1101,"value":"true","label":"Family friendly","shortname":"familyfriendly_1101_530","amenitygroupid":530,"digits":0,"fieldid":5351,"typeid":11,"type":"Yes/No","value_raw":true,"value_string":"Yes","uniquename":"thingstodo_familyfriendly_1101_530"}],"email":"booking@furrehytter.no","locale_related":[{"locale_code":"en","recid":7406},{"locale_code":"no","recid":20764},{"locale_code":"de","recid":36094}],"crmtracking":{"custom_click_map":"63_48640","core_itinerary":"58_48640","core_booking_click":"7_48640","custom_click_add_to_trip":"60_48640","core_map_view":"59_48640","core_listing_view":"1_48640","core_mobile_click":"16_48640","core_listing_click":"4_48640","custom_click_booking":"66_48640","core_mobile_view":"17_48640","core_facebook_view":"14_48640","custom_click_share_on_social":"64_48640","core_mobile_call":"18_48640","custom_click_homepage":"62_48640","custom_listing_views":"67_48640","custom_click_tripadvisor":"65_48640","core_facebook_click":"15_48640","custom_click_email":"61_48640","core_twitter_view":"12_48640","core_twitter_click":"13_48640"},"country":"Noruega","locale_code":"es","statusid":15,"categories":[{"primary":true,"subcatid":197,"subcatname":"Apartments","catname":"Hotels & More","catid":23},{"primary":false,"subcatid":199,"subcatname":"Cottages & Holiday Houses","catname":"Hotels & More","catid":23}],"updated":"2017-05-25T04:19:00.000Z","listingudfs_object":{"23":{"name":"External ProductID","value":"468723","digits":0,"fieldid":23,"typeid":8,"type":"Text","value_raw":"468723","value_string":"468723"},"33":{"listid":2,"name":"External Product Source","value":"TellUs","digits":0,"fieldid":33,"typeid":7,"type":"Dropdown","value_raw":{"listid":2,"value":"TellUs"},"value_string":"TellUs"},"40":{"name":"External Modified Date","value":"2017-05-25T00:00:00.000Z","digits":0,"fieldid":40,"typeid":2,"type":"Date","value_raw":"2017-05-25T00:00:00.000Z","value_string":"05/25/2017"},"44":{"listid":1981,"name":"Destination","value":"Sjernarøy","digits":0,"fieldid":44,"typeid":7,"type":"Dropdown","value_raw":{"listid":1981,"value":"Sjernarøy"},"value_string":"Sjernarøy"},"55":{"listid":2567,"name":"Municipality","value":"Finnøy - 1141","digits":0,"fieldid":55,"typeid":7,"type":"Dropdown","value_raw":{"listid":2567,"value":"Finnøy - 1141"},"value_string":"Finnøy - 1141"},"56":{"listid":2460,"name":"County","value":"Rogaland","digits":0,"fieldid":56,"typeid":7,"type":"Dropdown","value_raw":{"listid":2460,"value":"Rogaland"},"value_string":"Rogaland"},"57":{"name":"Region","valuearray":[{"listid":3446,"value":"Ryfylke"},{"listid":3429,"value":"Stavanger"}],"digits":0,"fieldid":57,"typeid":12,"type":"Multi-Select","value_raw":[{"listid":3446,"value":"Ryfylke"},{"listid":3429,"value":"Stavanger"}],"value_string":"Ryfylke, Stavanger"},"58":{"listid":3448,"name":"Country Part","value":"Fjord Norway","digits":0,"fieldid":58,"typeid":7,"type":"Dropdown","value_raw":{"listid":3448,"value":"Fjord Norway"},"value_string":"Fjord Norway"},"97":{"listid":3702,"name":"DB Owner","value":"Region Stavanger","digits":0,"fieldid":97,"typeid":7,"type":"Dropdown","value_raw":{"listid":3702,"value":"Region Stavanger"},"value_string":"Region Stavanger"},"102":{"name":"Leisure Product","value":true,"digits":0,"fieldid":102,"typeid":11,"type":"Yes/No","value_raw":true,"value_string":"Yes"},"114":{"name":"Active","value":true,"digits":0,"fieldid":114,"typeid":11,"type":"Yes/No","value_raw":true,"value_string":"Yes"},"130":{"name":"importLanguage","value":"en","digits":0,"fieldid":130,"typeid":8,"type":"Text","value_raw":"en","value_string":"en"}},"accountudfs_object":{"31":{"name":"External CustomerID","value":"838","digits":0,"fieldid":31,"typeid":8,"type":"Text","value_raw":"838","value_string":"838"},"71":{"name":"Area code (reception)","value":"69","digits":0,"fieldid":71,"typeid":8,"type":"Text","value_raw":"69","value_string":"69"},"72":{"name":"Classification","value":"3","digits":0,"fieldid":72,"typeid":8,"type":"Text","value_raw":"3","value_string":"3"},"75":{"name":"Country code (reception)","value":"47","digits":0,"fieldid":75,"typeid":8,"type":"Text","value_raw":"47","value_string":"47"},"85":{"name":"Phone number (reception)","value":"21 33 00","digits":0,"fieldid":85,"typeid":8,"type":"Text","value_raw":"21 33 00","value_string":"21 33 00"},"87":{"name":"Zoom level","value":"13","digits":0,"fieldid":87,"typeid":8,"type":"Text","value_raw":"13","value_string":"13"}},"amenities":{"general_accessforwheelchairs_1097_499":{"tabshortname":"general","amenitytabid":1097,"value":"true","label":"Access for wheelchairs","shortname":"accessforwheelchairs_1097_499","amenitygroupid":499,"digits":0,"fieldid":5100,"typeid":11,"type":"Yes/No","value_raw":true,"value_string":"Yes","uniquename":"general_accessforwheelchairs_1097_499"},"outdooractivities_bikerental_1098_512":{"tabshortname":"outdooractivities","amenitytabid":1098,"value":"true","label":"Bike rental","shortname":"bikerental_1098_512","amenitygroupid":512,"digits":0,"fieldid":5234,"typeid":11,"type":"Yes/No","value_raw":true,"value_string":"Yes","uniquename":"outdooractivities_bikerental_1098_512"},"planyourtrip_familyfriendly_1099_521":{"tabshortname":"planyourtrip","amenitytabid":1099,"value":"true","label":"Family friendly","shortname":"familyfriendly_1099_521","amenitygroupid":521,"digits":0,"fieldid":5287,"typeid":11,"type":"Yes/No","value_raw":true,"value_string":"Yes","uniquename":"planyourtrip_familyfriendly_1099_521"},"planyourtrip_wifi_1099_521":{"tabshortname":"planyourtrip","amenitytabid":1099,"value":"true","label":"Wifi","shortname":"wifi_1099_521","amenitygroupid":521,"digits":0,"fieldid":5292,"typeid":11,"type":"Yes/No","value_raw":true,"value_string":"Yes","uniquename":"planyourtrip_wifi_1099_521"},"thingstodo_familyfriendly_1101_530":{"tabshortname":"thingstodo","amenitytabid":1101,"value":"true","label":"Family friendly","shortname":"familyfriendly_1101_530","amenitygroupid":530,"digits":0,"fieldid":5351,"typeid":11,"type":"Yes/No","value_raw":true,"value_string":"Yes","uniquename":"thingstodo_familyfriendly_1101_530"}},"title":"Furrehytter","alpha":"f","loc":{"type":"Point","coordinates":[5.80837,59.26098]},"sites":["es"],"primary_site":"es","rankorder":-115,"primary_category":{"primary":true,"subcatid":197,"subcatname":"Apartments","catname":"Hotels & More","catid":23},"primarycatid":23,"primarysubcatid":197,"cms_title":"Furrehytter - Hotels & More - Apartments (48640)","cms_title_sort":"furrehytter - hotels & more - apartments (48640)","primary_image_url":"https://media.newmindmedia.com/TellUs/image/?file=41E1545BD8ED204EEB149AA0DCCEAA6D64D49924.jpg&dh=533&dw=800","primary_image_is_default":false,"locale_items_ids":[7406,20764,36094],"filter_tags":["catid_23","subcatid_197","subcatid_199","site_es","site_es_catid_23","site_es_subcatid_197","site_es_catid_23_subcatid_197","site_es_subcatid_199","site_es_catid_23_subcatid_199"],"qualityScore":-1,"amenityTree":[{"tabshortname":"general","amenitytabname":"General","altlabels":[{"displayname":"Danish","locale":"da","value":"Generelt"},{"displayname":"German","locale":"de","value":"Allgemein"},{"displayname":"English","locale":"en","value":"General"},{"displayname":"Spanish","locale":"es","value":"General"},{"displayname":"French","locale":"fr","value":"Général"},{"displayname":"Italian","locale":"it","value":"Generale"},{"displayname":"Dutch","locale":"nl","value":"Algemeen"},{"displayname":"Norwegian","locale":"no","value":"Generelt"},{"displayname":"Polish","locale":"pl","value":"Ogólne"},{"displayname":"Portuguese","locale":"pt-br","value":"Geral"},{"displayname":"Russian","locale":"ru","value":"Общая"},{"displayname":"Swedish","locale":"sv","value":"Generelt"},{"displayname":"Chinese","locale":"zh","value":"综合"}],"amenitytabid":1097,"sortorder":1,"groups":[{"altlabels":[{"displayname":"Danish","locale":"da","value":"Tilgængelighed"},{"displayname":"German","locale":"de","value":"Barrierefreiheit"},{"displayname":"English","locale":"en","value":"Accessibility"},{"displayname":"Spanish","locale":"es","value":"Accesibilidad"},{"displayname":"French","locale":"fr","value":"Accessibilité"},{"displayname":"Italian","locale":"it","value":"Accessibilità"},{"displayname":"Dutch","locale":"nl","value":"Toegankelijkheid"},{"displayname":"Norwegian","locale":"no","value":"Tilgjengelighet"},{"displayname":"Polish","locale":"pl","value":"Udogodnienia dla osób niepełnosprawnych"},{"displayname":"Portuguese","locale":"pt-br","value":"Acessibilidade"},{"displayname":"Russian","locale":"ru","value":"Доступность"},{"displayname":"Swedish","locale":"sv","value":"Tillgänglighet"},{"displayname":"Chinese","locale":"zh","value":"无障碍设施"}],"amenitytabid":1097,"sortorder":1,"amenitygroupname":"Accessibility","amenitygroupid":499,"fields":[{"altlabels":[{"displayname":"Danish","locale":"da","value":"Adgang for kørestole"},{"displayname":"German","locale":"de","value":"Für Rollstuhlfahrer geeignet"},{"displayname":"English","locale":"en","value":"Access for wheelchairs"},{"displayname":"Spanish","locale":"es","value":"Acceso para sillas de ruedas"},{"displayname":"French","locale":"fr","value":"Accès en fauteuil roulant"},{"displayname":"Italian","locale":"it","value":"Accesso per sedie a rotelle"},{"displayname":"Dutch","locale":"nl","value":"Toegankelijk voor rolstoelgebruikers"},{"displayname":"Norwegian","locale":"no","value":"Tilgjengelig for rullestolbrukere"},{"displayname":"Polish","locale":"pl","value":"Dostęp dla wózków inwalidzkich"},{"displayname":"Russian","locale":"ru","value":"Доступ на инвалидных колясках"},{"displayname":"Swedish","locale":"sv","value":"Tillgänglighet för rullstolar"}],"sortorder":1,"label":"Access for wheelchairs","amenitygroupid":499,"tabshortname":"general","amenitytabid":1097,"fieldtype":"Yes/No","numeric":false,"shortname":"accessforwheelchairs_1097_499","array":false,"fieldid":5100,"typeid":11,"uniquename":"general_accessforwheelchairs_1097_499","doc":{"tabshortname":"general","amenitytabid":1097,"value":"true","label":"Access for wheelchairs","shortname":"accessforwheelchairs_1097_499","amenitygroupid":499,"digits":0,"fieldid":5100,"typeid":11,"type":"Yes/No","value_raw":true,"value_string":"Yes","uniquename":"general_accessforwheelchairs_1097_499"}}],"hasDoc":[true]}]},{"tabshortname":"outdooractivities","amenitytabname":"Outdoor Activities","altlabels":[{"displayname":"Danish","locale":"da","value":"Udendørs aktiviteter"},{"displayname":"German","locale":"de","value":"Aktivitäten im Freien"},{"displayname":"English","locale":"en","value":"Outdoor Activities"},{"displayname":"Spanish","locale":"es","value":"Actividades al aire libre"},{"displayname":"French","locale":"fr","value":"Activités en plein air"},{"displayname":"Italian","locale":"it","value":"Attività all'aperto"},{"displayname":"Dutch","locale":"nl","value":"Buitenactiviteiten"},{"displayname":"Norwegian","locale":"no","value":"Utendørsaktiviteter"},{"displayname":"Polish","locale":"pl","value":"Aktywny wypoczynek"},{"displayname":"Portuguese","locale":"pt-br","value":"Atividades ao ar livre"},{"displayname":"Russian","locale":"ru","value":"Отдых на природе"},{"displayname":"Swedish","locale":"sv","value":"Utomhusaktiviteter"},{"displayname":"Chinese","locale":"zh","value":"户外活动"}],"amenitytabid":1098,"sortorder":3,"groups":[{"altlabels":[{"displayname":"Danish","locale":"da","value":"Cykling"},{"displayname":"German","locale":"de","value":"Radfahren"},{"displayname":"English","locale":"en","value":"Biking"},{"displayname":"Spanish","locale":"es","value":"Ciclismo"},{"displayname":"French","locale":"fr","value":"Cyclisme"},{"displayname":"Italian","locale":"it","value":"Bicicletta"},{"displayname":"Dutch","locale":"nl","value":"Fietsen"},{"displayname":"Norwegian","locale":"no","value":"Sykling"},{"displayname":"Polish","locale":"pl","value":"Jazda na rowerze"},{"displayname":"Portuguese","locale":"pt-br","value":"Ciclismo"},{"displayname":"Russian","locale":"ru","value":"Велоспорт"},{"displayname":"Swedish","locale":"sv","value":"Cykling"},{"displayname":"Chinese","locale":"zh","value":"骑行"}],"amenitytabid":1098,"sortorder":10,"amenitygroupname":"Biking","amenitygroupid":512,"fields":[{"altlabels":[{"displayname":"Danish","locale":"da","value":"Cykelleje"},{"displayname":"German","locale":"de","value":"Radverleih"},{"displayname":"English","locale":"en","value":"Bike rental"},{"displayname":"Spanish","locale":"es","value":"Alquiler de bicicletas"},{"displayname":"French","locale":"fr","value":"Location de vélo"},{"displayname":"Italian","locale":"it","value":"Noleggio bici"},{"displayname":"Dutch","locale":"nl","value":"Fietshuur"},{"displayname":"Norwegian","locale":"no","value":"Sykkelutleie"},{"displayname":"Polish","locale":"pl","value":"Wypożyczalnia rowerów"},{"displayname":"Russian","locale":"ru","value":"Прокат велосипедов"},{"displayname":"Swedish","locale":"sv","value":"Cykeluthyrning"}],"sortorder":1,"label":"Bike rental","amenitygroupid":512,"tabshortname":"outdooractivities","amenitytabid":1098,"fieldtype":"Yes/No","numeric":false,"shortname":"bikerental_1098_512","array":false,"fieldid":5234,"typeid":11,"uniquename":"outdooractivities_bikerental_1098_512","doc":{"tabshortname":"outdooractivities","amenitytabid":1098,"value":"true","label":"Bike rental","shortname":"bikerental_1098_512","amenitygroupid":512,"digits":0,"fieldid":5234,"typeid":11,"type":"Yes/No","value_raw":true,"value_string":"Yes","uniquename":"outdooractivities_bikerental_1098_512"}}],"hasDoc":[true]}]},{"tabshortname":"planyourtrip","amenitytabname":"Plan Your Trip","altlabels":[{"displayname":"Danish","locale":"da","value":"Planlæg rejsen"},{"displayname":"German","locale":"de","value":"Planen Sie Ihre Reise"},{"displayname":"English","locale":"en","value":"Plan Your Trip"},{"displayname":"Spanish","locale":"es","value":"Planifica tu viaje"},{"displayname":"French","locale":"fr","value":"Planifiez votre voyage"},{"displayname":"Italian","locale":"it","value":"Pianifica il viaggio"},{"displayname":"Dutch","locale":"nl","value":"Plan je reis"},{"displayname":"Norwegian","locale":"no","value":"Planlegg reisen"},{"displayname":"Polish","locale":"pl","value":"Zaplanuj swoją podróż"},{"displayname":"Portuguese","locale":"pt-br","value":"Planeje sua viagem"},{"displayname":"Russian","locale":"ru","value":"Планирование путешествия"},{"displayname":"Swedish","locale":"sv","value":"Planera din resa"},{"displayname":"Chinese","locale":"zh","value":"规划行程"}],"amenitytabid":1099,"sortorder":4,"groups":[{"altlabels":[{"displayname":"Danish","locale":"da","value":"Tjenester"},{"displayname":"German","locale":"de","value":"Services"},{"displayname":"English","locale":"en","value":"Services"},{"displayname":"Spanish","locale":"es","value":"Servicios"},{"displayname":"French","locale":"fr","value":"Services"},{"displayname":"Italian","locale":"it","value":"Servizi"},{"displayname":"Dutch","locale":"nl","value":"Services"},{"displayname":"Norwegian","locale":"no","value":"Tjenester"},{"displayname":"Polish","locale":"pl","value":"Usługi"},{"displayname":"Portuguese","locale":"pt-br","value":"Serviços"},{"displayname":"Russian","locale":"ru","value":"Услуги"},{"displayname":"Swedish","locale":"sv","value":"Servicios"},{"displayname":"Chinese","locale":"zh","value":"服务"}],"amenitytabid":1099,"sortorder":33,"amenitygroupname":"Services","amenitygroupid":521,"fields":[{"altlabels":[{"displayname":"Danish","locale":"da","value":"Familievenligt"},{"displayname":"German","locale":"de","value":"Familienfreundlich"},{"displayname":"English","locale":"en","value":"Family-friendly"},{"displayname":"Spanish","locale":"es","value":"Ideal para familias"},{"displayname":"French","locale":"fr","value":"Convient aux familles"},{"displayname":"Italian","locale":"it","value":"Adatto alle famiglie"},{"displayname":"Dutch","locale":"nl","value":"Gezinsvriendelijk"},{"displayname":"Norwegian","locale":"no","value":"Familievennlig"},{"displayname":"Polish","locale":"pl","value":"Przyjazne rodzinom"},{"displayname":"Russian","locale":"ru","value":"Для семей"},{"displayname":"Swedish","locale":"sv","value":"Familjevänlig"}],"sortorder":2,"label":"Family friendly","amenitygroupid":521,"tabshortname":"planyourtrip","amenitytabid":1099,"fieldtype":"Yes/No","numeric":false,"shortname":"familyfriendly_1099_521","array":false,"fieldid":5287,"typeid":11,"uniquename":"planyourtrip_familyfriendly_1099_521","doc":{"tabshortname":"planyourtrip","amenitytabid":1099,"value":"true","label":"Family friendly","shortname":"familyfriendly_1099_521","amenitygroupid":521,"digits":0,"fieldid":5287,"typeid":11,"type":"Yes/No","value_raw":true,"value_string":"Yes","uniquename":"planyourtrip_familyfriendly_1099_521"}},{"altlabels":[{"displayname":"Danish","locale":"da","value":"WiFi"},{"displayname":"German","locale":"de","value":"WLAN"},{"displayname":"English","locale":"en","value":"WiFi"},{"displayname":"Spanish","locale":"es","value":"WiFi"},{"displayname":"French","locale":"fr","value":"Wi-Fi"},{"displayname":"Italian","locale":"it","value":"WiFi"},{"displayname":"Dutch","locale":"nl","value":"WiFi"},{"displayname":"Norwegian","locale":"no","value":"WiFi"},{"displayname":"Polish","locale":"pl","value":"WiFi"},{"displayname":"Russian","locale":"ru","value":"Wi-Fi"},{"displayname":"Swedish","locale":"sv","value":"WiFi"}],"sortorder":7,"label":"Wifi","amenitygroupid":521,"tabshortname":"planyourtrip","amenitytabid":1099,"fieldtype":"Yes/No","numeric":false,"shortname":"wifi_1099_521","array":false,"fieldid":5292,"typeid":11,"uniquename":"planyourtrip_wifi_1099_521","doc":{"tabshortname":"planyourtrip","amenitytabid":1099,"value":"true","label":"Wifi","shortname":"wifi_1099_521","amenitygroupid":521,"digits":0,"fieldid":5292,"typeid":11,"type":"Yes/No","value_raw":true,"value_string":"Yes","uniquename":"planyourtrip_wifi_1099_521"}}],"hasDoc":[true,true]}]},{"tabshortname":"thingstodo","amenitytabname":"Things To Do","altlabels":[{"displayname":"Danish","locale":"da","value":"Aktiviteter"},{"displayname":"German","locale":"de","value":"Aktivitäten"},{"displayname":"English","locale":"en","value":"Things To Do"},{"displayname":"Spanish","locale":"es","value":"Actividades"},{"displayname":"French","locale":"fr","value":"Activités"},{"displayname":"Italian","locale":"it","value":"Attività"},{"displayname":"Dutch","locale":"nl","value":"Activiteiten"},{"displayname":"Norwegian","locale":"no","value":"Aktiviteter"},{"displayname":"Polish","locale":"pl","value":"Atrakcje"},{"displayname":"Portuguese","locale":"pt-br","value":"Atividades"},{"displayname":"Russian","locale":"ru","value":"Активный отдых"},{"displayname":"Swedish","locale":"sv","value":"Aktiviteter"},{"displayname":"Chinese","locale":"zh","value":"要做的事"}],"amenitytabid":1101,"sortorder":6,"groups":[{"altlabels":[{"displayname":"Danish","locale":"da","value":"Forlystelsesparker"},{"displayname":"German","locale":"de","value":"Freizeitparks"},{"displayname":"English","locale":"en","value":"Theme park"},{"displayname":"Spanish","locale":"es","value":"Parques temáticos"},{"displayname":"French","locale":"fr","value":"Parcs d'attractions"},{"displayname":"Italian","locale":"it","value":"Parchi divertimento"},{"displayname":"Dutch","locale":"nl","value":"Pretparken"},{"displayname":"Norwegian","locale":"no","value":"Fornøyelsesparker"},{"displayname":"Polish","locale":"pl","value":"Parki rozrywki"},{"displayname":"Portuguese","locale":"pt-br","value":"Parques temáticos"},{"displayname":"Russian","locale":"ru","value":"Тематические парки"},{"displayname":"Swedish","locale":"sv","value":"Temaparker"},{"displayname":"Chinese","locale":"zh","value":"主题公园"}],"amenitytabid":1101,"sortorder":37,"amenitygroupname":"Theme park","amenitygroupid":530,"fields":[{"altlabels":[{"displayname":"Danish","locale":"da","value":"Familievenligt"},{"displayname":"German","locale":"de","value":"Familienfreundlich"},{"displayname":"English","locale":"en","value":"Family-friendly"},{"displayname":"Spanish","locale":"es","value":"Ideal para familias"},{"displayname":"French","locale":"fr","value":"Convient aux familles"},{"displayname":"Italian","locale":"it","value":"Adatto alle famiglie"},{"displayname":"Dutch","locale":"nl","value":"Gezinsvriendelijk"},{"displayname":"Norwegian","locale":"no","value":"Familievennlig"},{"displayname":"Polish","locale":"pl","value":"Przyjazne rodzinom"},{"displayname":"Russian","locale":"ru","value":"Для семей"},{"displayname":"Swedish","locale":"sv","value":"Familjevänlig"}],"sortorder":3,"label":"Family friendly","amenitygroupid":530,"tabshortname":"thingstodo","amenitytabid":1101,"fieldtype":"Yes/No","numeric":false,"shortname":"familyfriendly_1101_530","array":false,"fieldid":5351,"typeid":11,"uniquename":"thingstodo_familyfriendly_1101_530","doc":{"tabshortname":"thingstodo","amenitytabid":1101,"value":"true","label":"Family friendly","shortname":"familyfriendly_1101_530","amenitygroupid":530,"digits":0,"fieldid":5351,"typeid":11,"type":"Yes/No","value_raw":true,"value_string":"Yes","uniquename":"thingstodo_familyfriendly_1101_530"}}],"hasDoc":[true]}]}],"locale_items":[{"_id":"5786cda8daaef928fddd9077","recid":7406,"locale_code":"en","title":"Furrehytter","sites":["primary","cn","dk","fr","it","nl","pl","ru","se","br"],"primary_site":"primary","id":"5786cda8daaef928fddd9077","detailURL":"/listings/furrehytter/7406/","genericUrl":"/listings/furrehytter/7406/","url":"/listings/furrehytter/7406/","absolute_url":"https://www.visitnorway.es/listings/furrehytter/7406/","absolute_primary_url":"https://www.visitnorway.com/listings/furrehytter/7406/","isListing":true,"hasTripAdvisor":false,"hasYelp":false},{"_id":"5786d0b0daaef928fdddba2f","recid":20764,"locale_code":"no","title":"Furrehytter","sites":["no"],"primary_site":"no","id":"5786d0b0daaef928fdddba2f","detailURL":"/listings/furrehytter/20764/","genericUrl":"/listings/furrehytter/20764/","url":"/listings/furrehytter/20764/","absolute_url":"https://www.visitnorway.es/listings/furrehytter/20764/","absolute_primary_url":"https://www.visitnorway.no/listings/furrehytter/20764/","isListing":true,"hasTripAdvisor":false,"hasYelp":false},{"_id":"5786d3ccdaaef928fddde9a2","recid":36094,"locale_code":"de","title":"Furrehytter","sites":["de"],"primary_site":"de","id":"5786d3ccdaaef928fddde9a2","detailURL":"/listings/furrehytter/36094/","genericUrl":"/listings/furrehytter/36094/","url":"/listings/furrehytter/36094/","absolute_url":"https://www.visitnorway.es/listings/furrehytter/36094/","absolute_primary_url":"https://www.visitnorway.de/listings/furrehytter/36094/","isListing":true,"hasTripAdvisor":false,"hasYelp":false}],"id":"5786d63ddaaef928fdde0cb8","detailURL":"/listings/furrehytter/48640/","genericUrl":"/listings/furrehytter/48640/","url":"/listings/furrehytter/48640/","absolute_url":"https://www.visitnorway.es/listings/furrehytter/48640/","absolute_primary_url":"https://www.visitnorway.es/listings/furrehytter/48640/","isListing":true,"longitude":5.80837,"latitude":59.26098,"hasTripAdvisor":true,"hasYelp":false}; var locale = "es"; var moment_locale_map = { no : "nb", zh : "zh-cn" }; data.moment_locale_code = moment_locale_map[locale] || locale; moment.locale(data.moment_locale_code); var goatee = new gt.Goatee(); goatee.addPlugin("crmLib", crmLib); goatee.addPlugin("moment", moment); goatee.addPlugin("seo", seot); // @T207259: Set lat/long for related listings and trigger load event // related listings is a collection dropped on the /listings/ page window.latitude = data.latitude; window.longitude = data.longitude; window.listingid = data.recid; $("html").trigger("loadRelated", { latitude : data.latitude, longitude : data.longitude, listingid : data.recid }); // @T212578: If this is an enlish listing on a non-english site then hide the description and let the use load the description if they want to. var siteLocale = $("html").prop("lang"); var listingLocale = data.locale_code; if(siteLocale === listingLocale) { $("[data-description-to-load]").addClass("loaded"); } else { $("[data-load-description]").first().removeClass("hide"); } // validate and track social urls root.find("[data-sv-social]").each(function() { var validServices =['facebook', 'twitter', 'youtube', 'instagram', 'pinterest']; var service = $(this).data('svService').toLowerCase(); var href = $(this).attr('href'); if (validServices.indexOf(service) > -1) { href = lib.getValidSocialUrl({ url : href, urlType : service }); switch (service) { case "twitter": $(this).attr("href", sv_crmLib.getTrackUrl(data.crmtracking.core_twitter_click, href)); break; case "facebook": $(this).attr("href", sv_crmLib.getTrackUrl(data.crmtracking.core_facebook_click, href)); break; default: $(this).attr("href", href); } } }); // @T231940 - custom CRM tracking - email click $('[data-crmtracking-custom_click_email]').on('click', function (click) { sv_crmLib.trackAjax(data.crmtracking.custom_click_email); }); /**** CRM tracking - DO NOT REMOVE!!!! ****/ // @T231940 - updates to custom CRM tracking // track website "click-throughs": root.find('[data-crmtracking-weburl]').each(function () { // simply forcing this to be dependent on JS, to be consistent with other tracking var trackURL = $(this).attr('data-crmtracking-weburl'); $(this).attr('href', trackURL); }); // track booking clicks root.find('[data-crmtracking-booking]').each(function () { var trackURL = $(this).attr('data-crmtracking-booking'); $(this).attr('href', trackURL); }); sv_crmLib.trackAjax(data.crmtracking.core_listing_view); /*** Media Gallery ***/ var getVideoID = function(url) { if (url.match(/https?:\/\/www\.youtube\.com\/watch\?v=.*/) !== null) { return url.replace(/.*\?v=/, ""); } else if (url.match(/https?:\/\/youtu\.be\/.*/) !== null) { return url.replace(/.*\//, ""); } } var galleryTemplate = root.find("[data-sv-galleryTemplate]").html(); var galleryContainer = root.find('[data-sv-galleryContainer]'); var galleryParent = galleryContainer.parent(); // T251039 Add primary image template var primaryImageTemplate = root.find("[data-sv-primaryImageTemplate]").html(); var primaryImageContainer = root.find('[data-sv-primaryImageContainer]'); var primaryImageParent = primaryImageContainer.parent(); if(data.media !== undefined) { for(var i = 0; i < data.media.length; i++) { if (data.media[i].mediaurl !== undefined && (data.media[i].mediatype === "Image" || data.media[i].mediatype === "Logo")) { data.media[i].image = sv_cloudinaryLib.default.createResource({ imageUrl : data.media[i].mediaurl }); // @T209849 remove logos from data.media and place first logo in data.logo if(data.media[i].mediatype === "Logo") { if(data.logo === undefined) { data.logo = data.media[i]; } data.media.splice(i, 1); i--; } } else if (data.media[i].mediatype === "YouTube") { data.media[i].videoID = getVideoID(data.media[i].mediafile); //you may use default, 0, 1, 2 or 3 for the youtube file name data.media[i].image = sv_cloudinaryLib.default.createResource({ imageUrl : "http://img.youtube.com/vi/" + data.media[i].videoID + "/0.jpg" }); } } // @T287919 - remove videos if we're on the Chinese site if (site.site === 'cn') { data.media = data.media.filter(function (item) { return !item.videoID; }) } var galCount = data.media.length; // @T251039 Send first image to template for use as Primary Image. Use all but first image for listing detail gallery. var primaryImageHTML = goatee.fill(primaryImageTemplate, { media : data.media[0] }); primaryImageContainer.replaceWith(primaryImageHTML); var galleryHTML = goatee.fill(galleryTemplate, { media : data.media.slice(1), total : galCount }); galleryContainer.replaceWith(galleryHTML); // @T214936 fallback for when media.tellus.no/images/?...t=4 images fail galleryParent.find('[data-sv-hero]').error(function() { var img = $(this); var shadowbox = img.parent('a'); var slide = shadowbox.parent('.slide'); var index = slide.data('slick-index'); var thumb = galleryParent.find('[data-sv-thumb][data-slick-index="'+index+'"] img'); var src = img.prop('src'); if(src.match(/media\.tellus\.no\/images\/.+t%3D4/)) { src = src.replace('t%3D4', 't%3D1'); img.prop('src', src); thumb.prop('src', src); shadowbox.prop('href', src); } else { galleryParent.find(".slides").slick('slickRemove', parseInt(img.closest("slick-slide").attr("data-slick-index"))); } }); function setImg(nodes, maxSlides) { var screenWidth = window.innerWidth; var size = "lg"; if(screenWidth <= 640) { size = "sm"; //maxSlides = 1; } else if(screenWidth <= 1130) { size = "md"; } nodes.each(function(index) { if(index < maxSlides) { $(this).attr("src", $(this).data(size + "-src")); $(this).closest(".slide").addClass("img-loaded"); } else { return true; } }); } // T251039 Set Responsive Primary Image var primaryImage = root.find('[data-sv-primaryImage]'); setImg(primaryImage, 1); // toggle credits root.find("[data-sv-creditstoggle]").click(function() { $(this).parent().toggleClass("open"); }); if(galCount > 1) { var $slider = galleryParent.find(".slides"); var $images = $slider.find("[data-sv-image]"); var screenWidth = window.innerWidth; setImg($images, 1); //initial image setup $slider.on("init", function() { screenWidth = window.innerWidth; if(screenWidth <= 640){ setImg($images, 2); }else{ setImg($images, ($slider.find(".slick-active").length + 2)); } if($slider.width() < $slider.find(".slick-track").width()) { galleryParent.find(".arrows").removeClass("hide"); } // @T239384 - don't init shadowbox on mobile if (window.innerWidth > 668) { Shadowbox.init({ resizeLgImages : true }); } }).on("beforeChange", function(event, slick, current, next) { var increment = 3; if(screenWidth <= 640){ increment = 0; } var nextImg = next+increment; var $nextSlide = $slider.find(".slide[data-slick-index=" + nextImg + "] img"); setImg($nextSlide, 1); if(screenWidth <= 640){ // load next image on mobile (shows when touch-dragging) setImg($slider.find(".slide[data-slick-index=" + (nextImg+1) + "] img"), 1); } }); $slider.slick({ prevArrow: galleryParent.find(".prevSlide"), nextArrow: galleryParent.find(".nextSlide"), draggable: false, infinite: false, slidesToShow: 2, slidesToScroll: 1, variableWidth: true, responsive: [ { breakpoint: 1130, settings: { slidesToShow: 1 } }, { breakpoint: 641, settings: { dots: true, slidesToShow: 1, variableWidth: false } } ] }); // @T287919 - remove videos if we're on the Chinese site if (site.site !== 'cn') { require(["plugins_nav_custom_youtube_iframe_api"], function(youtube_iframe_api) { var youtube_players = {}; galleryParent.on("beforeChange", ".slides", function(event, slick, currentSlide, nextSlide) { var i = currentSlide; if(youtube_players[i] && youtube_players[i].getPlayerState() === 1) { //if playing youtube_players[i].pauseVideo(); } else { var youtube_iframe = galleryParent.find("[data-slick-index='" + i + "'] iframe[src*=youtube]"); if(youtube_iframe.length) { youtube_players[i] = new youtube_iframe_api.Player(youtube_iframe.get(0), { events : { onReady : function() { if(youtube_players[i].getPlayerState() === 1) { //if playing youtube_players[i].pauseVideo(); } } } }); } } }); }); } } else { var $slider = galleryParent.find(".slides"); var $images = galleryParent.find(".slides").find("[data-sv-image]"); $slider.css({ opacity : 1 }); setImg($images, 1); if (galCount === 1) { // single slides need to be floated so the credits toggle // is in the correct position $slider.find('.slide').css('float', 'left'); } galleryParent.find(".slider").addClass("fadein"); // @T239384 - don't init shadowbox on mobile if (window.innerWidth > 668) { Shadowbox.init({ resizeLgImages : true }); } } // @T238281: added credits toggle to listings slider $slider.find('.credits-toggle').on('click', function (click) { $(this).closest('.slick-slide').toggleClass('show-credits'); }); } else { var galleryHTML = goatee.fill(galleryTemplate, {}); galleryContainer.replaceWith(galleryHTML); } var fetchTA = function() { var args = {service: "tripadvisor", recid: data.recid}; $.get("/includes/plugins/listings/getreviews/", args, function(res) { if (res.success === true && res.data.num_reviews > 0) { res.data.tripadvisorVersion = tripadvisorVersion; root.find("#panel_tripadvisor").html(goatee.fill(root.find("[data-sv-tripadvisorTemplate]").html(), res.data)); $(document).trigger('translate'); root.find(".detailTA-header").removeClass("hide"); root.find(".detailTA").removeClass("hide"); root.find("[data-sv-tripadvisorPreview]").html(goatee.fill(root.find("[data-sv-tripadvisorPreviewTemplate]").html(), res.data)); $(document).trigger('translate'); root.find("[data-sv-tripadvisorPreview]").removeClass("hide"); return true; } else { return false; } }).fail(function() { return false; } ); } fetchTA(); if (site.site !== 'cn') { require([ "plugins_listings_custom_map", "plugins_listings_custom_map_alt", // @T208185: load in 2nd map js "plugins_listings_custom_snazzymaps", "geodist", // @T209715: how to get here ], function( mapObj, mapObjSmall, snazzymaps, geodist ) { root.find(".tab-button.tb").removeClass("hide"); root.find("#maps").removeClass("hide"); root.find('[href=#maps]').on('click', function (click) { // @T231940 add custom CRM tracking sv_crmLib.trackAjax(data.crmtracking.core_map_view); }); if (data.latitude && data.longitude) { var placemarks = [{ id : "listing_" + data.recid, marker : { position : [data.latitude, data.longitude] }, infoWindow : { content : goatee.fill("
{{company}}
{{address1}}
", data) } }]; var initMapTab = function() { mapObj.init({ node : root.find(".detailMaps .primary"), map : { markerIcon : '/includes/client_public/shared/map_point.png', mapOptions : { zoom: 16, styles : snazzymaps.norway, draggable : false, scrollwheel : false, } } }, true); mapObj.setState({ placemarksAdded : false, placemarks : placemarks }, function() { mapObj.getMap(function(map) { var markers = map.getPlacemarks(); for(marker in markers) { map.placemarkOn(marker, 'click', function() { map.on(map._curInfoWindow, 'domready', function() { $(document).trigger('translate'); }); }); } }); }); //touchstart or mousedown var click = ('ontouchstart' in document.documentElement) ? 'touchend' : 'mousedown'; var mapOptions; mapObj.getMap(function(map) { if(map._map !== undefined) mapOptions = map._map; }); //set scroll wheel to true or false : true when clicked inside and viewing map. $('body').on(click, function(event) { var clickedInsideMap = $(event.target).parents('.primary [data-gmapcontainer]').length > 0; if(!clickedInsideMap) { mapOptions.setOptions({ scrollwheel: false, draggable : false }); } else{ mapOptions.setOptions({ scrollwheel: true, draggable : true }); } }); mapObj.initDetailInterface(); }; initMapTab(); /* * @T208185 * Initialize 2nd map and weather */ var initMapTabSmall = function() { mapObjSmall.init({ node : root.find(".detailMaps .sidebar"), map : { markerIcon : '/includes/client_public/shared/map_point_small.png', mapOptions : { zoom: 8, styles : snazzymaps.norway } } }, true); mapObjSmall.setState({ placemarksAdded : false, placemarks : placemarks }, function() { mapObjSmall.getMap(function(map) { var markers = map.getPlacemarks(); for(marker in markers) { map.placemarkOn(marker, 'click', function() { map.on(map._curInfoWindow, 'domready', function() { $(document).trigger('translate'); }); }); } }); }); }; initMapTabSmall(); function createWeather() { var unit = /dcLanguage=usa/.test(document.cookie) ? 'F' : 'C'; var url = urlLib.build({ path : "/plugins/core/svapi/", get : { service : "weatherv2", endpoint : "latlng", serviceArgs : JSON.stringify({ // t282687 / t273362 coordinates rounded to closest whole number ( 3-40 mile radius ) // original: { "lat":59.5123, "lng":10.4987 } // rounded : { "lat":60.0, "lng":10.0 } lat : Math.round(data.latitude), lng : Math.round(data.longitude), unit : unit.toLowerCase() }) } }); $.get(url, function(res) { if (res.success !== true) { return; } var current = res.data.current; var weatherTemplate = root.find("[data-sv-weatherTemplate]").html(); var weatherHTML = goatee.fill(weatherTemplate, { iconsrc : '/includes/client_public/weather/' + current.condition.yahoo + '.svg', temp : current.temp + '° ' + unit }); root.find('[data-sv-weatherContainer]').html(weatherHTML); }); } createWeather(); if(site.site !== "cn") { mapObj.getMap(function(map) { var wanted_types = ['bus_station', 'airport', 'subway_station', 'train_station']; var service = new google.maps.places.PlacesService(map._map); service.nearbySearch({ location : new google.maps.LatLng(latitude, longitude), rankBy : google.maps.places.RankBy.DISTANCE, types : wanted_types }, function(results, status) { if(status == google.maps.places.PlacesServiceStatus.OK) { var parsed_results = {}; var result_limit = 5; var distance_unit = (document.cookie.indexOf('dcLanguage=us') > -1 || document.cookie.indexOf('dcLanguage=uk') > -1) ? 'mi' : 'km'; results.forEach(function(result) { result.types.forEach(function(type) { if(wanted_types.indexOf(type) > -1) { if(parsed_results[type] === undefined) { parsed_results[type] = []; } if(parsed_results[type].length < result_limit) { parsed_results[type].push({ name : result.name, distance : new geodist({ start : {lat : latitude, lng : longitude}, end : {lat : result.geometry.location.lat(), lng : result.geometry.location.lng()} }).format({unit:distance_unit}) + ' ' + distance_unit }); } } }); }); var howToGetHereTemplate = root.find('[data-sv-howtogethereTemplate]').html(); var howToGetHereContainer = root.find('[data-sv-howtogethereContainer]'); var howToGetHereHTML = goatee.fill(howToGetHereTemplate, parsed_results); howToGetHereContainer.html(howToGetHereHTML); $(document).trigger('translate'); } }); }); } } if ("geolocation" in navigator) { navigator.geolocation.getCurrentPosition(function(position) { var coords = {}; coords.latitude = position.coords.latitude; coords.longitude = position.coords.longitude; var distance = new geodist({ start : { lat : coords.latitude, lon : coords.longitude }, end : { lat : data.latitude, lon : data.longitude } }); root.find("[data-distance]").text(distance.format({ unit : "km" })); root.find("[data-distance-container]").removeClass("hide"); }, function(error) { // do nothing since we already rendered }); } else { root.find("[data-distance-container]").addClass("hide"); } }); } $('.tabs.no-stack > dd > a').on('click', function(e) { e.preventDefault(); var tid = $(this).attr('href'); var t = $(this).closest('.tabs'); var dd = $(this).closest('dd'); var tc = t.closest('.tabs-content').closest('.content'); tc.removeClass('active'); $(tid).addClass('active'); $(tid).siblings().removeClass('active'); dd.addClass('active'); dd.siblings().removeClass('active'); t.toggleClass('open'); }); $(".tabs.subtab").each(function(i) { if ($(this).find('dd').length < 2) { $(this).addClass('solo'); } }); var linkifyPhoneNumber = function() { var windowWidth = window.innerWidth; if(windowWidth <= 1025) { if(!root.find(".phone-number").hasClass("linkified")) { var phoneNumber = root.find(".phone-number"); phoneNumber.html('' + phoneNumber.text() + ''); phoneNumber.addClass("linkified"); } } else { if(root.find(".phone-number").hasClass("linkified")) { var phoneNumber = root.find(".phone-number"); phoneNumber.html(phoneNumber.text()); phoneNumber.removeClass("linkified"); } } }; $(window).on('resize', function() { /* when using open left menu tabs in desktop and closed dropdown style tabs in mobile we want to reset the open state. otherwise clicking on a tab in desktop will leave it stuck on open when re-sizing to responsive */ $('.listings .tabs.open').removeClass('open'); linkifyPhoneNumber(); }); // add seo data // data to data layer on page load - custom request window.sem = window.sem || {}; window.sem.customData = { account: data.company ,accountId: data.acctid ,categories: data.categories ,event: 'pView' }; if(data.listingudfs_object[44] !== undefined) { window.sem.customData['destination'] = data.listingudfs_object[44].value_string; } if(data.listingudfs_object[55] !== undefined) { window.sem.customData['municipality'] = data.listingudfs_object[55].value_string; } if(data.listingudfs_object[56] !== undefined) { window.sem.customData['county'] = data.listingudfs_object[56].value_string; } if(data.listingudfs_object[57] !== undefined) { window.sem.customData['region'] = data.listingudfs_object[57].value_string; } if(data.listingudfs_object[58] !== undefined) { window.sem.customData['countryPart'] = data.listingudfs_object[58].value_string; } if(data.listingudfs_object[97] !== undefined) { window.sem.customData['dbOwner'] = data.listingudfs_object[97].value_string; } if(data.listingudfs_object[100] !== undefined) { window.sem.customData['premiumPartner'] = data.listingudfs_object[100].value_string; } // ,canonicalId: "en" listing recid if (data.locale_code === 'en') { window.sem.customData['canonicalId'] = data.recid; } else { if (typeof data.locale_related !== "undefined" && data.locale_related.length > 0) { for (var sem_i = 0; sem_i < data.locale_related.length; sem_i++) { if (data.locale_related[sem_i]["locale_code"] === 'en') { window.sem.customData['canonicalId'] = data.locale_related[sem_i]["recid"]; } } } } gtmDataLayer.push(window.sem.customData); // end data to data layer on page load - custom request var seoCat = "Listings"; var seoLabel = "Account: " + data.acctid + " | ID: " + data.recid + " | " + data.title; var seoVars = {vt: 'Detail', cat: seoCat, ua: 'Click'}; var seoArgs = {'event': 'tEvent', 'eventCategory': seoCat, 'eventLabel': seoLabel}; var si; sem.getSeoData = function (o,a,b) { var _b = (arguments.length >= 3) ? b : a; return $(o).closest("[" + a + "]").attr(_b); }; $.extend(seoArgs, seoVars); var seoTObj = { website: {'eventAction': 'Visit Website', 'lt': 'Website', 'ot': 'Text', 'cm11': 1, 'cm12': 1}, email: {'eventAction': 'Email', 'lt': 'Email', 'ot': 'Text', 'cm11': 1, 'cm12': 1}, phone: {'eventAction': 'Phone', 'lt': 'Phone', 'ot': 'Text', 'cm11': 1, 'cm12': 1}, green: {'eventAction': 'Green Travel', 'lt': 'Green Travel', 'ot': 'Text'}, greenViewAll: {'eventAction': 'Green Travel View All', 'lt': 'Green Travel', 'ot': 'Text'}, mapview: {'eventAction': 'Map View', 'lt': 'Map', 'ot': 'Text'}, streetview: {'eventAction': 'Street View', 'lt': 'Map', 'ot': 'Text'}, booking: {'eventAction': 'Booking', 'lt': 'Booking', 'ot': 'Button', 'cm11': 1, 'cm12': 1}, price: {'eventAction': 'Price', 'lt': 'Price', 'ot': 'Button'}, routePlanner: {'eventAction': 'Route Planner', 'lt': 'Route Planner', 'ot': 'Button'}, tabOffers: {'eventAction': 'Click Tab Offers', 'lt': 'Offers', 'ot': 'Tab'}, tabEvents: {'eventAction': 'Click Tab Events', 'lt': 'Events', 'ot': 'Tab'}, tabMeetingFacilities: {'eventAction': 'Click Tab Meeting Facilities', 'lt': 'Meeting Facilities', 'ot': 'Tab'}, tabAmenities: {'eventAction': 'Click Tab Amenities', 'lt': 'Amenities', 'ot': 'Tab'}, tabOverview: {'eventAction': 'Click Tab Overview', 'lt': 'Overview', 'ot': 'Tab'}, tabYelp: {'eventAction': 'Click Tab Yelp', 'lt': 'Yelp', 'ot': 'Tab'}, tripAdvisor: {'eventAction': 'TripAdvisor', 'lt': 'TripAdvisor', 'ot': 'Image'}, subtabFacilityInfo: {'eventAction': 'Click Subtab Facility Info', 'lt': 'Facility Info', 'ot': 'Tab'}, subtabMeetingRooms: {'eventAction': 'Click Subtab Meeting Rooms', 'lt': 'Meeting Rooms', 'ot': 'Tab'}, subtabAmenities: {'eventAction': 'Click Subtab Amenities', 'lt': 'Amenities', 'ot': 'Tab'}, category: {'eventAction': 'Category', 'lt': 'Category', 'ot': 'Text'} }; for (var si in seoTObj) { $.extend(seoTObj[si], seoArgs); } root.on('click', '[data-seo-website]', function () { gtmDataLayer.push(seoTObj.website); }); root.on('click', '[data-seo-email]', function () { gtmDataLayer.push(seoTObj.email); }); root.on('click', '[data-seo-phone]', function () { gtmDataLayer.push(seoTObj.phone); }); root.on('click', '[data-seo-green]', function () { gtmDataLayer.push(seoTObj.green); }); root.on('click', '[data-seo-green-viewall]', function () { gtmDataLayer.push(seoTObj.greenViewAll); }); root.on('click', '[data-seo-mapview]', function () { gtmDataLayer.push(seoTObj.mapview); }); root.on('click', '[data-seo-streetview]', function () { gtmDataLayer.push(seoTObj.streetview); }); root.on('click', '[data-seo-booking]', function () { gtmDataLayer.push(seoTObj.booking); }); root.on('click', '[data-seo-price]', function () { gtmDataLayer.push(seoTObj.price); }); root.on('click', '[data-seo-routeplanner]', function () { gtmDataLayer.push(seoTObj.routePlanner); }); root.on('click', '[data-seo-tab-offers]', function () { gtmDataLayer.push(seoTObj.tabOffers); }); root.on('click', '[data-seo-tab-events]', function () { gtmDataLayer.push(seoTObj.tabEvents); }); root.on('click', '[data-seo-tab-meetingfacilities]', function () { gtmDataLayer.push(seoTObj.tabMeetingFacilities); }); root.on('click', '[data-seo-tab-amenities]', function () { gtmDataLayer.push(seoTObj.tabAmenities); }); root.on('click', '[data-seo-tab-overview]', function () { gtmDataLayer.push(seoTObj.tabOverview); }); root.on('click', '[data-seo-tab-yelp]', function () { gtmDataLayer.push(seoTObj.tabYelp); }); root.on('click', '[data-seo-tripadvisor]', function () { gtmDataLayer.push(seoTObj.tripAdvisor); }); root.on('click', '[data-seo-subtab-facilityinfo]', function () { gtmDataLayer.push(seoTObj.subtabFacilityInfo); }); root.on('click', '[data-seo-subtab-meetingrooms]', function () { gtmDataLayer.push(seoTObj.subtabMeetingRooms); }); root.on('click', '[data-seo-subtab-amenities]', function () { seoTObj.subtabAmenities.eventAction = 'Click Subtab | ' + sem.getSeoData(this, 'data-seo-subtab-amenities'); gtmDataLayer.push(seoTObj.subtabAmenities); }); root.on('click', '[data-seo-category]', function () { seoTObj.category.eventAction = 'Category: ' + sem.getSeoData(this, 'data-seo-category'); gtmDataLayer.push(seoTObj.category); }); // end seo data var scrollToId = function(id, startingPoint, baseSpeed, buffer) { var thisOffset = startingPoint.offset(); var thatOffset = $(id).offset(); var offsetDiff = Math.abs(thatOffset.top - thisOffset.top); var speed = (offsetDiff * baseSpeed) / 1000; $("html,body").animate({ scrollTop : thatOffset.top - buffer }, speed); } root.find("[data-accordion] a").on("click", function() { var thisLink = $(this); var scroll = window.setTimeout(function() { scrollToId("#" + thisLink.attr("id"), thisLink, 600, 50); }, 200); }); $("[data-sv-tripadvisorPreview]").on("click", function() { scrollToId("#ta-scroll-to", $(this), 600, 75); sv_crmLib.trackAjax(data.crmtracking.custom_click_tripadvisor); }); // @T212578: If this is an enlish listing on a non-english site then hide the description and let the use load the description if they want to. $("[data-load-description]").on("click", function() { $("[data-load-description]").toggleClass("hide"); $("[data-description-to-load]").toggleClass("loaded"); }); //@T219434: green travel view all link var green = root.find("[data-green-viewall]"); if(green.length > 0) { var path = $("[data-locale='/about/sustainability/'] a").attr("href"); var base = window.location.origin; var options = "#gt"; root.find("[data-green-viewall]").attr("href", base + path + options); } //@T214857: go to category page if(data.categories !== undefined && data.categories[0] !== undefined && data.categories[0].catid !== undefined) { var base = window.location.origin; var path = "/all-listings/"; var options = "?filter%5Bcategories.catid%5D=" + data.categories[0].catid + "&filter%5Bcategories.subcatid%5D%5B%24in%5D%5B0%5D=0&options%5Blimit%5D=12&options%5Bskip%5D=0"; $(".category a").attr("href", base + path + options); $(".category").removeClass("hide"); } if (tripbuilder !== undefined) { tripbuilder.initButtons({ root : root, addButtonTemplate : "Add to Your Trip", removeButtonTemplate : " View Your Trip" }); tripbuilder.events.on("change", function() { setTimeout(function() { $(document).trigger('translate'); }, 0); }); tripbuilder.events.trigger("change"); // @T231940 add custom CRM tracking $('[data-tb-button]').on('click', function (click) { sv_crmLib.trackAjax(data.crmtracking.custom_click_add_to_trip); }); $('[href="/"]').on('click', function () { sv_crmLib.trackAjax(data.crmtracking.custom_click_homepage); }) } linkifyPhoneNumber(); if(data.listingudfs_object[40]) { var lastUpdated = moment(data.listingudfs_object[40].value_string, "MM/DD/YYYY"); root.find("[data-sv-lastupdated] .date").text(lastUpdated.format("L")); root.find("[data-sv-lastupdated]").removeClass("hide"); } // @T232789 - Remove hreflang link tags from english listings / events on non-English sites $("html").bind("localeSwitchListingEvent", function() { // get requested locale and site var localeCode = $("[data-locale-requested]").attr("data-locale-requested"); var siteCode = $("[data-locale-requested]").attr("data-site-requested"); var localeURL = ""; // @T222834 save slug only for handling multiple detail urls var localeURLslug; // check if requested locale has listings data for(var i = 0; i < data.locale_items.length; i++) { if(data.locale_items[i].locale_code === localeCode) { localeURL = data.locale_items[i].absolute_primary_url; localeURLslug = localeURL.match(/\/listings\/.+$/); if (localeURLslug && localeURLslug.length) { localeURLslug = localeURLslug[0]; } break; } } // if listing data for the requested locale could not be found, then get the english listing path and combine with base url for requested site if(localeURL === "") { for(var i = 0; i < data.locale_items.length; i++) { if(data.locale_items[i].locale_code === "en") { localeURL = data.locale_items[i].detailURL; break } } if(localeURL === "") { localeURL = site.siteConfigs[siteCode].urlNoSlash + window.location.pathname; } else { // @T222834 save slug only for handling multiple detail urls below localeURLslug = localeURL; localeURL = site.siteConfigs[siteCode].urlNoSlash + localeURL; } } // @T222834 handle multiple listing detail pages -- find matching language detail page if not default // check if we're not on the default listing page if (window.location.href.indexOf('listings-') >= 0) { // replace the default listing url with the contextual detail url using locale tag equivalent var locale_item_href = $('[data-sv-localecontainer] [data-language-site=' + siteCode + '] span').attr('link-href'); // check if there's a locale equivalent detail URL if (locale_item_href.indexOf('listings-') >= 0) { // grab just the part of the default detail url after the `/listings/` part... var url_listing_segments = localeURL.match(/\/listings-?[^\/]*\/(.+)$/); if (url_listing_segments && url_listing_segments.length > 1) { // ...and append it to the end of the locale equivalent nav item localeURL = locale_item_href + url_listing_segments[1]; } } else { // no locale URL equivalent if (localeURLslug) { // language site has a localized listing localeURL = site.siteConfigs[siteCode].urlNoSlash + localeURLslug; } else { // target language site does not have a localized listing localeURL = site.siteConfigs[siteCode].urlNoSlash + data.genericUrl; } } } window.location.href = localeURL; }); /* @T250672: Booking Url: Add single detail offer to booking menu in header */ var bookingData = {}; if(data.listingudfs_object[25] !== undefined){ bookingData.bookingUrl = data.listingudfs_object[25].value; } if(bookingData.bookingUrl) { if(data.company !== undefined){ bookingData.title = data.company; } if(data.listingudfs_object[41] !== undefined){ bookingData.price = data.listingudfs_object[41].value; } if(data.listingudfs_object[93] !== undefined){ bookingData.preprice = data.listingudfs_object[93].value; } if(data.listingudfs_object[91] !== undefined){ bookingData.postprice = data.listingudfs_object[91].value; } // @T231940 - add custom CRM tracking bookingData.bookingUrl = sv_crmLib.getTrackUrl(data.crmtracking.custom_click_booking, bookingData.bookingUrl); // @T285372 Determine which booking container is being used then: //Target offer template, find destination container, //fill template with listing data, add partial to container and display hidden container var bookingContainer = $('.booking-wrapper').find('.detailBooking'); var bookingListContainer = $('.booking-wrapper').find('[data-sv-bookinglist-ul]'); if(bookingContainer.length){ var offerTemplate = root.find('[data-sv-offersTemplate]').html(); bookingContainer.css('display', 'block'); dataOffersHTML = goatee.fill(offerTemplate, bookingData); bookingContainer.html(dataOffersHTML); } else if (bookingListContainer.length){ var bookListItemTemplate = root.find('[data-sv-bookListItemTemplate]').html(); dataOffersHTML = goatee.fill(bookListItemTemplate, bookingData); bookingListContainer.prepend(dataOffersHTML); } // Init navmenu event handlers after partial is added to header if($.fn.navmenu){ $( '.button-content.book-content .navPrimary' ).navmenu({ headerButton : "[data-header-btn='book']" }); } } // @T231940 add custom CRM tracking $('[data-sv-addthis-track-social-click]').on('click', function (click) { sv_crmLib.trackAjax(data.crmtracking.custom_click_share_on_social); }); /* * @T239384: Shadowbox for gallery slider. * Prevent navigation to image url. Open Shadowbox manually. * Clear cache and setup shadowbox on window.resize. */ function setSliderHrefs(){ var slideAnchors = root.find("[data-sv-shadow]"); var screenWidth = window.innerWidth; var size = "lg"; if(screenWidth <= 640) { size = "sm"; } else if(screenWidth <= 1130) { size = "md"; } slideAnchors.each(function(index, anchor){ var $anchor = $(anchor); $anchor.attr("href", $anchor.data(size + "-src")); }); // @T251039 Set Shadowbox href on Primary anchor // ** update: disabled since image in shadowbox is smaller than regular image ** // var primaryAnchor = root.find("[data-sv-shadowPrimary]"); // primaryAnchor.attr("href", primaryAnchor.data(size + "-src")); // @T239384 - don't init shadowbox on mobile if(window.innerWidth > 668 && slideAnchors.length){ Shadowbox.init({ resizeLgImages : true }); Shadowbox.setup(slideAnchors); //Shadowbox.setup(primaryAnchor); } } setSliderHrefs(); root.on('click', "[data-sv-shadow]", function(e){ e.preventDefault(); if(window.innerWidth > 668){ Shadowbox.open(e.target); } }); $(window).on("resize", function() { Shadowbox.clearCache(); setSliderHrefs(); setImg(primaryImage, 1); }); /* * @T201431: GET PAGE DATA FOR RECENT PAGES * Used for building the data for the recent pages collections widget */ if(window.hasLocalStorage) { var cp = window.currentPage; cp.title = data.title; if(data.primary_image_url !== undefined) { cp.image = encodeURI(data.primary_image_url + ""); } cp.description = data.description; window.currentPage = cp; $("html").trigger("saveRecentPage"); } if(document.referrer.indexOf(location.hostname) > -1) { root.find('.sharedBackButton').slideDown(); } // @T231961 - Hide/blur opening hours when they are too many var detailPanes = root.find('.detailPanes').children(); var detailPaneOne = detailPanes.first(); var detailPaneTwo = detailPanes.last(); var hours = detailPaneTwo.find('.hours'); var hoursContent = hours.find('.hours-content'); hours.addClass('show'); if(hours.height() > detailPaneOne.height()) { hours.addClass('hide-long'); var height = detailPaneOne.height() - (detailPaneTwo.height() - hoursContent.height()); height = height < 250 ? 250 : height; hoursContent.height(height); hours.find('.see-all').click(function() { hours.removeClass('hide-long'); hoursContent.height('auto'); return false; }); } //@T268007: REMOVE TOP SLIDESHOW VERTICAL SPACE FROM DETAIL PAGE var topSlideshowContainer = $(".root_panel"); topSlideshowContainer.addClass("isDetailPage"); });
Your Recently Viewed Pages
Ad
Ad
Ad