var isMinNS4=(navigator.appName.indexOf("Netscape")>=0&&parseFloat(navigator.appVersion)>=4)?1:0;
var isMinIE4=(document.all)?1:0;
var isMinIE5=(isMinIE4 && navigator.appVersion.indexOf("MSIE 5.")>= 0||isMinIE4&& navigator.appVersion.indexOf("MSIE 6.")>=0)?1:0;

var clipTop,clipWidth,clipBottom,topper,lyrheight,time,amount,theTime,theHeight,DHTML;

var placing = new Array(
                        new Array(                              //0 - Searchbox Frontpage
                                  new Array(558, 85),           //Internet Explorer
                                  new Array(558, 76)            //Mozilla
                                 ),
                        new Array(                              //1 - Menu
                                  new Array(17, 89, 9, 25),     //Internet Explorer
                                  new Array(17, 75, 9, 25)      //Mozilla
                                 ),
                        new Array(                              //2 - Searchbox Template 1
                                  new Array(568, 8),            //Internet Explorer
                                  new Array(568, -1)            //Mozilla
                                 ),
                        new Array(                              //3 - Template 1 - Header
                                  new Array(303, 172),          //Internet Explorer
                                  new Array(303, 148)           //Mozilla
                                 ),
                        new Array(                              //4 - Template 1 - Level 3 menu
                                  new Array(303, 226),          //Internet Explorer
                                  new Array(303, 212)           //Mozilla
                                 ),
                        new Array(                              //5 - Template 1 - Text
                                  new Array(303, 250),          //Internet Explorer
                                  new Array(303, 236)           //Mozilla
                                 ),
                        new Array(                              //6 - Template 1 - Scrollbar
                                  new Array(735, 240, 305),     //Internet Explorer
                                  new Array(735, 226, 305)      //Mozilla
                                 ),
                        new Array(                              //7 - Searchbox Template 2
                                  new Array(568, 38),           //Internet Explorer
                                  new Array(568, 29)            //Mozilla
                                 ),
                        new Array(                              //8 - Template 2 - Header
                                  new Array(221, 71),           //Internet Explorer
                                  new Array(221, 57)            //Mozilla
                                 ),
                        new Array(                              //9 - Template 2 - Level 3 menu
                                  new Array(220, 3),            //Internet Explorer
                                  new Array(220, -11)           //Mozilla
                                 ),
                        new Array(                              //10 - Template 2 - Text
                                  new Array(221, 110),          //Internet Explorer
                                  new Array(221, 96)            //Mozilla
                                 ),
                        new Array(                              //11 - Template 2 - Scrollbar
                                  new Array(720, 100, 445),     //Internet Explorer
                                  new Array(730, 86, 445)      //Mozilla
                                 ),
                        new Array(                              //12 - Searchbox Template 3
                                  new Array(568, 38),           //Internet Explorer
                                  new Array(568, 29)            //Mozilla
                                 ),
                        new Array(                              //13 - Template 3 - Header
                                  new Array(221, 71),           //Internet Explorer
                                  new Array(221, 57)            //Mozilla
                                 ),
                        new Array(                              //14 - Template 3 - Level 3 menu
                                  new Array(220, 3),            //Internet Explorer
                                  new Array(220, -11)           //Mozilla
                                 ),
                        new Array(                              //15 - Template 3 - Text
                                  new Array(221, 110),          //Internet Explorer
                                  new Array(221, 96)            //Mozilla
                                 ),
                        new Array(                              //16 - Template 3 - Scrollbar
                                  new Array(720, 100, 155),     //Internet Explorer
                                  new Array(730, 86, 155)       //Mozilla
                                 ),
                        new Array(                              //17 - Searchbox Template 4
                                  new Array(574, 5),            //Internet Explorer
                                  new Array(568, -1)            //Mozilla
                                 ),
                        new Array(                              //18 - Template 4 - Header
                                  new Array(229, 41),           //Internet Explorer
                                  new Array(229, 27)            //Mozilla
                                 ),
                        new Array(                              //19 - Template 4 - Level 3 menu
                                  new Array(220, 3),            //Internet Explorer
                                  new Array(220, -11)           //Mozilla
                                 ),
                        new Array(                              //20 - Template 4 - Text
                                  new Array(231, 80),           //Internet Explorer
                                  new Array(231, 66)            //Mozilla
                                 ),
                        new Array(                              //21 - Template 4 - Scrollbar
                                  new Array(451, 65, 265),      //Internet Explorer
                                  new Array(451, 51, 265)       //Mozilla
                                 ),
                        new Array(                              //2 - Searchbox Template 5
                                  new Array(),                  //Internet Explorer
                                  new Array()                   //Mozilla
                                 ),
                        new Array(                              //3 - Template 5 - Header
                                  new Array(),                  //Internet Explorer
                                  new Array()                   //Mozilla
                                 ),
                        new Array(                              //4 - Template 5 - Level 3 menu
                                  new Array(),                  //Internet Explorer
                                  new Array()                   //Mozilla
                                 ),
                        new Array(                              //5 - Template 5 - Text
                                  new Array(),                  //Internet Explorer
                                  new Array()                   //Mozilla
                                 ),
                        new Array(                              //6 - Template 5 - Scrollbar
                                  new Array(),                  //Internet Explorer
                                  new Array()                   //Mozilla
                                 ),
                        new Array(                              //2 - Searchbox Template 6
                                  new Array(568, 8),            //Internet Explorer
                                  new Array(568, -1)            //Mozilla
                                 ),
                        new Array(                              //3 - Template 6 - Header
                                  new Array(303, 172),          //Internet Explorer
                                  new Array(303, 148)           //Mozilla
                                 ),
                        new Array(                              //4 - Template 6 - Level 3 menu
                                  new Array(303, 226),          //Internet Explorer
                                  new Array(303, 212)           //Mozilla
                                 ),
                        new Array(                              //5 - Template 6 - Text
                                  new Array(303, 250),          //Internet Explorer
                                  new Array(303, 236)           //Mozilla
                                 ),
                        new Array(                              //6 - Template 6 - Scrollbar
                                  new Array(735, 240, 305),     //Internet Explorer
                                  new Array(735, 226, 305)      //Mozilla
                                 )
                       );
               
