// Fun�ao para tratar eventos
function adicionarEvento(objeto, TipoEvento, funcao){
	if(objeto.addEventListener){ // todos navegadores menos IE
		objeto.addEventListener(TipoEvento, funcao, false); 
		return true;
	} else if (objeto.attachEvent){ // IE	
		var r = objeto.attachEvent('on'+TipoEvento, funcao);
		return r;
	} else {
		return false;
	}
}
// mostra a linha inserida na tabela
var efeitos = {
	corFundo: function(tabela,id,cor){
		var elem = document.getElementById(tabela);
		elem.rows[id].style.background=cor;
	},
	mostra: function(tabela,id,valor){
		var tab = document.getElementById(tabela);
		var elem = tab.rows[id];
		if(elem.style.display == "none") elem.style.display = "";
		if(!valor || valor == undefined) valor=0;
		if(valor < 100){
			valor+=10;
			alpha = valor/100;
			elem.style.MozOpacity=alpha;
			elem.style.filter="alpha(opacity="+valor+")";
			elem.style.opacity = alpha;
			setTimeout("efeitos.mostra('"+tabela+"',"+id+","+valor+")",20);
		}
	},
	limpa: function(idtabela,id,valor){
		var tab = document.getElementById(idtabela);
		var totLinhas = tab.rows.length;
		if(id==undefined) id=1;
		var elem = tab.rows[id];
		this.corFundo(idtabela,id,"#FF0000");
		if(elem.style.display == "none") elem.style.display = "";
		if(valor == undefined) valor=100;
		if(valor > 0){
			valor-=10;
			alpha = valor/100;
			elem.style.MozOpacity=alpha;
			elem.style.filter="alpha(opacity="+valor+")";
			elem.style.opacity = alpha;
			setTimeout("efeitos.limpa('"+idtabela+"',"+id+","+valor+")",10);
		} else {
			//elem.style.display="none";
			id++;
			if(id<totLinhas){				
				setTimeout("efeitos.limpa('"+idtabela+"',"+id+",100)",10);
			} else tabela.limpa(tab);
		}
	}
}
// Objeto para manipular a tabela
var tabela = {
	limpa: function(tabela){
		totalLinhas = tabela.rows.length;
 
		for(var i=1;i<totalLinhas;i++){
			//Seleciona a segunda linha para ser excluida 
			// para que n�o seja removido o titulo
			tabela.deleteRow(1);
		}
		var linha = tabela.insertRow(1); // Insere uma nova linha
		var coluna = linha.insertCell(0); // Insere uma coluna na linha
		coluna.setAttribute("cols", 3); // Define colspan = 3
		coluna.innerHTML="Sem dados a serem exibidos"; // Texto informativo
		inicia();
	},
	insere: function(tabela,id,nome,sexo,qual){
		// Primeiro testamos se a primeira linha nao eh a mensagem "Sem dados..."
		if(tabela.rows.length>1){
			if(tabela.rows[1].cells[0].innerHTML=="Sem dados a serem exibidos")				 
				tabela.deleteRow(1); // se for apagamos
		}
			
		proxLinha = tabela.rows.length; // pega o total de linhas da tabela para acrescentar a nova
		var linha = tabela.insertRow(proxLinha); // Insere uma nova linha
		var colunaId = linha.insertCell(0); // Insere a coluna ID
		var colunaNome = linha.insertCell(1); // Insere a coluna Nome
		var colunaSexo = linha.insertCell(2); // Insere a coluna Sexo
		var colunaCancela = linha.insertCell(3); // Insere a coluna Cancelar
		
		//Abaixo inserimos o conteudo nas colunas criadas 
				
		colunaId.innerHTML=id;
		colunaNome.innerHTML=nome;
		colunaSexo.innerHTML=sexo;
		if (qual == 'escolaridade'){
			colunaCancela.innerHTML="<a href='cancelar.php' rel='cancela_cliente'>[X]</a>";
		}else if(qual == 'curso'){
			colunaCancela.innerHTML="<a href='cancelar.php' rel='cancela_curso'>[X]</a>";	
		}else if (qual == 'experiencia'){
			colunaCancela.innerHTML="<a href='cancelar.php' rel='cancela_experiencia'>[X]</a>";	
		}

		efeitos.mostra(tabela.id,linha.rowIndex);
		inicia(); // atualiza os links
	},
	apaga: function(tabela,linha,qual,obj1,obj2){
		id = linha.rowIndex; 
				
		var confirma = confirm("Tem certeza que deseja apagar o registro?");
		if(confirma) {
			tabela.deleteRow(id);
			//verificando em qual tabela será feito
			if (qual=='experiencia'){
				// removendo experiência profissional
				removeDadosExpProfissional(obj1,obj2);
			} else if (qual=='escolaridade'){
				// removendo escolaridade
				removeEscolaridade(obj1,obj2);		
			} else if (qual=='curso'){
				// removendo curso
				removeCurso(obj1,obj2);
			}
			
			if(tabela.rows.length<2){
				var linha = tabela.insertRow(1); // Insere uma nova linha
				var coluna = linha.insertCell(0); // Insere uma coluna na linha
				coluna.setAttribute("cols", 3); // Define colspan = 3
				coluna.innerHTML="Sem dados a serem exibidos"; // Texto informativo		
			}			
			inicia(); // atualiza os links
		}
	}	
}
function inicia(){
	var pegaLinks = document.getElementsByTagName("a");
	for(var i=0;i<pegaLinks.length;i++){
		if(pegaLinks[i].getAttribute("rel")){
			var link_atual = pegaLinks[i].getAttribute("rel");
			if(link_atual=='cancela_cliente'){
				pegaLinks[i].onclick=function(){
					var tabela_clientes = document.getElementById("tabela_clientes");
					var linha_atual = this.parentNode.parentNode.rowIndex;
					
					var escolaridade = tabela_clientes.rows[linha_atual].cells[0].innerHTML;
					var instituicao = tabela_clientes.rows[linha_atual].cells[2].innerHTML;
					
					qual = "escolaridade";
					tabela.apaga(tabela_clientes,this.parentNode.parentNode,qual,escolaridade,instituicao)
					
					return false;
				}
			}			
			if(link_atual=='cancela_curso'){
				pegaLinks[i].onclick=function(){
					var tabela_clientes = document.getElementById("tabela_curso");
					// Voltamos para o pai do link que eh a coluna e depois para o pai
					// da coluna que � a linha.. entao pegamos sua posi�ao na tabela
					var linha_atual = this.parentNode.parentNode.rowIndex;
					
					var curso = tabela_clientes.rows[linha_atual].cells[0].innerHTML;
					var instituicao = tabela_clientes.rows[linha_atual].cells[2].innerHTML;
					qual = "curso";	
					
					tabela.apaga(tabela_clientes,this.parentNode.parentNode,qual,curso,instituicao)
					
					return false;
				}
			}
			if(link_atual=='cancela_experiencia'){
				pegaLinks[i].onclick=function(){
					var tabela_clientes = document.getElementById("tabela_experiencia");
					// linha abaixo comentada, aqui viria o Ajax para chamar a pagina que cancelaria o cliente do banco de dados
					//fsAjax("cancelar.php", "mensagem", "Aguarde..."); 
					
					// Voltamos para o pai do link que eh a coluna e depois para o pai
					// da coluna que � a linha.. entao pegamos sua posi�ao na tabela
					var linha_atual = this.parentNode.parentNode.rowIndex;					
					//alert(linha_atual);
					var empresa = tabela_clientes.rows[linha_atual].cells[0].innerHTML;
					var cargo = tabela_clientes.rows[linha_atual].cells[1].innerHTML;
					
					//removeDadosExpProfissional(empresa,cargo)
					qual = "experiencia";	
					tabela.apaga(tabela_clientes,this.parentNode.parentNode,qual,empresa,cargo)
					
					return false;
				}
			}

			if(link_atual=='limpa_tabela'){
				pegaLinks[i].onclick=function(){
					var tabela_clientes = document.getElementById("tabela_clientes");
					// linha abaixo comentada, aqui viria o Ajax para chamar a pagina que limparia a tabela no  banco de dados
					//fsAjax("limpar.php", "mensagem", "Aguarde..."); 
					efeitos.limpa(tabela_clientes.id); // com efeito
					//tabela.limpa(tabela_clientes); // sem efeito
					return false;
				}
			}			
		}
	}
	// ====================
	// Pega o envio do formulario de inserir dados
	var pegaInputs = document.getElementsByTagName("input");
	for(var i=0;i<pegaInputs.length;i++){
		var input_tipo = pegaInputs[i].getAttribute("type");
		var input_nome = pegaInputs[i].getAttribute("name");
		if(input_tipo=='submit' && input_nome=='Inserir'){
			pegaInputs[i].onclick=function(){
				var tabela_clientes = document.getElementById("tabela_clientes");
				var form_insere = document.inserir;
				var formacao = form_insere.txtformacao1.value;
				var dataInicio = form_insere.txtforminicio1.value;
				var dataConclusao = form_insere.txtformconclusao1.value;
				var instituicao = form_insere.txtforminstituicao1.value;
				var dataEscolaridade = dataInicio + ' à ' + dataConclusao;
				var m = '';
				var t = 0;	
				if (formacao == 'Grau de escolaridade / ano se ainda esta cursando...') {
						m += '-> Preencha o campo Formação.\t\n';
						t = 1						
				}
				if (dataInicio == 'DD/MM/AAAA') {
						m += '-> Preencha o campo Data de Início.\t\n';
						t = 1
				}
				if (dataConclusao == 'DD/MM/AAAA') {
						m += '-> Preencha o campo Data de Conclusão.\t\n';
						t = 1
				}
				if (instituicao == 'Preencha com nome da Escola, ou instituição de ensino...') {
						m += '-> Preencha o campo Instituicção.\t\n';
						t = 1
				}
				if (t == 1) {
					alert('Campos Inválidos.\n\n' + m);
					return false
				}
					gravarDadosEscolaridade(formacao, dataInicio, dataConclusao, instituicao);
					var qual = "escolaridade"
					tabela.insere(tabela_clientes, formacao, dataEscolaridade, instituicao, qual);
					return false;
				
			}
		}
		
		if(input_tipo=='submit' && input_nome=='InserirCurso'){
			pegaInputs[i].onclick=function(){
				var tabela_curso = document.getElementById("tabela_curso");
				var form_insere = document.inserir;	
						
				var curso = form_insere.txtcurso1.value;
				var dataInicio = form_insere.txtcursoinicio1.value;
				var dataConclusao = form_insere.txtcursoconclusao1.value;
				var instituicao = form_insere.txtcursoinstituicao1.value;
				var dataCurso = form_insere.txtcursoinicio1.value + ' à ' + form_insere.txtcursoconclusao1.value;
				
				var m = '';
				var t = 0;	
				if (curso == 'Área e nome do curso / ano se ainda estiver cursando...') {
						m += '-> Preencha o campo Curso.\t\n';
						t = 1						
				}
				if (dataInicio == 'DD/MM/AAAA') {
						m += '-> Preencha o campo Data de Início.\t\n';
						t = 1
				}
				if (dataConclusao == 'DD/MM/AAAA') {
						m += '-> Preencha o campo Data de Conclusão.\t\n';
						t = 1
				}
				if (instituicao == 'Preencha com nome da Escola, ou instituição de ensino...') {
						m += '-> Preencha o campo Instituicção.\t\n';
						t = 1
				}
				if (t == 1) {
					alert('Campos Inválidos.\n\n' + m);
					return false
				}								
				
				gravarDadosCurso(curso,dataInicio,dataConclusao,instituicao);
				var qual = "curso" 
				tabela.insere(tabela_curso,curso,dataCurso,instituicao,qual);
				return false;
			}
		}
		if(input_tipo=='submit' && input_nome=='InserirExperiencia'){
			pegaInputs[i].onclick=function(){
				var tabela_curso = document.getElementById("tabela_experiencia");
				var form_insere = document.inserir;		
				var empresa = form_insere.txtexpnome1.value;				
				var cargo = form_insere.txtexpcargo1.value;
				var salario = form_insere.txtexpsalario1.value;
				var dataInicio = form_insere.txtexpinicio1.value;
				var dataSaida = form_insere.txtexpsaida1.value;
				var datacurso = dataInicio + ' à ' + dataSaida;
				var atribuicoes = form_insere.txtexpatribuicoes.value;				
				var m = '';
				var t = 0;	
				if (empresa == 'Nome da Empresa trabalhou com registro...') {
						m += '-> Preencha o campo Nome da Empresa.\t\n';
						t = 1						
				}
				if (cargo == 'Ultima Função/Cargo, exercida na empresa acima...') {
						m += '-> Preencha o campo Último Cargo.\t\n';
						t = 1
				}
				if (salario == 'Último Sálario') {
						m += '-> Preencha o campo Último Salário.\t\n';
						t = 1
				}
				if (dataInicio == 'DD/MM/AAAA') {
						m += '-> Preencha o campo Data de Início.\t\n';
						t = 1
				}
				if (dataSaida == 'DD/MM/AAAA') {
						m += '-> Preencha o campo Data de Conclusão.\t\n';
						t = 1
				}
				if (atribuicoes == 'Informações adicionais sobre, as tarefas exercidas na empresa, obrigações, resposabilidades e resultados alcançados...') {
						m += '-> Preencha o campo Atribuições.\t\n';
						t = 1
				}
				if (t == 1) {
					alert('Campos Inválidos.\n\n' + m);
					return false
				}	

				gravarDadosExpProfissional(empresa,cargo,salario,dataInicio,dataSaida,atribuicoes);
				var qual = "experiencia" 
				tabela.insere(tabela_curso,empresa,cargo,datacurso,qual);
				return false;
			}
		}
		
	}
}
adicionarEvento(window, "load", inicia);

