/*
PARA QUE ESTA FUNÇÃO FUNCIONE CORRETAMENTE, O CAMPO A SER VALIDADO PRECISA TER NO SEU 
LABEL A PROPRIEDADE 'ID' IGUAL À PROPRIEDADE 'NAME' DO CAMPO E ESTE CAMPO PRECISA POSSUIR 
UMA PROPRIEDADE 'ID' QUE REPRESENTARÁ O TIPO DE VALIDAÇÃO QUE DEVE SER REALIZADA.
O FORMULÁRIO DEVERÁ POSSUIR NA PROPRIEDADE 'ID' UM VALOR VÁLIDO
A PÁGINA TERÁ QUE POSSUIR UMA TAG 'SPAN' COM A PROPRIEDADE 'ID' IGUAL A 'msg'
*/
function validaForm(form,cor_validado,cor_erro){
	var erro = false;
	var tipo = Array();
	var msg = '';
	for(var i = 0; i < form.elements.length; i++) {
		if(form.elements[i].type == 'submit')
			var oBotaoSubmit = form.elements[i];
			
			oLinha = recuperaLinhaCampo(form.elements[i]);

			if((oLinha != null && oLinha.style.display != "none" && oLinha.style.visibility != "hidden") || oLinha == null) {
				
				if(form.elements[i].lang != undefined) {
					switch(form.elements[i].lang) {
						case 'vazio':
							if(!validaVazio(form.elements[i])) {
								window.document.getElementById(form.elements[i].name).style.color = cor_erro;
								erro = erro || true;
								aux = tipo.toString();
								if(aux.indexOf('vazio') == -1)
									tipo.push('vazio');
							}
							else {
								window.document.getElementById(form.elements[i].name).style.color = cor_validado;
								erro = erro || false;
							}
						break;
						case 'vazioRadio':
							if(!validaVazioRadio(form.elements[i])) {
								window.document.getElementById(form.elements[i].name).style.color = cor_erro;
								erro = erro || true;
								aux = tipo.toString();
								if(aux.indexOf('vazioRadio') == -1)
									tipo.push('vazioRadio');
							}
							else {
								window.document.getElementById(form.elements[i].name).style.color = cor_validado;
								erro = erro || false;
							}
						break;				
						case 'email':
							if(!validaEmail(form.elements[i])) {
								window.document.getElementById(form.elements[i].name).style.color = cor_erro;
								erro = erro || true;
								aux = tipo.toString();
								if(aux.indexOf('email') == -1)
									tipo.push('email');
							}
							else {
								window.document.getElementById(form.elements[i].name).style.color = cor_validado;
								erro = erro || false;
							}
						break;
						case 'emailnaoobrigatorio':
							if(!validaEmailNaoObrigatorio(form.elements[i])) {
								window.document.getElementById(form.elements[i].name).style.color = cor_erro;
								erro = erro || true;
								aux = tipo.toString();
								if(aux.indexOf('email') == -1)
									tipo.push('email');
							}
							else {
								window.document.getElementById(form.elements[i].name).style.color = cor_validado;
								erro = erro || false;
							}
						break;
						case 'CEP':
							if(!validaCEP(form.elements[i])) {
								window.document.getElementById(form.elements[i].name).style.color = cor_erro;
								erro = erro || true;
								aux = tipo.toString();
								if(aux.indexOf('CEP') == -1)
									tipo.push('CEP');
							}
							else {
								window.document.getElementById(form.elements[i].name).style.color = cor_validado;
								erro = erro || false;
							}
						break;
						case 'data':
							if(!validaData(form.elements[i])) {
								window.document.getElementById(form.elements[i].name).style.color = cor_erro;
								erro = erro || true;
								aux = tipo.toString();
								if(aux.indexOf('data') == -1)
									tipo.push('data');
							}
							else {
								window.document.getElementById(form.elements[i].name).style.color = cor_validado;
								erro = erro || false;
							}
						break;
						case 'CPF':
							if(!validaCPF(form.elements[i])) {
								window.document.getElementById(form.elements[i].name).style.color = cor_erro;
								erro = erro || true;
								aux = tipo.toString();
								if(aux.indexOf('CPF') == -1)
									tipo.push('CPF');
							}
							else
								window.document.getElementById(form.elements[i].name).style.color = cor_validado;
								erro = erro || false;
						break;
						case 'CNPJ':
							if(!validaCPF(form.elements[i]) || form.elements[i].value.length != 14) {
								window.document.getElementById(form.elements[i].name).style.color = cor_erro;
								erro = erro || true;
								aux = tipo.toString();
								if(aux.indexOf('CNPJ') == -1)
									tipo.push('CNPJ');
							}
							else
								window.document.getElementById(form.elements[i].name).style.color = cor_validado;
								erro = erro || false;
						break;
						case 'numerico':
							if(!verificaNumerico(form.elements[i])) {
								window.document.getElementById(form.elements[i].name).style.color = cor_erro;
								erro = erro || true;
								aux = tipo.toString();
								if(aux.indexOf('numerico') == -1)
									tipo.push('numerico');
							}
							else
								window.document.getElementById(form.elements[i].name).style.color = cor_validado;
								erro = erro || false;
						break;
					}
					switch(form.elements[i].id) {
						case 'igual':
							var objetoAuxiliar = window.document.getElementById(form.elements[i].lang);
							if(objetoAuxiliar.value != form.elements[i].value) {
								window.document.getElementById(form.elements[i].name).style.color = cor_erro;
								erro = erro || true;
								aux = tipo.toString();
								if(aux.indexOf('igual') == -1)
									tipo.push('igual');
							}
							else {
								window.document.getElementById(window.document.getElementById(form.elements[i].id).name).style.color = cor_validado;
								window.document.getElementById(form.elements[i].name).style.color = cor_validado;
								erro = erro || false;
							}
						break;
					}
			}
		}
	}
	if(erro) {
		for(var i=0; i<tipo.length; i++) {
			switch(tipo[i]) {
				case 'vazio':	
					msg += 'Os campos em destaque são obrigatórios<br>';
				break;
				case 'vazioRadio':	
					msg += 'Selecione a opção mais adequada para prosseguir<br>';
				break;
				case 'email':	
					msg += 'O E-mail informado é inválido<br>';
				break;
				case 'CEP':	
					msg += 'O CEP informado é inválido<br>';
				break;
				case 'data':	
					msg += 'A Data informada é inválida<br>';
				break;
				case 'CPF':	
					msg += 'O CPF informado é inválido<br>';
				break;
				case 'CNPJ':	
					msg += 'O CNPJ informado é inválido<br>';
				break;
				case 'numerico':	
					msg += 'O valor informado não é um numérico válido!<br>';
				break;
				case 'igual':	
					msg += 'A confirmação não coincide com a nova senha!<br>';
				break;
			}
		}
		inicio = "<table width='100%'  border='0' cellpadding='0' cellspacing='0' class='AlertaTabela'><tr><td width='1%'><img src='/imagens/alerta_erro.gif' alt='Atenção' width='119' height='24'></td><td width='99%'>";
	    fim = "</td></tr></table><tr><td>&nbsp;</td></tr>";

		msg = inicio+msg+fim;
		window.document.getElementById('msg').innerHTML = msg;	
		return false;
	}
	
	if(oBotaoSubmit != null)
		oBotaoSubmit.disabled = true;
	return true;
}

function recuperaLinhaCampo(oElemento) {
	while(oElemento != null && oElemento.tagName != 'DIV')
		oElemento = oElemento.parentNode;
	return oElemento;
}


