





































































var language = 'en';
var pUrl = '';

//Fadevariabler
var opacity = 0.0;
var timer = null;
var v = 0.0;
var fadeSpeed = 5.0;

//Imagebrowservariabler
var imageIndex = 0;
var numImages = 6;
var lastImage = 0;
var lastThumb = 0;
var isFading = false;
var captions = new Array();
var numCaptions = 0;
var thumbPosition = 0;
var thumbNumSteps = 0;
var thumbStep = 1;

//testvariabler for thumbnailsbrowsing
var imageCounter = 0;
var numGroups = 0;
var xpos = 0;

//Fullscreen imagebrowservariabler
var fsImageIndex = 0;
var fsNumImages = 0;
var fs_images = new Array();
var fadeLayer = null;
var fsTimer = null;

//Samleside
var mostReadArticlesIndex = 0;
var numPages = 0;


function setLanguage(lang) {
  language = lang;
}


function setFullscreenUrl() {
  if (language == 'no') {
    document.getElementById('fullscreen').href = '' + "?fullscreen=true&imageNumber=" + imageIndex + '&numImages=' + numImages;
  }
  else {
    document.getElementById('fullscreen_en').href = '' + "?fullscreen=true&imageNumber=" + imageIndex + '&numImages=' + numImages;    
  }
}


function setUrl() {
  if (language == 'no') {
    document.getElementById('lukk').href = '' + "?imageNumber=" + imageIndex;
  }
  else {
    document.getElementById('lukk_en').href = '' + "?imageNumber=" + imageIndex;
  }
}


function setNumImages(number) {
  numImages = number;
}


function setImageIndex(index) {
  imageIndex = index;
}


function initThumbnails() {
  document.getElementById('thumbnail_scroller').style.width = ((39 + 5 + 2) * numImages) + 2 +"px";        
  thumbNumSteps = Math.round(numImages / 12) + 1;
  numGroups = Math.round(numImages / 12);
}


function setFadeSpeed(spd) {
  fadeSpeed = spd;
}


function drawProgressBar(step, totalSteps, totalWidth) {
  var w = (totalWidth / totalSteps) * step;
  document.getElementById('progressbar').style.width = w + "px" ;
}


function removeProgressBar() {
  document.getElementById('loader').style.display = "none" ;
}


function updateThumbnails() {  
  document.getElementById('thumbnail_scroller').style.left = 184 - (46 * imageIndex) + "px";
}


function browseForward() {
  if (isFading == false) {
    imageIndex++;
    imageBrowser();
  }
}


function browseBackward() {
  if (isFading == false) {    
    imageIndex--;
    imageBrowser();    
  }
}


function thumbnail(index) {
  if ((isFading == false) && (imageIndex != index)) {    
    imageIndex = index;
    imageBrowser();        
  }
}


function imageBrowser() {
  
  if (imageIndex > (numImages - 1)) {
    imageIndex = 0;
  }
  if (imageIndex < 0) {
    imageIndex = numImages - 1;
  }

  updateThumbnails();
  
  setFullscreenUrl();
  
  document.getElementById('img' + lastImage).style.zIndex = "5";
  document.getElementById('img' + imageIndex).style.display = "block";    

  document.getElementById('thumb' + lastThumb).className = "thumbnail";  
  document.getElementById('thumb' + imageIndex).className = "thumbnail_active";  

  if (language == 'no') {
    document.getElementById('imageCounter').innerHTML = "Bilde " + (imageIndex + 1) + " av " + numImages;
  }
  else {
    document.getElementById('imageCounter').innerHTML = "Picture " + (imageIndex + 1) + " of " + numImages;    
  }
  
  swapImageText();
  
  lastThumb = imageIndex;
  
  isFading = true;
  v = 90.0;
  fadeLayer = document.getElementById('img' + lastImage).style;    
  
  if (fadeLayer.filter == null) {            
    timer = setInterval("fadeImage(-fadeSpeed, 1.0)", 1);     
  }
  else {  
    timer = setInterval("fadeImageIE(-fadeSpeed, 1.0)", 1);     
  }
}


