﻿$(document).ready(function () {

    // Texter och andra variabler som används i funktionerna
    var searchFieldText = "Skriv sökord här";

    // Skjut in knapp med javascriptfunktion för att skriva ut sida
    $("#MainContent").append("<span id='PrintPage'>Skriv ut sida</span>");
    $("#PrintPage").click(function () {
        window.print();
    });

    // Sökfält i sidhuvud. 
    // Sätt defaulttext. Töm fältet när användaren
    // fokuserar på fältet. Om användaren inte har skrivit något, återställ
    // defaulttexten.
    $(".searchField").val(searchFieldText).click(function () {
        if ($(this).val() === searchFieldText) { $(this).val(""); }
    }).focusout(function () {
        if ($(this).val() === "") { $(this).val(searchFieldText); }
    });

    // Randiga tabeller per default utom om de har klassen "nostriped"
    $("table:not(.nostriped) tr:nth-child(odd)").addClass("stripe");

    // Toppstreck på första menyalternativet i navigationen
    $("#MainNav ul li:first-child").addClass("topLine");

    // Sätt klassen last på det sista elementet i varje inline-ul
    // som har separatortecken mellan varje li - detta för att sista
    // elementet inte ska få ett separatortecken
    $("ul.guidingCases li ul li:last-child").addClass("last");
    $("ul.searchList li ul li:last-child").addClass("last");
    $("#MetaNav ul li:last-child").addClass("last");
    $("#Breadcrumb ul li:last-child").addClass("last");

    // Ta bort padding-left på första elementet i pagingnavigation,
    // annars blir det indrag på sidan.
    $("#MainContent ul.pagingNav li:first-child a").addClass("first");

    // Ta bort padding-right på sista puffen på startsidan, annars
    // tar den för mycket plats och halkar ner på grund av float.
    $("#FirstpageContent .pushBox:last-child").addClass("last");

    // Rundade hörn på porträtt på kontaktsidan.
    // Använder egen plugin (se nedan).
    $(".contactImage").roundedImageCorners();

    // Wrappa hr-tag i div eftersom det är notoriskt svårt att få
    // snygga hr enbart med CSS. Tittar man i läge utan CSS får man
    // dock en vanlig hr.
    $("hr").wrap("<div class=\"hr\" />");

    // Gör hela puffarna på startsidan klickbara. Detta för att folk
    // är vana vid att hela puffen är klickbar. Att bara klicka på
    // länken går också bra.
    $("#FirstpageContent .pushBox").click(function () {
        var linkUrl = $(this).children("a").attr("href");
        if (linkUrl != undefined) {
            window.location.href = linkUrl;
        }
    }).addClass("clickablePushBox");
});

$(window).load(function () {
    // Sätt alt-text som bildtext på bilder
    // som har klassen visibleAltText. Görs
    // i window.load eftersom Safari inte kan
    // hämta bildernas bredd annars.
    $(".visibleAltText").each(function () {
        $(this).wrap("<div class='imageText pageImageLeft' />");
        $(this).removeClass("pageImageLeft");
        $(".imageText").append("<p>" + $(this).attr("alt") + "</p>").css("width", $(this).css("width"));
    });
});


// Hemmakodad plugin för att sätta runda hörn på bilder med ren CSS.
// Copyright 2011 - Thomas Kahn, Kärnhuset
(function ($) {

    $.fn.roundedImageCorners = function (options) {

        // Merge defaults with supplied user options
        var opts = $.extend({}, $.fn.roundedImageCorners.defaults, options);

        // Iterate all selected images
        return this.each(function () {
            // Get some values from the original image
            var elem = $(this);
            var imgSrc = elem.attr("src");
            var imgHeight = elem.height();
            var imgWidth = elem.width();
            var imgAltText = elem.attr("alt");
            var customImageClasses = elem.attr("class");

            // Wrap the image in a div
            elem.wrap("<div />");
            var wrapperDiv = elem.parent("div");

            // Give the div the same dimensions as the original image
            // and set the original image as the div background.
            wrapperDiv.css({ "background": " transparent url(" + imgSrc + ") no-repeat top center", "height": imgHeight + "px", "width": imgWidth + "px" }).addClass(opts.imageWrapperDivClass);


            // Add any custom classes that the original image had
            // to the wapper div
            wrapperDiv.addClass(customImageClasses);

            // Remove the original image from the DOM
            elem.remove();

        });
    }

    $.fn.roundedImageCorners.defaults = {
        imageWrapperDivClass: "imageWrapper"
    };

})(jQuery);