function validaFormPorAccept(form,cor_validado,cor_erro){
	var erro = false;
	var tipo = Array();
	var msg = '';
		
	for(var i = 0; i < form.elements.length; i++) {
		if(form.elements[i].type == 'submit')
			var oBotaoSubmit = form.elements[i];
		
		if(form.elements[i].accept != undefined) {
			switch(form.elements[i].accept) {
				case 'vazio':
					if(!validaVazio(form.elements[i])) {
						window.document.getElementById(form.elements[i].name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('vazio') == -1)
							tipo.push('vazio');
					}
					else {
						window.document.getElementById(form.elements[i].name).style.color = cor_validado;
						erro = erro || false;
					}
				break;
				case 'vazioRadio':
					if(!validaVazioRadio(form.elements[i])) {
						window.document.getElementById(form.elements[i].name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('vazioRadio') == -1)
							tipo.push('vazioRadio');
					}
					else {
						window.document.getElementById(form.elements[i].name).style.color = cor_validado;
						erro = erro || false;
					}
				break;				
				case 'email':
					if(!validaEmail(form.elements[i])) {
						window.document.getElementById(form.elements[i].name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('email') == -1)
							tipo.push('email');
					}
					else {
						window.document.getElementById(form.elements[i].name).style.color = cor_validado;
						erro = erro || false;
					}
				break;
				case 'CEP':
					if(!validaCEP(form.elements[i])) {
						window.document.getElementById(form.elements[i].name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('CEP') == -1)
							tipo.push('CEP');
					}
					else {
						window.document.getElementById(form.elements[i].name).style.color = cor_validado;
						erro = erro || false;
					}
				break;
				case 'data':
					if(!validaData(form.elements[i])) {
						window.document.getElementById(form.elements[i].name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('data') == -1)
							tipo.push('data');
					}
					else {
						window.document.getElementById(form.elements[i].name).style.color = cor_validado;
						erro = erro || false;
					}
				break;
				case 'CPF':
					if(!validaCPF(form.elements[i])) {
						window.document.getElementById(form.elements[i].name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('CPF') == -1)
							tipo.push('CPF');
					}
					else
						window.document.getElementById(form.elements[i].name).style.color = cor_validado;
						erro = erro || false;
				break;
				case 'CNPJ':
					if(!validaCPF(form.elements[i]) || form.elements[i].value.length != 14) {
						window.document.getElementById(form.elements[i].name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('CNPJ') == -1)
							tipo.push('CNPJ');
					}
					else
						window.document.getElementById(form.elements[i].name).style.color = cor_validado;
						erro = erro || false;
				break;
				case 'numerico':
					if(!validaNumerico(form.elements[i])) {
						window.document.getElementById(form.elements[i].name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('numerico') == -1)
							tipo.push('numerico');
					}
					else
						window.document.getElementById(form.elements[i].name).style.color = cor_validado;
						erro = erro || false;
				break;
				case 'numericoObrigatorio':
					if(!validaNumericoObrigatorio(form.elements[i])) {
						window.document.getElementById(form.elements[i].name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('numerico') == -1)
							tipo.push('numerico');
					}

					else
						window.document.getElementById(form.elements[i].name).style.color = cor_validado;
						erro = erro || false;
				break;
				case 'igual':
					var objetoAuxiliar = window.document.getElementById(form.elements[i].lang);
					if(objetoAuxiliar.value != form.elements[i].value) {//alert(form.elements[i].name);
						window.document.getElementById(form.elements[i].name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('igual') == -1)
							tipo.push('igual');
					}
					else if(!objetoAuxiliar.value){
						window.document.getElementById(window.document.getElementById(form.elements[i].lang).name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('vazio') == -1)
							tipo.push('vazio');
					}
					else{
						window.document.getElementById(window.document.getElementById(form.elements[i].lang).name).style.color = cor_validado;
						window.document.getElementById(form.elements[i].name).style.color = cor_validado;
						erro = erro || false;
					}
				break;
			}
		}
	}
	if(erro) {
		for(var i=0; i<tipo.length; i++) {
			switch(tipo[i]) {
				case 'vazio':	
					msg += 'Os campos em destaque são obrigatórios<br>';
				break;
				case 'vazioRadio':	
					msg += 'Selecione a opção mais adequada para prosseguir<br>';
				break;
				case 'email':	
					msg += 'O E-mail informado é inválido<br>';
				break;
				case 'CEP':	
					msg += 'O CEP informado é inválido<br>';
				break;
				case 'data':	
					msg += 'A Data informada é inválida<br>';
				break;
				case 'CPF':	
					msg += 'O CPF informado é inválido<br>';
				break;
				case 'CNPJ':	
					msg += 'O CNPJ informado é inválido<br>';
				break;
				case 'numerico':	
					msg += 'O valor informado não é um numérico válido!<br>';
				break;
				case 'igual':	
					msg += 'A confirmação não coincide!<br>';
				break;
			}
		}
		inicio = '<table width="100%"  border="0" cellspacing="0" cellpadding="5" bgcolor="#BDDFF0" style="border: 1px solid #006699"><tr><td style="font-family: Verdana, Arial, Helvetica, sans-serif;	font-size: 11px;color: #FFFFFF;background-color: #006699;font-weight: bold;">Erro ao preencher o formulário</td></tr><tr><td style="border: 1px solid #006699"><tr><td style="font-family: Verdana, Arial, Helvetica, sans-serif;	font-size: 11px;color: #000000;">';
		fim = '</td></tr></table>';
		msg = inicio+msg+fim;
		
		window.document.getElementById('msg').innerHTML = msg;
		return false;
	}
	
	if(oBotaoSubmit != null)
		oBotaoSubmit.disabled = true;
	
	
	return true;
}

/*
MÉTODO RESPONSÁVEL POR RECUPERAR O CONTEÚDO QUE IRÁ COMPOR O SELECT
nIdSelect => ID DO OBJETO HTML SELECT QUE SERÁ MONTADO
nIdCategoria => ID DA CATEGORIA NO BANCO DE DADOS QUE SERVIRÁ DE FILTRO PARA MONTAGEM DO SELECT
nIdSelecionado => ID DA OPÇÃO QUE FICARÁ MARCADA NO SELECT MONTADO
sDocumento => LOCALIZAÇÃO DO DOCUMENTO QUE ESTÁ REALIZANDO A CONSULTA AO BANCO
*/
function recuperaConteudoSelect(nIdSelect,nIdCategoria,nIdSelecionado,sDocumento,bDdd){
	oOption = new Option();
	oOption.value = '';
	oOption.text = 'Aguarde...Carregando';
	oOption.selected = true;
	oSelect = document.getElementById(nIdSelect);
	oSelect.options[oSelect.options.length] = oOption;
	oXmlHttp = inicializaXlmHttp();
	oXmlHttp.open("GET",sDocumento+"?nId="+nIdCategoria,true);
	oXmlHttp.onreadystatechange = function(){
		if(oXmlHttp.readyState == 4){
			if(oXmlHttp.status == 200){
				var sConteudo = oXmlHttp.responseText;
				montaSelect(nIdSelect,sConteudo,nIdSelecionado);
				if(bDdd)
					recuperaDddCidade('fDdd',oSelect.value,'/si/consultor/empresa/recupera_ddd_cidade.php');
			} else 
				alert('Problemas na conexão com o servidor! Tente novamente');
		}//if(oXmlHttp.readyState == 4)
	}
	oXmlHttp.send(null);
}

/*//FUNÇÃO RESPONSÁVEL POR MONTAR O SELECT
function montaSelect(nIdSelect,sConteudo,nIdSelecionado){
	oSelect = document.getElementById(nIdSelect);
	sConteudo = sConteudo.replace(/\+/g," ");
    sConteudo = unescape(sConteudo);
	limpaSelect(oSelect);
	vLinha = sConteudo.split('##');
	for(var i = 0 ; i < vLinha.length ; i++){
		vCampo = vLinha[i].split('#');
		oOption = new Option(vCampo[1],vCampo[0]);
		if(nIdSelecionado == oOption.value)
			oOption.selected = true;
		oSelect.options[oSelect.length] = oOption;
	}
}*/
//FUNÇÃO RESPONSÁVEL POR MONTAR O SELECT
function montaSelect(nIdSelect,sConteudo,nIdSelecionado){
	oSelect = document.getElementById(nIdSelect);
	sConteudo = sConteudo.replace(/\+/g," ");
	sConteudo = unescape(sConteudo);
	limpaSelect(oSelect);
	vLinha = sConteudo.split('&');
	if(sConteudo) {
	//ADICIONA O SELECIONE
	oOption = new Option("Selecione","");
	oSelect.options[0] = oOption;
	for(var i = 0 ; i < vLinha.length ; i++){
	vCampo = vLinha[i].split('=');
	oOption = new Option(vCampo[1],vCampo[0]);
	if(nIdSelecionado == oOption.value)
	oOption.selected = true;
	oSelect.options[oSelect.length] = oOption;
	}
	} else {
	//ADICIONA O SELECIONE
	oOption = new Option("Não há itens cadastrados no sistema","");
	oSelect.options[0] = oOption;
	}
}

