//onkeydown="mascara(this,maskTelefone)"
function mascara(o,f){
	v_obj = o;
    v_fun = f;
    setTimeout("execmascara()",1);
}

function execmascara(){
    v_obj.value = v_fun(v_obj.value);
}


function maskTelefone(v){
    v = v.replace(/\D/g,"");                 //Remove tudo o que nao é dígito
    v = v.replace(/^(\d\d)(\d)/g,"($1) $2"); //Coloca parenteses em volta dos dois primeiros dígitos
    v = v.replace(/(\d{4})(\d)/,"$1-$2") ;   //Coloca hífen entre o quarto e o quinto dígitos
    return v;
}


function maskCEP(v){
    v = v.replace(/\D/g,"");                 //Remove tudo o que nao é dígito
    v = v.replace(/^(\d\d)(\d)/g,"$1.$2");   //Coloca ponto depois dos dois primeiros dígitos
    v = v.replace(/(\d{3})(\d)/,"$1-$2") ;   //Coloca hífen entre o quarto e o quinto dígitos
    return v;
}


function maskData(v){
    v = v.replace(/\D/g,"");                 //Remove tudo o que nao é dígito
    v = v.replace(/^(\d\d)(\d)/g,"$1/$2");   //Coloca barra 
    v = v.replace(/(\d{2})(\d)/,"$1/$2") ;   //Coloca barra
    return v;
}

function maskAlfaNum(v){
	v = v.replace(/\W/g, "");
	return v;
}

function maskNumeros(v){
    return v.replace(/\D/g,"");
}

function maskCNPJ(v){ 
    v = v.replace(/\D/g,"");                 //Remove tudo o que nao é dígito
    v = v.replace(/^(\d\d)(\d)/g,"$1.$2");   //Coloca ponto depois dos dois primeiros dígitos
    v = v.replace(/(\d{3})(\d)/,"$1.$2") ;   //Coloca hífen entre o quarto e o quinto dígitos
	v = v.replace(/(\d{3})(\d)/,"$1/$2") ;
	v = v.replace(/(\d{4})(\d)/,"$1-$2") ;
    return v;
}

function maskMoeda(fld, milSep, decSep, e) {
	var sep = 0;
	var key = '';
	var i = j = 0;
	var len = len2 = 0;
	var strCheck = '0123456789';
	var aux = aux2 = '';
	//var whichCode = (window.Event) ? e.which : e.keyCode;
	var whichCode = (navigator.appName!='Microsoft Internet Explorer') ? e.which : e.keyCode;
	if ((whichCode == 13) || (whichCode == 0) || (whichCode == 8))
		return true;
	key = String.fromCharCode(whichCode); // Valor para o código da Chave
	if (strCheck.indexOf(key) == -1) return false; // Chave inválida
	len = fld.value.length;
	for(i = 0; i < len; i++)
		if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
	aux = '';
	for(; i < len; i++)
		if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
	aux += key;
	len = aux.length;
	if (len == 0) fld.value = '';
	if (len == 1) fld.value = '0'+ decSep + '0' + aux;
	if (len == 2) fld.value = '0'+ decSep + aux;
	if (len > 2) {
		aux2 = '';
		for (j = 0, i = len - 3; i >= 0; i--) {
			if (j == 3) {
				aux2 += milSep;
				j = 0;
			}
			aux2 += aux.charAt(i);
			j++;
		}
		fld.value = '';
		len2 = aux2.length;
		for (i = len2 - 1; i >= 0; i--)
			fld.value += aux2.charAt(i);
		fld.value += decSep + aux.substr(len - 2, len);
		}
	return false;
}
