$(document).ready(function() {
var offset = -70;

  // Setter class .chosen ved klikk på hovedmeny + viser og skjuler .kapittel
  $(".shadowlink").not('.eksternlenke').on("click", function(e) {
    $(".shadowlink").each(function() {
      $(this).removeClass("chosen").addClass("dimmed");
    });
    $(this).addClass("chosen");
    var target = $(this).attr("href");
    $(target).fadeIn(350);

    $(".kapittel").not(target).hide();
    e.preventDefault();

    $('html, body').animate({scrollTop: $(target).offset().top + offset},1000);


    // Oppdaterer url til riktig hash
    window.location.hash = $.attr(this, 'href').substr(1);
    

  });
  
  // Scroller til aktuelt underkapittel ved klikk på tabs
  $(".nav-link").on("click", function(e) {
    var number = $(this).attr('href');
    setTimeout(function(){
        $('html, body').animate({scrollTop: $(number).offset().top - 130},1000);
    }, 300 );
  });
  

  
  var hash = window.location.hash;
  var offset2 = -100;

  // modaler åpnes basert på #mod-xxxxxx
  if (hash.indexOf('mod') !== -1) { // hvis hash inneholder 'mod'
    $(hash).modal('show'); // vis modal med matchende hash
  }

  if (hash.indexOf('engelsk') !== -1) { // hvis hash inneholder 'engelsk'
    $(hash).modal('show'); // vis modal med matchende hash
  }

  // øverste kapittelnivå basert på #kapittel_xxxxxx åpnes + hovedknapp settes til chosen
  if (hash.match('#')) {
    $(hash).show(); // viser øverste id (kapittelnivå basert på hash i url
    $('[href=' + hash + ']').addClass('chosen'); // matcher hash i url med href i hovedknappene
  }

  // accordion-nivåene åpnes basert på #collapse------ + hovedknapp settes til chosen
  if (hash.match('#')) {
    openval = hash.split('#')[1];
    $('#' + openval).addClass('show'); // åpner den relavante accordion-en
    $('#' + openval).parents('div').show(); // viser parent div til aktuell tab
    $('#' + openval).closest('.tab-pane').addClass('active show').show().removeAttr('style'); // setter nærmeste .tab-pane aktiv og viser denne
    var knappverdi2 = $('#' + openval).closest('.tab-content').attr('data-parent'); // finner nærmeste .tab-content og henter verdi fra attributtet data-parent over til variabelen knappverdi2
    $('[id=' + knappverdi2 + ']').addClass('chosen'); // matcher hentet verdi fra data-parent til matchende id for hovedknappene og setter class chosen
    var knappverdi3 = $('#' + openval).closest('.tab-pane').attr('id'); // finner nærmeste .tab-pane og henter verdi fra id over til variabelen knappverdi
    $('.nav-tabs a[href="#' + knappverdi3 + '"]').tab('show'); // fyrer aktuell tab fra knappverdi3
  }

  // modaler åpnes basert på #modal-xxxxxx (modaler som ligger i nederste nivå, under pills-menyer)
  if (hash.indexOf('modal-') !== -1) { // hvis hash inneholder 'modal-'
    $(hash).modal('toggle'); // vis modal med matchende hash
    // rutine for oppslag til riktig sted i hierarkiet ved treff på ekstern url til modal 
    var modalverdi = $(hash).attr('data-parent');
    $('.nav-pills a[href="#' + modalverdi + '"]').parents('div').show(); // viser parent div til aktuell tab
    $('.nav-pills a[href="#' + modalverdi + '"]').tab('show'); // setter valgt tab aktiv
    $('.nav-pills a[href="#' + modalverdi + '"]').closest('.tab-pane').addClass('active show').show().removeAttr('style'); // setter nærmeste .tab-pane aktiv og viser denne
    var knappverdi2 = $('.nav-pills a[href="#' + modalverdi + '"]').closest('.tab-content').attr('data-parent'); // finner nærmeste .tab-content og henter verdi fra attributtet data-parent over til variabelen knappverdi2
    $('[id=' + knappverdi2 + ']').addClass('chosen'); // matcher hentet verdi fra data-parent til matchende id for hovedknappene og setter class chosen
    var knappverdi3 = $('.nav-pills a[href="#' + modalverdi + '"]').closest('a').attr('data-parent'); // finner nærmeste a og henter verdi fra attributtet data-parent over til variabelen knappverdi
    $('[id=' + knappverdi3 + ']').addClass('active show'); // matcher hentet verdi fra data-parent til matchende id for hovedknappene og setter class active show
    $('html, body').animate({
      scrollTop: $("#content-start").offset().top + offset2
    }, 'slow');
  }


  // collapse åpnes basert på #collapse_xxxxxx
  if (hash.indexOf('collapse_') !== -1) { // hvis hash inneholder 'collapse_'
   var collapsemodal = $(hash).closest('.modal').attr('id');
   var collapsemodalfire = '#' + collapsemodal;
   $(collapsemodalfire).modal('show');
// var fire = $('button').closest('.modal').addClass('show');
// $('body').addClass('using-mouse modal-open');
// $(document.body).append('<div class="modal-backdrop fade show"></div>');
  }


  // de ulike tabs-nivåene åpnes basert på #innhold_xxxxxx + hovedknapp settes til chosen
  if (hash.match('#')) {
    $('.nav-tabs a[href="#' + hash.split('#')[1] + '"]').tab('show'); // viser aktuell tab
    $('.nav-tabs a[href="#' + hash.split('#')[1] + '"]').closest('div').show(); // viser parent div til aktuell tab
    var knappverdi = $('.nav-tabs a[href="#' + hash.split('#')[1] + '"]').closest('li').attr('data-parent'); // finner nærmeste li og henter verdi fra attributtet data-parent over til variabelen knappverdi
    $('[id=' + knappverdi + ']').addClass('chosen'); // matcher hentet verdi fra data-parent til matchende id for hovedknappene og setter class chosen
    $('html, body').animate({
      scrollTop: $("#content-start").offset().top
    }, 'slow')
  }

  // pills-nivåene åpnes basert på #v-pills-xxxxxx + hovedknapp settes til chosen
  if (hash.match('#')) {
    $('.nav-pills a[href="#' + hash.split('#')[1] + '"]').parents('div').show(); // viser parent div til aktuell tab
    $('.nav-pills a[href="#' + hash.split('#')[1] + '"]').tab('show'); // setter valgt tab aktiv
    $('.nav-pills a[href="#' + hash.split('#')[1] + '"]').closest('.tab-pane').addClass('active show').show().removeAttr('style'); // setter nærmeste .tab-pane aktiv og viser denne
    var knappverdi2 = $('.nav-pills a[href="#' + hash.split('#')[1] + '"]').closest('.tab-content').attr('data-parent'); // finner nærmeste .tab-content og henter verdi fra attributtet data-parent over til variabelen knappverdi2
    $('[id=' + knappverdi2 + ']').addClass('chosen'); // matcher hentet verdi fra data-parent til matchende id for hovedknappene og setter class chosen
    var knappverdi3 = $('.nav-pills a[href="#' + hash.split('#')[1] + '"]').closest('a').attr('data-parent'); // finner nærmeste a og henter verdi fra attributtet data-parent over til variabelen knappverdi
    $('[id=' + knappverdi3 + ']').addClass('active show'); // matcher hentet verdi fra data-parent til matchende id for hovedknappene og setter class active show
    //$(window).scrollTop(0);
  }

  // tvinger refresh på interne lenker
  $('.sidelenke').click(function() {
    var urlintern = $(this).attr('href');
    window.location.href = urlintern;
    location.reload();
    e.preventDefault();
  })

  

  // tvinger refresh på interne lenker
  $('.sidelenke a, a.sidelenke, .kapittel p a, .tab-pane li a, .internal p a, .hf a, h3 p a').not('[target="_blank"], a[href^="mailto:", .coronapills p a]').click(function() {
    var urlintern = $(this).attr('href');
    window.location.href = urlintern;
    location.reload();
    e.preventDefault();
  })

  // tvinger refresh ved navigering fra en hash-adresse til en annen
  $(window).not('button').on('hashchange', function() {
    window.location.reload(true);
    $('html, body').animate({
      scrollTop: $("#content-start").offset().top + offset2
    }, 'slow');
  });

});

// Setter url target for modaler + fjerner url ved lukking
    $('[data-toggle="modal"]').click(function(){
      window.location.hash = $(this).data('target');
    });

    function revertToOriginalURL() {
      var original = window.location.href.substr(0, window.location.href.indexOf('#'))
    history.replaceState({}, document.title, original);
  }

$('.innholdet').css('min-height', '1200px');
$('.tab-pane').css('min-height', '800px');


$('.modal').on('hidden.bs.modal', function () {
revertToOriginalURL();
});

// Aktiverer pushstate + url-oppdatering på tabs og pills
    // $('.nav-tabs, .nav-pills').stickyTabs();
    setTimeout(
            function() 
            {
                $('.nav-tabs a, .nav-pills a').on('shown.bs.tab', function (e) {
                    if(history.pushState) {
                        history.pushState(null, null, e.target.hash); 
                    } else {
                        window.location.hash = e.target.hash;
                    }
                })

            $('[data-target]').click(function() {
              window.history.pushState(
                null,
                null,
                $(this).data('target')
              );
            });

            }, 2000);

// Bootstrap responsive tables
  $('table').wrap('<div class="table-responsive"></div>');
  $('table').addClass('table table-hover');





