
function imgText() {

// Lager undertekst til bilder ved aa bruke innholdet i bildets
// alt-attributt.
// Lager ogsaa automatisk lenke paa bilder der id-attributten er 
// gitt en verdi.
// 
// Forfatter: Richard Fauskrud, Lillehammer
// Dato: 25.04.2010
//
// For aa lage en enkel maate aa legge bildetekst paa bilder henter
// programmet ut verdien av bildets alt-attributt og bruker den som
// bildetekst. Det lages en tabell med ramme rundt bildet der bildet
// ligger i ovre rute og bildeteksten i nedre rute. All nodvendig css
// settes av programmet.
// Dersom bildets alt-attributt ikke har noe innhold gjores ingen 
// endringer med bildet.
// Programmet sjekker etter bilder innenfor en div-seksjon med id=imgtext.
// Soerg for at [*content*] tagen og eventuelt gallerier (kun MaxiGallery)
// er innenfor denne seksjonen. Kommentarseksjoner (f.eks, Jot) boer 
// ligge utenfor.
// Dersom bildet er en MaxiGallery thumb legger MaxiGallery selv paa
// bildetekst. Hvis en onsker aa bruke denne bildeteksten maa en velge
// aa utelate alle bilder med lenker. Denne versjonen av programmet legger
// paa ramme og teksten fra thumb'ens alt-attributt. for aa hindre dobbel
// tekst maa MaxiGallery's egen tekst fjernes med folgende css-kode:
//
//<style type="text/css">
//   ul.thumbs li p {display: none !important;} /* Fjern MaxiGallery thumbs-text */
//</style>
//
// Programmet lager ogsaa automatisk en lenke til programmet
// stortbilde.js paa de bildene der id-attributten er gitt en verdi.
// Det er brukerens ansvar aa soerge for at id-verdiene er unike.
//

var imgTags = document.getElementById("imgtext").getElementsByTagName("img");

for (var i = 0; i < imgTags.length; i++) {
     var currentImg = imgTags[i];

// Lag bildetekst kun dersom alt-attributt har innhold
if (imgTags[i].alt) {

// Hent bildeattributter
     if (imgTags[i].id) {
         var imgId = imgTags[i].id;
     }
     if (imgTags[i].style.cssFloat) {
         var imgFloat = imgTags[i].style.cssFloat;
     }
     if (imgTags[i].style.styleFloat) {
         var imgFloat = imgTags[i].style.styleFloat;
     }
     if (imgTags[i].align) {
         var imgAlign = imgTags[i].align;
     }
     if (imgTags[i].style.display) {
         var imgDisplay = imgTags[i].style.display;
     }
     if (imgTags[i].style.marginLeft) {
         var imgMarginleft = imgTags[i].style.marginLeft;
     }
     if (imgTags[i].style.marginRight) {
         var imgMarginright = imgTags[i].style.marginRight;
     }
     if (imgTags[i].style.margin) {
         var imgMargin = imgTags[i].style.margin;
     }
     var imgAlt = imgTags[i].alt;
// Fjern MaxiGallery's "Click to zoom" paa thumbs
     var clickZoom = imgAlt.indexOf("Click to zoom");
     if (clickZoom != -1 ) {
         var clickZoomOffset = imgAlt.length - (imgAlt.length - clickZoom + 2 );
         imgAlt = imgAlt.substring(0,clickZoomOffset);
     }
     var imgSrc = imgTags[i].src;
     var imgTitle = imgTags[i].title;
     var imgWidth = imgTags[i].width;
     var imgHeight = imgTags[i].height;
// Lag tabell
     var imgTable=document.createElement("table");
     var imgTbody=document.createElement("tbody");
     var imgTR1=document.createElement("tr");
     var imgTD1=document.createElement("td");
     var imgTR2=document.createElement("tr");
     var imgTD2=document.createElement("td");
     var imgTxt=document.createTextNode(imgAlt);
// Lag bildeelement og sett bildeattributter
     var imgElement=document.createElement("img");
     if (imgTags[i].id) {
         imgElement.setAttribute('id', imgId);
     }
     imgElement.setAttribute('src', imgSrc);
     imgElement.setAttribute('alt', imgAlt);
     imgElement.setAttribute('title', imgTitle);
     imgElement.setAttribute('height', imgHeight);
     imgElement.setAttribute('width', imgWidth);
// Lag lenke til bildet hvis id er satt
     if (imgTags[i].id) {
         var imgAnchor=document.createElement("a");
         var imgLink="javascript:bilde('" + imgId + "')";
         imgAnchor.setAttribute('href', imgLink);
     }
// Slaa sammen ny HTML-kode for bildet
     if (imgTags[i].id) {
         imgAnchor.appendChild(imgElement);
         imgTD1.appendChild(imgAnchor);
     } else {
         imgTD1.appendChild(imgElement);
     }
     imgTR1.appendChild(imgTD1);
     imgTD2.appendChild(imgTxt);
     imgTR2.appendChild(imgTD2);
     imgTbody.appendChild(imgTR1);
     imgTbody.appendChild(imgTR2);
     imgTable.appendChild(imgTbody);
// Sett attributter og css for bildetabellen
     imgTable.setAttribute('width', imgWidth);
     if (imgTags[i].align && imgTags[i].align != "middle") {
         imgTable.style.cssFloat = imgAlign;
         imgTable.style.styleFloat = imgAlign;
     }
     if (imgTags[i].style.cssFloat) {
         imgTable.style.cssFloat = imgFloat;
     }
     if (imgTags[i].style.styleFloat) {
         imgTable.style.styleFloat = imgFloat;
     }
     if (imgTags[i].style.display) {
         imgTable.style.display = imgDisplay;
     }
     if (imgTags[i].style.margin) {
         imgTable.style.margin = imgMargin;
     }
     imgElement.style.margin = "0";
     imgTD1.style.padding = "5px";
     imgTD2.style.padding = "5px 10px 5px 10px";
     imgTable.style.fontSize = "10px";
     imgTable.style.margin = "10px";
     if (imgTags[i].style.marginLeft) {
         imgTable.style.marginLeft = imgMarginleft;
     }
     if (imgTags[i].style.marginRight) {
         imgTable.style.marginRight = imgMarginright;
     }
     imgTable.style.border = "1px solid #bbb";
     imgTable.style.background = "#eee";

//         alert(imgTable.outerHTML);

// Bytt ut den originale HTML-koden for bildet
     currentImg.parentNode.replaceChild(imgTable,currentImg);
// Dersom bildetabellen blir liggende inne i en P-tag maa den flyttes
// utenfor.
     if (imgTable.parentNode.tagName == "P") {
         var parent = imgTable.parentNode;
         var parent2 = parent.parentNode;
         parent2.insertBefore(imgTable, parent);
//         parent2.insertBefore(imgTable, parent.nextSibling);
//         alert(parent2.innerHTML);
     }

}  // End: if (imgTags[i].alt)

}
}

