/*
JS/jQUERY FOR LAYOUT 450
Steve @ Build Your Firm
3/22/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: 4000
  });
});

// III. SCROLL TOP
$(window).scroll(function() {
  if ($(this).scrollTop() > 150 ) {
    $("#scroll-icon").css({opacity: "1", visibility: "visible"});
  } else {
    $("#scroll-icon").css({opacity: "0", visibility: "hidden"});
  }
});
$("#scroll-icon").click(function() {
  $("html,body").animate({scrollTop: 0 }, "1000");
  return false;
});

// IV. NAVBAR SPY
$(".navbar-nav .nav-item, .navbar-nav .nav-item *").mouseover(function() {
  if($(this).is(".navbar-nav .nav-item")) {
    var currentLink = $(this);
  } else {
    var currentLink = $(this).closest("li");
  }
  // calculate offsets
  var leftOffset = currentLink.offset().left - $(".navbar-collapse").offset().left + 5;
  var rightOffset = $(".navbar-collapse").width() - (leftOffset + currentLink.width()) + 8;
  // remove if no highlight
  if(currentLink.is(':last-child')) {
    leftOffset = leftOffset + 80;
    rightOffset = rightOffset + 80;
  }
  // 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. 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');
  });
}

// VII. HEADLINER
$(function() {
  var $hasIndex = $("#index");

  if(!$hasIndex[0]) {
    var $innerHeading = $("h1:first-of-type").text();
    if ($innerHeading) {
      var $parentDiv = $("h1:first-of-type").closest(".container");
      $("h1:first-of-type").remove();
      $("<div id = 'headline'><div class = 'container'><h1>" + $innerHeading + "</h1></div></div>").insertBefore($parentDiv);
    }
  }
});
