// JavaScript Document
startList = function() {
	if (document.all&&document.getElementById) {
		navRoot = document.getElementById("nav");
		for (i=0; i<navRoot.childNodes.length; i++) {
			node = navRoot.childNodes[i];
			if (node.nodeName=="LI") {
				node.onmouseover=function() {
					this.className+=" over";
				}
				node.onmouseout=function() {
					this.className=this.className.replace(" over", "");
				}
			}
		}
	}
}
window.onload=startList;


//VALIDA DATAS
reDate1 = /^\d{1,2}\/\d{1,2}\/(\d{1,4})$/;
reDate2 = /^[0-3]?\d\/[01]?\d\/(\d{2}|\d{4})$/;
reDate3 = /^(0?[1-9]|[12]\d|3[01])\/(0?[1-9]|1[0-2])\/(19|20)?\d{2}$/;
reDate4 = /^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/;
reDate5 = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;

function validaData(campo, pStr, pFmt){
	eval("reDate = reDate" + pFmt);
	if (reDate.test(pStr)) {
		return true;
	} else if (pStr != null && pStr != "") {
		return false;
	}else{
		return true;
	}
} // doDate

//FUNCAO PARA CHECAGEM DE CPF
function ChecaCPF(valorcampo){
	function remove(str, sub) {	   
	   var O = str.indexOf(sub);
	   var r = "";
	   if (O == -1) return str;
	   r += str.substring(0,O) + remove(str.substring(O + sub.length), sub);
	   return r;
	 }
	
	var CPF = valorcampo; // Recebe o valor digitado no campo
	if(CPF.length>11){
		CPF = remove(CPF, ".");
   		CPF = remove(CPF, "-");
	}

	// Aqui começa a checagem do CPF
	var POSICAO, I, SOMA, DV, DV_INFORMADO;
	var DIGITO = new Array(10);
	DV_INFORMADO = CPF.substr(9, 2); // Retira os dois últimos dígitos do número informado

	// Desemembra o número do CPF na array DIGITO
	for (I=0; I<=8; I++) {
		DIGITO[I] = CPF.substr( I, 1);
	}

	// Calcula o valor do 10º dígito da verificação
	POSICAO = 10;
	SOMA = 0;
    for (I=0; I<=8; I++) {
		SOMA = SOMA + DIGITO[I] * POSICAO;
		POSICAO = POSICAO - 1;
    }
	DIGITO[9] = SOMA % 11;
    if (DIGITO[9] < 2) {
    	DIGITO[9] = 0;
	}else{
       DIGITO[9] = 11 - DIGITO[9];
	}

	// Calcula o valor do 11º dígito da verificação
	POSICAO = 11;
	SOMA = 0;
    for (I=0; I<=9; I++) {
    	SOMA = SOMA + DIGITO[I] * POSICAO;
    	POSICAO = POSICAO - 1;
    }
	DIGITO[10] = SOMA % 11;
    if (DIGITO[10] < 2) {
    	DIGITO[10] = 0;
    }else {
        DIGITO[10] = 11 - DIGITO[10];
   }

	// Verifica se os valores dos dígitos verificadores conferem
	DV = DIGITO[9] * 10 + DIGITO[10];
    if (DV != DV_INFORMADO) {      
      return false;
	}else{
		return true;
	}
}

// JavaScript Document
//VALIDA FORM

function ValidaSemPreenchimento(form){
	var backgroundAviso="#FFFF00";
	var backgroundCorNormal="#FFFFFF";
	for (i=0;i<form.length;i++){		
		form[i].style.backgroundColor=backgroundCorNormal;
		if (form[i].getAttribute("obrigatorio") == 1){
			if (form[i].value == "" && form[i].type!="radio" && form[i].type!="checkbox"){				
				document.getElementById("resposta_form").innerHTML="Campo de preenchimento obrigatório";
				form[i].focus();
				form[i].style.backgroundColor=backgroundAviso;	
				return false;
			}else if(form[i].type=="radio" || form[i].type=="checkbox"){
				var nome=form[i].name;				
				var qtdchecados=0;
				for(k=0;k<form[nome].length;k++){
					if(form[nome][k].checked==true){
						qtdchecados++;
					}					
				}				
				if(qtdchecados<1){
					document.getElementById("resposta_form").innerHTML="Campo de preenchimento obrigatório";
					form[i].focus();
					form[i].style.backgroundColor=backgroundAviso;	
					return false;
				}
			}
		}
		if (form[i].getAttribute("ehemail") == 1){
			if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(form[i].value))){
				document.getElementById("resposta_form").innerHTML="Endereço de E-mail inválido!";
				form[i].focus();
				form[i].style.backgroundColor=backgroundAviso;
				return false;
		 	}
		}

		if(form[i].getAttribute("ehcpf")==1){			
			if(!ChecaCPF(form[i].value)){
				document.getElementById("resposta_form").innerHTML="CPF Inválido!";				
				form[i].focus();
				form[i].style.backgroundColor=backgroundAviso;
				return false;
			}
		}
		if(form[i].getAttribute("ehdata")==1){	
			if(!validaData(form[i],form[i].value,5)){
				document.getElementById("resposta_form").innerHTML="Data inválida!";				
				form[i].focus();
				form[i].style.backgroundColor=backgroundAviso;
				return false;
			}
		}
	}
	return true;
}

//tab entre campos
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
	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;
}

//mascara para campos
function formatar(src, mask){
  var i = src.value.length;
  var saida = mask.substring(0,1);
  var texto = mask.substring(i)
if (texto.substring(0,1) != saida) 
  {
	src.value += texto.substring(0,1);
  }
}

// ajax
//---------------- AJAX
function ajaxInit() {
	var xmlhttp;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
		}
	}

	if (!xmlhttp && typeof XMLHttpRequest != 'undefined' ) {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp = false ;
		}
	}
	
	return xmlhttp;
}

//form contato
function enviaForm(form,subject) { 
	ajax = ajaxInit();
	var corOriginal=form[0].style.backgroundColor;
	var url="funcoesphp/envia_dados.php?enviaemail=celeirobmd&subject="+subject;
	for (i=0;i<form.length;i++){
		form[i].disabled=true;
		form[i].style.backgroundColor="#FEFEFE";
		if(form[i].name!="enviar" && form[i].value!="" && form[i].type!="checkbox" && form[i].type!="radio"){	
			url+="&"+form[i].name+"="+form[i].value;			
		}else if(form[i].type=="checkbox" && form[i].checked){
			url+="&"+form[i].name+"="+form[i].value;
		}	
	}
	ajax.open("GET",url, true);
	document.getElementById("resposta_form").innerHTML="Aguarde! Enviando...";
	ajax.onreadystatechange = function() {
		if(ajax.readyState == 4 && ajax.status == 200) {
			var result = ajax.responseText;
			for (i=0;i<form.length;i++){
				form[i].disabled=false;
				form[i].style.backgroundColor=corOriginal;
				if(form[i].type=="text")
					form[i].value="";
				if((form[i].type=="checkbox" || form[i].type=="radio") && form[i].checked==true)
					form[i].checked=false;
				if(form[i].type=="select-one")
					form[i].options[0].selected =true;
			}
			if(result=="ok"){				
				document.getElementById("resposta_form").innerHTML="Dados enviados com sucesso!";
			}else{				
				document.getElementById("resposta_form").innerHTML="Ocorreu um erro com o banco de dados!";
			}
		}
	}
	ajax.send(null);
} 