///////////////
// CONSTANTS //
///////////////
  var g_strGroupsMenuWidth     = 226;
  var g_extraInfoWidth         = 235;

  var g_arrowSpacer1           =   7;
  var g_arrowSpacer2           =   9;

  var g_showBigNumbers         =   1;

  var g_startX                 =  57;
//  var g_startY                 =  11;

  var g_subgroupSpacer         =   0;
  var g_subgroupVerticalSpacer =  10;
  var g_learnunitLeftWidth     =  11;
  var g_learnunitCenterSpacer  =   0;

  var g_spaceRow               = '<TD class="spaceRow" rowspan="30" width="1">' +
                                   '<IMG src="_include/leeg.gif" width="1" height="1">' +
                                 '</TD>';

  var g_wndX;
  var g_wndY;

  var g_requiredFlashVersion   = 7;
  var g_FlashInstallPath       = '../third_parties/flash7/mm_fl_sw_installer.exe';
  var g_ShockWaveInstallPath   = '../third_parties/shockwave/mm_fl_sw_installer.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="32,' + g_strGroupsMenuWidth + ',*" border="0">\r\n' +
           '    <FRAME  name="empty"   src="' + g_rootLMS + 'empty.htm"   marginwidth="0" marginheight="0" scrolling="no" frameborder="0" border="0" noresize>\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' +
           '  </FRAMESET>\r\n' +
           '</FRAMESET>\r\n';

    return str;
  }


  learningMethod.prototype.writeTitle = function() {
    var strName = '';
    strName += '<TABLE border="0" cellpadding="0" cellspacing="0">\r\n' +

                 '<TR><TD>' + spacer(1, 6) + '</TD></TR>\r\n' +

                 '<TR><TD class="lmTitle" nowrap>' + this.name + '</TD></TR>\r\n' +

               '</TABLE>\r\n';

    var str = '';
    str += '<TABLE border="0" cellpadding="0" cellspacing="0" width="100%"' +
                 ' background="' + g_rootLMSPix + 'bg_methode.gif">\r\n' +

             '<TR>' +
               '<TD width="92">' +
                 '<IMG src="' + g_rootLMSPix + 'logo_brand.gif" width="100"' +
                     ' height="55" border="0">' +
               '</TD>\r\n' +

               '<TD valign="top">' + strName + '</TD>\r\n' +

               '<TD width="' + g_extraInfoWidth + '" class="streamYear" nowrap>' +
                 spacer(10, 1) + this.stream + ' ' + this.streamYear +
               '</TD> '+
             '</TR>' +

           '</TABLE>\r\n';
    return str;
  }


  function getExtraInfoBtn(direction) {
    var str = '';
    str += '<TABLE border="0" cellpadding="0" cellspacing="0"' +
                 ' width="' + g_extraInfoWidth + '" 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\'" width="15">' +
                  spacer(5, 1) +
                  '<IMG id="extraInfoArrow" src="' + parent.g_rootLMSPix + 'arrow_' + direction + '_filled.gif">' +
               '</TD>' +

               '<TD class="extraInfoHeader" valign="top"' +
                  '     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\'"' +
                  ' align="left" nowrap>' +
                  spacer(5, 1) +
                 'infotheek' +
               '</TD>' +

             '</TR>' +
           '</TABLE>';
    return str;
  }


  function getExtraInfoBtnDisabled() {
    var str = '';
    str += '<TABLE border="0" cellpadding="0" cellspacing="0"' +
                 ' width="' + g_extraInfoWidth + '" height="20">' +

             '<TR><TD class="extraInfoHeader">' + spacer(5, 1) + '</TD></TR>' +

           '</TABLE>';
    return str;
  }


  learningMethod.prototype.writeToolbar = function(currScrWidth) {
    g_extraInfoVisible = false;

    var strExtraInfo = spacer(100, 1);

    if(g_currLuGUID) {
      var strInhoud = '<TABLE border="0" cellpadding="0" cellspacing="0"' +
                            ' width="100%" height="20" class="menu">' +
                        '<TR>' +

                          '<TD width="28" background="' + g_rootLMSPix + 'bg_leftbar.gif">' +
                            spacer(28, 1) + 
                          '</TD>' +

                          '<TD width="9" class="menuLeftHeader" valign="middle"' +
                             ' onclick="parent.go2IntroScreen();"' +
                             ' onmouseover="document.getElementById(\'inhoudArrow\').src=\'' + g_rootLMSPix + 'arrow_left_filled_over.gif\';this.className=\'menuLeftHeaderOver\'"' +
                             '  onmouseout="document.getElementById(\'inhoudArrow\').src=\'' + g_rootLMSPix + 'arrow_left_filled.gif\';this.className=\'menuLeftHeader\'" nowrap><NOBR>' +
                            spacer(5, 1) +
                            '<IMG src="' + g_rootLMSPix + 'arrow_left_filled.gif" id="inhoudArrow">' +
                            spacer(7, 1) + '</NOBR>' +
                          '</TD>' +

                          '<TD width="185" class="menuRightHeader" valign="middle"' +
                             ' onclick="parent.go2IntroScreen();"' +
                             ' onmouseover="document.getElementById(\'inhoudArrow\').src=\'' + g_rootLMSPix + 'arrow_left_filled_over.gif\';this.className=\'menuRightHeaderOver\'"' +
                             '  onmouseout="document.getElementById(\'inhoudArrow\').src=\'' + g_rootLMSPix + 'arrow_left_filled.gif\';this.className=\'menuRightHeader\'" nowrap>' +
                             'inhoud' +
                          '</TD>' +

                          '<TD class="menuHeaderNoBorder" valign="middle"' +
                             ' onclick="parent.go2IntroScreen();"' +
                             ' onmouseover="document.getElementById(\'inhoudArrow\').src=\'' + g_rootLMSPix + 'arrow_left_filled_over.gif\';this.className=\'menuRightHeaderOver\'"' +
                             '  onmouseout="document.getElementById(\'inhoudArrow\').src=\'' + g_rootLMSPix + 'arrow_left_filled.gif\';this.className=\'menuHeaderNoBorder\'" nowrap>' +
                             spacer(1, 1) +
                          '</TD>' +

                        '</TR>' +
                      '</TABLE>';
    }
    else {
      var strInhoud = '<TABLE border="0" cellpadding="0" cellspacing="0"' +
                            ' width="100%" height="20" class="menu">' +
                        '<TR>' +
                          '<TD width="28" background="' + g_rootLMSPix + 'bg_leftbar.gif">' +
                            spacer(28, 1) + 
                          '</TD>' +
                          '<TD width="9" class="menuLeftHeader" valign="middle"><NOBR>' +
                            spacer(7, 1) + '<IMG src="' + g_rootLMSPix + 'arrow_down.gif">' +
                            spacer(5, 1) + '</NOBR>' +
                          '</TD>' +
                          '<TD width="185" class="menuHeaderNoBorder" nowrap>inhoud</TD>' +
                          '<TD class="menuHeaderNoBorder">' + spacer(1, 1) + '</TD>' +
                        '</TR>' +
                      '</TABLE>';
    }
    if(this.references.length > 0)
      var strExtraInfo = '<SPAN id="extraInfoSpan">' + getExtraInfoBtn('down') + '</SPAN>';
    else
      var strExtraInfo = '<SPAN id="extraInfoSpan">' + getExtraInfoBtnDisabled() + '</SPAN>';

    var str = '';
    var width = currScrWidth - g_extraInfoWidth - 1;
    str += '<TABLE border="0" cellpadding="0" cellspacing="0" height="20" width="100%">' +
             '<TR>' +
               '<TD width="' + width + '">' + strInhoud + '</TD>' +
               '<TD>' + spacer(1, 1) + '</TD>' +
               '<TD width="' + g_extraInfoWidth + '" height="20">' + strExtraInfo + '</TD>' +
             '</TR>' +
           '</TABLE>';
    return str;
  }


  function writeBrandLogo(frameWidth, frameHeight) {
    var str = '';
    return str;
  }


  learningMethod.prototype.writeIntroWindow = function(frameWidth, frameHeight,
                                                       wndWidth, wndHeight, wndZIndex,
                                                       CSSClass, content) {
    var str = '';
    g_wndX = g_startX + 1;
    g_wndY = 100;
    str += createDiv('welcomeTitle', g_wndX, g_wndY, wndWidth, wndHeight, wndZIndex, CSSClass, content);
    return str;
  }


////////////////////////////////
// GO2 FUNCTIES               //
////////////////////////////////
  function go2IntroScreen() {
    g_currLuGUID = '';

    parent.frames.groupsAndContent.cols = '32,' + g_strGroupsMenuWidth + ',*';
    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 divID     = 'extraInfo';
    var refWidth  = parent.g_extraInfoWidth;
    var refHeight = 200;
    var xCoor     = currScrWidth - refWidth;
    var yCoor     = 0;
    var zIndex    = 100;
    var CSSClass  = '';
    var refs      = parent.g_referenceLinks;
    var visible   = 'hidden';
    var str = '';
    str += parent.createDiv(divID, xCoor, yCoor, refWidth, refHeight, zIndex,
                            CSSClass, refs, visible);
    return str;
  }

