[]
{var e,t,r={9071:(e,t,r)=>{“use strict”;r.d(t,{I:()=>n});var n=0,i=navigator.userAgent.match(/Firefox[/s](d+.d+)/);i&&(n=+i[1])},6900:(e,t,r)=>{“use strict”;let n;if(r.d(t,{H:()=>i}),r(2374).il){const e=document.createElement(“div”);e.innerHTML=”x3c!–[if lte IE 6]>{“use strict”;r.d(t,{P_:()=>p,Mt:()=>v,C5:()=>d,DL:()=>y,OP:()=>L,lF:()=>z,Yu:()=>E,Dg:()=>g,CX:()=>f,GE:()=>w,sU:()=>H});var n={};r.r(n),r.d(n,{agent:()=>A,match:()=>D,version:()=>T});var i=r(6797),o=r(909),a=r(8610);class s{constructor(e,t){try{if(!e||”object”!=typeof e)return(0,a.Z)(“New setting a Configurable requires an object as input”);if(!t||”object”!=typeof t)return(0,a.Z)(“Setting a Configurable requires a model to set its initial properties”);Object.assign(this,t),Object.entries(e).forEach((e=>{let[t,r]=e;const n=(0,o.q)(t);n.length&&r&&”object”==typeof r&&n.forEach((e=>{e in r&&((0,a.Z)(`”${e}” is a protected attribute and can not be changed in feature ${t}. It will have no effect.`),delete r[e])})),this[t]=r}))}catch(e){(0,a.Z)(“An error occured while setting a Configurable”,e)}}}const c={beacon:i.ce.beacon,errorBeacon:i.ce.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},u={};function d(e){if(!e)throw new Error(“All info objects require an agent identifier!”);if(!u[e])throw new Error(`Info for ${e} was never set`);return u[e]}function f(e,t){if(!e)throw new Error(“All info objects require an agent identifier!”);u[e]=new s(t,c),(0,i.Qy)(e,u[e],”info”)}const l={allow_bfcache:!1,privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,enabled:!0,harvestTimeSeconds:10},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10},metrics:{enabled:!0,harvestTimeSeconds:10},page_action:{enabled:!0,harvestTimeSeconds:30},page_view_event:{enabled:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30},session_trace:{enabled:!0,harvestTimeSeconds:10},spa:{enabled:!0,harvestTimeSeconds:10}},h={};function p(e){if(!e)throw new Error(“All configuration objects require an agent identifier!”);if(!h[e])throw new Error(`Configuration for ${e} was never set`);return h[e]}function g(e,t){if(!e)throw new Error(“All configuration objects require an agent identifier!”);h[e]=new s(t,l),(0,i.Qy)(e,h[e],”config”)}function v(e,t){if(!e)throw new Error(“All configuration objects require an agent identifier!”);var r=p(e);if(r){for(var n=t.split(“.”),i=0;i
Egyptboats is located in Hurghada and offers to show you an all-inclusive fishing adventure in the Red Sea!
During this luxury charter, the professional captain will take you to two different fishing spots, where you can enjoy the spectacular Egyptian landscape and go after the likes of Barracuda, Mahi Mahi, Amberjack, Coral Trout, Tuna, and Jack Crevalle, depending on the weather and time of year. If you catch fish before the stop at the second anchor point, you can cook it to be included in the buffet lunch!
You’ll be fishing from a spacious 72’ Custom offshore sportfishing yacht with enough room for up to 14 anglers at any time. It also includes a toilet, ac, ice box, fighting chair, and wireless trolling motor. When it comes to rods, reels, and terminal tackle, everything you need is included in the price. You’re welcome to keep all legal species caught during the trip.
The captain will supply all the needed fishing licenses for your trip. Here to help you with anything you need, the first mate will be on hand during the journey. Leaving a tip for a job well done is much appreciated.
There will be complimentary snacks, drinks, and lunch aboard for your convenience during the trip. This is a children-friendly charter, so you’re welcome to bring your kids on for a fun fishing adventure.
Book your trip now and hit the water in style with Egyptboats Hurghada!
-
Fishing License
-
You Keep Catch
-
Catch cleaning & filleting
-
Drinks
-
Toilet
-
Child Friendly
-
Air Conditioning
-
Snorkeling Equipment
-
Ice Box
-
Rods, reels & tackle
-
Fighting Chair
-
Food (Lunch & Snacks)
Most Popular Features:
- Fishing License
- You Keep Catch
- Catch cleaning & filleting
- Drinks
- Toilet
- Child Friendly
- Air Conditioning
- Snorkeling Equipment
- Ice Box
- Rods, reels & tackle
- Fighting Chair
- Food (Lunch & Snacks)
-
Private trip
Private trip
8 Hour Trip
FREE Cancellation 1 day notice
8 Hour Trip, starts at 8:00 AM
Meet your guide and captain, who will take you to two different fishing spots where you can enjoy the beautiful Egyptian landscape and fish for some of the large fish in the Red Sea. If you catch fish before our stop at the second anchor point, you can cook it to be included in our buffet lunch!
Your listing is turned off. Activate it to enable bookings and inquiries.
About the Charter Operator
Hurghada, Egypt
With over 7 years of experience, Egyptboats has developed the skills and expertise to put together all the pieces for a successful private fishing tour. Spanish and Egyptian Management and team. Enjoy one of our ready-made Hurghada fishing tours with your own guide on one of our private day trips from Hurghada. Ideal for those who enjoy a degree of independence and flexibility. Many families or groups of friends prefer to travel this way. These special fishing trips from Hurghada are designed to offer a personal touch with the assurance that all arrangements are taken care of.
About this listing
Boat specs
Custom-built Offshore Sportfishing (Motor yacht) originally built in 2014. Powered by 2 380HP Caterpillar engines, with a maximum cruising speed of 18 knots.
Amenities
Cancellation policy
Booking confirmed
Cancel free of charge up to 1 day prior to your trip.
1 day before trip
After this, you may only cancel free of charge in the event of unsafe weather conditions, captain-related issues, or extenuating circumstances.
Trip date
You can cancel or modify your booking up to 1 day before the trip date, free of charge. If you cancel or modify your booking later, or fail to show up, you’ll forfeit 100% of what you’ve paid.
Listing policies
Pickup agreed upon reservation
Transfer to/from departure site may be available and included in price depending on your location and distance from the dock.
Hurghada Fishing Calendar
Loading Fish Calendar!
Please Wait…
FAQs about Egyptboats Hurghada – Queen of Life
Egyptboats Hurghada – Queen of Life offers the following trip to customers:
- €300 per group – 8 Hour Trip (8 hours)
When you book a trip with Egyptboats Hurghada – Queen of Life, you can expect the following amenities onboard:
- Toilet
- Air Conditioning
- Fighting Chair
- GPS
- Fishfinder
- Bed
- Snorkeling Equipment
- Kitchen
- Refrigerator
- Multimedia System
- Wireless Trolling Motor
- Ice Box
Trips booked with Egyptboats Hurghada – Queen of Life include:
- Rods, reels & tackle
- Catch cleaning & filleting
- Snacks
- Drinks
- First Mate
- Fishing License
- Lunch
- Fly Fishing Equipment
Egyptboats Hurghada – Queen of Life offers the following types of fishing:
- Nearshore Fishing
- Offshore Fishing
- Reef Fishing
Egyptboats Hurghada – Queen of Life offers the following fishing techniques:
- Light Tackle
- Heavy Tackle
- Bottom Fishing
- Spinning
- Popping
- Kite Fishing
- Handline
- Deep Sea Fishing
Top targeted fish species with Egyptboats Hurghada – Queen of Life include:
- Amberjack
- Barracuda (Great)
- Coral Trout
- Dolphin (Mahi Mahi)
- Jack Crevalle
- Sailfish
- Tuna (Yellowfin)
Finding the best local fishing charters for you…
Explore FishingBooker
© 2023 FishingBooker.com. All rights reserved.
‘ + data.title + ”; } } }) .on(‘typeahead:select’, function (e, o, dataSet) { navTabFieldSelected = true; $form.attr(‘action’, o.url); $searchKind.val(o.kind); $hiddenLocationField.val(o.locationName); $hiddenFeaturedIdField.val(”); if ((o.locationName || ”).trim().length > 0) { $hiddenLocationField.val(o.locationName); } this.blur(); displayIcons(); }) .on(‘keydown’, function (e) { displayIcons(); if (e.which === 13 || e.keyCode === 13 || e.which === 9 || e.keyCode === 9) { if (!navTabFieldSelected) { $(‘.tt-suggestion:first-child’) .trigger(‘click’); } e.stopPropagation(); e.preventDefault(); } navTabFieldSelected = false; }) .on(‘keyup’, function (e) { toggleClearSearchButton(!!$(e.currentTarget) .val()); }) .on(‘focus’, function () { if ($(window) .width()
>”; var traffic_source_date_SEPARATOR = “|>” var NONE = “(none)”; domain = domain || window.location.hostname; /* * Uncomment currTime() in order to activate. You should also uncomment the lines in the code that call this function (all marked with a comment). If you do so, uncomment the line above them which does not employ currTime() function currTime() { var date = new Date(); var currDate = date.getDate(); var hours = date.getHours(); var minutes = date.getMinutes(); var month = date.getMonth() + 1; var year = date.getFullYear(); var ampm = hours >= 12 ? ‘pm’ : ‘am’; hours = hours % 12; hours = hours ? hours : 12; // the hour ‘0’ makes ’12’ minutes = minutes < 10 ? '0' + minutes : minutes; var strTime = traffic_source_date_SEPARATOR + currDate + '-' + month + '-' + year + ' ' + hours + ':' + minutes + ' ' + ampm + ')'; return strTime; } */ function getURLParameter(param){ var pageURL = window.location.search.substring(1); var URLVariables = pageURL.split('&'); for (var i = 0; i < URLVariables.length; i++) { var parameterName = URLVariables[i].split('='); if (parameterName[0] == param) { return parameterName[1]; } } pageURL = removeProtocol(document.referrer); var pos = pageURL.indexOf("?"); pageURL = pageURL.substring(pos+1, pageURL.length); URLVariables = pageURL.split('&'); for (i = 0; i < URLVariables.length; i++) { parameterName = URLVariables[i].split('='); if (parameterName[0] == param) { return parameterName[1]; } } return null; } function getUtmParameter(){ var pageURL = window.location.search.substring(1); if(!isNotNullOrEmpty(pageURL)) { pageURL = removeProtocol(document.referrer); var pos = pageURL.indexOf("?"); pageURL = pageURL.substring(pos+1, pageURL.length); } var URLVariables = pageURL.split('&'); var result = {hasUtm : false, hasCpc : false}; for (var i = 0; i -1) { //if(end === -1) { // end = utmzCookie.length; //} //cookieCampaignName = "utmz:" + utmzCookie.substring((start + UTMSRC.length), end); data['old_utmz'] = cookieCampaignName = utmzCookie.substring(start); } } var UTMParams = getUtmParameter(); var UTMString = ""; var p = ""; var q = ""; var refererParam = ""; var rurlReferer = ""; var refererHost = ""; if (UTMParams.hasUtm == true) { for (var s in UTMParams) { if(s != "hasUtm" && s != "hasCpc") { UTMString += s + ": " + UTMParams[s] + "|"; } } UTMString = UTMString.substring(0, UTMString.length - 1); } if(cookieCampaignName != "" && isNotNullOrEmpty(urlParamSRC)){ data['trafficSource'] = urlParamSRC + traffic_source_COOKIE_TOKEN_SEPARATOR + cookieCampaignName; } else if(cookieCampaignName != ""){ if(document.referrer != ""){ refererHost = removeProtocol(document.referrer); data['trafficSource'] = "cookieCampaignName"; data['link'] = refererHost; } if(refererHost) { if(getURLParameter("gclid")) { data['trafficType'] = "Google Paid"; } else if(UTMParams.utm_source == "bing"){ if(UTMParams.hasCpc == true) { data['trafficType'] = "Bing Paid"; } else { data['trafficType'] = "Bing Organic"; } } else if(UTMParams.utm_source == "facebook"){ data['trafficType'] = "Facebook"; } else { data['trafficType'] = "old Cookie Campaign Traffic"; } if(UTMString){ data['utmData'] = UTMString; } } data['oldCookie'] = cookieCampaignName; } else if(document.referrer != ""){ var referrerHostName = removeProtocol(document.referrer); var GOOGLE = /www.google/; var YAHOO = /search.yahoo/; var BING = /www.bing/; var TRIPADVISOR = /www.tripadvisor/; var FACEBOOK = /facebook.com/; var TWITTER = /twitter.com/; var HULLTRUTH = /www.thehulltruth/; var SURFINGGATOR = /surfinggator.com/; var NEWORLEANS = /neworleanswebsites.com/; var ADDICTIVE = /addictivefishing.com/; var DESTINFISHING = /destinfishingforums.com/; if(GOOGLE.test(referrerHostName)){ data['trafficSource'] = "Google"; data['link'] = referrerHostName; if(getURLParameter("gclid")) { data['trafficType'] = "Google Paid"; } else { data['trafficType'] = "Google Organic"; } if(UTMString){ data['utmData'] = UTMString; } q = getURLParameter('q'); if(q){ data['q'] = decodeURIComponent(q); } refererParam = getURLParameter('referer'); if(refererParam){ data['referer'] = decodeURIComponent(refererParam); } rurlReferer = getURLParameter('rurl'); if(rurlReferer){ data['rurlReferer'] = decodeURIComponent(rurlReferer); } } else if(YAHOO.test(referrerHostName)){ data['trafficSource'] = "Yahoo"; data['link'] = referrerHostName; if(UTMParams.utm_source == "bing" && UTMParams.hasCpc == true){ data['trafficType'] = "Bing Paid"; } else { data['trafficType'] = "Yahoo Organic"; } if(UTMString){ data['utmData'] = UTMString; } p = getURLParameter('p'); if(p){ data['p'] = decodeURIComponent(p); } q = getURLParameter('q'); if(q){ data['q'] = decodeURIComponent(q); } refererParam = getURLParameter('referer'); if(refererParam){ data['referer'] = decodeURIComponent(refererParam); } rurlReferer = getURLParameter('rurl'); if(rurlReferer){ data['urlReferer'] = decodeURIComponent(rurlReferer); } } else if(BING.test(referrerHostName)){ data['trafficSource'] = "Bing"; data['link'] = referrerHostName; if(UTMParams.utm_source == "bing" && UTMParams.hasCpc == true){ data['trafficType'] = "Bing Paid"; } else { data['trafficType'] = "Bing Organic"; } if(UTMString){ data['utmData'] = UTMString; } p = getURLParameter('p'); if(p){ data['p'] = decodeURIComponent(p); } q = getURLParameter('q'); if(q){ data['q'] = decodeURIComponent(q); } refererParam = getURLParameter('referer'); if(refererParam){ data['referer'] = decodeURIComponent(refererParam); } rurlReferer = getURLParameter('rurl'); if(rurlReferer){ data['urlReferer'] = decodeURIComponent(rurlReferer); } } else if(TRIPADVISOR.test(referrerHostName)){ data['trafficSource'] = "TripAdvisor"; data['link'] = referrerHostName; } else if(FACEBOOK.test(referrerHostName)){ data['trafficSource'] = "Facebook"; data['link'] = referrerHostName; if(UTMParams.utm_source == "facebook"){ data['trafficType'] = "Facebook"; } if(UTMString){ data['utmData'] = UTMString; } } else if(TWITTER.test(referrerHostName)){ data['trafficSource'] = "Twitter"; data['link'] = referrerHostName; } else if(HULLTRUTH.test(referrerHostName)){ data['trafficSource'] = "The Hull Truth"; data['link'] = referrerHostName; } else if(SURFINGGATOR.test(referrerHostName)){ data['trafficSource'] = "The Surfinggator"; data['link'] = referrerHostName; } else if(NEWORLEANS.test(referrerHostName)){ data['trafficSource'] = "The Surfinggator"; data['link'] = referrerHostName; } else if(ADDICTIVE.test(referrerHostName)){ data['trafficSource'] = "Addictive Fishing"; data['link'] = referrerHostName; } else if(DESTINFISHING.test(referrerHostName)){ data['trafficSource'] = "Destin Fishing Forum"; data['link'] = referrerHostName; } else { data['trafficSource'] = "[Unknown Referer] Traffic"; data['link'] = referrerHostName; if(getURLParameter("gclid")) { data['trafficType'] = "Google Paid"; data['trafficSource'] = "[Unknown Referer] Google Traffic"; } else if(UTMParams.utm_source == "bing"){ if(UTMParams.hasCpc == true) { data['trafficType'] = "Bing Paid"; } else { data['trafficType'] = "Bing Organic"; } data['trafficSource'] = "[Unknown Referer] Bing Traffic"; } else if(UTMParams.utm_source == "facebook"){ data['trafficType'] = "Facebook"; data['trafficSource'] = "[Unknown Referer] Facebook Traffic"; } else { data['trafficType'] = "Unknown Organic"; } if(UTMString){ data['utmData'] = UTMString; } } } else { data['trafficSource'] = "(none) Traffic"; refererHost = removeProtocol(document.referrer); if(refererHost) { data['link'] = refererHost; } else { refererHost = window.location.search.substring(1); data['link'] = "[No Referer] "+refererHost; } if(getURLParameter("gclid")) { data['trafficType'] = "Google Paid"; } else if(UTMParams.utm_source == "bing"){ if(UTMParams.hasCpc == true) { data['trafficType'] = "Bing Paid"; } else { data['trafficType'] = "Bing Organic"; } } else if(UTMParams.utm_source == "facebook"){ data['trafficType'] = "Facebook"; } else { data['trafficType'] = "[No Referer] Traffic"; } if(UTMString){ data['utmData'] = UTMString; } } var cookieData = ""; $.each(data, function(index, value){ switch(index) { case 'trafficSource': cookieData += "ts= "+ value + "> “; break; case ‘link’: cookieData += “l= “+ value + “> “; break; case ‘trafficType’: cookieData += “tt= “+ value + “> “; break; case ‘utmData’: cookieData += “ud= “+ value + “> “; break; case ‘q’: cookieData += “q= “+ value + “> “; break; case ‘p’: cookieData += “p= “+ value + “> “; break; case ‘refererParam’: cookieData += “rp= “+ value + “> “; break; case ‘rurlReferer’: cookieData += “rur= “+ value + “> “; break; case ‘oldCookie’: cookieData += “oc= “+ value + “> “; break; default: cookieData += “”; } }); if(cookieData) { cookieData = cookieData.substring(0, cookieData.length – 2); } window.setCookie(cookieName, cookieData, { expires : 90, path: ‘/’ }); data[‘cookieValue’] = window.getCookie(cookieName); } })(“fbac”, “.fishingbooker.com”); ]]>
- Toilet
- Air Conditioning
- Fighting Chair
- GPS
- Fishfinder
- Bed
- Snorkeling Equipment
- Kitchen
- Refrigerator
- Multimedia System
- Wireless Trolling Motor
- Ice Box “}},{“@type”:”Question”,”name”:”What’s included in the trip price with Egyptboats Hurghada u2013 Queen of Life?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Trips booked with Egyptboats Hurghada u2013 Queen of Life include:
- Rods, reels & tackle
- Catch cleaning & filleting
- Snacks
- Drinks
- First Mate
- Fishing License
- Lunch
- Fly Fishing Equipment “}},{“@type”:”Question”,”name”:”What types of fishing does Egyptboats Hurghada u2013 Queen of Life offer?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Egyptboats Hurghada u2013 Queen of Life offers the following types of fishing:
- Nearshore Fishing
- Offshore Fishing
- Reef Fishing “}},{“@type”:”Question”,”name”:”What fishing techniques does Egyptboats Hurghada u2013 Queen of Life offer?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Egyptboats Hurghada u2013 Queen of Life offers the following fishing techniques:
- Light Tackle
- Heavy Tackle
- Bottom Fishing
- Spinning
- Popping
- Kite Fishing
- Handline
- Deep Sea Fishing “}},{“@type”:”Question”,”name”:”Which fish species can I catch with Egyptboats Hurghada u2013 Queen of Life?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Top targeted fish species with Egyptboats Hurghada u2013 Queen of Life include:
- Amberjack
- Barracuda (Great)
- Coral Trout
- Dolphin (Mahi Mahi)
- Jack Crevalle
- Sailfish
- Tuna (Yellowfin)”}}]}]]>
= .25 && lastPercent = .50 && lastPercent = .75 && lastPercent 250) { $(‘.quicklinks-container’).fadeIn(400, function () { alertContainer.addClass(‘nav-bar-visible’) }); } else { $(‘.quicklinks-container’).fadeOut(400, function () { alertContainer.removeClass(‘nav-bar-visible’) }); } }); }); } }); ]]>×’, content: fishContent2 }).on(‘shown.bs.popover’, function (e) { var popover = $(this); $(‘#close-2’).on(‘click’, function (e) { popover.popover(‘hide’); }); }); var fishContent1 = $.parseHTML(” + ” + ‘Size’ + ‘5 to 15lbs’ + ” + ” + ” + ‘Food Value’ + ‘Low’ + ” + ” + ” + ‘Game Qualities’ + ‘Average’ + ” + ” + ” + ‘Habitats’ + ‘Nearshore, Offshore, Reef, Wreck’ + ” + ” + ” + ‘Techniques’ + ‘Light Tackle, Fly Fishing, Jigging, Trolling’ + ” + ”); $(‘#fish-species-item-1 .popover-trigger’).popover({ container: ‘body’, html: true, placement: ‘bottom’, title: ‘Barracuda (Great) 1; $(document) .on(‘click’, ‘.js-report-card-item’, function (event) { $(‘.js-report-card-modal’) .modal(‘show’); var element = event.target; while (!element.classList.contains(‘js-report-card-item’)) { element = element.parentNode; } var reportId = element.getAttribute(‘data-id’); reports.forEach(function (report, index) { if (report.id === reportId) { currentReportIndex = index; } }); photoCurrentlyActive = reportPhotos[reportId].length !== 0; showModalContent(currentReportIndex); }); $(document) .on(‘click’, ‘.js-report-card-modal-prev-button’, function () { currentReportIndex = (currentReportIndex – 1) < 0 ? 0 : currentReportIndex - 1; photoCurrentlyActive = canPhotoGalleryBeActive(); showModalContent(currentReportIndex); }); $(document) .on('click', '.js-report-card-modal-next-button', function () { currentReportIndex = (currentReportIndex + 1) === reports.length ? (reports.length - 1) : currentReportIndex + 1; photoCurrentlyActive = canPhotoGalleryBeActive(); showModalContent(currentReportIndex); }); $(document) .on('click', '.js-report-card-modal-prev-photo', function () { currentMediaIndex = (currentMediaIndex - 1) < 0 ? 0 : currentMediaIndex - 1; showMediaGallery(currentMediaIndex); }); $(document) .on('click', '.js-report-card-modal-next-photo', function () { currentMediaIndex = (currentMediaIndex + 1) === (getActiveMedia()).length ? (getActiveMedia()).length - 1 : currentMediaIndex + 1; showMediaGallery(currentMediaIndex); }); $(document) .on('click', '.js-report-modal-gallery-header-photos', function () { if (!photoCurrentlyActive) { photoCurrentlyActive = true; $('.js-report-modal-gallery-header-videos') .toggleClass('active-gallery', false); $('.js-report-modal-gallery-header-photos') .toggleClass('active-gallery', true); showModalContent(currentReportIndex); } }); $(document) .on('click', '.js-report-modal-gallery-header-videos', function () { if (photoCurrentlyActive) { photoCurrentlyActive = false; $('.js-report-modal-gallery-header-photos') .toggleClass('active-gallery', false); $('.js-report-modal-gallery-header-videos') .toggleClass('active-gallery', true); showModalContent(currentReportIndex); } }); $(document) .on('click', '.js-report-card-gallery-video', function () { $('.js-report-modal-gallery-index-info') .toggle(false); }); $(document) .keydown(function (event) { if ( $('.js-report-card-modal') .css('display') === 'block' && $('.js-report-card-gallery-video') .css('display') === 'block' ) { if (event.which === 32) { $('.js-report-modal-gallery-index-info') .toggle(false); } } }); function showModalContent(reportIndex) { currentMediaIndex = 0; var selectedReport = reports[reportIndex]; var dateReported = new Date(selectedReport.date_fishing); var currentReportPhotosCount = reportPhotos[selectedReport.id].length; var currentReportVideosCount = reportVideos[selectedReport.id].length; if (shouldDisplayFooter) { $('.js-report-card-modal-footer') .toggle(true); $('.js-report-card-modal-content') .toggleClass('report-card-modal-content-with-footer', true); } else { $('.js-report-card-modal-footer') .toggle(false); $('.js-report-card-modal-content') .toggleClass('report-card-modal-content-without-footer', true); } $('.js-report-modal-gallery-header') .toggle(currentReportPhotosCount !== 0 && currentReportVideosCount !== 0); $('.js-report-card-modal-header-title') .text(selectedReport.title); $('.js-report-card-modal-header-info-date') .text(monthNames[dateReported.getMonth()] + ' ' + dateReported.getDate()); $('.js-report-card-modal-body-content') .text(selectedReport.content); showMediaGallery(currentMediaIndex); } function showMediaGallery(mediaIndex) { var tempReportMedia = getActiveMedia(); var currentReportId = reports[currentReportIndex].id; updateGalleryArrows(); if (currentReportIndex === reports.length - 1) { $('.js-report-card-modal-next-button') .attr('disabled', 'disabled'); } else { $('.js-report-card-modal-next-button') .removeAttr('disabled'); } if (currentReportIndex === 0) { $('.js-report-card-modal-prev-button') .attr('disabled', 'disabled'); } else { $('.js-report-card-modal-prev-button') .removeAttr('disabled'); } if (tempReportMedia.length === 1) { $('.js-report-modal-gallery-index-info') .toggle(false); } else { $('.js-report-modal-gallery-index-info') .toggle(true); $('.js-current-gallery-index') .text(mediaIndex + 1); $('.js-total-gallery-items') .text(tempReportMedia.length); } renderGalleryHeaderByReportId(currentReportId); if (photoCurrentlyActive) { $('.js-report-modal-gallery-header-videos') .toggleClass('active-gallery', false); $('.js-report-modal-gallery-header-photos') .toggleClass('active-gallery', true); renderPhotos(currentReportId, mediaIndex); } else { $('.js-report-modal-gallery-header-photos') .toggleClass('active-gallery', false); $('.js-report-modal-gallery-header-videos') .toggleClass('active-gallery', true); loadScripts(document, 'https://fast.wistia.com/assets/external/E-v1.js'); renderVideoCards(currentReportId, mediaIndex); } } function renderPhotos(reportIndex, photoIndex) { $('.js-report-modal-gallery-item') .html('') .css('background-image', 'url(' + reportPhotos[reportIndex][photoIndex] + ')'); } function renderVideoCards(reportIndex, videoIndex){ var videoItem = reportVideos[reportIndex][videoIndex]; $('.js-report-modal-gallery-item') .css('background-image', 'none') .html("n n nn"); $('.js-report-card-gallery-video') .attr('data-thumbpath', videoItem['thumbnail']) .attr('href', videoItem['thumbnail']) .attr('data-video', videoItem['external_id']) .attr('data-ratio', videoItem['aspect_ratio']) .addClass('wistia_async_' + videoItem['external_id']); $('.js-report-card-video-thumbnail') .attr('data-bg', 'url(' + videoItem['thumbnail'] + ')'); } function renderGalleryHeaderByReportId(id) { $('.js-report-modal-gallery-header-photos') .html('Photos (' + reportPhotos[id].length + ')'); $('.js-report-modal-gallery-header-videos') .html('Videos (' + reportVideos[id].length + ')'); } function getActiveMedia() { var currentReportId = reports[currentReportIndex].id; return photoCurrentlyActive ? reportPhotos[currentReportId] : reportVideos[currentReportId]; } function canPhotoGalleryBeActive() { return reportPhotos[reports[currentReportIndex].id].length > 0; } function updateGalleryArrows() { if ((getActiveMedia()).length === 1) { $(‘.js-report-card-modal-prev-photo’) .toggle(false); $(‘.js-report-card-modal-next-photo’) .toggle(false); } else if (currentMediaIndex === 0) { $(‘.js-report-card-modal-prev-photo’) .toggle(false); $(‘.js-report-card-modal-next-photo’) .toggle(true); } else if (currentMediaIndex === (getActiveMedia()).length – 1) { $(‘.js-report-card-modal-prev-photo’) .toggle(true); $(‘.js-report-card-modal-next-photo’) .toggle(false); } else { $(‘.js-report-card-modal-prev-photo’) .toggle(true); $(‘.js-report-card-modal-next-photo’) .toggle(true); } } ]]> { window.ReportInappropriateListings.render(data); }); } else { window.ReportInappropriateListings.render(data); } } function handleClickEvent(e) { e.preventDefault(); if (logged_in) { openReportWizard(charter_id); } else { openAuthModal() } } if (logged_in && window.location.href.indexOf(“report-listing”) > -1) { openReportWizard(charter_id); } $(‘.report-inappropriate-listings-link’).click(handleClickEvent); }); ]]> 0) { mode = ‘add’; } var glyph = $(‘.js-near-me-glyph’); var glyphRemove = $(‘.js-reset-search’); switch (mode) { case ‘add’: if ( stringEndsWith(action, ‘/charters/search’) && input.val() === ‘Fishing near me’ ) { input.css(‘padding-left’, ’35px’); $(‘.tt-hint’) .css(‘padding-left’, ’30px’); glyph.show(); glyphRemove.show(); } else { input.css(‘padding-left’, ’12px’); glyph.hide(); glyphRemove.hide(); } break; default: input.css(‘padding-left’, ’12px’); glyph.hide(); glyphRemove.hide(); break; } } function initializeDatepicker(elem) { var myDate = new Date(); var monthNames = [ ‘January’, ‘February’, ‘March’, ‘April’, ‘May’, ‘June’, ‘July’, ‘August’, ‘September’, ‘October’, ‘November’, ‘December’ ]; var daysInAdvance = 1; var displayDate = monthNames[myDate.getMonth()] + ‘ ‘ + (myDate.getDate() + daysInAdvance) + ‘, ‘ + myDate.getFullYear(); var endDate = monthNames[myDate.getMonth()] + ‘ ‘ + (myDate.getDate()) + ‘, ‘ + (myDate.getFullYear() + 1); $(elem) .datepicker({ format: ‘M d, yyyy’, startDate: displayDate, endDate: endDate, todayBtn: false, keyboardNavigation: false, forceParse: false, autoclose: true, maxViewMode: 0, disableTouchKeyboard: true, language: ‘en’, orientation: ‘bottom left’ }); $(elem) .datepicker() .on(‘changeDate’, function(e) { $(‘#booking_date’) .val(e.format(‘mm-dd-yyyy’)); $(‘#sidebarFiltersBookingDate’) .val(e.format(‘mm-dd-yyyy’)); fbkrTrackEvent(‘Sidebar search’, ‘Change trip date’); }); } function initializeTypeahead(elem) { var omnisearch = new Bloodhound({ name: ‘omnisearch’, datumTokenizer: Bloodhound.tokenizers.whitespace, queryTokenizer: Bloodhound.tokenizers.whitespace, remote: { url: ‘/api/searchapi?q=%QUERY’, wildcard: ‘%QUERY’ } }); omnisearch.initialize(); var charterpageSearchItemSelected = false; var elemId = ‘#’ + $(elem) .attr(‘id’); $(elem) .typeahead({ hint: true, highlight: true, minLength: 0 }, { name: ‘omnisearch’, displayKey: ‘title’, source: omnisearch.ttAdapter(), templates: { notFound: function () { return “Sorry, there are no results for your search criteria.”; }, pending: function () { return “n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n “; }, suggestion: function (data) { var suggestionIcon = resolveTypeaheadIcons(data.kind); return ‘ ‘ + data.title + ”; } } }); $(document) .on(‘typeahead:select’, elemId, function (e, o, dataSet) { fbkrTrackEvent(‘Sidebar search’, ‘Change entity’); charterpageSearchItemSelected = true; $form.attr(‘action’, o.url); $searchKind.val(o.kind); $hiddenLocationField.val(o.locationName); $hiddenFeaturedIdField.val(”); if ((o.locationName || ”).trim().length > 0) { $hiddenLocationField.val(o.locationName); } if (o.kind === ‘charter’) { $searchTriggered.val(1); $searchTriggered.removeAttr(‘disabled’); } if (!$dateField.val()) { $dateField.datepicker(‘show’); } this.blur(); displayIcons(); }); $(document) .on(‘keypress’, elemId, function (e) { if (e.which === 13 || e.keyCode === 13 || e.which === 9 || e.keyCode === 9) { if (!charterpageSearchItemSelected) { $(‘.tt-suggestion:first-child’) .trigger(‘click’); } e.stopPropagation(); e.preventDefault(); } charterpageSearchItemSelected = false; }); $(document) .on(‘focus’, elemId, function () { if ($(window) .width() < 1000) { setTimeout(function () { $(this) .select(); }.bind(this), 1); } }); } function initSelectors() { $form = $('#charter_search_form'); $searchField = $('#charterpageSearch-input'); $hiddenLocationField = $('#search_location'); $hiddenFeaturedIdField = $('#featured_id'); $searchKind = $('#search_kind'); $dateField = $('#search_booking_date'); $dateFieldContainer = $('.date-container'); $priceFrom = $('#priceFrom'); $priceTo = $('#priceTo'); $checkboxFilters = $('#filters input:checkbox'); $searchTriggered = $('#search_triggered'); initializeDatepicker($dateField); initializeTypeahead($searchField); $('.js-reset-search') .on('click', function () { $searchField.val(''); displayIcons(); }); } var $form, $searchField, $hiddenLocationField, $hiddenFeaturedIdField, $searchKind, $dateField, $dateFieldContainer, $priceFrom, $priceTo, $checkboxFilters, $searchTriggered; displayIcons(); initSelectors(); $(document) .on('submit', '#charter_search_form', function (e) { var form = this; var $btn = $(document.activeElement); var buttonTriggeredSubmit = false; var actionUrl = $(this) .attr('action') || ''; if ($btn.length && $form.has($btn) && $btn.is('button[type="submit"], input[type="submit"], input[type="image"]')) { buttonTriggeredSubmit = true; } if (buttonTriggeredSubmit) { $priceFrom.attr('disabled', 'disabled'); $priceTo.attr('disabled', 'disabled'); $checkboxFilters.attr('disabled', 'disabled'); if (actionUrl.trim().length === 0) { e.preventDefault(); alert('Sorry, we need at least a city, charter company or captain to start searching.'); $searchField.focus(); } else { e.preventDefault(); if ($searchKind.val() !== 'location') { $hiddenLocationField.attr('disabled', 'disabled'); } if ($hiddenFeaturedIdField.val().length === 0) { $hiddenFeaturedIdField.attr('disabled', 'disabled'); } fbkrTrackEvent('Sidebar search', 'Submit', $searchKind.attr('value')); if (stringEndsWith(actionUrl, '/charters/search') && navigator.geolocation) { displayIcons(); $('#search-form-input') .val("Loading current location"); navigator.geolocation.getCurrentPosition( function (position) { $(form) .find('input[name="lat"]') .val(Math.round(position.coords.latitude * 10000) / 10000) .removeAttr('disabled'); $(form) .find('input[name="lng"]') .val(Math.round(position.coords.longitude * 10000) / 10000) .removeAttr('disabled'); setTimeout(function () { this.submit(); }.bind(this), 500); }.bind(this), function () { setTimeout(function () { this.submit(); }.bind(this), 500); return false; }.bind(this), { timeout: 10000 } ); } else { setTimeout(function () { this.submit(); }.bind(this), 500); } } } }); $(document) .on('change', '#filters input:checkbox', function (e) { e.preventDefault(); e.stopPropagation(); $('#sidebar-filters-offset') .val(0); $('#sidebar-search-filters') .submit(); var action = $(this) .is(':checked') ? 'Selected' : 'Deselected', filterType = $(this) .attr('name') .replace('[]', ''), filterName = $(this) .val(); fbkrTrackEvent('FilterGroup', action, filterType); fbkrTrackEvent('FilterItem', action, filterName); }); $(document) .on('click', '.selected-additional-filter', function (e) { e.preventDefault(); $(this) .remove(); var checkbox = document.querySelectorAll('input[value="' + $(this) .attr('data-filter-param-value') + '"]')[0]; checkbox.checked = false; if ($('.selected-additional-filter').length === 0) { $('#selected-sidebar-filters') .addClass('hidden'); } $(checkbox) .trigger('change'); }); var currentRequest; $(document) .on('submit', '#sidebar-search-filters', function (e) { e.preventDefault(); e.stopPropagation(); var getParams = $(this) .serialize(); if (currentRequest && currentRequest.readyState !== 4) { currentRequest.abort(); } var startTime = new Date().getTime(); currentRequest = $.ajax({ url: 'https://fishingbooker.com/charters/view/32227?' + getParams, method: 'GET', beforeSend: function () { $('#search-result-loader') .show(); }, success: function (response) { var requestTime = new Date().getTime() - startTime; setTimeout(function () { $('#neo-search') .replaceWith(response); if ($('#empty-search-results-form').length) { fbkrTrackEvent('Search', 'Empty search results'); } initSelectors(); displayIcons(); $('html, body') .animate({ scrollTop: $('.navbar-header') .offset().top }, 'slow'); history.pushState('', '', '/charters/view/32227?' + getParams); $('[rel=tooltip]') .tooltip(); if (window.lazyLoadInstance) { window.lazyLoadInstance.update(); } $(document) .trigger('search.form.updated'); document.dispatchEvent(new CustomEvent('WishlistContentLoaded')); }, requestTime -1) return { enabled: false }; }, language: ‘en’ }); $datepicker.datepicker() .on(‘changeDate’, function (e) { $datepickerServerField.val(e.format(‘mm-dd-yyyy’)); fbkrTrackEvent(‘Availability search’, ‘Change trip date’) }); $datepickerAddon.on(‘click’, function (e) { $datepicker.datepicker(‘show’); }); }); $(document) .ready(function () { var packagesXhr = null; function addEventListenerOnNextAvailableDate() { $(‘.date-button’) .on(‘click’, function (e) { e.preventDefault(); var availableDate = $(this) .attr(‘data-date’); var bookingAvailabilityForm = $(‘#booking_date_availability_form’); var searchedDate = bookingAvailabilityForm.val(); var intervalDays = (new Date(availableDate) – new Date(searchedDate)) / 1000 / 60 / 60 / 24; if ($(‘.availability-widget’) .is(‘:visible’)) { window.fbkrTrackEvent( ‘Availability widget’, ‘Clicked’, ‘Unavailable dates’, intervalDays ); } if ($(‘.short-notice-widget’) .is(‘:visible’)) { window.fbkrTrackEvent( ‘Availability widget’, ‘Clicked’, ‘Short notice dates’, intervalDays ); } $(‘#booking_date_availability_form_search’) .datepicker(‘update’, availableDate); bookingAvailabilityForm.val(availableDate); reloadTrips(packagesXhr); }); } function scrollAndOpenCalendar(){ $(‘html, body’) .animate({ scrollTop: $(‘#booking_form_step1’) .offset().top – 50 }, 200); $datepicker.datepicker(‘show’); } addEventListenerOnNextAvailableDate(); var $datepicker = $(‘#booking_date_availability_form_search’); //hide error field for not selected package $(‘#packages-error-container’) .hide(); $(‘#packages-container’) .on(‘load’, function () { var bookingForm = $(‘#booking_form_step1’); bookingForm.off() .on(‘submit’, function (e) { var tripDate = $(‘#booking_date_availability_form’) .val(); if (tripDate === ”) { e.preventDefault(); e.stopPropagation(); scrollAndOpenCalendar(); } else { if ($(‘[id^=view-availability]’).length !== 0) { reloadTrips(packagesXhr); fbkrTrackEvent(‘Availability search’, ‘Submit’); $(‘#change-search-header’) .addClass(‘hidden’); $(‘#change-search-header-date-empty’) .removeClass(‘hidden’); if (window.FishingBooker.Globals.getDevice().isMobile) { $(‘.selected-trip-options-container’) .show(); $(‘.packages-outer-container’) .hide(); } else { $(‘.selected-trip-options-container’) .hide(); $(‘.packages-outer-container’) .show(); $(‘.packages-outer-container’) .removeClass(‘without-date’); $(‘.packages-form-header’) .find(‘input’) .css(‘padding-left’, ’12px’); $(‘.packages-form-header’) .find(‘.search-form-icon-left’) .addClass(‘hidden’); $(‘.packages-form-header’) .find(‘select, input’) .addClass(‘form-filled’); $(‘.packages-form-header’) .find(‘select, input’) .removeClass(‘arrow’); $(‘#check-availability-btn’) .addClass(‘hidden’); $(‘#change-search-btn’) .removeClass(‘hidden’); } e.preventDefault(); e.stopPropagation(); } else { resolveTripDate(); window.fbkrTrackEvent(‘Checkout’, ‘Clicked’, ‘Book now – charter view’); var prebookSpinner = $(‘#prebook-spinner’); if (prebookSpinner) { prebookSpinner.show(); } } } }); bookingForm.on(‘click’, ‘:submit’, function () { $(‘button[name=’booking_package’]’, $(this) .parents(‘form’)) .removeAttr(‘clicked’); $(this) .attr(‘clicked’, ‘true’); }); $(‘.bookbtn-single-package’) .off() .on(‘click’, function (e) { var $this = $(this); if (!$this.hasClass(‘single-package-bookbtn-mobile’) && !$this.hasClass(‘single-package-bookbtn-desktop’)) { $(‘#booking_date_availability_form_search’) .click(); $(‘.change-date-action’) .click(); if ($this.hasClass(‘check-availability’) && $(‘#booking_date_availability_form’) .val()) { setTimeout(function () { fbkrTrackEvent(‘Availability search’, ‘Submit’); reloadTrips(packagesXhr); }, 200); } else { $datepicker.datepicker(‘show’); } } }); }) .trigger(‘load’); function reloadTrips(packagesXhrItem) { var $packagesContainer = $(‘#packages-container’); var oldDate = $packagesContainer.data(‘newDate’); var oldDays = $packagesContainer.data(‘newDays’); var oldPersons = $packagesContainer.data(‘newPersons’); var newDateFormatted = $(‘#booking_date_availability_form_search’) .val(); var newDate = $(‘#booking_date_availability_form’) .val(); var newDays = $(‘#booking_days’) .val(); var newPersons = $(‘.charter-availability-form’) .find(‘[name=”booking_persons”]’) .val(); var coupon = $(‘[name=”coupon”]’) .val(); var bookingFormParams = [ { name: ‘booking_date’, value: newDate }, { name: ‘booking_days’, value: newDays }, { name: ‘booking_persons’, value: newPersons }, { name: ‘booking_children’, value: $(‘.charter-availability-container’) .find(‘input[name=”booking_children”]’) .val() } ]; if (newDate !== oldDate || newDays !== oldDays || newPersons !== oldPersons) { $packagesContainer.data(‘newDate’, newDate); $packagesContainer.data(‘newDays’, newDays); if (packagesXhrItem != null) { packagesXhrItem.abort(); } setTimeout(function () { $.ajax({ url: ‘https://fishingbooker.com/charters/view_ajax_packages/32227?’ + $.param({ booking_date: newDate, booking_days: newDays, booking_persons: $(‘.charter-availability-container’) .find(‘[name=”booking_persons”]’) .val(), booking_children: $(‘.charter-availability-container’) .find(‘input[name=”booking_children”]’) .val(), coupon: coupon }), beforeSend: function () { $(‘#change-search-btn, #check-availability-btn’) .addClass(‘disabled’); $(‘#change-search-btn, #check-availability-btn’) .attr(‘disabled’, ‘disabled’); $(‘#packages-container’) .find(‘li’) .each(function (index, elem) { $(”) .css({ position: ‘absolute’, left: ’10px’, top: ’10px’, right: ’10px’, bottom: ’10px’, zIndex: 100, backgroundColor: ‘#fff’, borderRadius: ‘3px’ }) .appendTo($(elem) .css(‘position’, ‘relative’)); }); }, success: function (response) { $packagesContainer.html(response) .trigger(‘load’); checkIfWidgetIsAvailable(); $(‘#change-search-btn, #check-availability-btn’) .removeClass(‘disabled’); $(‘#change-search-btn, #check-availability-btn’) .removeAttr(‘disabled’); //no packages available if ($(‘.packages-container-header-unavailable’)[0] !== undefined) { $(‘.recommended-charters’) .removeClass(‘hidden’); } bindPackageModalTitles(); bindTooltip(); wrongNumberOfDaysPersons(); createSwiper(); bindCollapseCallback(); addEventListenerOnNextAvailableDate(); updateCancellationPolicy(newDate); $(‘#change-search-header’) .addClass(‘hidden’); $(‘#change-search-header-date-empty’) .removeClass(‘hidden’); if (window.FishingBooker.Globals.getDevice().isMobile) { $(‘.selected-trip-options-container’) .show(); $(‘.packages-outer-container’) .hide(); } else { $(‘.selected-trip-options-container’) .hide(); $(‘.packages-outer-container’) .show(); $(‘.packages-outer-container’) .removeClass(‘without-date’); $(‘.packages-form-header’) .find(‘select, input’) .addClass(‘form-filled’) .removeClass(‘arrow’); $(‘.packages-form-header’) .find(‘input’) .css(‘padding-left’, ’12px’); $(‘.packages-form-header’) .find(‘.search-booking-persons’) .css(‘padding-left’, ’12px’); $(‘.packages-form-header’) .find(‘.search-form-icon-left’) .addClass(‘hidden’); $(‘#check-availability-btn’) .addClass(‘hidden’); $(‘#change-search-btn’) .removeClass(‘hidden’); } $(document) .trigger(‘availability.form.updated’); }, error: function () { $packagesContainer.html( ‘
Error ocurred’); } }); }, 0); } if (history.replaceState) { var currentSearchParams = new URLSearchParams(location.search); bookingFormParams.forEach(function (item) { currentSearchParams.set(item.name, item.value); }); history.replaceState(”, ”, ‘?’ + currentSearchParams.toString()); } $(‘#search_booking_date’) .datepicker(‘update’, newDateFormatted); $(‘#booking_date’) .val(newDate); $(‘a#search_booking_date’) .html(newDateFormatted); $(‘a#search_booking_days’) .html($(‘#booking_days option:selected’) .text()); $(‘a#search_booking_persons’) .html($(‘#booking_persons option:selected’) .text()); $(‘a[href*=”/charters/”]’) .each(function (index, link) { var $link = $(link); var aHref = $link.attr(‘href’); if (!aHref.match(//charters/(search|view)/)) { return; } var currentSearchParams = aHref.split(‘?’).length > 1 ? new URLSearchParams(aHref.split(‘?’)[1]) : new URLSearchParams(); bookingFormParams.forEach(function (item) { currentSearchParams.set(item.name, item.value); }); $link.attr(‘href’, aHref.split(‘?’)[0] + ‘?’ + currentSearchParams.toString()); }); addEventListenerOnNextAvailableDate(); } $(‘#search_booking_days’) .on(‘change’, function () { $(‘#booking_days’) .val($(this) .val()); }); $(‘#booking_days’) .on(‘change’, function() { fbkrTrackEvent(‘Availability search’, ‘Change days count’, $(this) .val()); }); $(‘#search_booking_persons’) .on(‘change’, function () { $(‘#booking_persons’) .val($(this) .val()); }); $(‘#check-availability-btn’) .on(‘click’, function (e) { e.preventDefault(); if (!$(‘#booking_date_availability_form’) .val()) { $datepicker.datepicker(‘show’); } else { fbkrTrackEvent(‘Availability search’, ‘Submit’); reloadTrips(packagesXhr); } }); $(‘a#search_booking_date’) .on(‘click’, function (e) { e.preventDefault(); $datepicker.datepicker(‘show’); }); $(‘#change-search-btn, #booking_date_availability_form_search, #booking_days, #booking_persons, .search-booking-persons’) .on(‘click’, function (e) {onChangeSearch(e, this);}); bindCollapseCallback(); wrongNumberOfDaysPersons(); //deprecated, forgot to remove when deleting old experiment $(document) .on(‘click’, ‘.package-read-more’, function (e) { e.stopPropagation(); packageReadMoreDescription($(this)); }); $(document) .on(‘click’, ‘.package-read-less’, function (e) { e.stopPropagation(); packageReadLessDescription($(this)); }); $(document) .on(‘click’, ‘.bpg-modal-open’, function () { $(‘#bpg-modal’) .modal(‘show’); }); $(document) .on(‘click’, ‘.js-destination-block-button’, function () { $(‘#booking_date_availability_form’) .val($(this) .attr(‘data-date’)); reloadTrips(null); }); }); function updateCancellationPolicy(newDate) { var cancellationPolicyContainer = $(‘.js-cancellation-policy-container’); $.ajax({ url: ‘https://fishingbooker.com/charters/get_cancellation_policy/32227?trip_date=’ + newDate, success: function (response) { cancellationPolicyContainer.html(response); } }); } function onScrollMobileFixedFooter() { var $fixedFooterMobile = $(‘.fixed-footer-mobile’); var $fbkrAlertContainerFixed = $(‘.fbkr-alert-container.fixed’); if ($(‘.charter-packages-container’).length === 0 || $(‘#booking_form_step1’).length === 0) { $fixedFooterMobile.hide(); return; } var breakPositionUp = $(‘#booking_form_step1’) .offset().top; var breakPositionDown = $(‘.charter-packages-container’) .position().top + $(‘.charter-packages-container’) .height(); var datePickerExist = $(‘.datepicker-dropdown’).length > 0; var isFixedFooterLarge = $fixedFooterMobile.hasClass(‘with-date-available’); var isFixedFooterInCharterPackageContainer = $(this) .scrollTop() + $(window) .height() > breakPositionUp && $(this) .scrollTop() < breakPositionDown; if (isFixedFooterInCharterPackageContainer) { if (datePickerExist) { $fixedFooterMobile.hide(); } else { $fixedFooterMobile.slideUp(); } if (isFixedFooterLarge) { $fbkrAlertContainerFixed.removeClass('fixed-footer-large'); return; } $fbkrAlertContainerFixed.removeClass('fixed-footer-small'); } else { $fixedFooterMobile.slideDown(400, function() { if (isFixedFooterLarge) { $fbkrAlertContainerFixed.addClass('fixed-footer-large'); return; } $fbkrAlertContainerFixed.addClass('fixed-footer-small'); if (isFixedFooterLarge) { $fbkrAlertContainerFixed.addClass('fixed-footer-large'); return; } $fbkrAlertContainerFixed.addClass('fixed-footer-small'); }); } } const debouncedOnScrollMobileFixedFooter = window.debounce(onScrollMobileFixedFooter, 25); function handleShouldBeVisibleMobileFixedFooter() { setTimeout(onScrollMobileFixedFooter, 400); } function offloadMobileFixedFooterEvents(){ $(document) .off('click', '#show-more-charter-description', handleShouldBeVisibleMobileFixedFooter); $(document) .off('availability.form.updated', handleShouldBeVisibleMobileFixedFooter); $(window) .off('scroll', debouncedOnScrollMobileFixedFooter); } function initializeUnboundMobileFixedFooter() { if ($(window) .width()
767 && $(this) .scrollTop() >= 65) { alertContainer.addClass(‘sticky’); } else { alertContainer.removeClass(‘sticky’); } }); var showPageViewsDestinationAlert = false; var showPeakSeasonAlert = false; var showBookingAbandonmentAlert = false; var showPageViewsListingAlert = false; var showLastBookedAlert = false; var alertsTriggered = 0; var alertsLimit = window.FishingBooker.Globals.getDevice().isMobile ? 1 : 3; var alertDelays = [4000, 7000, 10000]; if (showBookingAbandonmentAlert === true && alertsTriggered < alertsLimit) { setTimeout(function () { var alert = $('#abandonedBooking'); $(alert) .addClass('in'); $(alert) .removeClass('hidden'); setTimeout(function () { $(alert) .addClass('hidden'); $(alert) .removeClass('in'); }, 120000); $(alert) .on('click', function () { $(alert) .addClass('hidden'); $(alert) .removeClass('in'); }); }, alertDelays[alertsTriggered]); alertsTriggered++; } var alertClose = $('#cartAbandonmentButton'); $(alertClose) .on('click', function () { $.ajax({ method: 'POST', url: '/api/alertsapi/blockAlert' }); }); if (showPageViewsDestinationAlert && alertsTriggered < alertsLimit) { setTimeout(function () { var alert = $('#pageViewsDestinationAlert'); $(alert) .addClass('in'); $(alert) .removeClass('hidden'); setTimeout(function () { $(alert) .addClass('hidden'); $(alert) .removeClass('in'); }, 12000); $(alert) .on('click', function () { $(alert) .addClass('hidden'); $(alert) .removeClass('in'); }); }, alertDelays[alertsTriggered]); alertsTriggered++; } if (showPeakSeasonAlert && alertsTriggered < alertsLimit) { setTimeout(function () { var alert = $('#peakSeasonAlert'); $(alert) .addClass('in'); $(alert) .removeClass('hidden'); setTimeout(function () { $(alert) .addClass('hidden'); $(alert) .removeClass('in'); }, 12000); $(alert) .on('click', function () { $(alert) .addClass('hidden'); $(alert) .removeClass('in'); }); }, alertDelays[alertsTriggered]); alertsTriggered++; } if (showPageViewsListingAlert && alertsTriggered < alertsLimit && !window.FishingBooker.Globals.getDevice().isMobile) { setTimeout(function () { var alert = $('#pageViewsListingAlert'); $(alert) .addClass('in'); $(alert) .removeClass('hidden'); setTimeout(function () { $(alert) .addClass('hidden'); $(alert) .removeClass('in'); }, 12000); $(alert) .on('click', function () { $(alert) .addClass('hidden'); $(alert) .removeClass('in'); }); }, alertDelays[alertsTriggered]); alertsTriggered++; } if (showLastBookedAlert && alertsTriggeredSource