function recuperaConteudoSelectCadCli(nIdSelect,nIdCategoria,sSelecionado,sDocumento,bDdd){
	oOption = new Option();
	oOption.value = '';
	oOption.text = 'Aguarde...Carregando';
	oOption.selected = true;
	oSelect = document.getElementById(nIdSelect);
	oSelect.options[oSelect.options.length] = oOption;
	oXmlHttp = inicializaXlmHttp();
	oXmlHttp.open("GET",sDocumento+"?nId="+nIdCategoria,true);
	oXmlHttp.onreadystatechange = function(){
		if(oXmlHttp.readyState == 4){
			if(oXmlHttp.status == 200){
				var sConteudo = oXmlHttp.responseText;
				montaSelectCadCli(nIdSelect,sConteudo,sSelecionado);
				if(bDdd)
					recuperaDddCidade('fDdd',oSelect.value,'/curriculo/recupera_ddd_cidade.php');
			} else 
				alert('Problemas na conexão com o servidor! Tente novamente');
		}//if(oXmlHttp.readyState == 4)
	}
	oXmlHttp.send(null);
}

//FUNÇÃO RESPONSÁVEL POR MONTAR O SELECT
function montaSelectCadCli(nIdSelect,sConteudo,sSelecionado){
	oSelect = document.getElementById(nIdSelect);
	sConteudo = sConteudo.replace(/\+/g," ");
    sConteudo = unescape(sConteudo);
	limpaSelect(oSelect);
	vLinha = sConteudo.split('##');
	for(var i = 0 ; i < vLinha.length ; i++){
		vCampo = vLinha[i].split('#');
		oOption = new Option(vCampo[1],vCampo[0]);
		if(sSelecionado == vCampo[1])
			oOption.selected = true;
		oSelect.options[oSelect.length] = oOption;
	}
}
function recuperaDddCidade(sIdElemento,nIdCidade,sDocumento){
	oXmlHttp = inicializaXlmHttp();
	oXmlHttp.open("GET",sDocumento+"?nId="+nIdCidade,true);
	oXmlHttp.onreadystatechange = function(){
		if(oXmlHttp.readyState == 4){
			if(oXmlHttp.status == 200){
				var sConteudo = oXmlHttp.responseText;
				sConteudo = sConteudo.replace(/\+/g," ");
    			sConteudo = unescape(sConteudo);
				oFax = document.getElementById('fDddFax');
				
				if(oFax){
					if(oFax.value == ""){
						oFax.value = sConteudo;
					}
				}
				
				oObj = document.getElementById(sIdElemento);
				if(oObj){
					if(oObj.value == ""){
						oObj.value = sConteudo;	
					}
				}else{
					for(var i = 1; i <= 4 ; i++){
						if(document.getElementById(sIdElemento+i).value == ""){
							document.getElementById(sIdElemento+i).value = sConteudo;
						}
					}
				}
			} else 
				alert('Problemas na conexão com o servidor! Tente novamente');
		}//if(oXmlHttp.readyState == 4)
	}
	oXmlHttp.send(null);
}

//MÉTODO RESPONSÁVEL POR LIMPAR O OBJETO SELECT
function limpaSelect(oSelect){
	while(oSelect.length != 0){
		oSelect.remove(0);
	}
}

function validaFormPorLang(form,cor_validado,cor_erro){
	var erro = false;
	var tipo = Array();
	var msg = '';
	for(var i = 0; i < form.elements.length; i++) {
		if(form.elements[i].type == 'submit')
			var oBotaoSubmit = form.elements[i];
		
		if(form.elements[i].lang != undefined) {
			switch(form.elements[i].lang) {
				case 'vazio'://alert(form.elements[i].name);					
					if(!validaVazio(form.elements[i])) {
						if(window.document.getElementById(form.elements[i].name).type != 'select-one')
							window.document.getElementById(form.elements[i].name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('vazio') == -1)
							tipo.push('vazio');
					}
					else {
						window.document.getElementById(form.elements[i].name).style.color = cor_validado;
						erro = erro || false;
					}
				break;
				case 'vazioRadio':
					if(!validaVazioRadio(form.elements[i])) {
						window.document.getElementById(form.elements[i].name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('vazioRadio') == -1)
							tipo.push('vazioRadio');
					}
					else {
						window.document.getElementById(form.elements[i].name).style.color = cor_validado;
						erro = erro || false;
					}
				break;				
				case 'email':
					if(!validaEmail(form.elements[i])) {
						window.document.getElementById(form.elements[i].name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('email') == -1)
							tipo.push('email');
					}
					else {
						window.document.getElementById(form.elements[i].name).style.color = cor_validado;
						erro = erro || false;
					}
				break;
				case 'CEP':
					if(!validaCEP(form.elements[i])) {
						window.document.getElementById(form.elements[i].name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('CEP') == -1)
							tipo.push('CEP');
					}
					else {
						window.document.getElementById(form.elements[i].name).style.color = cor_validado;
						erro = erro || false;
					}
				break;
				case 'data':
					if(!validaData(form.elements[i])) {
						window.document.getElementById(form.elements[i].name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('data') == -1)
							tipo.push('data');
					}
					else {
						window.document.getElementById(form.elements[i].name).style.color = cor_validado;
						erro = erro || false;
					}
				break;
				case 'CPF':
					if(!validaCPF(form.elements[i])) {
						window.document.getElementById(form.elements[i].name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('CPF') == -1)
							tipo.push('CPF');
					}
					else
						window.document.getElementById(form.elements[i].name).style.color = cor_validado;
						erro = erro || false;
				break;
				case 'CNPJ':
					if(!validaCPF(form.elements[i]) || form.elements[i].value.length != 14) {
						window.document.getElementById(form.elements[i].name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('CNPJ') == -1)
							tipo.push('CNPJ');
					}
					else
						window.document.getElementById(form.elements[i].name).style.color = cor_validado;
						erro = erro || false;
				break;
				case 'numerico':
					if(!validaNumerico(form.elements[i])) {
						window.document.getElementById(form.elements[i].name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('numerico') == -1)
							tipo.push('numerico');
					}
					else
						window.document.getElementById(form.elements[i].name).style.color = cor_validado;
						erro = erro || false;
				break;
				case 'numericoObrigatorio':
					if(!validaNumericoObrigatorio(form.elements[i])) {
						window.document.getElementById(form.elements[i].name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('numerico') == -1)
							tipo.push('numerico');
					}

					else
						window.document.getElementById(form.elements[i].name).style.color = cor_validado;
						erro = erro || false;
				break;
				case 'numericoObrigatorioInteiro':
					if(!validaNumericoObrigatorioInteiro(form.elements[i])) {
						window.document.getElementById(form.elements[i].name).style.color = cor_erro;
						erro = erro || true;
						aux = tipo.toString();
						if(aux.indexOf('numericoInteiro') == -1)
							tipo.push('numericoInteiro');
					}

					else
						window.document.getElementById(form.elements[i].name).style.color = cor_validado;
						erro = erro || false;
				break;
				switch(form.elements[i].id) {
					case 'igual':
						var objetoAuxiliar = window.document.getElementById(form.elements[i].lang);
						if(objetoAuxiliar.value != form.elements[i].value) {
							window.document.getElementById(form.elements[i].name).style.color = cor_erro;
							erro = erro || true;
							aux = tipo.toString();
							if(aux.indexOf('igual') == -1)
								tipo.push('igual');
						}
						else {
							window.document.getElementById(window.document.getElementById(form.elements[i].id).name).style.color = cor_validado;
							window.document.getElementById(form.elements[i].name).style.color = cor_validado;
							erro = erro || false;
						}
					break;
				}
			}
		}
	}
	if(erro) {
		for(var i=0; i<tipo.length; i++) {
			switch(tipo[i]) {
				case 'vazio':	
					msg += 'Os campos em destaque são obrigatórios<br>';
				break;
				case 'vazioRadio':	
					msg += 'Selecione a opção mais adequada para prosseguir<br>';
				break;
				case 'email':	
					msg += 'O E-mail informado é inválido<br>';
				break;
				case 'CEP':	
					msg += 'O CEP informado é inválido<br>';
				break;
				case 'data':	
					msg += 'A Data informada é inválida<br>';
				break;
				case 'CPF':	
					msg += 'O CPF informado é inválido<br>';
				break;
				case 'CNPJ':	
					msg += 'O CNPJ informado é inválido<br>';
				break;
				case 'numerico':	
					msg += 'O valor informado não é um numérico válido!<br>';
				break;
				case 'numericoInteiro':
					msg += 'O valor informado deve ser um numérico válido maior que 0 (zero)!<br>';
				break;
				case 'igual':	
					msg += 'A confirmação não coincide!<br>';
				break;
			}
		}
		inicio = '<table width="100%"  border="0" cellspacing="0" cellpadding="5" bgcolor="#BDDFF0" style="border: 1px solid #006699"><tr><td style="font-family: Verdana, Arial, Helvetica, sans-serif;	font-size: 11px;color: #FFFFFF;background-color: #006699;font-weight: bold;">Erro ao preencher o formulário</td></tr><tr><td style="border: 1px solid #006699"><tr><td style="font-family: Verdana, Arial, Helvetica, sans-serif;	font-size: 11px;color: #000000;">';
		fim = '</td></tr></table>';
		msg = inicio+msg+fim;
		window.document.getElementById('msg').innerHTML = msg;
		return false;
	}
	
	if(oBotaoSubmit != null)
		oBotaoSubmit.disabled = true;
	
	return true;
}

