TagMenuHelper = {
     tagMenuPopIn : function() //toggle menu on hover
     {
          var menu = $(this).find("#menu");
          if(menu.length == 0)
          {     
               //create and show QMUC IM menu
               var menuItems = TagMenuHelper._getMenuItems();
               
               menu = TagMenuHelper._createMenu(menuItems);
               menu.insertBefore($(this).find('#imBody'));
          }
          menu.slideToggle("slow");
     },
     tagMenuPopOut : function()
     {
          var item = $(this);
          var menu = item.find("#menu");
          menu.slideToggle("fast");
          //menu.remove();
     },
     _createMenu : function(menuItems)
     {
          var menu = $("<div id='menu'></div>")
                      .addClass('jegol_plugin_menu')
                      .hide(); //start out hidden
          //IM menu
          $.each(
            menuItems,
               function(index, aMenuItem)
               {  
                 //menu.append('|');
                 var menuItem = $("<input/>")
				 				 .attr('type', 'submit')
								 .val(aMenuItem.action)
                                 .attr('action', aMenuItem.action)
                                 .addClass('jegol_Button')
                                 .click(function(){aMenuItem.clicked($(this))});
                 menu.append(menuItem);
                 //menu.append('| ');
                 menu.append(' ');
               }
          );
          
          return menu;
     },
     _menuItemClicked : function(sender)
     {
          var p = sender.parent().parent();
          var f = p.find('#fromJID').attr('from');
          var b = p.find('#imBody').html();
          var action = sender.attr('action');
                 
          JeGol.sendStanza(b, action);
     },
     _getMenuItems: function()
     {
          var menuItems = new Array();
          menuItems[0] = {action: 'like',
                         clicked: function(sender){
                              var values = TagMenuHelper._getValues(sender);
                                     
                              JeGol.sendStanza(values.body, values.action);
                              }};
          menuItems[1] = {action: 'action',
                         clicked: function(sender){
                              var values = TagMenuHelper._getValues(sender);
                                     
                              JeGol.sendStanza(values.body, values.action);
                              }};
          menuItems[2] = {action: 'decision',
                         clicked: function(sender){
                              var values = TagMenuHelper._getValues(sender);
                                     
                              JeGol.sendStanza(values.body, values.action);
                              }};
          menuItems[3] = {action: 'park',
                         clicked: function(sender){
                              var values = TagMenuHelper._getValues(sender);
                                     
                              JeGol.sendStanza(values.body, values.action);
                              }};
          menuItems[4] = {action: 'tweet',
                         clicked: function(sender){
                              var values = TagMenuHelper._getValues(sender);
                              var url = 'http://twitter.com/share'
                              url += '?via=jeGol';
                              url += '&text=' + values.from + '-'+  values.body;
                              url += '&url=' + document.location.href;
                              window.open (url, 'tweet from notablechat', "location=1,status=1,scrollbars=1, width=500,height=500");
                              }};
          return menuItems;
     },
     _getValues : function(sender){
          var p = sender.parent().parent();
          var f = p.find('#fromJID').attr('from');
          var b = p.find('#imBody').text();
          var action = sender.attr('action');
          return {from: f, body: b, action: action};
     }
}