var THEMEMASCOT = {};
(function($) {
"use strict";
/* ---------------------------------------------------------------------- */
/* -------------------------- Declare Variables ------------------------- */
/* ---------------------------------------------------------------------- */
var $document = $(document);
var $document_body = $(document.body);
var $window = $(window);
var $html = $('html');
var $body = $('body');
var $wrapper = $('#wrapper');
var $header = $('#header');
var $footer = $('#footer');
var $sections = $('section');
var $portfolio_gallery = $(".gallery-isotope");
var portfolio_filter = ".portfolio-filter a";
var $portfolio_filter_first_child = $(".portfolio-filter a:eq(0)");
var $portfolio_flex_slider = $(".portfolio-slider");
THEMEMASCOT.isMobile = {
Android: function() {
return navigator.userAgent.match(/Android/i);
},
BlackBerry: function() {
return navigator.userAgent.match(/BlackBerry/i);
},
iOS: function() {
return navigator.userAgent.match(/iPhone|iPad|iPod/i);
},
Opera: function() {
return navigator.userAgent.match(/Opera Mini/i);
},
Windows: function() {
return navigator.userAgent.match(/IEMobile/i);
},
any: function() {
return (THEMEMASCOT.isMobile.Android() || THEMEMASCOT.isMobile.BlackBerry() || THEMEMASCOT.isMobile.iOS() || THEMEMASCOT.isMobile.Opera() || THEMEMASCOT.isMobile.Windows());
}
};
THEMEMASCOT.isRTL = {
check: function() {
if( $( "html" ).attr("dir") == "rtl" ) {
return true;
} else {
return false;
}
}
};
THEMEMASCOT.urlParameter = {
get: function(sParam) {
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
return sParameterName[1] === undefined ? true : sParameterName[1];
}
}
}
};
THEMEMASCOT.bmiCalculator = {
magic: function(bmi) {
var output = '';
var info = '';
if (bmi) {
if (bmi < 15) {
info = "very severely underweight";
}
if ((bmi >= 15)&&(bmi < 16)) {
info = "severely underweight";
}
if ((bmi >= 16)&&(bmi < 18.5)) {
info = "underweight";
}
if ((bmi >= 18.5)&&(bmi < 25)) {
info = "normal";
}
if ((bmi >= 25)&&(bmi < 30)) {
info = "overweight";
}
if ((bmi >= 30)&&(bmi < 35)) {
info = "moderately obese";
}
if ((bmi >= 35)&&(bmi <= 40)) {
info = "severely obese";
}
if (bmi >40) {
info = "very severely obese";
}
output = "Your BMI is " + bmi + "
" +
"You are " + info + ".";
} else {
output = "You broke it!";
};
return output;
},
calculateStandard: function (bmi_form) {
var weight_lbs = bmi_form.find('input[name="bmi_standard_weight_lbs"]').val();
var height_ft = bmi_form.find('input[name="bmi_standard_height_ft"]').val();
var height_in = bmi_form.find('input[name="bmi_standard_height_in"]').val();
var age = bmi_form.find('input[name="bmi_standard_age"]').val();
var gender = bmi_form.find('radio[name="bmi_standard_gender"]').val();
var total_height_inc = ( parseInt(height_ft, 10) * 12 ) + parseInt(height_in, 10);
var bmi = ( parseFloat(weight_lbs) / (total_height_inc * total_height_inc) ) * 703;
var output = THEMEMASCOT.bmiCalculator.magic(bmi);
bmi_form.find('#bmi_standard_calculator_form_result').html(output).fadeIn('slow');
},
calculateMetric: function (bmi_form) {
var weight_kg = bmi_form.find('input[name="bmi_metric_weight_kg"]').val();
var height_cm = bmi_form.find('input[name="bmi_metric_height_cm"]').val();
var age = bmi_form.find('input[name="bmi_standard_age"]').val();
var gender = bmi_form.find('radio[name="bmi_standard_gender"]').val();
var total_weight_kg = parseFloat(weight_kg) ;
var total_height_m = parseFloat(height_cm) * 0.01;
var bmi = ( total_weight_kg / (total_height_m * total_height_m) );
var output = THEMEMASCOT.bmiCalculator.magic(bmi);
bmi_form.find('#bmi_metric_calculator_form_result').html(output).fadeIn('slow');
},
init: function () {
var bmi_Standard_Form = $('#form_bmi_standard_calculator');
bmi_Standard_Form.on('submit', function(e) {
e.preventDefault();
THEMEMASCOT.bmiCalculator.calculateStandard(bmi_Standard_Form);
return false;
});
var bmi_Metric_Form = $('#form_bmi_metric_calculator');
bmi_Metric_Form.on('submit', function(e) {
e.preventDefault();
THEMEMASCOT.bmiCalculator.calculateMetric(bmi_Metric_Form);
return false;
});
}
};
THEMEMASCOT.initialize = {
init: function() {
THEMEMASCOT.bmiCalculator.init();
THEMEMASCOT.initialize.TM_datePicker();
THEMEMASCOT.initialize.TM_ddslick();
THEMEMASCOT.initialize.TM_loadBSParentModal();
THEMEMASCOT.initialize.TM_demoSwitcher();
THEMEMASCOT.initialize.TM_platformDetect();
THEMEMASCOT.initialize.TM_onLoadModal();
THEMEMASCOT.initialize.TM_customDataAttributes();
THEMEMASCOT.initialize.TM_parallaxBgInit();
THEMEMASCOT.initialize.TM_resizeFullscreen();
THEMEMASCOT.initialize.TM_prettyPhoto_lightbox();
THEMEMASCOT.initialize.TM_nivolightbox();
THEMEMASCOT.initialize.TM_fitVids();
THEMEMASCOT.initialize.TM_YTPlayer();
THEMEMASCOT.initialize.TM_equalHeightDivs();
},
/* ---------------------------------------------------------------------- */
/* ------------------------------ Date Picker -------------------------- */
/* ---------------------------------------------------------------------- */
TM_datePicker: function() {
$( ".date-picker" ).datepicker();
$( ".time-picker" ).timepicker();
$( ".datetime-picker" ).datetimepicker();
},
/* ---------------------------------------------------------------------- */
/* -------------------------------- ddslick ---------------------------- */
/* ---------------------------------------------------------------------- */
TM_ddslick: function() {
$("select.ddslick").each(function(){
var name = $(this).attr('name');
var id = $(this).attr('id');
$("#"+id).ddslick({
imagePosition: "left",
onSelected: function(selectedData){
$("#"+id+ " .dd-selected-value").prop ('name', name);
}
});
});
},
/* ---------------------------------------------------------------------- */
/* ----------------------------- slider range -------------------------- */
/* ---------------------------------------------------------------------- */
TM_sliderRange: function() {
$(".slider-range").each(function(){
var id = $(this).attr('id');
var target_id = $(this).data('target');
$( "#" + target_id ).slider({
range: "max",
min: 2001,
max: 2016,
value: 2010,
slide: function( event, ui ) {
$( "#" + id ).val( ui.value );
}
});
$( "#" + id ).val( $( "#" + target_id ).slider( "value" ) );
});
},
/* ---------------------------------------------------------------------- */
/* ------------------------ Bootstrap Parent Modal --------------------- */
/* ---------------------------------------------------------------------- */
TM_loadBSParentModal: function() {
var ajaxLoadContent = true;
if( ajaxLoadContent ) {
$.ajax({
url: "ajax-load/bootstrap-parent-modal.html",
success: function (data) { $body.append(data); },
dataType: 'html'
});
}
},
/* ---------------------------------------------------------------------- */
/* ------------------------------ Demo Switcher ------------------------ */
/* ---------------------------------------------------------------------- */
TM_demoSwitcher: function() {
var showSwitcher = true;
var $style_switcher = $('#style-switcher');
if( !$style_switcher.length && showSwitcher ) {
$.ajax({
url: "color-switcher/style-switcher.html",
success: function (data) { $body.append(data); },
dataType: 'html'
});
}
},
/* ---------------------------------------------------------------------- */
/* ------------------------------ Preloader ---------------------------- */
/* ---------------------------------------------------------------------- */
TM_preLoaderClickDisable: function() {
var $preloader = $('#preloader');
$preloader.children('#disable-preloader').on('click', function(e) {
$preloader.fadeOut();
return false;
});
},
TM_preLoaderOnLoad: function() {
var $preloader = $('#preloader');
$preloader.delay(200).fadeOut('slow');
},
/* ---------------------------------------------------------------------- */
/* ------------------------------- Platform detect --------------------- */
/* ---------------------------------------------------------------------- */
TM_platformDetect: function() {
if (THEMEMASCOT.isMobile.any()) {
$html.addClass("mobile");
} else {
$html.addClass("no-mobile");
}
},
/* ---------------------------------------------------------------------- */
/* ------------------------------ Hash Forwarding ---------------------- */
/* ---------------------------------------------------------------------- */
TM_onLoadModal: function() {
var $modal = $('.on-pageload-popup-modal');
if( $modal.length > 0 ) {
$modal.each( function(){
var $current_item = $(this),
target = $current_item.data('target'),
delay = $current_item.data('delay'),
timeout = $current_item.data('timeout'),
targetvalue = target.split('#')[1];
if( !$current_item.hasClass('enable-cookie') ) { $.removeCookie( targetvalue ); }
if( $current_item.hasClass('enable-cookie') ) {
var elementCookie = $.cookie( targetvalue );
if( typeof elementCookie !== 'undefined' && elementCookie == '0' ) {
return true;
}
}
if( !delay ) {
delay = 2000;
} else {
delay = Number(delay) + 2000;
}
var t = setTimeout(function() {
$.magnificPopup.open({
items: { src: target },
type: 'inline',
mainClass: 'mfp-no-margins mfp-fade',
closeBtnInside: false,
fixedContentPos: true,
removalDelay: 500,
callbacks: {
afterClose: function() {
if( element.hasClass('enable-cookie') ) {
$.cookie( targetvalue, '0' );
}
}
}
}, 0);
}, Number(delay) );
if( timeout !== '' ) {
var to = setTimeout(function() {
$.magnificPopup.close();
}, Number(delay) + Number(timeout) );
}
});
}
},
TM_onLoadModal2: function() {
var $modal = $('.modal-on-load');
if( $modal.length > 0 ) {
$modal.each( function(){
var element = $(this),
elementTarget = element.attr('data-target'),
elementTargetValue = elementTarget.split('#')[1],
elementDelay = element.attr('data-delay'),
elementTimeout = element.attr('data-timeout'),
elementAnimateIn = element.attr('data-animate-in'),
elementAnimateOut = element.attr('data-animate-out');
if( !element.hasClass('enable-cookie') ) { $.removeCookie( elementTargetValue ); }
if( element.hasClass('enable-cookie') ) {
var elementCookie = $.cookie( elementTargetValue );
if( typeof elementCookie !== 'undefined' && elementCookie == '0' ) {
return true;
}
}
if( !elementDelay ) {
elementDelay = 1500;
} else {
elementDelay = Number(elementDelay) + 1500;
}
var t = setTimeout(function() {
$.magnificPopup.open({
items: { src: elementTarget },
type: 'inline',
mainClass: 'mfp-no-margins mfp-fade',
closeBtnInside: false,
fixedContentPos: true,
removalDelay: 500,
callbacks: {
open: function(){
if( elementAnimateIn !== '' ) {
$(elementTarget).addClass( elementAnimateIn + ' animated' );
}
},
beforeClose: function(){
if( elementAnimateOut !== '' ) {
$(elementTarget).removeClass( elementAnimateIn ).addClass( elementAnimateOut );
}
},
afterClose: function() {
if( elementAnimateIn !== '' || elementAnimateOut !== '' ) {
$(elementTarget).removeClass( elementAnimateIn + ' ' + elementAnimateOut + ' animated' );
}
if( element.hasClass('enable-cookie') ) {
$.cookie( elementTargetValue, '0' );
}
}
}
}, 0);
}, Number(elementDelay) );
if( elementTimeout !== '' ) {
var to = setTimeout(function() {
$.magnificPopup.close();
}, Number(elementDelay) + Number(elementTimeout) );
}
});
}
},
/* ---------------------------------------------------------------------- */
/* ------------------------------ Hash Forwarding ---------------------- */
/* ---------------------------------------------------------------------- */
TM_hashForwarding: function() {
if (window.location.hash) {
var hash_offset = $(window.location.hash).offset().top;
$("html, body").animate({
scrollTop: hash_offset
});
}
},
/* ---------------------------------------------------------------------- */
/* ----------------------- Background image, color ---------------------- */
/* ---------------------------------------------------------------------- */
TM_customDataAttributes: function() {
$('[data-bg-color]').each(function() {
$(this).css("cssText", "background: " + $(this).data("bg-color") + " !important;");
});
$('[data-bg-img]').each(function() {
$(this).css('background-image', 'url(' + $(this).data("bg-img") + ')');
});
$('[data-text-color]').each(function() {
$(this).css('color', $(this).data("text-color"));
});
$('[data-font-size]').each(function() {
$(this).css('font-size', $(this).data("font-size"));
});
$('[data-height]').each(function() {
$(this).css('height', $(this).data("height"));
});
$('[data-border]').each(function() {
$(this).css('border', $(this).data("border"));
});
$('[data-margin-top]').each(function() {
$(this).css('margin-top', $(this).data("margin-top"));
});
$('[data-margin-right]').each(function() {
$(this).css('margin-right', $(this).data("margin-right"));
});
$('[data-margin-bottom]').each(function() {
$(this).css('margin-bottom', $(this).data("margin-bottom"));
});
$('[data-margin-left]').each(function() {
$(this).css('margin-left', $(this).data("margin-left"));
});
},
/* ---------------------------------------------------------------------- */
/* -------------------------- Background Parallax ----------------------- */
/* ---------------------------------------------------------------------- */
TM_parallaxBgInit: function() {
if (!THEMEMASCOT.isMobile.any() && $window.width() >= 800 ) {
$('.parallax').each(function() {
var data_parallax_ratio = ( $(this).data("parallax-ratio") === undefined ) ? '0.5': $(this).data("parallax-ratio");
$(this).parallax("50%", data_parallax_ratio);
});
} else {
$('.parallax').addClass("mobile-parallax");
}
},
/* ---------------------------------------------------------------------- */
/* --------------------------- Home Resize Fullscreen ------------------- */
/* ---------------------------------------------------------------------- */
TM_resizeFullscreen: function() {
var windowHeight = $window.height();
$('.fullscreen, .revslider-fullscreen').height(windowHeight);
},
/* ---------------------------------------------------------------------- */
/* ----------------------------- Magnific Popup ------------------------- */
/* ---------------------------------------------------------------------- */
TM_magnificPopup_lightbox: function() {
$('.image-popup-lightbox').magnificPopup({
type: 'image',
closeOnContentClick: true,
closeBtnInside: false,
fixedContentPos: true,
mainClass: 'mfp-no-margins mfp-fade', // class to remove default margin from left and right side
image: {
verticalFit: true
}
});
$('.image-popup-vertical-fit').magnificPopup({
type: 'image',
closeOnContentClick: true,
mainClass: 'mfp-img-mobile',
image: {
verticalFit: true
}
});
$('.image-popup-fit-width').magnificPopup({
type: 'image',
closeOnContentClick: true,
image: {
verticalFit: false
}
});
$('.image-popup-no-margins').magnificPopup({
type: 'image',
closeOnContentClick: true,
closeBtnInside: false,
fixedContentPos: true,
mainClass: 'mfp-no-margins mfp-with-zoom', // class to remove default margin from left and right side
image: {
verticalFit: true
},
zoom: {
enabled: true,
duration: 300 // don't foget to change the duration also in CSS
}
});
$('.popup-gallery').magnificPopup({
delegate: 'a',
type: 'image',
tLoading: 'Loading image #%curr%...',
mainClass: 'mfp-img-mobile',
gallery: {
enabled: true,
navigateByImgClick: true,
preload: [0,1] // Will preload 0 - before current, and 1 after the current image
},
image: {
tError: 'The image #%curr% could not be loaded.',
titleSrc: function(item) {
return item.el.attr('title') + 'by Marsel Van Oosten';
}
}
});
$('.zoom-gallery').magnificPopup({
delegate: 'a',
type: 'image',
closeOnContentClick: false,
closeBtnInside: false,
mainClass: 'mfp-with-zoom mfp-img-mobile',
image: {
verticalFit: true,
titleSrc: function(item) {
return item.el.attr('title') + ' · image source';
}
},
gallery: {
enabled: true
},
zoom: {
enabled: true,
duration: 300, // don't foget to change the duration also in CSS
opener: function(element) {
return element.find('img');
}
}
});
$('.popup-youtube, .popup-vimeo, .popup-gmaps').magnificPopup({
disableOn: 700,
type: 'iframe',
mainClass: 'mfp-fade',
removalDelay: 160,
preloader: false,
fixedContentPos: false
});
$('.popup-with-zoom-anim').magnificPopup({
type: 'inline',
fixedContentPos: false,
fixedBgPos: true,
overflowY: 'auto',
closeBtnInside: true,
preloader: false,
midClick: true,
removalDelay: 300,
mainClass: 'my-mfp-zoom-in'
});
$('.popup-with-move-anim').magnificPopup({
type: 'inline',
fixedContentPos: false,
fixedBgPos: true,
overflowY: 'auto',
closeBtnInside: true,
preloader: false,
midClick: true,
removalDelay: 300,
mainClass: 'my-mfp-slide-bottom'
});
$('.ajaxload-popup').magnificPopup({
type: 'ajax',
alignTop: true,
overflowY: 'scroll', // as we know that popup content is tall we set scroll overflow by default to avoid jump
callbacks: {
parseAjax: function(mfpResponse) {
THEMEMASCOT.initialize.TM_datePicker();
}
}
});
$('.form-ajax-load').magnificPopup({
type: 'ajax'
});
$('.popup-with-form').magnificPopup({
type: 'inline',
preloader: false,
focus: '#name',
mainClass: 'mfp-no-margins mfp-fade',
closeBtnInside: false,
fixedContentPos: true,
// When elemened is focused, some mobile browsers in some cases zoom in
// It looks not nice, so we disable it:
callbacks: {
beforeOpen: function() {
if($window.width() < 700) {
this.st.focus = false;
} else {
this.st.focus = '#name';
}
}
}
});
var $mfpLightboxAjax = $('[data-lightbox="ajax"]');
if( $mfpLightboxAjax.length > 0 ) {
$mfpLightboxAjax.magnificPopup({
type: 'ajax',
closeBtnInside: false,
callbacks: {
ajaxContentAdded: function(mfpResponse) {
},
open: function() {
},
close: function() {
}
}
});
}
//lightbox image
var $mfpLightboxImage = $('[data-lightbox="image"]');
if( $mfpLightboxImage.length > 0 ) {
$mfpLightboxImage.magnificPopup({
type: 'image',
closeOnContentClick: true,
closeBtnInside: false,
fixedContentPos: true,
mainClass: 'mfp-no-margins mfp-with-zoom', // class to remove default margin from left and right side
image: {
verticalFit: true
}
});
}
//lightbox gallery
var $mfpLightboxGallery = $('[data-lightbox="gallery"]');
if( $mfpLightboxGallery.length > 0 ) {
$mfpLightboxGallery.each(function() {
var element = $(this);
element.magnificPopup({
delegate: 'a[data-lightbox="gallery-item"]',
type: 'image',
closeOnContentClick: true,
closeBtnInside: false,
fixedContentPos: true,
mainClass: 'mfp-no-margins mfp-with-zoom', // class to remove default margin from left and right side
image: {
verticalFit: true
},
gallery: {
enabled: true,
navigateByImgClick: true,
preload: [0,1] // Will preload 0 - before current, and 1 after the current image
},
zoom: {
enabled: true,
duration: 300, // don't foget to change the duration also in CSS
opener: function(element) {
return element.find('img');
}
}
});
});
}
//lightbox iframe
var $mfpLightboxIframe = $('[data-lightbox="iframe"]');
if( $mfpLightboxIframe.length > 0 ) {
$mfpLightboxIframe.magnificPopup({
disableOn: 600,
type: 'iframe',
removalDelay: 160,
preloader: false,
fixedContentPos: false
});
}
//lightbox inline
var $mfpLightboxInline = $('[data-lightbox="inline"]');
if( $mfpLightboxInline.length > 0 ) {
$mfpLightboxInline.magnificPopup({
type: 'inline',
mainClass: 'mfp-no-margins mfp-zoom-in',
closeBtnInside: false,
fixedContentPos: true
});
}
},
/* ---------------------------------------------------------------------- */
/* ----------------------------- lightbox popup ------------------------- */
/* ---------------------------------------------------------------------- */
TM_prettyPhoto_lightbox: function() {
//prettyPhoto lightbox
$("a[data-rel^='prettyPhoto']").prettyPhoto({
hook: 'data-rel',
animation_speed:'normal',
theme:'light_square',
slideshow:3000,
autoplay_slideshow: false,
social_tools: false
});
},
/* ---------------------------------------------------------------------- */
/* ------------------------------ Nivo Lightbox ------------------------- */
/* ---------------------------------------------------------------------- */
TM_nivolightbox: function() {
$('a[data-lightbox-gallery]').nivoLightbox({
effect: 'fadeScale'
});
},
/* ---------------------------------------------------------------------- */
/* ---------------------------- Wow initialize ------------------------- */
/* ---------------------------------------------------------------------- */
TM_wow: function() {
var wow = new WOW({
mobile: false // trigger animations on mobile devices (default is true)
});
wow.init();
},
/* ---------------------------------------------------------------------- */
/* ----------------------------- Fit Vids ------------------------------- */
/* ---------------------------------------------------------------------- */
TM_fitVids: function() {
$body.fitVids();
},
/* ---------------------------------------------------------------------- */
/* ----------------------------- YT Player for Video -------------------- */
/* ---------------------------------------------------------------------- */
TM_YTPlayer: function() {
$(".player").mb_YTPlayer();
},
/* ---------------------------------------------------------------------- */
/* ---------------------------- equalHeights ---------------------------- */
/* ---------------------------------------------------------------------- */
TM_equalHeightDivs: function() {
/* equal heigh */
var $equal_height = $('.equal-height');
$equal_height.children('div').css('min-height', 'auto');
$equal_height.equalHeights();
/* equal heigh inner div */
var $equal_height_inner = $('.equal-height-inner');
$equal_height_inner.children('div').css('min-height', 'auto');
$equal_height_inner.children('div').children('div').css('min-height', 'auto');
$equal_height_inner.equalHeights();
$equal_height_inner.children('div').each(function() {
$(this).children('div').css('min-height', $(this).css('min-height'));
});
/* pricing-table equal heigh*/
var $equal_height_pricing_table = $('.equal-height-pricing-table');
$equal_height_pricing_table.children('div').css('min-height', 'auto');
$equal_height_pricing_table.children('div').children('div').css('min-height', 'auto');
$equal_height_pricing_table.equalHeights();
$equal_height_pricing_table.children('div').each(function() {
$(this).children('div').css('min-height', $(this).css('min-height'));
});
}
};
THEMEMASCOT.header = {
init: function() {
var t = setTimeout(function() {
THEMEMASCOT.header.TM_fullscreenMenu();
THEMEMASCOT.header.TM_sidePanelReveal();
THEMEMASCOT.header.TM_scroolToTopOnClick();
THEMEMASCOT.header.TM_scrollToFixed();
THEMEMASCOT.header.TM_topnavAnimate();
THEMEMASCOT.header.TM_scrolltoTarget();
THEMEMASCOT.header.TM_menuzord();
THEMEMASCOT.header.TM_navLocalScorll();
THEMEMASCOT.header.TM_menuCollapseOnClick();
THEMEMASCOT.header.TM_homeParallaxFadeEffect();
THEMEMASCOT.header.TM_topsearch_toggle();
}, 0);
},
/* ---------------------------------------------------------------------- */
/* ------------------------- menufullpage ---------------------------- */
/* ---------------------------------------------------------------------- */
TM_fullscreenMenu: function() {
var $menufullpage = $('.menu-full-page .fullpage-nav-toggle');
$menufullpage.menufullpage();
},
/* ---------------------------------------------------------------------- */
/* ------------------------- Side Push Panel ---------------------------- */
/* ---------------------------------------------------------------------- */
TM_sidePanelReveal: function() {
$('.side-panel-trigger').on('click', function(e) {
$body.toggleClass("side-panel-open");
if ( THEMEMASCOT.isMobile.any() ) {
$body.toggleClass("overflow-hidden");
}
return false;
});
$('.has-side-panel .body-overlay').on('click', function(e) {
$body.toggleClass("side-panel-open");
return false;
});
//sitebar tree
$('.side-panel-nav .nav .tree-toggler').on('click', function(e) {
$(this).parent().children('ul.tree').toggle(300);
});
},
/* ---------------------------------------------------------------------- */
/* ------------------------------- scrollToTop ------------------------- */
/* ---------------------------------------------------------------------- */
TM_scroolToTop: function() {
if ($window.scrollTop() > 600) {
$('.scrollToTop').fadeIn();
} else {
$('.scrollToTop').fadeOut();
}
},
TM_scroolToTopOnClick: function() {
$document_body.on('click', '.scrollToTop', function(e) {
$('html, body').animate({
scrollTop: 0
}, 800);
return false;
});
},
/* ---------------------------------------------------------------------------- */
/* --------------------------- One Page Nav close on click -------------------- */
/* ---------------------------------------------------------------------------- */
TM_menuCollapseOnClick: function() {
$document.on('click', '.onepage-nav a', function(e) {
$('.showhide').trigger('click');
return false;
});
},
/* ---------------------------------------------------------------------- */
/* ----------- Active Menu Item on Reaching Different Sections ---------- */
/* ---------------------------------------------------------------------- */
TM_activateMenuItemOnReach: function() {
var $onepage_nav = $('.onepage-nav');
var cur_pos = $window.scrollTop() + 2;
var nav_height = $onepage_nav.outerHeight();
$sections.each(function() {
var top = $(this).offset().top - nav_height - 80,
bottom = top + $(this).outerHeight();
if (cur_pos >= top && cur_pos <= bottom) {
$onepage_nav.find('a').parent().removeClass('current').removeClass('active');
$sections.removeClass('current').removeClass('active');
//$(this).addClass('current').addClass('active');
$onepage_nav.find('a[href="#' + $(this).attr('id') + '"]').parent().addClass('current').addClass('active');
}
});
},
/* ---------------------------------------------------------------------- */
/* ------------------- on click scrool to target with smoothness -------- */
/* ---------------------------------------------------------------------- */
TM_scrolltoTarget: function() {
//jQuery for page scrolling feature - requires jQuery Easing plugin
$('.smooth-scroll-to-target, .fullscreen-onepage-nav a').on('click', function(e) {
e.preventDefault();
var $anchor = $(this);
var $hearder_top = $('.header .header-nav');
var hearder_top_offset = 0;
if ($hearder_top[0]){
hearder_top_offset = $hearder_top.outerHeight(true);
} else {
hearder_top_offset = 0;
}
//for vertical nav, offset 0
if ($body.hasClass("vertical-nav")){
hearder_top_offset = 0;
}
var top = $($anchor.attr('href')).offset().top - hearder_top_offset;
$('html, body').stop().animate({
scrollTop: top
}, 1500, 'easeInOutExpo');
});
},
/* ---------------------------------------------------------------------- */
/* -------------------------- Scroll navigation ------------------------- */
/* ---------------------------------------------------------------------- */
TM_navLocalScorll: function() {
var data_offset = -60;
$("#menuzord .menuzord-menu, #menuzord-right .menuzord-menu").localScroll({
target: "body",
duration: 800,
offset: data_offset,
easing: "easeInOutExpo"
});
$("#menuzord-side-panel .menuzord-menu, #menuzord-verticalnav .menuzord-menu, #fullpage-nav").localScroll({
target: "body",
duration: 800,
offset: 0,
easing: "easeInOutExpo"
});
},
/* ---------------------------------------------------------------------------- */
/* --------------------------- collapsed menu close on click ------------------ */
/* ---------------------------------------------------------------------------- */
TM_scrollToFixed: function() {
$('.navbar-scrolltofixed').scrollToFixed();
$('.scrolltofixed').scrollToFixed({
marginTop: $('.header .header-nav').outerHeight(true) + 10,
limit: function() {
var limit = $('#footer').offset().top - $(this).outerHeight(true);
return limit;
}
});
$('#sidebar').scrollToFixed({
marginTop: $('.header .header-nav').outerHeight() + 20,
limit: function() {
var limit = $('#footer').offset().top - $('#sidebar').outerHeight() - 20;
return limit;
}
});
},
/* ----------------------------------------------------------------------------- */
/* --------------------------- Menuzord - Responsive Megamenu ------------------ */
/* ----------------------------------------------------------------------------- */
TM_menuzord: function() {
$("#menuzord").menuzord({
align: "left",
effect: "slide",
animation: "none",
indicatorFirstLevel: "",
indicatorSecondLevel: ""
});
$("#menuzord-right").menuzord({
align: "right",
effect: "slide",
animation: "none",
indicatorFirstLevel: "",
indicatorSecondLevel: ""
});
$("#menuzord-side-panel").menuzord({
align: "right",
effect: "slide",
animation: "none",
indicatorFirstLevel: "",
indicatorSecondLevel: ""
});
$("#menuzord-verticalnav").menuzord({
align: "right",
effect: "slide",
animation: "none",
indicatorFirstLevel: "",
indicatorSecondLevel: ""
/*indicatorFirstLevel: "",
indicatorSecondLevel: ""*/
});
},
/* ---------------------------------------------------------------------- */
/* --------------------------- Waypoint Top Nav Sticky ------------------ */
/* ---------------------------------------------------------------------- */
TM_topnavAnimate: function() {
if ($window.scrollTop() > (50)) {
$(".navbar-sticky-animated").removeClass("animated-active");
} else {
$(".navbar-sticky-animated").addClass("animated-active");
}
if ($window.scrollTop() > (50)) {
$(".navbar-sticky-animated .header-nav-wrapper .container, .navbar-sticky-animated .header-nav-wrapper .container-fluid").removeClass("add-padding");
} else {
$(".navbar-sticky-animated .header-nav-wrapper .container, .navbar-sticky-animated .header-nav-wrapper .container-fluid").addClass("add-padding");
}
},
/* ---------------------------------------------------------------------- */
/* ---------------- home section on scroll parallax & fade -------------- */
/* ---------------------------------------------------------------------- */
TM_homeParallaxFadeEffect: function() {
if ($window.width() >= 1200) {
var scrolled = $window.scrollTop();
$('.content-fade-effect .home-content .home-text').css('padding-top', (scrolled * 0.0610) + '%').css('opacity', 1 - (scrolled * 0.00120));
}
},
/* ---------------------------------------------------------------------- */
/* --------------------------- Top search toggle ----------------------- */
/* ---------------------------------------------------------------------- */
TM_topsearch_toggle: function() {
$document_body.on('click', '#top-search-toggle', function(e) {
e.preventDefault();
$('.search-form-wrapper.toggle').toggleClass('active');
return false;
});
}
};
THEMEMASCOT.widget = {
init: function() {
var t = setTimeout(function() {
THEMEMASCOT.widget.TM_shopClickEvents();
THEMEMASCOT.widget.TM_fcCalender();
THEMEMASCOT.widget.TM_verticalTimeline();
THEMEMASCOT.widget.TM_verticalMasonryTimeline();
THEMEMASCOT.widget.TM_masonryIsotop();
THEMEMASCOT.widget.TM_pieChart();
THEMEMASCOT.widget.TM_progressBar();
THEMEMASCOT.widget.TM_funfact();
THEMEMASCOT.widget.TM_instagramFeed();
THEMEMASCOT.widget.TM_jflickrfeed();
THEMEMASCOT.widget.TM_accordion_toggles();
THEMEMASCOT.widget.TM_tooltip();
//THEMEMASCOT.widget.TM_countDownTimer();
}, 0);
},
/* ---------------------------------------------------------------------- */
/* ------------------------------ Shop Plus Minus ----------------------- */
/* ---------------------------------------------------------------------- */
TM_shopClickEvents: function() {
$document_body.on('click', '.quantity .plus', function(e) {
var currentVal = parseInt($(this).parent().children(".qty").val(), 10);
if (!isNaN(currentVal)) {
$(this).parent().children(".qty").val(currentVal + 1);
}
return false;
});
$document_body.on('click', '.quantity .minus', function(e) {
var currentVal = parseInt($(this).parent().children(".qty").val(), 10);
if (!isNaN(currentVal) && currentVal > 0) {
$(this).parent().children(".qty").val(currentVal - 1);
}
return false;
});
$document_body.on('click', '#checkbox-ship-to-different-address', function(e) {
$("#checkout-shipping-address").toggle(this.checked);
});
},
/* ---------------------------------------------------------------------- */
/* ------------------------------ Event Calendar ------------------------ */
/* ---------------------------------------------------------------------- */
TM_fcCalender: function() {
if (typeof calendarEvents !== "undefined" ) {
$('#full-event-calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
defaultDate: '2016-01-12',
selectable: true,
selectHelper: true,
select: function(start, end) {
var title = prompt('Event Title:');
var eventData;
if (title) {
eventData = {
title: title,
start: start,
end: end
};
$('#calendar').fullCalendar('renderEvent', eventData, true); // stick? = true
}
$('#calendar').fullCalendar('unselect');
},
editable: true,
eventLimit: true, // allow "more" link when too many events
events: calendarEvents
});
}
},
/* ---------------------------------------------------------------------- */
/* ------------------------------ Timeline Block ------------------------ */
/* ---------------------------------------------------------------------- */
TM_verticalTimeline: function() {
var timelineBlocks = $('.cd-timeline-block'),
offset = 0.8;
//hide timeline blocks which are outside the viewport
hideBlocks(timelineBlocks, offset);
//on scolling, show/animate timeline blocks when enter the viewport
$window.on('scroll', function(){
(!window.requestAnimationFrame) ? setTimeout(function(){ showBlocks(timelineBlocks, offset); }, 100) : window.requestAnimationFrame(function(){ showBlocks(timelineBlocks, offset); });
});
function hideBlocks(blocks, offset) {
blocks.each(function(){
( $(this).offset().top > $window.scrollTop()+$window.height()*offset ) && $(this).find('.cd-timeline-img, .cd-timeline-content').addClass('is-hidden');
});
}
function showBlocks(blocks, offset) {
blocks.each(function(){
( $(this).offset().top <= $window.scrollTop()+$window.height()*offset && $(this).find('.cd-timeline-img').hasClass('is-hidden') ) && $(this).find('.cd-timeline-img, .cd-timeline-content').removeClass('is-hidden').addClass('bounce-in');
});
}
},
/* ---------------------------------------------------------------------- */
/* ----------------------- Vertical Masonry Timeline -------------------- */
/* ---------------------------------------------------------------------- */
TM_verticalMasonryTimeline: function() {
var $masonry_timeline = $('.vertical-masonry-timeline');
$masonry_timeline.isotope({
itemSelector : '.each-masonry-item',
sortBy: 'original-order',
layoutMode: 'masonry',
resizable: false
});
//=====> Timeline Positions
function timeline_on_left_and_right(){
$masonry_timeline.children('.each-masonry-item').each(function(index, element) {
var last_child = $(this);
var prev_last = $(this).prev();
var last_child_offset = parseInt(last_child.css('top'), 10);
var prev_last_offset = parseInt(prev_last.css('top'), 10);
var offset_icon = last_child_offset - prev_last_offset;
var go_top_to = 0;
if(offset_icon){
if ( offset_icon <= 87 ){
go_top_to = 87 - offset_icon;
last_child.find('.timeline-post-format').animate({
top: go_top_to
}, 300);
}
}
if( $(this).position().left === 0 ){
$(this).removeClass('item-right');
$(this).addClass('item-left');
}else{
$(this).removeClass('item-left');
$(this).addClass('item-right');
}
});
}
timeline_on_left_and_right();
$window.resize(function() {
timeline_on_left_and_right();
});
},
/* ---------------------------------------------------------------------- */
/* ----------------------------- Masonry Isotope ------------------------ */
/* ---------------------------------------------------------------------- */
TM_masonryIsotop: function() {
var isotope_mode;
if ($portfolio_gallery.hasClass("masonry")){
isotope_mode = "masonry";
} else{
isotope_mode = "fitRows";
}
//isotope firsttime loading
$portfolio_gallery.imagesLoaded(function(){
$portfolio_gallery.isotope({
itemSelector: '.gallery-item',
layoutMode: isotope_mode,
filter: "*"
});
});
//isotope filter
$document_body.on('click', portfolio_filter, function(e) {
$(portfolio_filter).removeClass("active");
$(this).addClass("active");
var fselector = $(this).data('filter');
$portfolio_gallery.isotope({
itemSelector: '.gallery-item',
layoutMode: isotope_mode,
filter: fselector
});
return false;
});
THEMEMASCOT.slider.TM_flexslider();
},
TM_portfolioFlexSliderGalleryPopUpInit: function() {
var $flexSliders = $portfolio_gallery.find('.slides');
$flexSliders.each(function () {
var _items = $(this).find("li > a");
var items = [];
for (var i = 0; i < _items.length; i++) {
items.push({src: $(_items[i]).attr("href"), title: $(_items[i]).attr("title")});
}
$(this).parent().parent().parent().find(".icons-holder").magnificPopup({
items: items,
type: 'image',
gallery: {
enabled: true
}
});
});
},
TM_isotopeGridRearrange: function() {
var isotope_mode;
if ($portfolio_gallery.hasClass("masonry")){
isotope_mode = "masonry";
} else{
isotope_mode = "fitRows";
}
$portfolio_gallery.isotope({
itemSelector: '.gallery-item',
layoutMode: isotope_mode
});
},
TM_isotopeGridShuffle: function() {
$portfolio_gallery.isotope('shuffle');
},
/* ---------------------------------------------------------------------- */
/* ----------------------------- CountDown ------------------------------ */
/* ---------------------------------------------------------------------- */
TM_countDownTimer: function() {
var $clock = $('#clock-count-down');
var endingdate = $clock.data("endingdate");
$clock.countdown(endingdate, function(event) {
var countdown_text = '' +
'