/////////////////////
// SPACER FUNCTION //
/////////////////////
  function spacer(width, height, border, alt) {
    var strAlt    = (alt)            ? '    alt="' + alt    + '" ' : '';
    var strBorder = (!isNaN(border)) ? ' border="' + border + '" ' : '';
    var str = '';
    str += '<IMG src="' + g_rootLMSPix + 'empty.gif" width="' + width + '"' +
               ' height="' + height + '" ' + strBorder + strAlt + '>';
    return str;
  }


/////////////////
// REFERENTIES //
/////////////////
  function openDigiRef(refno) {
    var currScrWidth  = (document.all) ? (parent.document.body.clientWidth)  : (window.innerWidth);
    var currScrHeight = (document.all) ? (parent.document.body.clientHeight) : (window.innerHeight);
    var windowX       = parent.window.screenLeft;
    var windowY       = parent.window.screenTop;
    var digiRefWidth  = 739;
    var digiRefHeight = 464;
    var digiRefX      = (currScrWidth  / 2) - (digiRefWidth  / 2) + windowX;
    var digiRefY      = (currScrHeight / 2) - (digiRefHeight / 2) + windowY - 67;

    var digiRefFile   = g_rootLMSRef + refno + '/DigiRef.html?startpage=index.htm';
    var wndName       =  'digiRef';
    var attrs         = 'resizable=yes,menubar=0,location=0,toolbar=0,width=' + digiRefWidth + ',height=' + digiRefHeight + ',left=' + digiRefX + ',top=' + digiRefY;
    var refBox        = window.open(digiRefFile, wndName, attrs);
    refBox.focus();
  }


// LINKS FROM INFOBOX AND FINISHBOX
  function doLink(linkType, val) {
    switch(linkType) {
      case C_LINKTYPE_URL: {
        var link2Go = val;
        var attrs   = 'width=750,height=550,left=50,top=50,scrollbars=yes,resizable=yes,menubar=yes,location=yes,toolbar=yes';
        break;
      }
      case C_LINKTYPE_REDIRECT: {
        var link2Go = 'www.woltersatlas.nl?id=' + val;
        var attrs   = 'width=750,height=550,left=50,top=50,menubar=yes,toolbar=yes';
        break;
      }
      case C_LINKTYPE_REFERENCE: {
        // VAL IS OF FORM: REFX
        // URL#BOOKMARK AND MUST BE MAPPED TO REFERENCEX/DIGIREF.HTML?STARTPAGE=URL#BOOKMARK
        var refNr = val.charAt(3);
        var url   = val.substr(6);

        var currScrHeight = (document.all) ? (parent.document.body.clientHeight) : (window.innerHeight);
        var currScrWidth  = (document.all) ? (parent.document.body.clientWidth)  : (window.innerWidth);
        var windowX = parent.parent.window.screenLeft;
        var windowY = parent.parent.window.screenTop;
        var digiRefWidth  = 482;
        var digiRefHeight = 255;
        var digiRefX = (currScrWidth  / 2) - (digiRefWidth  / 2) + windowX;
        var digiRefY = (currScrHeight / 2) - (digiRefHeight / 2) + windowY - 67;
        var thisURL  = self.location.href;

        var link2Go = g_rootLMSRef + refNr + '/DigiRef.html?startpage=' + url;
        var attrs   = 'resizable=yes,menubar=0,location=0,toolbar=0,width=' + digiRefWidth + ',height=' + digiRefHeight + ',left=' + digiRefX + ',top=' + digiRefY;
        break;
      }
      case C_LINKTYPE_ASSET: {
        var link2Go = g_rootSCO + '_assets/' + val;
        var attrs   = 'width=750,height=550,left=50,top=50,menubar=yes,toolbar=yes';
        break;
      }
    }
    var wndName = 'external_link';
    var strURL  = urlEsc(link2Go);
    var extlink = window.open(strURL, wndName, attrs);
    extlink.focus();
  }


  function writeInfoBox() {
    var frameWidth  = g_currScrWidth;
    var frameHeight = g_currScrHeight;

    var windowX    = window.screenLeft;
    var windowY    = window.screenTop;
    var infoWidth  = 300;
    var infoHeight = 300;
    var infoX      = (frameWidth  / 2) - (infoWidth  / 2) + windowX + 111;
    var infoY      = (frameHeight / 2) - (infoHeight / 2) + windowY;

    var strURL     = 'infobox.htm';
    var strWndName = 'infobox';
    var strAttrs   = 'resizable=yes,menubar=0,width=' + infoWidth + ',' +
                     'height=' + infoHeight + ',left=' + infoX + ',top=' + infoY;

    var infoBox    = window.open(strURL, strWndName, strAttrs);
    infoBox.focus();
  }


  var g_extraInfoVisible = false;


  function dumpReferences() {
    if(parent.frames.content &&
       parent.frames.content.screens &&
       parent.frames.content.screens.document.getElementById('extraInfo')) {

      var obj = parent.frames.content.screens.document.getElementById('extraInfo');
      obj.style.visibility = (!g_extraInfoVisible) ? 'visible' : 'hidden';

      var obj = parent.frames.toolbar.document.getElementById('extraInfoSpan');
      obj.innerHTML = (!g_extraInfoVisible) ? getExtraInfoBtn('up') : getExtraInfoBtn('down');

      g_extraInfoVisible = !g_extraInfoVisible;
    }
    else {
      if(parent.frames.content) {
        var obj = parent.frames.content.document.getElementById('extraInfo');
        obj.style.visibility = (!g_extraInfoVisible) ? 'visible' : 'hidden';
  
        var obj = parent.frames.toolbar.document.getElementById('extraInfoSpan');
        obj.innerHTML = (!g_extraInfoVisible) ? getExtraInfoBtn('up') : getExtraInfoBtn('down');
  
        g_extraInfoVisible = !g_extraInfoVisible;
      }
    }
  }


  function closeReferences() {
    if(parent.frames.content &&
       parent.frames.content.screens &&
       parent.frames.content.screens.document.getElementById('extraInfo')) {

      g_extraInfoVisible = false;

      var obj = parent.frames.content.screens.document.getElementById('extraInfo');
      obj.style.visibility = 'hidden';

      var objImg = parent.frames.toolbar.document.getElementById('extraInfoArrow');
      objImg.src = g_rootLMSPix + 'arrow_down_filled.gif';
    }
  }


  function changeMenuState(mnuID, sel) {
    var selGroup = 'Intro';

//  RESETTEN VAN ALLE MENUITEMS
    changeMenuItemState('Intro', '');
    for(var i = 0; i < lm.groups.length; i++) {
      if(g_currGroupGUID == lm.groups[i].groupGUID) selGroup = i;
      changeMenuItemState(i, '');
    }

//  SELECTEREN VAN DE MOUSEOVER
    if(sel) changeMenuItemState(mnuID, 'Over');

//  SELECTEREN VAN DE SELECTED
    changeMenuItemState(selGroup, 'Over');
  }


  function changeMenuItemState(itemID, state) {
    state = (state) ? state : '';
    
    var obj = frames.groups.document.getElementById('menuContentLeft' + itemID);
    obj.className = 'menuContentLeft' + state;

    var pointer = (state == 'Over') ? '>' : spacer(1, 1);
    var obj = frames.groups.document.getElementById('menuContentRight' + itemID);
    obj.innerHTML = pointer;
  }
