Files
dev-chiefworks 79b8160920 send emsil
2023-04-15 11:31:29 -04:00

383 lines
8.5 KiB
JavaScript

/*jshint jquery:true */
/*global $:true */
var $ = jQuery.noConflict();
$(document).ready(function($) {
"use strict";
/*-------------------------------------------------*/
/* = portfolio isotope
/*-------------------------------------------------*/
var winDow = $(window);
// Needed variables
var $container=$('.portfolio-container');
var $filter=$('.filter');
try{
$container.imagesLoaded( function(){
$container.show();
$container.isotope({
filter:'*',
layoutMode:'masonry',
animationOptions:{
duration:750,
easing:'linear'
}
});
});
} catch(err) {
}
winDow.bind('resize', function(){
var selector = $filter.find('a.active').attr('data-filter');
try {
$container.isotope({
filter : selector,
animationOptions: {
duration: 750,
easing : 'linear',
queue : false,
}
});
} catch(err) {
}
return false;
});
// Isotope Filter
$filter.find('a').click(function(){
var selector = $(this).attr('data-filter');
try {
$container.isotope({
filter : selector,
animationOptions: {
duration: 750,
easing : 'linear',
queue : false,
}
});
} catch(err) {
}
return false;
});
var filterItemA = $('.filter li a');
filterItemA.on('click', function(){
var $this = $(this);
if ( !$this.hasClass('active')) {
filterItemA.removeClass('active');
$this.addClass('active');
}
});
/*-------------------------------------------------*/
/* = smooth scroll in chrome
/*-------------------------------------------------*/
try {
$.browserSelector();
// Adds window smooth scroll on chrome.
if($("html").hasClass("chrome")) {
$.smoothScroll();
}
} catch(err) {
}
/*-------------------------------------------------*/
/* = Scroll to TOP
/*-------------------------------------------------*/
var animateTopButton = $('.go-top'),
htmBody = $('html, body');
animateTopButton.click(function(){
htmBody.animate({scrollTop: 0}, 'slow');
return false;
});
/*-------------------------------------------------*/
/* = flexslider
/*-------------------------------------------------*/
try {
var SliderPost = $('.flexslider');
SliderPost.flexslider({
animation: "fade",
slideshowSpeed: 4500
});
} catch(err) {
}
/* ---------------------------------------------------------------------- */
/* Contact Map
/* ---------------------------------------------------------------------- */
var contact = {"lat":"33.83261", "lon":"-84.613493"}; //Change a map coordinate here!
try {
var mapContainer = $('.map');
mapContainer.gmap3({
action: 'addMarker',
latLng: [contact.lat, contact.lon],
map:{
center: [contact.lat, contact.lon],
zoom: 14
},
},
{action: 'setOptions', args:[{scrollwheel:false}]}
);
} catch(err) {
}
/* ---------------------------------------------------------------------- */
/* magnific-popup
/* ---------------------------------------------------------------------- */
try {
// Example with multiple objects
$('.zoom').magnificPopup({
type: 'image'
});
} catch(err) {
}
try {
// Example with multiple objects
$('.zoom.video').magnificPopup({
type: 'iframe'
});
} catch(err) {
}
/* ---------------------------------------------------------------------- */
/* Accordion
/* ---------------------------------------------------------------------- */
var clickElem = $('a.accord-link');
clickElem.on('click', function(e){
e.preventDefault();
var $this = $(this),
parentCheck = $this.parents('.accord-elem'),
accordItems = $('.accord-elem'),
accordContent = $('.accord-content');
if( !parentCheck.hasClass('active')) {
accordContent.slideUp(400, function(){
accordItems.removeClass('active');
});
parentCheck.find('.accord-content').slideDown(400, function(){
parentCheck.addClass('active');
});
} else {
accordContent.slideUp(400, function(){
accordItems.removeClass('active');
});
}
});
/* ---------------------------------------------------------------------- */
/* Tabs
/* ---------------------------------------------------------------------- */
var clickTab = $('.tab-links li a');
clickTab.on('click', function(e){
e.preventDefault();
var $this = $(this),
hisIndex = $this.parent('li').index(),
tabCont = $('.tab-content'),
tabContIndex = $(".tab-content:eq(" + hisIndex + ")");
if( !$this.hasClass('active')) {
clickTab.removeClass('active');
$this.addClass('active');
tabCont.fadeOut(400);
tabCont.removeClass('active');
tabContIndex.delay(400).fadeIn(400);
tabContIndex.addClass('active');
}
});
/*-------------------------------------------------*/
/* = slider Testimonial
/*-------------------------------------------------*/
var slidertestimonial = $('.bxslider');
try{
slidertestimonial.bxSlider({
mode: 'vertical'
});
} catch(err) {
}
/*-------------------------------------------------*/
/* = skills animate
/*-------------------------------------------------*/
var animateElement = $(".meter > span");
animateElement.each(function() {
$(this)
.data("origWidth", $(this).width())
.width(0)
.animate({
width: $(this).data("origWidth")
}, 1200);
});
/*-------------------------------------------------*/
/* = Shop accordion
/*-------------------------------------------------*/
var AccordElement = $('a.accordion-link');
AccordElement.on('click', function(e){
e.preventDefault();
var elemSlide = $(this).parent('li').find('.accordion-list-content');
if( !$(this).hasClass('active') ) {
$(this).addClass('active');
elemSlide.slideDown(200);
} else {
$(this).removeClass('active');
elemSlide.slideUp(200);
}
});
/*-------------------------------------------------*/
/* = price range code
/*-------------------------------------------------*/
try {
for( var i = 100; i <= 10000; i++ ){
$('#start-val').append(
'<option value="' + i + '">' + i + '</option>'
);
}
// Initialise noUiSlider
$('.noUiSlider').noUiSlider({
range: [0,1600],
start: [0,1000],
handles: 2,
connect: true,
step: 1,
serialization: {
to: [ $('#start-val'),
$('#end-val') ],
resolution: 1
}
});
} catch(err) {
}
/*-------------------------------------------------*/
/* = Carosells
/*-------------------------------------------------*/
try {
$('.carousel').carousel({
interval: false
});
} catch(err) {
}
/*-------------------------------------------------*/
/* = Single page
/*-------------------------------------------------*/
var windowHeight = $(window).height();
$('.home-box').css('height', windowHeight);
$(window).resize(function(){
var windowHeight = $(window).height();
$('.home-box').css('height', windowHeight);
});
/* ---------------------------------------------------------------------- */
/* Contact Form
/* ---------------------------------------------------------------------- */
var submitContact = $('#submit_contact'),
message = $('#msg');
submitContact.on('click', function(e){
e.preventDefault();
var $this = $(this);
$.ajax({
type: "POST",
url: 'contact',
dataType: 'json',
cache: false,
data: $('#contact-form').serialize(),
success: function(data) {
if(data.info !== 'error'){
$this.parents('form').find('input[type=text],textarea,select').filter(':visible').val('');
message.hide().removeClass('success').removeClass('error').addClass('success').html(data.msg).fadeIn('slow').delay(5000).fadeOut('slow');
} else {
message.hide().removeClass('success').removeClass('error').addClass('error').html(data.msg).fadeIn('slow').delay(5000).fadeOut('slow');
}
}
});
});
/* ---------------------------------------------------------------------- */
/* Header animate after scroll
/* ---------------------------------------------------------------------- */
(function() {
var docElem = document.documentElement,
didScroll = false,
changeHeaderOn = 200;
document.querySelector( 'header, .fixed-link-top' );
function init() {
window.addEventListener( 'scroll', function() {
if( !didScroll ) {
didScroll = true;
setTimeout( scrollPage, 250 );
}
}, false );
}
function scrollPage() {
var sy = scrollY();
if ( sy >= changeHeaderOn ) {
$( 'header, .fixed-link-top' ).addClass('active');
}
else {
$( 'header, .fixed-link-top' ).removeClass('active');
}
didScroll = false;
}
function scrollY() {
return window.pageYOffset || docElem.scrollTop;
}
init();
})();
});