function update() {
  if (imageIndex > (numImages - 1)) {
    imageIndex = 0;
  }
  if (imageIndex < 0) {
    imageIndex = numImages - 1;
  }

  updateThumbnails();
  
  setFullscreenUrl();

  lastImage = imageIndex;
  
  document.getElementById('img' + lastImage).style.zIndex = "5";
  document.getElementById('img' + imageIndex).style.display = "block";    

  document.getElementById('thumb' + lastThumb).className = "thumbnail";  
  document.getElementById('thumb' + imageIndex).className = "thumbnail_active";  

  document.getElementById('imageCounter').innerHTML = "Picture " + (imageIndex + 1) + " of " + numImages;    
  
  swapImageText();
  
  lastThumb = imageIndex;
}


function fadeImage(spd, step) {

  opacity = Math.sin((v * Math.PI) / 180.0) * step;
  fadeLayer.opacity = opacity;
      
  v += spd;
  if (Math.abs(v) > 89.0) {
    stopFade();
  }
}


function fadeImageIE(spd, step) {

  opacity = Math.sin((v * Math.PI) / 180.0) * step;
  fadeLayer.filter = "alpha(opacity=" + (opacity * 100) + ")";
      
  v += spd;
  if (Math.abs(v) > 89.0) {
    stopFade();
  }
}


function stopFade() {
  clearInterval(timer);
  timer = null;
  document.getElementById('img' + lastImage).style.display = "none";
  document.getElementById('img' + lastImage).style.zIndex = "4";    
  
  if (document.getElementById('img' + lastImage).style.filter == null) {
    document.getElementById('img' + lastImage).style.opacity = "1.0"; 
  }
  else {
    document.getElementById('img' + lastImage).style.filter = "alpha(opacity=100)";    
  }
    
  lastImage = imageIndex;
  isFading = false;
}


function addImageText(caption) {
  captions[numCaptions] = caption;
  numCaptions++;  
}


function swapImageText() {
  document.getElementById('caption').innerHTML = captions[imageIndex];
}


function toggleArticle () {

  if(document.getElementById('article_body').style.display == "block") {
    document.getElementById('article_body').style.display = "none";
    document.getElementById('article_body_background').style.display = "none";
    document.getElementById('les_mer').style.display = "block";            
  }
  else {
    document.getElementById('article_body').style.display = "block";
    document.getElementById('article_body_background').style.display = "block";            
    document.getElementById('les_mer').style.display = "none";                
  }
}




// Fullscreen

function addImage(url, alt, width, height) {
  fs_images[fsNumImages] = new fs_image(url, alt, width, height);
  fsNumImages++;
}


function getImageUrl(index) {
  return fsImageUrl[index];
}


function getImageAlt(index) {
  return fsImageAlt[index];
}


function browseForwardFS() {
  if(isFading == false) {
    imageIndex++;
    imageBrowserFS();
  }
}


function browseBackwardFS() {
  if(isFading == false) {  
    imageIndex--;
    imageBrowserFS();
  }
}


function imageBrowserFS() {

  
  isFading = true;  

  fadeLayer = document.getElementById('fs_image').style;
      
  if (imageIndex > (fsNumImages - 1)) {
    imageIndex = 0;
  }
  if (imageIndex < 0) {
    imageIndex = fsNumImages - 1;
  }

  setUrl();

  document.getElementById('fs_image2').style.display = "block";    
  document.getElementById('fs_image2').src = fs_images[imageIndex].getSrc();
  document.getElementById('fs_image2').alt = fs_images[imageIndex].getAlt();  
    
  v = 90.0;
  
  if (fadeLayer.filter == null) {            
    fsTimer = setInterval("fadeFullscreen(-fadeSpeed, 1.0)", 1);
  }
  else {
    fsTimer = setInterval("fadeFullscreenIE(-fadeSpeed, 1.0)", 1);    
  }
}