function epKontakt( mottaker, tekst, pagetitle, pageid, domene ) {

// Generell generator av e-postlenke
// Forfatter: Richard Fauskrud - Lillehammer - 06.12.2009
//
// Beskrivelse:
// Hensikten med skriptet er å lage en e-postlenke som er spamsikker, det vil si
// som ikke viser synlige e-postadresser i html-filen. Samtidig skal den være så
// fleksibel at både epost-adresse og eventuelt emnefelt kan overføres som 
// parametre.
// Hvis parameteren pagetitle er tom droppes emnefeltet.
// Det antas, uten sjekking, at parameteren pageid inneholder sidens nummer
// dersom den ikke tom.
// Dersom pagetitle ikke er tom og pageid har en verdi antas det
// at pagetitle inneholder sidetittelen (short-title). 
// Dersom pageid er tom og pagetitle ikke er det antas det at pagetitle 
// inneholder en annen tekst enn sidetittel.
// Eventuelle norske bokstaver i emnefeltet byttes ut pga uoverenstemmelse
// mellom tegnsett på serveren (UTF-8) og enkelte e-postprogrammer hos brukerne.
//
// Parametere:
//             mottaker:  tekst foran krøllalfa i adressen
//             tekst:     lenketekst som vises på siden
//             pagetitle: sidetittel eller annen tekst til bruk i emnefeltet
//             pageid:    sidenummer til bruk i emnefeltet
//             domene:    alternativt domenenavn

// Sett defaultverdier:

     if ( !mottaker ) {
        var mottaker = 'post';
      }

     if ( !domene ) {
        var domene = 'oppland.org';
      }

     if ( !tekst ) {
        var tekst = mottaker + String.fromCharCode(16*4) + domene;
      }

     var emne = '';

// Bytt ut norske bokstaver i pagetitle og bygg epostlenke:

     if ( pagetitle ) {
        pagetitle = pagetitle.replace("æ","ae");
        pagetitle = pagetitle.replace("Æ","Ae");
        pagetitle = pagetitle.replace("ø","oe");
        pagetitle = pagetitle.replace("Ø","Oe");
        pagetitle = pagetitle.replace("å","aa");
        pagetitle = pagetitle.replace("Å","Aa");

        if ( pageid ) {
           pageid = 'Kommentar%20til%20side%20nr.%20' + pageid + '%20-%20';
        }
        
        emne = '?subject=' + pageid + pagetitle;
      }

     var adresse = 'mailto:' + mottaker + String.fromCharCode(16*4) + domene;
     document.write ('<a href="' + adresse + emne +'">' + tekst + '</a>');

}

function popupText( ptekst ) {
//
// Lager smaa popupvinduer med forklarende tekst. 
// 
// Forfatter: Richard Fauskrud, Lillehammer
// Dato: 10.10.2011
//

     if (document.getElementById(ptekst)) {
         var lukkeIkon = "<div id='textcloseicon'><a href='javascript:popupClose()'>";
          lukkeIkon += "<img src='assets/templates/husmann/closeicon.gif' width='20' height='20' /></a></div>";
          lukkeIkon += document.getElementById(ptekst).innerHTML;

          document.getElementById("popuptekst").innerHTML = lukkeIkon;

          document.getElementById("popuptekst").style.display = "block";
          }
}

