// main javascript file
var volumeitems = 6;                  // number of volume items                
var v_active = 9;                     // to store active volume number
var load_fin=false, menu_redo=false;  // detect loading finished and menu redrawn
var teller=0;
var afoot=true;
var style0=true;                  // used to change between two style sheet sets

// global variables
var isCSS, isW3C, isIE4, isNN4, isIE6CSS;
var noDHTML;                      // browser not dhtml capable


// initialize upon load to let all browsers establish content objects
function initDHTMLAPI(){
  load_fin = true;
  if (document.images){
    isCSS = (document.body && document.body.style) ? true : false;
    isW3C = (isCSS && document.getElementById) ? true: false;
    isIE4 = (isCSS && document.all) ? true: false;
    isNN4 = (document.layers)? true: false;
    isIE6CSS = (document.compatMode && document.compatMode.indexOf ("CSS1") >=0)? true: false;
    noDHTML = (!isW3C && !isIE4)? true: false;    // no dhtml capable browser
  }
}

//-------------------------------------------------------------------------
// array definition for coordinates for visited pages (maximum is 20)
//-------------------------------------------------------------------------
// investigate creating new record when new page is visited (no maximum)
function navobject(){
  this.v = -1;                         // pointer for volume item
  this.m = 0;                          // pointer for menu item
  this.sm = 9;                         // pointer for submenu items
}

var nav_pointer=0;  
var nav_size = 20;
var nav = new Array(nav_size);
    nav[0]= new navobject();
    nav[1]= new navobject();
    nav[2]= new navobject();
    nav[3]= new navobject();
    nav[4]= new navobject();
    nav[5]= new navobject();
    nav[6]= new navobject();
    nav[7]= new navobject();
    nav[8]= new navobject();
    nav[9]= new navobject();
    nav[10]= new navobject();
    nav[11]= new navobject();
    nav[12]= new navobject();
    nav[13]= new navobject();
    nav[14]= new navobject();
    nav[15]= new navobject();
    nav[16]= new navobject();
    nav[17]= new navobject();
    nav[18]= new navobject();
    nav[19]= new navobject();
//-------------------------------------------------------------------------
// array definition for menu data
//-------------------------------------------------------------------------
function menuobject(){
    this.name = "";           // name for menu item 
    this.tip = "";            // mouse over text for menu item
    this.murl = "";            // url for menu item
    this.size = 0;            // number of sub menu items for this menu item
    this.sa = 0;              // subactive: selected menu item at sub menu level
    this.sn = new Array();    // subname: name for sub menu item
    this.st = new Array();    // subtip: tip text for sub menu item
    this.surl = new Array();    // url's for submenu items
}
//-------------------------------------------------------------------------
// array definition for heading volume buttons data
//-------------------------------------------------------------------------
function volumeobject(){
    this.name = "";               // name for volume item 
    this.tip = "";                // mouse over text for volume item
    this.box_class = "";          // number to determine style of volume label
    this.bg_url = "";             // url for menubox background
    this.size = 0;                // number of menu items
    this.m_active = 0;            // active menu item
    this.sm_active = 9;           // active sub menu item-- 9 is no submenu active
    this.base = "";               // base for url's in data table
    this.menu = new Array();
    this.menu[0] = new menuobject();
    this.menu[1] = new menuobject();
    this.menu[2] = new menuobject();
    this.menu[3] = new menuobject();
    this.menu[4] = new menuobject();
    this.menu[5] = new menuobject();
    this.menu[6] = new menuobject();
    this.menu[7] = new menuobject();
    this.menu[8] = new menuobject();
}

var v = new Array();
    v[0]= new volumeobject();
    v[1]= new volumeobject();
    v[2]= new volumeobject();
    v[3]= new volumeobject();
    v[4]= new volumeobject();
    v[5]= new volumeobject();
	v[6]= new volumeobject();
//-------------------------------------------------------------------------
// array definition for heading quick menu data
//-------------------------------------------------------------------------
function quick_obj(){
  this.title;
  this.msgurl;
  this.tip;
  this.mstype;
}
//-------------------------------------------------------------------------
//  preloaded images 
//-------------------------------------------------------------------------
larrow = new Image();
larrow.src = "images/arrow-left.gif";
larrow_on = new Image();
larrow_on.src = "images/arrow-left-on.gif";
rarrow = new Image();
rarrow.src = "images/arrow-right.gif";
rarrow_on = new Image();
rarrow_on.src = "images/arrow-right-on.gif";
    
//-------------------------------------------------------------------------
//  function to execute quick menu tasks. 
//-------------------------------------------------------------------------
var mail_msg = '';

function change_lang(n){			// change language
  switch (n){
    case 1: parent.main.location.href= 'volume5_e/ll-list.html';  break;
    case 2:   break;
    case 3: parent.main.location.href= 'volume5_e/ll-list.html';  break;
  }
}
function printMain() {				// print document in main window
  if (parent.mmenu.isW3C) { // IE5
    parent.main.focus();
    window.print();
  } else if (parent.mmenu.isNN4) { // NS4
    parent.main.print();
  }
}