function validaVazio(campo) {
	if(!(campo.value)) {
		return false;
	}
	return true;
}

function validaVazioRadio(campo) {
	var radio = document.getElementsByName(campo.name);
	for(var i = 0; i < radio.length; i++)
		if(radio[i].checked)
			return true;

	return false;
}

function validaEmail(campo) {
//var regExp = /^([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+))$/;
var regExp = /^([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.([a-zA-Z]{3})((\.[a-zA-Z]{2})?)))$/;
	if(!regExp.test(campo.value)) {
		return false;
	}
	return true;
}

function validaCEP(campo) {
var regExp = /^[0-9]{8}$/;
	if(!regExp.test(campo.value)) {
		return false;
	}
	return true;
}

function validaData(campo){
	var vData = Array;
	var regExp = /^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4}$/;
	
	if (!regExp.test(campo.value)) {	
		return false;
	}
	vData = campo.value.split('/');
	
	nDia = vData[0];
	nMes = vData[1];
	nAno = vData[2];
	
	if((nDia < 1) || (nDia > 31) || ((nDia == 31) && (nMes == 4 || nMes == 6 || nMes == 9 || nMes == 11 )))
		return false;
	
	if(nMes < 1 || nMes > 12)
		return false;
	
	if((nMes == 2 && nDia > 29) || (nMes == 2 && nDia == 29 && (parseInt(nAno/4) != nAno/4)))
		return false;
		
	return true;
}

function validaCPF(campo){
	if(campo.value==""){
		return false;
	}
	else {
		var z=campo.value;
		if(z.length!=11 && z.length!=14){
			return false;
		}
        else {
			if (z.length==11){
				var cpf2=campo.value;
				var j=10;
				x=0;
				for (var i=0; i <= 8; i=i+1){
					x+=cpf2.charAt(i)*j;
					j--;
				}
				var resto=x % 11;
				if (resto== 0 || resto==1) {
					dv1=0;
				}
				else{
					dv1=11-resto;
				}
				if (dv1!=cpf2.charAt(9)){
					return false;
				}
				else {
					var j = 11;
					var x2 = 0;
					for(i=0;i<=8;i++){
						x2 += cpf2.charAt(i)*j;
						j--;
					}
					x2+=dv1*2;
					resto2=x2 % 11;
					if (resto2== 0 || resto2==1) {
						dv2=0;
					}
					else {
						dv2=11-resto2;
					}
					if (dv2!=cpf2.charAt(10)){
						return false;
					}
					return true;
				}
			}
			else{
				var j=5;
				var x=0;
				var cpf2=campo.value;
				for(i=0;i<=3;i++){
					x+=cpf2.charAt(i)*j;
					j--;
				}
				j=9
				for (i=4;i<=11;i++){
					x+=cpf2.charAt(i)*j;
					j--;
				}
				resto=x % 11;
				if (resto == 0 || resto == 1) {
					dv1=0;
				}
				else{
					dv1=11-resto;
				}
				if(dv1!=cpf2.charAt(12)){
					return false;
				}
				else {
					var j=6;
					var x=0;
					for(i=0;i<=4;i++){
						x+=cpf2.charAt(i)*j;
						j--;
					}
					var j=9;
					for (i=5;i<=11;i++){
						x+=cpf2.charAt(i)*j;
						j--;
					}
					x+=dv1*2;
					resto=x % 11;
					if(resto == 1 || resto == 0){
						dv2=0;
					}
					else {
						dv2 = 11 - resto;
					}
					if(dv2!=cpf2.charAt(13)){
						return false;
					}
					else{
						return true;
					}
				}
			}
		}
	}
}

function validaNumerico(campo) {
var regExp = /^[0-9]+(\.[0-9]{3})*(\,[0-9]+)?$/;

	if(!regExp.test(campo.value))
		// USADO PARA LIBERAR CASO SEJA VAZIO
		if(validaVazio(campo))
			return false;
	return true;
}

function validaNumericoObrigatorio(campo) {
var regExp = /^[0-9]+(\.[0-9]{3})*(\,[0-9]+)?$/;

	if(!regExp.test(campo.value))
		return false;
	return true;
}

function validaNumericoObrigatorioInteiro(campo) {
var regExp = /^[1-9]*([0-9]+(\,[0]*))?([1-9]+)[0-9]*(\.[0-9]{3})*(\,[0-9]+)?$/;

	if(!regExp.test(campo.value))
		return false;
	return true;
}

function destacaLinha(linha,cor){
	linha.bgColor = cor;
}

function destacaLinhaNovo(linha,estilo){
	linha.className = estilo;
}

// MUDA AUTOMATICAMENTE O FOCO PARA O PRÓXIMO CAMPO DE UM FORMULÁRIO, CASO UM LIMITE
// DE TAMANHO DO CAMPO SEJA ATINGIDO, NO PREENCHIMENTO DO FORMULÁRIO. USAR EM CONJUNTO
// COM O EVENTO onKeyUp NO CAMPO A PARTIR DO QUAL SE DESEJA AVANÇAR.
function mudaFoco(nLimiteMax,form,campo){
	if (campo.value.length == nLimiteMax){
		for(i = 0; i < form.length; i++){
			if (form.elements[i].name == campo.name){
				proximo = i + 1;
				if (proximo < form.length){
					form.elements[proximo].focus();
				}//if (i + 1 < form.length)
			}//if (form.elements[i].name == campo.name)
		}//for(i = 0; form.length; i++)
	}//if (campo.length == nLimiteMax)
}

function submeteFormulario(form,acao) {
	form.action = acao;
	form.submit();
}

// PREENCHE A LISTA DE MESES DE ACORDO COM O QUADRIMESTRE SELECIONADO
// O NOME DO CAMPO DA EMPRESA DEVE SER 'fMes'
function atualizaMes(form,nQuadrimestre,vMes){
	with(form){
		// APAGA AS OPÇÕES
		var nTam = fMes.options.length
		for(var i = 0; i < nTam; i++)
			fMes.options[0] = null;
		
		// INSERE OS MESES DE UM QUADRIMESTRE
		for(var i = 0; i < vMes.length; i++){
			if(vMes[i][2] == nQuadrimestre || nQuadrimestre == 0){
				var option = new Option(vMes[i][1],vMes[i][0]);
				fMes.options[fMes.options.length] = option;
			}
		}
		
		// CASO NÃO TENHA EMPRESAS
		if(fMes.options.length == 1 && nQuadrimestre != 0){
			var option = new Option('Não há Meses cadastrados neste Quadrimestre',0);
			fMes.options[0] = option;
		}
	}
}

