  /*
  Filters onmouseout events
  */
  function check_for_menu_hide(event) {

    menu = $('avatar_menu')

    sourceElement = ( (window.event) ? event.srcElement : event.target )

    if (sourceElement.getAttribute('id') != menu.getAttribute('id')) {

      return false

    } else {

      hide_avatar_menu()
      return false

    }


  }

  function hide_avatar_menu() {

    menu = $('avatar_menu')

    new Effect.Fade(menu, {duration: .1} )

    _ring_menu_x = null
    _ring_meny_y = null

  }

  /*
  Pops up the avatar menu on a given object.
  */
  function show_avatar_menu(object, event, user_id, user_name) {


    var menu = $('avatar_menu');

    // Links to use
    var profile_link = "/profile/" + user_name;
    var conversation_link = "/messenger/view_conversation/" + user_id;
    var friends_link = "/community/friend_list/" + user_id;
    var avatar_src = "/images/content/avatars/" + user_id + "_thumb.jpg";

    var messenger_onclick = function() {

        var element = $('lower_right_slice')

        show_messenger_popup(element, user_id, user_name)

        hide_avatar_menu()

        return false
    }

    var conversations_onclick = function() {

        location = conversation_link

        hide_avatar_menu()

    }


    var toggle_friend_onclick = function() {

        location = friends_link

        hide_avatar_menu()

    }

    var view_profile_onclick = function() {

        location = profile_link;

        hide_avatar_menu();

    }

    // Weave in new links

    $('lower_right_slice').onclick = messenger_onclick;
    $('lower_left_slice').onclick = conversations_onclick;
    $('upper_left_slice').onclick = view_profile_onclick;
    $('upper_right_slice').onclick = toggle_friend_onclick;

    /*
    $('avatar_menu_view_profile').setAttribute("href", profile_link)
    $('avatar_menu_view_conversation').setAttribute("href", conversation_link)
    $('avatar_menu_avatar_image').setAttribute("src", avatar_src)
    */



    new Effect.Appear(menu, {duration: .1})

    dimensions = Element.getDimensions(menu)


    /*
    center_x = (event.pageX || event.clientX)
    center_y = ( event.pageY || event.clientY)
    */

    target_cumulative_offset = Position.cumulativeOffset(object)
    target_dimensions = Element.getDimensions(object)

    // alert(target_cumulative_offset[0] + ", " + target_cumulative_offset[1] + " / " + target_dimensions.width + ", " + target_dimensions.height)

    center_x = target_cumulative_offset[0] + (target_dimensions.width / 2)
    center_y = target_cumulative_offset[1] + (target_dimensions.height / 2)



    _ring_menu_x = ( center_x - (dimensions.width / 2) )
    _ring_menu_y =  ( center_y  -  (dimensions.height / 2) )

    menu.style.top = _ring_menu_y + "px";
    menu.style.left = _ring_menu_x + "px";

    dimensions = Element.getDimensions(menu)

    return false

  }