/* Javascript inkluderet her vil være aktivt for alle brugere. */

/**
 * WikiMiniAtlas is a popup click and drag world map.
 * See [[meta:WikiMiniAtlas]] for more information.
 * Maintainers: [[w:User:Dschwen]]
 */
mw.loader.load( '//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript' );


/**
 * Test if an element has a certain class
 *
 * Description: Uses regular expressions and caching for better performance.
 * Maintainers: [[User:Mike Dillon]], [[User:R. Koot]], [[User:SG]]
 */
var hasClass = (function () {
var reCache = {};
return function (element, className) {
return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
};
})();

function LinkFA() {
   // iterate over all <span>-elements
   for(var i=0; a = document.getElementsByTagName("span")[i]; i++) {
      // if found a FA span
      if(a.className == "FA") {
         // iterate over all <li>-elements
          for(var j=0; b = document.getElementsByTagName("li")[j]; j++) {
            // if found a FA link
            if(b.className == "interwiki-" + a.id && b.className.indexOf("badge-featuredarticle") === -1 && b.className.indexOf("badge-goodarticle") === -1) {
               b.style.padding = "0 0 0 16px";
               b.style.backgroundImage = "url('//upload.wikimedia.org/wikipedia/commons/thumb/b/b4/Symbol_star_gold.svg/15px-Symbol_star_gold.svg.png')";
               b.style.backgroundRepeat = "no-repeat";
               b.title = "Denne artikel er markeret som en fremragende artikel.";
            }
         }
      }
   }
}

$(LinkFA);

function LinkGA() {
    var a;
    // iterate over all <span>-elements
    for(var i=0; a = document.getElementsByTagName("span")[i]; i++) {
        // if found an GA span
        if(a.className == "GA") {
            // iterate over all <li>-elements
            var b;
            for(var j=0; b = document.getElementsByTagName("li")[j]; j++) {
                // if found an GA link
                if(b.className == "interwiki-" + a.id && b.className.indexOf("badge-featuredarticle") === -1 && b.className.indexOf("badge-goodarticle") === -1) {
                    b.style.padding = "0 0 0 16px";
                    b.style.backgroundImage = "url('//upload.wikimedia.org/wikipedia/commons/thumb/9/94/Symbol_support_vote.svg/14px-Symbol_support_vote.svg.png')";
                    b.style.backgroundRepeat = "no-repeat";
                    b.title = "Denne artikel er markeret som en god artikel.";
                }
            }
        }
    }
}

$(LinkGA);

/**
 * Collapsible tables
 *
 *  Description: Allows tables to be collapsed, showing only the header. See
 *               [[Wikipedia:NavFrame]].
 *  Maintainers: [[User:R. Koot]]
 */

var autoCollapse = 2;
var collapseCaption = "skjul";
var expandCaption = "vis";

function collapseTable( tableIndex ) {
    var Button = document.getElementById( "collapseButton" + tableIndex );
    var Table = document.getElementById( "collapsibleTable" + tableIndex );

    if ( !Table || !Button ) {
        return false;
    }

    var Rows = Table.rows;

    if ( Button.firstChild.data == collapseCaption ) {
        for ( var i = 1; i < Rows.length; i++ ) {
            Rows[i].style.display = "none";
        }
        Button.firstChild.data = expandCaption;
    } else {
        for ( var i = 1; i < Rows.length; i++ ) {
            Rows[i].style.display = Rows[0].style.display;
        }
        Button.firstChild.data = collapseCaption;
    }
}

function createCollapseButtons() {
    var tableIndex = 0;
    var NavigationBoxes = {};
    var Tables = document.getElementsByTagName( "table" );

    for ( var i = 0; i < Tables.length; i++ ) {
        if ( hasClass( Tables[i], "collapsible" ) ) {

            /* only add button and increment count if there is a header row to work with */
            var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
            if (!HeaderRow) continue;
            var Header = HeaderRow.getElementsByTagName( "th" )[0];
            if (!Header) continue;

            NavigationBoxes[ tableIndex ] = Tables[i];
            Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );

            var Button     = document.createElement( "span" );
            var ButtonLink = document.createElement( "a" );
            var ButtonText = document.createTextNode( collapseCaption );

            Button.style.styleFloat = "right";
            Button.style.cssFloat = "right";
            Button.style.fontWeight = "normal";
            Button.style.textAlign = "right";
            Button.style.width = "6em";

            ButtonLink.style.color = Header.style.color;
            ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
            ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );
            ButtonLink.appendChild( ButtonText );

            Button.appendChild( document.createTextNode( "[" ) );
            Button.appendChild( ButtonLink );
            Button.appendChild( document.createTextNode( "]" ) );

            Header.insertBefore( Button, Header.childNodes[0] );
            tableIndex++;
        }
    }

    for ( var i = 0;  i < tableIndex; i++ ) {
        if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) {
            collapseTable( i );
        }
    }
}

