    function JSmoveSwfComponent(p_id,p_type,p_x,p_y)
    {
		//alert(p_id);

        //window.status = p_x + " " + p_y;

        var l_x = p_x;
        var l_y = p_y;

        // Scale X, Y for flash

        var l_flash_w = 320;
        var l_flash_h = 180;

        var l_div_w = 400;
        var l_div_h = 225;


        p_x = l_div_w*p_x/l_flash_w;
        p_y = l_div_h*p_y/l_flash_h;

        var l_element = MetaWrap.$(p_id);

        if (p_type == "down")
        {
            if (MetaWrap.Massive.BigPond.V8.Component.g_draggable[p_id])
            {
                startDraggingByElement(l_element,p_x,p_y);
            }
        }
        else
        if (p_type == "up")
        {
            stopDraggingByElement(l_element);
        }
        else
        if (p_type == "move")
        {
           // if (g_dragging_start_element != null)
            {
                var l_pos = MetaWrap.Page.Element.getRect(MetaWrap.$(p_id));
                //var l_pos = g_dragging_start_element_rect;

                //var l_rect_s =  l_pos.m_x + " " + l_pos.m_y + " " + l_pos.m_w + "x" + l_pos.m_h + " " + Math.floor(p_x) + " " +Math.floor(p_y) + " | " + Math.floor(l_x) + " " +Math.floor(l_y) + " ?? " + g_dragging_start_element.style.visibility;
                //document.title = l_rect_s;

                // Under IE, when the element is hidden, Flash thinks its positioned at 0,0 - not its last known position
                if ((g_bid == "IE") && (!g_dragging_start_style_visible))
                {
                    moveDraggingByElement(l_element,p_x,p_y);
                }
                else
                {
                    moveDraggingByElement(l_element,p_x + l_pos.m_x,p_y + l_pos.m_y);
                }
            }
        }
    }