// Visning av stort bilde med fadeing.
// 
// Forfatter: Richard Fauskrud, Lillehammer
// Dato: 26.02.2010
//
// For aa faa tak i det store bildet raskt nok maa det forhaandslastes
// til div#preload (jfr. stortbilde.css)
//
// 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 som ikke legger
// til en a på slutten av filnavnet for å finne det store bildet, men
// bruker samme bildet.

var idx = "0";

function bilde( bilde ) {
        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/images/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.

           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";
}