function openmailwin(){
  parent.main.location.href = 'volume0_e/mail_to.html';
}

function constructmail(){
var h_str;
  h_str  = "<form method='post' action='http://home.planet.nl/cgi-bin/uncgi/respons?ip_email=lovasc@planet.nl'>";
  h_str += "<input type='text' value='";
  h_str += mail_msg;
  h_str += "'><input type='submit' value='Send'></form>";
//  with parent.main{
//    document.open;
    parent.main.document.write(h_str);
//    document.close; 
//  }
}

//-------------------------------------------------------------------------
//  function to generate the heading with volume labels; called from heading.html 
//-------------------------------------------------------------------------
function makeheading(){
with (window.parent.heading){
  var  textstart = 0;             // allow for left margin+border+padding + offset
  var  textspace = 0;
  var  charwidth = 7;            // character width in pixels
  var h_str = "";
//------------- insert suparator logo
  h_str += "<img src='images/logo-spr-kort-180-41.gif' width='180'";
  h_str += "height='41' alt='Logo Suparator' style='margin: 0px; float: right;'>";
  h_str += "<div id='button-box'>";
//------------- insert volume titles as links 
  for (i=0;i<parent.mmenu.volumeitems;i++){
	textspace = 8 + charwidth * parent.mmenu.v[i].name.length;
    if (i == parent.mmenu.v_active){
      h_str +="<span class='button-on'>";
      h_str += parent.mmenu.v[i].name+ "</span>";
    }
    else {
      h_str += "<span class='button'";
      h_str += "onclick='javascript:parent.frames.mmenu.vact("+i+");";
      h_str += "return false;'";
      h_str += "onMouseover='head_over(this,event,parent.mmenu.v["+i+"].tip)'";
      h_str += " onMouseout='hidetip()'>";
      h_str += parent.mmenu.v[i].name+ "</span>";
    }
    textstart += textspace;
  }
  textspace = getInsideWindowWidth()- textstart -180 -20;
  h_str += "</div>";
//  -----------  insert horizontal line -----------------
  h_str += "<div id='hrbox' style='left: ";
  h_str += textstart+10+ "px; width:"+ textspace+ "px;'><hr></div>";
  h_str += "</div>";
//  -----------  insert quick menu -----------------
//  h_str += "<div id='quickmenu' >";
//  for (i=0;i<parent.mmenu.q_list.length;i++){
//    h_str += "<span class='quickitem' onClick='";
//    h_str += parent.mmenu.q_list[i].msgurl + "'";
//	h_str += " onMouseover='local_over(this,parent.mmenu.q_list[";
//	h_str += i + "].tip)'";
//    h_str += " onMouseout='local_out(this)'>";
//    h_str += parent.mmenu.q_list[i].title;
//    h_str += "</span>";
//  }
  if (parent.mmenu.v_active == 6) h_str = "<span class='button-on'>You have entered the restricted section!.</span>";
  loadmsg(h_str,"buttonframe");
}
}
//----------------------------------------------------------------------
//function to generate the menus and submenus; called by menu.html 
//----------------------------------------------------------------------
function writemenu(){
  var vvar = parent.mmenu.v_active;
  var localv = parent.mmenu.v[vvar];
  var mvar  = localv.m_active;
  var smvar = localv.sm_active;
  var h_str = "<div id='linktips' ></div>";
  with (parent.menu){
    for (i=0;i<localv.size;i++){
      localm = parent.mmenu.v[parent.mmenu.v_active].menu[i];
      localms = "parent.mmenu.v[parent.mmenu.v_active].menu["+i+"]";
      if (i == mvar && smvar ==9){
        h_str += "<div class='mitemon'><a href='blank.html' target='main'";
		h_str += " onclick='javascript: parent.mmenu.m_act(";
		h_str += i+ "); return false;' onMouseover='menu_over(this,event,";
		h_str += localms+ ".tip)' onMouseout='hidetip()'>";
		h_str += "<img src='images/closed.gif' border='0'>";
		h_str += localm.name+ "</a></div>";
      }
      else {
        h_str += "<div class='mitem'><a href='blank.html' target='main'";
		h_str += " onclick='javascript: parent.mmenu.m_act(";
		h_str += i+ "); return false;' onMouseover='menu_over(this,event,";
		h_str += localms+ ".tip)' onMouseout='hidetip()'>";
		h_str += " <img src='images/closed.gif' border='0'>";
		h_str += localm.name+ "</a></div>";
      }
      if (i == mvar){
        for (j=0;j<localm.size;j++){
          if (j == smvar){
            h_str += "<div class='smitemon'><a href='blank.html' target='main'";
			h_str += " onclick='javascript: parent.mmenu.sm_act("+i+","+j;
			h_str += "); return false;' onMouseover='menu_over(this,event,";
			h_str += localms+ ".st["+j+"])' onMouseout='hidetip()'>";
			h_str += localv.menu[i].sn[j]+ "</a></div>";
          }
          else {
            h_str += "<div class='smitem'><a href='blank.html' target='main'";
			h_str += " onclick='javascript: parent.mmenu.sm_act("+i+","+j;
			h_str += "); return false;' onMouseover='menu_over(this,event,";
			h_str += localms+ ".st["+j+"])' onMouseout='hidetip()'>";
			h_str += localv.menu[i].sn[j]+ "</a></div>";
          }
        }
      }
    }
    loadmsg(h_str,"menuframe");
	h_str = "<img src='" + parent.mmenu.v[parent.mmenu.v_active].bg_url + "' width='120' height='120' alt='' border='0' align=''>"
    loadmsg(h_str,"photoframe");

  }
  if (parent.mmenu.nav[0].v = -1) parent.mmenu.store_nav(vvar,mvar,smvar);
}
//-------------------------------------------------------------------
// act on heading click
//------------------------------------------------------------------- 
function vact(vv){
  mm = parent.mmenu.v[vv].m_active;
  ssm = parent.mmenu.v[vv].sm_active;
  set_pageurl(vv,mm,ssm);
}
//--------------------------------------------------------------------------
// act on menu click; open page; k= menu item; no submenu item. 
//--------------------------------------------------------------------------
function m_act(k){        
    vvar = parent.mmenu.v_active;
    set_pageurl(vvar,k,9);
}
//--------------------------------------------------------------------------
// act on sub-menu click; open page; k= menu item; s= submenu item  
//--------------------------------------------------------------------------
function sm_act(k,s){               
    vvar = parent.mmenu.v_active;
    set_pageurl(vvar,k,s);
}
//--------------------------------------------------------------------------
// called by every page which is opened, via function test_frames 
// restores heading and menu after loading a page
//--------------------------------------------------------------------------
function restoremenu(vv,mm,ssm) {   
  if (parent.mmenu.v_active != vv){                // test for volume change
    parent.mmenu.v_active = vv;
    parent.heading.location="../heading.html";     // rewrite heading
    parent.message.location="../message.html";     // rewrite message
    parent.mmenu.v[vv].m_active = mm;
    parent.mmenu.v[vv].sm_active = ssm;
    parent.menu.location= "../menu.html";           // rewrite menu
  } else {
    mvar  = parent.mmenu.v[vv].m_active;
    smvar = parent.mmenu.v[vv].sm_active;
    if (mvar!=mm || smvar!=ssm ){  					// test for menu change
      parent.mmenu.v[vv].m_active = mm;
      parent.mmenu.v[vv].sm_active = ssm;
      parent.menu.location= "../menu.html";           // rewrite menu
    }
  }
}

