function validaForm(f){
	var msg = "";
	if (trim(f.elements["nome"].value)     == "") { msg += "Nome parece inválido \n"; }
  if (trim(f.elements["endereco"].value) == "") { msg += "Endereço parece inválido \n"; }
  if (trim(f.elements["bairro"].value)   == "") { msg += "Bairro parece inválido \n"; }
  if (trim(f.elements["cep"].value)      == "") { msg += "Cep parece inválido \n"; }
  if (trim(f.elements["cidade"].value)   == "") { msg += "Cidade parece inválido \n"; }  
  if (trim(f.elements["telefone"].value) == "") { msg += "Telefone parece inválido \n"; }
  if (trim(f.elements["email"].value)    == "") { msg += "Email parece inválido \n"; }
  
  //if (!validarEmail(trim(f.elements["email"].value))) { msg += "E-mail parece inválido \n"; }  
  
  if (f.estado.options[f.estado.options.selectedIndex].value == 0) { msg += "Selecione um Estado \n"; }
  if (f.dia_nasc.options[f.dia_nasc.options.selectedIndex].value == 0) { msg += "Selecione Dia de Nascimento \n"; }
  if (f.mes_nasc.options[f.mes_nasc.options.selectedIndex].value == 0) { msg += "Selecione Mês de Nascimento \n"; }
  if (f.ano_nasc.options[f.ano_nasc.options.selectedIndex].value == 0) { msg += "Selecione Ano de Nascimento \n"; }
  if (f.opcao1.options[f.opcao1.options.selectedIndex].value == 0) { msg += "Selecione Opção 1 \n"; }
  if (f.opcao2.options[f.opcao2.options.selectedIndex].value == 0) { msg += "Selecione Opção 2 \n"; }
  if (f.questao1.options[f.questao1.options.selectedIndex].value == 0) { msg += "Selecione Questão 1 \n"; }
  if (f.questao2.options[f.questao2.options.selectedIndex].value == 0) { msg += "Selecione Questão 2 \n"; }
  if (f.questao4.options[f.questao4.options.selectedIndex].value == 0) { msg += "Selecione Questão 3 \n"; }
  if (f.questao5.options[f.questao5.options.selectedIndex].value == 0) { msg += "Selecione Questão 4 \n"; }
  if (f.questao6.options[f.questao6.options.selectedIndex].value == 0) { msg += "Selecione Questão 5 \n"; }
  if (f.questao7.options[f.questao7.options.selectedIndex].value == 0) { msg += "Selecione Questão 6 \n"; }
  if (f.questao8.options[f.questao8.options.selectedIndex].value == 0) { msg += "Selecione Questão 7 \n"; }
  if (f.questao9.options[f.questao9.options.selectedIndex].value == 0) { msg += "Selecione Questão 8 \n"; }
  if (f.questao10.options[f.questao10.options.selectedIndex].value == 0) { msg += "Selecione Questão 9 \n"; }
  if (f.questao11.options[f.questao11.options.selectedIndex].value == 0) { msg += "Selecione Questão 10 \n"; }
  if (f.questao12.options[f.questao12.options.selectedIndex].value == 0) { msg += "Selecione Questão 11 \n"; }
  
  if (msg != "") { alert(msg); return false; }    	
	//return (confirm("Confirma as informações do pré cadastro?"));
}

function validarEmail(obj) {
	var field = obj; // email campo.
  var str = obj.value; // valor do email.
  var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // itens inválidos.
  var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // itens válidos.
  if (!reg1.test(str) && reg2.test(str)) { return true; } else { return false; }
}

function removeAcentos(e){
	var comAcentos = [192,193,194,195,196,197,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,216,217,218,219,220,221,223,224,225,226,227,228,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,248,249,250,251,252,253,254,255];
	var semAcentos = [65,65,65,65,65,65,67,69,69,69,69,73,73,73,73,68,78,79,79,79,79,79,79,85,85,85,85,89,66,97,97,97,97,97,97,99,101,101,101,101,105,105,105,105,111,110,111,111,111,111,111,111,117,117,117,117,121,98,121];
	var tecla = e.keyCode;
    for (i = 0; i < comAcentos.length; i++)
		if (tecla == comAcentos[i])
			event.keyCode = semAcentos[i];
	return true;
}

function validaCNPJCPF(objCNPJCPF){
	var chrP = objCNPJCPF.value.substring(objCNPJCPF.value.length-1, objCNPJCPF.value.length);
	
	if (!chrP.match(/[0-9]/) && !chrP.match(/[\/.-]/)){
		objCNPJCPF.value = objCNPJCPF.value.substring(0, objCNPJCPF.value.length-1);
		return false;
	}
	return true;
}