// PREENCHE A LISTA DE EMPRESAS DE ACORDO COM O NEGÓCIO SELECIONADO
// O NOME DO CAMPO DA EMPRESA DEVE SER 'fIdEmpresa'
function atualizaEmpresa(form,nIdNegocio,vEmpresa){
	with(form){
		// APAGA AS OPÇÕES
		var nTam = fIdEmpresa.options.length
		for(var i = 0; i < nTam-1; i++)
			fIdEmpresa.options[1] = null;
		
		// INSERE A OPÇÃO 'SELECIONE'
		var option = new Option('Selecione','');
		fIdEmpresa.options[0] = option;
		
		// INSERE AS EMPRESAS DE UM NEGÓCIO
		for(var i = 0; i < vEmpresa.length; i++){
			if(vEmpresa[i][2] == nIdNegocio || nIdNegocio == 0){
				var option = new Option(vEmpresa[i][1],vEmpresa[i][0]);
				fIdEmpresa.options[fIdEmpresa.options.length] = option;
			}
		}
		
		// CASO NÃO TENHA EMPRESAS
		if(fIdEmpresa.options.length == 1 && nIdNegocio != 0){
			var option = new Option('Não há Empresas cadastrados neste Negócio',0);
			fIdEmpresa.options[0] = option;
		}		
		fIdEmpresa.lang = "vazio";
	}
}

// PREENCHE A LISTA DE EMPRESAS DE ACORDO COM O NEGÓCIO SELECIONADO
// O NOME DO CAMPO DA EMPRESA DEVE SER 'fIdEmpresa'
function atualizaEmpresaComparativo(form,nIdNegocio,vEmpresa){
	with(form){
		// APAGA AS OPÇÕES
		var nTam = fIdEmpresaComparativo.options.length
		for(var i = 0; i < nTam-1; i++)
			fIdEmpresaComparativo.options[1] = null;
		
		// INSERE A OPÇÃO 'SELECIONE'
		var option = new Option('Selecione','');
		fIdEmpresaComparativo.options[0] = option;
		
		// INSERE AS EMPRESAS DE UM NEGÓCIO
		for(var i = 0; i < vEmpresaComparativo.length; i++){
			if(vEmpresa[i][2] == nIdNegocio || nIdNegocio == 0){
				var option = new Option(vEmpresa[i][1],vEmpresa[i][0]);
				fIdEmpresaComparativo.options[fIdEmpresaComparativo.options.length] = option;
			}
		}
		
		// CASO NÃO TENHA EMPRESAS
		if(fIdEmpresaComparativo.options.length == 1 && nIdNegocio != 0){
			var option = new Option('Não há Empresas cadastrados neste Negócio',0);
			fIdEmpresaComparativo.options[0] = option;
		}		
		fIdEmpresaComparativo.lang = "vazio";
	}
}

// PREENCHE A LISTA DE EMPRESAS DE ACORDO COM O NEGÓCIO SELECIONADO
// O NOME DO CAMPO DA EMPRESA DEVE SER 'fIdEmpresa'
function atualizaEmpresaPorNucleo(form,nIdNegocio,nIdNucleo,vEmpresa){
	with(form){
		// APAGA AS OPÇÕES
		var nTam = fIdEmpresa.options.length
		for(var i = 0; i < nTam-1; i++)
			fIdEmpresa.options[1] = null;
		
		// INSERE A OPÇÃO 'SELECIONE'
		var option = new Option('Selecione',0);
		fIdEmpresa.options[0] = option;
		
		// INSERE AS EMPRESAS DE UM NÚCLEO
		for(var i = 0; i < vEmpresa.length; i++){
			if(vEmpresa[i][2] == nIdNegocio || nIdNegocio == 0){
				if(vEmpresa[i][3] == nIdNucleo || nIdNucleo == 0){
					var option = new Option(vEmpresa[i][1],vEmpresa[i][0]);
					fIdEmpresa.options[fIdEmpresa.options.length] = option;
				}
			}
		}
		
		// CASO NÃO TENHA EMPRESAS
		if(fIdEmpresa.options.length == 1 && nIdNucleo != 0){
			var option = new Option('Não há Empresas cadastrados neste Núcleo',0);
			fIdEmpresa.options[0] = option;
		}
	}
}

// PREENCHE A LISTA DE EMPRESAS DE ACORDO COM O NEGÓCIO SELECIONADO
// O NOME DO CAMPO DA EMPRESA DEVE SER 'fIdEmpresa'
function atualizaNucleo(form,nIdNegocio,vNucleo){
	with(form){
		// APAGA AS OPÇÕES
		var nTam = fIdNucleo.options.length
		for(var i = 0; i < nTam-1; i++)
			fIdNucleo.options[1] = null;
		
		// INSERE A OPÇÃO 'SELECIONE'
		var option = new Option('Selecione',0);
		fIdNucleo.options[0] = option;
		
		// INSERE AS EMPRESAS DE UM NEGÓCIO
		for(var i = 0; i < vNucleo.length; i++){
			if(vNucleo[i][2] == nIdNegocio || nIdNegocio == 0){
				var option = new Option(vNucleo[i][1],vNucleo[i][0]);
				fIdNucleo.options[fIdNucleo.options.length] = option;
			}
		}
		
		// CASO NÃO TENHA EMPRESAS
		if(fIdNucleo.options.length == 1 && nIdNegocio != 0){
			var option = new Option('Não há Núcleos cadastrados neste Negócio/Núcleo',0);
			fIdNucleo.options[0] = option;
		}
	}
}

// PREENCHE A LISTA DE EMPRESAS DE ACORDO COM O NEGÓCIO SELECIONADO
// O NOME DO CAMPO DA EMPRESA DEVE SER 'fIdEmpresa'
function atualizaEmpresaComparativo(form,nIdNegocio,vEmpresa){
	with(form){
		// APAGA AS OPÇÕES
		var nTam = fIdEmpresaComparativo.options.length
		for(var i = 0; i < nTam-1; i++)
			fIdEmpresaComparativo.options[1] = null;
		
		// INSERE A OPÇÃO 'SELECIONE'
		var option = new Option('Selecione','');
		fIdEmpresaComparativo.options[0] = option;
		
		// INSERE AS EMPRESAS DE UM NEGÓCIO
		for(var i = 0; i < vEmpresa.length; i++){
			if(vEmpresa[i][2] == nIdNegocio || nIdNegocio == 0){
				var option = new Option(vEmpresa[i][1],vEmpresa[i][0]);
				fIdEmpresaComparativo.options[fIdEmpresaComparativo.options.length] = option;
			}
		}
		
		// CASO NÃO TENHA EMPRESAS
		if(fIdEmpresaComparativo.options.length == 1 && nIdNegocio != 0){
			var option = new Option('Não há Empresas cadastrados neste Negócio',0);
			fIdEmpresaComparativo.options[0] = option;
		}		
		fIdEmpresaComparativo.lang = "vazio";
	}
}

// PREENCHE A LISTA DE EMPRESAS DE ACORDO COM O NEGÓCIO SELECIONADO
// O NOME DO CAMPO DA EMPRESA DEVE SER 'fIdEmpresa'
function atualizaEmpresaPorNucleoComparativo(form,nIdNegocio,nIdNucleo,vEmpresa){
	with(form){
		// APAGA AS OPÇÕES
		var nTam = fIdEmpresaComparativo.options.length
		for(var i = 0; i < nTam-1; i++)
			fIdEmpresaComparativo.options[1] = null;
		
		// INSERE A OPÇÃO 'SELECIONE'
		var option = new Option('Selecione','');
		fIdEmpresaComparativo.options[0] = option;
		
		// INSERE AS EMPRESAS DE UM NÚCLEO
		for(var i = 0; i < vEmpresa.length; i++){
			if(vEmpresa[i][2] == nIdNegocio || nIdNegocio == 0){
				if(vEmpresa[i][3] == nIdNucleo || nIdNucleo == 0){
					var option = new Option(vEmpresa[i][1],vEmpresa[i][0]);
					fIdEmpresaComparativo.options[fIdEmpresaComparativo.options.length] = option;
				}
			}
		}
		
		// CASO NÃO TENHA EMPRESAS
		if(fIdEmpresaComparativo.options.length == 1 && nIdNucleo != 0){
			var option = new Option('Não há Empresas cadastrados neste Núcleo',0);
			fIdEmpresaComparativo.options[0] = option;
		}
		fIdEmpresaComparativo.lang = "vazio";
	}
}