window.onresize = init;
  
function init()
{
  img = getElement("tom");
  displayFrontModules(img);
  displayMenu(img);
  makePage(img);

  //Text box
  for(i=1;i<=6;i++)
  {
    var layer = getElement('template'+i+'_main_text');
    if(layer!=null)
    {
      //Variables for template 1
      if(i==1)
      {
        clipTop = 0;
        clipWidth = 410;  //Should be equal to the layer width
        clipBottom = 310; //Height of the text area
        lyrheight = 0;
      }
      //Variables for template 2
      else if(i==2)
      {
        clipTop = 0;
        clipWidth = 490;  //Should be equal to the layer width
        clipBottom = 460; //Height of the text area
        lyrheight = 0;
      }
      //Variables for template 3
      else if(i==3)
      {
        clipTop = 0;
        clipWidth = 490;  //Should be equal to the layer width
        clipBottom = 170; //Height of the text area
        lyrheight = 0;
      }
      //Variables for template 4
      else if(i==4)
      {
        clipTop = 0;
        clipWidth = 210;  //Should be equal to the layer width
        clipBottom = 265; //Height of the text area
        lyrheight = 0;
      }
      //Variables for template 5
      else if(i==5)
      {
        clipTop = 0;
        clipWidth = 210;  //Should be equal to the layer width
        clipBottom = 265; //Height of the text area
        lyrheight = 0;
      }
      //Variables for template 6
      else if(i==6)
      {
        clipTop = 0;
        clipWidth = 410;  //Should be equal to the layer width
        clipBottom = 310; //Height of the text area
        lyrheight = 0;
      }
      else
      {
        alert(i);
      }
      
      
      if (document.layers)
      {
        topper = layer.style.top;
        lyrheight = layer.style.clip.bottom;
        lyrheight += 20;
        layer.style.clip.top = clipTop;
        layer.style.clip.left = 0;
        layer.style.clip.right = clipWidth;
        layer.style.clip.bottom = clipBottom;
      }
      else if (document.getElementById || document.all)
      {
        topper = layer.style.top.substring(0,(layer.style.top.length - 2));
        lyrheight = layer.offsetHeight;
        layer.style.clip = 'rect('+clipTop+'px '+clipWidth+'px '+clipBottom+'px 0px)'
      }
      else return; //Not DHTML
    }
  }
}

