var $ = jQuery.noConflict();
var SMM = SMM || {};
(function($){
// USE STRICT
"use strict";
SMM.initialize = {
init: function(){
SMM.initialize.responsiveClasses();
SMM.initialize.stickyElements();
SMM.initialize.goToTop();
SMM.initialize.fullScreen();
SMM.initialize.verticalMiddle();
SMM.initialize.pageTransition();
SMM.initialize.cookie();
},
responsiveClasses: function(){
var jRes = jRespond([
{
label: 'smallest',
enter: 0,
exit: 479
},{
label: 'handheld',
enter: 480,
exit: 767
},{
label: 'tablet',
enter: 768,
exit: 991
},{
label: 'laptop',
enter: 992,
exit: 1199
},{
label: 'desktop',
enter: 1200,
exit: 10000
}
]);
jRes.addFunc([
{
breakpoint: 'desktop',
enter: function() { $body.addClass('device-lg'); },
exit: function() { $body.removeClass('device-lg'); }
},{
breakpoint: 'laptop',
enter: function() { $body.addClass('device-md'); },
exit: function() { $body.removeClass('device-md'); }
},{
breakpoint: 'tablet',
enter: function() { $body.addClass('device-sm'); },
exit: function() { $body.removeClass('device-sm'); }
},{
breakpoint: 'handheld',
enter: function() { $body.addClass('device-xs'); },
exit: function() { $body.removeClass('device-xs'); }
},{
breakpoint: 'smallest',
enter: function() { $body.addClass('device-xxs'); },
exit: function() { $body.removeClass('device-xxs'); }
}
]);
},
imagePreload: function(selector, parameters){
var params = {
delay: 250,
transition: 400,
easing: 'linear'
};
$.extend(params, parameters);
$(selector).each(function() {
var image = $(this);
image.css({visibility:'hidden', opacity: 0, display:'block'});
image.wrap('');
image.one("load", function(evt) {
$(this).delay(params.delay).css({visibility:'visible'}).animate({opacity: 1}, params.transition, params.easing, function() {
$(this).unwrap('');
});
}).each(function() {
if(this.complete) $(this).trigger("load");
});
});
},
verticalMiddle: function(){
if( $verticalMiddleEl.length > 0 ) {
$verticalMiddleEl.each( function(){
var element = $(this),
verticalMiddleH = element.outerHeight(),
headerHeight = $header.outerHeight();
if( element.parents('#slider').length > 0 && !element.hasClass('ignore-header') ) {
if( $header.hasClass('transparent-header') && ( $body.hasClass('device-lg') || $body.hasClass('device-md') ) ) {
verticalMiddleH = verticalMiddleH - 70;
if( $slider.next('#header').length > 0 ) { verticalMiddleH = verticalMiddleH + headerHeight; }
}
}
if( $body.hasClass('device-xs') || $body.hasClass('device-xxs') ) {
if( element.parents('.full-screen').length && !element.parents('.force-full-screen').length ){
element.css({ position: 'relative', top: '0', width: 'auto', marginTop: '0', padding: '60px 0' }).addClass('clearfix');
} else {
element.css({ position: 'absolute', top: '50%', width: '100%', marginTop: -(verticalMiddleH/2)+'px' });
}
} else {
element.css({ position: 'absolute', top: '50%', width: '100%', marginTop: -(verticalMiddleH/2)+'px' });
}
});
}
},
stickyElements: function(){
if( $siStickyEl.length > 0 ) {
var siStickyH = $siStickyEl.outerHeight();
$siStickyEl.css({ marginTop: -(siStickyH/2)+'px' });
}
$(window).on( 'scroll', function(){
if ($(window).scrollTop() > 1) {
$('#header-wrap').addClass('topbar-gone');
} else {
$('#header-wrap').removeClass('topbar-gone');
}
})
},
goToTop: function(){
$goToTopEl.click(function() {
$('body,html').stop(true).animate({scrollTop:0},400);
return false;
});
},
goToTopScroll: function(){
if( $body.hasClass('device-lg') || $body.hasClass('device-md') || $body.hasClass('device-sm') ) {
if($window.scrollTop() > 450) {
$goToTopEl.fadeIn();
} else {
$goToTopEl.fadeOut();
}
}
},
fullScreen: function(){
if( $fullScreenEl.length > 0 ) {
$fullScreenEl.each( function(){
var element = $(this),
scrHeight = $window.height();
if( element.attr('id') == 'slider' ) {
var sliderHeightOff = $slider.offset().top;
scrHeight = scrHeight - sliderHeightOff;
if( element.hasClass('slider-parallax') ) {
var transformVal = element.css('transform'),
transformX = transformVal.match(/-?[\d\.]+/g);
if( !transformX ) { var transformXvalue = 0; } else { var transformXvalue = transformX[5]; }
scrHeight = ( $window.height() + Number( transformXvalue ) ) - sliderHeightOff;
}
if( $('#slider.with-header').next('#header:not(.transparent-header)').length > 0 && ( $body.hasClass('device-lg') || $body.hasClass('device-md') ) ) {
var headerHeightOff = $header.outerHeight();
scrHeight = scrHeight - headerHeightOff;
}
}
if( element.parents('.full-screen').length > 0 ) { scrHeight = element.parents('.full-screen').height(); }
if( $body.hasClass('device-xs') || $body.hasClass('device-xxs') ) {
if( !element.hasClass('force-full-screen') ){ scrHeight = 'auto'; }
}
element.css('height', scrHeight);
if( element.attr('id') == 'slider' && !element.hasClass('canvas-slider-grid') ) { if( element.has('.swiper-slide') ) { element.find('.swiper-slide').css('height', scrHeight); } }
});
}
},
maxHeight: function(){
if( $commonHeightEl.length > 0 ) {
$commonHeightEl.each( function(){
var element = $(this);
if( element.has('.common-height') ) {
SMM.initialize.commonHeight( element.find('.common-height') );
}
SMM.initialize.commonHeight( element );
});
}
},
commonHeight: function( element ){
var maxHeight = 0;
element.children('[class^=col-]').each(function() {
var element = $(this).children('div');
if( element.hasClass('max-height') ){
maxHeight = element.outerHeight();
} else {
if (element.outerHeight() > maxHeight)
maxHeight = element.outerHeight();
}
});
element.children('[class^=col-]').each(function() {
$(this).height(maxHeight);
});
},
pageTransition: function(){
if( !$body.hasClass('no-transition') ){
var animationIn = $body.attr('data-animation-in'),
animationOut = $body.attr('data-animation-out'),
durationIn = $body.attr('data-speed-in'),
durationOut = $body.attr('data-speed-out'),
loaderStyle = $body.attr('data-loader'),
loaderColor = $body.attr('data-loader-color'),
loaderStyleHtml = '
',
loaderBgStyle = '',
loaderBorderStyle = '',
loaderBgClass = '',
loaderBorderClass = '',
loaderBgClass2 = '',
loaderBorderClass2 = '';
if( !animationIn ) { animationIn = 'fadeIn'; }
if( !animationOut ) { animationOut = 'fadeOut'; }
if( !durationIn ) { durationIn = 1500; }
if( !durationOut ) { durationOut = 800; }
if( loaderColor ) {
if( loaderColor == 'theme' ) {
loaderBgClass = ' bgcolor';
loaderBorderClass = ' border-color';
loaderBgClass2 = ' class="bgcolor"';
loaderBorderClass2 = ' class="border-color"';
} else {
loaderBgStyle = ' style="background-color:'+ loaderColor +';"';
loaderBorderStyle = ' style="border-color:'+ loaderColor +';"';
}
loaderStyleHtml = ''
}
if( loaderStyle == '2' ) {
loaderStyleHtml = '';
} else if( loaderStyle == '3' ) {
loaderStyleHtml = '';
} else if( loaderStyle == '4' ) {
loaderStyleHtml = '';
} else if( loaderStyle == '5' ) {
loaderStyleHtml = '';
} else if( loaderStyle == '6' ) {
loaderStyleHtml = '';
} else if( loaderStyle == '7' ) {
loaderStyleHtml = '';
} else if( loaderStyle == '8' ) {
loaderStyleHtml = '';
} else if( loaderStyle == '9' ) {
loaderStyleHtml = '';
} else if( loaderStyle == '10' ) {
loaderStyleHtml = '';
} else if( loaderStyle == '11' ) {
loaderStyleHtml = '';
} else if( loaderStyle == '12' ) {
loaderStyleHtml = '';
} else if( loaderStyle == '13' ) {
loaderStyleHtml = '';
} else if( loaderStyle == '14' ) {
loaderStyleHtml = '';
}
$wrapper.animsition({
inClass : animationIn,
outClass : animationOut,
inDuration : Number(durationIn),
outDuration : Number(durationOut),
linkElement : '#primary-menu ul li a:not([target="_blank"]):not([href^=#])',
loading : true,
loadingParentElement : 'body',
loadingClass : 'css3-spinner',
loadingHtml : loaderStyleHtml,
unSupportCss : [
'animation-duration',
'-webkit-animation-duration',
'-o-animation-duration'
],
overlay : false,
overlayClass : 'animsition-overlay-slide',
overlayParentElement : 'body'
});
}
},
topScrollOffset: function() {
var topOffsetScroll = 0;
if( ( $body.hasClass('device-lg') || $body.hasClass('device-md') ) && !SMM.isMobile.any() ) {
if( $header.hasClass('sticky-header') ) {
if( $pagemenu.hasClass('dots-menu') ) { topOffsetScroll = 100; } else { topOffsetScroll = 144; }
} else {
if( $pagemenu.hasClass('dots-menu') ) { topOffsetScroll = 140; } else { topOffsetScroll = 184; }
}
if( !$pagemenu.length ) {
if( $header.hasClass('sticky-header') ) { topOffsetScroll = 100; } else { topOffsetScroll = 140; }
}
} else {
topOffsetScroll = 40;
}
return topOffsetScroll;
},
defineColumns: function( element ){
var column = 4;
if( element.hasClass('portfolio-full') ) {
if( element.hasClass('portfolio-3') ) column = 3;
else if( element.hasClass('portfolio-5') ) column = 5;
else if( element.hasClass('portfolio-6') ) column = 6;
else column = 4;
if( $body.hasClass('device-sm') && ( column == 4 || column == 5 || column == 6 ) ) {
column = 3;
} else if( $body.hasClass('device-xs') && ( column == 3 || column == 4 || column == 5 || column == 6 ) ) {
column = 2;
} else if( $body.hasClass('device-xxs') ) {
column = 1;
}
} else if( element.hasClass('masonry-thumbs') ) {
var lgCol = element.attr('data-lg-col'),
mdCol = element.attr('data-md-col'),
smCol = element.attr('data-sm-col'),
xsCol = element.attr('data-xs-col'),
xxsCol = element.attr('data-xxs-col');
if( element.hasClass('col-2') ) column = 2;
else if( element.hasClass('col-3') ) column = 3;
else if( element.hasClass('col-5') ) column = 5;
else if( element.hasClass('col-6') ) column = 6;
else column = 4;
if( $body.hasClass('device-lg') ) {
if( lgCol ) { column = Number(lgCol); }
} else if( $body.hasClass('device-md') ) {
if( mdCol ) { column = Number(mdCol); }
} else if( $body.hasClass('device-sm') ) {
if( smCol ) { column = Number(smCol); }
} else if( $body.hasClass('device-xs') ) {
if( xsCol ) { column = Number(xsCol); }
} else if( $body.hasClass('device-xxs') ) {
if( xxsCol ) { column = Number(xxsCol); }
}
}
return column;
},
setFullColumnWidth: function( element ){
if( element.hasClass('portfolio-full') ) {
var columns = SMM.initialize.defineColumns( element );
var containerWidth = element.width();
if( containerWidth == ( Math.floor(containerWidth/columns) * columns ) ) { containerWidth = containerWidth - 1; }
var postWidth = Math.floor(containerWidth/columns);
if( $body.hasClass('device-xxs') ) { var deviceSmallest = 1; } else { var deviceSmallest = 0; }
element.find(".portfolio-item").each(function(index){
if( deviceSmallest == 0 && $(this).hasClass('wide') ) { var elementSize = ( postWidth*2 ); } else { var elementSize = postWidth; }
$(this).css({"width":elementSize+"px"});
});
} else if( element.hasClass('masonry-thumbs') ) {
var columns = SMM.initialize.defineColumns( element ),
containerWidth = element.innerWidth(),
windowWidth = $window.width();
if( containerWidth == windowWidth ){
containerWidth = windowWidth*1.004;
element.css({ 'width': containerWidth+'px' });
}
var postWidth = (containerWidth/columns);
postWidth = Math.floor(postWidth);
if( ( postWidth * columns ) >= containerWidth ) { element.css({ 'margin-right': '-1px' }); }
element.children('a').css({"width":postWidth+"px"});
var firstElementWidth = element.find('a:eq(0)').outerWidth();
element.isotope({
masonry: {
columnWidth: firstElementWidth
}
});
var bigImageNumbers = element.attr('data-big');
if( bigImageNumbers ) {
bigImageNumbers = bigImageNumbers.split(",");
var bigImageNumber = '',
bigi = '';
for( bigi = 0; bigi < bigImageNumbers.length; bigi++ ){
bigImageNumber = Number(bigImageNumbers[bigi]) - 1;
element.find('a:eq('+bigImageNumber+')').css({ width: firstElementWidth*2 + 'px' });
}
var t = setTimeout( function(){
element.isotope('layout');
}, 1000 );
}
}
},
aspectResizer: function(){
var $aspectResizerEl = $('.aspect-resizer');
if( $aspectResizerEl.length > 0 ) {
$aspectResizerEl.each( function(){
var element = $(this),
elementW = element.inlineStyle('width'),
elementH = element.inlineStyle('height'),
elementPW = element.parent().innerWidth();
});
}
},
cookie: function(){
//only if the element exists
var $cookieClass = $('.cookie-message');
var $cookieButton=$('.cookie-message .toast-close-button');
if($cookieClass.length){
$cookieClass.hide().slideDown('slow');
$cookieButton.click(function(){
$cookieClass.slideUp(400);
});
}
},
};
SMM.header = {
init: function(){
SMM.header.superfish();
SMM.header.menufunctions();
SMM.header.fullWidthMenu();
SMM.header.overlayMenu();
SMM.header.stickyMenu();
SMM.header.onePageScroll();
SMM.header.onepageScroller();
},
superfish: function(){
if ( $().superfish ) {
if( $body.hasClass('device-lg') || $body.hasClass('device-md') ) {
$('#primary-menu ul ul').css('display', 'block');
SMM.header.menuInvert();
}
$('body:not(.side-header) #primary-menu > ul, body:not(.side-header) #primary-menu > div > ul,.top-links > ul').superfish({
popUpSelector: 'ul,.top-link-section',
delay: 250,
speed: 350,
animation: {opacity:'show'},
animationOut: {opacity:'hide'},
cssArrows: false
});
$('body.side-header #primary-menu > ul').superfish({
popUpSelector: 'ul',
delay: 250,
speed: 350,
animation: {opacity:'show',height:'show'},
animationOut: {opacity:'hide',height:'hide'},
cssArrows: false
});
}
},
menuInvert: function() {
$('#primary-menu .mega-menu-content, #primary-menu ul ul').each( function( index, element ){
var $menuChildElement = $(element);
var windowWidth = $window.width();
var menuChildOffset = $menuChildElement.offset();
var menuChildWidth = $menuChildElement.width();
var menuChildLeft = menuChildOffset.left;
if(windowWidth - (menuChildWidth + menuChildLeft) < 0) {
$menuChildElement.addClass('menu-pos-invert');
}
});
},
menufunctions: function(){
$( '#primary-menu ul li:has(ul)' ).addClass('sub-menu');
$( '.top-links ul li:has(ul) > a' ).append( ' ' );
$( '.top-links > ul' ).addClass( 'clearfix' );
if( $body.hasClass('device-lg') || $body.hasClass('device-md') ) {
$('#primary-menu.sub-title > ul > li').hover(function() {
$(this).prev().css({ backgroundImage : 'none' });
}, function() {
$(this).prev().css({ backgroundImage : 'url("/smm/images/icons/menu-divider.png")' });
});
$('#primary-menu.sub-title').children('ul').children('.current').prev().css({ backgroundImage : 'none' });
}
if( SMM.isMobile.Android() ) {
$( '#primary-menu ul li.sub-menu' ).children('a').on('touchstart', function(e){
if( !$(this).parent('li.sub-menu').hasClass('sfHover') ) {
e.preventDefault();
}
});
}
if( SMM.isMobile.Windows() ) {
$('#primary-menu > ul, #primary-menu > div > ul,.top-links > ul').superfish('destroy').addClass('windows-mobile-menu');
$( '#primary-menu ul li:has(ul)' ).append('');
$( '#primary-menu ul li.sub-menu' ).children('a.wn-submenu-trigger').click( function(e){
$(this).parent().toggleClass('open');
$(this).parent().find('> ul, > .mega-menu-content').stop(true,true).toggle();
return false;
});
}
},
fullWidthMenu: function(){
if( $body.hasClass('stretched') ) {
if( $header.find('.container-fullwidth').length > 0 ) { $('.mega-menu .mega-menu-content').css({ 'width': $wrapper.width() - 120 }); }
if( $header.hasClass('full-header') ) { $('.mega-menu .mega-menu-content').css({ 'width': $wrapper.width() - 60 }); }
} else {
if( $header.find('.container-fullwidth').length > 0 ) { $('.mega-menu .mega-menu-content').css({ 'width': $wrapper.width() - 120 }); }
if( $header.hasClass('full-header') ) { $('.mega-menu .mega-menu-content').css({ 'width': $wrapper.width() - 80 }); }
}
},
overlayMenu: function(){
if( $body.hasClass('overlay-menu') ) {
var overlayMenuItem = $('#primary-menu').children('ul').children('li'),
overlayMenuItemHeight = overlayMenuItem.outerHeight(),
overlayMenuItemTHeight = overlayMenuItem.length * overlayMenuItemHeight,
firstItemOffset = ( $window.height() - overlayMenuItemTHeight ) / 2;
$('#primary-menu').children('ul').children('li:first-child').css({ 'margin-top': firstItemOffset+'px' });
}
},
stickyMenu: function( headerOffset ){
if ($window.scrollTop() > headerOffset) {
if( $body.hasClass('device-lg') || $body.hasClass('device-md') ) {
$('body:not(.side-header) #header:not(.no-sticky)').addClass('sticky-header');
$('#page-menu:not(.dots-menu,.no-sticky)').addClass('sticky-page-menu');
if( !$headerWrap.hasClass('force-not-dark') ) { $headerWrap.removeClass('not-dark'); }
SMM.header.stickyMenuClass();
} else if( $body.hasClass('device-xs') || $body.hasClass('device-xxs') || $body.hasClass('device-sm') ) {
if( $body.hasClass('sticky-responsive-menu') ) {
$('#header:not(.no-sticky)').addClass('responsive-sticky-header');
SMM.header.stickyMenuClass();
}
}
} else {
SMM.header.removeStickyness();
}
},
removeStickyness: function(){
if( $header.hasClass('sticky-header') ){
$('body:not(.side-header) #header:not(.no-sticky)').removeClass('sticky-header');
$header.removeClass().addClass(oldHeaderClasses);
$headerWrap.removeClass().addClass(oldHeaderWrapClasses);
if( !$headerWrap.hasClass('force-not-dark') ) { $headerWrap.removeClass('not-dark'); }
}
if( $pagemenu.hasClass('sticky-page-menu') ){
$('#page-menu:not(.dots-menu,.no-sticky)').removeClass('sticky-page-menu');
}
if( $header.hasClass('responsive-sticky-header') ){
$('body.sticky-responsive-menu #header').removeClass('responsive-sticky-header');
}
if( ( $body.hasClass('device-xs') || $body.hasClass('device-xxs') || $body.hasClass('device-sm') ) && ( typeof responsiveMenuClasses === 'undefined' ) ) {
$header.removeClass().addClass(oldHeaderClasses);
$headerWrap.removeClass().addClass(oldHeaderWrapClasses);
if( !$headerWrap.hasClass('force-not-dark') ) { $headerWrap.removeClass('not-dark'); }
}
},
onePageScroll: function(){
if( $onePageMenuEl.length > 0 ){
var onePageSpeed = $onePageMenuEl.attr('data-speed'),
onePageOffset = $onePageMenuEl.attr('data-offset'),
onePageEasing = $onePageMenuEl.attr('data-easing');
if( !onePageSpeed ) { onePageSpeed = 1000; }
if( !onePageEasing ) { onePageEasing = 'easeOutQuad'; }
$onePageMenuEl.find('a[data-href]').click(function(){
var element = $(this),
divScrollToAnchor = element.attr('data-href'),
divScrollSpeed = element.attr('data-speed'),
divScrollOffset = element.attr('data-offset'),
divScrollEasing = element.attr('data-easing');
if( $( divScrollToAnchor ).length > 0 ) {
if( !onePageOffset ) {
var onePageOffsetG = SMM.initialize.topScrollOffset();
} else {
var onePageOffsetG = onePageOffset;
}
if( !divScrollSpeed ) { divScrollSpeed = onePageSpeed; }
if( !divScrollOffset ) { divScrollOffset = onePageOffsetG; }
if( !divScrollEasing ) { divScrollEasing = onePageEasing; }
if( $onePageMenuEl.hasClass('no-offset') ) { divScrollOffset = 0; }
onePageGlobalOffset = Number(divScrollOffset);
$onePageMenuEl.find('li').removeClass('current');
$onePageMenuEl.find('a[data-href="' + divScrollToAnchor + '"]').parent('li').addClass('current');
$('#primary-menu > ul, #primary-menu > .container > ul').toggleClass('show', function() {
$('html,body').stop(true).animate({
'scrollTop': $( divScrollToAnchor ).offset().top - Number(divScrollOffset)
}, Number(divScrollSpeed), divScrollEasing);
}, false);
onePageGlobalOffset = Number(divScrollOffset);
}
return false;
});
}
},
onepageScroller: function(){
$onePageMenuEl.find('li').removeClass('current');
$onePageMenuEl.find('a[data-href="#' + SMM.header.onePageCurrentSection() + '"]').parent('li').addClass('current');
},
onePageCurrentSection: function(){
var currentOnePageSection = 'home';
$pageSectionEl.each(function(index) {
var h = $(this).offset().top;
var y = $window.scrollTop();
var offsetScroll = 100 + onePageGlobalOffset;
if( y + offsetScroll >= h && y < h + $(this).height() && $(this).attr('id') != currentOnePageSection ) {
currentOnePageSection = $(this).attr('id');
}
});
return currentOnePageSection;
},
stickyMenuClass: function(){
if( stickyMenuClasses ) { var newClassesArray = stickyMenuClasses.split(/ +/); } else { var newClassesArray = ''; }
var noOfNewClasses = newClassesArray.length;
if( noOfNewClasses > 0 ) {
var i = 0;
for( i=0; i 0 ) {
var i = 0;
for( i=0; i 0 ) {
var pageTitleHeight = $pageTitle.outerHeight();
sliderParallaxOffsetTop = pageTitleHeight + headerHeight;
} else {
sliderParallaxOffsetTop = headerHeight;
}
if( $slider.next('#header').length > 0 ) { sliderParallaxOffsetTop = 0; }
return sliderParallaxOffsetTop;
},
sliderParallax: function(){
if( $sliderParallaxEl.length > 0 ) {
if( ( $body.hasClass('device-lg') || $body.hasClass('device-md') ) && !SMM.isMobile.any() ) {
var parallaxOffsetTop = SMM.slider.sliderParallaxOffset(),
parallaxElHeight = $sliderParallaxEl.outerHeight();
if( ( parallaxElHeight + parallaxOffsetTop + 50 ) > $window.scrollTop() ){
$sliderParallaxEl.find('.slider-inner').css({ 'display': 'block', 'visibility': 'visible' });
if ($window.scrollTop() > parallaxOffsetTop) {
var tranformAmount = (($window.scrollTop()-parallaxOffsetTop) / 1.5 ).toFixed(2);
var tranformAmount2 = (($window.scrollTop()-parallaxOffsetTop) / 7 ).toFixed(2);
$sliderParallaxEl.stop(true,true).transition({ y: tranformAmount },0);
$('.slider-parallax .slider-caption,.ei-title').stop(true,true).transition({ y: -tranformAmount2 },0);
} else {
$('.slider-parallax,.slider-parallax .slider-caption,.ei-title').transition({ y: 0 },0);
}
} else {
$sliderParallaxEl.find('.slider-inner').css({ 'display': 'none', 'visibility': 'hidden' });
}
if (requesting) {
requestAnimationFrame(function(){
SMM.slider.sliderParallax();
SMM.slider.sliderElementsFade();
});
}
} else {
$('.slider-parallax,.slider-parallax .slider-caption,.ei-title').transition({ y: 0 },0);
}
}
},
sliderElementsFade: function(){
if( $sliderParallaxEl.length > 0 ) {
if( ( $body.hasClass('device-lg') || $body.hasClass('device-md') ) && !SMM.isMobile.any() ) {
var parallaxOffsetTop = SMM.slider.sliderParallaxOffset();
if( $slider.length > 0 ) {
if( $header.hasClass('transparent-header') || $('body').hasClass('side-header') ) { var tHeaderOffset = 100; } else { var tHeaderOffset = 0; }
$sliderParallaxEl.find('#slider-arrow-left,#slider-arrow-right,.vertical-middle:not(.no-fade),.slider-caption,.ei-title,.camera_prev,.camera_next').css({'opacity':( ( 100 + ( $slider.offset().top + parallaxOffsetTop + tHeaderOffset ) - $window.scrollTop() ) ) /90});
}
} else {
$sliderParallaxEl.find('#slider-arrow-left,#slider-arrow-right,.vertical-middle:not(.no-fade),.slider-caption,.ei-title,.camera_prev,.camera_next').css({'opacity': 1});
}
}
},
captionPosition: function(){
$slider.find('.slider-caption').each(function(){
var scapHeight = $(this).outerHeight();
var scapSliderHeight = $slider.outerHeight();
if( $(this).parents('#slider').prev('#header').hasClass('transparent-header') && ( $body.hasClass('device-lg') || $body.hasClass('device-md') ) ) {
if( $(this).parents('#slider').prev('#header').hasClass('floating-header') ) {
$(this).css({ top: ( scapSliderHeight + 160 - scapHeight ) / 2 + 'px' });
} else {
$(this).css({ top: ( scapSliderHeight + 100 - scapHeight ) / 2 + 'px' });
}
} else {
$(this).css({ top: ( scapSliderHeight - scapHeight ) / 2 + 'px' });
}
});
},
swiperSliderMenu: function(){
if( $body.hasClass('device-lg') || $body.hasClass('device-md') ) {
var activeSlide = $slider.find('.swiper-slide.swiper-slide-visible');
SMM.slider.headerSchemeChanger(activeSlide);
}
},
revolutionSliderMenu: function(){
if( $body.hasClass('device-lg') || $body.hasClass('device-md') ) {
var activeSlide = $slider.find('.current-sr-slide-visible');
SMM.slider.headerSchemeChanger(activeSlide);
}
},
headerSchemeChanger: function( activeSlide ){
if( activeSlide.length > 0 ) {
if( activeSlide.hasClass('dark') ){
$('#header.transparent-header:not(.sticky-header,.semi-transparent,.floating-header)').addClass('dark');
$('#header.transparent-header.sticky-header,#header.transparent-header.semi-transparent.sticky-header,#header.transparent-header.floating-header.sticky-header').removeClass('dark');
$headerWrap.removeClass('not-dark');
} else {
if( $body.hasClass('dark') ) {
activeSlide.addClass('not-dark');
$('#header.transparent-header:not(.semi-transparent,.floating-header)').removeClass('dark');
$('#header.transparent-header:not(.sticky-header,.semi-transparent,.floating-header)').find('#header-wrap').addClass('not-dark');
} else {
$('#header.transparent-header:not(.semi-transparent,.floating-header)').removeClass('dark');
$headerWrap.removeClass('not-dark');
}
}
SMM.header.darkLogo();
}
},
owlCaptionInit: function(){
if( $owlCarouselEl.length > 0 ){
$owlCarouselEl.each( function(){
var element = $(this);
if( element.find('.owl-dot').length > 0 ) {
element.find('.owl-controls').addClass('with-carousel-dots');
}
});
}
}
};
SMM.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 (SMM.isMobile.Android() || SMM.isMobile.BlackBerry() || SMM.isMobile.iOS() || SMM.isMobile.Opera() || SMM.isMobile.Windows());
}
};
SMM.widget = {
init: function(){
SMM.widget.animations();
SMM.widget.linkScroll();
SMM.widget.extras();
SMM.widget.counter();
SMM.widget.toggles();
},
parallax: function(){
if( !SMM.isMobile.any() ){
$.stellar({
horizontalScrolling: false,
verticalOffset: 150
});
} else {
$parallaxEl.addClass('mobile-parallax');
$parallaxPageTitleEl.addClass('mobile-parallax');
}
},
animations: function(){
var $dataAnimateEl = $('[data-animate]');
if( $dataAnimateEl.length > 0 ){
if( $body.hasClass('device-lg') || $body.hasClass('device-md') || $body.hasClass('device-sm') ){
$dataAnimateEl.each(function(){
var element = $(this),
animationDelay = element.attr('data-delay'),
animationDelayTime = 0;
if( animationDelay ) { animationDelayTime = Number( animationDelay ) + 500; } else { animationDelayTime = 500; }
if( !element.hasClass('animated') ) {
element.addClass('not-animated');
var elementAnimation = element.attr('data-animate');
element.appear(function () {
setTimeout(function() {
element.removeClass('not-animated').addClass( elementAnimation + ' animated');
}, animationDelayTime);
},{accX: 0, accY: -120},'easeInCubic');
}
});
}
}
},
notifications: function( element ){
toastr.clear();
var notifyElement = $(element),
notifyPosition = notifyElement.attr('data-notify-position'),
notifyType = notifyElement.attr('data-notify-type'),
notifyMsg = notifyElement.attr('data-notify-msg'),
notifyCloseButton = notifyElement.attr('data-notify-close');
if( !notifyPosition ) { notifyPosition = 'toast-bottom-full-width'; } else { notifyPosition = 'toast-' + notifyElement.attr('data-notify-position'); }
if( !notifyMsg ) { notifyMsg = 'Please set a message!'; }
if( notifyCloseButton == 'true' ) { notifyCloseButton = true; } else { notifyCloseButton = false; }
toastr.options.closeButton = notifyCloseButton;
toastr.options.closeHtml = '';
if( notifyType == 'warning' ) {
toastr.warning(notifyMsg);
} else if( notifyType == 'error' ) {
toastr.error(notifyMsg);
} else if( notifyType == 'success' ) {
toastr.success(notifyMsg);
} else {
toastr.info(notifyMsg);
}
return false;
},
linkScroll: function(){
$("a[data-scrollto]").click(function(){
var element = $(this),
divScrollToAnchor = element.attr('data-scrollto'),
divScrollSpeed = element.attr('data-speed'),
divScrollOffset = element.attr('data-offset'),
divScrollEasing = element.attr('data-easing');
if( !divScrollSpeed ) { divScrollSpeed = 750; }
if( !divScrollOffset ) { divScrollOffset = SMM.initialize.topScrollOffset(); }
if( !divScrollEasing ) { divScrollEasing = 'easeOutQuad'; }
$('html,body').stop(true).animate({
'scrollTop': $( divScrollToAnchor ).offset().top - Number(divScrollOffset)
}, Number(divScrollSpeed), divScrollEasing);
return false;
});
},
accordions: function(){
var $accordionEl = $('.accordion');
if( $accordionEl.length > 0 ){
$accordionEl.each( function(){
var element = $(this),
elementState = element.attr('data-state'),
accordionActive = element.attr('data-active');
if( !accordionActive ) { accordionActive = 0; } else { accordionActive = accordionActive - 1; }
element.find('.acc_content').hide();
if( elementState != 'closed' ) {
element.find('.acctitle:eq('+ Number(accordionActive) +')').addClass('acctitlec').next().show();
}
element.find('.acctitle').click(function(){
if( $(this).next().is(':hidden') ) {
element.find('.acctitle').removeClass('acctitlec').next().slideUp("normal");
$(this).toggleClass('acctitlec').next().slideDown("normal");
}
return false;
});
});
}
},
toggles: function(){
var $toggle = $('.toggle');
if( $toggle.length > 0 ) {
$toggle.each( function(){
var element = $(this),
elementState = element.attr('data-state');
if( elementState != 'open' ){
element.find('.togglec').hide();
} else {
element.find('.togglet').addClass("toggleta");
}
element.find('.togglet').click(function(){
$(this).toggleClass('toggleta').next('.togglec').slideToggle(300);
return true;
});
});
}
},
counter: function(){
var $counterEl = $('.counter:not(.counter-instant)');
if( $counterEl.length > 0 ){
$counterEl.each(function(){
var element = $(this);
var counterElementComma = $(this).find('span').attr('data-comma');
if( !counterElementComma ) { counterElementComma = false; } else { counterElementComma = true; }
if( $body.hasClass('device-lg') || $body.hasClass('device-md') ){
element.appear( function(){
SMM.widget.runCounter( element, counterElementComma );
},{accX: 0, accY: -120},'easeInCubic');
} else {
SMM.widget.runCounter( element, counterElementComma );
}
});
}
},
runCounter: function( counterElement,counterElementComma ){
if( counterElementComma == true ) {
counterElement.find('span').countTo({
formatter: function (value, options) {
value = value.toFixed(options.decimals);
value = value.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
return value;
}
});
} else {
counterElement.find('span').countTo();
}
},
extras: function(){
$('#primary-menu-trigger,#overlay-menu-close').click(function() {
$( '#primary-menu > ul, #primary-menu > div > ul' ).toggleClass("show");
return false;
});
$('#page-submenu-trigger').click(function() {
$body.toggleClass('top-search-open', false);
$pagemenu.toggleClass("pagemenu-active");
return false;
});
$pagemenu.find('nav').click(function(e){
$body.toggleClass('top-search-open', false);
$topCart.toggleClass('top-cart-open', false);
});
if( SMM.isMobile.any() ){
$body.addClass('device-touch');
}
}
}
SMM.documentOnResize = {
init: function(){
var t = setTimeout( function(){
SMM.header.overlayMenu();
SMM.initialize.fullScreen();
SMM.initialize.verticalMiddle();
SMM.initialize.maxHeight();
}, 500 );
}
};
SMM.documentOnReady = {
init: function(){
SMM.initialize.init();
SMM.header.init();
SMM.documentOnReady.windowscroll();
SMM.widget.init();
},
windowscroll: function(){
var headerOffset = 0;
var headerWrapOffset = 0;
if( $header.length > 0 ) { headerOffset = $header.offset().top; }
if( $header.length > 0 ) { headerWrapOffset = $headerWrap.offset().top; }
var headerDefinedOffset = $header.attr('data-sticky-offset');
if( typeof headerDefinedOffset !== 'undefined' ) {
if( headerDefinedOffset == 'full' ) {
headerWrapOffset = $window.height();
var headerOffsetNegative = $header.attr('data-sticky-offset-negative');
if( typeof headerOffsetNegative !== 'undefined' ) { headerWrapOffset = headerWrapOffset - headerOffsetNegative - 1; }
} else {
headerWrapOffset = Number(headerDefinedOffset);
}
}
$window.on( 'scroll', function(){
SMM.initialize.goToTopScroll();
$('body.open-header.close-header-on-scroll').removeClass("side-header-open");
SMM.header.stickyMenu( headerWrapOffset );
});
if( $onePageMenuEl.length > 0 ){
$window.scrolled(function() {
SMM.header.onepageScroller();
});
}
}
};
SMM.documentOnLoad = {
init: function(){
SMM.initialize.maxHeight();
SMM.initialize.verticalMiddle();
SMM.widget.parallax();
SMM.header.responsiveMenuClass();
}
};
var $window = $(window),
$body = $('body'),
$wrapper = $('#wrapper'),
$header = $('#header'),
$headerWrap = $('#header-wrap'),
$footer = $('#footer'),
oldHeaderClasses = $header.attr('class'),
oldHeaderWrapClasses = $headerWrap.attr('class'),
stickyMenuClasses = $header.attr('data-sticky-class'),
responsiveMenuClasses = $header.attr('data-responsive-class'),
defaultLogo = $('#logo').find('.standard-logo'),
defaultLogoWidth = defaultLogo.find('img').outerWidth(),
retinaLogo = $('#logo').find('.retina-logo'),
defaultLogoImg = defaultLogo.find('img').attr('src'),
$pagemenu = $('#page-menu'),
$onePageMenuEl = $('.one-page-menu'),
onePageGlobalOffset = 0,
$slider = $('#slider'),
$sliderParallaxEl = $('.slider-parallax'),
$pageTitle = $('#page-title'),
$verticalMiddleEl = $('.vertical-middle'),
$siStickyEl = $('.si-sticky'),
$goToTopEl = $('#gotoTop'),
$fullScreenEl = $('.full-screen'),
$commonHeightEl = $('.common-height'),
$pageSectionEl = $('.page-section'),
$parallaxEl = $('.parallax'),
$parallaxPageTitleEl = $('.page-title-parallax');
$(document).ready( SMM.documentOnReady.init );
$window.load( SMM.documentOnLoad.init );
$window.on( 'resize', SMM.documentOnResize.init );
})(jQuery);