/*
JS/jQUERY FOR LAYOUT 490
Steve @ Build Your Firm
5/24/2019
*/

// I. FIXED NAVBAR
$(function() {
  var navpos = $('#header-logo').offset();
  function fixNav() {
    if ($(window).scrollTop() > navpos.top) {
      $('#header-logo').addClass('fixed-top');
      var $headerHeight = $('#header-logo').outerHeight() + "px";
      $('header').css({'paddingBottom': $headerHeight});
    } else {
      $('#header-logo').removeClass('fixed-top');
      $('header').css({'paddingBottom': 0});
    }
  }
  fixNav();
  $(window).bind('scroll', function() {
    fixNav();
  });
});

// II. CAROUSEL SLIDER SPEED
$(function() {
  $("#myCarousel, #myTestimonials").carousel({
    interval: 3500
  });
});

// III. SCROLL TOP
var scrollIcon = $("#scroll-icon");
var iconHeight = scrollIcon.height();
$(window).scroll(function() {
var window = $(this);
var footerHeight = $("footer").outerHeight();
  if ($(this).scrollTop() > 150 ) {
    scrollIcon.css({opacity: "1", visibility: "visible"});
  } else {
    scrollIcon.css({opacity: "0", visibility: "hidden"});
  }
  if (window.scrollTop() >= $(document).height() - window.height() - footerHeight + iconHeight + 60) {
    scrollIcon.addClass("footer");
  } else {
    scrollIcon.removeClass("footer");
  }
});
$("#scroll-icon").click(function() {
  $("html,body").animate({scrollTop: 0 }, "1000");
  return false;
});

// IV. NAVBAR SPY
$(".navbar-nav .nav-item:last-of-type").mouseover(function() {
  $(".navbar-nav").mouseleave();
});

$(".navbar-nav .nav-item:not(:last-of-type)").mouseover(function() {
  var currentLink = $(this);
  // calculate offsets
  var leftOffset = currentLink.offset().left - $(".navbar-collapse").offset().left + 5;
  var rightOffset = $(".navbar-collapse").width() - (leftOffset + currentLink.width()) + 8;
  // set position
  $("#navbar-spy").css({"left": leftOffset, "right": rightOffset, "bottom": 0});
});

$(".navbar-nav").mouseleave(function() {
  $("#navbar-spy").css({"bottom": "-6px"});
  setTimeout(function() {
    $("#navbar-spy").css({"left": "", "right": ""});
  }, 205);
});

// V. SERVICE SPY
$("#services a").mouseover(function() {
  var currentLink = $(this);
  $("#service-spy").css({"opacity": 1});
  // calculate offsets
  var leftOffset = currentLink.offset().left - $("#service-track").offset().left;
  var rightOffset =  $("#service-track").width() - (leftOffset + currentLink.children(".service").outerWidth());
  var topOffset = currentLink.offset().top - $("#service-track").offset().top;
  // calculate height
  var spyHeight = currentLink.children(".service").outerHeight();
  // set position and height
  $("#service-spy").css({"left": leftOffset, "right": rightOffset, "top": topOffset, "height": spyHeight});
});

$("#services a").mouseleave(function() {
  $("#service-spy").css({"opacity": 0});
});

// VI. INDUSTRIES SPY
$("#industries a").mouseover(function() {
  var currentLink = $(this);
  $("#industries-spy").css({"opacity": 1});
  // calculate offsets
  var leftOffset = currentLink.offset().left - $("#industries-track").offset().left;
  var rightOffset =  $("#industries-track").width() - (leftOffset + currentLink.children(".industry").outerWidth());
  var topOffset = currentLink.offset().top - $("#industries-track").offset().top;
  // calculate height
  var spyHeight = currentLink.children(".industry").outerHeight();
  // set position and height
  $("#industries-spy").css({"left": leftOffset, "right": rightOffset, "top": topOffset, "height": spyHeight});
});

$("#industries a").mouseleave(function() {
  $("#industries-spy").css({"opacity": 0});
});

// VII. NORMALIZE SLIDER HEIGHTS
$(window).on('load', function() {
  normalizeHeights();
});

$(window).on('resize orientationchange', function () {
  var items = $('#myTestimonials .carousel-item');
  items.each(function() {
    $(this).css('height', 'auto');
  });
  normalizeHeights();
});

function normalizeHeights() {
  var items = $('#myTestimonials .carousel-item'),	heights = [],	tallest;
  items.each(function() {
    heights.push($(this).height());
  });
  tallest = Math.max.apply(null, heights);
  items.each(function() {
    $(this).css('height',tallest + 'px');
  });
}

// VIII. HEADLINER
$(function() {
  var $hasIndex = $("#index");

  if(!$hasIndex[0]) {
    var $innerHeading = $("h1:first-of-type").text();
    if ($innerHeading) {
      var $parentDiv = $("h1:first-of-type").closest("#inner");
      $("h1:first-of-type").remove();
      $("<div id = 'headline'><div class = 'container-fluid'><h1>" + $innerHeading + "</h1></div></div>").insertBefore($parentDiv);
    }
  }
});


// IX. PARALLAX BACKGROUND SCROLL
$(function() {

  function setParallax() {
    var scroll = $(window).scrollTop();
    $('.parallax-bg').each(function() {
      var theElement = $(this);
      var elementTop = theElement.offset().top;
      var elementBottom = theElement.offset().top + theElement.outerHeight();
      var viewportBottom = scroll + $(window).innerHeight();
      if ((viewportBottom > elementTop) && (scroll < elementBottom)){
        var yScroll = .15*(scroll - elementTop) + "px"; // offset
        theElement.css({'background-position':'50% ' + yScroll});
      }
    });
  }
  $(window).on('scroll', function () {
    setParallax();
  }).scroll();
});
