{"version":3,"sources":["future.js","resizeEvents.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"app.js","sourcesContent":["var today = new Date();\r\nvar date = null;\r\n\r\n$(document).ready(function () {\r\n setFooterHeight();\r\n});\r\n\r\nfunction registerDatalayerEvent(datalayerEvent)\r\n{\r\n var dataLayer = parent.window.dataLayer || [];\r\n dataLayer.push(datalayerEvent);\r\n}\r\n\r\n// Set correct footer height based on size.\r\nfunction setFooterHeight() {\r\n var height = $('footer').height('auto').outerHeight();\r\n\r\n $('footer').css({\r\n height: height\r\n });\r\n\r\n $('.page-content').css({\r\n 'min-height': 'calc(100% - ' + height + 'px)'\r\n });\r\n\r\n $('footer').css({\r\n visibility: \"visible\"\r\n }).animate({\r\n opacity: 1.0\r\n });\r\n}\r\n\r\n// Return correct date representation from a Future string parameter type \r\nfunction getDisplayDate(dateString)\r\n{\r\n // Format is ddMMyyyyHHmm\r\n var date = moment(dateString).format(\"DD.MM.YY HH:mm\");\r\n return date;\r\n}\r\n\r\n// Create a ul with validation messages\r\nfunction CreateValidationList(validationMessages) {\r\n // Create the list element:\r\n var list = document.createElement('ul');\r\n\r\n for (var i = 0; i < validationMessages.length; i++) {\r\n // Create the list item:\r\n var item = document.createElement('li');\r\n\r\n // Set its contents:\r\n item.appendChild(document.createTextNode(validationMessages[i]));\r\n\r\n // Add it to the list:\r\n list.appendChild(item);\r\n }\r\n\r\n // Finally, return the constructed list:\r\n return list;\r\n}\r\n\r\n\r\nfunction filterDisabledDates(datesObj) {\r\n disabledDates = [];\r\n datesObj.forEach(function (dateObj) {\r\n // If a date has less than 30 minutes available, disable the date.\r\n if (dateObj.AvailableMinutes < 30) {\r\n disabledDates.push(new Date(dateObj.Date).addHours(3));\r\n }\r\n });\r\n return disabledDates;\r\n}\r\n\r\nfunction disabledDatesCallback(data, status) {\r\n // Get disabled dates\r\n var disabledDates = filterDisabledDates(data);\r\n\r\n // Update datepicker with disabled dates\r\n $datePicker.datepicker('setDatesDisabled', disabledDates);\r\n}\r\n\r\nDate.prototype.addHours = function (h) {\r\n this.setHours(this.getHours() + h);\r\n return this;\r\n};\r\n\r\nfunction displayAvailableHours() {\r\n $('#appointmentSelector').show();\r\n}\r\n\r\nfunction displayConfirmation(e) {\r\n // Add time to confirmation\r\n $('.selected-appointment').html(getDisplayDate(e.target.dataset.time));\r\n $('#startTime').val(e.target.dataset.time);\r\n\r\n // Display the confirmation form\r\n $('.time-picker-list').slideUp(200, \"swing\", function () {\r\n $('.time-picker-confirm').slideDown(200, \"swing\");\r\n $('.appointment-confirmation').slideDown(200, \"swing\");\r\n $('.show-on-confirm').slideDown(200, \"swing\");\r\n });\r\n}\r\n\r\nfunction hideConfirmation() {\r\n // Display the time picker again\r\n $('.show-on-confirm').slideUp(200, \"swing\");\r\n $('.appointment-confirmation').slideUp(200, \"swing\", function () {\r\n $('.appointment-picker').slideDown(200, \"swing\");\r\n });\r\n}\r\n\r\nfunction getLoaderHtml() {\r\n return '
';\r\n}\r\n\r\nfunction redirectUrl(url) {\r\n event.preventDefault();\r\n window.location.href = url;\r\n}","//\r\n// All resize actions should be called from this timer so we don't have several running.\r\n// First part is the timer it self, which runs continously to check if the browser has been resized, and gives it 200ms before it fires the resize methods\r\n//\r\n\r\n\r\n// Timer variables\r\nvar rtime;\r\nvar timeout = false;\r\nvar delta = 200;\r\n\r\n// Variables to check if the window actually changed, or if the event was fired by $('.flexslider').resize();\r\nvar oldWindowSize = 0;\r\nvar newWindowSize = 0;\r\n\r\n// Timer that will check if the resizing is \"done\" or not. If \"done\", run methods listed in resizeDone() method. This timer will prevent the resize evenet to fire continously when while resizing, becuase it waits until the user is hopefully done.\r\nfunction resizeEnd() {\r\n if (new Date() - rtime < delta) {\r\n setTimeout(resizeEnd, delta);\r\n } else {\r\n timeout = false;\r\n // The actual moving of the cart\r\n newWindowSize = window.innerWidth;\r\n // Resize flexsliders if window size actually changed, don't do anything if it was just an inner element changing size.\r\n if (newWindowSize !== oldWindowSize) {\r\n // Set the oldWindowsSize.\r\n oldWindowSize = newWindowSize;\r\n\r\n resizeDone();\r\n }\r\n }\r\n}\r\n\r\n// Hook up to the resize event and start the timer\r\n$(document).ready(function () {\r\n $(window).resize(function () {\r\n rtime = new Date();\r\n if (timeout === false) {\r\n timeout = true;\r\n setTimeout(resizeEnd, delta);\r\n }\r\n });\r\n});\r\n\r\n//\r\n// Method that will call all our sub methods when screen has been resized\r\n//\r\nfunction resizeDone() {\r\n\r\n //\r\n // LIST ALL FUNCTIONS THAT SHOULD BE FIRED WHEN RESIZE IS DONE HERE\r\n //\r\n\r\n setFooterHeight();\r\n\r\n}"]}