// PREENCHE A LISTA DE EMPRESAS DE ACORDO COM O NEGÓCIO SELECIONADO
// O NOME DO CAMPO DA EMPRESA DEVE SER 'fIdEmpresa'
function atualizaNucleoComparativo(form,nIdNegocio,vNucleo){
	with(form){
		// APAGA AS OPÇÕES
		var nTam = fIdNucleoComparativo.options.length
		for(var i = 0; i < nTam-1; i++)
			fIdNucleoComparativo.options[1] = null;
		
		// INSERE A OPÇÃO 'SELECIONE'
		var option = new Option('Selecione',0);
		fIdNucleoComparativo.options[0] = option;
		
		// INSERE AS EMPRESAS DE UM NEGÓCIO
		for(var i = 0; i < vNucleo.length; i++){
			if(vNucleo[i][2] == nIdNegocio || nIdNegocio == 0){
				var option = new Option(vNucleo[i][1],vNucleo[i][0]);
				fIdNucleoComparativo.options[fIdNucleoComparativo.options.length] = option;
			}
		}
		
		// CASO NÃO TENHA EMPRESAS
		if(fIdNucleoComparativo.options.length == 1 && nIdNegocio != 0){
			var option = new Option('Não há Núcleos cadastrados neste Negócio/Núcleo',0);
			fIdNucleoComparativo.options[0] = option;
		}
	}
}

// PREENCHE A LISTA DE UNIDADES DE ACORDO COM A EMPRESA SELECIONADA
// O NOME DO CAMPO DA UNIDADE DEVE SER 'fIdUnidade'
function atualizaUnidade(form,nIdEmpresa,vUnidade){
	with(form){
		// APAGA AS OPÇÕES
		//alert(fIdUnidade.lang);
		
		
		var nTam = fIdUnidade.options.length
		for(var i = 0; i < nTam-1; i++)
			fIdUnidade.options[1] = null;
		
		// INSERE A OPÇÃO 'SELECIONE'
		var sSelecione = (nIdEmpresa == 0) ? 'Selecione uma Empresa' : 'Selecione';
		var option = new Option(sSelecione,'');
		fIdUnidade.options[0] = option;
		
		// INSERE AS UNIDADES DE UMA EMPRESA
		for(var i = 0; i < vUnidade.length; i++){
			if(vUnidade[i][2] == nIdEmpresa){
				var option = new Option(vUnidade[i][1],vUnidade[i][0]);
				fIdUnidade.options[fIdUnidade.options.length] = option;
			}
		}
		// CASO NÃO TENHA UNIDADES
		if(fIdUnidade.options.length == 1 && nIdEmpresa != 0){
			var option = new Option('Não há unidades cadastradas nesta Empresa',0);
			fIdUnidade.options[0] = option;
		}		
		fIdUnidade.lang = "vazio";
	}
}

// PREENCHE A LISTA DE FAMÍLIAS ASSIM QUE UMA UNIDADE É SELECIONADA
// O NOME DO CAMPO DA FAMÍLIA DEVE SER 'fIdFamilia'
function atualizaFamilia(form,nIdUnidade,vFamilia){
	with(form){
		// APAGA AS OPÇÕES
		var nTam = fIdFamilia.options.length
		for(var i = 0; i < nTam-1; i++)
			fIdFamilia.options[1] = null;
		
		// INSERE A OPÇÃO 'SELECIONE'
		var sSelecione = (nIdUnidade == 0) ? 'Selecione uma Unidade' : 'Selecione';
		var option = new Option(sSelecione,0);
		fIdFamilia.options[0] = option;

		// INSERE AS FAMÍLIAS
		if(nIdUnidade > 0){
			for(var i = 0; i < vFamilia.length; i++){
				if(nIdUnidade == vFamilia[i][2] || vFamilia[i][2] == undefined){
					var option = new Option(vFamilia[i][1],vFamilia[i][0]);
					fIdFamilia.options[fIdFamilia.options.length] = option;
				}
			}
		}

		// CASO NÃO TENHA FAMÍLIAS
		if(fIdFamilia.options.length == 1 && nIdUnidade != 0){
			var option = new Option('Não há Familias cadastrados nesta Unidade',0);
			fIdFamilia.options[0] = option;
		}
	}
}

// PREENCHE A LISTA DE FUNCIONÁRIOS DE ACORDO COM A EMPRESA OU UNIDADE SELECIONADA
// O NOME DO CAMPO DO FUNCIONÁRIO DEVE SER 'fCpf'
function atualizaFuncionario(form,nFiltro,nIdEmpresa,nIdUnidade,vFuncionario,sTipoFiltro){
	with(form){
		var nIndiceFiltro;
		// APAGA AS OPÇÕES
		var nTam = fCpf.options.length
		for(var i = 0; i < nTam-1; i++){
			fCpf.options[1] = null;
		}
		// INSERE A OPÇÃO 'SELECIONE'
		var option = new Option('Selecione',0);
		fCpf.options[0] = option;
		
		// VERIFICA O ÍNDICE DO FILTRO QUE SERÁ USADO
		if(sTipoFiltro == 'Empresa' || (sTipoFiltro == 'Unidade' && nFiltro == 0))
			nIndiceFiltro = 2;
		else if(sTipoFiltro == 'Unidade' || (sTipoFiltro == 'Familia' && nFiltro == 0))
				nIndiceFiltro = 3;
			else
				nIndiceFiltro = 4;
				
		// ATUALIZA O VALOR DO FILTRO CASO SEJA IGUAL A ZERO
		nFiltro = (sTipoFiltro == 'Unidade' && nFiltro == 0) ? nIdEmpresa : nFiltro;
		nFiltro = (sTipoFiltro == 'Familia' && nFiltro == 0) ? nIdUnidade : nFiltro;
		
		// INSERE FUNCIONÁRIOS
		// INICIALIZA A STRING QUE ARMAZENARÁ OS CPF DOS FUNCIONÁRIOS 
		var stringCpf = ",";
		for(var i = 0; i < vFuncionario.length; i++){
			if(nIndiceFiltro == 4){
				if((vFuncionario[i][4] == nFiltro && vFuncionario[i][3] == nIdUnidade) || nFiltro == 0){
					if(stringCpf.indexOf(vFuncionario[i][0],0) < 0){
						var option = new Option(vFuncionario[i][1],vFuncionario[i][0]);
						fCpf.options[fCpf.options.length] = option;
						stringCpf += vFuncionario[i][0]+",";
					}
				}
			}
			else{
				if(vFuncionario[i][nIndiceFiltro] == nFiltro || nFiltro == 0){
					//VERIFICA SE O CPF ESTÁ PRESENTE NA STRING DE CPFS
					if(stringCpf.indexOf(vFuncionario[i][0],0) < 0){					
						var option = new Option(vFuncionario[i][1],vFuncionario[i][0]);					
						fCpf.options[fCpf.options.length] = option;
						//ADICIONA O CPF NA STRING
						stringCpf += vFuncionario[i][0]+" ,";
					}
				}
			}
		}
					
		// CASO NÃO TENHA FUNCIONÁRIOS
		if(fCpf.options.length == 1){
			var option = new Option('Não há Funcionários cadastrados nesta '+sTipoFiltro,0);
			fCpf.options[0] = option;
		}
	}
}

// PREENCHE A LISTA DE FUNCIONÁRIOS 
// O ID DO CAMPO DO FUNCIONÁRIO DEVE SER 'fCpf'
function listaFuncionario(sId,vFuncionario){
	var oFuncionario = document.getElementById(sId);
	
	// APAGA AS OPÇÕES
	var nTam = oFuncionario.options.length
	for(var i = 0; i < nTam-1; i++){
		oFuncionario.options[1] = null;
	}
		
	// INSERE FUNCIONÁRIOS
	for(var i = 0; i < vFuncionario.length; i++){
		var option = new Option(vFuncionario[i][1],vFuncionario[i][0]);
		oFuncionario.options[oFuncionario.options.length] = option;
	}
	
	// CASO NÃO TENHA FUNCIONÁRIOS
	if(oFuncionario.options.length == 1){
		var option = new Option('Não há Funcionários cadastrados nesta '+sTipoFiltro,0);
		oFuncionario.options[0] = option;
	}
	return;
}