//Experiencia Profissional
function gravarDadosExpProfissional(emp,cargo,salario,dtInicio,dtFinal,atribuicoes){
 req = null;
	url = "inserir_dados_exp_profissional.asp";
	valor = "?emp="+emp+"&cargo="+cargo+"&sal="+salario+"&dti="+dtInicio+"&dtf="+dtFinal+"&atrib="+atribuicoes;
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChangeExpProfissional;
        req.open("GET", url+valor, true);
        req.send(null);
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChangeExpProfissional;
            req.open("GET", url+valor, true);
            req.send();
        }
    }
}

function processReqChangeExpProfissional()
{    
    if (req.readyState == 4) {
        if (req.status == 200) {
			alert('Experiência Cadastrada com Sucesso!');
        } else {
            alert("Houve um problema ao cadastrar os dados Experiência Profissional, tente mais tarde:\n" + req.statusText);
        }
    }
}
//remover
function removeDadosExpProfissional(emp,cargo){
 req = null;
	url = "remover_dados_exp_profissional.asp";
	valor = "?emp="+emp+"&cargo="+cargo;
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChangeRemoveExpProfissional;
        req.open("GET", url+valor, true);
        req.send(null);
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChangeRemoveExpProfissional;
            req.open("GET", url+valor, true);
            req.send();
        }
    }
}

