///////////////
// CONSTANTS //
///////////////
  var g_strGroupsMenuWidth     = 226;
  var g_extraInfoWidth         = g_strGroupsMenuWidth;

  var g_arrowSpacer1           =   5;
  var g_arrowSpacer2           =  60;

  var g_showBigNumbers         =   0;

  var g_startX                 =  57;
//  var g_startY                 =  11;

  var g_subgroupSpacer         =  15;
  var g_subgroupVerticalSpacer =   0;
  var g_learnunitLeftWidth     =  11;
  var g_learnunitCenterSpacer  =   4;

  var g_spaceRow               = '';

  var g_wndX;
  var g_wndY;

  var g_requiredFlashVersion   = 8;
  var g_FlashInstallPath       = '../third_parties/flash8/install_flash_player_active_x.msi';
  var g_ShockWaveInstallPath   = '../third_parties/shockwave/Shockwave_Installer_Full.exe';


/////////////
// METHODS //
/////////////
  learningMethod.prototype.writeFrameset = function() {
    var str = '';
    str += '<FRAMESET rows="55,20,*" border="0">\r\n' +
           '  <FRAME  name="title"     src="' + g_rootLMS + 'title.htm"   marginwidth="0" marginheight="0" scrolling="no" frameborder="0" border="0" noresize>\r\n' +
           '  <FRAME  name="toolbar"   src="' + g_rootLMS + 'toolbar.htm" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" border="0" noresize>\r\n' +
           '  <FRAMESET id="groupsAndContent" cols="' + g_strGroupsMenuWidth + ',*,0" border="0">\r\n' +
           '    <FRAME  name="groups"  src="' + g_rootLMS + 'groups.htm"  marginwidth="0" marginheight="0" scrolling="no" frameborder="0" border="0" noresize>\r\n' +
           '    <FRAME  name="content" src="' + g_rootLMS + 'intro.htm"   marginwidth="0" marginheight="0" scrolling="no" frameborder="0" border="0" noresize>\r\n' +
           '    <FRAME  name="empty"   src="' + g_rootLMS + 'empty.htm"   marginwidth="0" marginheight="0" scrolling="no" frameborder="0" border="0" noresize>\r\n' +
           '  </FRAMESET>\r\n' +
           '</FRAMESET>\r\n';

    return str;
  }


  learningMethod.prototype.writeTitle = function() {
    var str = '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">\r\n' +
                '<TR>' +
                  '<TD width="284" valign="top"><IMG src="' + g_rootLMSPix + 'logo_methode.gif"        width="284" height="50" border="0"></TD>\r\n' +
                  '<TD width="309" valign="top"><IMG src="' + g_rootLMSPix + 'logo_methode_visual.jpg" width="309" height="50" border="0"></TD>\r\n' +
                  '<TD width="154" class="titleLine" nowrap>' +
                    spacer(10, 1) +
                    '<B>' + this.stream + ' ' + this.streamYear + '</B><BR>' +
                    spacer(1, 3) + '<BR>' +
                    spacer(10, 1) +
                    '<SPAN class="lmLabel">' + this.label + '</SPAN>' +
                  '</TD>\r\n' +
                  '<TD class="titleLine">' + spacer(1, 1) + '</TD>\r\n' +
                  '<TD width="30" align="center"><IMG src="' + g_rootLMSPix + 'logo_mmm.gif" width="30" height="50" border="0"></TD>\r\n' +
                '</TR>\r\n' +
              '</TABLE>\r\n';
    return str;
  }


  function getExtraInfoBtn(direction) {
    var str = '';
    str += '<TABLE border="0" cellpadding="0" cellspacing="0"' +
                 ' width="' + g_strGroupsMenuWidth + '" height="20" class="extraInfo">' +
             '<TR>' +
               '<TD id="extraInfo" class="extraInfoHeader" valign="middle"' +
                  '     onclick="parent.dumpReferences();"' +
                  ' onmouseover="document.getElementById(\'extraInfoArrow\').src=\'' + parent.g_rootLMSPix + 'arrow_' + direction + '_filled_over.gif\';this.className=\'extraInfoHeaderOver\'"' +
                  '  onmouseout="document.getElementById(\'extraInfoArrow\').src=\'' + parent.g_rootLMSPix + 'arrow_' + direction + '_filled.gif\';this.className=\'extraInfoHeader\'">' +
                 spacer(5, 1) +
                 '<IMG id="extraInfoArrow" src="' + parent.g_rootLMSPix + 'arrow_' + direction + '_filled.gif">' +
               '</TD>' +
               '<TD class="extraInfoHeader" valign="middle"' +
                  '     onclick="parent.dumpReferences();"' +
                  ' onmouseover="document.getElementById(\'extraInfoArrow\').src=\'' + parent.g_rootLMSPix + 'arrow_' + direction + '_filled_over.gif\';this.className=\'extraInfoHeaderOver\'"' +
                  '  onmouseout="document.getElementById(\'extraInfoArrow\').src=\'' + parent.g_rootLMSPix + 'arrow_' + direction + '_filled.gif\';this.className=\'extraInfoHeader\'" nowrap>' +
                 spacer(45, 1) +
                 'extra info' +
               '</TD>' +
             '</TR>' +
           '</TABLE>';
    return str;
  }


  learningMethod.prototype.writeToolbar = function(currScrWidth) {
    g_extraInfoVisible = false;

    var strExtraInfo = spacer(100, 1);

    if(g_currLuGUID) {

      var strOnClick = 'parent.go2IntroScreen();';

      var strInhoud = '<TABLE border="0" cellpadding="0" cellspacing="0"' +
                            ' width="' + g_strGroupsMenuWidth + '" height="20" class="menu">' +
                        '<TR>' +
                          '<TD class="menuHeader" valign="middle"' +
                             '     onclick="' + strOnClick + '"' +
                             ' onmouseover="document.getElementById(\'inhoudArrow\').src=\'' + g_rootLMSPix + 'arrow_left_filled_over.gif\';this.className=\'menuHeaderOver\'"' +
                             '  onmouseout="document.getElementById(\'inhoudArrow\').src=\'' + g_rootLMSPix + 'arrow_left_filled.gif\';this.className=\'menuHeader\'">' +
                            spacer(5, 1) +
                            '<IMG src="' + g_rootLMSPix + 'arrow_left_filled.gif" id="inhoudArrow">' +
                          '</TD>' +
                          '<TD class="menuHeader" valign="middle"' +
                             '     onclick="' + strOnClick + '"' +
                             ' onmouseover="document.getElementById(\'inhoudArrow\').src=\'' + g_rootLMSPix + 'arrow_left_filled_over.gif\';this.className=\'menuHeaderOver\'"' +
                             '  onmouseout="document.getElementById(\'inhoudArrow\').src=\'' + g_rootLMSPix + 'arrow_left_filled.gif\';this.className=\'menuHeader\'" nowrap>' +
                            spacer(35, 1) + 'inhoudsopgave' +
                          '</TD>' +
                        '</TR>' +
                      '</TABLE>';
      if(this.references.length > 0)
        var strExtraInfo = '<SPAN id="extraInfoSpan">' + getExtraInfoBtn('down') + '</SPAN>';
    }
    else {
      var strInhoud = '<TABLE border="0" cellpadding="0" cellspacing="0"' +
                            ' width="' + g_strGroupsMenuWidth + '" height="20" class="menu">' +
                        '<TR>' +
                          '<TD class="menuHeader" valign="middle">' +
                            spacer(5, 1) +
                            '<IMG src="' + g_rootLMSPix + 'arrow_down.gif">' +
                          '</TD>' +
                          '<TD class="menuHeader" nowrap>' +
                            spacer(35, 1) +
                            'inhoudsopgave' +
                          '</TD>' +
                        '</TR>' +
                      '</TABLE>';
    }

    var str = '';
    str += '<TABLE border="0" cellpadding="0" cellspacing="0" height="15">' +
             '<TR>' +
               '<TD width="' + g_strGroupsMenuWidth + '">' + strInhoud + '</TD>' +
               '<TD>' + spacer(1, 1) + '</TD>' +
               '<TD width="100">' + strExtraInfo + '</TD>' +
             '</TR>' +
           '</TABLE>';
    return str;
  }


  function writeBrandLogo(frameWidth, frameHeight) {
    var str = '';
    var brandLogoX      = frameWidth  - 36;
    var brandLogoY      = frameHeight - 98;
    var brandLogoW      = 36;
    var brandLogoH      = 50;
    var brandLogoZIndex = 4;
    var CSSClass        = '';
    var content         = '<IMG src="' + g_rootLMSPix + 'logo_brand.gif"' +
                            ' width="' + brandLogoW + '" height="' + brandLogoH + '">';
    str += createDiv('MixedMediaLogo', brandLogoX, brandLogoY, brandLogoW, brandLogoH, brandLogoZIndex, CSSClass, content);
    return str;
  }


  learningMethod.prototype.writeIntroWindow = function(frameWidth, frameHeight,
                                                       wndWidth, wndHeight, wndZIndex,
                                                       CSSClass, content) {
    var str = '';
    g_wndX = g_startX + 1;
    g_wndY = frameHeight - g_startX - wndHeight;
    str += createDiv('welcomeTitle', g_wndX, g_wndY, wndWidth, wndHeight, wndZIndex, CSSClass, content);
    return str;
  }