function confirmaAprovacao(sMes,nAno) {
	if(confirm('Confirma a aprovação dos Relatórios de ' +sMes+ ' de ' +nAno+ ' ? \n Essa é uma operação irreversível e pode demorar alguns minutos!'))
		return true;
	return false;
}

//USADO NO PAC
/*
	FUNÇÃO RESPONSÁVEL POR INSERIR UM BLOCO DE INFORMAÇÕES DENTRO DO DOCUMENTO HTML
	PARAMETROS
	sTabelaId -> ID DA TABELA QUE IRÁ CRESCER PARA QUE SUAS LINHAS E COLUNAS RECEBAM NOVOS ELEMENTOS
	nControlador -> NÚMERO QUE CONTROLA A QUANTIDADE DE BLOCOS JÁ INSERIDOS
	sConteudo -> O BLOCO DE INFORMAÇÕES
	sIdElementoConteudo -> ID DO ELEMENTO ONDE SERÁ INSERIDO O CONTEÚDO
*/

/*
function insereHtml(sTableId,nControlador,sIdElementoConteudo,nUltimaColuna){

	oTable = document.getElementById(sTableId);
	sConteudo = document.getElementById(sIdElementoConteudo+oTable.rows.length).innerHTML;
	if(oTable.rows.length > 1)
		oTable.rows[oTable.rows.length-1].cells[nUltimaColuna].innerHTML = "<a href='JavaScript: void(0);' onclick=\"JavaScript: excluiHtml('"+sTableId+"',"+(oTable.rows.length-1)+","+(oTable.rows.length-1)+",'"+sIdElementoConteudo+"',false,'"+nUltimaColuna+"');\"><img src='/imagens/icone_excluir_2.gif' border='0'/></a>";
	else
		oTable.rows[oTable.rows.length-1].cells[nUltimaColuna].innerHTML = "";
		
	oNovoTr = oTable.insertRow(oTable.rows.length);
	oNovoTr.id = sIdElementoConteudo + oTable.rows.length;
	sNovoConteudoParcial = sConteudo.replace(/\[\d/g,'['+oNovoTr.rowIndex);
	sNovoConteudo = sNovoConteudoParcial.replace(/_\d/g,'_'+2);
	sNovoConteudo = sNovoConteudo.replace(/Contato \d/g,'Contato '+oNovoTr.rowIndex);
	
	oNovoTr.innerHTML = sNovoConteudo;
	if(oTable.rows.length == 2)
		oNovoTr.cells[nUltimaColuna].innerHTML += "<a href='JavaScript: void(0);' onclick=\"JavaScript: excluiHtml('"+sTableId+"',"+(oTable.rows.length-1)+","+(oTable.rows.length-1)+",'"+sIdElementoConteudo+"',false,'"+nUltimaColuna+"');\"><img src='/imagens/icone_excluir_2.gif' border='0'/></a>";
		
	vInput = oNovoTr.getElementsByTagName('INPUT');
	for(var i = 0; i < vInput.length; i++)
		vInput[i].value = '';
}*/