function processReqChangeRemoveExpProfissional()
{    
    if (req.readyState == 4) {
        if (req.status == 200) {
			alert('Experiência removida com sucesso!');
        } else {
            alert("Houve um problema ao remover os dados Experiência Profissional:\n" + req.statusText);
        }
    }
}
//fim

//Escolaridade
function gravarDadosEscolaridade(formacao,dtInicio,dtFinal,instituicao){
 req = null;
	url = "inserir_dados_escolaridade.asp";
	valor = "?formac="+formacao+"&dti="+dtInicio+"&dtf="+dtFinal+"&instit="+instituicao;
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChangeEscolaridade;
        req.open("GET", url+valor, true);
        req.send(null);
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChangeEscolaridade;
            req.open("GET", url+valor, true);
            req.send();
        }
    }
}

function processReqChangeEscolaridade()
{    
    if (req.readyState == 4) {
        if (req.status == 200) {
			alert('Escolaridade Cadastrada com Sucesso!');
        } else {
            alert("Houve um problema ao cadastrar os dados Escolaridade, tente mais tarde:\n" + req.statusText);
        }
    }
}

//remover
function removeEscolaridade(forma,insti){
 req = null;
	url = "remover_escolaridade.asp";
	valor = "?forma="+forma+"&insti="+insti;
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChangeRemoveEscolaridade;
        req.open("GET", url+valor, true);
        req.send(null);
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChangeRemoveEscolaridade;
            req.open("GET", url+valor, true);
            req.send();
        }
    }
}

