Throwing an object (applying force to it when mouse is released)

I would like to be able to pick up, drag along, and finally throw an object.

this is my code so far:
what it does so far is pick up the GameObject (the one i used in my tests is a cube named DraggableBox, located above a plane, with the Tag “draggable”) drag it along my mouse, and then drop it again once the mouse is released. Now what i am trying to accomplish now (and so far haven’t succeeded in) is to throw the object if the mouse is moving at the moment the mouse button is released, instead of just drop it.
Much like the game Black and White 2.

Thanks in advance for any help you can give me with this.

var grabbed : Transform;
var grabDistance : float = 10.0f;
var moved : boolean = false;
var DraggableObject : GameObject;
var goTo : Vector3;
var targetPosition:Vector3;
var startPosition:Vector3;
var direction: Vector3;
function Update () {
    if (Input.GetMouseButton(0)) {
        if (grabbed){
            Drag();
        }
        else{ 
  			Grab();
  		}
  	}
    else{
        grabbed = null;
    }    
    if(Input.GetMouseButtonUp(0) && grabbed != null){
    	Throw();
    }   	
}


function Grab() {
    if (grabbed){ 
       grabbed = null;
    }
    else {
        var hit : RaycastHit;			
        var ray : Ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        if (Physics.Raycast(ray, hit) && hit.collider.gameObject == GameObject.FindGameObjectWithTag("Draggable")){
        	startPosition= Input.mousePosition;
        	grabbed = hit.transform;
        	moved = true;
        	DraggableObject = hit.collider.gameObject;
        	
        } 
        	
    }
}
function Throw() {
	if (grabbed && moved==true){
		targetPosition=Input.mousePosition;
		direction = (targetPosition - startPosition);
		direction.Normalize();
	 	
       rigidbody.AddForce(direction * 15f, ForceMode.Impulse);
       moved = false;
		
	}	
}

function Drag() {
    var ray : Ray = Camera.main.ScreenPointToRay(Input.mousePosition);
    grabbed.position = ray.origin + ray.direction * grabDistance;
}

The DragRigidbody.js comes with Unity (Assets/Import Package/Scripts) and implements this behavior. If I remember correctly they do this with a hinge joint, making the connection on mouse down and releasing it on up.