Boas!

Fiz aqui rapidinho uma função getMoney() que recebe uma string no formato: R$ 1.000,00 e retorna um inteiro, para podermos fazer contas em javascript.

Depois uma outra função formatReal() que recebe um inteiro e devolve o número formatado segundo a nossa moeda: Real.

Entrada:

console.log( formatReal( 1000 ) );
console.log( formatReal( 19990020 ) );
console.log( formatReal( 12006 ) );
console.log( formatReal( 111090 ) );
console.log( formatReal( 1111 ) );
console.log( formatReal( 120090 ) );

Saida:

10,00
199.900,20
120,06
1.110,90
11,11
1.200,90

Utilizei a função str.replace() nativa da linguagem javascript, e algumas expressões regulares.

Atualmente só formata até 999mil reais, não fiz a ER para colocar o ponto dos milhões.

<script type="text/javascript">

var test = 'R$ 1.700,90';


function getMoney( str )
{
        return parseInt( str.replace(/[\D]+/g,'') );
}
function formatReal( int )
{
        var tmp = int+'';
        tmp = tmp.replace(/([0-9]{2})$/g, ",$1");
        if( tmp.length > 6 )
                tmp = tmp.replace(/([0-9]{3}),([0-9]{2}$)/g, ".$1,$2");

        return tmp;
}


var int = getMoney( test );
//alert( int );


console.log( formatReal( 1000 ) );
console.log( formatReal( 19990020 ) );
console.log( formatReal( 12006 ) );
console.log( formatReal( 111090 ) );
console.log( formatReal( 1111 ) );
console.log( formatReal( 120090 ) );
console.log( formatReal( int ) );


</script>