
// id elementu, w ktorym znajduje sie menu
var MENU_CONTAINER_ID = 'navigation';

// dlugosc tekstu dla elementow menu
var MENU_TEXT_MAX_LEN_WITH_IMG = 28; // z obrazkiem
var MENU_TEXT_MAX_LEN_NO_IMG = 32; // bez obrazka

function fixLength(item, max_len) {
  var txt = item.nodeValue;
  txt = txt.substring(0, max_len - 2);
  item.nodeValue = txt + ' ...';
}

function fixLinkTextLength(link, has_img) {
  if (!link.hasChildNodes) {
    return;
  }
  
  for (var i = 0; i < link.childNodes.length; i++) {
    if (link.childNodes[i].nodeType == 3) {
      if (has_img) {
        if (link.childNodes[i].nodeValue.length > MENU_TEXT_MAX_LEN_WITH_IMG) {
          fixLength(link.childNodes[i], MENU_TEXT_MAX_LEN_WITH_IMG);
        }
      }
      else {
        if (link.childNodes[i].nodeValue.length > MENU_TEXT_MAX_LEN_NO_IMG) {
          fixLength(link.childNodes[i], MENU_TEXT_MAX_LEN_NO_IMG);
        }
      }
    }
  }
}

function addHoverEvents() {
  var menu = document.getElementById(MENU_CONTAINER_ID);
  if (menu != null) {
    var items = menu.getElementsByTagName('LI');
    for (var i = 0; i < items.length; i++) {
      // dodaj '...' jesli tekst jest za dlugi
      var has_img = items[i].getElementsByTagName('IMG').length > 0;
      fixLinkTextLength(items[i].getElementsByTagName('A')[0], has_img);
      
      // jesli element menu posiada submenu
      if (items[i].getElementsByTagName('UL').length > 0) {
        items[i].onmouseover = function () {
          // pokaz submenu
          var submenu = this.getElementsByTagName('UL')[0];
          submenu.style.display = 'block';
        }
        
        items[i].onmouseout = function () {
          // ukryj submenu
          var submenu = this.getElementsByTagName('UL')[0];
          submenu.style.display = 'none';
        }
      }
    }
  }
}

