function valida_CpfOuCnpj(valor,id) {
	escolha=document.getElementById('iCpfOuCnpj'+id).value;
	if (escolha=='cpf') {
		valida_cpf(valor);
	}
	else if (escolha=='cnpj') {
		valida_cnpj(valor);
	}
	else {
		alert('escolha CPF ou CNPJ');
	}
}

function valida_cpf(cpf) {
	var numeros, digitos, soma, i, resultado, digitos_iguais;
	digitos_iguais = 1;
	if (cpf.length < 11) {
		alert("CPF inválido");
		return false;
	}
	for (i = 0; i < cpf.length - 1; i++)
		if (cpf.charAt(i) != cpf.charAt(i + 1)) {
			digitos_iguais = 0;
			break;
		}
	if (!digitos_iguais) {
		numeros = cpf.substring(0,9);
		digitos = cpf.substring(9);
		soma = 0;
		for (i = 10; i > 1; i--)
			soma += numeros.charAt(10 - i) * i;
		resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
		if (resultado != digitos.charAt(0)) {
			alert("CPF inválido");
			return false;
		}
		numeros = cpf.substring(0,10);
		soma = 0;
		for (i = 11; i > 1; i--)
			soma += numeros.charAt(11 - i) * i;
		resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
		if (resultado != digitos.charAt(1)) {
			alert("CPF inválido");
			return false;
		}
		return true;
	}
	else {
		alert("CPF inválido");
		return false;
	}
}

function valida_cnpj(cnpj) {
	var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
	digitos_iguais = 1;
	if (cnpj.length < 14 && cnpj.length < 15) {
		alert("CNPJ inválido");
		return false;
	}
	for (i = 0; i < cnpj.length - 1; i++)
		if (cnpj.charAt(i) != cnpj.charAt(i + 1)) {
			digitos_iguais = 0;
			break;
		}
	if (!digitos_iguais) {
		tamanho = cnpj.length - 2
		numeros = cnpj.substring(0,tamanho);
		digitos = cnpj.substring(tamanho);
		soma = 0;
		pos = tamanho - 7;
		for (i = tamanho; i >= 1; i--) {
			soma += numeros.charAt(tamanho - i) * pos--;
			if (pos < 2)
				pos = 9;
		}
		resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
		if (resultado != digitos.charAt(0)) {
			alert("CNPJ inválido");
			return false;
		}
		tamanho = tamanho + 1;
		numeros = cnpj.substring(0,tamanho);
		soma = 0;
		pos = tamanho - 7;
		for (i = tamanho; i >= 1; i--) {
			soma += numeros.charAt(tamanho - i) * pos--;
			if (pos < 2)
				pos = 9;
		}
		resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
		if (resultado != digitos.charAt(1)) {
			alert("CNPJ inválido");
			return false;
		}
		return true;
	}
	else {
		alert("CNPJ inválido");
		return false;
	}
}

function mascara(o,f) {
	v_obj=o
	v_fun=f
	setTimeout("execmascara()",1)
}

function execmascara() {
	v_obj.value=v_fun(v_obj.value)
}
			
function cnpj(v) {
	v=v.replace(/\D/g,"")
	v=v.replace(/(\d{3})(\d)/,"$1.$2")
	v=v.replace(/(\d{3})(\d)/,"$1.$2")
	v=v.replace(/(\d{3})(\d)/,"$1/$2")
	v=v.replace(/(\d{4})(\d)/,"$1-$2")
	return v
}

function cep(v) {
	v=v.replace(/\D/g,"")
	v=v.replace(/(\d{5})(\d)/,"$1-$2")
	return v
}

function telefone(v) {
	v=v.replace(/\D/g,"")
	v=v.replace(/(\d{4})(\d)/,"$1-$2")
	return v
}

function soNumeros(v) {
	v=v.replace(/\D/g,"")
	return v
}

function getCep() {
	var varCidade=""
	var vCep=document.frmInscricao.iCep.value;
	vCep=vCep.replace("-","")
	if(vCep=='') {
		alert("Informe o Cep!");
		document.frmInscricao.iCep.focus();
	}
	else {
		var vParam="inc/getcep.asp?cep="+vCep+"&r="+Math.random();
		getDados(vParam,setCep,"xml");
	}
}

function getDados(varParam,callback,varRet) {
	//verifica se o browser tem suporte a ajax	  
  try {
		ajax = new ActiveXObject("Microsoft.XMLHTTP");
	} 
	catch(e) {
		try {
			ajax = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(ex) {
			try {
				ajax = new XMLHttpRequest();
			} catch(exc) {
				alert("Esse browser não tem recursos para uso do Ajax");
				ajax = null;
			}
		}
	}
	//se tiver suporte ajax
	if(ajax) {
		ajax.open("GET", varParam, true);
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		ajax.onreadystatechange = function() {
			//enquanto estiver processando...emite a msg de carregando
			if(ajax.readyState == 1) {
				document.getElementById("carregar").innerHTML = "<center>Buscando dados...</center>";
			}
			//após ser processado - chama função processXML que vai varrer os dados
			if(ajax.readyState == 4 ) {
				if(varRet=="xml") {
					if(ajax.responseXML) {
						callback(ajax.responseXML);
					}
				else {
					//caso não seja um arquivo XML emite a mensagem abaixo
					document.getElementById("carregar").innerHTML = "Erro.";
				}
			}
			else if(varRet=="txt") {
				if(ajax.responseText) {
					callback(ajax.responseText);
				}
				else {
					//caso não seja um arquivo XML emite a mensagem abaixo
					document.getElementById("carregar").innerHTML = "Erro.";
				}
			}
			}
		}
		ajax.send(null);
	}
}

function setCep(strXml) {
	var varRetorno=strXml.getElementsByTagName("erro")[0].firstChild.nodeValue;
	if(varRetorno=="True") {
		document.getElementById("carregar").innerHTML='Erro';
	}
	else {
		var dataArray   = strXml.getElementsByTagName("dados");
		if(dataArray.length > 0) {
			var item = dataArray[0];
			var varEndereco = item.getElementsByTagName("endereco")[0].firstChild.nodeValue;
			var varBairro = item.getElementsByTagName("bairro")[0].firstChild.nodeValue;
			var varCidade = item.getElementsByTagName("cidade")[0].firstChild.nodeValue;
			var Estado = item.getElementsByTagName("estado")[0].firstChild.nodeValue;						
			var varCep = item.getElementsByTagName("cep")[0].firstChild.nodeValue;
		}
		var vForm=document.frmInscricao;
		vForm.iEndereco.value=varEndereco;
		vForm.iBairro.value=varBairro;	
		varCep=varCep.substring(0,5)+"-"+varCep.substring(5);
		vForm.iCep.value=varCep;
		varCidade=varCidade.replace("'","`");
		vForm.iCidade.value=varCidade;
		for (var i=0;i<vForm.iEstado.options.length;i++) {
			if(vForm.iEstado.options[i].value==Estado) {
				vForm.iEstado.options[i].selected =true;
			}
		}
		vForm.iPais.value='Brasil';
		vForm.iNumero.focus();
		document.getElementById("carregar").innerHTML='';
	}
}