$( createCollapseButtons );

/**
 * Flyt portallinks
 *
 *  Beskrivelse: Flytter portallinks op i toppen af siden. Bruges af [[:Skabelon:Portaltop]]
 */
$( function () {
  try {
    var x = document.getElementById('siteSub');
    if(!x) return;
    var y = document.getElementById('portlinks');
    if(!y) return;
    var str = y.innerHTML;
    if (str.length) str = str.replace(/(?:&nbsp;|&#160;|\u00a0|\u000d|\x0d|\r|\u000a|\x0a|\n)*(?:&middot;|·|\|)(?:&nbsp;|&#160;|\u00a0|\u000d|\x0d|\r|\u000a|\x0a|\n)*/g, ", ");
    y = y.parentNode;
    if(!y) return;
    y.parentNode.removeChild(y);
    x.innerHTML = str;
  }
  catch (e) {
    // Woopsie, die without a notice
  }
});
// Flyt portallinks slut


// OpenStreetMap til at  åbne i artikler med koordinater - ligger i egen js fil. Inkludert af [[Bruger:Nico]] efter vejledning af  [[:no:Bruker:Haros]]

 mw.config.set( 'osm_proj_map', 'kort' ); //"map" in project language
 mw.config.set( 'osm_proj_lang', 'da' );  //project language
 mw.loader.load('//meta.wikimedia.org/w/index.php?title=MediaWiki:OSM.js&action=raw&ctype=text/javascript');

/**
 * iProject (InterProjectLinks)
 * Written by: Erwin ([[:nl:MediaWiki:IProject.js]]), modified by Kildor
 * Description: Adds links to other WMF projects in the sidebar
 *   ([[:bugzilla:708]]). Works for all skins with a sidebar.
 *
 * Originally written by Magnus Manske. Version forked from
 *   [[:es:MediaWiki:Common.js]] and [[:de:wikt:Mediawiki:monobook.js]]
 */

function iProject() {
    // Find templates with interproject links. These templates should have a div
    // with class 'interProject' that only contains a link to the other project.
    iProjectLinks = $('div.interProject').toArray();

    if (iProjectLinks.length > 0) {
        // The element below should always be available. To not break code
        // we do check for it, but don't have a fallback.
        if (document.getElementById('p-tb')) {
            prevNode = document.getElementById('p-tb');
        } else {
            return false;
        }

        // Clone previous node including child nodes.
        interProject = prevNode.cloneNode(true);
        interProject.id = 'p-project';

        // Set header of new toolbox
        h = interProject.getElementsByTagName('h5');
        if(h[0]) {
            h[0].innerHTML = 'P&aring; andre projekter';
        }

        // The links are included in the first and only div of the toolbox
        d = interProject.getElementsByTagName('div');
        if(d[0]) {
            d = d[0];
        } else {
            return false;
        }

        // Remove current children, i.e. current ul element.
        while(d.hasChildNodes()) {
            d.removeChild(d.childNodes[0])
        }

        // Create new list with links
        ul = document.createElement('ul')
        ul.className += " interProject";
        for (i = 0; i< iProjectLinks.length; i++) {
            li = document.createElement('li');
            li.className += " " + iProjectLinks[i].className;
            li.innerHTML = iProjectLinks[i].innerHTML;
            ul.appendChild(li)
        }
        d.appendChild(ul);

        // Insert new node
        prevNode.parentNode.insertBefore(interProject, prevNode.nextSibling);
    }
}

$(iProject);


//Søg i Wikidata
mw.loader.load('//en.wikipedia.org/w/index.php?title=MediaWiki:Wdsearch.js&action=raw&ctype=text/javascript');

/* End */

/* indsæt fra [[Bruger:Murma174/common.js]] iflg
 */

//*** Configuration for "star" logo in front of interwiki links to Featured Articles
//*** and green symbol in front of interwiki links to Good Articles
/** set in Special:Mypage/common.js to switch off this "feature"
mw.user.options.set( 'linkFA_enabled', false );
 * star logo for featured articles in other languages,
 * see Template:Link_FA / Template:Link_GA and MediaWiki:Common.css
 */
mw.loader.using( [ 'user', 'mediawiki.user', 'user.options' ], function() { $(function() {
    /** description that is displayed when cursor hovers above FA interwiki links */
    var linkFA_description = "Denne artikel er markeret som en fremragende artikel";
    var linkGA_description = "Denne artikel er markeret som en god artikel";

    // linkFA_bullet/linkGA_bullet and linkFA_style/linkGA_Style wird nur für cologneblue verwendet,
    // für monobook, modern siehe [[MediaWiki:Common.css]], vector hat in [[MediaWiki:Vector.css]] eigene Definitionen

    /** image to use instead of the standard bullet (for cologneblue) */
    var linkFA_bullet = "//upload.wikimedia.org/wikipedia/commons/d/d0/Monobook-bullet-star-transparent.png";
    var linkGA_bullet = "//upload.wikimedia.org/wikipedia/commons/a/a1/Monobook-bullet-star-gray.png";

    /** style to use for the linkFA_bullet/LinkGA_bullet img */
    var linkFA_style = "margin-right: 0.2em;";
    var linkGA_style = "margin-right: 0.2em;";

    // early exit when disabled
    if ( !mw.user.options.get( 'linkFA_enabled', true ) ) {
        return;
    }

    // skins that can be handled the CSS class way
    var skin = mw.config.get( 'skin' );
    if (skin === "monobook" || skin === "modern" || skin === "vector" ) {
        linkFA_CSS();
    }
    else if (skin === "cologneblue") {
        linkFA_decorate();
    }

    /** skin == "monobook" || skin="modern" || skin== "vector" */
    function linkFA_CSS() {
        // links are to replaced in p-lang only
        var pLang = document.getElementById("p-lang");
        if (!pLang) return;
        var lis = pLang.getElementsByTagName("li");
        for (var i = 0; i < lis.length; i++) {
            var li = lis[i];
            //extract necessary classname
            var matches = li.className.match( /(?:^| )(interwiki-[^ ]+)(?: |$)/ );
            if ( !matches || matches.length != 2 ) {
                 continue;
            }
            var className = matches[1];
            // only links with a corresponding Link_FA template are interesting
            if (document.getElementById(className + "-fa") && li.className.indexOf("badge-featuredarticle") === -1) {
              li.className += " FA";         // additional class so the template can be hidden with CSS
              li.title = linkFA_description; // change title
              continue;
            }
            if (document.getElementById(className + "-ga") && li.className.indexOf("badge-goodarticle") === -1) {
              li.className += " GA";         // additional class so the template can be hidden with CSS
              li.title = linkGA_description; // change title
              continue;
            }
        }
    }

    /** skin == "cologneblue" */
    function linkFA_decorate() {
        // these root elements can contain FA-/GA-links
        var rootIds = new Array("topbar", "footer");
        for (var i=0; i<rootIds.length; i++) {
            var root    = document.getElementById(rootIds[i]);
            if (!root)  continue;

            // if the root exists, try to decorate all the links within
            var links   = root.getElementsByTagName("a");
            for (var j=0; j<links.length; j++) {
                decorate(links[j], "-fa", linkFA_bullet, linkFA_description, linkFA_style);
                decorate(links[j], "-ga", linkGA_bullet, linkGA_description, linkGA_style);
            }
        }
    }

    /** id necessary, modify a link to show the FA- or GA-star (older) */
    function decorate(link, idSuffix, bullet, description, style) {
        var lang    = link.hostname.split(".")[0];
        var fa      = document.getElementById("interwiki-" + lang + idSuffix);
        if (!fa)  return;

  // build an image-node for the FA-star
  var img = document.createElement("img");
  img.setAttribute("src",     bullet);
  img.setAttribute("alt",     description);
  img.setAttribute("style",   style);
  // decorate the link with the image
  link.appendChild(img);
  link.appendChild(link.removeChild(link.firstChild));
  link.setAttribute("title", description);
    }
})});