;(function($){
"use strict";
var Core = {
DOMReady: function(){
var self = this;
self.searchBox();
self.videoPlay();
self.backToTopBtn({
transitionIn: 'bounceInRight',
transitionOut: 'bounceOutRight'
});
self.navigation.init();
},
windowLoad: function(){
var self = this;
self.fullScreen.init();
},
/**
** Full screen
**/
fullScreen:{
init: function(){
var self = this;
self.w = $(window);
self.header = $('#header');
self.calculation();
self.startAnimate();
self.w.on('resize', function(){
self.calculation();
});
},
calculation: function(){
var self = this;
self.wHeight = self.w.height();
console.log(self.wHeight);
$('.first_screen').height(self.wHeight);
$('.section_vertical_img>img').css({
'max-height': self.wHeight-50
});
},
startAnimate: function(){
$('.first_screen').addClass('start_animate');
}
},
/**
** Video Play button
**/
videoPlay: function(){
var self = this;
$('.video_btn').on('click',function(){
var $this = $(this),
videoBox = $this.closest('.video_box'),
video = $("#my-video")[0];
if(!videoBox.hasClass('pause')){
videoBox.addClass('pause');
video.play();
}
else{
videoBox.removeClass('pause');
video.pause();
}
});
},
/**
** Search Box
**/
searchBox : function(){
$('.search_btn').on('click',function(){
var $this = $(this);
$this.parents('.search_box').toggleClass('active');
$this.parents('.search_box').find('input[type="search"]').focus();
});
$(document).on('click',function(event){
if(!$(event.target).closest('.search_box').length){
$('.search_box').removeClass('active');
}
});
},
/**
** Back to top
**/
backToTopBtn: function(config){
config = $.extend({
offset: 350,
transitionIn: 'bounceInRight',
transitionOut: 'bounceOutRight'
}, config);
var btn = $('', {
class: 'back_to_top animated hidden',
html: ''
}).appendTo($('body')),
$wd = $(window),
$html = $('html'),
$body = $('body');
$wd.on('scroll.back_to_top', function(){
if($wd.scrollTop() > config.offset){
btn.removeClass('hidden '+config.transitionOut).addClass(config.transitionIn);
}
else{
btn.removeClass(config.transitionIn).addClass(config.transitionOut);
}
});
btn.on('click', function(){
$html.add($body).animate({
scrollTop: 0
});
});
},
/**
** Main navigation
**/
navigation: {
init: function () {
var self = this;
self.w = $(window);
self.body = $('body');
self.nav = $('.navigation');
self.section = $('.section');
self.sectionQt = self.section.length;
self.anchorScroll();
self.responsiveMenu.events();
self.w.on('scroll',function(){
self.pageScroll();
});
self.w.on('resize', function(){
self.responsiveMenu.menuClose();
});
},
anchorScroll: function(){
var self = this;
self.nav.on('click', "a", function(event){
event.preventDefault();
var $this = $(this),
item = $this.parent(),
dataId = $this.attr('href'),
offset = $(dataId).offset().top;
item.addClass('current').siblings().removeClass('current');
self.scrollContent(offset);
});
},
scrollContent: function(offset){
var self = this;
self.body.addClass('scrollContent');
$('html,body').stop().animate({
scrollTop: offset
},1000,function(){
self.body.removeClass('scrollContent');
});
},
pageScroll: function(){
var self = this;
if(self.body.hasClass('scrollContent'))return;
self.wScroll = self.w.scrollTop();
self.wHeightHalf = self.w.height()/2;
for (var i = 0; i <= self.sectionQt - 1; i++) {
var offset = $(self.section[i]).offset().top,
heightBox = $(self.section[i]).outerHeight(),
bottomOffset = $(self.section[i+1]).length ? $(self.section[i+1]).offset().top : offset + heightBox,
id = $(self.section[i]).attr('id'),
activItem = $('.navigation').find("a[href='" + "#" + id + "']").parent();
$('.navigation li').removeClass('active');
$('.navigation_point li').removeClass('navigation_point_active');
if(self.wScroll + self.wHeightHalf > offset && self.wScroll + self.wHeightHalf < bottomOffset ){
setTimeout(function(){
},1000)
activItem.addClass('current').siblings().removeClass('current');
return false;
}
};
},
responsiveMenu: {
events: function(){
var self = this;
self.nav = $('nav');
self.navButton = $('.nav_btn');
self.navButton.on('click', function () {
if(self.nav.hasClass('open_menu')){
self.menuClose();
}
else{
self.menuOpen();
}
});
self.nav.on('click', 'a', function(){
self.menuClose();
});
},
menuOpen: function(){
var self = this;
self.nav.addClass('open_menu');
},
menuClose: function(){
var self = this;
self.nav.removeClass('open_menu');
},
},
},
}
$(document).ready(function(){
Core.DOMReady();
});
$(window).load(function(){
Core.windowLoad();
});
})(jQuery);