/* * Title: Travelo | Responsive HTML5 Travel Template - Main Javascript file * Author: http://themeforest.net/user/soaptheme */ String.prototype.lpad = function(padString, length) { var str = this; while (str.length < length) str = padString + str; return str; } tjq.fn.removeClassPrefix = function(prefix) { this.each(function(i, el) { var classes = el.className.split(" ").filter(function(c) { return c.lastIndexOf(prefix, 0) !== 0; }); el.className = classes.join(" "); }); return this; }; // middle block plugin(set image in the middle of its parent object) ;(function(window, document, $) { var middleblock; var prototype = $.fn; middleblock = prototype.middleblock = function() { var $this = this; if ($(this).is(":visible")) { $this.bind("set.middleblock", set_middle_block).trigger('set.middleblock'); } return $this; }; function set_middle_block(event, value) { var $this = $(this); var $middleItem = $this.find(".middle-item"); if ($middleItem.length < 1) { $middleItem = $this.children("img"); } if ($middleItem.length < 1) { return; } var width = $middleItem.width(); var height = $middleItem.height(); if ($this.width() <= 1) { var parentObj = $this; while (parentObj.width() <= 1) { parentObj = parentObj.parent(); } $this.css("width", parentObj.width() + "px"); } $this.css("position", "relative"); $middleItem.css("position", "absolute"); if ($this.hasClass("middle-block-auto-height")) { $this.removeClass("middle-block-auto-height"); $this.height(0); } if ($this.height() <= 1) { var parentObj = $this; while (parentObj.height() <= 1) { if (parentObj.css("float") =="left" && parentObj.index() == 0 && parentObj.next().length > 0) { parentObj = parentObj.next(); } else if (parentObj.css("float") == "left" && parentObj.index() > 0) { parentObj = parentObj.prev(); } else { parentObj = parentObj.parent(); } } $this.css("height", parentObj.outerHeight() + "px"); $this.addClass("middle-block-auto-height"); width = $middleItem.width(); height = $middleItem.height(); if (height <= 1) { height = parentObj.outerHeight(); } } $middleItem.css("top", "50%"); $middleItem.css("margin-top", "-" + (height / 2) + "px"); if (width >= 1) { /*if ($this.width() == width) { $this.width(width); }*/ $middleItem.css("left", "50%"); $middleItem.css("margin-left", "-" + (width / 2) + "px"); } else { $middleItem.css("left", "0"); } } }(this, document, jQuery)); /* jQuery CounTo plugin */ (function(a){a.fn.countTo=function(g){g=g||{};return a(this).each(function(){function e(a){a=b.formatter.call(h,a,b);f.html(a)}var b=a.extend({},a.fn.countTo.defaults,{from:a(this).data("from"),to:a(this).data("to"),speed:a(this).data("speed"),refreshInterval:a(this).data("refresh-interval"),decimals:a(this).data("decimals")},g),j=Math.ceil(b.speed/b.refreshInterval),l=(b.to-b.from)/j,h=this,f=a(this),k=0,c=b.from,d=f.data("countTo")||{};f.data("countTo",d);d.interval&&clearInterval(d.interval);d.interval= setInterval(function(){c+=l;k++;e(c);"function"==typeof b.onUpdate&&b.onUpdate.call(h,c);k>=j&&(f.removeData("countTo"),clearInterval(d.interval),c=b.to,"function"==typeof b.onComplete&&b.onComplete.call(h,c))},b.refreshInterval);e(c)})};a.fn.countTo.defaults={from:0,to:0,speed:1E3,refreshInterval:100,decimals:0,formatter:function(a,e){return a.toFixed(e.decimals)},onUpdate:null,onComplete:null}})(jQuery); if (typeof enableChaser == "undefined") { enableChaser = 1 // Enable Chaser menu (open on scroll) ? 1 - Yes / 0 - No } /* on stage plugin */ ;(function(window, document, $) { var onstage; var prototype = $.fn; onstage = prototype.onstage = function() { var scrollTop = tjq(window).scrollTop(); var windowHeight = tjq(window).height(); var $this = this; if ($this.offset().top + $this.height() * 0.9 <= scrollTop + windowHeight && $this.offset().top + $this.height() * 0.9 > scrollTop) { return true; } return false; }; }(this, document, jQuery)); /*if(enableChaser == 1) { tjq(window).load(function() { }); }*/ /* disable click before loading page */ tjq("body").on("click", "a.popup-gallery", function(e) { e.preventDefault(); return false; }); function changeTraveloElementUI() { // change UI of select box tjq(".selector select").each(function() { var obj = tjq(this); if (obj.parent().children(".custom-select").length < 1) { obj.after("" + obj.children("option:selected").html() + ""); if (obj.hasClass("white-bg")) { obj.next("span.custom-select").addClass("white-bg"); } if (obj.hasClass("full-width")) { //obj.removeClass("full-width"); //obj.css("width", obj.parent().width() + "px"); //obj.next("span.custom-select").css("width", obj.parent().width() + "px"); obj.next("span.custom-select").addClass("full-width"); } } }); tjq("body").on("change", ".selector select", function() { if (tjq(this).next("span.custom-select").length > 0) { tjq(this).next("span.custom-select").text(tjq(this).children("option:selected").text()); } }); tjq("body").on("keydown", ".selector select", function() { if (tjq(this).next("span.custom-select").length > 0) { tjq(this).next("span.custom-select").text(tjq(this).children("option:selected").text()); } }); // change UI of file input tjq(".fileinput input[type=file]").each(function() { var obj = tjq(this); if (obj.parent().children(".custom-fileinput").length < 1) { obj.after(''); if (typeof obj.data("placeholder") != "undefined") { obj.next(".custom-fileinput").attr("placeholder", obj.data("placeholder")); } if (typeof obj.prop("class") != "undefined") { obj.next(".custom-fileinput").addClass(obj.prop("class")); } obj.parent().css("line-height", obj.outerHeight() + "px"); } }); tjq(".fileinput input[type=file]").on("change", function() { var fileName = this.value; var slashIndex = fileName.lastIndexOf("\\"); if (slashIndex == -1) { slashIndex = fileName.lastIndexOf("/"); } if (slashIndex != -1) { fileName = fileName.substring(slashIndex + 1); } tjq(this).next(".custom-fileinput").val(fileName); }); // checkbox tjq(".checkbox input[type='checkbox'], .radio input[type='radio']").each(function() { if (tjq(this).is(":checked")) { tjq(this).closest(".checkbox").addClass("checked"); tjq(this).closest(".radio").addClass("checked"); } }); tjq(".checkbox input[type='checkbox']").bind("change", function() { if (tjq(this).is(":checked")) { tjq(this).closest(".checkbox").addClass("checked"); } else { tjq(this).closest(".checkbox").removeClass("checked"); } }); //radio tjq(".radio input[type='radio']").bind("change", function(event, ui) { if (tjq(this).is(":checked")) { var name = tjq(this).prop("name"); if (typeof name != "undefined") { tjq(".radio input[name='" + name + "']").closest('.radio').removeClass("checked"); } tjq(this).closest(".radio").addClass("checked"); } }); // datepicker tjq('.datepicker-wrap input').datepicker({ showOn: 'button', buttonImage: 'images/icon/blank.png', buttonText: '', buttonImageOnly: true, /*showOtherMonths: true,*/ minDate: 0, dayNamesMin: ["S", "M", "T", "W", "T", "F", "S"], beforeShow: function(input, inst) { var themeClass = tjq(input).parent().attr("class").replace("datepicker-wrap", ""); tjq('#ui-datepicker-div').attr("class", ""); tjq('#ui-datepicker-div').addClass("ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"); tjq('#ui-datepicker-div').addClass(themeClass); } }); // placeholder for ie8, 9 try { tjq('input, textarea').placeholder(); } catch (e) {} } tjq(document).ready(function() { changeTraveloElementUI(); }); /* display photo gallery */ function displayPhotoGallery($item) { if (!tjq.fn.flexslider || $item.length < 1 || $item.is(":hidden")) { return; } var dataAnimation = $item.data("animation"); var dataSync = $item.data("sync"); if (typeof dataAnimation == "undefined") { dataAnimation = "slide"; } var dataFixPos = $item.data("fix-control-nav-pos"); $item.flexslider({ animation: dataAnimation, controlNav: true, animationLoop: true, slideshow: true, pauseOnHover: true, sync: dataSync, start: function(slider) { if (typeof dataFixPos != "undefined" && dataFixPos == "1") { var height = tjq(slider).find(".slides img").height(); tjq(slider).find(".flex-control-nav").css("top", (height - 44) + "px"); } }, }); } /* display image carousel */ function displayImageCarousel($item) { if (!tjq.fn.flexslider || $item.length < 1 || $item.is(":hidden")) { return; } var dataAnimation = $item.data("animation"); var dataItemWidth = $item.data("item-width"); var dataItemMargin = $item.data("item-margin"); var dataSync = $item.data("sync"); if (typeof dataAnimation == "undefined") { dataAnimation = "slide"; } if (typeof dataItemWidth == "undefined") { dataItemWidth = 70; } if (typeof dataItemMargin == "undefined") { dataItemMargin = 10; } dataItemWidth = parseInt(dataItemWidth, 10); dataItemMargin = parseInt(dataItemMargin, 10); var dataAnimationLoop = true; var dataSlideshow = false; if (typeof dataSync == "undefined") { dataSync = ""; //dataAnimationLoop = true; dataSlideshow = true; } $item.flexslider({ animation: dataAnimation, controlNav: true, animationLoop: dataAnimationLoop, slideshow: dataSlideshow, itemWidth: dataItemWidth, itemMargin: dataItemMargin, minItems: 2, pauseOnHover: true, asNavFor: dataSync, start: function(slider) { if (dataSync != "") { tjq(slider).find(".slides > li").height(dataItemWidth); tjq(slider).find(".slides > li > img").each(function() { if(tjq(this).width() < 1) { tjq(this).load(function() { tjq(this).parent().middleblock(); }); } else { tjq(this).parent().middleblock(); } }); } else { tjq(slider).find(".middle-block img, .middle-block .middle-item").each(function() { if(tjq(this).width() < 1) { tjq(this).load(function() { tjq(this).closest(".middle-block").middleblock(); }); } else { tjq(this).closest(".middle-block").middleblock(); } }); } }, after: function(slider) { if (slider.currentItem == 0) { target = 0; if (slider.transitions) { target = (slider.vars.direction === "vertical") ? "translate3d(0," + target + ",0)" : "translate3d(" + target + ",0,0)"; slider.container.css("-" + slider.pfx + "-transition-duration", "0s"); slider.container.css("transition-duration", "0s"); } slider.args[slider.prop] = target; slider.container.css(slider.args); slider.container.css('transform',target); } } }); } tjq(window).load(function() { // back to top tjq("body").on("click", "#back-to-top", function(e) { e.preventDefault(); tjq("html,body").animate({scrollTop: 0}, 1000); }); // Mobile search if (tjq('#mobile-search-tabs').length > 0) { var mobile_search_tabs_slider = tjq('#mobile-search-tabs').bxSlider({ mode: 'fade', infiniteLoop: false, hideControlOnEnd: true, touchEnabled: true, pager: false, onSlideAfter: function($slideElement, oldIndex, newIndex) { tjq('a[href="' + tjq($slideElement).children("a").attr("href") + '"]').tab('show'); } }); } // Mobile menu tjq(".mobile-menu ul.menu > li.menu-item-has-children").each(function(index) { var menuItemId = "mobile-menu-submenu-item-" + index; tjq('').insertAfter(tjq(this).children("a")); /*tjq(this).children(".dropdown-toggle").click(function(e) { if (tjq(this).hasClass("collapsed")) { tjq(this).parent().addClass("open"); } else { tjq(this).parent().removeClass("open"); } });*/ tjq(this).children("ul").prop("id", menuItemId); tjq(this).children("ul").addClass("collapse"); tjq("#" + menuItemId).on("show.bs.collapse", function() { tjq(this).parent().addClass("open"); }); tjq("#" + menuItemId).on("hidden.bs.collapse", function() { tjq(this).parent().removeClass("open"); }); }); // middle block tjq(".middle-block").middleblock(); // third level menu position to left function fixPositionSubmenu() { tjq("#main-menu .menu li.menu-item-has-children >ul, .ribbon ul.menu.mini").each(function(e) { if (tjq(this).closest(".megamenu").length > 0) { return; } var leftPos = tjq(this).parent().offset().left + tjq(this).parent().width(); if (leftPos + tjq(this).width() > tjq("body").width()) { tjq(this).addClass("left"); } else { tjq(this).removeClass("left"); } }); } fixPositionSubmenu(); // chaser if (enableChaser == 1 && tjq('#content').length > 0 && tjq('#main-menu ul.menu').length > 0) { var forchBottom; var chaser = tjq('#main-menu ul.menu').clone().hide().appendTo(document.body).wrap("
"); tjq('