function displayFrontModules(imgobj)
{
  if(getElement('boks1')!=null &&  getElement('boks2')!=null &&  getElement('boks3')!=null &&  getElement('boks4')!=null)
  {
    moveLayerTo(getElement('boks1'), getImagePageLeft(imgobj)+412, getImagePageTop(imgobj)+178);
    moveLayerTo(getElement('boks2'), getImagePageLeft(imgobj)+572, getImagePageTop(imgobj)+178);
    moveLayerTo(getElement('boks3'), getImagePageLeft(imgobj)+412, getImagePageTop(imgobj)+308);
    moveLayerTo(getElement('boks4'), getImagePageLeft(imgobj)+572, getImagePageTop(imgobj)+308);
    
    //Show the layers
    show('boks1');
    show('boks2');
    show('boks3');
    show('boks4');
  }
}

function displayMenu(imgobj)
{ 
  if(isMinIE4) var browser = 0;
  if(isMinNS4) var browser = 1;
  
  var firstleft = placing[1][browser][0];
  var firsttop = placing[1][browser][1];
  var stepin = placing[1][browser][2];
  var stepdown = placing[1][browser][3];
  
  var subfirstleft = firstleft+110;
  var subfirsttop = firsttop;
  var substepin = 3;
  var substepdown = stepdown;
  
  for(i=0;getElement('menu'+i)!=null;i++)
  {
    moveLayerTo(getElement('menu'+i), getImagePageLeft(imgobj)+firstleft+(stepin*i), getImagePageTop(imgobj)+firsttop+(stepdown*i));
    hideLayer('submenu'+i);
    moveLayerTo(getElement('submenu'+i), getImagePageLeft(imgobj)+subfirstleft+(substepin*i), getImagePageTop(imgobj)+subfirsttop+(substepdown*i));
    
    //Show the layers
    show('menu'+i);
  }
  
  //Show layers that links to front page
  moveLayerTo(getElement('top_link'), getImagePageLeft(imgobj), getImagePageTop(imgobj)-10);
  moveLayerTo(getElement('bottom_link'), getImagePageLeft(imgobj)+35, getImagePageTop(imgobj)+480);
}

function makePage(imgobj)
{
  if(isMinIE4) var browser = 0;
  if(isMinNS4) var browser = 1;
  
  for(template = 0; template<=6; template++)
  {
    var indeks = (template-1)*5;
    if(indeks == -5) indeks = -2; //Correction for frontpage
    
    //placing the search box
    if(getElement('searchbox'+template)!=null)
    {
      moveLayerTo(getElement('searchbox'+template), getImagePageLeft(imgobj)+placing[(2+indeks)][browser][0], getImagePageTop(imgobj)+placing[(2+indeks)][browser][1]);
      show('searchbox'+template);
    }
    
    //Move header in place
    if(getElement('template'+template+'_header')!=null)
    {
      moveLayerTo(getElement('template'+template+'_header'),getImagePageLeft(imgobj)+placing[(3+indeks)][browser][0],getImagePageTop(imgobj)+placing[(3+indeks)][browser][1]);
      show('template'+template+'_header');
    }
    
    //Move the level 3 in place
    if(getElement('template'+template+'_menu_3level')!=null)
    {
      moveLayerTo(getElement('template'+template+'_menu_3level'),getImagePageLeft(imgobj)+placing[(4+indeks)][browser][0],getImagePageTop(imgobj)+placing[(4+indeks)][browser][1]);
      show('template'+template+'_menu_3level');
    }
    
    //Move the text in place
    if(getElement('template'+template+'_main_text')!=null)
    {
      moveLayerTo(getElement('template'+template+'_main_text'),getImagePageLeft(imgobj)+placing[(5+indeks)][browser][0],getImagePageTop(imgobj)+placing[(5+indeks)][browser][1]);
      show('template'+template+'_main_text');
    }
    
    //Making the scrollbar
    if(getElement('template'+template+'_scroll_up')!=null)
    {
      barlayer = getElement('template'+template+'_scroll_bar');
      barlayer.style.width = "1px";
      barlayer.style.height = placing[(6+indeks)][browser][2] +"px";
      
      t_left = getImagePageLeft(imgobj)+placing[(6+indeks)][browser][0];
      t_top  = getImagePageTop(imgobj)+placing[(6+indeks)][browser][1];
      
      moveLayerTo( getElement('template'+template+'_scroll_up'), t_left, t_top );
      moveLayerTo( barlayer, t_left+4, t_top+13 );
      moveLayerTo( getElement('template'+template+'_scroll_down'), t_left, t_top+placing[(6+indeks)][browser][2]+16 );
      
      //Show layers
      show('template'+template+'_scroll_up');
      show('template'+template+'_scroll_bar');
      show('template'+template+'_scroll_down');
    }
  }
}

