if(Formatador == null) {
    var Formatador = {};
}

Formatador.formataInteiro = function(valor) {
	if((valor == null) || (isNaN(valor))) {
        return "";
    }
    var parteInteira = "";
    var retorno      = "";
    var negativo     = false;
    
    if(valor < 0) {
    	valor = valor * -1;
    	negativo = true;
    }
    
    parteInteira = "" + valor;
    
    while (parteInteira.length > 3) {
    	retorno = parteInteira.substring(parteInteira.length - 3, parteInteira.length) + retorno;
        parteInteira = parteInteira.substring(0, parteInteira.length - 3);
        retorno = "." + retorno;
    }
    
    retorno = parteInteira + retorno;   

    if(negativo) {
    	retorno = "-" + retorno;
    }
    
    return retorno;
}

Formatador.desformataInteiro = function(valor) {
    if((valor == null) || (valor == "")) {
        return 0;
    }
    var retorno = valor.replace(new RegExp("\\.", "gim"), "")
    return parseInt(retorno, 10);
}

Formatador.formataDecimal = function(valor, qtdDecimal) {
	if((valor == null) || (isNaN(valor))) {
        return "";
    }
	var parteInteira = "";
    var parteDecimal = "";
    var retorno      = "";
    var negativo     = false;
    
    if(valor < 0) {
    	valor = valor * -1;
    	negativo = true;
    }
    
    valor = "" + valor;
    
    if(valor.indexOf(".") >= 1) {
        parteInteira = valor.substring(0, valor.indexOf("."));
        parteDecimal = valor.substring(valor.indexOf(".") + 1);
        
        if (parteDecimal.length >= qtdDecimal) {
            parteDecimal = parteDecimal.substring(0, qtdDecimal);
        }
    } else {
        parteInteira = valor;
    }
    
    while(parteDecimal.length < qtdDecimal) {
		parteDecimal += "0";
	}
    
    retorno = "," + parteDecimal;
    
    while (parteInteira.length > 3) {
        if(retorno.charAt(0) != ',') {
            retorno = "." + retorno;
        }
        
        retorno = parteInteira.substring(parteInteira.length - 3, parteInteira.length) + retorno;
        parteInteira = parteInteira.substring(0, parteInteira.length - 3);
    }
    
    if (retorno.charAt(0) != ',') {
        retorno = "." + retorno;
    }
    
    retorno = parteInteira + retorno;   

    if(negativo) {
    	retorno = "-" + retorno;
    }
    
    return retorno;
}

Formatador.desformataDecimal = function(valor) {
    if((valor == null) || (valor == "")) {
        return 0;
    }
    var retorno = valor.replace(new RegExp("\\.", "gim"), "");
    retorno = retorno.replace(new RegExp(",", "gim"), ".");
    return parseFloat(retorno);
}