').insertBefore('.chaser .menu'); var forch = tjq('#content').first(); forchBottom = forch.offset().top + 2; tjq(window).on('scroll', function () { var top = tjq(document).scrollTop(); if (tjq(".chaser").is(":hidden") && top > forchBottom) { tjq(".chaser").slideDown(300); //chaser.fadeIn(300, shown); } else if (tjq(".chaser").is(":visible") && top < forchBottom) { tjq(".chaser").slideUp(200); //chaser.fadeOut(200, hidden); } }); tjq(window).on('resize', function () { var top = tjq(document).scrollTop(); if (tjq(".chaser").is(":hidden") && top > forchBottom) { tjq(".chaser").slideDown(300); } else if (tjq(".chaser").is(":visible") && top < forchBottom) { tjq(".chaser").slideUp(200); } }); tjq(".chaser").css("visibility", "hidden"); chaser.show(); fixPositionMegaMenu(".chaser"); tjq(".chaser .megamenu-menu").removeClass("light"); //chaser.hide(); tjq(".chaser").hide(); tjq(".chaser").css("visibility", "visible"); } // accordion & toggles tjq(".toggle-container .panel-collapse").each(function() { if (!tjq(this).hasClass("in")) { tjq(this).closest(".panel").find("[data-toggle=collapse]").addClass("collapsed"); } }); tjq(".toggle-container.with-image").each(function() { var type = ""; var duration = "1s"; if (typeof tjq(this).data("image-animation-type") != "undefined") { type = tjq(this).data("image-animation-type"); } if (typeof tjq(this).data("image-animation-duration") != "undefined") { duration = tjq(this).data("image-animation-duration"); } var imageHtml = '
'; tjq(this).prepend(imageHtml); if (tjq(this).find(".panel-collapse.in").length > 0) { var activeImg = tjq(this).find(".panel-collapse.in").parent().children("img"); var src = activeImg.attr("src"); var width = activeImg.attr("width"); var height = activeImg.attr("height"); var alt = activeImg.attr("alt"); var imgObj = tjq(this).find(".image-container img"); imgObj.attr("src", src); if (typeof width != "undefined") { imgObj.attr("width", width); } if (typeof height != "undefined") { imgObj.attr("height", height); } if (typeof alt != "undefined") { imgObj.attr("alt", alt); } tjq(this).children(".image-container").show(); } }); tjq('.toggle-container.with-image').on('show.bs.collapse', function (e) { var activeImg = tjq(e.target).parent().children("img"); if (activeImg.length > 0) { var src = activeImg.attr("src"); var width = activeImg.attr("width"); var height = activeImg.attr("height"); var alt = activeImg.attr("alt"); var imgObj = tjq(this).find(".image-container img"); imgObj.attr("src", src); if (typeof width != "undefined") { imgObj.attr("width", width); } if (typeof height != "undefined") { imgObj.attr("height", height); } if (typeof alt != "undefined") { imgObj.attr("alt", alt); } imgObj.parent().css("visibility", "hidden"); imgObj.parent().removeClass(imgObj.parent().data("animation-type")); setTimeout(function() { imgObj.parent().addClass(imgObj.parent().data("animation-type")); imgObj.parent().css("visibility", "visible"); }, 10); } }); tjq('.toggle-container.with-image').on('shown.bs.collapse', function (e) { //e.target }); // alert, info box tjq("body").on("click", ".alert > .close, .info-box > .close", function() { tjq(this).parent().fadeOut(300); }); // tooltip tjq("[data-toggle=tooltip]").tooltip(); // testimonials function fixTestimonialHeight(slider) { var maxHeight = 0; tjq(slider).find(".slides > li").each(function() { tjq(this).css("height", "auto"); if (tjq(this).height() > maxHeight) { maxHeight = tjq(this).height(); } }); tjq(slider).find(".slides > li").height(maxHeight); } function displayTestimonials() { try { if (tjq('.testimonial.style1').length > 0 && tjq('.testimonial.style1').is(":visible")) { tjq('.testimonial.style1').flexslider({ namespace: "testimonial-", animation: "slide", controlNav: true, animationLoop: false, directionNav: false, slideshow: false, start: fixTestimonialHeight }); } } catch (e) {} try { if (tjq('.testimonial.style2').length > 0 && tjq('.testimonial.style2').is(":visible")) { tjq('.testimonial.style2').flexslider({ namespace: "testimonial-", animation: "slide", controlNav: false, animationLoop: false, directionNav: true, slideshow: false, start: fixTestimonialHeight }); } } catch (e) {} try { if (tjq('.testimonial.style3').length > 0 && tjq('.testimonial.style3').is(":visible")) { tjq('.testimonial.style3').flexslider({ namespace: "testimonial-", controlNav: false, animationLoop: false, directionNav: true, slideshow: false, start: fixTestimonialHeight }); } } catch (e) {} } displayTestimonials(); /* photo gallery and slideshow */ // photo gallery with thumbnail tjq('.image-carousel').each(function() { displayImageCarousel(tjq(this)); }); tjq('.photo-gallery').each(function() { displayPhotoGallery(tjq(this)); }); tjq('a[data-toggle="tab"]').on('shown.bs.tab', function (e) { var contentId = tjq(e.target).attr("href"); if (tjq(contentId).find(".image-carousel").length > 0) { displayImageCarousel(tjq(contentId).find(".image-carousel")); } if (tjq(contentId).find(".photo-gallery").length > 0) { displayPhotoGallery(tjq(contentId).find(".photo-gallery")); } if (tjq(contentId).find(".testimonial").length > 0) { displayTestimonials(); } tjq(contentId).find(".middle-block").middleblock(); }); // popup tjq(document).bind('keydown', function (e) { var key = e.keyCode; if (tjq(".opacity-overlay:visible").length > 0 && key === 27) { e.preventDefault(); tjq(".opacity-overlay").fadeOut(); } }); tjq(document).on("click", ".opacity-overlay", function(e) { if (!tjq(e.target).is(".opacity-overlay .popup-content *")) { tjq(".opacity-overlay").fadeOut(); } }); tjq("body").on("click", "a.popup-gallery", function(e) { e.preventDefault(); if (tjq("#soap-gallery-popup").length < 1) { tjq("").appendTo("body"); } tjq("#soap-gallery-popup .popup-content").html(''); tjq("#soap-gallery-popup .popup-content").height('auto').css("visibility", "hidden"); tjq("#soap-gallery-popup").fadeIn(); tjq("#soap-gallery-popup .spinner").show(); var obj = tjq(this); tjq.ajax({ url: obj.attr("href"), type: 'post', dataType: 'html', success: function(html) { tjq("#soap-gallery-popup .popup-content").html(html); if (tjq('#soap-gallery-popup .image-carousel').length > 0) { displayImageCarousel(tjq('#soap-gallery-popup .image-carousel')); } if (tjq('#soap-gallery-popup .photo-gallery').length > 0) { displayPhotoGallery(tjq('#soap-gallery-popup .photo-gallery')); setTimeout(function() { tjq("#soap-gallery-popup .popup-content").css("visibility", "visible"); tjq("#soap-gallery-popup .spinner").hide(); }, 100); } } }); }); tjq("body").on("click", ".popup-map", function(e) { var lngltd = tjq(this).data("box"); if (typeof lngltd != "undefined") { e.preventDefault(); if (tjq("#soap-map-popup").length < 1) { tjq("
").appendTo("body"); } tjq("#soap-map-popup").fadeIn(); tjq("#soap-map-popup .spinner").show(); lngltd = lngltd.split(","); var contentWidth = tjq("#soap-map-popup .popup-content").width() tjq("#soap-map-popup .popup-content").gmap3({ clear: { name: "marker", last: true } }); tjq("#soap-map-popup .popup-content").height(contentWidth * 0.5).gmap3({ map: { options: { center: lngltd, zoom: 12 } }, marker: { values: [ {latLng: lngltd} ], options: { draggable: false }, } }); } }); tjq("body").on("click", ".soap-popupbox", function(e) { e.preventDefault(); var sourceId = tjq(this).attr("href"); if (typeof sourceId == "undefined") { sourceId = tjq(this).data("target"); } if (typeof sourceId == "undefined") { return; } if (tjq(sourceId).length < 1) { return; } if (tjq("#soap-popupbox").length < 1) { tjq("
").appendTo("body"); } tjq("#soap-popupbox .popup-content").children().hide(); if (tjq("#soap-popupbox .popup-content").children(sourceId).length > 0) { // ignore } else { tjq(sourceId).appendTo(tjq("#soap-popupbox .popup-content")); } tjq(sourceId).show(); tjq("#soap-popupbox").fadeIn(function() { tjq(sourceId).find(".input-text").eq(0).focus(); }); }); // style changer tjq(".style-changer .design-skins a").click(function(e) { e.preventDefault(); tjq(this).closest("ul").children("li").removeClass("active"); tjq(this).parent().addClass("active"); }); tjq("#style-changer .style-toggle").click(function(e) { e.preventDefault(); if (tjq(this).hasClass("open")) { tjq("#style-changer").css("left", "0"); tjq(this).removeClass("open"); tjq(this).addClass("close"); } else { tjq("#style-changer").css("left", "-275px"); tjq(this).removeClass("close"); tjq(this).addClass("open"); } }); // filters option tjq(".filters-container .filters-option a").click(function(e) { e.preventDefault(); if (tjq(this).parent().hasClass("active")) { tjq(this).parent().removeClass("active"); } else { tjq(this).parent().addClass("active"); } }); // sort of trip tjq(".sort-trip a").click(function(e) { e.preventDefault(); tjq(this).parent().parent().children().removeClass("active"); tjq(this).parent().addClass("active"); }); // redirect to the location tjq(".location-reload").click(function(e) { e.preventDefault(); var url = tjq(this).prop("href").split("#")[0]; if (window.location.href.indexOf(url) != -1) { var hash = tjq(this).prop("href").split("#")[1]; if (typeof hash != "undefined" && hash != "" && tjq("a[href='#" + hash + "']").length > 0) { tjq("a[href='#" + hash + "']").tab('show'); } } else { window.location.href = tjq(this).prop("href"); } }); // promo box function fixPromoBoxHeight() { tjq(".promo-box").each(function() { if (tjq(this).find(".content-section").css("float") == "right") { var maxHeight = tjq(this).find(".image-container > img").height(); tjq(this).find(".content-section .table-wrapper").css("height", "auto"); var calcPaddingTop = tjq(".content-section").css("padding-top"); var calcPaddingBottom = tjq(".content-section").css("padding-bottom"); var calcPadding = 0; try { calcPadding = parseInt(calcPaddingTop, 10) + parseInt(calcPaddingBottom, 10); } catch (e) { } var contentHeight = tjq(this).find(".content-section >.table-wrapper").length > 0 ? tjq(this).find(".content-section > .table-wrapper").height() + calcPadding : tjq(this).find(".content-section").innerHeight(); if (maxHeight < contentHeight) { maxHeight = contentHeight; } else { maxHeight += 15; } tjq(this).find(".image-container").height(maxHeight); tjq(this).find(".content-section").innerHeight(maxHeight); tjq(this).find(".content-section .table-wrapper").css("height", "100%"); tjq(this).find(".image-container").css("margin-left", "-5%"); tjq(this).find(".image-container").css("position", "relative"); tjq(this).find(".image-container > img").css("position", "absolute"); tjq(this).find(".image-container > img").css("bottom", "0"); tjq(this).find(".image-container > img").css("left", "0"); } else { tjq(this).find(".image-container").css("height", "auto"); tjq(this).find(".image-container").css("margin", "0"); tjq(this).find(".content-section").css("height", "auto"); tjq(this).find(".image-container > img").css("position", "static"); } if (!tjq(this).find(".image-container > img").hasClass("animated")) { tjq(this).find(".image-container > img").css("visibility", "visible"); } }); } fixPromoBoxHeight(); // fit video if (tjq.fn.fitVids) { tjq('.full-video').fitVids(); } // go back tjq(".go-back").click(function(e) { e.preventDefault(); window.history.go(-1); }); // activate tab if (window.location.hash != "" && tjq('a[href="' + window.location.hash + '"]').length > 0) { setTimeout(function() { tjq('a[href="' + window.location.hash + '"]').tab('show'); }, 100); } // parallax if(tjq(".parallax").length > 0) { tjq.stellar({ responsive: true, horizontalScrolling: false }); } if(tjq().waypoint) { // animation effect tjq('.animated').waypoint(function() { var type = tjq(this).data("animation-type"); if (typeof type == "undefined" || type == false) { type = "fadeIn"; } tjq(this).addClass(type); var duration = tjq(this).data("animation-duration"); if (typeof duration == "undefined" || duration == false) { duration = "1"; } tjq(this).css("animation-duration", duration + "s"); var delay = tjq(this).data("animation-delay"); if (typeof delay != "undefined" && delay != false) { tjq(this).css("animation-delay", delay + "s"); } tjq(this).css("visibility", "visible"); setTimeout(function() { tjq.waypoints('refresh'); }, 1000); }, { triggerOnce: true, offset: 'bottom-in-view' }); // display counter tjq('.counters-box').waypoint(function() { tjq('.display-counter').each(function() { var value = tjq(this).data('value'); tjq(this).countTo({from: 0, to: value, speed: 3000, refreshInterval: 10}); }); setTimeout(function() { tjq.waypoints('refresh'); }, 1000); }, { triggerOnce: true, offset: '100%' }); } // mobile top nav(language and currency) tjq("body").on("click", function(e) { var target = tjq(e.target); if (!target.is(".mobile-topnav .ribbon.opened *")) { tjq(".mobile-topnav .ribbon.opened > .menu").toggle(); tjq(".mobile-topnav .ribbon.opened").removeClass("opened"); } }); tjq(".mobile-topnav .ribbon > a").on("click", function(e) { e.preventDefault(); if (tjq(".mobile-topnav .ribbon.opened").length > 0 && !tjq(this).parent().hasClass("opened")) { tjq(".mobile-topnav .ribbon.opened > .menu").toggle(); tjq(".mobile-topnav .ribbon.opened").removeClass("opened"); } tjq(this).parent().toggleClass("opened"); tjq(this).parent().children(".menu").toggle(200); if (tjq(this).parent().hasClass("opened") && tjq(this).parent().children(".menu").offset().left + tjq(this).parent().children(".menu").width() > tjq("body").width()) { var offsetX = tjq(this).parent().children(".menu").offset().left + tjq(this).parent().children(".menu").width() - tjq("body").width(); offsetX = tjq(this).parent().children(".menu").position().left - offsetX - 1; tjq(this).parent().children(".menu").css("left", offsetX + "px"); } else { tjq(this).parent().children(".menu").css("left", "0"); } }); // fix position in resize tjq(window).resize(function() { tjq(".middle-block").middleblock(); fixPositionMegaMenu(); fixPositionSubmenu(); fixPromoBoxHeight(); fixTestimonialHeight('.testimonial'); // fix slider position of gallery slideshow style2 if (tjq(".photo-gallery.style2").length > 0) { tjq(".photo-gallery.style2").each(function() { var height = tjq(this).find(".slides img").height(); tjq(this).find(".flex-control-nav").css("top", (height - 44) + "px"); }); } }); }); // mega menu var megamenu_items_per_column = 6; function fixPositionMegaMenu(parentObj) { if (typeof parentObj == "undefined") { parentObj = ""; } else { parentObj += " "; } tjq(parentObj + ".megamenu-menu").each(function() { var paddingLeftStr = tjq(this).closest(".container").css("padding-left"); var paddingLeft = parseInt(paddingLeftStr, 10); var offsetX = tjq(this).offset().left - tjq(this).closest(".container").offset().left - paddingLeft; if (offsetX == 0) { return; } tjq(this).children(".megamenu-wrapper").css("left", "-" + offsetX + "px"); tjq(this).children(".megamenu-wrapper").css("width", tjq(this).closest(".container").width() + "px"); if (typeof tjq(this).children(".megamenu-wrapper").data("items-per-column") != "undefined") { megamenu_items_per_column = parseInt(tjq(this).children(".megamenu-wrapper").data("items-per-column"), 10); } //tjq(this).children(".megamenu-wrapper").show(); var columns_arr = new Array(); var sum_columns = 0; tjq(this).find(".megamenu > li").each(function() { var each_columns = Math.ceil(tjq(this).find("li > a").length / megamenu_items_per_column); if (each_columns == 0) { each_columns = 1; } columns_arr.push(each_columns); sum_columns += each_columns; }); tjq(this).find(".megamenu > li").each(function(index) { tjq(this).css("width", (columns_arr[index] / sum_columns * 100) + "%"); tjq(this).addClass("megamenu-columns-" + columns_arr[index]); }); tjq(this).find(".megamenu > li.menu-item-has-children").each(function(index) { if (tjq(this).children(".sub-menu").length < 1) { tjq(this).append(""); for (var j = 0; j < columns_arr[index]; j++) { tjq(this).children(".sub-menu").append("
  • ") } var lastIndex = tjq(this).children("ul").eq(0).children("li").length - 1; tjq(this).children("ul").eq(0).children("li").each(function(i) { var parentIndex = Math.floor(i / megamenu_items_per_column); tjq(this).closest("li.menu-item-has-children").children(".sub-menu").children("li").eq(parentIndex).children("ul").append(tjq(this).clone()); if (i == lastIndex) { tjq(this).closest(".menu-item-has-children").children("ul").eq(0).remove(); } }); } }); tjq(this).children(".megamenu-wrapper").show(); }); } fixPositionMegaMenu(); // menu position to top tjq("#footer #main-menu .menu > li.menu-item-has-children").each(function(e) { var height = tjq(this).children("ul, .megamenu-wrapper").height(); tjq(this).children("ul, .megamenu-wrapper").css("top", "-" + height + "px"); }); // login box tjq("body").on("click", ".travelo-signup-box .signup-email", function(e) { e.preventDefault(); tjq(this).closest(".travelo-signup-box").find(".simple-signup").hide(); tjq(this).closest(".travelo-signup-box").find(".email-signup").show(); tjq(this).closest(".travelo-signup-box").find(".email-signup").find(".input-text").eq(0).focus(); }); // THIS SCRIPT DETECTS THE ACTIVE ELEMENT AND ADDS ACTIVE CLASS (This should be removed in the php version.) tjq(document).ready(function(){ var pathname = window.location.pathname, page = pathname.split(/[/ ]+/).pop(), menuItems = tjq('#main-menu a, #mobile-primary-menu a'); menuItems.each(function(){ var mi = tjq(this), miHrefs = mi.attr("href"), miParents = mi.parents('li'); if(page == miHrefs) { miParents.addClass("active").siblings().removeClass('active'); } }); });