/* global $this: true */ /* eslint no-unused-vars: ["error", { "varsIgnorePattern": "animationsSlider" }] */ if ($.cookie('themeCSSpath')) { $('link#theme-stylesheet').attr('href', $.cookie('themeCSSpath')) } if ($.cookie('themeLayout')) { $('body').addClass($.cookie('themeLayout')) } $(function () { sliderHomepage() sliders() fullScreenContainer() productDetailGallery(4000) menuSliding() productDetailSizes() utils() animations() demo() contactForm() trackLeads() }) function trackLeads() { $(document).on("submitted.drip", function(){ fbq('track', 'Lead'); }); } function showSignUpForm() { _dcq.push(["showForm", { id: "232740098" }]); } // Ajax contact function contactForm () { var URL = 'https://tv9r15lq1k.execute-api.us-east-1.amazonaws.com/beta/contact' $('#contact-form').submit(function (event) { event.preventDefault() var data = { name: $('#name').val(), email: $('#email').val(), description: $('#message').val() } $.ajax({ type: 'POST', url: URL, dataType: 'json', contentType: 'application/json', data: JSON.stringify(data), success: function () { $('#contact-form')[0].reset() $('#contact-message') .html('') .fadeIn() // clear form and show a success message }, error: function () { // show an error message } }) }) } // var URL = '/contact' // $('#contact-form').submit(function (event) { // event.preventDefault() // var data = { // name: $('#name-input').val(), // email: $('#email-input').val(), // description: $('#description-input').val() // } // $.ajax({ // type: 'POST', // url: URL, // dataType: 'json', // contentType: 'application/json', // data: JSON.stringify(data), // success: function () { // // clear form and show a success message // }, // error: function () { // // show an error message // } // }) // }) /* for demo purpose only - can be deleted */ function demo () { if ($.cookie('themeCSSpath')) { $('link#theme-stylesheet').attr('href', $.cookie('themeCSSpath')) } $('#colour').change(function () { if ($(this).val() !== '') { var themeCSSpath = 'css/style.' + $(this).val() + '.css' $('link#theme-stylesheet').attr('href', themeCSSpath) $.cookie('themeCSSpath', themeCSSpath, {expires: 365, path: '/'}) } return false }) $('#layout').change(function () { if ($(this).val() !== '') { var themeLayout = $(this).val() $('body').removeClass('wide') $('body').removeClass('boxed') $('body').addClass(themeLayout) $.cookie('themeLayout', themeLayout, {expires: 365, path: '/'}) } return false }) } /* slider homepage */ function sliderHomepage () { if ($('#slider').length) { // var owl = $('#slider') $('#slider').owlCarousel({ autoPlay: 3000, items: 4, itemsDesktopSmall: [900, 3], itemsTablet: [600, 3], itemsMobile: [500, 2] }) } } /* sliders */ function sliders () { if ($('.owl-carousel').length) { $('.customers').owlCarousel({ items: 3, center: true, itemsDesktopSmall: [990, 4], itemsTablet: [768, 2], itemsMobile: [480, 1] }) $('.testimonials').owlCarousel({ items: 3, center: true, itemsDesktopSmall: [990, 3], itemsTablet: [768, 2], itemsMobile: [480, 1] }) $('.project').owlCarousel({ navigation: true, // Show next and prev buttons navigationText: ['', ''], slideSpeed: 300, paginationSpeed: 400, autoPlay: true, stopOnHover: true, singleItem: true, afterInit: '', lazyLoad: true }) $('.homepage').owlCarousel({ navigation: false, // Show next and prev buttons navigationText: ['', ''], slideSpeed: 2000, paginationSpeed: 1000, autoPlay: true, stopOnHover: true, singleItem: true, lazyLoad: false, addClassActive: true, afterInit: function () { // animationsSlider() }, afterMove: function () { // animationsSlider() } }) } } /* menu sliding */ function menuSliding () { $('.dropdown').on('show.bs.dropdown', function () { if ($(window).width() > 750) { $(this).find('.dropdown-menu').first().stop(true, true).slideDown() } else { $(this).find('.dropdown-menu').first().stop(true, true).show() } }) $('.dropdown').on('hide.bs.dropdown', function () { if ($(window).width() > 750) { $(this).find('.dropdown-menu').first().stop(true, true).slideUp() } else { $(this).find('.dropdown-menu').first().stop(true, true).hide() } }) } /* animations */ function animations () { var delayTime = 0 $('[data-animate]').css({opacity: '0'}) $('[data-animate]').waypoint(function () { delayTime += 150 $(this).delay(delayTime).queue(function (next) { $(this).toggleClass('animated') $(this).toggleClass($(this).data('animate')) delayTime = 0 next() // $(this).removeClass('animated') // $(this).toggleClass($(this).data('animate')) }) }, { offset: '90%', triggerOnce: true }) $('[data-animate-hover]').hover(function () { $(this).css({opacity: 1}) $(this).addClass('animated') $(this).removeClass($(this).data('animate')) $(this).addClass($(this).data('animate-hover')) }, function () { $(this).removeClass('animated') $(this).removeClass($(this).data('animate-hover')) }) } function animationsSlider () { var delayTimeSlider = 400 $('.owl-item:not(.active) [data-animate-always]').each(function () { $(this).removeClass('animated') $(this).removeClass($(this).data('animate-always')) $(this).stop(true, true, true).css({opacity: 0}) }) $('.owl-item.active [data-animate-always]').each(function () { delayTimeSlider += 500 $(this).delay(delayTimeSlider).queue(function () { $(this).addClass('animated') $(this).addClass($(this).data('animate-always')) console.log($(this).data('animate-always')) }) }) } /* counters */ // function counters () { // $('.counter').counterUp({ // delay: 10, // time: 1000 // }) // } /* picture zoom */ function pictureZoom () { $('.product .image, .post .image, .photostream div').each(function () { var imgHeight = $(this).find('img').height() if (imgHeight) { $(this).height(imgHeight) } }) } /* full screen intro */ function fullScreenContainer () { var screenWidth = $(window).width() + 'px' var screenHeight = '500px' if ($(window).height() > 500) { screenHeight = $(window).height() + 'px' } $('#intro, #intro .item').css({ width: screenWidth, height: screenHeight }) } function utils () { /* tooltips */ $('[data-toggle="tooltip"]').tooltip() /* click on the box activates the radio */ $('#checkout').on('click', '.box.shipping-method, .box.payment-method', function () { var radio = $(this).find(':radio') radio.prop('checked', true) }) /* click on the box activates the link in it */ $('.box.clickable').on('click', function () { window.location = $(this).find('a').attr('href') }) /* external links in new window */ $('.external').on('click', function (e) { e.preventDefault() window.open($(this).attr('href')) }) /* animated scrolling */ $('.scroll-to, .scroll-to-top').click(function (event) { var fullUrl = this.href var parts = fullUrl.split('#') if (parts.length > 1) { scrollTo(fullUrl) event.preventDefault() } }) function getPosition(elem) { // crossbrowser version var box = elem.getBoundingClientRect(); var body = document.body; var docEl = document.documentElement; var scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop; var scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft; var clientTop = docEl.clientTop || body.clientTop || 0; var clientLeft = docEl.clientLeft || body.clientLeft || 0; var top = box.top + scrollTop - clientTop; var left = box.left + scrollLeft - clientLeft; return { y: Math.round(top), x: Math.round(left) }; } function scrollTo (fullUrl) { var parts = fullUrl.split('#') var trgt = parts[1] var rect = getPosition($('#' + trgt)[0]) var offset = $('#navbar').height() var offsetHeader = $('header').height() var targetTop = rect.y - offset - offsetHeader; if (targetTop < 0) { targetTop = 0 } $('html, body').animate({ scrollTop: targetTop }, 1000) } } /* product detail gallery */ function productDetailGallery (confDetailSwitch) { $('.thumb:first').addClass('active') var timer = setInterval(autoSwitch, confDetailSwitch) $('.thumb').click(function (e) { switchImage($(this)) clearInterval(timer) timer = setInterval(autoSwitch, confDetailSwitch) e.preventDefault() }) $('#mainImage').hover(function () { clearInterval(timer) }, function () { timer = setInterval(autoSwitch, confDetailSwitch) }) function autoSwitch () { var nextThumb = $('.thumb.active').closest('div').next('div').find('.thumb') if (nextThumb.length === 0) { nextThumb = $('.thumb:first') } switchImage(nextThumb) } function switchImage (thumb) { $('.thumb').removeClass('active') var bigUrl = thumb.attr('href') thumb.addClass('active') $('#mainImage img').attr('src', bigUrl) } } /* product detail sizes */ function productDetailSizes () { $('.sizes a').click(function (e) { e.preventDefault() $('.sizes a').removeClass('active') $('.size-input').prop('checked', false) $(this).addClass('active') $(this).next('input').prop('checked', true) }) } $.fn.alignElementsSameHeight = function () { $('.same-height-row').each(function () { var maxHeight = 0 var children = $(this).find('.same-height') children.height('auto') if ($(window).width() > 768) { children.each(function () { if ($(this).innerHeight() > maxHeight) { maxHeight = $(this).innerHeight() } }) children.innerHeight(maxHeight) } maxHeight = 0 children = $(this).find('.same-height-always') children.height('auto') children.each(function () { if ($(this).height() > maxHeight) { maxHeight = $(this).innerHeight() } }) children.innerHeight(maxHeight) }) } var windowWidth $(function () { windowWidth = $(window).width() $(this).alignElementsSameHeight() pictureZoom() }) $(window).resize(function () { var newWindowWidth = $(window).width() if (windowWidth !== newWindowWidth) { setTimeout(function () { $(this).alignElementsSameHeight() fullScreenContainer() pictureZoom() }, 205) windowWidth = newWindowWidth } })