allora ci ho lavorato un po', anche perché la cosa mi interessava...

Ho creato un paio di funzioni
Codice PHP:
function textFormatter(input){
    var 
value input.value;
    
    var 
comma value.indexOf(',');
    
    if (
comma >= 0) {
        var 
str1str2
        str2 
value.substring(comma 1value.length);
        if (
comma == 0) {
            
str1 "0";
        }
        else {
            
str1 value.substring(0comma);
        }
        
        if (
str2.length 2) {
            var 
last parseInt(str2.substring(23));
            if (
last 5
                
str2 "" + (parseInt(str2.substring(02)) + 1);
            else 
                
str2 "" + (parseInt(str2.substring(02)));
        }
        else 
            if (
str2.length 2) {
                for (
0str2.lengthi++) {
                    
str2 += "0";
                }
            }
        var 
str1.replace(/\./g'');
        
input.value insertPoints(v) + "," str2;
        
    }
    else {
        var 
value.replace(/\./g'');
        
input.value insertPoints(v) + ",00";
    }
    
}

function 
insertPoints(value){
    var 
len value.length;
    var 
counter 0;
    for (
len 1>= 0i--) {
        
counter++;
        
        if (
counter == && != 0) {
            var 
s1 value.substring(0i);
            var 
s2 value.substring(ivalue.length);
            
value s1 "." s2;
            
            
counter 0;
        }
    }
    return 
value;

poi ti è sufficiente ussare questa sintassi (che è DOM0 e quindi si può migliorare, ma funziona comunque)

Codice PHP:
<input type="text" onblur="textFormatter(this)"/> 
L'ho messo sull'evento onBlur ovvero quando l'input perde il focus.