function fadeFullscreen(spd, step) {
    
  opacity = Math.sin((v * Math.PI) / 180.0) * step;
  fadeLayer.opacity = opacity;
      
  v += spd;
  if (Math.abs(v) > 89.0) {
    stopFadeFullscreen();   
  }
}


function fadeFullscreenIE(spd, step) {
    
  opacity = Math.sin((v * Math.PI) / 180.0) * step;
  fadeLayer.filter = "alpha(opacity=" + (opacity * 100) + ")";
      
  v += spd;
  if (Math.abs(v) > 89.0) {
    stopFadeFullscreen();   
  }
}


function stopFadeFullscreen() {
  
  clearInterval(fsTimer);
  fsTimer = null;
  
  document.getElementById('fs_image').src = fs_images[imageIndex].getSrc();
  document.getElementById('fs_image').alt = fs_images[imageIndex].getAlt();

  if (fadeLayer.filter == null) {
    fadeLayer.opacity = "1.0";
  }
  else {
    fadeLayer.filter = "alpha(opacity=100)";    
  }
    
  isFading = false;
  v = 90.0;
}


function navigationButtons() {
  
  var width = fs_images[imageIndex].getWidth();
  var height = fs_images[imageIndex].getHeight();

  document.getElementById('previous').style.width = width / 2 + "px";
  document.getElementById('previous').style.height = height + "px";
  
  document.getElementById('next').style.width = width / 2 + "px";
  document.getElementById('next').style.height = height + "px";
  document.getElementById('next').style.left = width / 2 + "px";  

  if (language == 'no') {
    document.getElementById('lukk').style.left = width - 112 + "px";  
  }
  else {
    document.getElementById('lukk_en').style.left = width - 112 + "px";  
  }
}


function showClosebutton() {
  if (language == 'no') {
    document.getElementById('lukk').style.visibility = 'visible';
  }
  else {
    document.getElementById('lukk_en').style.visibility = 'visible';
  }
}


function hideClosebutton() {
  if (language == 'no') {
    document.getElementById('lukk').style.visibility = 'hidden';
  }
  else {
    document.getElementById('lukk_en').style.visibility = 'hidden';
  }
}


function fs_image(source, alttext, w, h) {
  
  this.src = source;
  this.alt = alttext;
  this.width = w;
  this.height = h;
  
  this.getSrc = function() {
    return this.src;
  }

  this.getAlt = function() {
    return this.alt;
  }

  this.getWidth = function() {
    return this.width;
  }

  this.getHeight = function() {  
    return this.height;
  }  
}


function dumpInfo() {
  
  for (var i = 0; i < fsNumImages - 1; i++) {
    alert(fs_images[i].getSrc() + ", " + 
          fs_images[i].getAlt() + ", " +
          fs_images[i].getWidth() + ", " +
          fs_images[i].getHeight());
  }
}




// Samlesiden

function toggle_menu(menutext) {
  
  var menu = document.getElementById("sort_choices").style;
  
  if (menu.display == "block") {
    menu.display = "none";
  }
  else {
    menu.display = "block";
  }

  setMenuText(menutext)
}


function setMenuText(menutext) {
  if(menutext != null) {
    document.getElementById("sortmenu").innerHTML = menutext;    
  }
}


function initCarousel(np) {
  document.getElementById('karusell_side_0').style.display = 'block';
  numPages = np;
  
}


function mostReadForward() {
  if (numPages > 1) {
    document.getElementById('karusell_side_' + mostReadArticlesIndex).style.display = 'none';  
    mostReadArticlesIndex += 1;
    if (mostReadArticlesIndex > numPages) {
      mostReadArticlesIndex = 0;
    }
    document.getElementById('karusell_side_' + mostReadArticlesIndex).style.display = 'block';
  }
}


function mostReadBackward() {
  if (numPages > 1) {
    document.getElementById('karusell_side_' + mostReadArticlesIndex).style.display = 'none';  
   
    mostReadArticlesIndex -= 1;
    if (mostReadArticlesIndex < 0) {
      mostReadArticlesIndex = numPages;
    }
    document.getElementById('karusell_side_' + mostReadArticlesIndex).style.display = 'block';
  }
}


