//Função para limitar a quantidade de caracteres em uma textarea
function limita(campo, tamanhomaximo){
	var tamanho = (campo.value.length);
	var tex = campo.value;
	if (tamanho >= tamanhomaximo){
		campo.value=tex.substring(0,tamanhomaximo-1);
	}
	return true;
}
		
//Função para contar o número de caracteres
function contacampo(campoIN, campoOUT, tamanhomaximo) {
	var campoIN = campoIN;
	var campoOUT = campoOUT;	
	campoOUT.value = tamanhomaximo - campoIN.value.length;
}

function FormataCNPJ(Campo, teclapres){
	if(navigator.appName=="Microsoft Internet Explorer"){
		var tecla = teclapres.keyCode;
		var vr = new String(Campo.value);
		if (vr != ''){
			vr = vr.replace(".", "");
			vr = vr.replace(".", "");
			vr = vr.replace("/", "");
			vr = vr.replace("-", "");
			tam = vr.length + 1 ;
			if (tecla != 9 && tecla != 8){
				if (tam > 2 && tam < 6)
				 Campo.value = vr.substr(0, 2) + '.' + vr.substr(2, tam);
				if (tam >= 6 && tam < 9)
				 Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,tam-5);
				if (tam >= 9 && tam < 13)
				 Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,tam-8);
				if (tam >= 13 && tam < 15)
				 Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,4)+ '-' + vr.substr(12, tam-12);
			}
		}
	}
	else if (navigator.appName=="Netscape"){
		var tecla = teclapres.charCode;
		var vr = new String(Campo.value);
		if (vr != ''){
			vr = vr.replace(".", "");
			vr = vr.replace(".", "");
			vr = vr.replace("/", "");
			vr = vr.replace("-", "");
			tam = vr.length + 1 ;
			if (tecla != 9 && tecla != 8){
				if (tam > 2 && tam < 6)
				 Campo.value = vr.substr(0, 2) + '.' + vr.substr(2, tam);
				if (tam >= 6 && tam < 9)
				 Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,tam-5);
				if (tam >= 9 && tam < 13)
				 Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,tam-8);
				if (tam >= 13 && tam < 15)
				 Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,4)+ '-' + vr.substr(12,tam-12);
			}
		}
	}
}
















//==========================================================================================================================
// Funçao Ajax - Nova
//==========================================================================================================================
function createXMLHTTP(){
	try{
		ajax = new ActiveXObject("Microsoft.XMLHTTP");
	} 
	catch(e){
		try{
			ajax = new ActiveXObject("Msxml2.XMLHTTP");
			alert(ajax);
		}
	catch(ex){
		try{
			ajax = new XMLHttpRequest();
		}
	catch(exc){
		alert("Esse browser nao tem recursos para uso do Ajax");
		ajax = null;
		}
	}
	return ajax;
}

var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
for (var i=0; i < arrSignatures.length; i++){
	try{
		var oRequest = new ActiveXObject(arrSignatures[i]);
		return oRequest;
	} 
	catch (oError){}
	}
	throw new Error("MSXML is not installed on your system.");
}
//==========================================================================================================================

	function formatar (campo, tipo, tecla) {
		if(navigator.appName=="Microsoft Internet Explorer"){
			if (tipo == "num") {
				var intKeyCode = event.keyCode;
				if ((48 <= intKeyCode && intKeyCode <= 57) || intKeyCode < 32) return true;
				event.keyCode = 0;
				return;
			}
			if (tipo == "data") {
				var tecla = event.keyCode;
				valorSemFormato = campo.value;
				while (valorSemFormato.indexOf("/") > -1) {
					valorSemFormato = valorSemFormato.replace("/", "");
				}
				tamanho = valorSemFormato.length;
				if (tecla == 46) {
					campo.value = campo.value;
				}
				if (tamanho < 8 && tecla != 8) {
					tamanho = valorSemFormato.length + 1;
				}
				if (tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ) {
					if (tecla == 8) {
						tamanho = tamanho - 1;
					}
					if ((3 < tamanho) && (tamanho <= 4)) {
						campo.value = valorSemFormato.substring(0, tamanho-2) + '/' + valorSemFormato.substring(tamanho-2);
					} else if ((5 < tamanho) && (tamanho <= 6)) {
						campo.value = valorSemFormato.substring(0, tamanho-4) + '/' + valorSemFormato.substring(tamanho-4);
					} else if ((7 < tamanho) && (tamanho <= 8)) {
						campo.value = valorSemFormato.substring(0, tamanho-6) + '/' + valorSemFormato.substring(tamanho-6, tamanho-4) + '/' + valorSemFormato.substring(tamanho-4);
					}
				}
			}
		}
		else if(navigator.appName=="Netscape"){//Firefox
			if (tipo == "num") {
				x = campo.name;
				// Por Tiago Araujo Silva (tiago@tiagoaraujo.com)
				separador="/"; // Você pode definir o separador. Ex: "/" ou "-" ou "."
				tecla = tecla.keyCode; // Identifica a tecla, caso seja backspace
				var valor = document.getElementById(x).value.split(''); // Pega o valor do campo e transforma cada caractere em uma string
				formatado = ""; // Variável para carregar formatação temporariamente
				i = 0; // variável de controle
				while(i < valor.length){ // Loop para cada caractere do campo
					caractere = valor[i]; // Seleciona um caractere para ser formatado
					numeros = /^\d+$/; // Variavel contendo números positivos
						// Verifica se é número ou "barra"
					if(numeros.test(caractere)){ formatado += String(caractere);}
					i++; // Se houver, passa para o próximo caractere
				}
				document.getElementById(x).value = formatado; // Atribui o valor formatado ao campo
			}
			if (tipo == "data") {
				x = campo.name;
				// Por Tiago Araujo Silva (tiago@tiagoaraujo.com)
				separador="/"; // Você pode definir o separador. Ex: "/" ou "-" ou "."
				tecla = tecla.keyCode; // Identifica a tecla, caso seja backspace
				var valor = document.getElementById(x).value.split(''); // Pega o valor do campo e transforma cada caractere em uma string
				formatado = ""; // Variável para carregar formatação temporariamente
				i = 0; // variável de controle
				while(i < valor.length){ // Loop para cada caractere do campo
					caractere = valor[i]; // Seleciona um caractere para ser formatado
					numeros = /^\d+$/; // Variavel contendo números positivos
						// Verifica se é número ou "barra"
					if(numeros.test(caractere) || caractere == separador){ formatado += String(caractere);}
						// Verifica se precisa de barra, se a tecla for backspace, então a barra não é adicionada
						// Se for para adicionar barra, aumenta ++ variável de controle "i" para pular a barra adicionada
					if((formatado.length == 2 || formatado.length == 5) && tecla != 8){formatado += separador; i++;}
					i++; // Se houver, passa para o próximo caractere
				}
				document.getElementById(x).value = formatado; // Atribui o valor formatado ao campo
			}
		}
	}

