Jquery's function by action starts on page load
<p>I can do this:</p>

<pre><code>$("#icon").live("hover",
    function() 
    {
        var position = $(this).offset();
        $('#popup').css({top: position.top - 10, left: position.left + 20}).toggle();
    },
    function()
    {
        $('#popup').toggle();
    }
);
</code></pre>

<p>But this:</p>

<pre><code>function show_popup(element)
{
    var position = element.offset();
    $('#popup').css({top: position.top - 10, left: position.left + 20}).toggle();
}
$("#icon").live("hover",
    show_popup($(this)),
    function()
    {
        $('#popup').toggle();
    }
);
</code></pre>

<p>errors <code>position is null</code> on the page load.</p>

<p>Why does it run show_popup() on the page load? And what is wrong with that code?</p>
