function menu_on(b,m)
{
  var parent_width = b.parent().offset().left + b.parent().width();
  if ($.browser.msie)
    parent_width = b.parent().offset().left/2 + b.parent().width();
  
  var sub_menu_width = b.width();
  
  var owner_width = b.width();
  var h = b.parent().height();
  
  var o = b.offset();

  var x = o.left;
    
  if (x + sub_menu_width > parent_width)
    x = x + owner_width - sub_menu_width;
    
  var y = o.top + h - 1; 

  m.css('width', sub_menu_width + 'px');
  m.css('left', x+'px').css('top', y+'px');
  m.css('visibility', 'visible');
  b.addClass('opened');
}

function menu_off(b,m) {
  m.css('visibility', 'hidden');
  b.removeClass('opened');
}

$(function(){
  $('.submenu_owner')
    .bind('mouseover',function() {
      id = '#' + $(this).attr('rel');
      menu_on($(this), $(id))
    })
    .bind('mouseout', function(e) {
      id = '#' + $(this).attr('rel');
      menu_off($(this), $(id))
    })
  ;
  
  $('.submenu_owner *')
    .bind('mouseover',function() {
      var elem = $(this);
      
      while (!elem.attr('rel'))
        elem = elem.parent(); 
        
      id = '#' + elem.attr('rel');
      menu_on(elem, $(id))
    })
  ;
  
});
