var tick = 0;
var scrollStop;

$(document).ready(function(){

  // Navigation
  $('#nav-primary li a, section footer li a, header h1 a, .quick-jump a, #recommendLnk').click(function() {
    $(this).addClass("active");
    var elementClicked = $(this).attr("href");
    var destination = $(elementClicked).offset().top;
    $("html,body").stop().animate({ 
     scrollTop: destination-20
    },5000, 'easeInOutCubic');
    return false;
  });

  // Scroll Position Actions
  var top = $("#top");
    var who = $("#staff3");
    var rates = $("#staff5");
    var samples = $("#staff7");
    var recommend = $("#staff9");
    var contact = $("#staff11");
    var staff2skip = $("#staff2 .quick-jump");
    var staff4skip = $("#staff4 .quick-jump");
    var staff6skip = $("#staff6 .quick-jump");
    var staff8skip = $("#staff8 .quick-jump");
    var staff10skip = $("#staff10 .quick-jump");
  
    function updateScrollInfo()
    {
      tick = 0;
      if(isWho()){
        $('.quick-jump').animate({opacity: "0"}, 500);
        $('#nav-primary li a').removeClass("current");
        $('#nav-primary li.who a').addClass("current");
      } else if (isTop()){
        $('.quick-jump').animate({opacity: "0"}, 500);
          $('#nav-primary li a').removeClass("current");
          $('#nav-primary li.top a').addClass("current");
      }  else if (isRates()){
        $('.quick-jump').animate({opacity: "0"}, 500);
          $('#nav-primary li a').removeClass("current");
          $('#nav-primary li.rates a').addClass("current");
      } else if (isstaff2()){
          $('#staff2 .quick-jump').animate({opacity: "1"},500);
      } else if (isstaff4()){
          $('#staff4 .quick-jump').animate({opacity: "1"},500);
      } else if (isstaff6()){
          $('#staff6 .quick-jump').animate({opacity: "1"},500);
      } else if (isstaff8()){
          $('#staff8 .quick-jump').animate({opacity: "1"},500);
      } else if (isstaff10()){
          $('#staff10 .quick-jump').animate({opacity: "1"},500);
      } else if (isSamples()){
        $('.quick-jump').animate({opacity: "0"}, 500);
          $('#nav-primary li a').removeClass("current");
          $('#nav-primary li.samples a').addClass("current");
      } else if (isRecommend()){
        $('.quick-jump').animate({opacity: "0"}, 500);
          $('#nav-primary li a').removeClass("current");
          $('#nav-primary li.recommend a').addClass("current");
      } else if (isContact()){
        $('.quick-jump').animate({opacity: "0"}, 500);
          $('#nav-primary li a').removeClass("current");
          $('#nav-primary li.contact a').addClass("current");
      }
    }
  
    scrollStop = setTimeout(updateScrollInfo, 500);

  
    $(window).scroll(function(){ 
      tick++;
      clearTimeout(scrollStop);
      scrollStop = setTimeout(updateScrollInfo, 500);
      if (tick > 10)
      {
        updateScrollInfo();
      }
    });

    function isTop() {
        var docViewTop = $(window).scrollTop(),
            docViewBottom = docViewTop + $(window).height(),
            elemTop = $(top).offset().top,
         elemBottom = elemTop + $(top).height();
       //Is more than half of the element visible
       return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom));
    }
  
    function isWho() {
        var docViewTop = $(window).scrollTop(),
            docViewBottom = docViewTop + $(window).height(),
            elemTop = $(who).offset().top,
         elemBottom = elemTop + $(who).height();
       //Is more than half of the element visible
       return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom));
    }
  
    function isRates() {
        var docViewTop = $(window).scrollTop(),
            docViewBottom = docViewTop + $(window).height(),
            elemTop = $(rates).offset().top,
         elemBottom = elemTop + $(rates).height();
       //Is more than half of the element visible
       return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom));
    }
  
    function isstaff2() {
        var docViewTop = $(window).scrollTop(),
            docViewBottom = docViewTop + $(window).height(),
            elemTop = $(staff2skip).offset().top,
         elemBottom = elemTop + $(staff2skip).height();
       //Is more than half of the element visible
        return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom));
    }
  
    function isstaff4() {
        var docViewTop = $(window).scrollTop(),
            docViewBottom = docViewTop + $(window).height(),
            elemTop = $(staff4skip).offset().top,
         elemBottom = elemTop + $(staff4skip).height();
       //Is more than half of the element visible
        return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom));
    }
  
    function isstaff6() {
        var docViewTop = $(window).scrollTop(),
            docViewBottom = docViewTop + $(window).height(),
            elemTop = $(staff6skip).offset().top,
         elemBottom = elemTop + $(staff6skip).height();
       //Is more than half of the element visible
        return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom));
    }
  
    function isstaff8() {
        var docViewTop = $(window).scrollTop(),
            docViewBottom = docViewTop + $(window).height(),
            elemTop = $(staff8skip).offset().top,
         elemBottom = elemTop + $(staff8skip).height();
       //Is more than half of the element visible
        return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom));
    }
  
    function isstaff10() {
        var docViewTop = $(window).scrollTop(),
            docViewBottom = docViewTop + $(window).height(),
            elemTop = $(staff10skip).offset().top,
         elemBottom = elemTop + $(staff10skip).height();
       //Is more than half of the element visible
        return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom));
    }
  
    function isSamples() {
        var docViewTop = $(window).scrollTop(),
            docViewBottom = docViewTop + $(window).height(),
            elemTop = $(samples).offset().top,
         elemBottom = elemTop + $(samples).height();
       //Is more than half of the element visible
       return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom));
    }

    function isRecommend() {
        var docViewTop = $(window).scrollTop(),
            docViewBottom = docViewTop + $(window).height(),
            elemTop = $(recommend).offset().top,
         elemBottom = elemTop + $(recommend).height();
       //Is more than half of the element visible
       return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom));
    }

    function isContact() {
        var docViewTop = $(window).scrollTop(),
            docViewBottom = docViewTop + $(window).height(),
            elemTop = $(contact).offset().top,
         elemBottom = elemTop + $(contact).height();
       //Is more than half of the element visible
       return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom));
    }

});