//--------------------------------------------------------------------------
// Tests if selected page (vvar,mvar,smvar) matches open page; else loads page 
// loads page on clicking menu or heading option
//--------------------------------------------------------------------------
function restorepage(vvar,mvar,smvar){        
  if (vvar != parent.main.v_item || mvar != parent.main.m_item || smvar != parent.main.sm_item){
    set_pageurl(vvar,mvar,smvar);
  }
}
//--------------------------------------------------------------------------
// reloads current page in main window; used to change languages. 
//--------------------------------------------------------------------------
function regen_site(){    // loads page after mmenu.html load
var vv=0,mm=0,ssm=9;
  if (parent.main.v_item){
    vv = parent.main.v_item;
	mm = parent.main.m_item;
	ssm = parent.main.sm_item;
  }
  set_pageurl(vv,mm,ssm);
}
//--------------------------------------------------------------------------
// set url for page in main window 
//--------------------------------------------------------------------------
function set_pageurl(vv,mm,ssm){    
  parent.mmenu.store_nav(vv,mm,ssm);
  localv = parent.mmenu.v[vv];
  localm = localv.menu[mm];
  if (ssm < 9){
    parent.main.location = localv.base + localm.surl[ssm];
  }
  else {
    parent.main.location = localv.base + localm.murl;
  } 
}

//--------------------------------------------------------------------------
// functies voor navigatie met pijl knoppen 
//--------------------------------------------------------------------------

function store_nav(vv,mm,ssm){
  i = nav_pointer;
  if (vv!=nav[i].v || mm!=nav[i].m || ssm!=nav[i].sm){ 
    if (i == nav_size-1) i = 0;  else i++;
    nav[i].v=vv;
    nav[i].m=mm;
    nav[i].sm=ssm;
    nav_pointer=i;
  }
}

function shiftpage(displace){
  i = parent.mmenu.nav_pointer + displace;
  if (i == nav_size) i = 0; 
  else if (i < 0) i = nav_size-1;
  if (parent.mmenu.nav[i].v != -1){
    vv=parent.mmenu.nav[i].v;
    mm=parent.mmenu.nav[i].m;
    ssm=parent.mmenu.nav[i].sm;
    parent.mmenu.nav_pointer =i;
    restorepage(vv,mm,ssm);
  }
}

