function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf('#')!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf('?'))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

var DelaeydMenus = new Array();

function Decode_Parameters(parameters) {
  var res = new Array();
  if ((typeof(parameters)=='string')&&(parameters))
  {
    var _splited = parameters.split(';');
    for (var index in _splited)
    {
      var _sub_splited = _splited[index].split('=');
      res[_sub_splited[0]] = _sub_splited[1];
    }
  }
  return res;
}

function DelaeydMenu_SetParameters(link_name, parameters) {
  if (!DelaeydMenus[link_name])
  {
    DelaeydMenus[link_name] = new Array()
  }
  var _parameters = Decode_Parameters(parameters);
  for (var index in _parameters)
  {
    DelaeydMenus[link_name][index] = _parameters[index];
  }
}

function DelaeydMenu_Follow(link_name) {
  var _link = '".BuildCommandBasic()."';
  var _params = '';
  for (var index in DelaeydMenus[link_name])
  {
    if (DelaeydMenus[link_name][index]!='')
    {
      if (_params)
        _params = _params + '&';
      _params = _params + index + '=' + DelaeydMenus[link_name][index];
    }
  }
  if (_params)
    _link = _link + '?' + _params;
  window.location = _link;
}

  function contains(text, needle)
  {
    return text.indexOf(needle) != -1;
  }

  function setPosition(item_id, position_parent_id, position, position_horizontal, position_vertical)
  {
    var item = document.getElementById(item_id);
    var parent = document.getElementById(position_parent_id);
    if (item && parent)
    {
      var pos = findPos(parent);

      var _splited = position.toLowerCase().split('x');
      if (_splited && _splited.length == 2)
      {
        var x = pos[0];
        var y = pos[1];

        // posun vzhledem k parentu
        if (contains(_splited[0], 't'))
          y = y;
        if (contains(_splited[0], 'm'))
          y = y + parent.offsetHeight / 2;
        if (contains(_splited[0], 'b'))
          y = y + parent.offsetHeight;
        if (contains(_splited[0], 'l'))
          x = x;
        if (contains(_splited[0], 'c'))
          x = x + parent.offsetWidth / 2;
        if (contains(_splited[0], 'r'))
          x = x + parent.offsetWidth;
        // posun childu
        if (contains(_splited[1], 't'))
          y = y;
        if (contains(_splited[1], 'm'))
          y = y - parent.offsetHeight / 2;
        if (contains(_splited[1], 'b'))
          y = y - parent.offsetHeight;
        if (contains(_splited[1], 'l'))
          x = x;
        if (contains(_splited[1], 'c'))
          x = x - parent.offsetWidth / 2;
        if (contains(_splited[1], 'r'))
          x = x - parent.offsetWidth;
          
        y = y + position_vertical*1;
        x = x + position_horizontal*1;

        // nastaveni
        item.style.top = y;
        item.style.left = x;           
      } 
    }
  }


  // object struktury menu
  function functionShowMenu (item_id)
  {
    var _visible = false;
    for (var i=0; i<this.items.length; i++)
    {
      if (this.items[i].showMenu(item_id))
      {
        _visible = true;
      }
    }
    if (this.item_id)
    {
      if (item_id == this.item_id)
      {
        _visible = true;
        sIgnoreShow = this.parent_id;
      }
      var item = document.getElementById(this.item_id);
      if (item)
      {
        //alert(this.item_id);
        if (_visible)
        {
          // nastaveni pozice
          setPosition(this.item_id, this.position_parent_id, this.position, this.position_horizontal, this.position_vertical);
          // viditelnost
          item.style.visibility = 'visible';
        }
        else
        {
          // viditelnost
          item.style.visibility = 'hidden';
        }
      }
    }
    return _visible;
  }

  function functionAddItem (parent_id, item)
  {
    if (this.item_id == parent_id)
    {
      // alert('Adding: '+item.item_id+' to: '+this.item_id+' index: '+this.items.length)
      this.items[this.items.length] = item;
      if (this.parent_id)
        item.parent_id = this.parent_id + ','; 
      item.parent_id +=  this.item_id;
    }
    for (var i=0; i<this.items.length; i++)
    {
      this.items[i].addItem(parent_id, item);
    }
  }

  function functionAddItemMenu (parent_id, item)
  {
    if (this.menu_id == parent_id)
    {
      this.items[this.items.length] = item;
      item.parent_id = this.menu_id;
    }
    for (var i=0; i<this.items.length; i++)
    {
      //alert(this.items[i])
      this.items[i].addItem(parent_id, item);
    }
  }

  function menuItem(item_id, position_parent_id, position, position_horizontal, position_vertical)
  {
    this.item_id = item_id;
    this.parent_id = null; 
    this.position_parent_id = position_parent_id; 
    this.position = position;
    this.position_horizontal = position_horizontal;
    this.position_vertical = position_vertical;
    this.items = new Array();
    // funkce pro zobrazeni menu
    this.showMenu = functionShowMenu;
    this.addItem = functionAddItem;
  }

  function menuStructure (menu_id)
  {
    this.menu_id = menu_id;
    this.items = new Array();
    // funkce pro zobrazeni menu
    this.showMenu = functionShowMenu;
    this.addItem = functionAddItemMenu;
  }

  var sub_menu_delay = 500;
  var tMenuTimer = null;
  var aMenus = new Array();
  var sIgnoreShow = null;

  function addMenu(menu_id)
  {
    aMenus[aMenus.length] = new menuStructure (menu_id);
  }

  // prida menu do struktury aMenus
  function addMenuItem(item_id, parent_id, position_parent_id, position, position_horizontal, position_vertical)
  {
    var item = new menuItem(item_id, position_parent_id, position, position_horizontal, position_vertical);
    for (var i=0; i<aMenus.length; i++)
    {
      aMenus[i].addItem(parent_id, item);
    }
  }
  
  function listContains(list, needle)
  {
    // alert(list + ' - ' + needle);
    if (!list)
      return false;
    var _splited = list.split(',');
    for (var i=0; i<_splited.length; i++)
    {
      if (_splited[i] == needle)
        return true;
    }
    return false;    
  }

  function showMenu(item_id)
  {
    if (!listContains(sIgnoreShow, item_id))
    {
      if (tMenuTimer)
      {
        clearTimeout(tMenuTimer);
        tMenuTimer = null;
      }
      //alert(item_id)
      for (var i=0; i<aMenus.length; i++)
      {
        aMenus[i].showMenu(item_id);
      }      
    }
  }

  function hideMenu()
  {
    showMenu('');
  }

  function setHideTimer ()
  {
    if (tMenuTimer)
    {
      clearTimeout(tMenuTimer);
      tMenuTimer = null;
    }
    sIgnoreShow = null;
    tMenuTimer = setTimeout('hideMenu()', sub_menu_delay);
  }	