function getElement(elmId)
{
  if (document.getElementById) 
  {
    return document.getElementById(elmId);
  }
  else if (document.all) 
  {
    return document.all[elmId];
  } 
  else return null;
}

function getImagePageTop(img)
{
  var y,obj;
  if(isMinNS4)
  {
    if(img.container!=null) return img.container.pageY+img.y;
    else return img.y;
  }
  if(isMinIE4)
  {
    y=0;
    obj=img;
    while(obj.offsetParent!=null)
    {
      y+=obj.offsetTop;
      obj=obj.offsetParent;
    }
    y+=obj.offsetTop;
    return y;
  }
  return-1;
}

function getImagePageLeft(img)
{
  var x,obj;
  if(isMinNS4)
  {
    if(img.container!=null) return img.container.pageX+img.x;
    else return img.x;
  }
  if(isMinIE4)
  {
    x=0;
    obj=img;
    while(obj.offsetParent!=null)
    {
      x+=obj.offsetLeft;
      obj=obj.offsetParent;
    }
    x+=obj.offsetLeft;
    return x;
  }
  return-1;
}

function scrollayer(layername,amt,tim)
{
  thelayer = getElement(layername);
  if (!thelayer) return;
  amount = amt;
  theTime = tim;
  realscroll();
}

function realscroll()
{
  clipTop += amount;
  clipBottom += amount;
  topper -= amount;
	
  if (clipTop < 0 || clipBottom-15 > lyrheight)
  {
    clipTop -= amount;
    clipBottom -= amount;
    topper += amount;
    return;
  }
  if (document.getElementById || document.all)
  {
    clipstring = 'rect('+clipTop+'px '+clipWidth+'px '+clipBottom+'px 0px)'
    thelayer.style.clip = clipstring;
    thelayer.style.top = topper + 'px';
  }
  else if (document.layers)
  {
    thelayer.style.clip.top = clipTop + 'px';
    thelayer.style.clip.bottom = clipBottom + 'px';
    thelayer.style.top = topper + 'px';
  }
  time = setTimeout('realscroll()',theTime);
}

function stopScroll()
{
  if (time) clearTimeout(time);
}

function open_picture(pictureid)
{
  window.open('picturepage.php?picture='+pictureid,'PicturePage', 'resizable=no,scrollbars=no,toolbar=no,status=no,menubar=no,copyhistory=no');
}

function moveLayerTo(div, x, y)
{
  div.style.left = x + 'px';
  div.style.top  = y + 'px';
}

function hideLayer(layername)
{
  layer = getElement(layername);
  layer.style.visibility="hidden";
}

function showLayer(layername)
{
  for(i=0;getElement('menu'+i)!=null;i++) hideLayer('submenu'+i);
  show(layername);
}

function show(layername)
{
  layer = getElement(layername);
  layer.style.visibility="visible";
}
