var backspace = 8;

function MascararCPF (campo, event){
	campo.value = RetiraCaracteresInvalidos(campo.value);
	if (((campo.value.length == 3)||(campo.value.length == 7)) && (event.keyCode != backspace)){
		campo.value = campo.value + '.';
	}else{
		if ((campo.value.length == 11) && (event.keyCode != backspace)){
			campo.value = campo.value + '-';
		}
	}
}

function MascararCNPJ (campo, event){
	campo.value = RetiraCaracteresInvalidos(campo.value);
	if ((campo.value.length == 2)||(campo.value.length == 6)){
		if (event.keyCode != backspace) {
			campo.value = campo.value + '.';
		}
	}else{
		if ((campo.value.length == 10) && (event.keyCode != backspace)){
			campo.value = campo.value + '/';
		}else{
			if ((campo.value.length == 15) && (event.keyCode != backspace)){
				campo.value = campo.value + '-';
			}
		}
	}
}

function MascararRG (campo, event){
	if ((campo.value.length == 2)||(campo.value.length == 6)){
		campo.value = campo.value + '.';
	}else{
		if (campo.value.length == 10){
			campo.value = campo.value + '-';
		}
	}
}

function MascararCEP (campo, event){
	campo.value = RetiraCaracteresInvalidos(campo.value)
	if ((campo.value.length == 5) && (event.keyCode != backspace)){
			campo.value = campo.value + '-';
	}

}

function RetiraCaracteresInvalidos(strCampo) {
	var nTamanho = strCampo.length;
	var szCampo = "";
	j = 0;
	for (i = nTamanho-1;i>=0;i--) 
	{
		if (isDigit(strCampo.charAt(i)))
		{
			szCampo = strCampo.charAt(i) + szCampo;
			j++;
		}
	}
    return szCampo;
} 

function isDigit (c){
	return (((c >= "0") && (c <= "9")) || (c == "-") || (c == ".") || (c == "/"))
} 

function MascararData (campo, event){
	if ((campo.value.length == 2) || (campo.value.length == 5)){
		campo.value = campo.value + '/';
	}
}

function MascararHorario (campo, event){
	if (campo.value.length == 2){
		campo.value = campo.value + ':';
	}
}

function MascararTelefone (campo){
	campo.value = RetiraCaracteresInvalidos(campo.value)
	if ((campo.value.length == 2) || (campo.value.length == 7)){
		campo.value = campo.value + '-';
	}
	changeFocus(campo);
}

function MascararMoeda(campo) {
	var vr = campo.value;
	vr = vr.replace( /[\/\.,]/g, '' );
	var tam = vr.length;

	if ( tam <= 2 ){
		campo.value = vr ; }
	if ( (tam > 2) && (tam <= 5) ){
		campo.value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ) ; }
	if ( (tam >= 6) && (tam <= 8) ){
		campo.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
	if ( (tam >= 9) && (tam <= 11) ){
		campo.value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
	if ( (tam >= 12) && (tam <= 14) ){
		campo.value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
	if ( (tam >= 15) && (tam <= 17) ){
	    campo.value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ;}
	    
    changeFocus(campo);
}

/******** Altera o foco para o próximo objeto ********/
function changeFocus(input){
	if (input.value.length == input.maxLength) {	
		var nextObject = -1;
	
		for (var i = 0; i < input.form.length; i++){	
			if ((input.form.elements[i].name == input.name)&&(i < input.form.length)){
				nextObject = i + 1;
				break;
			}		
		}
		if (nextObject != -1){
			input.form.elements[nextObject].focus();
		}
	}
}