Claro
por partes
resultado = parseFloat(res).toFixed(2).toString();
pasa el resultado a 2 decimales y pasa la variable a tipo string para poder trabajarla con métodos de string
resultado = resultado.split(".");
Separamos la cadena por donde tiene el punto
var cadena = ""; cont = 1
iniciamos una variable como un string vacío y otra que nos servirá como contador
for(m=resultado[0].length-1; m>=0; m--){
Iniciamos una iteración que dé tantas vueltas como caracteres tenga el string que queda delante del punto
cadena = resultado[0].charAt(m) + cadena
A la variable cadena le concatenamos en cada iteración el caracter que esté en la posición
m comenzando por el final del string.
cont%3 == 0 && m >0 ? cadena = "." + cadena : cadena = cadena
Comprobamos si la variable cont al dividirla entre 3 devuelve un valor de 0. En caso afirmativo le agrega un punto a la variable
cadena (para los separadores de miles). También comprueba que no esté en la última iteración para que no ponga un punto en caso de hacer llegado al principio del string, es decir, para que no quede finalmente algo como .123.123
cont== 3 ? cont = 1 :cont++
Aquí verificamos si la variable cont vale 3. En caso afirmativo la volvemos a poner a 1 (ya pusimos el punto) y en caso negativo la incrementa en 1
frm.result.value = cadena + "," + resultado[1];
Finalmente asignamos el valor del string
cadena al campo del formulario y le concatenamos la coma de los decimales y le concatenamos además el otro string que quedó a la derecha del punto del valor incial.
No sé yo si habré sido poco clara
Cita: si voy por Barna, te escribiré para conocerte en persona...
A ver si es verdad
Un saludo