4300 lines
125 KiB
JavaScript
4300 lines
125 KiB
JavaScript
/** ********************************************** **
|
|
@Author Dorin Grigoras
|
|
@Website www.stepofweb.com
|
|
@Last Update Thursay, February 22, 2018
|
|
|
|
NOTE! Do not change anything here if you want to
|
|
be able to update in the future! Please use
|
|
your custom script (eg. custom.js).
|
|
|
|
|
|
TABLE CONTENTS
|
|
-------------------------------
|
|
|
|
|
|
INLINE SCRIPTS
|
|
-------------------------------
|
|
COUNT TO
|
|
https://github.com/mhuggins/jquery-countTo
|
|
|
|
BROWSER DETECT
|
|
|
|
Appear
|
|
https://github.com/bas2k/jquery.appear/
|
|
|
|
Parallax v1.1.3
|
|
http://www.ianlunn.co.uk/plugins/jquery-parallax/
|
|
|
|
jQuery Easing v1.3
|
|
http://gsgd.co.uk/sandbox/jquery/easing/
|
|
|
|
WOW - v1.0.3
|
|
http://mynameismatthieu.com/WOW/
|
|
|
|
Modernizr 3.3.1
|
|
http://modernizr.com/download/#-csstransforms3d-csstransitions-video-touch-shiv-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load
|
|
*************************************************** **/
|
|
window.width = jQuery(window).width();
|
|
window.height = jQuery(window).height();
|
|
|
|
/* Init */
|
|
jQuery(window).ready(function () {
|
|
|
|
// Load Bootstrap JS
|
|
loadScript(plugin_path + 'bootstrap/js/bootstrap.min.js', function() {
|
|
|
|
// Load Material Design Js
|
|
if(jQuery("body").hasClass('enable-materialdesign')) {
|
|
loadScript(plugin_path + 'mdl/material.min.js');
|
|
}
|
|
|
|
// Init
|
|
Init(false);
|
|
|
|
});
|
|
|
|
|
|
/* --- */
|
|
if(jQuery("body").hasClass("smoothscroll") && navigator.platform.indexOf('Mac') < 0) {
|
|
|
|
loadScript(plugin_path + 'smoothscroll.js', function() {
|
|
jQuery.smoothScroll();
|
|
});
|
|
|
|
}
|
|
/* --- */
|
|
});
|
|
|
|
|
|
/** Init
|
|
Ajax Reinit: Init(true);
|
|
**************************************************************** **/
|
|
function Init(is_ajax) {
|
|
|
|
// First Load Only
|
|
if(is_ajax != true) {
|
|
|
|
_afterResize();
|
|
_slider_full();
|
|
_topNav();
|
|
_megaNavHorizontal();
|
|
_sideNav();
|
|
_stickyFooter();
|
|
_infiniteScroll();
|
|
|
|
}
|
|
|
|
// Reinit on Ajax
|
|
_owl_carousel();
|
|
_flexslider();
|
|
_popover();
|
|
_lightbox();
|
|
_mixitup();
|
|
_animate();
|
|
_onepageNav();
|
|
_scrollTo(false, 0);
|
|
_parallax();
|
|
_video();
|
|
_youtubeBG();
|
|
_toggle();
|
|
_placeholder();
|
|
_wrotate();
|
|
_lazyload();
|
|
_misc();
|
|
_countDown();
|
|
_masonryGallery();
|
|
_toastr(false,false,false,false);
|
|
_charts();
|
|
_select2();
|
|
_form();
|
|
_pickers();
|
|
_editors();
|
|
_pajinate();
|
|
_zoom();
|
|
_autosuggest();
|
|
_stepper();
|
|
_slimScroll();
|
|
_modalAutoLoad();
|
|
_bgimage();
|
|
_cookie_alert();
|
|
_widget_flickr();
|
|
_widget_twitter();
|
|
_widget_facebook();
|
|
_widget_dribbble();
|
|
_widget_media();
|
|
|
|
/** Bootstrap Tooltip **/
|
|
jQuery("a[data-toggle=tooltip], button[data-toggle=tooltip], span[data-toggle=tooltip]").tooltip();
|
|
}
|
|
|
|
|
|
|
|
/** Preloader
|
|
**************************************************************** **/
|
|
if(jQuery('#preloader').length > 0) {
|
|
|
|
jQuery(window).on("load", function() {
|
|
|
|
jQuery('#preloader').fadeOut(1000, function() {
|
|
jQuery('#preloader').remove();
|
|
});
|
|
|
|
setTimeout(function() {}, 1000);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
/** After Resize
|
|
**************************************************************** **/
|
|
function _afterResize() {
|
|
|
|
jQuery(window).on("load", function() {
|
|
"use strict";
|
|
|
|
// On Resize
|
|
jQuery(window).resize(function() {
|
|
|
|
if(window.afterResizeApp) {
|
|
clearTimeout(window.afterResizeApp);
|
|
}
|
|
|
|
window.afterResizeApp = setTimeout(function() {
|
|
|
|
/**
|
|
After Resize Code
|
|
.................
|
|
**/
|
|
|
|
_slider_full();
|
|
|
|
window.width = jQuery(window).width();
|
|
window.height = jQuery(window).height();
|
|
|
|
// Resize Flex Slider if exists!
|
|
if(jQuery('.flexslider').length > 0) {
|
|
jQuery('.flexslider').resize();
|
|
}
|
|
|
|
|
|
}, 300);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
/** Load Script
|
|
|
|
USAGE
|
|
var pageInit = function() {}
|
|
loadScript(plugin_path + "script.js", function);
|
|
|
|
Load multiple scripts and call a final function
|
|
loadScript(plugin_path + "script1.js", function(){
|
|
loadScript(plugin_path + "script2.js", function(){
|
|
loadScript(plugin_path + "script3.js", function(){
|
|
loadScript(plugin_path + "script4.js", function);
|
|
});
|
|
});
|
|
});
|
|
**************************************************************** **/
|
|
var _arr = {};
|
|
function loadScript(scriptName, callback) {
|
|
|
|
if (!_arr[scriptName]) {
|
|
_arr[scriptName] = true;
|
|
|
|
var body = document.getElementsByTagName('body')[0];
|
|
var script = document.createElement('script');
|
|
script.type = 'text/javascript';
|
|
script.src = scriptName;
|
|
|
|
// then bind the event to the callback function
|
|
// there are several events for cross browser compatibility
|
|
// script.onreadystatechange = callback;
|
|
script.onload = callback;
|
|
|
|
// fire the loading
|
|
body.appendChild(script);
|
|
|
|
} else if (callback) {
|
|
|
|
callback();
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** 00. Slider Full Height
|
|
**************************************************************** **/
|
|
function _slider_full() {
|
|
_headerHeight = 0;
|
|
|
|
if(jQuery("#header").hasClass('transparent') || jQuery("#header").hasClass('translucent')) {
|
|
_headerHeight = 0;
|
|
} else {
|
|
_headerHeight = jQuery("#header").outerHeight();
|
|
|
|
if(jQuery("#topBar").length > 0) {
|
|
_headerHeight = _headerHeight + jQuery("#topBar").outerHeight();
|
|
}
|
|
}
|
|
|
|
_screenHeight = jQuery(window).height() - _headerHeight;
|
|
|
|
if(jQuery("#header").hasClass('static'))
|
|
_screenHeight = jQuery(window).height();
|
|
|
|
if(jQuery("#slider").hasClass('halfheight')) {
|
|
jQuery("#slider.halfheight").height(_screenHeight / 2);
|
|
}
|
|
|
|
if(jQuery("#slider").hasClass('thirdheight')) {
|
|
jQuery("#slider.thirdheight").height(_screenHeight / 1.5);
|
|
}
|
|
|
|
if(jQuery("#slider").hasClass('fullheight')) {
|
|
jQuery("#slider.fullheight").height(_screenHeight);
|
|
jQuery("#slider.fullheight-min").css({"min-height":_screenHeight + "px"});
|
|
}
|
|
|
|
if(window.width < 960) {
|
|
jQuery("#slider.mobile-fullheight").height(_screenHeight);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** 01. Top Nav
|
|
**************************************************************** **/
|
|
function _topNav() {
|
|
window.scrollTop = 0;
|
|
window._cmScroll = 0;
|
|
var _header_el = jQuery("#header");
|
|
|
|
jQuery(window).scroll(function() {
|
|
_toTop();
|
|
});
|
|
|
|
/* Scroll To Top */
|
|
function _toTop() {
|
|
_scrollTop = jQuery(document).scrollTop();
|
|
|
|
if(_scrollTop > 100) {
|
|
|
|
if(jQuery("#toTop").is(":hidden")) {
|
|
jQuery("#toTop").show();
|
|
}
|
|
|
|
} else {
|
|
|
|
if(jQuery("#toTop").is(":visible")) {
|
|
jQuery("#toTop").hide();
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
// Mobile Submenu
|
|
var addActiveClass = false;
|
|
jQuery("#topMain a.dropdown-toggle").bind("click", function(e) {
|
|
|
|
if(jQuery(this).attr('href') == "#") {
|
|
e.preventDefault();
|
|
}
|
|
|
|
addActiveClass = jQuery(this).parent().hasClass("resp-active");
|
|
jQuery("#topMain").find(".resp-active").removeClass("resp-active");
|
|
|
|
if(!addActiveClass) {
|
|
jQuery(this).parents("li").addClass("resp-active");
|
|
}
|
|
|
|
return;
|
|
|
|
});
|
|
|
|
|
|
// Srearch
|
|
jQuery('li.search i.fa').click(function () {
|
|
if(jQuery('#header .search-box').is(":visible")) {
|
|
jQuery('#header .search-box').fadeOut(300);
|
|
} else {
|
|
jQuery('.search-box').fadeIn(300);
|
|
jQuery('#header .search-box form input').focus();
|
|
|
|
// hide quick cart if visible
|
|
if (jQuery('#header li.quick-cart div.quick-cart-box').is(":visible")) {
|
|
jQuery('#header li.quick-cart div.quick-cart-box').fadeOut(300);
|
|
}
|
|
}
|
|
});
|
|
|
|
// close search box on body click
|
|
if(jQuery('#header li.search i.fa').size() != 0) {
|
|
jQuery('#header .search-box, #header li.search i.fa').on('click', function(e){
|
|
e.stopPropagation();
|
|
});
|
|
|
|
jQuery('body').on('click', function() {
|
|
if(jQuery('#header li.search .search-box').is(":visible")) {
|
|
jQuery('#header .search-box').fadeOut(300);
|
|
}
|
|
});
|
|
}
|
|
|
|
jQuery(document).bind("click", function() {
|
|
if(jQuery('#header li.search .search-box').is(":visible")) {
|
|
jQuery('#header .search-box').fadeOut(300);
|
|
}
|
|
});
|
|
|
|
|
|
// Close Fullscreen Search
|
|
jQuery("#closeSearch").bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
jQuery('#header .search-box').fadeOut(300);
|
|
});
|
|
|
|
|
|
|
|
// Page Menu [mobile]
|
|
jQuery("button#page-menu-mobile").bind("click", function() {
|
|
jQuery(this).next('ul').slideToggle(150);
|
|
});
|
|
|
|
|
|
// Quick Cart
|
|
jQuery('li.quick-cart>a').click(function (e) {
|
|
e.preventDefault();
|
|
|
|
var _quick_cart_box = jQuery('li.quick-cart div.quick-cart-box');
|
|
|
|
if(_quick_cart_box.is(":visible")) {
|
|
_quick_cart_box.fadeOut(300);
|
|
} else {
|
|
_quick_cart_box.fadeIn(300);
|
|
|
|
// close search if visible
|
|
if(jQuery('li.search .search-box').is(":visible")) {
|
|
jQuery('.search-box').fadeOut(300);
|
|
}
|
|
}
|
|
});
|
|
// close quick cart on body click
|
|
if(jQuery('li.quick-cart>a').size() != 0) {
|
|
jQuery('li.quick-cart').on('click', function(e){
|
|
e.stopPropagation();
|
|
});
|
|
|
|
jQuery('body').on('click', function() {
|
|
if (jQuery('li.quick-cart div.quick-cart-box').is(":visible")) {
|
|
jQuery('li.quick-cart div.quick-cart-box').fadeOut(300);
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
// Page Menu [scrollTo]
|
|
jQuery("#page-menu ul.menu-scrollTo>li").bind("click", function(e) {
|
|
|
|
// calculate padding-top for scroll offset
|
|
var _href = jQuery('a', this).attr('href');
|
|
|
|
if(!jQuery('a', this).hasClass('external')) {
|
|
e.preventDefault();
|
|
|
|
jQuery("#page-menu ul.menu-scrollTo>li").removeClass('active');
|
|
jQuery(this).addClass('active');
|
|
|
|
if(jQuery(_href).length > 0) {
|
|
|
|
_padding_top = 0;
|
|
|
|
if(jQuery("#header").hasClass('sticky')) {
|
|
_padding_top = jQuery(_href).css('padding-top');
|
|
_padding_top = _padding_top.replace('px', '');
|
|
}
|
|
|
|
jQuery('html,body').animate({scrollTop: jQuery(_href).offset().top - _padding_top}, 800, 'easeInOutExpo');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// MOBILE TOGGLE BUTTON
|
|
window.currentScroll = 0;
|
|
jQuery("button.btn-mobile").bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
jQuery(this).toggleClass('btn-mobile-active');
|
|
jQuery('html').removeClass('noscroll');
|
|
jQuery('#menu-overlay').remove();
|
|
|
|
if(jQuery(this).hasClass('btn-mobile-active')) {
|
|
jQuery('body').append('<div id="menu-overlay"></div>');
|
|
|
|
if(!jQuery("#topMain").hasClass('nav-onepage') || window.width > 960) { /* onepage fix */
|
|
jQuery('html').addClass('noscroll');
|
|
window.currentScroll = jQuery(window).scrollTop();
|
|
}
|
|
|
|
} else {
|
|
|
|
if(!jQuery("#topMain").hasClass('nav-onepage') || window.width > 960) { /* onepage fix */
|
|
jQuery('html,body').animate({scrollTop: currentScroll}, 300, 'easeInOutExpo');
|
|
}
|
|
|
|
}
|
|
});
|
|
|
|
|
|
|
|
|
|
// BOTTOM NAV
|
|
if(_header_el.hasClass('bottom')) {
|
|
|
|
// Add dropup class
|
|
_header_el.addClass('dropup');
|
|
window.homeHeight = jQuery(window).outerHeight() - 55;
|
|
|
|
|
|
// sticky header
|
|
if(_header_el.hasClass('sticky')) {
|
|
window.isOnTop = true;
|
|
|
|
|
|
// if scroll is > 60%, remove class dropup
|
|
jQuery(window).scroll(function() {
|
|
if(jQuery(document).scrollTop() > window.homeHeight / 2) {
|
|
_header_el.removeClass('dropup');
|
|
} else {
|
|
_header_el.addClass('dropup');
|
|
}
|
|
});
|
|
|
|
|
|
// Add fixed|not fixed & dropup|no dropup
|
|
jQuery(window).scroll(function() {
|
|
if(jQuery(document).scrollTop() > window.homeHeight) {
|
|
if(window.isOnTop === true) {
|
|
jQuery('#header').addClass('fixed');
|
|
_header_el.removeClass('dropup');
|
|
window.isOnTop = false;
|
|
}
|
|
} else {
|
|
if(window.isOnTop === false) {
|
|
jQuery('#header').removeClass('fixed');
|
|
_header_el.addClass('dropup');
|
|
window.isOnTop = true;
|
|
}
|
|
}
|
|
});
|
|
|
|
// get window height on resize
|
|
jQuery(window).resize(function() {
|
|
window.homeHeight = jQuery(window).outerHeight();
|
|
});
|
|
|
|
}
|
|
|
|
} else
|
|
|
|
// STICKY
|
|
if(_header_el.hasClass('sticky')) {
|
|
|
|
_topBar_H = jQuery("#topBar").outerHeight() || 0;
|
|
|
|
// Force fixed header on mobile to avoid "jump" effect.
|
|
if(window.width <= 992 && _topBar_H < 1) {
|
|
|
|
var _scrollTop = jQuery(document).scrollTop();
|
|
_header_H = _header_el.outerHeight() || 0;
|
|
|
|
_header_el.addClass('fixed');
|
|
jQuery('body').css({"padding-top":_header_H+"px"});
|
|
|
|
}
|
|
|
|
|
|
// Header Switch - outside of scroll
|
|
if(_header_el.hasClass('transparent')) {
|
|
var _el = jQuery("#topNav div.nav-main-collapse"),
|
|
_data_switch_default = _el.attr('data-switch-default') || '',
|
|
_data_switch_scroll = _el.attr('data-switch-scroll') || '';
|
|
}
|
|
|
|
|
|
jQuery(window).scroll(function() {
|
|
|
|
if((window.width > 992 && _topBar_H < 1) || _topBar_H > 0) { // 992 to disable on mobile
|
|
|
|
var _scrollTop = jQuery(document).scrollTop();
|
|
|
|
if(_scrollTop > _topBar_H) {
|
|
_header_el.addClass('fixed');
|
|
|
|
_header_H = _header_el.outerHeight() || 0;
|
|
|
|
if(!_header_el.hasClass('transparent') && !_header_el.hasClass('translucent')) {
|
|
jQuery('body').css({"padding-top":_header_H+"px"});
|
|
}
|
|
|
|
} else {
|
|
if(!_header_el.hasClass('transparent') && !_header_el.hasClass('translucent')) {
|
|
jQuery('body').css({"padding-top":"0px"});
|
|
}
|
|
|
|
_header_el.removeClass('fixed');
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// SWITCH DROPDOWN MENU CLASS ON SCROLL
|
|
if(_header_el.hasClass('transparent')) {
|
|
|
|
if(_data_switch_default != '' || _data_switch_scroll != '') {
|
|
|
|
if(_scrollTop > 0) {
|
|
|
|
if(window._cmScroll < 1) {
|
|
|
|
_el.removeClass(_data_switch_default, _data_switch_scroll).addClass(_data_switch_scroll);
|
|
|
|
// set to 1, we want to change classes once, not for each pixel on scroll
|
|
window._cmScroll = 1;
|
|
|
|
}
|
|
|
|
} else
|
|
|
|
if(_scrollTop < 1) {
|
|
|
|
_el.removeClass(_data_switch_default, _data_switch_scroll).addClass(_data_switch_default);
|
|
|
|
// Set back to 0
|
|
window._cmScroll = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
} else
|
|
|
|
|
|
// REVEAL ON SCROLL UP
|
|
if(_header_el.hasClass('scroll')) {
|
|
jQuery('body').addClass('header-scroll-reveal');
|
|
|
|
|
|
// Hide Header on on scroll down
|
|
var didScroll;
|
|
var lastScrollTop = 0;
|
|
var delta = 5;
|
|
var _header_H = _header_el.outerHeight() || 0;
|
|
|
|
|
|
jQuery(window).scroll(function(event){
|
|
didScroll = true;
|
|
});
|
|
|
|
setInterval(function() {
|
|
if (didScroll) {
|
|
hasScrolled();
|
|
didScroll = false;
|
|
}
|
|
}, 100);
|
|
|
|
function hasScrolled() {
|
|
var st = $(this).scrollTop();
|
|
|
|
// Make sure they scroll more than delta
|
|
if(Math.abs(lastScrollTop - st) <= delta)
|
|
return;
|
|
|
|
// If they scrolled down and are past the navbar, add class .nav-up.
|
|
// This is necessary so you never see what is "behind" the navbar.
|
|
if (st > lastScrollTop && st > _header_H){
|
|
|
|
// Scroll Down
|
|
_header_el.removeClass('nav-down').addClass('nav-up');
|
|
|
|
} else {
|
|
|
|
// Scroll Up
|
|
if(st + jQuery(window).height() < jQuery(document).height()) {
|
|
_header_el.removeClass('nav-up').addClass('nav-down');
|
|
}
|
|
|
|
}
|
|
|
|
lastScrollTop = st;
|
|
}
|
|
|
|
} else
|
|
|
|
|
|
// STATIC + TRANSPARENT
|
|
if(_header_el.hasClass('static') && _header_el.hasClass('transparent')) {
|
|
|
|
_topBar_H = jQuery("#topBar").outerHeight() || 0;
|
|
|
|
// Force fixed header on mobile to avoid "jump" effect.
|
|
if(window.width <= 992 && _topBar_H < 1) {
|
|
|
|
var _scrollTop = jQuery(document).scrollTop();
|
|
_header_H = _header_el.outerHeight() || 0;
|
|
|
|
_header_el.addClass('fixed');
|
|
|
|
}
|
|
|
|
|
|
|
|
jQuery(window).scroll(function() {
|
|
|
|
if((window.width > 992 && _topBar_H < 1) || _topBar_H > 0) { // 992 to disable on mobile
|
|
|
|
var _scrollTop = jQuery(document).scrollTop();
|
|
|
|
if(_scrollTop > _topBar_H) {
|
|
_header_el.addClass('fixed');
|
|
|
|
_header_H = _header_el.outerHeight() || 0;
|
|
|
|
} else {
|
|
|
|
|
|
_header_el.removeClass('fixed');
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
} else
|
|
|
|
if(_header_el.hasClass('static')) {
|
|
// _header_H = _header_el.outerHeight() + "px";
|
|
// jQuery('body').css({"padding-top":_header_H});
|
|
}
|
|
|
|
|
|
|
|
// Slide Top
|
|
jQuery("#slidetop a.slidetop-toggle").bind("click", function() {
|
|
jQuery("#slidetop .container").slideToggle(150, function() {
|
|
|
|
if(jQuery("#slidetop .container").is(":hidden")) {
|
|
jQuery("#slidetop").removeClass('active');
|
|
} else {
|
|
jQuery("#slidetop").addClass('active');
|
|
}
|
|
|
|
});
|
|
});
|
|
// 'esc' key
|
|
jQuery(document).keyup(function(e) {
|
|
if(e.keyCode == 27) {
|
|
if(jQuery("#slidetop").hasClass("active")) {
|
|
jQuery("#slidetop .container").slideToggle(150, function() {
|
|
jQuery("#slidetop").removeClass('active');
|
|
});
|
|
}
|
|
}
|
|
});
|
|
|
|
// Slide Panel
|
|
jQuery("a#sidepanel_btn").bind("click", function(e) {
|
|
e.preventDefault();
|
|
_sidepanel_open();
|
|
|
|
|
|
});
|
|
|
|
function _sidepanel_open() {
|
|
_pos = "right";
|
|
if(jQuery("#sidepanel").hasClass('sidepanel-inverse')) {
|
|
_pos = "left";
|
|
}
|
|
|
|
if(jQuery("#sidepanel").is(":hidden")) {
|
|
|
|
jQuery("body").append('<span id="sidepanel_overlay"></span>');
|
|
|
|
if(_pos == "left") {
|
|
jQuery("#sidepanel").stop().show().animate({"left":"0px"}, 150);
|
|
} else {
|
|
jQuery("#sidepanel").stop().show().animate({"right":"0px"}, 150);
|
|
}
|
|
|
|
} else {
|
|
|
|
jQuery("#sidepanel_overlay").remove();
|
|
|
|
if(_pos == "left") {
|
|
jQuery("#sidepanel").stop().animate({"left":"-300px"}, 300);
|
|
} else {
|
|
jQuery("#sidepanel").stop().animate({"right":"-300px"}, 300);
|
|
}
|
|
|
|
setTimeout(function() {
|
|
jQuery("#sidepanel").hide();
|
|
}, 500);
|
|
|
|
}
|
|
|
|
_sidepanel_overlay();
|
|
}
|
|
// button close
|
|
jQuery("#sidepanel_close").bind("click", function(e) {
|
|
e.preventDefault();
|
|
jQuery("a#sidepanel_btn").trigger('click');
|
|
});
|
|
// overlay click
|
|
function _sidepanel_overlay() {
|
|
jQuery("#sidepanel_overlay").unbind();
|
|
jQuery("#sidepanel_overlay").bind("click", function() {
|
|
jQuery("a#sidepanel_btn").trigger('click');
|
|
});
|
|
}
|
|
// 'esc' key
|
|
jQuery(document).keyup(function(e) {
|
|
if(e.keyCode == 27) {
|
|
if(jQuery("#sidepanel").is(":visible")) {
|
|
jQuery("a#sidepanel_btn").trigger('click');
|
|
}
|
|
}
|
|
});
|
|
|
|
if(jQuery("#sidepanel").data('init')){
|
|
jQuery("a#sidepanel_btn").trigger('click');
|
|
}
|
|
|
|
|
|
|
|
/** OVERLAY MENU
|
|
*************************** **/
|
|
if(jQuery("#menu_overlay_open").length > 0) {
|
|
var is_ie9 = jQuery('html').hasClass('ie9') ? true : false;
|
|
|
|
if(is_ie9 == true) {
|
|
jQuery("#topMain").hide();
|
|
}
|
|
|
|
// open
|
|
jQuery("#menu_overlay_open").bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
jQuery('body').addClass('show-menu');
|
|
|
|
if(is_ie9 == true) {
|
|
jQuery("#topMain").show();
|
|
}
|
|
|
|
});
|
|
|
|
// close
|
|
jQuery("#menu_overlay_close").bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
if(jQuery('body').hasClass('show-menu')) {
|
|
jQuery('body').removeClass('show-menu');
|
|
}
|
|
|
|
if(is_ie9 == true) {
|
|
jQuery("#topMain").hide();
|
|
}
|
|
|
|
});
|
|
|
|
// 'esc' key
|
|
jQuery(document).keyup(function(e) {
|
|
if(e.keyCode == 27) {
|
|
if(jQuery('body').hasClass('show-menu')) {
|
|
jQuery('body').removeClass('show-menu');
|
|
}
|
|
|
|
if(is_ie9 == true) {
|
|
jQuery("#topMain").hide();
|
|
}
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
/** VERTICAL MENU SHOW|HIDE
|
|
*************************** **/
|
|
// RTL supported!
|
|
if(jQuery("#sidebar_vertical_btn").length > 0) {
|
|
if(jQuery("body").hasClass('menu-vertical-hide')) {
|
|
|
|
// Determine the position (left or right?)
|
|
_paddingStatusL = jQuery("#mainMenu.sidebar-vertical").css('left');
|
|
_paddingStatusR = jQuery("#mainMenu.sidebar-vertical").css('right');
|
|
|
|
if(parseInt(_paddingStatusL) < 0) {
|
|
var _pos = "left";
|
|
} else
|
|
|
|
if(parseInt(_paddingStatusR) < 0) {
|
|
var _pos = "right";
|
|
}
|
|
|
|
else {
|
|
var _pos = "left";
|
|
}
|
|
|
|
// Show|Hide Vertical Menu
|
|
jQuery("#sidebar_vertical_btn").bind("click", function(e) {
|
|
|
|
_paddingStatus = jQuery("#mainMenu.sidebar-vertical").css(_pos);
|
|
|
|
if(parseInt(_paddingStatus) < 0) {
|
|
if(_pos == "right") {
|
|
jQuery("#mainMenu.sidebar-vertical").stop().animate({"right":"0px"}, 200);
|
|
} else {
|
|
jQuery("#mainMenu.sidebar-vertical").stop().animate({"left":"0px"}, 200);
|
|
}
|
|
} else {
|
|
if(_pos == "right") {
|
|
jQuery("#mainMenu.sidebar-vertical").stop().animate({"right":"-263px"}, 200);
|
|
} else {
|
|
jQuery("#mainMenu.sidebar-vertical").stop().animate({"left":"-263px"}, 200);
|
|
}
|
|
}
|
|
});
|
|
|
|
// Hide on scroll
|
|
jQuery(window).scroll(function() {
|
|
|
|
_paddingStatus = parseInt(jQuery("#mainMenu.sidebar-vertical").css(_pos));
|
|
|
|
if(_paddingStatus >= 0) {
|
|
if(_pos == "right") {
|
|
jQuery("#mainMenu.sidebar-vertical").stop().animate({"right":"-263px"}, 200);
|
|
} else {
|
|
jQuery("#mainMenu.sidebar-vertical").stop().animate({"left":"-263px"}, 200);
|
|
}
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
}
|
|
|
|
// quick cart & search for mobile - top calculate
|
|
// Quick Cart & top Search Fix (if #topBar exists).
|
|
if(jQuery("#topBar").length > 0) {
|
|
jQuery("#topNav ul").addClass('has-topBar');
|
|
}
|
|
|
|
// Hide Cart & Search on Scroll
|
|
jQuery(window).scroll(function() {
|
|
if(window.width < 769) {
|
|
// hide quick cart if visible
|
|
if (jQuery('#header li.quick-cart div.quick-cart-box').is(":visible")) {
|
|
jQuery('#header li.quick-cart div.quick-cart-box').fadeOut(0);
|
|
}
|
|
// hide search if visible
|
|
if(jQuery('#header li.search .search-box').is(":visible")) {
|
|
jQuery('#header .search-box').fadeOut(0);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** Main Navigation
|
|
**************************************************************** **/
|
|
function _megaNavHorizontal() {
|
|
|
|
// WRAPPER MAIN MENU
|
|
if(jQuery("#wrapper nav.main-nav").length > 0) {
|
|
|
|
var _sliderWidth = jQuery("#slider").width(),
|
|
_sliderHeight = jQuery("#wrapper nav.main-nav").height();
|
|
|
|
// Submenu widh & height
|
|
jQuery("#wrapper nav.main-nav>div>ul>li>.main-nav-submenu").css({"min-height":_sliderHeight+"px"});
|
|
jQuery("#wrapper nav.main-nav>div>ul>li.main-nav-expanded>.main-nav-submenu").css({"width":_sliderWidth+"px"});
|
|
|
|
// SUBMENUS
|
|
jQuery("#wrapper nav.main-nav>div>ul>li").bind("click", function(e) {
|
|
var _this = jQuery(this);
|
|
|
|
if(!jQuery('div', _this).hasClass('main-nav-open')) {
|
|
jQuery("#wrapper nav.main-nav>div>ul>li>.main-nav-submenu").removeClass('main-nav-open');
|
|
}
|
|
|
|
jQuery('div', _this).toggleClass('main-nav-open');
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// HEADER MAIN MENU
|
|
var _hsliderWidth = jQuery("#header>.container").width() - 278,
|
|
_hsliderHeight = jQuery("#header nav.main-nav").height();
|
|
|
|
// Submenu widh & height
|
|
jQuery("#header nav.main-nav>div>ul>li>.main-nav-submenu").css({"min-height":_hsliderHeight+"px"});
|
|
jQuery("#header nav.main-nav>div>ul>li.main-nav-expanded>.main-nav-submenu").css({"width":_hsliderWidth+"px"});
|
|
|
|
|
|
// SUBMENUS
|
|
jQuery("#header nav.main-nav>div>ul>li").bind("click", function(e) {
|
|
var _this = jQuery(this);
|
|
|
|
if(!jQuery('div', _this).hasClass('main-nav-open')) {
|
|
jQuery("#header nav.main-nav>div>ul>li>.main-nav-submenu").removeClass('main-nav-open');
|
|
}
|
|
|
|
jQuery('div', _this).toggleClass('main-nav-open');
|
|
});
|
|
|
|
|
|
|
|
|
|
// HEADER MAIN MENU
|
|
if(window.width > 767) { // desktop|tablet
|
|
|
|
jQuery("#header button.nav-toggle").mouseover(function(e) {
|
|
e.preventDefault();
|
|
|
|
_initMainNav();
|
|
|
|
});
|
|
|
|
|
|
} else { // mobile
|
|
|
|
jQuery("#header button.nav-toggle").bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
_initMainNav();
|
|
|
|
});
|
|
|
|
}
|
|
|
|
jQuery('body').on('click', '#header button.nav-toggle, #header nav.main-nav', function (e) {
|
|
e.stopPropagation();
|
|
});
|
|
|
|
jQuery("#header button.nav-toggle, #header nav.main-nav").mouseover(function(e) {
|
|
e.stopPropagation();
|
|
});
|
|
|
|
|
|
jQuery(document).bind("click", function() {
|
|
|
|
_hideMainNav();
|
|
|
|
});
|
|
|
|
|
|
|
|
function _initMainNav() {
|
|
|
|
// remove overlay first, no matter what
|
|
jQuery("#main-nav-overlay").remove();
|
|
|
|
// open menu
|
|
jQuery("#header nav.main-nav").addClass('min-nav-active');
|
|
|
|
// add overlay
|
|
jQuery('body').append('<div id="main-nav-overlay"></div>');
|
|
|
|
|
|
// Mobile menu open|close on click
|
|
jQuery('#header button.nav-toggle-close').bind("click", function() {
|
|
jQuery("#header nav.main-nav").removeClass('min-nav-active');
|
|
});
|
|
|
|
// Close menu on hover
|
|
jQuery("#main-nav-overlay, #header").mouseover(function() {
|
|
|
|
_hideMainNav();
|
|
|
|
});
|
|
|
|
}
|
|
|
|
function _hideMainNav() {
|
|
jQuery("#main-nav-overlay").remove();
|
|
jQuery("#header nav.main-nav").removeClass('min-nav-active');
|
|
}
|
|
|
|
|
|
// Menu Click
|
|
jQuery("nav.main-nav>div>ul>li a").bind("click", function(e) {
|
|
var _href = jQuery(this).attr('href');
|
|
|
|
if(_href == '#') {
|
|
e.preventDefault();
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** 02. Side Nav
|
|
**************************************************************** **/
|
|
function _sideNav() {
|
|
|
|
|
|
/* Mobile Button */
|
|
jQuery("div.side-nav").each(function() {
|
|
var _t = jQuery('ul', this);
|
|
jQuery('button', this).bind("click", function() {
|
|
_t.slideToggle(300);
|
|
});
|
|
});
|
|
|
|
|
|
/* Submenus */
|
|
jQuery("div.side-nav li>a.dropdown-toggle").bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
jQuery(this).next('ul').slideToggle(200);
|
|
jQuery(this).closest('li').toggleClass('active');
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
/** 02. Animate
|
|
|
|
EXAMPLE USAGE
|
|
<img class="wow fadeInUp" data-wow-delay="0.1s" src="image.jpg" alt="" />
|
|
**************************************************************** **/
|
|
function _animate() {
|
|
|
|
if(jQuery("body").hasClass('enable-animation')) {
|
|
|
|
var wow = new WOW({
|
|
boxClass: 'wow',
|
|
animateClass: 'animated',
|
|
offset: 90,
|
|
mobile: false,
|
|
live: true
|
|
});
|
|
|
|
wow.init();
|
|
|
|
}
|
|
|
|
// Count To
|
|
jQuery(".countTo").appear(function(){
|
|
var _t = jQuery(this),
|
|
_from = _t.attr('data-from') || 0,
|
|
_speed = _t.attr('data-speed') || 1300,
|
|
_refreshInterval = _t.attr('data-refreshInterval') || 60;
|
|
|
|
|
|
_t.countTo({
|
|
from: parseInt(_from),
|
|
to: _t.html(),
|
|
speed: parseInt(_speed),
|
|
refreshInterval: parseInt(_refreshInterval),
|
|
});
|
|
|
|
});
|
|
}
|
|
|
|
|
|
|
|
/** Onepage Nav
|
|
**************************************************************** **/
|
|
function _onepageNav() {
|
|
|
|
|
|
// Top Navigation
|
|
var _container1 = jQuery(".nav-onepage");
|
|
|
|
if(_container1.length > 0) {
|
|
|
|
loadScript(plugin_path + 'jquery.nav.min.js', function() {
|
|
|
|
jQuery(_container1).onePageNav({
|
|
currentClass: 'active',
|
|
changeHash: false,
|
|
scrollSpeed: 750,
|
|
scrollThreshold: 0.5,
|
|
filter: ':not(.external)',
|
|
easing: 'easeInOutExpo'
|
|
});
|
|
|
|
// Close Nav on menu click
|
|
jQuery("#topMain.nav-onepage li>a").bind("click", function() {
|
|
if(window.width < 960) {
|
|
jQuery("button.btn-mobile").trigger('click');
|
|
}
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
// Bullet Navigation
|
|
var _container2 = jQuery("#nav-bullet");
|
|
|
|
if(_container2.length > 0) {
|
|
|
|
loadScript(plugin_path + 'jquery.nav.min.js', function() {
|
|
|
|
jQuery(_container2).onePageNav({
|
|
currentClass: 'active',
|
|
changeHash: false,
|
|
scrollSpeed: 750,
|
|
scrollThreshold: 0.5,
|
|
filter: ':not(.external)',
|
|
easing: 'easeInOutExpo'
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/** 03. OWL Carousel
|
|
**************************************************************** **/
|
|
function _owl_carousel() {
|
|
var _container = jQuery("div.owl-carousel");
|
|
|
|
if(_container.length > 0) {
|
|
|
|
loadScript(plugin_path + 'owl-carousel/owl.carousel.min.js', function() {
|
|
|
|
_container.each(function() {
|
|
|
|
var slider = jQuery(this);
|
|
var options = slider.attr('data-plugin-options');
|
|
|
|
// Progress Bar
|
|
var $opt = eval('(' + options + ')'); // convert text to json
|
|
|
|
if($opt.progressBar == 'true') {
|
|
var afterInit = progressBar;
|
|
} else {
|
|
var afterInit = false;
|
|
}
|
|
|
|
var defaults = {
|
|
items: 5,
|
|
itemsCustom: false,
|
|
itemsDesktop: [1199,4],
|
|
itemsDesktopSmall: [980,3],
|
|
itemsTablet: [768,2],
|
|
itemsTabletSmall: false,
|
|
itemsMobile: [479,1],
|
|
singleItem: true,
|
|
itemsScaleUp: false,
|
|
|
|
slideSpeed: 200,
|
|
paginationSpeed: 800,
|
|
rewindSpeed: 1000,
|
|
|
|
autoPlay: false,
|
|
stopOnHover: false,
|
|
|
|
navigation: false,
|
|
navigationText: [
|
|
'<i class="fa fa-angle-left"></i>',
|
|
'<i class="fa fa-angle-right"></i>'
|
|
],
|
|
rewindNav: true,
|
|
scrollPerPage: false,
|
|
|
|
pagination: true,
|
|
paginationNumbers: false,
|
|
|
|
responsive: true,
|
|
responsiveRefreshRate: 200,
|
|
responsiveBaseWidth: window,
|
|
|
|
baseClass: "owl-carousel",
|
|
theme: "owl-theme",
|
|
|
|
lazyLoad: false,
|
|
lazyFollow: true,
|
|
lazyEffect: "fade",
|
|
|
|
autoHeight: false,
|
|
|
|
jsonPath: false,
|
|
jsonSuccess: false,
|
|
|
|
dragBeforeAnimFinish: true,
|
|
mouseDrag: true,
|
|
touchDrag: true,
|
|
|
|
transitionStyle: false,
|
|
|
|
addClassActive: false,
|
|
|
|
beforeUpdate: false,
|
|
afterUpdate: false,
|
|
beforeInit: false,
|
|
afterInit: afterInit,
|
|
beforeMove: false,
|
|
afterMove: (afterInit == false) ? false : moved,
|
|
afterAction: false,
|
|
startDragging: false,
|
|
afterLazyLoad: false
|
|
}
|
|
|
|
var config = jQuery.extend({}, defaults, options, slider.data("plugin-options"));
|
|
slider.owlCarousel(config).addClass("owl-carousel-init");
|
|
|
|
|
|
// Progress Bar
|
|
var elem = jQuery(this);
|
|
|
|
//Init progressBar where elem is $("#owl-demo")
|
|
function progressBar(elem){
|
|
$elem = elem;
|
|
//build progress bar elements
|
|
buildProgressBar();
|
|
//start counting
|
|
start();
|
|
}
|
|
|
|
//create div#progressBar and div#bar then prepend to $("#owl-demo")
|
|
function buildProgressBar(){
|
|
$progressBar = jQuery("<div>",{
|
|
id:"progressBar"
|
|
});
|
|
$bar = jQuery("<div>",{
|
|
id:"bar"
|
|
});
|
|
$progressBar.append($bar).prependTo($elem);
|
|
}
|
|
|
|
function start() {
|
|
//reset timer
|
|
percentTime = 0;
|
|
isPause = false;
|
|
//run interval every 0.01 second
|
|
tick = setInterval(interval, 10);
|
|
};
|
|
|
|
|
|
var time = 7; // time in seconds
|
|
function interval() {
|
|
if(isPause === false){
|
|
percentTime += 1 / time;
|
|
$bar.css({
|
|
width: percentTime+"%"
|
|
});
|
|
//if percentTime is equal or greater than 100
|
|
if(percentTime >= 100){
|
|
//slide to next item
|
|
$elem.trigger('owl.next')
|
|
}
|
|
}
|
|
}
|
|
|
|
//pause while dragging
|
|
function pauseOnDragging(){
|
|
isPause = true;
|
|
}
|
|
|
|
//moved callback
|
|
function moved(){
|
|
//clear interval
|
|
clearTimeout(tick);
|
|
//start again
|
|
start();
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
// OWL CAROUSEL 2
|
|
var _container2 = jQuery("div.owl-carousel-2");
|
|
|
|
if(_container2.length > 0) {
|
|
|
|
loadScript(plugin_path + 'owl-carousel-2/owl.carousel.min.js', function() {
|
|
|
|
|
|
_container2.each(function() {
|
|
var _this = jQuery(this),
|
|
_options = _this.attr('data-plugin-options');
|
|
|
|
_defaults = {
|
|
loop: true,
|
|
margin: 10,
|
|
nav: true,
|
|
|
|
center: false,
|
|
mouseDrag: true,
|
|
touchDrag: true,
|
|
pullDrag: true,
|
|
freeDrag: false,
|
|
stagePadding: 0,
|
|
merge: false,
|
|
mergeFit: true,
|
|
autoWidth: false,
|
|
startPosition: 0,
|
|
URLhashListener: false,
|
|
navRewind: true,
|
|
navText: [
|
|
'<i class="fa fa-angle-left"></i>',
|
|
'<i class="fa fa-angle-right"></i>'
|
|
],
|
|
slideBy: 1,
|
|
dots: true,
|
|
dotsEach: false,
|
|
dotData: false,
|
|
lazyLoad: false,
|
|
lazyContent: false,
|
|
autoplay: false,
|
|
autoplayTimeout: 3000,
|
|
autoplayHoverPause: false,
|
|
smartSpeed: 250,
|
|
//fluidSpeed: 'Number',
|
|
autoplaySpeed: false,
|
|
navSpeed: false,
|
|
//dotsSpeed: 'Number/Boolean',
|
|
dragEndSpeed: false,
|
|
callbacks: true,
|
|
responsiveRefreshRate: 200,
|
|
responsiveBaseElement: '#wrapper',
|
|
responsiveClass: true,
|
|
video: false,
|
|
videoHeight: false,
|
|
videoWidth: false,
|
|
animateOut: false,
|
|
animateIn: false,
|
|
fallbackEasing: 'swing',
|
|
info: false,
|
|
nestedItemSelector: false,
|
|
itemElement: 'div',
|
|
navContainer: false,
|
|
dotsContainer: false,
|
|
|
|
animateOut: "slideOutDown",
|
|
animateIn: "flipInX",
|
|
|
|
responsive:{
|
|
0:{
|
|
items:1
|
|
},
|
|
600:{
|
|
items:2
|
|
},
|
|
1000:{
|
|
items:5
|
|
}
|
|
}
|
|
};
|
|
|
|
|
|
var _config = jQuery.extend({}, _defaults, JSON.parse(_options));
|
|
_this.owlCarousel(_config).addClass("owl-loaded");
|
|
|
|
|
|
});
|
|
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
/** 04. Flexslider
|
|
**************************************************************** **/
|
|
function _flexslider() {
|
|
var _container = jQuery(".flexslider");
|
|
|
|
if(_container.length > 0) {
|
|
|
|
loadScript(plugin_path + 'slider.flexslider/jquery.flexslider-min.js', function() {
|
|
|
|
if(jQuery().flexslider) {
|
|
var _controlNav = _container.attr('data-controlNav'),
|
|
_slideshowSpeed = _container.attr('data-slideshowSpeed') || 7000,
|
|
_pauseOnHover = _container.attr('data-pauseOnHover') || false;
|
|
|
|
if(_pauseOnHover == "true") {
|
|
_pauseOnHover = true;
|
|
} else{
|
|
_pauseOnHover = false;
|
|
}
|
|
|
|
if(_controlNav == 'thumbnails') {
|
|
_controlNav = 'thumbnails';
|
|
} else
|
|
if(_controlNav == 'true') {
|
|
_controlNav = true;
|
|
} else
|
|
if(_controlNav == 'false') {
|
|
_controlNav = false;
|
|
} else {
|
|
_controlNav = true;
|
|
}
|
|
|
|
if(_controlNav == 'thumbnails' || _controlNav == false) {
|
|
_directionNav = false;
|
|
} else {
|
|
_directionNav = true;
|
|
}
|
|
|
|
jQuery(_container).flexslider({
|
|
animation : "slide",
|
|
controlNav : _controlNav,
|
|
slideshowSpeed : parseInt(_slideshowSpeed) || 7000,
|
|
directionNav : _directionNav,
|
|
pauseOnHover : _pauseOnHover,
|
|
start: function(slider){
|
|
jQuery('.flex-prev').html('<i class="fa fa-angle-left"></i>');
|
|
jQuery('.flex-next').html('<i class="fa fa-angle-right"></i>');
|
|
}
|
|
});
|
|
|
|
// Resize Flex Slider if exists!
|
|
_container.resize();
|
|
|
|
}
|
|
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/** 04. Popover
|
|
**************************************************************** **/
|
|
function _popover() {
|
|
|
|
jQuery("a[data-toggle=popover]").bind("click", function(e) {
|
|
jQuery('.popover-title .close').remove();
|
|
e.preventDefault();
|
|
});
|
|
|
|
var isVisible = false,
|
|
clickedAway = false;
|
|
|
|
|
|
jQuery("a[data-toggle=popover], button[data-toggle=popover]").popover({
|
|
|
|
html: true,
|
|
trigger: 'manual'
|
|
|
|
}).click(function(e) {
|
|
|
|
jQuery(this).popover('show');
|
|
|
|
clickedAway = false;
|
|
isVisible = true;
|
|
e.preventDefault();
|
|
|
|
});
|
|
|
|
jQuery(document).click(function(e) {
|
|
if(isVisible & clickedAway) {
|
|
|
|
jQuery("a[data-toggle=popover], button[data-toggle=popover]").popover('hide');
|
|
isVisible = clickedAway = false;
|
|
|
|
} else {
|
|
|
|
|
|
clickedAway = true;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
jQuery("a[data-toggle=popover], button[data-toggle=popover]").popover({
|
|
|
|
html: true,
|
|
trigger: 'manual'
|
|
|
|
}).click(function(e) {
|
|
|
|
$(this).popover('show');
|
|
$('.popover-title').append('<button type="button" class="close">×</button>');
|
|
$('.close').click(function(e){
|
|
|
|
jQuery("a[data-toggle=popover], button[data-toggle=popover]").popover('hide');
|
|
|
|
});
|
|
|
|
e.preventDefault();
|
|
});
|
|
|
|
|
|
// jQuery("a[data-toggle=popover], button[data-toggle=popover]").popover();
|
|
}
|
|
|
|
|
|
|
|
/** 05. LightBox
|
|
**************************************************************** **/
|
|
function _lightbox() {
|
|
var _el = jQuery(".lightbox");
|
|
|
|
if(_el.length > 0) {
|
|
|
|
loadScript(plugin_path + 'magnific-popup/jquery.magnific-popup.min.js', function() {
|
|
|
|
if(typeof(jQuery.magnificPopup) == "undefined") {
|
|
return false;
|
|
}
|
|
|
|
jQuery.extend(true, jQuery.magnificPopup.defaults, {
|
|
tClose: 'Close',
|
|
tLoading: 'Loading...',
|
|
|
|
gallery: {
|
|
tPrev: 'Previous',
|
|
tNext: 'Next',
|
|
tCounter: '%curr% / %total%'
|
|
},
|
|
|
|
image: {
|
|
tError: 'Image not loaded!'
|
|
},
|
|
|
|
ajax: {
|
|
tError: 'Content not loaded!'
|
|
}
|
|
});
|
|
|
|
_el.each(function() {
|
|
|
|
var _t = jQuery(this),
|
|
options = _t.attr('data-plugin-options'),
|
|
config = {},
|
|
defaults = {
|
|
type: 'image',
|
|
fixedContentPos: false,
|
|
fixedBgPos: false,
|
|
mainClass: 'mfp-no-margins mfp-with-zoom',
|
|
closeOnContentClick: true,
|
|
closeOnBgClick: true,
|
|
image: {
|
|
verticalFit: true
|
|
},
|
|
|
|
zoom: {
|
|
enabled: false,
|
|
duration: 300
|
|
},
|
|
|
|
gallery: {
|
|
enabled: false,
|
|
navigateByImgClick: true,
|
|
preload: [0,1],
|
|
arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',
|
|
tPrev: 'Previous',
|
|
tNext: 'Next',
|
|
tCounter: '<span class="mfp-counter">%curr% / %total%</span>'
|
|
},
|
|
};
|
|
|
|
if(_t.data("plugin-options")) {
|
|
config = jQuery.extend({}, defaults, options, _t.data("plugin-options"));
|
|
}
|
|
|
|
jQuery(this).magnificPopup(config);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 06. ScrollTo
|
|
**************************************************************** **/
|
|
function _scrollTo(to, offset) {
|
|
|
|
if(to == false) {
|
|
|
|
jQuery("a.scrollTo").bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
var href = jQuery(this).attr('href'),
|
|
_offset = jQuery(this).attr('data-offset') || 0;
|
|
|
|
if(href != '#' && href != '#top') {
|
|
jQuery('html,body').animate({scrollTop: jQuery(href).offset().top - parseInt(_offset)}, 800, 'easeInOutExpo');
|
|
}
|
|
|
|
if(href == '#top') {
|
|
jQuery('html,body').animate({scrollTop: 0}, 800, 'easeInOutExpo');
|
|
}
|
|
});
|
|
|
|
jQuery("#toTop").bind("click", function(e) {
|
|
e.preventDefault();
|
|
jQuery('html,body').animate({scrollTop: 0}, 800, 'easeInOutExpo');
|
|
});
|
|
|
|
} else {
|
|
|
|
// USAGE: _scrollTo("#footer", 150);
|
|
jQuery('html,body').animate({scrollTop: jQuery(to).offset().top - offset}, 800, 'easeInOutExpo');
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 07. Parallax
|
|
**************************************************************** **/
|
|
function _parallax() {
|
|
|
|
|
|
if(jQuery().parallax) {
|
|
|
|
jQuery(".parallax-auto, .parallax-1, .parallax-2, .parallax-3, .parallax-4, section.page-header.page-header-parallax").each(function() {
|
|
var _t = jQuery(this);
|
|
|
|
jQuery(this).parallax("50%","0.2");
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Slider Parallax
|
|
Do not use overlay - will be very slow!
|
|
**************************** **/
|
|
var _slider = jQuery('#slider');
|
|
|
|
if(_slider.length > 0) {
|
|
if(_slider.hasClass('parallax-slider')) {
|
|
|
|
if(window.width < 768 && _slider.hasClass('pallax-slider-mobile-deisable')) {
|
|
return false;
|
|
}
|
|
|
|
var block_intro_top = _slider.offset().top;
|
|
|
|
jQuery(window).scroll(function() {
|
|
|
|
var _currentTop = jQuery(document).scrollTop(),
|
|
_offset = _slider.attr('data-parallax-offset') || 0;
|
|
|
|
if(_currentTop < 768) {
|
|
var _sliderH = jQuery('#slider').height();
|
|
|
|
jQuery('#slider>div').css('top', (_currentTop*0.5 - Number(_offset)));
|
|
if(!_slider.hasClass('parallax-slider-noopacity')) {
|
|
jQuery('#slider>div').css('opacity', (1 - _currentTop/_sliderH*1));
|
|
}
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 07. Video
|
|
**************************************************************** **/
|
|
function _video() {
|
|
|
|
if(jQuery("section.section-video").length > 0) {
|
|
var _t = jQuery("section.section-video .section-container-video>video");
|
|
_w = jQuery(window).width();
|
|
|
|
_t.width(_w);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/** 07. Youtube Backround
|
|
**************************************************************** **/
|
|
function _youtubeBG() {
|
|
var _container = jQuery('#YTPlayer');
|
|
|
|
if(_container.length > 0) {
|
|
loadScript(plugin_path + 'jquery.mb.YTPlayer.min.js', function() {
|
|
|
|
|
|
if(jQuery().mb_YTPlayer) {
|
|
var disableMobile = false;
|
|
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) {
|
|
// disableMobile = true;
|
|
}
|
|
|
|
if(disableMobile === false) {
|
|
|
|
jQuery(".player").mb_YTPlayer();
|
|
|
|
jQuery("#video-volume").bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
jQuery('#YTPlayer').toggleVolume();
|
|
});
|
|
|
|
// audio control
|
|
jQuery("#video-volume").bind("click", function() {
|
|
if(jQuery('i.fa', this).hasClass('fa-volume-down')) {
|
|
jQuery('i.fa', this).removeClass('fa-volume-down');
|
|
jQuery('i.fa', this).removeClass('fa-volume-up');
|
|
jQuery('i.fa', this).addClass('fa-volume-up');
|
|
} else {
|
|
jQuery('i.fa', this).removeClass('fa-volume-up');
|
|
jQuery('i.fa', this).removeClass('fa-volume-v');
|
|
jQuery('i.fa', this).addClass('fa-volume-down');
|
|
}
|
|
});
|
|
|
|
} else {
|
|
|
|
jQuery(".player , #video-volume").hide();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
/** 08. Mixitup Filter
|
|
**************************************************************** **/
|
|
function _mixitup() {
|
|
var _container = jQuery('.mix-grid');
|
|
|
|
if(_container.length > 0) {
|
|
loadScript(plugin_path + 'mixitup/jquery.mixitup.min.js', function() {
|
|
|
|
if(jQuery().mixitup) {
|
|
|
|
_container.mixitup();
|
|
jQuery("ul.mix-filter a").bind("click", function(e) {
|
|
e.preventDefault();
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/** 09. Toggle
|
|
**************************************************************** **/
|
|
function _toggle() {
|
|
|
|
var $_t = this,
|
|
previewParClosedHeight = 25;
|
|
|
|
jQuery("div.toggle.active > p").addClass("preview-active");
|
|
jQuery("div.toggle.active > div.toggle-content").slideDown(400);
|
|
jQuery("div.toggle > label").click(function(e) {
|
|
|
|
var parentSection = jQuery(this).parent(),
|
|
parentWrapper = jQuery(this).parents("div.toggle"),
|
|
previewPar = false,
|
|
isAccordion = parentWrapper.hasClass("toggle-accordion");
|
|
|
|
if(isAccordion && typeof(e.originalEvent) != "undefined") {
|
|
parentWrapper.find("div.toggle.active > label").trigger("click");
|
|
}
|
|
|
|
parentSection.toggleClass("active");
|
|
|
|
if(parentSection.find("> p").get(0)) {
|
|
|
|
previewPar = parentSection.find("> p");
|
|
var previewParCurrentHeight = previewPar.css("height");
|
|
var previewParAnimateHeight = previewPar.css("height");
|
|
previewPar.css("height", "auto");
|
|
previewPar.css("height", previewParCurrentHeight);
|
|
|
|
}
|
|
|
|
var toggleContent = parentSection.find("> div.toggle-content");
|
|
|
|
if(parentSection.hasClass("active")) {
|
|
|
|
jQuery(previewPar).animate({height: previewParAnimateHeight}, 350, function() {jQuery(this).addClass("preview-active");});
|
|
toggleContent.slideDown(350);
|
|
|
|
} else {
|
|
|
|
jQuery(previewPar).animate({height: previewParClosedHeight}, 350, function() {jQuery(this).removeClass("preview-active");});
|
|
toggleContent.slideUp(350);
|
|
|
|
}
|
|
|
|
});
|
|
}
|
|
|
|
|
|
|
|
/** 11. Placeholder
|
|
**************************************************************** **/
|
|
function _placeholder() {
|
|
|
|
//check for IE
|
|
if(navigator.appVersion.indexOf("MSIE")!=-1) {
|
|
|
|
jQuery('[placeholder]').focus(function() {
|
|
|
|
var input = jQuery(this);
|
|
if (input.val() == input.attr('placeholder')) {
|
|
input.val('');
|
|
input.removeClass('placeholder');
|
|
}
|
|
|
|
}).blur(function() {
|
|
|
|
var input = jQuery(this);
|
|
if (input.val() == '' || input.val() == input.attr('placeholder')) {
|
|
input.addClass('placeholder');
|
|
input.val(input.attr('placeholder'));
|
|
}
|
|
|
|
}).blur();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/** 12. Word Rotate
|
|
**************************************************************** **/
|
|
function _wrotate() {
|
|
jQuery(".word-rotator").each(function() {
|
|
|
|
var _t = jQuery(this),
|
|
_items = _t.find(".items"),
|
|
items = _items.find("> span"),
|
|
firstItem = items.eq(0),
|
|
firstItemClone = firstItem.clone(),
|
|
_iHeight = jQuery(this).height(),
|
|
_cItem = 1,
|
|
_cTop = 0,
|
|
_delay = jQuery(this).attr('data-delay') || 2000;
|
|
|
|
_items.append(firstItemClone);
|
|
_t.height(_iHeight).addClass("active");
|
|
|
|
setInterval(function() {
|
|
_cTop = (_cItem * _iHeight);
|
|
|
|
_items.animate({top: - (_cTop) + "px"}, 300, "easeOutQuad", function(){
|
|
_cItem++;
|
|
|
|
if(_cItem > items.length) {
|
|
_items.css("top", 0);
|
|
_cItem = 1;
|
|
}
|
|
|
|
});
|
|
|
|
}, _delay);
|
|
|
|
});
|
|
|
|
|
|
var _container = jQuery('span.rotate');
|
|
|
|
if(_container.length > 0) {
|
|
|
|
loadScript(plugin_path + 'text-rotator/jquery.simple-text-rotator.min.js', function() {
|
|
|
|
_container.each(function() {
|
|
var _t = jQuery(this),
|
|
_animation = _t.attr('data-animation') || 'fade', // fade|flip|flipCube|flipUp|spin
|
|
_speed = _t.attr('data-speed') || 2000;
|
|
|
|
_t.textrotator({
|
|
animation: _animation,
|
|
speed: parseInt(_speed)
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 08. Lazy Load
|
|
<img class="lazy" data-original="img/example.jpg" width="765" height="574">
|
|
**************************************************************** **/
|
|
function _lazyload() {
|
|
var _container = jQuery('img.lazy');
|
|
|
|
if(_container.length > 0) {
|
|
loadScript(plugin_path + 'lazyload/jquery.lazyload.min.js', function() {
|
|
|
|
if(jQuery().lazyload) {
|
|
|
|
_container.each(function () {
|
|
var _t = jQuery(this),
|
|
_effect = _t.attr('data-effect') || 'fadeIn';
|
|
|
|
_t.lazyload({
|
|
effect : _effect
|
|
});
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/** 13. Misc
|
|
**************************************************************** **/
|
|
function _misc() {
|
|
|
|
|
|
/** Portfolio Bugfix
|
|
*********************** **/
|
|
if(jQuery("#portfolio").length > 0) {
|
|
jQuery("#portfolio .item-box .owl-carousel").each(function() {
|
|
|
|
// Fix if has owl-carousel slider!
|
|
jQuery(this).parent().parent().find('.item-box-desc').css({"padding-top":"29px"});
|
|
|
|
});
|
|
}
|
|
|
|
/** Masonry
|
|
*********************** **/
|
|
if(jQuery().masonry) {
|
|
jQuery(".masonry").masonry();
|
|
}
|
|
|
|
|
|
|
|
/** Isotope Portfolio
|
|
*********************** **/
|
|
var portfolio_isotope_container = jQuery("#portfolio.portfolio-isotope");
|
|
|
|
if(portfolio_isotope_container.length > 0) {
|
|
loadScript(plugin_path + 'isotope/isotope.pkgd.min.js', function() {
|
|
|
|
// Isotope Portfolio
|
|
if(jQuery().isotope) {
|
|
|
|
var _container = jQuery('#portfolio');
|
|
|
|
// Calculate Item Width on Fullwidth portfolio
|
|
if(_container.hasClass('portfolio-isotope-2')) {
|
|
_cols = 2;
|
|
} else
|
|
if(_container.hasClass('portfolio-isotope-3')) {
|
|
_cols = 3;
|
|
} else
|
|
if(_container.hasClass('portfolio-isotope-4')) {
|
|
_cols = 4;
|
|
} else
|
|
if(_container.hasClass('portfolio-isotope-5')) {
|
|
_cols = 5;
|
|
} else
|
|
if(_container.hasClass('portfolio-isotope-6')) {
|
|
_cols = 6;
|
|
} else { _cols = 4; }
|
|
|
|
|
|
|
|
function _recalcW() {
|
|
_dw = jQuery(document).width();
|
|
|
|
if(_container.hasClass('fullwidth')) { // Fullwidth
|
|
|
|
// _w = jQuery(document).width(); // NOT USED - problems on aside header
|
|
_w = _container.width();
|
|
_wItem = (_w/_cols);
|
|
|
|
if(_dw < 760) {
|
|
_wItem = (_w/2);
|
|
}
|
|
if(_dw < 480) {
|
|
_wItem = jQuery("#portfolio").width();
|
|
}
|
|
|
|
// Apply item width
|
|
jQuery("#portfolio>.portfolio-item").css({"width":_wItem});
|
|
|
|
} else { // Non Fullwidth
|
|
|
|
_mR = parseInt(jQuery("#portfolio>.portfolio-item").css('margin-right'));
|
|
_w = jQuery("#portfolio").closest('.container').width();
|
|
_wItem = _w / _cols - _mR;
|
|
|
|
if(_dw < 760) {
|
|
_wItem = (_w/2 - _mR);
|
|
}
|
|
if(_dw < 480) {
|
|
_wItem = _w;
|
|
}
|
|
|
|
// Apply item & container width
|
|
jQuery("#portfolio.portfolio-isotope").css({"width":_w});
|
|
jQuery("#portfolio>.portfolio-item").css({"width":_wItem});
|
|
|
|
}
|
|
|
|
// Resize Flex Slider if exists!
|
|
if(jQuery('.flexslider').length > 0) {
|
|
jQuery('.flexslider').resize();
|
|
}
|
|
|
|
} _recalcW();
|
|
|
|
|
|
|
|
jQuery(window).on("load", function(){
|
|
|
|
var _t = setTimeout(function(){
|
|
|
|
_container.isotope({
|
|
masonry: {},
|
|
|
|
filter: '*',
|
|
animationOptions: {
|
|
duration: 750,
|
|
easing: 'linear',
|
|
queue: false
|
|
}
|
|
});
|
|
|
|
jQuery('#portfolio_filter>li>a').bind("click", function(e){
|
|
e.preventDefault();
|
|
|
|
jQuery('#portfolio_filter>li.active').removeClass('active');
|
|
jQuery(this).parent('li').addClass('active');
|
|
|
|
var selector = jQuery(this).attr('data-filter');
|
|
_container.isotope({
|
|
filter: selector,
|
|
animationOptions: {
|
|
duration: 750,
|
|
easing: 'linear',
|
|
queue: false
|
|
}
|
|
});
|
|
|
|
});
|
|
|
|
|
|
}, 50 );
|
|
|
|
setTimeout(function() {
|
|
_container.isotope('layout');
|
|
}, 300);
|
|
|
|
});
|
|
|
|
|
|
|
|
// On Resize
|
|
jQuery(window).resize(function() {
|
|
|
|
if(window.afterResizeApp2) {
|
|
clearTimeout(window.afterResizeApp2);
|
|
}
|
|
|
|
window.afterResizeApp2 = setTimeout(function() {
|
|
|
|
_recalcW();
|
|
|
|
setTimeout(function() {
|
|
_container.isotope('layout');
|
|
}, 300);
|
|
|
|
}, 300);
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
} /** end isotope **/
|
|
|
|
|
|
|
|
|
|
/** Isotope Blog
|
|
*********************** **/
|
|
var blog_isotope_container = jQuery("#blog.blog-isotope");
|
|
|
|
if(blog_isotope_container.length > 0) {
|
|
loadScript(plugin_path + 'isotope/isotope.pkgd.min.js', function() {
|
|
|
|
// Isotope blog
|
|
if(jQuery().isotope) {
|
|
|
|
var _container = jQuery('#blog');
|
|
|
|
// Calculate Item Width on Fullwidth Blog
|
|
if(_container.hasClass('blog-isotope-2')) {
|
|
_cols = 2;
|
|
} else
|
|
if(_container.hasClass('blog-isotope-3')) {
|
|
_cols = 3;
|
|
} else
|
|
if(_container.hasClass('blog-isotope-4')) {
|
|
_cols = 4;
|
|
} else { _cols = 4; }
|
|
|
|
|
|
function _recalcW() {
|
|
_dw = jQuery(document).width();
|
|
|
|
if(_container.hasClass('fullwidth')) { // Fullwidth
|
|
|
|
_w = jQuery(document).width();
|
|
_wItem = (_w/_cols);
|
|
|
|
if(_dw < 760) {
|
|
_wItem = (_w/2);
|
|
}
|
|
if(_dw < 480) {
|
|
_wItem = jQuery("#blog").width();
|
|
}
|
|
|
|
// Apply item width
|
|
jQuery("#blog>.blog-post-item").css({"width":_wItem});
|
|
|
|
} else { // Non Fullwidth
|
|
|
|
_mR = parseInt(jQuery("#blog>.blog-post-item").css('margin-right'));
|
|
_w = jQuery("#blog").closest('.container').width();
|
|
_wItem = _w / _cols - _mR;
|
|
|
|
if(_dw < 760) {
|
|
_wItem = (_w/2 - _mR);
|
|
}
|
|
if(_dw < 480) {
|
|
_wItem = _w;
|
|
}
|
|
|
|
// Apply item & container width
|
|
jQuery("#blog.blog-isotope").css({"width":_w});
|
|
jQuery("#blog>.blog-post-item").css({"width":_wItem});
|
|
|
|
}
|
|
|
|
// Resize Flex Slider if exists!
|
|
if(jQuery('.flexslider').length > 0) {
|
|
jQuery('.flexslider').resize();
|
|
}
|
|
|
|
} _recalcW();
|
|
|
|
|
|
|
|
jQuery(window).on("load", function(){
|
|
|
|
var _t = setTimeout(function(){
|
|
|
|
_container.isotope({
|
|
masonry: {},
|
|
|
|
filter: '*',
|
|
animationOptions: {
|
|
duration: 750,
|
|
easing: 'linear',
|
|
queue: false
|
|
}
|
|
});
|
|
|
|
jQuery('#blog_filter>li>a').bind("click", function(e){
|
|
e.preventDefault();
|
|
|
|
jQuery('#blog_filter>li.active').removeClass('active');
|
|
jQuery(this).parent('li').addClass('active');
|
|
|
|
var selector = jQuery(this).attr('data-filter');
|
|
_container.isotope({
|
|
filter: selector,
|
|
animationOptions: {
|
|
duration: 750,
|
|
easing: 'linear',
|
|
queue: false
|
|
}
|
|
});
|
|
|
|
});
|
|
|
|
|
|
}, 50 );
|
|
|
|
setTimeout(function() {
|
|
_container.isotope('layout');
|
|
}, 300);
|
|
|
|
});
|
|
|
|
|
|
|
|
// On Resize
|
|
jQuery(window).resize(function() {
|
|
|
|
if(window.afterResizeApp2) {
|
|
clearTimeout(window.afterResizeApp2);
|
|
}
|
|
|
|
window.afterResizeApp2 = setTimeout(function() {
|
|
|
|
_recalcW();
|
|
|
|
setTimeout(function() {
|
|
_container.isotope('layout');
|
|
}, 300);
|
|
|
|
}, 300);
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
} /** end isotope **/
|
|
|
|
|
|
|
|
|
|
/** Flip Boxes
|
|
*********************** **/
|
|
if(jQuery('.box-flip').length > 0) {
|
|
|
|
jQuery('.box-flip').each(function() {
|
|
_height1 = jQuery('.box1',this).outerHeight();
|
|
_height2 = jQuery('.box2',this).outerHeight();
|
|
|
|
if(_height1 >= _height2) {
|
|
_height = _height1;
|
|
} else {
|
|
_height = _height2;
|
|
}
|
|
|
|
jQuery(this).css({"min-height":_height+"px"});
|
|
jQuery('.box1',this).css({"min-height":_height+"px"});
|
|
jQuery('.box2',this).css({"min-height":_height+"px"});
|
|
});
|
|
|
|
jQuery('.box-flip').hover(function() {
|
|
jQuery(this).addClass('flip');
|
|
},function(){
|
|
jQuery(this).removeClass('flip');
|
|
});
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Sticky Side (social icons)
|
|
*********************** **/
|
|
if(jQuery("div.sticky-side").length > 0) {
|
|
|
|
var _t = jQuery("div.sticky-side");
|
|
_h = _t.height() / 2;
|
|
|
|
_t.css({"margin-top":"-"+_h+"px"});
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Increase / Decrease No.
|
|
Example: shop-single-left.html
|
|
*********************** **/
|
|
jQuery(".incr").bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
var _for = jQuery(this).attr('data-for'),
|
|
_max = parseInt(jQuery(this).attr('data-max')),
|
|
_curVal = parseInt(jQuery("#" + _for).val());
|
|
|
|
if(_curVal < _max) {
|
|
jQuery("#" + _for).val(_curVal + 1);
|
|
}
|
|
});
|
|
|
|
jQuery(".decr").bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
var _for = jQuery(this).attr('data-for'),
|
|
_min = parseInt(jQuery(this).attr('data-min')),
|
|
_curVal = parseInt(jQuery("#" + _for).val());
|
|
|
|
if(_curVal > _min) {
|
|
jQuery("#" + _for).val(_curVal - 1);
|
|
}
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
/** Default Button Toggle
|
|
*********************** **/
|
|
jQuery("a.toggle-default").bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
var _href = jQuery(this).attr('href');
|
|
|
|
if(jQuery(_href).is(":hidden")) {
|
|
|
|
jQuery(_href).slideToggle(200);
|
|
jQuery('i.fa', this).removeClass('fa-plus-square').addClass('fa-minus-square');
|
|
|
|
} else {
|
|
|
|
jQuery(_href).slideToggle(200);
|
|
jQuery('i.fa', this).removeClass('fa-minus-square').addClass('fa-plus-square');
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
/** Custom File Upload
|
|
<input class="custom-file-upload" type="file" id="file" name="myfiles[]" multiple />
|
|
*********************** **/
|
|
var file_container = jQuery("input[type=file]");
|
|
|
|
if(file_container.length > 0) {
|
|
loadScript(plugin_path + 'custom.fle_upload.js');
|
|
}
|
|
|
|
|
|
|
|
/** Textarea Words Limit
|
|
*********************** **/
|
|
jQuery("textarea.word-count").on('keyup', function() {
|
|
var _t = jQuery(this),
|
|
words = this.value.match(/\S+/g).length,
|
|
_limit = _t.attr('data-maxlength') || 200;
|
|
|
|
if (words > parseInt(_limit)) {
|
|
|
|
// Split the string on first 200 words and rejoin on spaces
|
|
var trimmed = _t.val().split(/\s+/, 200).join(" ");
|
|
// Add a space at the end to keep new typing making new words
|
|
_t.val(trimmed + " ");
|
|
|
|
} else {
|
|
|
|
var _data_info = _t.attr('data-info');
|
|
|
|
if(_data_info == '' || _data_info == undefined) {
|
|
var _infoContainer = _t.next('div');
|
|
jQuery('span', _infoContainer).text(words + '/' + _limit);
|
|
} else {
|
|
jQuery('#' +_data_info).text(words + '/' + _limit);
|
|
}
|
|
|
|
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
/** Sticky Footer
|
|
**************************************************************** **/
|
|
function _stickyFooter() {
|
|
if(jQuery("#footer").hasClass('sticky')) {
|
|
|
|
var footerHeight = 0,
|
|
footerTop = 0,
|
|
_footer = jQuery("#footer.sticky");
|
|
|
|
positionFooter();
|
|
|
|
function positionFooter() {
|
|
footerHeight = _footer.height();
|
|
footerTop = (jQuery(window).scrollTop()+jQuery(window).height()-footerHeight)+"px";
|
|
|
|
if((jQuery(document.body).height()+footerHeight) > jQuery(window).height()) {
|
|
_footer.css({
|
|
position: "absolute"
|
|
}).stop().animate({
|
|
top: footerTop
|
|
},0);
|
|
} else {
|
|
_footer.css({position: "static"});
|
|
}
|
|
|
|
}
|
|
|
|
jQuery(window).scroll(positionFooter).resize(positionFooter);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/** Countdown
|
|
**************************************************************** **/
|
|
function _countDown() {
|
|
var _container = jQuery(".countdown"),
|
|
_container2 = jQuery(".countdown-download");
|
|
|
|
if(_container.length > 0 || _container2.length > 0) {
|
|
|
|
loadScript(plugin_path + 'countdown/jquery.countdown.pack.min.js', function() {
|
|
|
|
/** On Page Load **/
|
|
_container.each(function() {
|
|
var _t = jQuery(this),
|
|
_date = _t.attr('data-from'),
|
|
_labels = _t.attr('data-labels');
|
|
|
|
if(_labels) {
|
|
_labels = _labels.split(",");
|
|
}
|
|
|
|
if(_date) {
|
|
var _d = new Date(_date);
|
|
jQuery(this).countdown({
|
|
until: new Date(_d),
|
|
labels: _labels || ["Years","Months","Weeks","Days","Hours","Minutes","Seconds"]
|
|
});
|
|
}
|
|
});
|
|
|
|
|
|
/** Download **/
|
|
_container2.bind("click", function(e){
|
|
e.preventDefault();
|
|
|
|
var _t = jQuery(this),
|
|
cd_container = _t.attr('data-for'),
|
|
_countdown = jQuery("#"+cd_container+' span.download-wait>.countdown'),
|
|
_seconds = parseInt(_t.attr('data-seconds')),
|
|
_dataURL = _t.attr('href');
|
|
|
|
_t.fadeOut(250, function(){
|
|
jQuery("#"+cd_container).fadeIn(250, function() {
|
|
|
|
var currentDate = new Date();
|
|
currentDate.setSeconds(currentDate.getSeconds() + _seconds);
|
|
|
|
_countdown.countdown({
|
|
until: currentDate,
|
|
format: 'S',
|
|
expiryUrl: _dataURL,
|
|
onExpiry: function(){
|
|
jQuery("#"+cd_container+' span.download-message').removeClass('hide');
|
|
jQuery("#"+cd_container+' span.download-wait').addClass('hide');
|
|
}
|
|
});
|
|
|
|
});
|
|
});
|
|
|
|
return false;
|
|
|
|
});
|
|
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/** Masonry Gallery
|
|
**************************************************************** **/
|
|
function _masonryGallery() {
|
|
|
|
if(jQuery(".masonry-gallery").length > 0) {
|
|
|
|
jQuery(".masonry-gallery").each(function() {
|
|
var _container = jQuery(this),
|
|
columns = 4;
|
|
|
|
if(_container.hasClass('columns-2')) columns = 2;
|
|
else if(_container.hasClass('columns-3')) columns = 3;
|
|
else if(_container.hasClass('columns-4')) columns = 4;
|
|
else if(_container.hasClass('columns-5')) columns = 5;
|
|
else if(_container.hasClass('columns-6')) columns = 6;
|
|
|
|
var _firstElemWidth = _container.find('a:eq(0)').outerWidth(),
|
|
_bigImageNo = _container.attr('data-img-big'),
|
|
_containerWidth = _container.width();
|
|
|
|
|
|
// Fix margins & Width
|
|
var postWidth = (_containerWidth/columns);
|
|
postWidth = Math.floor(postWidth);
|
|
if((postWidth * columns) >= _containerWidth) {
|
|
_container.css({ 'margin-right': '-1px' });
|
|
}
|
|
if(columns < 6) {
|
|
_container.children('a').css({"width":postWidth+"px"});
|
|
}
|
|
|
|
|
|
// Set Big Image
|
|
if(parseInt(_bigImageNo) > 0) {
|
|
|
|
_bigImageNo = Number(_bigImageNo) - 1;
|
|
_container.find('a:eq('+_bigImageNo+')').css({ width: _firstElemWidth*2 + 'px'});
|
|
|
|
loadScript(plugin_path + 'isotope/isotope.pkgd.min.js', function() {
|
|
|
|
setTimeout( function() {
|
|
_container.isotope({
|
|
masonry: {
|
|
columnWidth: _firstElemWidth
|
|
}
|
|
});
|
|
|
|
_container.isotope('layout');
|
|
|
|
}, 1000);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Toastr
|
|
|
|
TYPE:
|
|
primary
|
|
info
|
|
error
|
|
sucess
|
|
warning
|
|
|
|
POSITION
|
|
top-right
|
|
top-left
|
|
top-center
|
|
top-full-width
|
|
bottom-right
|
|
bottom-left
|
|
bottom-center
|
|
bottom-full-width
|
|
|
|
USAGE:
|
|
_toastr("My Message here","top-right","error",false);
|
|
|
|
NOTE:
|
|
_onclick = url to redirect (example: http://www.stepofweb.com)
|
|
**************************************************************** **/
|
|
function _toastr(_message,_position,_notifyType,_onclick) {
|
|
var _btn = jQuery(".toastr-notify");
|
|
|
|
if(_btn.length > 0 && _message != false) {
|
|
|
|
loadScript(plugin_path + 'toastr/toastr.js', function() {
|
|
// toastr.clear();
|
|
|
|
/** BUTTON CLICK
|
|
********************* **/
|
|
_btn.bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
|
|
var _message = jQuery(this).attr('data-message'),
|
|
_notifyType = jQuery(this).attr('data-notifyType') || "default",
|
|
_position = jQuery(this).attr('data-position') || "top-right",
|
|
_progressBar = jQuery(this).attr('data-progressBar') == "true" ? true : false,
|
|
_closeButton = jQuery(this).attr('data-closeButton') == "true" ? true : false,
|
|
_debug = jQuery(this).attr('data-debug') == "true" ? true : false,
|
|
_newestOnTop = jQuery(this).attr('data-newestOnTop') == "true" ? true : false,
|
|
_preventDuplicates = jQuery(this).attr('data-preventDuplicates') == "true" ? true : false,
|
|
_showDuration = jQuery(this).attr('data-showDuration') || "300",
|
|
_hideDuration = jQuery(this).attr('data-hideDuration') || "1000",
|
|
_timeOut = jQuery(this).attr('data-timeOut') || "5000",
|
|
_extendedTimeOut = jQuery(this).attr('data-extendedTimeOut') || "1000",
|
|
_showEasing = jQuery(this).attr('data-showEasing') || "swing",
|
|
_hideEasing = jQuery(this).attr('data-hideEasing') || "linear",
|
|
_showMethod = jQuery(this).attr('data-showMethod') || "fadeIn",
|
|
_hideMethod = jQuery(this).attr('data-hideMethod') || "fadeOut";
|
|
|
|
toastr.options = {
|
|
"closeButton": _closeButton,
|
|
"debug": _debug,
|
|
"newestOnTop": _newestOnTop,
|
|
"progressBar": _progressBar,
|
|
"positionClass": "toast-" + _position,
|
|
"preventDuplicates": _preventDuplicates,
|
|
"onclick": null,
|
|
"showDuration": _showDuration,
|
|
"hideDuration": _hideDuration,
|
|
"timeOut": _timeOut,
|
|
"extendedTimeOut": _extendedTimeOut,
|
|
"showEasing": _showEasing,
|
|
"hideEasing": _hideEasing,
|
|
"showMethod": _showMethod,
|
|
"hideMethod": _hideMethod
|
|
}
|
|
|
|
toastr[_notifyType](_message);
|
|
});
|
|
|
|
|
|
/** JAVSCRIPT / ON LOAD
|
|
************************* **/
|
|
if(_message != false) {
|
|
|
|
if(_onclick != false) {
|
|
onclick = function() {
|
|
window.location = _onclick;
|
|
}
|
|
} else {
|
|
onclick = null
|
|
}
|
|
|
|
toastr.options = {
|
|
"closeButton": true,
|
|
"debug": false,
|
|
"newestOnTop": false,
|
|
"progressBar": true,
|
|
"positionClass": "toast-" + _position,
|
|
"preventDuplicates": false,
|
|
"onclick": onclick,
|
|
"showDuration": "300",
|
|
"hideDuration": "1000",
|
|
"timeOut": "5000",
|
|
"extendedTimeOut": "1000",
|
|
"showEasing": "swing",
|
|
"hideEasing": "linear",
|
|
"showMethod": "fadeIn",
|
|
"hideMethod": "fadeOut"
|
|
}
|
|
|
|
setTimeout(function(){
|
|
toastr[_notifyType](_message);
|
|
}, 1500); // delay 1.5s
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
/** Chart
|
|
**************************************************************** **/
|
|
function _charts() {
|
|
|
|
/** Easy Pie Chart
|
|
************************* **/
|
|
var _container = jQuery(".piechart");
|
|
|
|
if(_container.length > 0) {
|
|
|
|
loadScript(plugin_path + 'chart.easypiechart/dist/jquery.easypiechart.min.js', function() {
|
|
|
|
jQuery(".piechart").each(function() {
|
|
var _t = jQuery(this),
|
|
_size = _t.attr('data-size') || 150,
|
|
_animate = _t.attr('data-animate') || "3000";
|
|
|
|
_t.easyPieChart({
|
|
size: _size,
|
|
animate: _animate,
|
|
scaleColor: false,
|
|
trackColor: _t.attr('data-trackcolor') || 'rgba(0,0,0,0.04)',
|
|
lineWidth: _t.attr('data-width') || '2',
|
|
lineCap: 'square',
|
|
barColor: _t.attr('data-color') || '#0093BF'
|
|
});
|
|
|
|
/* fix element positioning */
|
|
jQuery("*", this).attr('style', "line-height:"+_size+"px !important; height:"+_size+"px !important; width:"+_size+"px !important");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/** Select2
|
|
**************************************************************** **/
|
|
function _select2() {
|
|
var _container = jQuery('select.select2');
|
|
|
|
if(_container.length > 0) {
|
|
|
|
loadScript(plugin_path + 'select2/js/select2.full.min.js', function() {
|
|
|
|
_container.each(function() {
|
|
var _t = jQuery(this);
|
|
|
|
if(!_t.hasClass('select2-custom')) {
|
|
_t.select2();
|
|
}
|
|
|
|
})
|
|
|
|
});
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Form [form plugin + validation plugin]
|
|
**************************************************************** **/
|
|
function _form() {
|
|
|
|
|
|
/** Form Validate
|
|
LOAD PLUGIN ONLY!
|
|
************************ **/
|
|
if(jQuery('form.validate-plugin').length > 0) {
|
|
|
|
loadScript(plugin_path + 'form.validate/jquery.form.min.js', function() {
|
|
loadScript(plugin_path + 'form.validate/jquery.validation.min.js');
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
/** Form Validate
|
|
************************ **/
|
|
if(jQuery('form.validate').length > 0) {
|
|
|
|
loadScript(plugin_path + 'form.validate/jquery.form.min.js', function() {
|
|
loadScript(plugin_path + 'form.validate/jquery.validation.min.js', function() {
|
|
|
|
if(jQuery().validate) {
|
|
|
|
jQuery('form.validate').each(function() {
|
|
|
|
var _t = jQuery(this),
|
|
_Smessage = _t.attr('data-success') || "Successfully! Thank you!",
|
|
_Cmessage = _t.attr('data-captcha') || "Invalid Captcha!",
|
|
_Tposition = _t.attr('data-toastr-position') || "top-right",
|
|
_Ttype = _t.attr('data-toastr-type') || "success";
|
|
_Turl = _t.attr('data-toastr-url') || false;
|
|
|
|
// Append 'is_ajax' hidden input field!
|
|
_t.append('<input type="hidden" name="is_ajax" value="true" />');
|
|
|
|
_t.validate({
|
|
submitHandler: function(form) {
|
|
|
|
// Show spin icon
|
|
jQuery(form).find('.input-group-addon').find('.fa-envelope').removeClass('fa-envelope').addClass('fa-refresh fa-spin');
|
|
|
|
jQuery(form).ajaxSubmit({
|
|
|
|
target: jQuery(form).find('.validate-result').length > 0 ? jQuery(form).find('.validate-result') : '',
|
|
|
|
error: function(data) {
|
|
_toastr("Sent Failed!",_Tposition,"error",false);
|
|
},
|
|
|
|
success: function(data) {
|
|
var data = data.trim();
|
|
|
|
// SMTP ERROR
|
|
if(data == '_failed_') {
|
|
_toastr("SMTP ERROR! Please, check your config file!",_Tposition,"error",false);
|
|
}
|
|
|
|
// CAPTCHA ERROR
|
|
else if(data == '_captcha_') {
|
|
_toastr("Invalid Captcha!",_Tposition,"error",false);
|
|
|
|
|
|
// SUCCESS
|
|
} else {
|
|
|
|
// Remove spin icon
|
|
jQuery(form).find('.input-group-addon').find('.fa-refresh').removeClass('fa-refresh fa-spin').addClass('fa-envelope');
|
|
|
|
// Clear the form
|
|
jQuery(form).find('input.form-control').val('');
|
|
|
|
// Toastr Message
|
|
_toastr(_Smessage,_Tposition,_Ttype,_Turl);
|
|
|
|
}
|
|
}
|
|
});
|
|
|
|
}
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Masked Input
|
|
************************ **/
|
|
var _container = jQuery('input.masked');
|
|
if(_container.length > 0) {
|
|
|
|
loadScript(plugin_path + 'form.masked/jquery.maskedinput.js', function() {
|
|
|
|
_container.each(function() {
|
|
|
|
var _t = jQuery(this);
|
|
_format = _t.attr('data-format') || '(999) 999-999999',
|
|
_placeholder = _t.attr('data-placeholder') || 'X';
|
|
|
|
jQuery.mask.definitions['f'] = "[A-Fa-f0-9]";
|
|
_t.mask(_format, {placeholder:_placeholder});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/** Pickers
|
|
**************************************************************** **/
|
|
function _pickers() {
|
|
|
|
/** Date Picker
|
|
<input type="text" class="form-control datepicker" data-format="yyyy-mm-dd" data-lang="en" data-RTL="false">
|
|
******************* **/
|
|
var _container_1 = jQuery('.datepicker');
|
|
|
|
if(_container_1.length > 0) {
|
|
loadScript(plugin_path + 'bootstrap.datepicker/js/bootstrap-datepicker.min.js', function() {
|
|
|
|
if(jQuery().datepicker) {
|
|
|
|
_container_1.each(function() {
|
|
var _t = jQuery(this),
|
|
_lang = _t.attr('data-lang') || 'en';
|
|
|
|
if(_lang != 'en' && _lang != '') { // load language file
|
|
loadScript(plugin_path + 'bootstrap.datepicker/locales/bootstrap-datepicker.'+_lang+'.min.js');
|
|
}
|
|
|
|
jQuery(this).datepicker({
|
|
format: _t.attr('data-format') || 'yyyy-mm-dd',
|
|
language: _lang,
|
|
rtl: _t.attr('data-RTL') == "true" ? true : false,
|
|
changeMonth: _t.attr('data-changeMonth') == "false" ? false : true,
|
|
todayBtn: _t.attr('data-todayBtn') == "false" ? false : "linked",
|
|
calendarWeeks: _t.attr('data-calendarWeeks') == "false" ? false : true,
|
|
autoclose: _t.attr('data-autoclose') == "false" ? false : true,
|
|
todayHighlight: _t.attr('data-todayHighlight') == "false" ? false : true,
|
|
|
|
onRender: function(date) {
|
|
// return date.valueOf() < nowDate.valueOf() ? 'disabled' : '';
|
|
}
|
|
}).on('changeDate', function(ev) {
|
|
|
|
// AJAX POST - OPTIONAL
|
|
|
|
}).data('datepicker');
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Range Picker
|
|
<input type="text" class="form-control rangepicker" value="2015-01-01 - 2016-12-31" data-format="yyyy-mm-dd" data-from="2015-01-01" data-to="2016-12-31">
|
|
******************* **/
|
|
var _container_2 = jQuery('.rangepicker');
|
|
|
|
if(_container_2.length > 0) {
|
|
loadScript(plugin_path + 'bootstrap.daterangepicker/moment.min.js', function() {
|
|
loadScript(plugin_path + 'bootstrap.daterangepicker/daterangepicker.js', function() {
|
|
|
|
if(jQuery().datepicker) {
|
|
|
|
_container_2.each(function() {
|
|
|
|
var _t = jQuery(this),
|
|
_format = _t.attr('data-format').toUpperCase() || 'YYYY-MM-DD';
|
|
|
|
_t.daterangepicker(
|
|
{
|
|
format: _format,
|
|
startDate: _t.attr('data-from'),
|
|
endDate: _t.attr('data-to'),
|
|
|
|
ranges: {
|
|
'Today': [moment(), moment()],
|
|
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
|
|
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
|
|
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
|
|
'This Month': [moment().startOf('month'), moment().endOf('month')],
|
|
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
|
|
}
|
|
},
|
|
function(start, end, label) {
|
|
// alert("A new date range was chosen: " + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD'));
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
});
|
|
}
|
|
|
|
|
|
|
|
/** Time Picker
|
|
<input type="text" class="form-control timepicker" value="11 : 55 : PM">
|
|
******************* **/
|
|
var _container_3 = jQuery('.timepicker');
|
|
|
|
if(_container_3.length > 0) {
|
|
loadScript(plugin_path + 'timepicki/timepicki.min.js', function() {
|
|
|
|
if(jQuery().timepicki) {
|
|
|
|
_container_3.timepicki();
|
|
|
|
}
|
|
|
|
});
|
|
}
|
|
|
|
|
|
|
|
/** Color Picker
|
|
******************* **/
|
|
var _container_4 = jQuery('.colorpicker');
|
|
|
|
if(_container_4.length > 0) {
|
|
loadScript(plugin_path + 'spectrum/spectrum.min.js', function() {
|
|
|
|
if(jQuery().spectrum) {
|
|
|
|
_container_4.each(function() {
|
|
var _t = jQuery(this),
|
|
_preferredFormat = _t.attr('data-format') || "hex", // hex, hex3, hsl, rgb, name
|
|
_palletteOnly = _t.attr('data-palletteOnly') || "false",
|
|
_fullPicker = _t.attr('data-fullpicker') || "false",
|
|
_allowEmpty = _t.attr('data-allowEmpty') || false;
|
|
_flat = _t.attr('data-flat') || false;
|
|
|
|
if(_palletteOnly == "true" || _fullPicker == "true") {
|
|
|
|
var _palette = [
|
|
["#000","#444","#666","#999","#ccc","#eee","#f3f3f3","#fff"],
|
|
["#f00","#f90","#ff0","#0f0","#0ff","#00f","#90f","#f0f"],
|
|
["#f4cccc","#fce5cd","#fff2cc","#d9ead3","#d0e0e3","#cfe2f3","#d9d2e9","#ead1dc"],
|
|
["#ea9999","#f9cb9c","#ffe599","#b6d7a8","#a2c4c9","#9fc5e8","#b4a7d6","#d5a6bd"],
|
|
["#e06666","#f6b26b","#ffd966","#93c47d","#76a5af","#6fa8dc","#8e7cc3","#c27ba0"],
|
|
["#c00","#e69138","#f1c232","#6aa84f","#45818e","#3d85c6","#674ea7","#a64d79"],
|
|
["#900","#b45f06","#bf9000","#38761d","#134f5c","#0b5394","#351c75","#741b47"],
|
|
["#600","#783f04","#7f6000","#274e13","#0c343d","#073763","#20124d","#4c1130"]
|
|
];
|
|
|
|
} else {
|
|
_palette = null;
|
|
}
|
|
|
|
if(_t.attr('data-defaultColor')) {
|
|
_color = _t.attr('data-defaultColor');
|
|
} else {
|
|
_color = "#ff0000";
|
|
}
|
|
|
|
if(!_t.attr('data-defaultColor') && _allowEmpty == "true") {
|
|
_color = null;
|
|
}
|
|
|
|
_t.spectrum({
|
|
showPaletteOnly: _palletteOnly == "true" ? true : false,
|
|
togglePaletteOnly: _palletteOnly == "true" ? true : false,
|
|
|
|
flat: _flat == "true" ? true : false,
|
|
showInitial: _allowEmpty == "true" ? true : false,
|
|
showInput: _allowEmpty == "true" ? true : false,
|
|
allowEmpty: _allowEmpty == "true" ? true : false,
|
|
|
|
chooseText: _t.attr('data-chooseText') || "Coose",
|
|
cancelText: _t.attr('data-cancelText') || "Cancel",
|
|
|
|
color: _color,
|
|
showInput: true,
|
|
showPalette: true,
|
|
preferredFormat: _preferredFormat,
|
|
showAlpha: _preferredFormat == "rgb" ? true : false,
|
|
palette: _palette
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/** Editors
|
|
**************************************************************** **/
|
|
function _editors() {
|
|
|
|
/** Summernote HTML Editor
|
|
<textarea class="summernote form-control" data-height="200"></textarea>
|
|
***************************** **/
|
|
var _container_1 = jQuery('textarea.summernote');
|
|
|
|
if(_container_1.length > 0) {
|
|
|
|
loadScript(plugin_path + 'editor.summernote/summernote.min.js', function() {
|
|
|
|
if(jQuery().summernote) {
|
|
|
|
_container_1.each(function() {
|
|
|
|
var _lang = jQuery(this).attr('data-lang') || 'en-US';
|
|
|
|
if(_lang != 'en-US') { // Language!
|
|
alert(_lang);
|
|
loadScript(plugin_path + 'editor.summernote/lang/summernote-'+_lang+'.js');
|
|
}
|
|
|
|
jQuery(this).summernote({
|
|
height: jQuery(this).attr('data-height') || 200,
|
|
lang: jQuery(this).attr('data-lang') || 'en-US', // default: 'en-US'
|
|
toolbar: [
|
|
/* [groupname, [button list]] */
|
|
['style', ['style']],
|
|
['fontsize', ['fontsize']],
|
|
['style', ['bold', 'italic', 'underline','strikethrough', 'clear']],
|
|
['color', ['color']],
|
|
['para', ['ul', 'ol', 'paragraph']],
|
|
['table', ['table']],
|
|
['media', ['link', 'picture', 'video']],
|
|
['misc', ['codeview', 'fullscreen', 'help']]
|
|
]
|
|
});
|
|
});
|
|
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/** Markdown HTML Editor
|
|
<textarea class="markdown" data-height="300" name="content" data-provide="markdown" data-lang="en" rows="10"></textarea>
|
|
***************************** **/
|
|
var _container_2 = jQuery('textarea.markdown');
|
|
|
|
if(_container_2.length > 0) {
|
|
|
|
loadScript(plugin_path + 'editor.markdown/js/bootstrap-markdown.min.js', function() {
|
|
|
|
if(jQuery().markdown) {
|
|
|
|
_container_2.each(function() {
|
|
var _t = jQuery(this);
|
|
|
|
var _lang = _t.attr('data-lang') || 'en';
|
|
|
|
if(_lang != 'en') { // Language!
|
|
loadScript(plugin_path + 'editor.markdown/locale/bootstrap-markdown.'+_lang+'.js');
|
|
}
|
|
|
|
jQuery(this).markdown({
|
|
autofocus: _t.attr('data-autofocus') == "true" ? true : false,
|
|
savable: _t.attr('data-savable') == "true" ? true : false,
|
|
height: _t.attr('data-height') || 'inherit',
|
|
language: _lang == 'en' ? null : _lang
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** Pajinate [jQuery Pagination]
|
|
USAGE
|
|
|
|
<div class="pajinate" data-pajinante-items-per-page="8" data-pajinate-container=".pajinate-container">
|
|
|
|
<div class="pajinate-container">
|
|
|
|
<div>item1</div>
|
|
<div>item2</div>
|
|
<div>item3</div>
|
|
.....
|
|
|
|
</div>
|
|
|
|
<div class="pajinate-nav">
|
|
<ul class="pagination"><!-- pages added by pajinate plugin --></ul>
|
|
</div>
|
|
|
|
</div>
|
|
**************************************************************** **/
|
|
function _pajinate() {
|
|
var _container = jQuery('div.pajinate');
|
|
|
|
if(_container.length > 0) {
|
|
|
|
loadScript(plugin_path + 'pajinate/jquery.pajinate.bootstrap.min.js', function() {
|
|
|
|
if(jQuery().pajinate) {
|
|
|
|
_container.each(function() {
|
|
var _t = jQuery(this),
|
|
_perPage = _t.attr('data-pajinante-items-per-page') || 8;
|
|
_numLinks = _t.attr('data-pajinante-num-links') || 5;
|
|
|
|
_t.pajinate({
|
|
items_per_page : parseInt(_perPage),
|
|
num_page_links_to_display : parseInt(_numLinks),
|
|
item_container_id : _t.attr('data-pajinate-container') || '.pajinate-container',
|
|
nav_panel_id : '.pajinate-nav ul',
|
|
show_first_last : false,
|
|
wrap_around : true,
|
|
abort_on_small_lists : true,
|
|
start_page : 0,
|
|
nav_label_prev : '«',
|
|
nav_label_next : '»'
|
|
});
|
|
|
|
});
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/** Infininte Scroll
|
|
**************************************************************** **/
|
|
function _infiniteScroll() {
|
|
var _container = jQuery(".infinite-scroll");
|
|
|
|
if(_container.length > 0) {
|
|
|
|
loadScript(plugin_path + 'infinite-scroll/jquery.infinitescroll.min.js', function() {
|
|
|
|
_navSelector = _container.attr('data-nextSelector') || "#inf-load-nex",
|
|
_itemSelector = _container.attr('data-itemSelector') || ".item",
|
|
_nextSelector = _navSelector + " a";
|
|
|
|
_container.infinitescroll({
|
|
loading: {
|
|
finishedMsg : '<i class="fa fa-check"></i>',
|
|
msgText : '<i class="fa fa-refresh fa-spin"></i>',
|
|
img : "data:image/gif;base64,R0lGODlhGAAYAPUAABQSFCwuLBwaHAwKDKyurGxqbNze3CwqLCQmJLS2tOzu7OTi5JyenBweHBQWFJyanPz+/HRydLSytFxeXPz6/ExOTKSmpFRSVHR2dAwODAQCBOzq7PTy9ISChPT29IyKjIyOjISGhOTm5GRiZJSWlJSSlFRWVMTCxNza3ExKTNTS1KyqrHx6fGRmZKSipMzOzMTGxDQyNDw+PAQGBDQ2NERCRFxaXMzKzGxubDw6PCQiJLy+vERGRLy6vHx+fNTW1CH/C05FVFNDQVBFMi4wAwEAAAAh+QQJBQAAACwAAAAAGAAYAEAGqECAcAhoRAiojQJFiAiI0Kh0qOsZOhqhDMK9ZadgAI0WBmhAXAhFVm5HbZR0aTYdsFpSkwqjo5sRLAtpIjxuUzZpECmGjI1QA4JcKH5lGVICDHFpGyoqGx4uDWENFh4iKjcbiR4MT1ItLJSPJWkUNo9uAyhpBpaOGjdpOY7ExcYaIQs9OsUpibfENZoQIF9gY1EpqlwiLAh+M4AqJmUCOBJJGz8EOKJRQQAh+QQJBQABACwAAAAAGAAYAAAGp8CAcBhoRBILDgdFKAiI0KHAB5rUZBUWDALxMJ5R4SCmiWpoJ67iEm4TZx0upOCuB1jyir2tuXE3DnthE3IlglENchwDh0QDG3ITjUQ7ciGTQxFybJgBGkcYGhoYPaGdARdyOKchcjunhH8znQAccmCYJZGnDpAQN2WdFXI+pwEFch2znRe+MDTBbzGMbQIPHlwwLBcyNSMgLIF2Ai0WKAocBhI4uERBACH5BAkFACwALAAAAAAYABgAAAaoQJZwyNIEJiAJCpWICIjQKFGD6Gw8D4d0C3UQIJsKd1wsQSgFMldjgUAu6q1jA27EpRg34x5FUCAeT3xDAx5uBQAMJyZ8GRxuFiRuFAF3B24QKguYE3cpmAubbil3I5gGKpgIdwF/EA9tgAN8JicMGQVuHLODQgKGEKu9QgxuGMNCDQpgAMgsF38rGs4Ffx/TyBUiECtayAIPHgohAdi9DRFKTCAj5VJBACH5BAkFAAAALAAAAAAYABgAAAa0QIBwSAQMaphHoVFsOoezlsEleFqJDsnmcu1qLJBW9zpQUSpjqwyycQgPBAIiLYRBGIDMAgJRaegREB4CE3wQFAN0NHwRYHwwdAANfBIqhlx0AXwGCnx+kQV8Cp0QBZEaL3wbBnwBkReGKgl8TGkadnwugRA0dBkUhhMNHhARdBqWEAsZAAwQkHQIEgQHQgIbFDKRTRUUL4nbRC0QFjPhRBcbEm7nQg0uBi3g7Q0RDxEyzFdBACH5BAkFAAgALAAAAAAYABgAAAaxQIRwSCwKHMWkssgLCZbQYmNnUgpMh6gQoIoUZQqIh6ZFHDjV7QLCLpURIcUTAWKzvWUBhYFwcOwnA28IOx4CBXY3AIMIJRAFEmwoSIwYEAQGbDWMQiwQBh4QKpxCjhyhbqQqEByZLKQ1bAaRr4wOKGwSiKlvADd2BQIeJ4MDJ3YcSA8UlFqWdiBCAgohbyR2C4tCJhwBZTQUEAo5RQUqzVAHJuhDJjsNpFIhKfFG7FFBACH5BAkFAAAALAAAAQAYABYAAAa3QIBQmEnlNMOkcgmoGSCQEJNIY048UIhhKqS1lClKFtLjClmmoWAzvunMgJmqIWRkDTYkHIBxARpiECUDe0MIHg0RUCV6hQAaGxESEAszjkkvEk8sl0kqKgoQCJ1CGiIKChuNlwcQCigvpGcQKBKxpAMLEBI4IpaXGiVQODoeb44DwhAUAgAuGIUaEyhZDEINKr9cCDdjG81CJpxmO2MUPEojVVy6UBQ2TDGEUyFQCzKyjzk880NBACH5BAkFAAEALAAAAAAYABgAAAazwIBwGABMOhcNcckUOkoKiJTVrAYqG6k2YWXiKFptpEs0gbWbXmFmHQwbWcjNJlCSYwIhQ9qxk4UaVAIeEB1/TCANBRAnfodCExEEEDSPSzUJKCeWSzQGHBicRBUcHimiQywKC5WoGjAoCTKoATQUBBETqDMnEAUNH6ghEBQOAT6OZBo+UgxCAjF/Mw0TN1IKeUJuVTMFPSJhEBePGOHEBZYJ4SI8nCxaHB/GnBoXISYATUEAIfkECQUAKgAsAAAAABgAGAAABqpAlXCoErQsr4WBlCE6nQ2XB0Ktup5Yk6LKhZywzgKlyplSKRfwsELdYA6DDCI1OaiFgg2EALirHxAfGn5gDR4rg4RPGhEbDopYAQkdkFgjBnaVTiEoiZpDCQmfRBooIKNDBwYjqEIdCQGtDgoFnpoaEh4NqBogEA+oDisQjn4xExUIAAMILCIQFBV+JmNUHh7VEAWEMF1VCmmELt4UDAKQGSUoCy8WI+dPQQAh+QQJBQAJACwAAAAAGAAYAAAGrMCEcJhoRCQoxUblmmSI0KGA4YFYr9bFIUqsbLBgK4ErLFAosEiuESi8sBKyifKqRTWXk+el4zYULgNkQhkaZBYShoOLOigAi5ARE5CQDzOUixGYi3abXANPnlE5olyapUQzD6hELaesDgYNrAkzEi5kMwOKnxYbs1EIKh4wF5dQNSoQF2QSWC8FATo0GDcUHi2DBGFgGymLBwvcEBQPDpQZNi4qGxsoEjgCXEEAIfkEBQUACAAsAAAAABgAGAAABqZAhHCIEBQIBg/HICk4iNCh4OGBWK9WTgkQHZoUlFMJwyKpsJCFrBvhhJ7QGgqrgA9tr0BX6HhhTUQNO3Z7ADBWFAdEIQJ7UAMRJTREAjyOl0MNmJucnZ6foKGio6SdmqQphDljA5wCIUQBVRAwXJcAO6dCJlg3tl0BPxdQAgpYKDVRAh8cOF05C2g/JSw+JTAeCsOFJRxoVx4PjZgORygcHCgETl1BADs=",
|
|
speed : 'normal'
|
|
},
|
|
nextSelector : _nextSelector,
|
|
navSelector : _navSelector,
|
|
itemSelector : _itemSelector,
|
|
behavior : '',
|
|
|
|
state: {
|
|
isDone : false
|
|
}
|
|
},
|
|
|
|
function(newElements) {
|
|
|
|
Init(true);
|
|
|
|
if(jQuery().isotope) {
|
|
|
|
_container.isotope('appended', jQuery(newElements));
|
|
|
|
setTimeout( function(){
|
|
_container.isotope('layout');
|
|
}, 2000);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/** Image Zoom
|
|
**************************************************************** **/
|
|
function _zoom() {
|
|
var _container = jQuery('figure.zoom');
|
|
|
|
if(_container.length > 0) {
|
|
|
|
loadScript(plugin_path + 'image.zoom/jquery.zoom.min.js', function() {
|
|
|
|
if(jQuery().zoom) {
|
|
|
|
_container.each(function() {
|
|
var _t = jQuery(this),
|
|
_mode = _t.attr('data-mode'),
|
|
_id = _t.attr('id');
|
|
|
|
if(_mode == 'grab') {
|
|
_t.zoom({ on:'grab' });
|
|
} else
|
|
|
|
if(_mode == 'click') {
|
|
_t.zoom({ on:'click' });
|
|
} else
|
|
|
|
if(_mode == 'toggle') {
|
|
_t.zoom({ on:'toggle' });
|
|
} else {
|
|
_t.zoom();
|
|
}
|
|
|
|
if(isMobile.any()) {
|
|
_t.zoom({ on:'toggle' });
|
|
}
|
|
|
|
// Thumbnails
|
|
if(_id) {
|
|
jQuery('.zoom-more[data-for='+_id+'] a').bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
var _href = jQuery(this).attr('href');
|
|
|
|
if(_href != "#") {
|
|
jQuery('.zoom-more[data-for='+_id+'] a').removeClass('active');
|
|
jQuery(this).addClass('active');
|
|
|
|
jQuery('figure#'+_id + '>.lightbox').attr('href', _href);
|
|
|
|
jQuery('figure#'+_id + '>img').fadeOut(0, function() {
|
|
jQuery('figure#'+_id + '>img').attr('src', _href);
|
|
}).fadeIn(500);
|
|
|
|
|
|
}
|
|
});
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/** Autosuggest
|
|
http://twitter.github.io/typeahead.js/
|
|
**************************************************************** **/
|
|
function _autosuggest() {
|
|
_container = jQuery('div.autosuggest');
|
|
|
|
if(_container.length > 0) {
|
|
|
|
loadScript(plugin_path + 'typeahead.bundle.js', function() {
|
|
|
|
if(jQuery().typeahead) {
|
|
|
|
_container.each(function() {
|
|
var _t = jQuery(this),
|
|
_minLength = _t.attr('data-minLength') || 1,
|
|
_qryURL = _t.attr('data-queryURL'),
|
|
_limit = _t.attr('data-limit') || 10,
|
|
_autoload = _t.attr('data-autoload');
|
|
|
|
if(_autoload == "false") {
|
|
return false;
|
|
}
|
|
|
|
/** **/
|
|
/* Bloodhound (Suggestion Engine) */
|
|
var _typeahead = new Bloodhound({
|
|
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
|
|
queryTokenizer: Bloodhound.tokenizers.whitespace,
|
|
limit: _limit,
|
|
remote: {
|
|
url: _qryURL + '%QUERY',
|
|
},
|
|
});
|
|
|
|
jQuery('.typeahead', _t).typeahead({
|
|
limit: _limit,
|
|
hint: _t.attr('data-hint') == "false" ? false : true,
|
|
highlight: _t.attr('data-highlight') == "false" ? false : true,
|
|
minLength: parseInt(_minLength),
|
|
|
|
cache: false,
|
|
},
|
|
{
|
|
name: '_typeahead',
|
|
source: _typeahead
|
|
});
|
|
/** **/
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** Form Stepper
|
|
**************************************************************** **/
|
|
function _stepper() {
|
|
var _container = jQuery('input.stepper');
|
|
|
|
if(_container.length > 0) {
|
|
|
|
loadScript(plugin_path + 'form.stepper/jquery.stepper.min.js', function() {
|
|
|
|
if(jQuery().stepper) {
|
|
|
|
jQuery(_container).each(function() {
|
|
var _t = jQuery(this),
|
|
_min = _t.attr('min') || null,
|
|
_max = _t.attr('max') || null;
|
|
|
|
_t.stepper({
|
|
limit: [_min,_max],
|
|
floatPrecission: _t.attr('data-floatPrecission') || 2,
|
|
wheel_step: _t.attr('data-wheelstep') || 0.1,
|
|
arrow_step: _t.attr('data-arrowstep') || 0.2,
|
|
allowWheel: _t.attr('data-mousescrool') == "false" ? false : true,
|
|
UI: _t.attr('data-UI') == "false" ? false : true,
|
|
// --
|
|
type: _t.attr('data-type') || "float",
|
|
preventWheelAcceleration: _t.attr('data-preventWheelAcceleration') == "false" ? false : true,
|
|
incrementButton: _t.attr('data-incrementButton') || "▴",
|
|
decrementButton: _t.attr('data-decrementButton') || "▾",
|
|
onStep: null,
|
|
onWheel: null,
|
|
onArrow: null,
|
|
onButton: null,
|
|
onKeyUp: null
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** Slimscroll
|
|
**************************************************************** **/
|
|
function _slimScroll() {
|
|
var _container = jQuery('.slimscroll');
|
|
|
|
if(_container.length > 0) {
|
|
|
|
loadScript(plugin_path + 'slimscroll/jquery.slimscroll.min.js', function() {
|
|
|
|
if(jQuery().slimScroll) {
|
|
|
|
jQuery('.slimscroll').each(function () {
|
|
|
|
var height;
|
|
if (jQuery(this).attr("data-height")) {
|
|
height = jQuery(this).attr("data-height");
|
|
} else {
|
|
height = jQuery(this).height();
|
|
}
|
|
|
|
jQuery(this).slimScroll({
|
|
size: jQuery(this).attr("data-size") || '5px',
|
|
opacity: jQuery(this).attr("data-opacity") || .6,
|
|
position: jQuery(this).attr("data-position") || 'right',
|
|
allowPageScroll: false, // not working
|
|
disableFadeOut: false,
|
|
railVisible: true,
|
|
railColor: jQuery(this).attr("data-railColor") || '#222',
|
|
railOpacity: jQuery(this).attr("data-railOpacity") || 0.05,
|
|
alwaysVisible: (jQuery(this).attr("data-alwaysVisible") != "false" ? true : false),
|
|
railVisible: (jQuery(this).attr("data-railVisible") != "false" ? true : false),
|
|
color: jQuery(this).attr("data-color") || '#333',
|
|
wrapperClass: jQuery(this).attr("data-wrapper-class") || 'slimScrollDiv',
|
|
railColor: jQuery(this).attr("data-railColor") || '#eaeaea',
|
|
height: height
|
|
});
|
|
|
|
|
|
// Disable body scroll on slimscroll hover
|
|
if(jQuery(this).attr('disable-body-scroll') == 'true') {
|
|
|
|
jQuery(this).bind('mousewheel DOMMouseScroll', function(e) {
|
|
var scrollTo = null;
|
|
|
|
if (e.type == 'mousewheel') {
|
|
scrollTo = (e.originalEvent.wheelDelta * -1);
|
|
}
|
|
else if (e.type == 'DOMMouseScroll') {
|
|
scrollTo = 40 * e.originalEvent.detail;
|
|
}
|
|
|
|
if (scrollTo) {
|
|
e.preventDefault();
|
|
jQuery(this).scrollTop(scrollTo + jQuery(this).scrollTop());
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Modal Autoload
|
|
|
|
USAGE:
|
|
|
|
<div id="MODAL-ID-REQUIRED" class="modal fade" data-autoload="true" data-autoload-delay="2000">
|
|
...
|
|
</div>
|
|
**************************************************************** **/
|
|
function _modalAutoLoad() {
|
|
if(jQuery("div.modal").length > 0) {
|
|
|
|
jQuery("div.modal").each(function() {
|
|
var _t = jQuery(this),
|
|
_id = _t.attr('id'),
|
|
_autostart = _t.attr('data-autoload') || false;
|
|
|
|
|
|
// reset allow
|
|
// localStorage.removeItem(_id);
|
|
|
|
|
|
if(_id != '') { // rewrite if set to hidden by the user
|
|
if(localStorage.getItem(_id) == 'hidden') {
|
|
_autostart = 'false';
|
|
}
|
|
}
|
|
|
|
|
|
if(_autostart == 'true') {
|
|
|
|
jQuery(window).on("load", function() { // required on load!
|
|
var _delay = _t.attr('data-autoload-delay') || 1000; // delay when modal apprear
|
|
|
|
setTimeout(
|
|
function() {
|
|
|
|
_t.modal('toggle');
|
|
|
|
}, parseInt(_delay));
|
|
|
|
});
|
|
|
|
}
|
|
|
|
// LOCAL STORAGE - DO NOT HIDE ON NEXT PAGE LOAD!
|
|
jQuery("input.loadModalHide", this).bind("click", function() {
|
|
var _tt = jQuery(this);
|
|
|
|
if(_tt.is(":checked")) {
|
|
localStorage.setItem(_id, 'hidden');
|
|
console.log('[Modal Autoload #'+_id+'] Added to localStorage');
|
|
} else {
|
|
localStorage.removeItem(_id);
|
|
console.log('[Modal Autoload #'+_id+'] Removed from localStorage');
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/** 10. Background Image
|
|
class="boxed" should be added to body.
|
|
Add to body - example: data-background="assets/images/boxed_background/1.jpg"
|
|
**************************************************************** **/
|
|
function _bgimage() {
|
|
|
|
|
|
// Section Background Slideshow
|
|
var _t = jQuery('section[data-background], section div[data-background]');
|
|
|
|
if(_t.length > 0) {
|
|
|
|
loadScript(plugin_path + 'jquery.backstretch.min.js', function() {
|
|
|
|
jQuery(_t).each(function() {
|
|
var _this = jQuery(this),
|
|
data_background = _this.attr('data-background') || '';
|
|
|
|
|
|
if(data_background != '') {
|
|
|
|
var data_background_delay = _this.attr('data-background-delay') || 3000,
|
|
data_background_fade = _this.attr('data-background-fade') || 750;
|
|
var instance;
|
|
|
|
|
|
|
|
var _db = data_background.split(',');
|
|
var _db = data_background.replace(" ", "").split(',');
|
|
|
|
if(_db[1]) {
|
|
_this.backstretch(_db, {duration: parseInt(data_background_delay), fade: parseInt(data_background_fade)});
|
|
} else {
|
|
_this.backstretch(_db);
|
|
}
|
|
|
|
|
|
/** NEXT|PREV
|
|
<!-- Backstretch Navigation -->
|
|
<a id="bs-next" href="#"></a>
|
|
<a id="bs-prev" href="#"></a>
|
|
**/
|
|
jQuery(".bs-next", _this).bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
_this.data('backstretch').next();
|
|
});
|
|
|
|
jQuery(".bs-prev", _this).bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
_this.data('backstretch').prev();
|
|
});
|
|
|
|
|
|
/** BACKSTRETCH BUGFIX
|
|
For some reason, this plugin has some issues on window resize
|
|
We use a small trick to force it to resize the background
|
|
**/
|
|
jQuery(window).resize(function() {
|
|
|
|
if(window.afterResizeBkstr) {
|
|
clearTimeout(window.afterResizeBkstr);
|
|
}
|
|
|
|
window.afterResizeBkstr = setTimeout(function() {
|
|
|
|
_this.data('backstretch').next();
|
|
|
|
}, 350);
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
})
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
// BODY BACKGROUND ONLY
|
|
var data_background = jQuery('body').attr('data-background') || '';
|
|
|
|
if(data_background != '') {
|
|
|
|
loadScript(plugin_path + 'jquery.backstretch.min.js', function() {
|
|
|
|
if(data_background) {
|
|
jQuery.backstretch(data_background);
|
|
jQuery('body').addClass('transparent'); // remove backround color of boxed class
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/** Cookie Alert
|
|
**************************************************************** **/
|
|
function _cookie_alert() {
|
|
|
|
var _el = jQuery('#cookie-alert'),
|
|
_elCookie = _getCookie('cookie-alert');
|
|
|
|
if(_el.length > 0 && _elCookie == null) { // only if cookie is not set
|
|
var _expire = _el.attr('data-expire') || 30;
|
|
|
|
if(_el.hasClass('alert-position-bottom')){
|
|
|
|
_el.animate({"bottom":"0px"}, 800, 'easeInOutExpo');
|
|
|
|
} else {
|
|
|
|
_el.animate({"top":"0px"}, 800, 'easeInOutExpo');
|
|
|
|
}
|
|
|
|
// on close, set cookie as closed
|
|
jQuery('button', _el).bind('click', function() {
|
|
_setCookie('cookie-alert','closed',Number(_expire))
|
|
});
|
|
|
|
}
|
|
|
|
// reset cookie on request
|
|
if(_el.length > 0 && _el.hasClass('cookie-reset')) {
|
|
_delCookie('cookie-alert');
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/** Flickr Widget
|
|
<div class="widget-flickr clearfix lightbox margin-bottom-60" data-id="37304598@N02" data-limit="16" data-plugin-options='{"delegate": "a", "gallery": {"enabled": true}}'></div>
|
|
**************************************************************** **/
|
|
function _widget_flickr() {
|
|
var _container = jQuery('.widget-flickr');
|
|
|
|
if(_container.length > 0) {
|
|
|
|
loadScript(plugin_path + 'widget.jflickr/jflickrfeed.min.js', function() {
|
|
|
|
if(jQuery().jflickrfeed) {
|
|
if(jQuery('.widget-flickr')) {
|
|
|
|
/** **/
|
|
_container.each(function() {
|
|
var _t = jQuery(this),
|
|
_id = _t.attr('data-id'),
|
|
_limit = _t.attr('data-limit') || 14;
|
|
|
|
_t.jflickrfeed({
|
|
limit: parseInt(_limit),
|
|
qstrings: {
|
|
id: _id
|
|
},
|
|
itemTemplate: '<li>'+
|
|
'<a href="{{image}}" title="{{title}}">' +
|
|
'<img src="{{image_s}}" alt="{{title}}" width="63" height="63" />' +
|
|
'</a>' +
|
|
'</li>'
|
|
}, function(data) {
|
|
_lightbox();
|
|
});
|
|
|
|
});
|
|
/** **/
|
|
|
|
}
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Twitter Widget
|
|
**************************************************************** **/
|
|
function _widget_twitter() {
|
|
var _container = jQuery(".widget-twitter");
|
|
|
|
if(_container.length > 0) {
|
|
|
|
loadScript(plugin_path + 'widget.twittie/twittie.min.js', function() {
|
|
|
|
if(jQuery().twittie) {
|
|
// jQuery('.example1 .tweet').twittie({
|
|
// dateFormat: '%b. %d, %Y',
|
|
// template: '{{tweet}} <div class="date">{{date}}</div>',
|
|
// count: 1,
|
|
// loadingText: 'Loading!'
|
|
// });
|
|
|
|
_container.each(function() {
|
|
var _t = jQuery(this),
|
|
_php = _t.attr('data-php'), // PHP Script Path
|
|
_usr = _t.attr('data-username'), // Twitter Username
|
|
_lmt = _t.attr('data-limit') || 3, // Tweets Limit
|
|
|
|
_url = _php + "?username=" + _usr + "&limit=" + _lmt;
|
|
|
|
jQuery.getJSON(_url, function(tweets){
|
|
_t.html(format_twitter(tweets));
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function format_twitter(twitt) {
|
|
var statusHTML = [];
|
|
|
|
for(var i=0; i<twitt.length; i++) {
|
|
var username = twitt[i].user.screen_name;
|
|
|
|
var status = twitt[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
|
|
return '<a href="'+url+'" target="_blank">'+url+'</a>';
|
|
}).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
|
|
return reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'" target="_blank">'+reply.substring(1)+'</a>';
|
|
});
|
|
|
|
statusHTML.push('<li><i class="fa fa-twitter"></i><span>'+status+'</span><small><a href="http://twitter.com/'+username+'/statuses/'+twitt[i].id_str+'" target="_blank">'+relative_time(twitt[i].created_at)+'</a></small></li>');
|
|
}
|
|
|
|
return statusHTML.join('');
|
|
}
|
|
|
|
|
|
function relative_time(time_value) {
|
|
var values = time_value.split(" "),
|
|
parsed_date = Date.parse(time_value),
|
|
relative_to = (arguments.length > 1) ? arguments[1] : new Date(),
|
|
delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
|
|
|
|
time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
|
|
delta = delta + (relative_to.getTimezoneOffset() * 60);
|
|
|
|
if (delta < 60) {
|
|
return 'less than a minute ago';
|
|
} else if(delta < 120) {
|
|
return 'about a minute ago';
|
|
} else if(delta < (60*60)) {
|
|
return (parseInt(delta / 60)).toString() + ' minutes ago';
|
|
} else if(delta < (120*60)) {
|
|
return 'about an hour ago';
|
|
} else if(delta < (24*60*60)) {
|
|
return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
|
|
} else if(delta < (48*60*60)) {
|
|
return '1 day ago';
|
|
} else {
|
|
return (parseInt(delta / 86400)).toString() + ' days ago';
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Facebook Widget
|
|
<div class="fb-like" data-href="http://www.stepofweb.com" data-layout="button" data-action="like" data-show-faces="false" data-share="false"></div>
|
|
**************************************************************** **/
|
|
function _widget_facebook() {
|
|
|
|
/** Like & Share Button
|
|
************************ **/
|
|
var _container_1 = jQuery('div.fb-like');
|
|
var _container_2 = jQuery('div.fb-share-button');
|
|
|
|
if(_container_1.length > 0 || _container_2.length > 0) {
|
|
|
|
jQuery('body').append('<div id="fb-root"></div>');
|
|
|
|
(function(d, s, id) {
|
|
var js, fjs = d.getElementsByTagName(s)[0];
|
|
if (d.getElementById(id)) return;
|
|
js = d.createElement(s); js.id = id;
|
|
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.3";
|
|
fjs.parentNode.insertBefore(js, fjs);
|
|
}(document, 'script', 'facebook-jssdk'));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/** Dribbble Widget
|
|
**************************************************************** **/
|
|
function _widget_dribbble() {
|
|
var _container = jQuery(".widget-dribbble");
|
|
|
|
if(_container.length > 0) {
|
|
|
|
loadScript(plugin_path + 'widget.dribbble/jribbble.min.js', function() {
|
|
|
|
var _token = _container.attr('data-token') || 'f688ac519289f19ce5cebc1383c15ad5c02bd58205cd83c86cbb0ce09170c1b4', // demo default
|
|
_target = _container.attr('data-target') || '_blank',
|
|
_shots = _container.attr('data-shots') || 2046896; // demo default
|
|
|
|
jQuery.jribbble.setToken(_token);
|
|
|
|
jQuery.jribbble.shots(_shots).rebounds().then(function(res) {
|
|
var html = [];
|
|
|
|
res.forEach(function(shot) {
|
|
html.push('<li>');
|
|
html.push('<a href="' + shot.html_url + '" target="' + _target + '">');
|
|
html.push('<img class="img-responsive" src="' + shot.images.normal + '" alt="image">');
|
|
html.push('</a></li>');
|
|
});
|
|
|
|
_container.html(html.join(''));
|
|
});
|
|
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/** Media Widget [mediaelement plugin]
|
|
**************************************************************** **/
|
|
function _widget_media() {
|
|
var _container = jQuery(".widget-media");
|
|
|
|
if(_container.length > 0) {
|
|
|
|
loadScript(plugin_path + 'widget.mediaelementbuild/mediaelement-and-player.min.js', function() {
|
|
|
|
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/** **************************************************************************************************************** **/
|
|
/** **************************************************************************************************************** **/
|
|
/** **************************************************************************************************************** **/
|
|
/** **************************************************************************************************************** **/
|
|
|
|
|
|
/*
|
|
Mobile Check
|
|
|
|
if( isMobile.any() ) alert('Mobile');
|
|
if( isMobile.iOS() ) alert('iOS');
|
|
*/
|
|
|
|
var isMobile = {
|
|
iOS: function() {
|
|
return navigator.userAgent.match(/iPhone|iPad|iPod/i);
|
|
},
|
|
Android: function() {
|
|
return navigator.userAgent.match(/Android/i);
|
|
},
|
|
BlackBerry: function() {
|
|
return navigator.userAgent.match(/BlackBerry/i);
|
|
},
|
|
Opera: function() {
|
|
return navigator.userAgent.match(/Opera Mini/i);
|
|
},
|
|
Windows: function() {
|
|
return navigator.userAgent.match(/IEMobile/i) || navigator.userAgent.match(/WPDesktop/i);
|
|
},
|
|
any: function() {
|
|
return (isMobile.iOS() || isMobile.Android() || isMobile.BlackBerry() || isMobile.Opera() || isMobile.Windows());
|
|
}
|
|
};
|
|
|
|
|
|
|
|
|
|
// Number Format
|
|
Number.prototype.formatMoney = function(c, d, t){
|
|
var n = this,
|
|
c = isNaN(c = Math.abs(c)) ? 2 : c,
|
|
d = d == undefined ? "." : d,
|
|
t = t == undefined ? "," : t,
|
|
s = n < 0 ? "-" : "",
|
|
i = String(parseInt(n = Math.abs(Number(n) || 0).toFixed(c))),
|
|
j = (j = i.length) > 3 ? j % 3 : 0;
|
|
return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
|
|
};
|
|
|
|
|
|
// scroll
|
|
function wheel(e) {
|
|
e.preventDefault();
|
|
}
|
|
|
|
function disable_scroll() {
|
|
if (window.addEventListener) {
|
|
window.addEventListener('DOMMouseScroll', wheel, false);
|
|
}
|
|
window.onmousewheel = document.onmousewheel = wheel;
|
|
}
|
|
|
|
function enable_scroll() {
|
|
if (window.removeEventListener) {
|
|
window.removeEventListener('DOMMouseScroll', wheel, false);
|
|
}
|
|
window.onmousewheel = document.onmousewheel = document.onkeydown = null;
|
|
}
|
|
|
|
// overlay
|
|
function enable_overlay() {
|
|
jQuery("span.global-overlay").remove(); // remove first!
|
|
jQuery('body').append('<span class="global-overlay"></span>');
|
|
}
|
|
function disable_overlay() {
|
|
jQuery("span.global-overlay").remove();
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** Cookies
|
|
**************************************************************** **/
|
|
function _setCookie(name,value,days) {
|
|
var expires = "";
|
|
if (days) {
|
|
var date = new Date();
|
|
date.setTime(date.getTime() + (days*24*60*60*1000));
|
|
expires = "; expires=" + date.toUTCString();
|
|
}
|
|
document.cookie = name + "=" + value + expires + "; path=/";
|
|
}
|
|
|
|
function _getCookie(name) {
|
|
var nameEQ = name + "=";
|
|
var ca = document.cookie.split(';');
|
|
for(var i=0;i < ca.length;i++) {
|
|
var c = ca[i];
|
|
while (c.charAt(0)==' ') c = c.substring(1,c.length);
|
|
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
|
|
function _delCookie(name) {
|
|
_setCookie(name,"",-1);
|
|
}
|
|
|
|
|
|
|
|
/** COUNT TO
|
|
https://github.com/mhuggins/jquery-countTo
|
|
**************************************************************** **/
|
|
(function ($) {
|
|
$.fn.countTo = function (options) {
|
|
options = options || {};
|
|
|
|
return jQuery(this).each(function () {
|
|
// set options for current element
|
|
var settings = jQuery.extend({}, $.fn.countTo.defaults, {
|
|
from: jQuery(this).data('from'),
|
|
to: jQuery(this).data('to'),
|
|
speed: jQuery(this).data('speed'),
|
|
refreshInterval: jQuery(this).data('refresh-interval'),
|
|
decimals: jQuery(this).data('decimals')
|
|
}, options);
|
|
|
|
// how many times to update the value, and how much to increment the value on each update
|
|
var loops = Math.ceil(settings.speed / settings.refreshInterval),
|
|
increment = (settings.to - settings.from) / loops;
|
|
|
|
// references & variables that will change with each update
|
|
var self = this,
|
|
$self = jQuery(this),
|
|
loopCount = 0,
|
|
value = settings.from,
|
|
data = $self.data('countTo') || {};
|
|
|
|
$self.data('countTo', data);
|
|
|
|
// if an existing interval can be found, clear it first
|
|
if (data.interval) {
|
|
clearInterval(data.interval);
|
|
}
|
|
data.interval = setInterval(updateTimer, settings.refreshInterval);
|
|
|
|
// __construct the element with the starting value
|
|
render(value);
|
|
|
|
function updateTimer() {
|
|
value += increment;
|
|
loopCount++;
|
|
|
|
render(value);
|
|
|
|
if (typeof(settings.onUpdate) == 'function') {
|
|
settings.onUpdate.call(self, value);
|
|
}
|
|
|
|
if (loopCount >= loops) {
|
|
// remove the interval
|
|
$self.removeData('countTo');
|
|
clearInterval(data.interval);
|
|
value = settings.to;
|
|
|
|
if (typeof(settings.onComplete) == 'function') {
|
|
settings.onComplete.call(self, value);
|
|
}
|
|
}
|
|
}
|
|
|
|
function render(value) {
|
|
var formattedValue = settings.formatter.call(self, value, settings);
|
|
$self.html(formattedValue);
|
|
}
|
|
});
|
|
};
|
|
|
|
$.fn.countTo.defaults = {
|
|
from: 0, // the number the element should start at
|
|
to: 0, // the number the element should end at
|
|
speed: 1000, // how long it should take to count between the target numbers
|
|
refreshInterval: 100, // how often the element should be updated
|
|
decimals: 0, // the number of decimal places to show
|
|
formatter: formatter, // handler for formatting the value before rendering
|
|
onUpdate: null, // callback method for every time the element is updated
|
|
onComplete: null // callback method for when the element finishes updating
|
|
};
|
|
|
|
function formatter(value, settings) {
|
|
return value.toFixed(settings.decimals);
|
|
}
|
|
}(jQuery));
|
|
|
|
|
|
|
|
|
|
/** Appear
|
|
https://github.com/bas2k/jquery.appear/
|
|
**************************************************************** **/
|
|
(function(a){a.fn.appear=function(d,b){var c=a.extend({data:undefined,one:true,accX:0,accY:0},b);return this.each(function(){var g=a(this);g.appeared=false;if(!d){g.trigger("appear",c.data);return}var f=a(window);var e=function(){if(!g.is(":visible")){g.appeared=false;return}var r=f.scrollLeft();var q=f.scrollTop();var l=g.offset();var s=l.left;var p=l.top;var i=c.accX;var t=c.accY;var k=g.height();var j=f.height();var n=g.width();var m=f.width();if(p+k+t>=q&&p<=q+j+t&&s+n+i>=r&&s<=r+m+i){if(!g.appeared){g.trigger("appear",c.data)}}else{g.appeared=false}};var h=function(){g.appeared=true;if(c.one){f.unbind("scroll",e);var j=a.inArray(e,a.fn.appear.checks);if(j>=0){a.fn.appear.checks.splice(j,1)}}d.apply(this,arguments)};if(c.one){g.one("appear",c.data,h)}else{g.bind("appear",c.data,h)}f.scroll(e);a.fn.appear.checks.push(e);(e)()})};a.extend(a.fn.appear,{checks:[],timeout:null,checkAll:function(){var b=a.fn.appear.checks.length;if(b>0){while(b--){(a.fn.appear.checks[b])()}}},run:function(){if(a.fn.appear.timeout){clearTimeout(a.fn.appear.timeout)}a.fn.appear.timeout=setTimeout(a.fn.appear.checkAll,20)}});a.each(["append","prepend","after","before","attr","removeAttr","addClass","removeClass","toggleClass","remove","css","show","hide"],function(c,d){var b=a.fn[d];if(b){a.fn[d]=function(){var e=b.apply(this,arguments);a.fn.appear.run();return e}}})})(jQuery);
|
|
|
|
/** Parallax
|
|
http://www.ianlunn.co.uk/plugins/jquery-parallax/
|
|
**************************************************************** **/
|
|
!function(n){n.fn.parallax=function(n,t,e){function o(){var o=jQuery(window).scrollTop();r=e?function(n){return n.outerHeight(!0)}:function(n){return n.height()},i.each(function(){var e=jQuery(this),i=e.offset().top,h=r(e);if(!(o>i+h||i>o+window.height)){var l=Math.round((u-o)*t);e.css("backgroundPosition",n+" "+l+"px")}})}var r,u,i=jQuery(this);(arguments.length<1||null===n)&&(n="50%"),(arguments.length<2||null===t)&&(t=.1),(arguments.length<3||null===e)&&(e=!0),i.each(function(){u=i.offset().top,u<window.height&&(u=0)}),jQuery(window).bind("scroll",o).resize(o),o()}}(jQuery);
|
|
|
|
|
|
/** jQuery Easing v1.3
|
|
http://gsgd.co.uk/sandbox/jquery/easing/
|
|
**************************************************************** **/
|
|
jQuery.easing.jswing=jQuery.easing.swing;jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(e,f,a,h,g){return jQuery.easing[jQuery.easing.def](e,f,a,h,g)},easeInQuad:function(e,f,a,h,g){return h*(f/=g)*f+a},easeOutQuad:function(e,f,a,h,g){return -h*(f/=g)*(f-2)+a},easeInOutQuad:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f+a}return -h/2*((--f)*(f-2)-1)+a},easeInCubic:function(e,f,a,h,g){return h*(f/=g)*f*f+a},easeOutCubic:function(e,f,a,h,g){return h*((f=f/g-1)*f*f+1)+a},easeInOutCubic:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f+a}return h/2*((f-=2)*f*f+2)+a},easeInQuart:function(e,f,a,h,g){return h*(f/=g)*f*f*f+a},easeOutQuart:function(e,f,a,h,g){return -h*((f=f/g-1)*f*f*f-1)+a},easeInOutQuart:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f+a}return -h/2*((f-=2)*f*f*f-2)+a},easeInQuint:function(e,f,a,h,g){return h*(f/=g)*f*f*f*f+a},easeOutQuint:function(e,f,a,h,g){return h*((f=f/g-1)*f*f*f*f+1)+a},easeInOutQuint:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f*f+a}return h/2*((f-=2)*f*f*f*f+2)+a},easeInSine:function(e,f,a,h,g){return -h*Math.cos(f/g*(Math.PI/2))+h+a},easeOutSine:function(e,f,a,h,g){return h*Math.sin(f/g*(Math.PI/2))+a},easeInOutSine:function(e,f,a,h,g){return -h/2*(Math.cos(Math.PI*f/g)-1)+a},easeInExpo:function(e,f,a,h,g){return(f==0)?a:h*Math.pow(2,10*(f/g-1))+a},easeOutExpo:function(e,f,a,h,g){return(f==g)?a+h:h*(-Math.pow(2,-10*f/g)+1)+a},easeInOutExpo:function(e,f,a,h,g){if(f==0){return a}if(f==g){return a+h}if((f/=g/2)<1){return h/2*Math.pow(2,10*(f-1))+a}return h/2*(-Math.pow(2,-10*--f)+2)+a},easeInCirc:function(e,f,a,h,g){return -h*(Math.sqrt(1-(f/=g)*f)-1)+a},easeOutCirc:function(e,f,a,h,g){return h*Math.sqrt(1-(f=f/g-1)*f)+a},easeInOutCirc:function(e,f,a,h,g){if((f/=g/2)<1){return -h/2*(Math.sqrt(1-f*f)-1)+a}return h/2*(Math.sqrt(1-(f-=2)*f)+1)+a},easeInElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}return -(g*Math.pow(2,10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j))+e},easeOutElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}return g*Math.pow(2,-10*h)*Math.sin((h*k-i)*(2*Math.PI)/j)+l+e},easeInOutElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k/2)==2){return e+l}if(!j){j=k*(0.3*1.5)}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}if(h<1){return -0.5*(g*Math.pow(2,10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j))+e}return g*Math.pow(2,-10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j)*0.5+l+e},easeInBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}return i*(f/=h)*f*((g+1)*f-g)+a},easeOutBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}return i*((f=f/h-1)*f*((g+1)*f+g)+1)+a},easeInOutBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}if((f/=h/2)<1){return i/2*(f*f*(((g*=(1.525))+1)*f-g))+a}return i/2*((f-=2)*f*(((g*=(1.525))+1)*f+g)+2)+a},easeInBounce:function(e,f,a,h,g){return h-jQuery.easing.easeOutBounce(e,g-f,0,h,g)+a},easeOutBounce:function(e,f,a,h,g){if((f/=g)<(1/2.75)){return h*(7.5625*f*f)+a}else{if(f<(2/2.75)){return h*(7.5625*(f-=(1.5/2.75))*f+0.75)+a}else{if(f<(2.5/2.75)){return h*(7.5625*(f-=(2.25/2.75))*f+0.9375)+a}else{return h*(7.5625*(f-=(2.625/2.75))*f+0.984375)+a}}}},easeInOutBounce:function(e,f,a,h,g){if(f<g/2){return jQuery.easing.easeInBounce(e,f*2,0,h,g)*0.5+a}return jQuery.easing.easeOutBounce(e,f*2-g,0,h,g)*0.5+h*0.5+a}});
|
|
|
|
/** WOW - v1.0.3 - 2015-01-14
|
|
http://mynameismatthieu.com/WOW/
|
|
**************************************************************** **/
|
|
(function(){var a,b,c,d,e,f=function(a,b){return function(){return a.apply(b,arguments)}},g=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};b=function(){function a(){}return a.prototype.extend=function(a,b){var c,d;for(c in b)d=b[c],null==a[c]&&(a[c]=d);return a},a.prototype.isMobile=function(a){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a)},a.prototype.addEvent=function(a,b,c){return null!=a.addEventListener?a.addEventListener(b,c,!1):null!=a.attachEvent?a.attachEvent("on"+b,c):a[b]=c},a.prototype.removeEvent=function(a,b,c){return null!=a.removeEventListener?a.removeEventListener(b,c,!1):null!=a.detachEvent?a.detachEvent("on"+b,c):delete a[b]},a.prototype.innerHeight=function(){return"innerHeight"in window?window.innerHeight:document.documentElement.clientHeight},a}(),c=this.WeakMap||this.MozWeakMap||(c=function(){function a(){this.keys=[],this.values=[]}return a.prototype.get=function(a){var b,c,d,e,f;for(f=this.keys,b=d=0,e=f.length;e>d;b=++d)if(c=f[b],c===a)return this.values[b]},a.prototype.set=function(a,b){var c,d,e,f,g;for(g=this.keys,c=e=0,f=g.length;f>e;c=++e)if(d=g[c],d===a)return void(this.values[c]=b);return this.keys.push(a),this.values.push(b)},a}()),a=this.MutationObserver||this.WebkitMutationObserver||this.MozMutationObserver||(a=function(){function a(){"undefined"!=typeof console&&null!==console&&console.warn("MutationObserver is not supported by your browser."),"undefined"!=typeof console&&null!==console&&console.warn("WOW.js cannot detect dom mutations, please call .sync() after loading new content.")}return a.notSupported=!0,a.prototype.observe=function(){},a}()),d=this.getComputedStyle||function(a){return this.getPropertyValue=function(b){var c;return"float"===b&&(b="styleFloat"),e.test(b)&&b.replace(e,function(a,b){return b.toUpperCase()}),(null!=(c=a.currentStyle)?c[b]:void 0)||null},this},e=/(\-([a-z]){1})/g,this.WOW=function(){function e(a){null==a&&(a={}),this.scrollCallback=f(this.scrollCallback,this),this.scrollHandler=f(this.scrollHandler,this),this.start=f(this.start,this),this.scrolled=!0,this.config=this.util().extend(a,this.defaults),this.animationNameCache=new c}return e.prototype.defaults={boxClass:"wow",animateClass:"animated",offset:0,mobile:!0,live:!0,callback:null},e.prototype.init=function(){var a;return this.element=window.document.documentElement,"interactive"===(a=document.readyState)||"complete"===a?this.start():this.util().addEvent(document,"DOMContentLoaded",this.start),this.finished=[]},e.prototype.start=function(){var b,c,d,e;if(this.stopped=!1,this.boxes=function(){var a,c,d,e;for(d=this.element.querySelectorAll("."+this.config.boxClass),e=[],a=0,c=d.length;c>a;a++)b=d[a],e.push(b);return e}.call(this),this.all=function(){var a,c,d,e;for(d=this.boxes,e=[],a=0,c=d.length;c>a;a++)b=d[a],e.push(b);return e}.call(this),this.boxes.length)if(this.disabled())this.resetStyle();else for(e=this.boxes,c=0,d=e.length;d>c;c++)b=e[c],this.applyStyle(b,!0);return this.disabled()||(this.util().addEvent(window,"scroll",this.scrollHandler),this.util().addEvent(window,"resize",this.scrollHandler),this.interval=setInterval(this.scrollCallback,50)),this.config.live?new a(function(a){return function(b){var c,d,e,f,g;for(g=[],e=0,f=b.length;f>e;e++)d=b[e],g.push(function(){var a,b,e,f;for(e=d.addedNodes||[],f=[],a=0,b=e.length;b>a;a++)c=e[a],f.push(this.doSync(c));return f}.call(a));return g}}(this)).observe(document.body,{childList:!0,subtree:!0}):void 0},e.prototype.stop=function(){return this.stopped=!0,this.util().removeEvent(window,"scroll",this.scrollHandler),this.util().removeEvent(window,"resize",this.scrollHandler),null!=this.interval?clearInterval(this.interval):void 0},e.prototype.sync=function(){return a.notSupported?this.doSync(this.element):void 0},e.prototype.doSync=function(a){var b,c,d,e,f;if(null==a&&(a=this.element),1===a.nodeType){for(a=a.parentNode||a,e=a.querySelectorAll("."+this.config.boxClass),f=[],c=0,d=e.length;d>c;c++)b=e[c],g.call(this.all,b)<0?(this.boxes.push(b),this.all.push(b),this.stopped||this.disabled()?this.resetStyle():this.applyStyle(b,!0),f.push(this.scrolled=!0)):f.push(void 0);return f}},e.prototype.show=function(a){return this.applyStyle(a),a.className=""+a.className+" "+this.config.animateClass,null!=this.config.callback?this.config.callback(a):void 0},e.prototype.applyStyle=function(a,b){var c,d,e;return d=a.getAttribute("data-wow-duration"),c=a.getAttribute("data-wow-delay"),e=a.getAttribute("data-wow-iteration"),this.animate(function(f){return function(){return f.customStyle(a,b,d,c,e)}}(this))},e.prototype.animate=function(){return"requestAnimationFrame"in window?function(a){return window.requestAnimationFrame(a)}:function(a){return a()}}(),e.prototype.resetStyle=function(){var a,b,c,d,e;for(d=this.boxes,e=[],b=0,c=d.length;c>b;b++)a=d[b],e.push(a.style.visibility="visible");return e},e.prototype.customStyle=function(a,b,c,d,e){return b&&this.cacheAnimationName(a),a.style.visibility=b?"hidden":"visible",c&&this.vendorSet(a.style,{animationDuration:c}),d&&this.vendorSet(a.style,{animationDelay:d}),e&&this.vendorSet(a.style,{animationIterationCount:e}),this.vendorSet(a.style,{animationName:b?"none":this.cachedAnimationName(a)}),a},e.prototype.vendors=["moz","webkit"],e.prototype.vendorSet=function(a,b){var c,d,e,f;f=[];for(c in b)d=b[c],a[""+c]=d,f.push(function(){var b,f,g,h;for(g=this.vendors,h=[],b=0,f=g.length;f>b;b++)e=g[b],h.push(a[""+e+c.charAt(0).toUpperCase()+c.substr(1)]=d);return h}.call(this));return f},e.prototype.vendorCSS=function(a,b){var c,e,f,g,h,i;for(e=d(a),c=e.getPropertyCSSValue(b),i=this.vendors,g=0,h=i.length;h>g;g++)f=i[g],c=c||e.getPropertyCSSValue("-"+f+"-"+b);return c},e.prototype.animationName=function(a){var b;try{b=this.vendorCSS(a,"animation-name").cssText}catch(c){b=d(a).getPropertyValue("animation-name")}return"none"===b?"":b},e.prototype.cacheAnimationName=function(a){return this.animationNameCache.set(a,this.animationName(a))},e.prototype.cachedAnimationName=function(a){return this.animationNameCache.get(a)},e.prototype.scrollHandler=function(){return this.scrolled=!0},e.prototype.scrollCallback=function(){var a;return!this.scrolled||(this.scrolled=!1,this.boxes=function(){var b,c,d,e;for(d=this.boxes,e=[],b=0,c=d.length;c>b;b++)a=d[b],a&&(this.isVisible(a)?this.show(a):e.push(a));return e}.call(this),this.boxes.length||this.config.live)?void 0:this.stop()},e.prototype.offsetTop=function(a){for(var b;void 0===a.offsetTop;)a=a.parentNode;for(b=a.offsetTop;a=a.offsetParent;)b+=a.offsetTop;return b},e.prototype.isVisible=function(a){var b,c,d,e,f;return c=a.getAttribute("data-wow-offset")||this.config.offset,f=window.pageYOffset,e=f+Math.min(this.element.clientHeight,this.util().innerHeight())-c,d=this.offsetTop(a),b=d+a.clientHeight,e>=d&&b>=f},e.prototype.util=function(){return null!=this._util?this._util:this._util=new b},e.prototype.disabled=function(){return!this.config.mobile&&this.util().isMobile(navigator.userAgent)},e}()}).call(this);
|
|
|
|
/** Modernizr 3.3.1
|
|
http://modernizr.com/download/#-csstransforms3d-csstransitions-video-touch-shiv-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load
|
|
**************************************************************** **/
|
|
!function(e,t,n){function r(e,t){return typeof e===t}function o(){var e,t,n,o,i,a,s;for(var l in b)if(b.hasOwnProperty(l)){if(e=[],t=b[l],t.name&&(e.push(t.name.toLowerCase()),t.options&&t.options.aliases&&t.options.aliases.length))for(n=0;n<t.options.aliases.length;n++)e.push(t.options.aliases[n].toLowerCase());for(o=r(t.fn,"function")?t.fn():t.fn,i=0;i<e.length;i++)a=e[i],s=a.split("."),1===s.length?Modernizr[s[0]]=o:(!Modernizr[s[0]]||Modernizr[s[0]]instanceof Boolean||(Modernizr[s[0]]=new Boolean(Modernizr[s[0]])),Modernizr[s[0]][s[1]]=o),C.push((o?"":"no-")+s.join("-"))}}function i(e){var t=w.className,n=Modernizr._config.classPrefix||"";if(S&&(t=t.baseVal),Modernizr._config.enableJSClass){var r=new RegExp("(^|\\s)"+n+"no-js(\\s|$)");t=t.replace(r,"$1"+n+"js$2")}Modernizr._config.enableClasses&&(t+=" "+n+e.join(" "+n),S?w.className.baseVal=t:w.className=t)}function a(){return"function"!=typeof t.createElement?t.createElement(arguments[0]):S?t.createElementNS.call(t,"http://www.w3.org/2000/svg",arguments[0]):t.createElement.apply(t,arguments)}function s(e,t){if("object"==typeof e)for(var n in e)N(e,n)&&s(n,e[n]);else{e=e.toLowerCase();var r=e.split("."),o=Modernizr[r[0]];if(2==r.length&&(o=o[r[1]]),"undefined"!=typeof o)return Modernizr;t="function"==typeof t?t():t,1==r.length?Modernizr[r[0]]=t:(!Modernizr[r[0]]||Modernizr[r[0]]instanceof Boolean||(Modernizr[r[0]]=new Boolean(Modernizr[r[0]])),Modernizr[r[0]][r[1]]=t),i([(t&&0!=t?"":"no-")+r.join("-")]),Modernizr._trigger(e,t)}return Modernizr}function l(e){return e.replace(/([a-z])-([a-z])/g,function(e,t,n){return t+n.toUpperCase()}).replace(/^-/,"")}function c(e,t){return!!~(""+e).indexOf(t)}function u(){var e=t.body;return e||(e=a(S?"svg":"body"),e.fake=!0),e}function f(e,n,r,o){var i,s,l,c,f="modernizr",d=a("div"),p=u();if(parseInt(r,10))for(;r--;)l=a("div"),l.id=o?o[r]:f+(r+1),d.appendChild(l);return i=a("style"),i.type="text/css",i.id="s"+f,(p.fake?p:d).appendChild(i),p.appendChild(d),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(t.createTextNode(e)),d.id=f,p.fake&&(p.style.background="",p.style.overflow="hidden",c=w.style.overflow,w.style.overflow="hidden",w.appendChild(p)),s=n(d,e),p.fake?(p.parentNode.removeChild(p),w.style.overflow=c,w.offsetHeight):d.parentNode.removeChild(d),!!s}function d(e,t){return function(){return e.apply(t,arguments)}}function p(e,t,n){var o;for(var i in e)if(e[i]in t)return n===!1?e[i]:(o=t[e[i]],r(o,"function")?d(o,n||t):o);return!1}function m(e){return e.replace(/([A-Z])/g,function(e,t){return"-"+t.toLowerCase()}).replace(/^ms-/,"-ms-")}function h(t,r){var o=t.length;if("CSS"in e&&"supports"in e.CSS){for(;o--;)if(e.CSS.supports(m(t[o]),r))return!0;return!1}if("CSSSupportsRule"in e){for(var i=[];o--;)i.push("("+m(t[o])+":"+r+")");return i=i.join(" or "),f("@supports ("+i+") { #modernizr { position: absolute; } }",function(e){return"absolute"==getComputedStyle(e,null).position})}return n}function v(e,t,o,i){function s(){f&&(delete A.style,delete A.modElem)}if(i=r(i,"undefined")?!1:i,!r(o,"undefined")){var u=h(e,o);if(!r(u,"undefined"))return u}for(var f,d,p,m,v,g=["modernizr","tspan","samp"];!A.style&&g.length;)f=!0,A.modElem=a(g.shift()),A.style=A.modElem.style;for(p=e.length,d=0;p>d;d++)if(m=e[d],v=A.style[m],c(m,"-")&&(m=l(m)),A.style[m]!==n){if(i||r(o,"undefined"))return s(),"pfx"==t?m:!0;try{A.style[m]=o}catch(y){}if(A.style[m]!=v)return s(),"pfx"==t?m:!0}return s(),!1}function g(e,t,n,o,i){var a=e.charAt(0).toUpperCase()+e.slice(1),s=(e+" "+z.join(a+" ")+a).split(" ");return r(t,"string")||r(t,"undefined")?v(s,t,o,i):(s=(e+" "+T.join(a+" ")+a).split(" "),p(s,t,n))}function y(e,t,r){return g(e,n,n,t,r)}var C=[],b=[],E={_version:"3.3.1",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,t){var n=this;setTimeout(function(){t(n[e])},0)},addTest:function(e,t,n){b.push({name:e,fn:t,options:n})},addAsyncTest:function(e){b.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=E,Modernizr=new Modernizr;var _=E._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" "):["",""];E._prefixes=_;var w=t.documentElement,S="svg"===w.nodeName.toLowerCase();S||!function(e,t){function n(e,t){var n=e.createElement("p"),r=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x<style>"+t+"</style>",r.insertBefore(n.lastChild,r.firstChild)}function r(){var e=C.elements;return"string"==typeof e?e.split(" "):e}function o(e,t){var n=C.elements;"string"!=typeof n&&(n=n.join(" ")),"string"!=typeof e&&(e=e.join(" ")),C.elements=n+" "+e,c(t)}function i(e){var t=y[e[v]];return t||(t={},g++,e[v]=g,y[g]=t),t}function a(e,n,r){if(n||(n=t),f)return n.createElement(e);r||(r=i(n));var o;return o=r.cache[e]?r.cache[e].cloneNode():h.test(e)?(r.cache[e]=r.createElem(e)).cloneNode():r.createElem(e),!o.canHaveChildren||m.test(e)||o.tagUrn?o:r.frag.appendChild(o)}function s(e,n){if(e||(e=t),f)return e.createDocumentFragment();n=n||i(e);for(var o=n.frag.cloneNode(),a=0,s=r(),l=s.length;l>a;a++)o.createElement(s[a]);return o}function l(e,t){t.cache||(t.cache={},t.createElem=e.createElement,t.createFrag=e.createDocumentFragment,t.frag=t.createFrag()),e.createElement=function(n){return C.shivMethods?a(n,e,t):t.createElem(n)},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+r().join().replace(/[\w\-:]+/g,function(e){return t.createElem(e),t.frag.createElement(e),'c("'+e+'")'})+");return n}")(C,t.frag)}function c(e){e||(e=t);var r=i(e);return!C.shivCSS||u||r.hasCSS||(r.hasCSS=!!n(e,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),f||l(e,r),e}var u,f,d="3.7.3",p=e.html5||{},m=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,h=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,v="_html5shiv",g=0,y={};!function(){try{var e=t.createElement("a");e.innerHTML="<xyz></xyz>",u="hidden"in e,f=1==e.childNodes.length||function(){t.createElement("a");var e=t.createDocumentFragment();return"undefined"==typeof e.cloneNode||"undefined"==typeof e.createDocumentFragment||"undefined"==typeof e.createElement}()}catch(n){u=!0,f=!0}}();var C={elements:p.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:d,shivCSS:p.shivCSS!==!1,supportsUnknownElements:f,shivMethods:p.shivMethods!==!1,type:"default",shivDocument:c,createElement:a,createDocumentFragment:s,addElements:o};e.html5=C,c(t),"object"==typeof module&&module.exports&&(module.exports=C)}("undefined"!=typeof e?e:this,t);var x="Moz O ms Webkit",T=E._config.usePrefixes?x.toLowerCase().split(" "):[];E._domPrefixes=T;var P=function(){function e(e,t){var o;return e?(t&&"string"!=typeof t||(t=a(t||"div")),e="on"+e,o=e in t,!o&&r&&(t.setAttribute||(t=a("div")),t.setAttribute(e,""),o="function"==typeof t[e],t[e]!==n&&(t[e]=n),t.removeAttribute(e)),o):!1}var r=!("onblur"in t.documentElement);return e}();E.hasEvent=P,Modernizr.addTest("video",function(){var e=a("video"),t=!1;try{(t=!!e.canPlayType)&&(t=new Boolean(t),t.ogg=e.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),t.h264=e.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),t.webm=e.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,""),t.vp9=e.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,""),t.hls=e.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,""))}catch(n){}return t});var N;!function(){var e={}.hasOwnProperty;N=r(e,"undefined")||r(e.call,"undefined")?function(e,t){return t in e&&r(e.constructor.prototype[t],"undefined")}:function(t,n){return e.call(t,n)}}(),E._l={},E.on=function(e,t){this._l[e]||(this._l[e]=[]),this._l[e].push(t),Modernizr.hasOwnProperty(e)&&setTimeout(function(){Modernizr._trigger(e,Modernizr[e])},0)},E._trigger=function(e,t){if(this._l[e]){var n=this._l[e];setTimeout(function(){var e,r;for(e=0;e<n.length;e++)(r=n[e])(t)},0),delete this._l[e]}},Modernizr._q.push(function(){E.addTest=s});var j="CSS"in e&&"supports"in e.CSS,k="supportsCSS"in e;Modernizr.addTest("supports",j||k);var z=E._config.usePrefixes?x.split(" "):[];E._cssomPrefixes=z;var F=function(t){var r,o=_.length,i=e.CSSRule;if("undefined"==typeof i)return n;if(!t)return!1;if(t=t.replace(/^@/,""),r=t.replace(/-/g,"_").toUpperCase()+"_RULE",r in i)return"@"+t;for(var a=0;o>a;a++){var s=_[a],l=s.toUpperCase()+"_"+r;if(l in i)return"@-"+s.toLowerCase()+"-"+t}return!1};E.atRule=F;var L=E.testStyles=f,$={elem:a("modernizr")};Modernizr._q.push(function(){delete $.elem});var A={style:$.elem.style};Modernizr._q.unshift(function(){delete A.style});E.testProp=function(e,t,r){return v([e],n,t,r)};E.testAllProps=g;E.prefixed=function(e,t,n){return 0===e.indexOf("@")?F(e):(-1!=e.indexOf("-")&&(e=l(e)),t?g(e,t,n):g(e,"pfx"))};E.testAllProps=y,Modernizr.addTest("csstransitions",y("transition","all",!0)),Modernizr.addTest("csstransforms3d",function(){var e=!!y("perspective","1px",!0),t=Modernizr._config.usePrefixes;if(e&&(!t||"webkitPerspective"in w.style)){var n,r="#modernizr{width:0;height:0}";Modernizr.supports?n="@supports (perspective: 1px)":(n="@media (transform-3d)",t&&(n+=",(-webkit-transform-3d)")),n+="{#modernizr{width:7px;height:18px;margin:0;padding:0;border:0}}",L(r+n,function(t){e=7===t.offsetWidth&&18===t.offsetHeight})}return e}),o(),i(C),delete E.addTest,delete E.addAsyncTest;for(var M=0;M<Modernizr._q.length;M++)Modernizr._q[M]();e.Modernizr=Modernizr}(window,document);
|