mivita/public/assets/js/scripts.js
2025-08-12 18:01:59 +02:00

5268 lines
152 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;
});
// search
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);
}
if (jQuery("#header li.quick-user div.quick-user-box").is(":visible")) {
jQuery("#header li.quick-user div.quick-user-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);
}
if (jQuery("li.quick-user div.quick-user-box").is(":visible")) {
jQuery("li.quick-user div.quick-user-box").fadeOut(300);
}
}
});
//quick user
jQuery("li.quick-user>a").click(function(e) {
e.preventDefault();
var _quick_user_box = jQuery("li.quick-user div.quick-user-box");
if (_quick_user_box.is(":visible")) {
_quick_user_box.fadeOut(300);
} else {
_quick_user_box.fadeIn(300);
// close search if visible
if (jQuery("li.search .search-box").is(":visible")) {
jQuery(".search-box").fadeOut(300);
}
if (jQuery("li.quick-cart div.quick-cart-box").is(":visible")) {
jQuery("li.quick-cart div.quick-cart-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();
});
}
if (jQuery("li.quick-user>a").size() != 0) {
jQuery("li.quick-user").on("click", function(e) {
e.stopPropagation();
});
}
jQuery("body").on("click", function() {
console.log("body click quick-all");
if (jQuery("li.quick-user div.quick-user-box").is(":visible")) {
jQuery("li.quick-user div.quick-user-box").fadeOut(300);
}
if (jQuery("li.quick-cart div.quick-cart-box").is(":visible")) {
jQuery("li.quick-cart div.quick-cart-box").fadeOut(300);
}
});
jQuery(".quick-cart-box-close").on("click", function() {
if (jQuery("li.quick-cart div.quick-cart-box").is(":visible")) {
jQuery("li.quick-cart div.quick-cart-box").fadeOut(300);
}
});
jQuery(".quick-user-box-close").on("click", function() {
if (jQuery("li.quick-user div.quick-user-box").is(":visible")) {
jQuery("li.quick-user div.quick-user-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();
});
}
}
// STICKY
else 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;
}
}
}
});
}
// REVEAL ON SCROLL UP
else 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;
}
}
// STATIC + TRANSPARENT
else 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);
}
if (jQuery("#header li.quick-user div.quick-user-box").is(":visible")) {
jQuery("#header li.quick-user div.quick-user-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">&times;</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: "&laquo;",
nav_label_next: "&raquo;",
});
});
}
}
);
}
}
/** 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") || "&blacktriangle;",
decrementButton:
_t.attr("data-decrementButton") || "&blacktriangledown;",
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") || 0.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]+)/gi, 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 = 0.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);