function popupClose() {

           document.getElementById("popuptekst").style.display = "none";
}


function bilde( bilde ) {
// Visning av stort bilde med fadeing.
// 
// Forfatter: Richard Fauskrud, Lillehammer
// Dato: 26.02.2010
//
// Bildet i selve siden gis en id som maa legges ved som en parameter
// ved kall til bilde-funksjonen. Funksjonen lager en egen id for det
// store bildet ved aa legge bokstaven a til id-navnet paa sidebildet.
// Det forventes dessuten at det store bildet har samme url som bildet i
// siden, og samme navn men tillagt bokstaven a til slutt.
//
// Modifisert versjon for Opplandsarkivet avd. Maihaugen som ikke legger
// til en a på slutten av filnavnet for å finne det store bildet, men
// bruker samme bildet.

var idx = "0";

        if (document.getElementById(bilde)) {
           if( idx != "0" ) {
              lukk();
           }
           idx = bilde;
           bildea = bilde + "a";
           setOpacity( 0 );

// Hent skjermstoerelse

           fadeHoyde = screen.height;
           fadeBredde = screen.width;
           if (fadeBredde < 1000) {
               fadeBredde = 1000;
           }

// Sett parametre for fadeing av bakgrunnen

           document.getElementById("fade").style.height = fadeHoyde + "px";
           document.getElementById("fade").style.width = fadeBredde + "px";
           document.getElementById("fade").style.display = "block";

// Initier bildeplassering

           imgRelocate("init");

// Bygg html for det store bildet

           var bildeLink = "<div id='stortbildeindre'>";
           bildeLink += "<div id='closeicon'><a href='javascript:fadeOutWindow()'>";
           bildeLink += "<img src='assets/templates/husmann/closeicon.gif' width='20' height='20' /></a></div>";
           bildeLink += "<center><img id='" + bildea+ "' ";
           bildeLink += "title='" + document.getElementById(bilde).title + "' ";

// Lag navn til det store bildet

           var newsrc=document.getElementById(bilde).src;
//           newsrc = newsrc.substring(0,newsrc.lastIndexOf(".jpg")) + "a.jpg";
           bildeLink += "src='" + newsrc + "' ";
           bildeLink += "alt='" + document.getElementById(bilde).alt + "' ";
           bildeLink += " /></center>";
           bildeLink += "<p>" + document.getElementById(bilde).alt + "</p></div>";

// Sett html-koden inn i siden og sett display:block for aa aktivere den

           document.getElementById("stortbilde").innerHTML = bildeLink;
           document.getElementById("stortbilde").style.display = "block";

// Beregn og sett bakgrunnsrammens bredde og plassering av lukke-ikon.

           storbredde = document.getElementById(bildea).width + 30;
           closeoffset = document.getElementById(bildea).width + 20;
           document.getElementById("stortbildeindre").style.width = storbredde + "px";
           document.getElementById("closeicon").style.left = closeoffset + "px";

// Sett hoyde på ytre Div (erstattet av css padding-bottom: 25px; i #stortbilde i stortbilde.css).

//           document.getElementById("stortbilde").style.height = document.getElementById(bildea).height + 100 + "px";

// Sett scroll-automatic og fade inn bildet.

           window.onscroll = imgRelocate;
           fadeInWindow();
          }
}

function lukk() {
	document.getElementById("stortbilde").style.display = "none";
	document.getElementById("fade").style.display = "none";
        idx = "0";
}

function fadeInWindow() {
        for( var i = 0 ; i <= 100 ; i++ )
          setTimeout( 'setOpacity(' + (i/10) + ')' , 4*i );
}

function fadeOutWindow() {
        for( var i = 0 ; i <= 100 ; i++ ) {
          setTimeout( 'setOpacity(' + (100-i)/10 + ')' , 4*i );
        }
        setTimeout('lukk()', 1700 );
}

function setOpacity( value ) {
        document.getElementById("stortbilde").style.opacity = value / 10;
        document.getElementById("stortbilde").style.filter = 'alpha(opacity=' + value * 10 + ')';
        if( value < 8 ) {
          document.getElementById("fade").style.opacity = value / 10;
          document.getElementById("fade").style.filter = 'alpha(opacity=' + value * 10 + ')';
        }
}
 
function imgRelocate( init ) {
 var scrolledX, scrolledY;
 if( self.pageYOffset ) {
//   scrolledX = self.pageXOffset;
   scrolledY = self.pageYOffset;
 } else if( document.documentElement && document.documentElement.scrollTop ) {
//   scrolledX = document.documentElement.scrollLeft;
   scrolledY = document.documentElement.scrollTop;
 } else if( document.body ) {
//   scrolledX = document.body.scrollLeft;
   scrolledY = document.body.scrollTop;
 }

// var leftOffset = scrolledX;
 var topOffset = scrolledY + 50;

 document.getElementById("fade").style.top = scrolledY + "px";
 if (init == "init"){
    document.getElementById("stortbilde").style.top = topOffset + "px";
 }
// document.getElementById(bilde).style.left = leftOffset + "px";
}

