/* ----------------- Start JS Document ----------------- */ var $ = jQuery.noConflict(); // Page Loader $(window).load(function(){ $('#loader').fadeOut(); }); $(document).ready(function($) { "use strict"; /*----------------------------------------------------*/ /* Hidder Header /*----------------------------------------------------*/ var headerEle = function(){ var $headerHeight = $('header').height(); $('.hidden-header').css({ 'height' : $headerHeight + "px" }); }; $(window).load(function () { headerEle(); }); $(window).resize(function () { headerEle(); }); /*----------------------------------------------------*/ /* Nice-Scroll /*----------------------------------------------------*/ $("html").niceScroll({ scrollspeed: 70, mousescrollstep: 38, cursorwidth: 8, cursorborder: 0, cursorcolor: '#333', autohidemode: false, zindex: 999999999, horizrailenabled: false, cursorborderradius: 0, }); /*----------------------------------------------------*/ /* Nav Menu & Search /*----------------------------------------------------*/ $(".nav > li:has(ul)").addClass("drop"); $(".nav > li.drop > ul").addClass("dropdown"); $(".nav > li.drop > ul.dropdown ul").addClass("sup-dropdown"); $('.show-search').click(function() { $('.search-form').fadeIn(300); $('.search-form input').focus(); }); $('.search-form input').blur(function() { $('.search-form').fadeOut(300); }); /*----------------------------------------------------*/ /* Back Top Link /*----------------------------------------------------*/ var offset = 200; var duration = 500; $(window).scroll(function() { if ($(this).scrollTop() > offset) { $('.back-to-top').fadeIn(400); } else { $('.back-to-top').fadeOut(400); } }); $('.back-to-top').click(function(event) { event.preventDefault(); $('html, body').animate({scrollTop: 0}, 600); return false; }) /*----------------------------------------------------*/ /* Sliders & Carousel /*----------------------------------------------------*/ ////------- Touch Slider var time = 4.4, $progressBar, $bar, $elem, isPause, tick, percentTime; $('.touch-slider').each(function(){ var owl = jQuery(this), sliderNav = $(this).attr('data-slider-navigation'), sliderPag = $(this).attr('data-slider-pagination'), sliderProgressBar = $(this).attr('data-slider-progress-bar'); if ( sliderNav == 'false' || sliderNav == '0' ) { var returnSliderNav = false }else { var returnSliderNav = true } if ( sliderPag == 'true' || sliderPag == '1' ) { var returnSliderPag = true }else { var returnSliderPag = false } if ( sliderProgressBar == 'true' || sliderProgressBar == '1' ) { var returnSliderProgressBar = progressBar var returnAutoPlay = false }else { var returnSliderProgressBar = false var returnAutoPlay = true } owl.owlCarousel({ navigation : returnSliderNav, pagination: returnSliderPag, slideSpeed : 400, paginationSpeed : 400, lazyLoad : true, singleItem: true, autoHeight : true, autoPlay: returnAutoPlay, stopOnHover: returnAutoPlay, transitionStyle : "fade", afterInit : returnSliderProgressBar, afterMove : moved, startDragging : pauseOnDragging }); }); function progressBar(elem){ $elem = elem; buildProgressBar(); start(); } function buildProgressBar(){ $progressBar = $("
",{ id:"progressBar" }); $bar = $("
",{ id:"bar" }); $progressBar.append($bar).prependTo($elem); } function start() { percentTime = 0; isPause = false; tick = setInterval(interval, 10); }; function interval() { if(isPause === false){ percentTime += 1 / time; $bar.css({ width: percentTime+"%" }); if(percentTime >= 100){ $elem.trigger('owl.next') } } } function pauseOnDragging(){ isPause = true; } function moved(){ clearTimeout(tick); start(); } ////------- Projects Carousel $(".projects-carousel").owlCarousel({ navigation : true, pagination: false, slideSpeed : 400, stopOnHover: true, autoPlay: 3000, items : 4, itemsDesktopSmall : [900,3], itemsTablet: [600,2], itemsMobile : [479, 1] }); ////------- Testimonials Carousel $(".testimonials-carousel").owlCarousel({ navigation : true, pagination: false, slideSpeed : 2500, stopOnHover: true, autoPlay: 3000, singleItem:true, autoHeight : true, transitionStyle : "fade" }); ////------- Testimonials Carousel $(".fullwidth-projects-carousel").owlCarousel({ navigation : false, pagination: false, slideSpeed : 400, stopOnHover: true, autoPlay: 3000, items : 5, itemsDesktopSmall : [900,3], itemsTablet: [600,2], itemsMobile : [479, 1] }); ////------- Custom Carousel $('.custom-carousel').each(function(){ var owl = jQuery(this), itemsNum = $(this).attr('data-appeared-items'), sliderNavigation = $(this).attr('data-navigation'); if ( sliderNavigation == 'false' || sliderNavigation == '0' ) { var returnSliderNavigation = false }else { var returnSliderNavigation = true } if( itemsNum == 1) { var deskitemsNum = 1; var desksmallitemsNum = 1; var tabletitemsNum = 1; } else if (itemsNum >= 2 && itemsNum < 4) { var deskitemsNum = itemsNum; var desksmallitemsNum = itemsNum - 1; var tabletitemsNum = itemsNum - 1; } else if (itemsNum >= 4 && itemsNum < 8) { var deskitemsNum = itemsNum -1; var desksmallitemsNum = itemsNum - 2; var tabletitemsNum = itemsNum - 3; } else { var deskitemsNum = itemsNum -3; var desksmallitemsNum = itemsNum - 6; var tabletitemsNum = itemsNum - 8; } owl.owlCarousel({ slideSpeed : 300, stopOnHover: true, autoPlay: 3000, navigation : returnSliderNavigation, pagination: false, lazyLoad : true, items : itemsNum, itemsDesktop : [1000,deskitemsNum], itemsDesktopSmall : [900,desksmallitemsNum], itemsTablet: [600,tabletitemsNum], itemsMobile : false, transitionStyle : "goDown", }); }); /*----------------------------------------------------*/ /* Tabs /*----------------------------------------------------*/ $('#myTab a').click(function (e) { e.preventDefault() $(this).tab('show') }) /*----------------------------------------------------*/ /* Css3 Transition /*----------------------------------------------------*/ $('*').each(function(){ if($(this).attr('data-animation')) { var $animationName = $(this).attr('data-animation'), $animationDelay = "delay-"+$(this).attr('data-animation-delay'); $(this).appear(function() { $(this).addClass('animated').addClass($animationName); $(this).addClass('animated').addClass($animationDelay); }); } }); /*----------------------------------------------------*/ /* Pie Charts /*----------------------------------------------------*/ var pieChartClass = 'pieChart', pieChartLoadedClass = 'pie-chart-loaded'; function initPieCharts() { var chart = $('.' + pieChartClass); chart.each(function() { $(this).appear(function() { var $this = $(this), chartBarColor = ($this.data('bar-color')) ? $this.data('bar-color') : "#F54F36", chartBarWidth = ($this.data('bar-width')) ? ($this.data('bar-width')) : 150 if( !$this.hasClass(pieChartLoadedClass) ) { $this.easyPieChart({ animate: 2000, size: chartBarWidth, lineWidth: 2, scaleColor: false, trackColor: "#eee", barColor: chartBarColor, }).addClass(pieChartLoadedClass); } }); }); } initPieCharts(); /*----------------------------------------------------*/ /* Animation Progress Bars /*----------------------------------------------------*/ $("[data-progress-animation]").each(function() { var $this = $(this); $this.appear(function() { var delay = ($this.attr("data-appear-animation-delay") ? $this.attr("data-appear-animation-delay") : 1); if(delay > 1) $this.css("animation-delay", delay + "ms"); setTimeout(function() { $this.animate({width: $this.attr("data-progress-animation")}, 800);}, delay); }, {accX: 0, accY: -50}); }); /*----------------------------------------------------*/ /* Milestone Counter /*----------------------------------------------------*/ jQuery('.milestone-block').each(function() { jQuery(this).appear(function() { var $endNum = parseInt(jQuery(this).find('.milestone-number').text()); jQuery(this).find('.milestone-number').countTo({ from: 0, to: $endNum, speed: 4000, refreshInterval: 60, }); },{accX: 0, accY: 0}); }); /*----------------------------------------------------*/ /* Nivo Lightbox /*----------------------------------------------------*/ $('.lightbox').nivoLightbox({ effect: 'fadeScale', keyboardNav: true, errorMessage: 'The requested content cannot be loaded. Please try again later.' }); /*----------------------------------------------------*/ /* Change Slider Nav Icons /*----------------------------------------------------*/ $('.touch-slider').find('.owl-prev').html(''); $('.touch-slider').find('.owl-next').html(''); $('.touch-carousel, .testimonials-carousel').find('.owl-prev').html(''); $('.touch-carousel, .testimonials-carousel').find('.owl-next').html(''); $('.read-more').append(''); /*----------------------------------------------------*/ /* Tooltips & Fit Vids & Parallax & Text Animations /*----------------------------------------------------*/ $("body").fitVids(); $('.sh-tooltip').tooltip(); $('.bg-parallax').each(function() { $(this).parallax("30%", 0.2); }); $('.tlt').textillate({ loop: true, in: { effect: 'fadeInUp', delayScale: 2, delay: 50, sync: false, shuffle: false, reverse: true, }, out: { effect: 'fadeOutUp', delayScale: 2, delay: 50, sync: false, shuffle: false, reverse: true, }, }); /*----------------------------------------------------*/ /* Sticky Header /*----------------------------------------------------*/ (function() { var docElem = document.documentElement, didScroll = false, changeHeaderOn = 100; document.querySelector( 'header' ); function init() { window.addEventListener( 'scroll', function() { if( !didScroll ) { didScroll = true; setTimeout( scrollPage, 250 ); } }, false ); } function scrollPage() { var sy = scrollY(); if ( sy >= changeHeaderOn ) { $('.top-bar').slideUp(300); $("header").addClass("fixed-header"); $('.navbar-brand').css({ 'padding-top' : 19 + "px", 'padding-bottom' : 19 + "px" }); if (/iPhone|iPod|BlackBerry/i.test(navigator.userAgent) || $(window).width() < 479 ){ $('.navbar-default .navbar-nav > li > a').css({ 'padding-top' : 0 + "px", 'padding-bottom' : 0 + "px" }) }else{ $('.navbar-default .navbar-nav > li > a').css({ 'padding-top' : 20 + "px", 'padding-bottom' : 20 + "px" }) $('.search-side').css({ 'margin-top' : -7 + "px" }); }; } else { $('.top-bar').slideDown(300); $("header").removeClass("fixed-header"); $('.navbar-brand').css({ 'padding-top' : 27 + "px", 'padding-bottom' : 27 + "px" }); if (/iPhone|iPod|BlackBerry/i.test(navigator.userAgent) || $(window).width() < 479 ){ $('.navbar-default .navbar-nav > li > a').css({ 'padding-top' : 0 + "px", 'padding-bottom' : 0 + "px" }) }else{ $('.navbar-default .navbar-nav > li > a').css({ 'padding-top' : 28 + "px", 'padding-bottom' : 28 + "px" }) $('.search-side').css({ 'margin-top' : 0 + "px" }); }; } didScroll = false; } function scrollY() { return window.pageYOffset || docElem.scrollTop; } init(); })(); }); /*----------------------------------------------------*/ /* Portfolio Isotope /*----------------------------------------------------*/ jQuery(window).load(function(){ var $container = $('#portfolio'); $container.isotope({ layoutMode : 'masonry', filter: '*', animationOptions: { duration: 750, easing: 'linear', queue: false, } }); $('.portfolio-filter ul a').click(function(){ var selector = $(this).attr('data-filter'); $container.isotope({ filter: selector, animationOptions: { duration: 750, easing: 'linear', queue: false, } }); return false; }); var $optionSets = $('.portfolio-filter ul'), $optionLinks = $optionSets.find('a'); $optionLinks.click(function(){ var $this = $(this); if ( $this.hasClass('selected') ) { return false; } var $optionSet = $this.parents('.portfolio-filter ul'); $optionSet.find('.selected').removeClass('selected'); $this.addClass('selected'); }); }); /* ----------------- End JS Document ----------------- */ // Styles Switcher JS function setActiveStyleSheet(title) { var i, a, main; for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) { a.disabled = true; if(a.getAttribute("title") == title) a.disabled = false; } } } function getActiveStyleSheet() { var i, a; for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title"); } return null; } function getPreferredStyleSheet() { var i, a; for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("rel").indexOf("alt") == -1 && a.getAttribute("title") ) return a.getAttribute("title"); } return null; } function createCookie(name,value,days) { if (days) { var date = new Date(); date.setTime(date.getTime()+(days*24*60*60*1000)); var expires = "; expires="+date.toGMTString(); } else expires = ""; document.cookie = name+"="+value+expires+"; path=/"; } function readCookie(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; } window.onload = function(e) { var cookie = readCookie("style"); var title = cookie ? cookie : getPreferredStyleSheet(); setActiveStyleSheet(title); } window.onunload = function(e) { var title = getActiveStyleSheet(); createCookie("style", title, 365); } var cookie = readCookie("style"); var title = cookie ? cookie : getPreferredStyleSheet(); setActiveStyleSheet(title); $(document).ready(function(){ // Styles Switcher $(document).ready(function(){ $('.open-switcher').click(function(){ if($(this).hasClass('show-switcher')) { $('.switcher-box').css({'left': 0}); $('.open-switcher').removeClass('show-switcher'); $('.open-switcher').addClass('hide-switcher'); }else if(jQuery(this).hasClass('hide-switcher')) { $('.switcher-box').css({'left': '-212px'}); $('.open-switcher').removeClass('hide-switcher'); $('.open-switcher').addClass('show-switcher'); } }); }); //Top Bar Switcher $(".topbar-style").change(function(){ if( $(this).val() == 1){ $(".top-bar").removeClass("dark-bar"), $(".top-bar").removeClass("color-bar"), $(window).resize(); } else if( $(this).val() == 2){ $(".top-bar").removeClass("color-bar"), $(".top-bar").addClass("dark-bar"), $(window).resize(); } else if( $(this).val() == 3){ $(".top-bar").removeClass("dark-bar"), $(".top-bar").addClass("color-bar"), $(window).resize(); } }); //Layout Switcher $(".layout-style").change(function(){ if( $(this).val() == 1){ $("#container").removeClass("boxed-page"), $(window).resize(); } else{ $("#container").addClass("boxed-page"), $(window).resize(); } }); //Background Switcher $('.switcher-box .bg-list li a').click(function() { var current = $('.switcher-box select[id=layout-style]').find('option:selected').val(); if(current == '2') { var bg = $(this).css("backgroundImage"); $("body").css("backgroundImage",bg); } else { alert('Please select boxed layout'); } }); });