﻿var Draggable = new Object();
Draggable.Bind = function ($popup, $head, disableCursorChange)
{
    if (!$popup || !$head)
    {
        return;
    }
    $popup.mouseover(function (event)
    {
        if (event && event.stopPropagation)
        {
            event.stopPropagation();
        }
    });

    if (!disableCursorChange)
    {
        $head.css("cursor", "move");
    }
    $head.keyPressed = false;
    var $form = $("form:first");

    $head.mousedown(function ()
    {
        $head.keyPressed = true;
        $form.bind("mousemove", function (event)
        {
            var keyPressed = $head.keyPressed;
            if (keyPressed)
            {
                var popupLeft = $popup.css("left");
                var popupTop = $popup.css("top");
                var dLeft = window.mouseXPos - $popup.css("left").replace("px", "");
                var dTop = window.mouseYPos - $popup.css("top").replace("px", "");
                var left = event.pageX - dLeft;
                var top = event.pageY - dTop;
                $popup.css("left", left).css("top", top);
            }
        });
        $form.bind("mouseup", function ()
        {
            $head.keyPressed = false;
            $form.unbind("mousemove");
            $form.unbind("mouseup");
        });
    });
}

