JavaScript + Converter (JSF)

Olá pessoal, help me please!

Tenho um formulário com os campos:

Valor, Desconto, e Valor Pago(que recebe valor - desconto)

utilizo ajax pra chamar o metodo que faz esse calculo e atualizar o campo Valor Pago

[code] <f:ajax event=“blur” listener="#{hospedagemMB.totalPago}" render=“pnPagamento” >
<p:inputText value="#{hospedagemMB.movCheckOut.desconto}" ></p:inputText>
</f:ajax>

    <p:inputText size="8" value="#{hospedagemMB.movCheckOut.valorPago}"

[/code]

Até ai tudo bem funciona direitinho … o problema está quando utilizo um javascript pra formatar o campo e um converter para gravar os campos double, a variável desconto

chega no metodo zerada.

segue abaixo o exemplo usando java script e o converter:

<p:inputText size="8" value="#{hospedagemMB.movCheckOut.total}">
<f:converter converterId="doubleConverter"></f:converter>
</p:inputText>

 <f:ajax event="blur" listener="#{hospedagemMB.totalPago}"   render="pnPagamento" >
      <p:inputText   value="#{hospedagemMB.movCheckOut.desconto}" onkeypress="return(MascaraMoeda(this,'.',',',event))"  >
<f:converter converterId="doubleConverter"></f:converter>
</p:inputText>
 </f:ajax>

 <p:inputText size="8" value="#{hospedagemMB.movCheckOut.valorPago}"  >
<f:converter converterId="doubleConverter"></f:converter>
</p:inputText>

O Converter:

public class DoubleConverter implements Converter{

   public Object getAsObject(FacesContext arg0, UIComponent arg1, String valor) throws ConverterException {
       if(valor == null || valor.toString().trim().equals("")){
          return 0.0d;

       } else {
          valor = valor.replaceAll(Pattern.quote("."), "");
          valor = valor.replaceAll(Pattern.quote(","), ".");
          Double a = Double.valueOf(valor);
          return a;
       }

   }


   public String getAsString(FacesContext arg0, UIComponent arg1, Object valor) throws ConverterException {

       if(valor == null || valor.toString().trim().equals("")){
          return "0,00";

       } else {
          DecimalFormat df = new DecimalFormat("###,##0.00");
            df.setDecimalFormatSymbols( new DecimalFormatSymbols( new Locale( "PT", "BR" )  ) );
            return df.format( valor );
       }
   }

} 

Creio que seja algo relacionado com e ciclo de vida do jsf, já que se eu colocar um botao ao inves do ajax funciona normalmente