function processReqChangeRemoveEscolaridade()
{    
    if (req.readyState == 4) {
        if (req.status == 200) {
			alert('Escolaridade removida com sucesso!');
        } else {
            alert("Houve um problema ao remover os dados Experiência Profissional:\n" + req.statusText);
        }
    }
}
//fim

//Curso
function gravarDadosCurso(curso,dtInicio,dtFinal,instituicao){
 req = null;
	url = "inserir_dados_curso.asp";
	valor = "?curs="+curso+"&dti="+dtInicio+"&dtf="+dtFinal+"&instit="+instituicao;
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChangeCurso;
        req.open("GET", url+valor, true);
        req.send(null);
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChangeCurso;
            req.open("GET", url+valor, true);
            req.send();
        }
    }
}

function processReqChangeCurso()
{    
    if (req.readyState == 4) {
        if (req.status == 200) {
			alert('Curso Cadastrada com Sucesso!');
        } else {
            alert("Houve um problema ao cadastrar os dados Curso, tente mais tarde:\n" + req.statusText);
        }
    }
}
//remover
function removeCurso(curs,insti){
 req = null;
	url = "remover_curso.asp";
	valor = "?curs="+curs+"&insti="+insti;
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChangeRemoveCurso;
        req.open("GET", url+valor, true);
        req.send(null);
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChangeRemoveCurso;
            req.open("GET", url+valor, true);
            req.send();
        }
    }
}

function processReqChangeRemoveCurso()
{    
    if (req.readyState == 4) {
        if (req.status == 200) {
			alert('Curso removido com sucesso!');
        } else {
            alert("Houve um problema ao remover os dados Experiência Profissional:\n" + req.statusText);
        }
    }
}

//fim