function insereHtml(sTableId,nControlador,sIdElementoConteudo){
	sConteudo = document.getElementById(sIdElementoConteudo).innerHTML;
	oTable = document.getElementById(sTableId);
	if(oTable.rows.length > 1)
		oTable.rows[oTable.rows.length-1].cells[1].innerHTML = "<a href='JavaScript: void(0);' onclick=\"JavaScript: excluiHtml('"+sTableId+"',"+(oTable.rows.length-1)+","+(oTable.rows.length-1)+",'"+sIdElementoConteudo+"',false);\"><img src='/imagens/icone_excluir_2.gif' border='0'/></a>";
	else
		oTable.rows[oTable.rows.length-1].cells[1].innerHTML = "";
	
	oNovoTr = oTable.insertRow(oTable.rows.length);
	sNovoConteudoParcial = sConteudo.replace(/\[\d/g,'['+oNovoTr.rowIndex);
	sNovoConteudo = sNovoConteudoParcial.replace(/_\d/g,'_'+oNovoTr.rowIndex);
	sNovoConteudo = sNovoConteudo.replace(/Contato \d/g,'Contato '+oNovoTr.rowIndex);
	oTd1 = oNovoTr.insertCell(0);
	oTd2 = oNovoTr.insertCell(1);
	oTd1.innerHTML = sNovoConteudo;
	//LIMPANDO CONTEUDO
	vInput = oTd1.getElementsByTagName('INPUT');
	for(var i = 0; i < vInput.length; i++)
		vInput[i].value = '';
	oTd2.innerHTML = "<a href='JavaScript: void(0);' onclick=\"JavaScript: insereHtml('"+sTableId+"',"+oNovoTr.rowIndex+",'"+sIdElementoConteudo+"');\"><img src='/imagens/icone_cadastrar_2.gif' border='0'/></a><a href='JavaScript: void(0);' onclick=\"JavaScript: excluiHtml('"+sTableId+"',"+(oTable.rows.length-1)+","+(oTable.rows.length-1)+",'"+sIdElementoConteudo+"',true);\"><img src='/imagens/icone_excluir_2.gif' border='0'/></a>";
}


//USADO NO PAC
/*
	FUNÇÃO RESPONSÁVEL POR EXCLUIR UM BLOCO DE INFORMAÇÕES DENTRO DO DOCUMENTO HTML
	PARAMETROS
	sTabelaId -> ID DA TABELA QUE IRÁ CRESCER PARA QUE SUAS LINHAS E COLUNAS RECEBAM NOVOS ELEMENTOS
	nControlador -> NÚMERO QUE CONTROLA A QUANTIDADE DE BLOCOS JÁ INSERIDOS
	sConteudo -> O BLOCO DE INFORMAÇÕES
	sIdElementoConteudo -> ID DO ELEMENTO ONDE SERÁ INSERIDO O CONTEÚDO
	bUltimaLinha -> INDICADOR SE É O BLOCO FINAL DA TABELA
*/
function excluiHtml(sTableId,nIndiceLinha,nControlador,sIdElementoConteudo,bUltimaLinha,nUltimaColuna){
	oTable = document.getElementById(sTableId);
	if(bUltimaLinha){
		oTable.deleteRow(oTable.rows.length-1);
		if(oTable.rows.length == 1)
			oTable.rows[oTable.rows.length-1].cells[1].innerHTML = "<a href='JavaScript: void(0);' onclick=\"JavaScript: insereHtml('"+sTableId+"',1,'"+sIdElementoConteudo+"');\"><img src='/imagens/icone_cadastrar_2.gif' border='0'/></a>";
		else 
			oTable.rows[oTable.rows.length-1].cells[1].innerHTML = "<a href='JavaScript: void(0);' onclick=\"JavaScript: insereHtml('"+sTableId+"',"+nControlador+",'"+sIdElementoConteudo+"');\"><img src='/imagens/icone_cadastrar_2.gif' border='0'/></a><a href='JavaScript: void(0);' onclick=\"JavaScript: excluiHtml('"+sTableId+"',"+(oTable.rows.length-1)+","+nControlador+",'"+sIdElementoConteudo+"',true);\"><img src='/imagens/icone_excluir_2.gif' border='0'/></a>";
		
	} else {
		oTable.deleteRow(nIndiceLinha);
		for(i=0 ; i<oTable.rows.length ; i++){
			//ALTERANDO OS INDICES DA TABELA COLUNA 1
			sConteudo = oTable.rows[i].cells[0].innerHTML;
			sNovoConteudoParcial = sConteudo.replace(/\[\d/g,'['+oTable.rows[i].rowIndex);
			sNovoConteudo = sNovoConteudoParcial.replace(/_\d/g,'_'+oTable.rows[i].rowIndex);
			sNovoConteudo = sNovoConteudo.replace(/Contato \d/g,'Contato '+oTable.rows[i].rowIndex);
			oTable.rows[i].cells[0].innerHTML = sNovoConteudo;
			//ALTERANDO OS INDICES DA TABELA COLUNA 2
			sFuncaoExcluir = oTable.rows[i].cells[1].innerHTML;
			sNovaFuncaoExcluir = sFuncaoExcluir.replace(/',\d/g,"',"+oTable.rows[i].rowIndex);
			oTable.rows[i].cells[1].innerHTML = sNovaFuncaoExcluir;
		}
	}
}

//MÉTODO RESPONSÁVEL POR INICIALIZAR O OBJETO XMLHTTPREQUEST
function inicializaXlmHttp(){
	try{
    	oXmlHttp = new XMLHttpRequest();
	}catch(ee){
   		try{
        	oXmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    	}catch(e){
        	try{
            	oXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        	}catch(E){
				oXmlHttp = false;
        	}
		}
    }
	return oXmlHttp;
}

// FUNÇÕES PARA EVITAR QUE A SECAO EXPIRE. FAZ UMA SIMPLES REQUISICAO AO SERVIDOR.
//MÉTODO RESPONSÁVEL POR INICIALIZAR O OBJETO XMLHTTPREQUEST
function enviaRequisicao(){
	oXmlHttp = inicializaXlmHttp();
	oXmlHttp.open("GET","/deg/includes/requisicao.php",true);
	oXmlHttp.onreadystatechange = function(){
		if(oXmlHttp.readyState == 4){
			if(oXmlHttp.status == 200){
				var sConteudo = oXmlHttp.responseText;
				sConteudo = sConteudo.replace(/\+/g," ");
				sConteudo = unescape(sConteudo);
				//alert(sConteudo);
			}
		}//if(oXmlHttp.readyState == 4)
	}
	oXmlHttp.send(null);
	t=setTimeout('enviaRequisicao()',600000);
	//600 segundos = 10 minutos
}

function insereHtmlSite(sTableId,nControlador,sIdElementoConteudo){
	nContador = Number(nControlador)+1;
		
	sConteudo = document.getElementById(sIdElementoConteudo).innerHTML;
	oTable = document.getElementById(sTableId);
	if(oTable.rows.length > 1)
		oTable.rows[oTable.rows.length-1].cells[1].innerHTML = "<a href='JavaScript: void(0);' onclick=\"JavaScript: excluiHtmlSite('"+sTableId+"',"+(oTable.rows.length-1)+","+(oTable.rows.length-1)+",'"+sIdElementoConteudo+"',false);\"><img src='/imagens/icone_excluir_2.gif' border='0'/></a>";
	else
		oTable.rows[oTable.rows.length-1].cells[1].innerHTML = "";
	
	oNovoTr = oTable.insertRow(oTable.rows.length);
	sNovoConteudoParcial = sConteudo.replace(/\[\d/g,'['+oNovoTr.rowIndex);
	sNovoConteudoParcial = sConteudo.replace(/\(0,\d/g,'(0,'+oNovoTr.rowIndex);
	sNovoConteudo = sNovoConteudoParcial.replace(/_\d/g,'_'+oNovoTr.rowIndex);
	sNovoConteudo = sNovoConteudo.replace(/CandidatoFormacao\[\d/g,'CandidatoFormacao['+oNovoTr.rowIndex);
 	sNovoConteudo = sNovoConteudo.replace(/CandidatoCurso\[\d/g,'CandidatoCurso['+oNovoTr.rowIndex);
	sNovoConteudo = sNovoConteudo.replace(/Formacao \d/g,'Formacao '+oNovoTr.rowIndex);
	sNovoConteudo = sNovoConteudo.replace(/OutroCargo\[\d/g,'OutroCargo['+oNovoTr.rowIndex);
	sNovoConteudo = sNovoConteudo.replace(/CandidatoEmprego\[\d/g,'CandidatoEmprego['+oNovoTr.rowIndex);

	oTd1 = oNovoTr.insertCell(0);
	oTd2 = oNovoTr.insertCell(1);
	oTd1.innerHTML = sNovoConteudo;
	//LIMPANDO CONTEUDO
	vInput = oTd1.getElementsByTagName('INPUT');
	for(var i = 0; i < vInput.length; i++)
		vInput[i].value = '';
	oTd2.innerHTML = "<a href='JavaScript: void(0);' onclick=\"JavaScript: insereHtmlSite('"+sTableId+"',"+oNovoTr.rowIndex+",'"+sIdElementoConteudo+"');\"><img src='/imagens/icone_cadastrar_2.gif' border='0'/></a><br><a href='JavaScript: void(0);' onclick=\"JavaScript: excluiHtmlSite('"+sTableId+"',"+(oTable.rows.length-1)+","+(oTable.rows.length-1)+",'"+sIdElementoConteudo+"',true);\"><img src='/imagens/icone_excluir_2.gif' border='0'/></a>";
	
	if(document.getElementById('fCandidatoEmpregoDescricao_'+nContador))
		document.getElementById('fCandidatoEmpregoDescricao_'+nContador).value = "";

}

/*
FUNÇÃO RESPONSÁVEL POR EXCLUIR UM BLOCO DE INFORMAÇÕES DENTRO DO DOCUMENTO HTML
PARAMETROS
sTabelaId -> ID DA TABELA QUE IRÁ CRESCER PARA QUE SUAS LINHAS E COLUNAS RECEBAM NOVOS ELEMENTOS
nControlador -> NÚMERO QUE CONTROLA A QUANTIDADE DE BLOCOS JÁ INSERIDOS
sConteudo -> O BLOCO DE INFORMAÇÕES
sIdElementoConteudo -> ID DO ELEMENTO ONDE SERÁ INSERIDO O CONTEÚDO
bUltimaLinha -> INDICADOR SE É O BLOCO FINAL DA TABELA
*/
function excluiHtmlSite(sTableId,nIndiceLinha,nControlador,sIdElementoConteudo,bUltimaLinha){
	oTable = document.getElementById(sTableId);
	if(bUltimaLinha){
		oTable.deleteRow(oTable.rows.length-1);
		if(oTable.rows.length == 1)
			oTable.rows[oTable.rows.length-1].cells[1].innerHTML = "<a href='JavaScript: void(0);' onclick=\"JavaScript: insereHtmlSite('"+sTableId+"',1,'"+sIdElementoConteudo+"');\"><img src='/imagens/icone_cadastrar_2.gif' border='0'/></a>";
		else 
			oTable.rows[oTable.rows.length-1].cells[1].innerHTML = "<a href='JavaScript: void(0);' onclick=\"JavaScript: insereHtmlSite('"+sTableId+"',"+nControlador+",'"+sIdElementoConteudo+"');\"><img src='/imagens/icone_cadastrar_2.gif' border='0'/></a><br><a href='JavaScript: void(0);' onclick=\"JavaScript: excluiHtmlSite('"+sTableId+"',"+(oTable.rows.length-1)+","+nControlador+",'"+sIdElementoConteudo+"',true);\"><img src='/imagens/icone_excluir_2.gif' border='0'/></a>";

	} else {
		oTable.deleteRow(nIndiceLinha);

		for(i=0 ; i<oTable.rows.length ; i++){
		/*	//ALTERANDO OS INDICES DA TABELA COLUNA 1
			sConteudo = oTable.rows[i].cells[0].innerHTML;
			sNovoConteudoParcial = sConteudo.replace(/\[\d/g,'['+oTable.rows[i].rowIndex);
			sNovoConteudo = sNovoConteudoParcial.replace(/_\d/g,'_'+oTable.rows[i].rowIndex);
			sNovoConteudo = sNovoConteudo.replace(/Contato \d/g,'Contato '+oTable.rows[i].rowIndex);
			oTable.rows[i].cells[0].innerHTML = sNovoConteudo;
		*/	
			//ALTERANDO OS INDICES DA TABELA COLUNA 2
			sFuncaoExcluir = oTable.rows[i].cells[1].innerHTML;
			sNovaFuncaoExcluir = sFuncaoExcluir.replace(/',\d/g,"',"+oTable.rows[i].rowIndex);
			oTable.rows[i].cells[1].innerHTML = sNovaFuncaoExcluir;
		}
		
	}
}


