Perder el evento MouseUp si se libera no sobre el mismo elemento

Tengo un problema con un control deslizante. Cuando tomo el controlador, cambio el .src de la imagen, solo para cambiar su color. Sin embargo, quiero que vuelva a cambiar al color original cuando suelte el botón del mouse. He intentado dos cosas.

1) Cambiarlo nuevamente en el evento mouseup del controlador: esto funciona solo si suelto el botón sobre el controlador, por lo que no es una solución.

2) Changin en el evento de mouseup de la ventana: el evento no se dispara correctamente. Si hago clic y suelto en cualquier lugar de la ventana, el evento se dispara normalmente, pero si hago clic en el controlador, muevo el cursor a cualquier otro punto de la ventana y luego suelto el botón, el evento no se disparará.

Por cierto, estoy usando el prototipo js framework.

Soluciones? Gracias

Aquí está el código. Cargo la función de controlador cuando el documento está listo.

function handler()
{

    var handler = $('handler');

    Event.observe(window, "mouseup", function(){
        alert('salta');   //to see when mouseup fires
        if(handler.src=='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper_o.png'){    //orange
            handler.src='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper.png';}    //grey
    });


    Event.observe(handler,'mousedown',function(){handler.src='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper_o.png';});    //orange

}

Respuestas a la pregunta(3)

Su respuesta a la pregunta