jQuery(window).ready(function () {
Epona();
});
function Epona() {
jQuery.browserDetect();
_topNav();
_animate();
_owl_carousel();
_popover();
_lightbox();
_scrollTo();
_parallax();
_masonry();
_toggle();
_bgimage();
_quickCart();
_placeholder();
_wrotate();
_misc();
_datepicker();
_colorpicker();
_newsletterSubscribe();
_htmlEditor();
if(jQuery("html").hasClass("chrome") && jQuery("body").hasClass("smoothscroll")) {
jQuery.smoothScroll();
}
jQuery("a[data-toggle=tooltip], span[data-toggle=tooltip]").tooltip();
jQuery(document).bind("click", function() {
if(jQuery("div.navbar-collapse").hasClass('in')) {
jQuery("button.btn-mobile").trigger('click');
}
});
jQuery("li.list-toggle").bind("click", function() {
jQuery(this).toggleClass("active");
});
if(jQuery('html').hasClass('ie') && jQuery('body').hasClass('boxed')) {} else {
if(jQuery('#header.sticky').hasClass('has-slider')) {
var _stickyMath = jQuery(".slider").outerHeight(true) + jQuery("#header").outerHeight(true);
} else {
var _stickyMath = jQuery("#header").outerHeight(true);
}
jQuery('#header.sticky').affix({
offset: {
top: _stickyMath
},
bottom: function () {
return (this.bottom = jQuery('#footer').outerHeight(true))
}
});
}
}
function _topNav() {
window.scrollTop = 0;
jQuery(window).scroll(function() {
_toTop();
});
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;
});
// Drop Downs - do not hide on click
jQuery("#topMain li.dropdown, #topMain a.dropdown-toggle").bind("click", function(e) {
e.stopPropagation();
});
// IE11 Bugfix
// Version 1.1
// Wednesday, July 23, 2014
if(jQuery("html").hasClass("ie") || jQuery("html").hasClass("ff3")) {
jQuery("#topNav ul.nav > li.mega-menu div").addClass('block');
jQuery("#topNav ul.nav > li.mega-menu div div").addClass('pull-left');
}
}
function _animate() {
// Animation [appear]
jQuery("[data-animation]").each(function() {
var _t = jQuery(this);
if(jQuery(window).width() > 767) {
_t.appear(function() {
var delay = (_t.attr("data-animation-delay") ? _t.attr("data-animation-delay") : 1);
if(delay > 1) _t.css("animation-delay", delay + "ms");
_t.addClass(_t.attr("data-animation"));
setTimeout(function() {
_t.addClass("animation-visible");
}, delay);
}, {accX: 0, accY: -50});
} else {
_t.addClass("animation-visible");
}
});
// Bootstrap Progress Bar
jQuery("[data-appear-progress-animation]").each(function() {
var $_t = jQuery(this);
if(jQuery(window).width() > 767) {
$_t.appear(function() {
_delay = 1;
if($_t.attr("data-appear-progress-animation-delay")) {
_delay = $_t.attr("data-appear-progress-animation-delay");
}
if(_delay > 1) {
$_t.css("animation-delay", _delay + "ms");
}
$_t.addClass($_t.attr("data-appear-progress-animation"));
setTimeout(function() {
$_t.addClass("animation-visible");
}, _delay);
}, {accX: 0, accY: -50});
} else {
$_t.addClass("animation-visible");
}
});
jQuery("[data-appear-progress-animation]").each(function() {
var $_t = jQuery(this);
$_t.appear(function() {
var _delay = ($_t.attr("data-appear-animation-delay") ? $_t.attr("data-appear-animation-delay"): 1);
if(_delay > 1) {
$_t.css("animation-delay", _delay + "ms");
}
$_t.addClass($_t.attr("data-appear-animation"));
setTimeout(function() {
$_t.animate({"width": $_t.attr("data-appear-progress-animation")}, 1000, "easeOutQuad", function() {
$_t.find(".progress-bar-tooltip").animate({"opacity": 1}, 500, "easeOutQuad");
});
}, _delay);
}, {accX: 0, accY: -25});
});
// Count To
jQuery(".countTo [data-to]").each(function() {
var $_t = jQuery(this);
$_t.appear(function() {
$_t.countTo();
}, {accX:0, accY: -50});
});
if(jQuery().knob) {
jQuery(".knob").knob();
}
jQuery('.animate_from_top').each(function () {
jQuery(this).appear(function() {
jQuery(this).delay(150).animate({opacity:1,top:"0px"},1000);
});
});
jQuery('.animate_from_bottom').each(function () {
jQuery(this).appear(function() {
jQuery(this).delay(150).animate({opacity:1,bottom:"0px"},1000);
});
});
jQuery('.animate_from_left').each(function () {
jQuery(this).appear(function() {
jQuery(this).delay(150).animate({opacity:1,left:"0px"},1000);
});
});
jQuery('.animate_from_right').each(function () {
jQuery(this).appear(function() {
jQuery(this).delay(150).animate({opacity:1,right:"0px"},1000);
});
});
jQuery('.animate_fade_in').each(function () {
jQuery(this).appear(function() {
jQuery(this).delay(350).animate({opacity:1,right:"0px"},1000);
});
});
}
function _owl_carousel() {
var total = jQuery("div.owl-carousel").length,
count = 0;
jQuery("div.owl-carousel").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: [
'',
''
],
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 = $("
",{
id:"progressBar"
});
$bar = $("
",{
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();
}
});
}
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('');
$('.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();
}
function _lightbox() {
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!'
}
});
jQuery(".lightbox").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',
image: {
verticalFit: true
},
zoom: {
enabled: false,
duration: 300
},
gallery: {
enabled: false,
navigateByImgClick: true,
preload: [0,1],
arrowMarkup: '',
tPrev: 'Previou',
tNext: 'Next',
tCounter: '%curr% / %total%'
},
};
if(_t.data("plugin-options")) {
config = jQuery.extend({}, defaults, options, _t.data("plugin-options"));
}
jQuery(this).magnificPopup(config);
});
}
function _scrollTo() {
jQuery("a.scrollTo").bind("click", function(e) {
e.preventDefault();
var href = jQuery(this).attr('href');
if(href != '#') {
jQuery('html,body').animate({scrollTop: jQuery(href).offset().top}, 800, 'easeInOutExpo');
}
});
jQuery("a#toTop").bind("click", function(e) {
e.preventDefault();
jQuery('html,body').animate({scrollTop: 0}, 800, 'easeInOutExpo');
});
}
function _parallax() {
if(jQuery().parallax) {
jQuery(".parallax.parallax-default").css("background-attachment", "fixed");
jQuery(".parallax.parallax-default").parallax("50%", "0.4");
jQuery(".parallax.parallax-1").css("background-attachment", "fixed");
jQuery(".parallax.parallax-1").parallax("50%", "0.4");
jQuery(".parallax.parallax-2").css("background-attachment", "fixed");
jQuery(".parallax.parallax-2").parallax("50%", "0.4");
jQuery(".parallax.parallax-3").css("background-attachment", "fixed");
jQuery(".parallax.parallax-3").parallax("50%", "0.4");
jQuery(".parallax.parallax-4").css("background-attachment", "fixed");
jQuery(".parallax.parallax-4").parallax("50%", "0.4");
jQuery("#home div.slider").css("background-attachment", "fixed");
jQuery("#home div.slider").parallax("50%", "0.4");
}
}
function _masonry() {
jQuery(window).load(function() {
jQuery("span.js_loader").remove();
jQuery("li.masonry-item").addClass('fadeIn');
jQuery(".masonry-list").each(function() {
var _c = jQuery(this);
_c.waitForImages(function() { // waitForImages Plugin - bottom of this file
_c.masonry({
itemSelector: '.masonry-item'
});
});
});
});
jQuery("ul.isotope-filter").each(function() {
var _el = jQuery(this),
destination = jQuery("ul.sort-destination[data-sort-id=" + jQuery(this).attr("data-sort-id") + "]");
if(destination.get(0)) {
jQuery(window).load(function() {
destination.isotope({
itemSelector: "li",
layoutMode: 'sloppyMasonry'
});
_el.find("a").click(function(e) {
e.preventDefault();
var $_t = jQuery(this),
sortId = $_t.parents(".sort-source").attr("data-sort-id"),
filter = $_t.parent().attr("data-option-value");
_el.find("li.active").removeClass("active");
$_t.parent().addClass("active");
destination.isotope({
filter: filter
});
jQuery(".sort-source-title[data-sort-id=" + sortId + "] strong").html($_t.html());
return false;
});
});
}
});
jQuery(window).load(function() {
jQuery("ul.isotope").addClass('fadeIn');
});
}
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);
}
});
}
function _bgimage() {
if(jQuery('body').hasClass('boxed')) {
backgroundImageSwitch();
}
function backgroundImageSwitch() {
var data_background = jQuery('body').attr('data-background');
if(data_background) {
jQuery.backstretch(data_background);
jQuery('body').addClass('transparent'); // remove backround color of boxed class
}
}
}
function _quickCart() {
jQuery('li.quick-cart').bind("click", function() {
jQuery('li.quick-cart .quick-cart-content').bind("click", function(e) {
e.stopPropagation();
});
if(jQuery(this).hasClass('open')) {
disable_overlay();
enable_scroll();
jQuery(this).removeClass('open');
} else {
enable_overlay();
disable_scroll();
jQuery(this).addClass('open');
jQuery('li.search').removeClass('open'); // close search
}
return false;
});
// 'esc' key
jQuery(document).keydown(function(e) {
var code = e.keyCode ? e.keyCode : e.which;
if(code == 27) {
jQuery('li.search, li.quick-cart').removeClass('open');
disable_overlay();
enable_scroll();
}
});
jQuery(document).bind("click", function() {
if(jQuery('li.quick-cart').hasClass('open')) {
jQuery('li.search, li.quick-cart').removeClass('open');
disable_overlay();
enable_scroll();
}
});
}
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();
}
}
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);
});
}
function _misc() {
if(jQuery().flexslider && jQuery("div.flexslider").length > 0) {
jQuery("div.flexslider").flexslider(flex_options);
}
if(jQuery().layerSlider && jQuery("div.layerslider").length > 0) {
jQuery("div.layerslider").each(function() {
jQuery(this).layerSlider(layer_options);
});
}
}
function _datepicker() {
jQuery('.datepicker').daterangepicker({ singleDatePicker: true, format : 'YYYY-MM-DD' }, function(start, end, label) {});
jQuery('.rangepicker').daterangepicker(null, function(start, end, label) {});
}
function _colorpicker() {
jQuery('.colorpicker').colorpicker({format:'rgb'});
jQuery('.colorpicker-element').colorpicker({format:'rgb'});
}
function contactMap() {
var latLang = new google.maps.LatLng($googlemap_latitude,$googlemap_longitude);
var mapOptions = {
zoom:$googlemap_zoom,
center: latLang,
disableDefaultUI: false,
navigationControl: false,
mapTypeControl: false,
scrollwheel: false,
// styles: styles,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('gmap'), mapOptions);
google.maps.event.trigger(map, 'resize');
map.setZoom( map.getZoom() );
var marker = new google.maps.Marker({
icon: 'data:image/png;base64,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',
position: latLang,
map: map,
title: ""
});
marker.setMap(map);
google.maps.event.addListener(marker, "click", function() {
// Add optionally an action for when the marker is clicked
});
// kepp googlemap responsive - center on resize
google.maps.event.addDomListener(window, 'resize', function() {
map.setCenter(latLang);
});
}
function showMap(initWhat) {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://web.archive.org/web/20211222061205/https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=true&callback='+initWhat;
document.body.appendChild(script);
}
// INIT CONTACT, ONLY IF #gmap EXISRS
if(jQuery("#gmap").length > 0) {
showMap('contactMap');
}
function _newsletterSubscribe() {
jQuery("form#newsletterSubscribe button").bind("click", function(e) {
e.preventDefault();
var email = jQuery("form#newsletterSubscribe input").val(), // required
_action = jQuery("#newsletterSubscribe").attr('action'), // form action URL
_method = jQuery("#newsletterSubscribe").attr('method'); // form method
// SEND VIA AJAX
$.ajax({
url: _action,
data: {ajax:"true", action:'newsletter_subscribe', email:email},
type: _method,
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert('Server Internal Error'); // usualy on headers 404
},
success: function(data) {
data = data.trim(); // remove output spaces
// PHP RETURN: Mandatory Fields
if(data == '_required_') {
alert('Please complete all fields!');
} else
// PHP RETURN: INVALID EMAIL
if(data == '_invalid_email_') {
alert('Invalid Email!');
} else
// VALID EMAIL
if(data == '_ok_') {
jQuery("#newsletter_email").val('');
// modal
alert('Thank You!');
} else {
// PHPMAILER ERROR
alert(data);
}
}
});
});
}
function _htmlEditor() {
if(jQuery('textarea.summernote').length > 0 && jQuery().summernote) {
jQuery('textarea.summernote').each(function() {
jQuery(this).summernote({
height: jQuery(this).attr('data-height') || 200,
toolbar: [
['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']]
],
onImageUpload: function(files, editor, welEditable) {
sendFile(files[0], editor, welEditable);
},
onpaste: function(e) {
var thisNote = $(this);
var updatePastedText = function(someNote){
var original = someNote.code();
var cleaned = CleanPastedHTML(original);
//this is where to call whatever clean function you want. I have mine in a different file, called CleanPastedHTML.
someNote.code('').html(cleaned); //this sets the displayed content editor to the cleaned pasted code.
};
setTimeout(function () {
//this kinda sucks, but if you don't do a setTimeout,
//the function is called before the text is really pasted.
updatePastedText(thisNote);
}, 10);
}
});
function sendFile(file, editor, welEditable) {
data = new FormData();
data.append("file", file);
$.ajax({
data: data,
type: "POST",
url: "/ajax/ajax_upload.php",
cache: false,
contentType: false,
processData: false,
success: function(url) {
editor.insertImage(welEditable, url);
}
});
}
});
}
if(jQuery('textarea.markdown').length > 0 && jQuery().markdown) {
jQuery('textarea.markdown').each(function() {
jQuery(this).markdown({
autofocus: false,
savable: false,
height: jQuery(this).attr('data-height') || 'inherit',
language: jQuery(this).attr('data-language') || ''
});
});
}
}
function CleanPastedHTML(input) {
// 1. remove line breaks / Mso classes
var stringStripper = /(\n|\r| class=(")?Mso[a-zA-Z]+(")?)/g;
var output = input.replace(stringStripper, ' ');
// 2. strip Word generated HTML comments
var commentSripper = new RegExp('','g');
var output = output.replace(commentSripper, '');
var tagStripper = new RegExp('<(/)*(meta|link|span|\\?xml:|st1:|o:|font)(.*?)>','gi');
// 3. remove tags leave content if any
output = output.replace(tagStripper, '');
// 4. Remove everything in between and including tags '