{"version":3,"sources":["main.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;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;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;AACA","file":"main.js","sourcesContent":["var isMobile = false;\r\nvar isiPhoneiPad = false;\r\n\r\nif (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {\r\n isMobile = true;\r\n}\r\nif (/iPhone|iPad|iPod/i.test(navigator.userAgent)) {\r\n isiPhoneiPad = true;\r\n}\r\n\r\n$(window).scroll(function () {\r\n if ($(this).scrollTop() > 50) {\r\n $('.navbar').addClass('add_class')\r\n $('.brand').addClass('add_class')\r\n } else {\r\n $('.navbar').removeClass('add_class')\r\n $('.brand').removeClass('add_class')\r\n }\r\n});\r\n\r\nvar cartPopup = '.cart_popup';\r\nvar cartBtnId = '#cart';\r\n$(cartBtnId).click(function () {\r\n $(cartPopup).toggleClass('active');\r\n});\r\n$(document).click(function (e) {\r\n if (!$(e.target).parents().andSelf().is(cartBtnId)) {\r\n $(cartPopup).removeClass(\"active\");\r\n }\r\n});\r\n$(cartPopup).click(function (e) {\r\n e.stopPropagation();\r\n});\r\n\r\n// Mobile Menu\r\n$(\".navbar-nav\").clone().prependTo(\"#off-canvas\");\r\n\r\n$(function() {\r\n $(document).trigger(\"enhance\");\r\n});\r\n\r\n$('#off-canvas').offcanvas({\r\n// options\r\n});\r\n\r\n// $('.dropdown-submenu>a').on(\"click\", function(e){\r\n// $(this).next('ul').toggle();\r\n// e.stopPropagation();\r\n// e.preventDefault();\r\n// });\r\n\r\n$('.dropdown>a').on(\"click\", function(e){\r\n $(this).toggleClass('open');\r\n});\r\n$('.dropdown-submenu>a').on(\"click\", function(e){\r\n $(this).toggleClass('open');\r\n});\r\n\r\n\r\njQuery(document).ready(function ($) {\r\n\r\n var $sync1 = $(\".big-images\"),\r\n $sync2 = $(\".thumbs\"),\r\n flag = false,\r\n duration = 300;\r\n\r\n $sync1\r\n .owlCarousel({\r\n items: 1,\r\n margin: 10,\r\n nav: true,\r\n dots: true,\r\n navText : [\"\",\"\"],\r\n responsive:{\r\n 0 :{\r\n dots: true,\r\n nav:false,\r\n },\r\n 768:{\r\n dots: false,\r\n nav:true,\r\n }\r\n }\r\n })\r\n .on('changed.owl.carousel', function (e) {\r\n if (!flag) {\r\n flag = true;\r\n $sync2.trigger('to.owl.carousel', [e.item.index, duration, true]);\r\n flag = false;\r\n }\r\n });\r\n\r\n $sync2\r\n .owlCarousel({\r\n margin: 4,\r\n items: 4,\r\n nav: false,\r\n center: false,\r\n dots: false,\r\n responsive:{\r\n 0 :{\r\n margin: 4,\r\n items: 3\r\n },\r\n 768 :{\r\n margin: 4,\r\n items: 4\r\n }\r\n }\r\n })\r\n .on('click', '.owl-item', function () {\r\n $sync1.trigger('to.owl.carousel', [$(this).index(), duration, true]);\r\n\r\n })\r\n .on('changed.owl.carousel', function (e) {\r\n if (!flag) {\r\n flag = true;\r\n $sync1.trigger('to.owl.carousel', [e.item.index, duration, true]);\r\n flag = false;\r\n }\r\n });\r\n\r\n // Tooltip\r\n $('[data-toggle=\"tooltip\"]').tooltip();\r\n // discount\r\n $('.discountTag').on('click', function(){\r\n alert('購買『點折商品』,結帳時將享有更多優惠哦!');\r\n });\r\n});\r\n// $(function () {\r\n// var austDay = new Date();\r\n// austDay = new Date(austDay.getFullYear() + 1, 1 - 1, 1);\r\n// $('.defaultCountdown').countdown({until:austDay,\r\n// layout: '{hn} {hl}{mn} {ml}{sn} {sl}'});\r\n// });\r\n\r\n$('.like_btn').click(function(){\r\n $(this).find('i').toggleClass('fa-heart').toggleClass('fa-heart-o');\r\n});\r\n\r\n// Footer Banner\r\n$(function(){\r\n $(\".ft_bnr_crsl\").owlCarousel({\r\n loop: true,\r\n margin: 5,\r\n autoplay: true,\r\n autoplayTimeout:2000,\r\n touchDrag: true,\r\n mouseDrag: true,\r\n dots: false,\r\n nav: true,\r\n navText: [\"\", \"\"],\r\n responsive: {\r\n 0: {\r\n dots: true,\r\n nav: false,\r\n items: 3\r\n },\r\n 576: {\r\n dots: true,\r\n nav: false,\r\n items: 4\r\n },\r\n 768: {\r\n dots: false,\r\n nav: true,\r\n items: 6\r\n },\r\n 992: {\r\n items: 6\r\n }\r\n }\r\n });\r\n\r\n $('#ya-search-btn').on('click', function(){\r\n var form = $(this).closest('form');\r\n form.submit();\r\n });\r\n\r\n var reCaptchaKey = $('#reCaptchaKey').val();\r\n var loginUrl = $('#ajaxLogin').val();\r\n var token = $('#ajaxToken').val();\r\n $('.loginBtn').on('click', function(){\r\n\r\n var btn = $(this);\r\n var form = $(this).closest('form');\r\n var data = form.serialize();\r\n var alertDiv = $(\"#alert\");\r\n form.find('[name=\"g-recaptcha-token\"]').val('');\r\n grecaptcha.ready(function() {\r\n grecaptcha.execute(reCaptchaKey, {action: 'login'})\r\n .then(function(token) {\r\n // Verify the token on the server.\r\n form.find('[name=\"g-recaptcha-token\"]').val(token);\r\n });\r\n });\r\n\r\n if(form.get(0).checkValidity()){\r\n }else{\r\n var invalids = form.find(':invalid');\r\n var $invalid = $(invalids[0]);\r\n $invalid.focus();\r\n var placeholder = $invalid.attr('placeholder');\r\n if(placeholder){\r\n alert(placeholder);\r\n }\r\n return false\r\n }\r\n\r\n btn.attr('disabled', true);\r\n var timePress = 10;\r\n var checkToken = setInterval(doLogIn, 10);\r\n\r\n function doLogIn(){\r\n if(form.find('[name=\"g-recaptcha-token\"]').val() !== ''){\r\n clearInterval(checkToken);\r\n data = form.serialize();\r\n\r\n $.ajax({\r\n url: loginUrl,\r\n type: 'POST',\r\n dataType: 'json',\r\n data: data,\r\n success: function (json) {\r\n // console.log(json);\r\n if(json.status === 1){\r\n // alert(json.message);\r\n alertDiv.show();\r\n alertDiv.text(json.message);\r\n if(alertDiv.hasClass('alert-danger')){\r\n alertDiv.removeClass('alert-danger');\r\n }\r\n alertDiv.addClass('alert-success');\r\n alertDiv.alert();\r\n setTimeout(function(){\r\n window.location.href = json.to;\r\n btn.removeAttr('disabled');\r\n }, 500);\r\n }else{\r\n alertDiv.show();\r\n alertDiv.text(json.message);\r\n if(alertDiv.hasClass('alert-success')){\r\n alertDiv.removeClass('alert-success');\r\n }\r\n alertDiv.addClass('alert-danger');\r\n alertDiv.alert();\r\n btn.removeAttr('disabled');\r\n alert('登入失敗: '+json.message);\r\n }\r\n return false;\r\n }\r\n }).fail(function (xhr, status, error) {\r\n btn.removeAttr('disabled');\r\n if(xhr.status === 422){\r\n var json = xhr.responseJSON;\r\n for(key in json){\r\n alert(json[key][0]);\r\n }\r\n }else{\r\n alert(xhr.responseText);\r\n }\r\n return false;\r\n });\r\n }else{\r\n timePress += 10;\r\n }\r\n }\r\n });\r\n\r\n $('.registerBtn').on('click', function () {\r\n var timePress = 10;\r\n var btn = $(this);\r\n var form = $(this).closest('form');\r\n var data = form.serialize();\r\n if(form.get(0).checkValidity()){\r\n }else{\r\n var invalids = form.find(':invalid');\r\n var $invalid = $(invalids[0]);\r\n $invalid.focus();\r\n var placeholder = $invalid.attr('placeholder');\r\n if(placeholder){\r\n alert(placeholder);\r\n }\r\n return false\r\n }\r\n\r\n btn.attr('disabled', true);\r\n\r\n form.find('[name=\"g-recaptcha-token\"]').val('');\r\n grecaptcha.ready(function() {\r\n grecaptcha.execute(reCaptchaKey, {action: 'login'})\r\n .then(function(token) {\r\n form.find('[name=\"g-recaptcha-token\"]').val(token);\r\n });\r\n });\r\n btn.attr('disabled', true);\r\n var checkToken = setInterval(doSubmit, 10);\r\n\r\n function doSubmit(){\r\n if(form.find('[name=\"g-recaptcha-token\"]').val() !== ''){\r\n form.submit();\r\n console.log('timePress:', timePress);\r\n clearInterval(checkToken);\r\n }else{\r\n console.log('timePress:', timePress);\r\n timePress += 10;\r\n }\r\n }\r\n });\r\n});\r\n\r\n(function() {\r\n\r\n window.inputNumber = function(el) {\r\n\r\n var min = el.attr('min') || false;\r\n var max = el.attr('max') || false;\r\n\r\n var els = {};\r\n\r\n els.dec = el.prev();\r\n els.inc = el.next();\r\n\r\n el.each(function() {\r\n init($(this));\r\n });\r\n\r\n function init(el) {\r\n\r\n els.dec.on('click', decrement);\r\n els.inc.on('click', increment);\r\n\r\n function decrement() {\r\n var value = el[0].value;\r\n value--;\r\n if(!min || value >= min) {\r\n el[0].value = value;\r\n }\r\n el.trigger('change');\r\n }\r\n function increment() {\r\n var value = el[0].value;\r\n value++;\r\n if(!max || value <= max) {\r\n el[0].value = value++;\r\n }\r\n el.trigger('change');\r\n }\r\n }\r\n }\r\n})();\r\n\r\ninputNumber($('.input-number>input'));"]}