{"version":3,"file":"QuestionPage.build.js","mappings":"mgBAeAA,EAAAA,EAAOC,YAAcA,EAAAA,EACrBD,EAAAA,EAAOE,YAAcA,EAAAA,EACrBF,EAAAA,EAAOG,QAAUA,EAAAA,GACjBH,EAAAA,EAAOI,OAASA,EAEhBC,EAAEC,WAAWC,SAASC,QAAQC,cAAcC,eCGxCC,OAAOC,QAAQC,aAAa,cAAe,CAEvCC,eAAgB,SAAUC,EAAOC,GAE7B,OADaJ,QAAQK,MAAMC,MAAMC,OAAO,qFAC1BC,KAAKL,EACvB,EACAM,SAAU,GACVC,SAAU,CACNC,GAAI,+BDHZ,IAAIC,EAAiBnB,EAAE,kBACpBmB,EAAeC,OAAS,IACvBD,EAAeE,UAAUC,GAAG,iBAAiB,SAAUC,GAEnD,IAAIC,EAAKD,EAAaE,QAAQ,CAAEC,MAAO,WAAYC,OAAO,KAC1DH,EAAKA,GAAMD,EAAaE,QAAQ,CAAEC,MAAO,cAAeC,OAAO,OAE3DJ,EAAaK,kBAAmB,EACxC,IACAT,EAAeE,UAAUC,GAAG,0BAA0B,SAAUC,GAC5D,IAAIM,EAAS7B,EAAE,yCAEf,GAAIuB,EAAaE,QAAQ,CAAEE,OAAO,IAAS,CAEvC,GAAY,IADD3B,EAAE,yCAAyC8B,MAElD,QAEAlC,EAAAA,EAAAA,GAAYiC,GACZN,EAAaQ,YAAYC,gBAEjC,MACIT,EAAaQ,YAAYC,gBAEjC,I,mTE5CRC,UAAUC,OAAM,WACZ,IAAIC,EAAYnC,EAAE,gBAClB,GAAImC,EAAUf,OAAS,EAAG,KAKbgB,EAAT,WACI,IAAIC,GAAUC,EAAAA,EAAAA,KACVC,EAAiBJ,EAAUK,QAAQC,GAAiBC,KAAK,iBAC7D,GAAIL,GAAW,MACX,IAAKE,EAAgB,CACjB,IAAII,EAAU3C,EAAE,eAEX4C,SAASC,GACdV,EAAUW,SAAQ,WACd,GAA+C,GAA3C9C,EAAE+C,MAAMP,QAAQC,GAAiBrB,OACjC,OAAOuB,CAEf,IACA,IAAIK,EAAWb,EAAUc,SACPD,EAASE,cAAc,CACrCC,WAAY,EACZC,cAAe,EACfC,kBAAmB,uBACnBC,qBAAsB,eACtBC,cAAc,EACdC,YAAa,aACbC,SAAU,IACXf,KAAK,kBACRgB,EAAAA,EAAAA,IACJ,OAEInB,IACkBJ,EAAUK,QAAQC,GAAiBS,cAAc,WAAWR,KAAK,iBACnFP,EAAUwB,UACVD,EAAAA,EAAAA,KAGZ,EApCMb,EAAmB,uBACnBJ,EAAkB,IAAMI,EAqC9BT,IACApC,EAAEM,QAAQsD,OAAOxB,EACrB,CACJ,G,sdCjBA,SAAStC,EAAQ+D,EAAMC,GACnB,IAAIC,EAAS,IAAIC,KAAKH,GAEtB,OADAE,EAAOE,QAAQJ,EAAKK,UAAYJ,GACzBC,CACX,C","sources":["webpack:///./js/entries/questionPage.js","webpack:///./js/validators/inquiry-validators.js","webpack:///./js/modules/left-menu.js","webpack:///./js/utils/datepicker-helper.js"],"sourcesContent":["import 'appstart';\r\n//import 'SCSSEntries/questionPage.scss';\r\nimport 'left_menu';\r\n//import 'jquery-match-height';\r\n\r\n//import 'jquery-ui';\r\n//import 'jquery-ui/ui/widgets/datepicker';\r\nimport 'Vendors/datepicker/datepicker-with-locales';\r\nimport 'parsley';\r\n\r\nimport { showSection, hideSection } from 'Utils/section';\r\nimport { /*datepickerHelpText,*/ addDays } from 'Utils/datepicker-helper';\r\nimport { InitScript_InquiryValidators } from 'SrcJS/validators/inquiry-validators';\r\n\r\n\r\nglobal.showSection = showSection;\r\nglobal.hideSection = hideSection;\r\nglobal.addDays = addDays;\r\nglobal.moment = moment;\r\n\r\n$.datepicker.regional[AppData.CurrentLocale.toLowerCase()];\r\n\r\n//global.InitScript_InquiryValidators = InitScript_InquiryValidators;\r\n//document.addEventListener(\"DOMContentLoaded\", function () {\r\n//AppLoader.ready(function () {\r\n InitScript_InquiryValidators();\r\n //$('#questionsform').parsley().refresh();\r\n\r\n let $questionsform = $('#questionsform');\r\n if($questionsform.length > 0) {\r\n $questionsform.parsley().on('form:validate', function (formInstance) {\r\n //var ok = formInstance.isValid({ group: 'Question', force: true }) && formInstance.isValid({ group: 'ContactInfo', force: true });\r\n let ok = formInstance.isValid({ group: 'Question', force: true });\r\n ok = ok && formInstance.isValid({ group: 'ContactInfo', force: true });\r\n if (!ok)\r\n formInstance.validationResult = false;\r\n });\r\n $questionsform.parsley().on('parsley:form:validated', function (formInstance) {\r\n var holder = $('.parsley-errors-list.filled.recaptcha');\r\n\r\n if (formInstance.isValid({ force: true })) {\r\n var text = $(\"textarea[name='g-recaptcha-response']\").val();\r\n if (text != \"\")\r\n return;\r\n else {\r\n showSection(holder);\r\n formInstance.submitEvent.preventDefault();\r\n }\r\n } else {\r\n formInstance.submitEvent.preventDefault();\r\n }\r\n });\r\n }\r\n\r\n//});\r\n//});\r\n\r\n\r\n//AppLoader.setReady();","import 'parsley';\r\n\r\nexport function InitScript_InquiryValidators() {\r\n /*\r\n window.ParsleyValidator\r\n .addValidator(\r\n // Name of our validator.\r\n 'OnlyLetters',\r\n\r\n // `value` will be the value entered into the field.\r\n // `requirements` will be a prefName.\r\n function (value, requirement) {\r\n assert = new Validator.Assert().Regexp('^[ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ A-Za-z.-]{2,50}$');\r\n return assert.validate(value);\r\n },\r\n // priority.\r\n 45\r\n )\r\n .addMessage('en', 'OnlyLetters', \"Only letters are allowed.\");\r\n */\r\n // NB: IMPORTANT! Be Carreful! Parsley (v.2.9.2) transforms and has mapping validator's name\r\n // html-attr of validator: data-parsley-only-letters=\"\"\r\n // Validator key-name: onlyLetters\r\n window.Parsley.addValidator('onlyLetters', {\r\n //requirementType: 'string',\r\n validateString: function (value, requirement) {\r\n let regexp = Parsley.Utils.parse.regexp('^[ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ A-Za-z.-]{2,50}$');\r\n return regexp.test(value);\r\n },\r\n priority: 45,\r\n messages: {\r\n en: \"Only letters are allowed.\"\r\n }\r\n });\r\n\r\n}","import 'raf';\r\nimport 'css-element-queries';\r\nimport 'Vendors/sticky-sidebar/jquery.sticky-sidebar';\r\nimport { GetBreakpointWidth } from 'Utils/globals-bp';\r\nimport { updateUI } from 'SrcJS/script--updateUI';\r\n\r\n//$(document).ready(function () {\r\nAppLoader.ready(function () {\r\n var $leftMenu = $('.sidebar-nav');\r\n if ($leftMenu.length > 0) {\r\n const wrapperClassName = 'sidebar-nav__wrapper';\r\n const wrapperSelector = '.' + wrapperClassName;\r\n var leftMenuSidebar = null;\r\n\r\n function apply_sidebar_leftMenu() {\r\n let bpWidth = GetBreakpointWidth();\r\n let currentSidebar = $leftMenu.closest(wrapperSelector).data('stickySidebar');\r\n if (bpWidth >= 1024) {\r\n if (!currentSidebar) {\r\n var wrapper = $('
')\r\n //.attr('id', wrapperId)\r\n .addClass(wrapperClassName);\r\n $leftMenu.wrapAll(function () {\r\n if ($(this).closest(wrapperSelector).length == 0) {\r\n return wrapper;\r\n }\r\n });\r\n let $wrapper = $leftMenu.parent();\r\n leftMenuSidebar = $wrapper.stickySidebar({\r\n topSpacing: 0,\r\n bottomSpacing: 0,\r\n containerSelector: '.sidebar-nav__parent',\r\n innerWrapperSelector: '.sidebar-nav',\r\n resizeSensor: true,\r\n stickyClass: 'is-affixed',\r\n minWidth: 0\r\n }).data('stickySidebar');\r\n updateUI();\r\n }\r\n } else {\r\n if (currentSidebar) {\r\n leftMenuSidebar = $leftMenu.closest(wrapperSelector).stickySidebar('destroy').data('stickySidebar');\r\n $leftMenu.unwrap();\r\n updateUI();\r\n }\r\n }\r\n }\r\n\r\n apply_sidebar_leftMenu();\r\n $(window).resize(apply_sidebar_leftMenu);\r\n }\r\n});","import { SearchDatesOptions } from 'KM/common-models';\r\n//import { HotelViewModel } from 'KM/HotelViewModel';\r\n//import { CombinationViewModel } from 'KM/CombinationViewModel';\r\n//import { runGoogleAdwords, updateTrivagoTracking } from 'Utils/global';\r\n//import { GetBreakpointWidth } from 'Utils/globals-bp';\r\n//import { updateQueryStringWithoutHistory } from 'Utils/global';\r\n//import { HotelSortingField, SearchResultBannerViewModel } from 'KM/common-models';\r\n//import { hideSection } from 'Utils/section';\r\n//import 'Vendors/daterangepicker/knockout.daterangepicker';\r\n//import 'Vendors/groupedSelect/knockout.groupedSelect';\r\n//import { updateUI } from 'SrcJS/script--updateUI';\r\n\r\n\r\nfunction datepickerHelpText(input) {\r\n setTimeout(function () {\r\n if ($('.ui-datepicker :last-child').is('table')) {\r\n var flgHelpText = searchViewModel.CalendarSettings() ? searchViewModel.CalendarSettings().Visible_HelpText() : !searchViewModel.HotelOnly();\r\n if (flgHelpText) {\r\n $('.ui-datepicker')\r\n .append('
' + AppData.Translations[\"calendar_helptext_green\"] + '
')\r\n .append('
' + AppData.Translations[\"calendar_helptext_blue\"] + '
');\r\n }\r\n //$('.ui-datepicker')\r\n // .append('
');\r\n var btn = $('
');\r\n btn.unbind(\"click\").bind(\"click\", function () {\r\n searchViewModel.ClearDates();\r\n $.datepicker._clearDate(input);\r\n });\r\n btn.appendTo($('.ui-datepicker'));\r\n }\r\n }, 50);\r\n};\r\n\r\nfunction addDays(date, days) {\r\n var result = new Date(date);\r\n result.setDate(date.getDate() + days);\r\n return result;\r\n};\r\n\r\nfunction get_fromDatepickerOptions(searchViewModel) {\r\n return fromDatepickerOptions = {\r\n showOn: \"both\",\r\n buttonImage: AssetImgUrl(\"kalender.png\"),\r\n buttonImageOnly: true,\r\n isRTL: false,\r\n showWeek: true,\r\n defaultDate: \"+1w\",\r\n minDate: addDays(new Date(), SearchDatesOptions.DepartureDay.Min),\r\n changeMonth: false,\r\n showOtherMonths: true,\r\n selectOtherMonths: false,\r\n numberOfMonths: 1,\r\n beforeShowDay: searchViewModel.CalendarSettings().HighlightCalendarDatesFrom,\r\n onClose: function (selectedDate, inst) {\r\n\r\n\r\n var curDate = $(this).datepicker('getDate');\r\n if (curDate) {\r\n var minDate = new Date(curDate);\r\n var maxDate = new Date(curDate);\r\n //var selectDate = new Date(curDate);\r\n var selectDate = null;\r\n minDate.setDate(curDate.getDate() + SearchDatesOptions.TravelDays.Min);\r\n //selectDate.setDate(curDate.getDate() + 7);\r\n //maxDate.setDate(curDate.getDate() + 20);\r\n //maxDate.setDate(curDate.getDate() + 7);\r\n /*2017-03-21 If ReturnDate is more 21days Then set current selected date pluss 2days */\r\n maxDate.setDate(curDate.getDate() + SearchDatesOptions.TravelDays.Max);\r\n\r\n //$(\".toDatepicker\").datepicker(\"option\", \"minDate\", minDate);\r\n\r\n /*2016-07-08 Update ReturnDate if current selected date less minDate */\r\n var toDate = $(\".toDatepicker\").datepicker(\"getDate\");\r\n $(\".toDatepicker\").datepicker(\"option\", \"minDate\", minDate);\r\n if (toDate && (toDate < minDate)) {\r\n //$(\".toDatepicker\").datepicker(\"setDate\", minDate);\r\n //searchViewModel.ReturnDate(minDate);\r\n selectDate = minDate;\r\n }\r\n /*2016-09-26 Update ReturnDate if current selected date more maxDate */\r\n if (toDate && (toDate > maxDate)) {\r\n //selectDate = maxDate;\r\n /*2017-03-21 If ReturnDate is more 21days Then set current selected date pluss 2days */\r\n selectDate = new Date(curDate);\r\n selectDate.setDate(curDate.getDate() + 2);\r\n }\r\n if (selectDate != null) {\r\n $(\".toDatepicker\").datepicker(\"setDate\", selectDate);\r\n searchViewModel.ReturnDate(selectDate);\r\n }\r\n\r\n /* Do not select return date automatically\r\n $(\".toDatepicker\").datepicker(\"setDate\", selectDate);\r\n searchViewModel.ReturnDate(selectDate);\r\n */\r\n\r\n //inst.lastVal is always equals with selectedDate\r\n var oldValue = $(inst.input).attr('data-value-old');\r\n if (selectedDate && selectedDate != \"\" && oldValue !== selectedDate) {\r\n var $holder = $(this).parents('.search');\r\n if ($holder && $holder.length > 0) {\r\n var $toDatepicker = $holder.find('.toDatepicker');\r\n if ($toDatepicker && $toDatepicker.length > 0) {\r\n setTimeout(function () {\r\n $toDatepicker.datepicker('show');\r\n }, 50);\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n },\r\n //beforeShow: datepickerHelpText,\r\n beforeShow: function (input) {\r\n $input = $(input);\r\n $input.attr('data-value-old', $input.val());\r\n datepickerHelpText(input);\r\n },\r\n onChangeMonthYear: datepickerHelpText,\r\n };\r\n}\r\n\r\nfunction get_toDatepickerOptions(searchViewModel) {\r\n return toDatepickerOptions = {\r\n showOn: \"both\",\r\n buttonImage: AssetImgUrl(\"kalender.png\"),\r\n buttonImageOnly: true,\r\n isRTL: false,\r\n showWeek: true,\r\n defaultDate: \"+1w\",\r\n changeMonth: false,\r\n showOtherMonths: true,\r\n selectOtherMonths: false,\r\n numberOfMonths: 1,\r\n beforeShowDay: searchViewModel.CalendarSettings().HighlightCalendarDatesTo,\r\n onClose: function (selectedDate) {\r\n //$(\".fromDatepicker\").datepicker(\"option\", \"maxDate\", selectedDate);\r\n },\r\n beforeShow: datepickerHelpText,\r\n onChangeMonthYear: datepickerHelpText,\r\n };\r\n}\r\n\r\nexport { datepickerHelpText, addDays, get_fromDatepickerOptions, get_toDatepickerOptions }"],"names":["global","showSection","hideSection","addDays","moment","$","datepicker","regional","AppData","CurrentLocale","toLowerCase","window","Parsley","addValidator","validateString","value","requirement","Utils","parse","regexp","test","priority","messages","en","$questionsform","length","parsley","on","formInstance","ok","isValid","group","force","validationResult","holder","val","submitEvent","preventDefault","AppLoader","ready","$leftMenu","apply_sidebar_leftMenu","bpWidth","GetBreakpointWidth","currentSidebar","closest","wrapperSelector","data","wrapper","addClass","wrapperClassName","wrapAll","this","$wrapper","parent","stickySidebar","topSpacing","bottomSpacing","containerSelector","innerWrapperSelector","resizeSensor","stickyClass","minWidth","updateUI","unwrap","resize","date","days","result","Date","setDate","getDate"],"sourceRoot":""}