function CNavigation(library, resources)
{
  var thisPtr = this;

  this.library = library;
  this.resources = resources;

  this.renderMenu = function(destId, data, styleLink, styleText, styleBack)
  {
    var node;
    var len;
    var separator = "";
    var oText;

    oText = thisPtr.library.createElementEx("span");
    oText.className = styleText;

    node = thisPtr.library.getElementByIdEx(destId);

    if (!node)
    {
      return false;
    }

    node.innerHTML = "";

    len = data.length;

    if (len == 0)
    {
      return false;
    }

    for (var i = 0; i < len; i++)
    {
      if (data[i].Id == g_enumMenuItem.Separator)
      {
        separator = data[i].String;
        continue;
      }

      if (data[i].IsChecked == false)
      {
        var oLink;

        oLink = thisPtr.library.createLink
        (
          data[i],
          styleLink
        );
        
        oText.appendChild(oLink);
      }

      else if (data[i].IsChecked == true)
      {
        oText.innerHTML += data[i].Text[thisPtr.library.getLanguage()];
      }

      else if (data[i].IsChecked == null)
      {
        oLink = thisPtr.library.createLink
        (
          data[i],
          styleBack
        );

        oText.appendChild(oLink);
      }

      if (i != len - 1)
      {
        oText.innerHTML += separator;
      }
    }

    node.appendChild(oText);

    return true;
  }
}