function DigitoCPFCNPJ(numCIC){
	var numDois = numCIC.substring(numCIC.length-2, numCIC.length);
	var novoCIC = numCIC.substring(0, numCIC.length-2);
	switch (numCIC.length){
		case 11 :
			numLim = 11;
			break;
		case 14 :
			numLim = 9;
			break;
		default : return false;
	}
	var numSoma = 0;
	var Fator = 1;
	for (var i=novoCIC.length-1; i>=0 ; i--){
		Fator = Fator + 1;
		if (Fator > numLim)
			Fator = 2;
		numSoma = numSoma + (Fator * Number(novoCIC.substring(i, i+1)));
	}
	numSoma = numSoma/11;
	var numResto = Math.round( 11 * (numSoma - Math.floor(numSoma)));
    if (numResto > 1)
		numResto = 11 - numResto;  
    else
		numResto = 0;
    var numDigito = String(numResto);
    novoCIC = novoCIC.concat(numResto);
	numSoma = 0;
	Fator = 1;
	for (var i=novoCIC.length-1; i>=0 ; i--){
		Fator = Fator + 1;
		if (Fator > numLim)
			Fator = 2;
		numSoma = numSoma + (Fator * Number(novoCIC.substring(i, i+1)));
	}
	numSoma = numSoma/11;
	numResto = numResto = Math.round( 11 * (numSoma - Math.floor(numSoma)));
    if (numResto > 1)
		numResto = 11 - numResto;
    else
		numResto = 0;
	numDigito = numDigito.concat(numResto);
	if (numDigito == numDois)
		return true;
	else
		return false;
}

function ApenasNum(strParm){
	strParm = String(strParm);
	var chrPrt = "0";
	var strRet = "";
	var j=0;
	for (var i=0; i < strParm.length; i++){
		chrPrt = strParm.substring(i, i+1);
		if (chrPrt.match(/\d/)){
			if (j==0){
				strRet = chrPrt;
				j=1;
			}
			else
				strRet = strRet.concat(chrPrt);
		}
	}
	return strRet;
}

function PreencheCIC(objCIC) {
	var chrP = objCIC.value.substring(objCIC.value.length-1, objCIC.value.length);
	
	if (!chrP.match(/[0-9]/) && !chrP.match(/[\/.-]/)){
		objCIC.value = objCIC.value.substring(0, objCIC.value.length-1);
		return false;
	}
	return true;
}

function FormataCIC (numCIC){
	numCIC = String(numCIC);
	switch (numCIC.length){
	case 11 :
		return numCIC.substring(0,3) + "." + numCIC.substring(3,6) + "." + numCIC.substring(6,9) + "-" + numCIC.substring(9,11);
	case 14 :
		return numCIC.substring(0,2) + "." + numCIC.substring(2,5) + "." + numCIC.substring(5,8) + "/" + numCIC.substring(8,12) + "-" + numCIC.substring(12,14);
	default : 
		alert("Tamanho incorreto do CPF ou CNPJ!");
		return "";
	}
}

function ConfereCIC(objCIC){
	objCIC.value = ApenasNum(objCIC.value);
	if ((objCIC.value == null) || (objCIC.value == ""))
		return false;
		
	if ((objCIC.value.length != 11) && (objCIC.value.length != 14)){
		alert("CPF informado é inválido!");
		objCIC.focus();
		return false;	
	}
	
	var strCPFPat  = /^\d{3}\.\d{3}\.\d{3}-\d{2}$/;
	var strCNPJPat = /^\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}$/;
	
	numCPFCNPJ = ApenasNum(objCIC.value);

	if (!DigitoCPFCNPJ(numCPFCNPJ)){
		alert("Atenção o Dígito verificador do CPF é inválido!");
		objCIC.focus();
		return false;
	}
	
	objCIC.value = FormataCIC(numCPFCNPJ);

	if (objCIC.value.match(strCNPJPat))
		return true;
	else if (objCIC.value.match(strCPFPat))
		return true;
	else
		return false;
}

function Tecla(e)
{
	if (document.all) // Internet Explorer
		var tecla = e.keyCode;
	else if(document.layers) // Nestcape
		var tecla = e.which;
	if (tecla > 47 && tecla < 58) // numeros de 0 a 9
		return true;
	else
	{
		if (tecla != 8) // backspace
			event.keyCode = 0;	//return false;
		else
	 	    return true;
	}
}

function autoTab(input,len, e) {
    var isNN = (navigator.appName.indexOf("Netscape")!=-1);
	var keyCode = (isNN) ? e.which : e.keyCode;
	var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
	if(input.value.length >= len && !containsElement(filter,keyCode)) {
		input.value = input.value.slice(0, len);
		input.form[(getIndex(input)+1) % input.form.length].focus();
	}

	function containsElement(arr, ele) {
		var found = false, index = 0;
		while(!found && index < arr.length)
		if(arr[index] == ele)
		found = true;
		else
		index++;
		return found;
	}

	function getIndex(input) {
		var index = -1, i = 0, found = false;
		while (i < input.form.length && index == -1)
		if (input.form[i] == input)index = i;
		else i++;
		return index;
	}
	return true;
}



function trim (stringToTrim) { return stringToTrim.replace(/^\s+|\s+$/g,""); }
function ltrim(stringToTrim) { return stringToTrim.replace(/^\s+/,""); }
function rtrim(stringToTrim) { return stringToTrim.replace(/\s+$/,""); }