////////////////////////////////
// GO2 FUNCTIES               //
////////////////////////////////
  function go2IntroScreen() {
    g_currLuGUID = '';

    parent.frames.groupsAndContent.cols = g_strGroupsMenuWidth + ',*,0';
    parent.frames.groups.location.reload();
    parent.frames.toolbar.location.reload();
  }


  function go2Group(currGUID) {
    g_currGroupGUID = (currGUID) ? currGUID : '';
    g_currLuGUID    = '';

    var go2Page     = (g_currGroupGUID) ? 'groupindex.htm' : 'intro.htm';

    frames.toolbar.location.reload();
    frames.content.location.href = go2Page;
  }


  function go2LearningUnit(GUID) {
    g_currLuGUID = GUID;

    var gr = lm.groupsByGUID[g_currGroupGUID];
    var lu = gr.learningUnitsByGUID[g_currLuGUID]

    var strURL = g_rootSCO + lu.dirName + '/learningUnit.htm?g_currGroupGUID=' + g_currGroupGUID;

    frames.toolbar.location.reload();
    frames.groups.location.href  = 'empty_left.htm';
    frames.content.location.href = strURL;
    frames.empty.location.href   = 'empty.htm';
  }


////////////////
// REFERENCES //
////////////////
  function dumpReferenceDiv(currScrWidth) {
    var str = '';
    return str;
  }
