Perder o evento MouseUp se liberar não sobre o mesmo elemento

Eu tenho um problema com um controle deslizante. Quando agarro o manipulador, altero o .src da imagem, apenas para alterar sua cor. No entanto, quero que volte à cor original quando soltar o botão do mouse. Eu tentei duas coisas.

1) Alterando-o novamente no evento de manipulação do manipulador: isso funciona apenas se eu soltar o botão sobre o manipulador, portanto, essa não é uma solução.

2) Altere novamente no evento de ativação da janela: o evento não está sendo acionado corretamente. Se eu clicar e soltar em qualquer lugar da janela, o evento será disparado normalmente, mas se eu clicar no manipulador, mova o cursor para qualquer outro ponto da janela e solte o botão, o evento não será acionado.

Btw, estou usando o prototype js framework.

Soluções? obrigado

Aqui está o código. Carrego a função de manipulador quando o documento está pronto.

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

}

questionAnswers(3)

yourAnswerToTheQuestion