function somenteNumeros(n_text)
{
	var validos = "0123456789";
	var n_validos = "";

	for (i = 0; i < n_text.length; i++)
	{
		if (validos.indexOf(n_text.charAt(i)) != -1)
		{
			n_validos+=n_text.charAt(i);
		}
	}
	return n_validos;
}

//uso: onkeyup="javascript:date_mask(this);"
function date_mask(id)
{
    // 00/00/0000
    id = id.getAttribute("id");
    $(id).setAttribute("maxlength", 10);
    var field = somenteNumeros($(id).value);
    var mask = "";

    if(field.length < 3)
    {
        mask = field;
    }
    else if(field.length >= 3 && field.length <= 4)
    {
        mask = field.substr(0,2)+"/"+field.substr(2,2);
    }
    else
    {
        mask = field.substr(0,2)+"/"+field.substr(2,2)+"/"+field.substr(4,4);
    }
    $(id).value = mask;
}

//uso: onkeyup="javascript:phone_mask(this);"
function phone_mask(id)
{
    id = id.getAttribute("id");
    $(id).setAttribute("maxlength", 13);
    $(id).value = somenteNumeros($(id).value);

    var field = $(id).value;

    var mask = "";

    if(field.length == 0)
    {
        mask = field;
    }
    else if(field.length <= 2)
    {
        mask = "("+field;
    }
    else
    {
        mask = "("+field.substr(0,2)+") "+field.substr(2,10);
    }

    $(id).value = mask;
}

//uso: onkeyup="javascript:cep_mask(this);"
function cep_mask(id)
{
    //mask = 31110-110
    id = id.getAttribute("id");
    $(id).setAttribute("maxlength", 9);
    $(id).value = somenteNumeros($(id).value);

    var field = $(id).value;

    var mask = "";

    if(field.length <= 5)
    {
        mask = field;
    }
    else
    {
        mask = field.substr(0,5)+"-"+field.substr(5,3);
    }

    $(id).value = mask;
}

//uso: onkeyup="javascript:cpf_mask(this);"
function cpf_mask(id)
{
    //mask = 000.000.000-00
    id = id.getAttribute("id");
    $(id).setAttribute("maxlength", 14);
    $(id).value = somenteNumeros($(id).value);

    var field = $(id).value;

    var mask = "";

    if(field.length <= 3)
    {
        mask = field;
    }
    else if (field.length >= 4 && field.length <=6)
    {
        mask = field.substr(0,3)+"."+field.substr(3,3);
    }
    else if (field.length >= 6 && field.length <=9)
    {
        mask = field.substr(0,3)+"."+field.substr(3,3)+"."+field.substr(6,3);
    }
    else if (field.length < 9)
    {
        mask = field.substr(0,3)+"."+field.substr(3,3)+"."+field.substr(6,3)+"-"+field.substr(9,2);
    }

    $(id).value = mask;
}

//uso: onkeyup="javascript:currency_mask(this);"
function currency_mask(id)
{
    //mask = 000.000.000.000,00
    id = id.getAttribute("id");
    $(id).setAttribute("maxlength", 18);
    $(id).value = somenteNumeros($(id).value);

    var field = $(id).value;

    var mask = "";

    //TRATAMENTO PARA TIRAR ZEROS À ESQUERDA
	if(field.substr(0,1) == "0")
	{
		field = field.substr(1,field.length);
	}
	else if(field.substr(0,2) == "00")
	{
		field = field.substr(2,field.length);
	}

	//MONTAR AS MÁSCARAS
	if(field.length == 0)
	{
		mask = "0,00";
	}
	else if(field.length == 1)
	{
		mask = "0,0"+field;
	}
	else if(field.length == 2)
	{
		mask = "0,"+field;
	}
	else if(field.length == 3)
	{
		mask = field.substr(0,1)+","+field.substr(1,2);
	}
	else if(field.length == 4)
	{
		mask = field.substr(0,2)+","+field.substr(2,2);
	}
	else if(field.length == 5)
	{
		mask = field.substr(0,3)+","+field.substr(3,2);
	}
	else if(field.length == 6)
	{
		mask = field.substr(0,1)+"."+field.substr(1,3)+","+field.substr(4,2);
	}
	else if(field.length == 7)
	{
		mask = field.substr(0,2)+"."+field.substr(2,3)+","+field.substr(5,2);
	}
	else if(field.length == 8)
	{
		mask = field.substr(0,3)+"."+field.substr(3,3)+","+field.substr(6,2);
	}
	else if(field.length == 9)
	{
		mask = field.substr(0,1)+"."+field.substr(1,3)+"."+field.substr(4,3)+","+field.substr(7,2);
	}
	else if(field.length == 10)
	{
		mask = field.substr(0,2)+"."+field.substr(2,3)+"."+field.substr(5,3)+","+field.substr(8,2);
	}
	else if(field.length == 11)
	{
		mask = field.substr(0,3)+"."+field.substr(3,3)+"."+field.substr(6,3)+","+field.substr(9,2);
	}
	else if(field.length == 12)
	{
		mask = field.substr(0,1)+"."+field.substr(1,3)+"."+field.substr(4,3)+"."+field.substr(7,3)+","+field.substr(10,2);
	}
	else if(field.length == 13)
	{
		mask = field.substr(0,2)+"."+field.substr(2,3)+"."+field.substr(5,3)+"."+field.substr(8,3)+","+field.substr(11,2);
	}
	else if(field.length == 14)
	{
		mask = field.substr(0,3)+"."+field.substr(3,3)+"."+field.substr(6,3)+"."+field.substr(9,3)+","+field.substr(12,2);
	}
    $(id).value = mask;
}
