/*****************************************

	@Arquivo:
		js_bancoCV.js

	@Data:
		28/05/2009

	@Objetivo:
		Contém as funções necessárias para o banco de currículo

	@Modificações (Data - Descrição):
		- sem modificações -


*****************************************/

var bancoCV = {
	//valida o formulário de login
	validaFrmLogin: function(frm){
		if(frm.login.value.length == 0){
			alert("Informe seu e-mail de cadastrado para prosseguir!");
			frm.login.focus();
			return false;
		}
		if(frm.senha.value.length == 0){
			alert("Informe sua senha para prosseguir!");
			frm.senha.focus();
			return false;
		}
		
		frm.btAcessar.value = 'Verificando...';
		frm.btAcessar.disabled = true;
		
		return true;
	}
	
	//valida o formulário de login para a ação de re-lembrar a senha
,	validaFrmEsqueceuSenha: function(frm){
		if(frm.login.value.length == 0){
			alert("Informe seu e-mail de cadastro para recuperar a senha!");
			frm.login.focus();
			return false;
		}
		
		frm.fuse.value = 'quemSomos_trabalhe.enviarSolicitacaoNovaSenha';
		frm.submit();
	}
	
	//valida o formulário de currículos
,	validaFrmCurriculo: function (frm,tpFrm){
		/*
			tpFrm = 0 : formulário de cadastro;
			tpFrm = 1 : formulário para editar dados pessoais;
			tpFrm = 2 : formulário para editar dados para contato;
			tpFrm = 3 : formulário para editar dados do currículo;
		*/
		
		if(tpFrm == 0 || tpFrm == 1){
			if(frm.nm_profissional.value.length == 0){
				alert("Informe o NOME para prosseguir!");
				frm.nm_profissional.focus();
				return false;
			}
			if(tpFrm == 0){
				if(frm.ds_email.value.length == 0){
					alert("Informe o E-MAIL para prosseguir!");
					frm.ds_email.focus();
					return false;
				}
				if(!fieldMaskValidator.email(frm.ds_email))
					return false;
			}
			
			if(frm.nu_cpf.value.length == 0){
				alert("Informe o CPF para prosseguir!");
				frm.nu_cpf.focus();
				return false;
			}
			if(!fieldMaskValidator.cpf(frm.nu_cpf))
				return false;
			
			if(frm.nu_rg.value.length == 0){
				alert("Informe o RG para prosseguir!");
				frm.nu_rg.focus();
				return false;
			}
			if(frm.ds_orgaoExpedidor.value.length == 0){
				alert("Informe o ÓRGÃO DE EXPEDIDOR DO RG para prosseguir!");
				frm.ds_orgaoExpedidor.focus();
				return false;
			}
			if(tpFrm == 0){
				if(frm.ds_senha.value.length < 4){
					alert("Informe uma SENHA com no mínimo 4 caracteres!");
					frm.ds_senha.focus();
					return false;
				}
				if(frm.ds_senha_confirm.value != frm.ds_senha.value){
					alert("A CONFIRMAÇÃO DA SENHA deverá ser igual a senha informada no campo anterior!");
					frm.ds_senha_confirm.select();
					return false;
				}
			}
			if(frm.dt_nascimento.value.length != 10){
				alert("Informe a DATA DE NASCIMENTO para prosseguir no formato: DD/MM/AAAA!");
				frm.dt_nascimento.focus();
				return false;
			}
			if(!fieldMaskValidator.data(frm.dt_nascimento))
				return false;
			
			if(frm.fl_sexo.selectedIndex == 0){
				alert("Selecione o SEXO para prosseguir!");
				frm.fl_sexo.focus();
				return false;
			}
			if(frm.fl_estadoCivil.selectedIndex == 0){
				alert("Selecione o ESTADO CIVIL para prosseguir!");
				frm.fl_estadoCivil.focus();
				return false;
			}
		}
		if(tpFrm == 0 || tpFrm == 2){
			if(frm.ds_endereco.value.length == 0){
				alert("Informe o ENDEREÇO para prosseguir!");
				frm.ds_endereco.focus();
				return false;
			}
			if(frm.nu_cep.value.length == 0){
				alert("Informe o CEP para prosseguir!");
				frm.nu_cep.focus();
				return false;
			}
			if(!fieldMaskValidator.cep(frm.nu_cep))
				return false;
			
			if(frm.nm_cidade.value.length == 0){
				alert("Informe a CIDADE para prosseguir!");
				frm.nm_cidade.focus();
				return false;
			}
			if(frm.ds_estado.selectedIndex == 0){
				alert("Selecione a UF para prosseguir!");
				frm.ds_estado.focus();
				return false;
			}
		}
		if(tpFrm == 0 || tpFrm == 3){
			if(frm.ds_resumoCurriculo.value.length > 500){
				alert("Informe o RESUMO DO CURRÍCULO com no máximo 500 caracteres!");
				frm.ds_resumoCurriculo.select();
				return false;
			}
			if(frm.fl_escolaridade.selectedIndex == 0){
				alert("Selecione a ESCOLARIDADE para prosseguir!");
				frm.fl_escolaridade.focus();
				return false;
			}
			if(frm.ds_escolaridade.value.length == 0){
				alert("Informe o TIPO DE CURSO que está cursando para prosseguir!");
				frm.ds_escolaridade.focus();
				return false;
			}
			if(frm.ds_cursos.value.length > 500){
				alert("Informe a DESCRIÇÃO DOS CURSOS com no máximo 500 caracteres!");
				frm.ds_cursos.select();
				return false;
			}
			if(frm.ds_experiencia_a.value.length > 500){
				alert("Informe a DESCRIÇÃO DA EXPERIÊNCIA PROFISSIONAL na Empresa 1 com no máximo 500 caracteres!");
				frm.ds_experiencia_a.select();
				return false;
			}
			if(frm.ds_experiencia_b.value.length > 500){
				alert("Informe a DESCRIÇÃO DA EXPERIÊNCIA PROFISSIONAL na Empresa 2 com no máximo 500 caracteres!");
				frm.ds_experiencia_b.select();
				return false;
			}
			if(frm.ds_experiencia_c.value.length > 500){
				alert("Informe a DESCRIÇÃO DA EXPERIÊNCIA PROFISSIONAL na Empresa 3 com no máximo 500 caracteres!");
				frm.ds_experiencia_c.select();
				return false;
			}
			
			var selecionouAreaProf = false;
			
			if((frm.categoriaProfissao_a.selectedIndex > 0) && (frm.id_itemAreaProf_a.selectedIndex == 0)){
				alert("Selecione a ÁREA PROFISSIONAL 1!");
				frm.id_itemAreaProf_a.focus();
				return false;
			}
			if(frm.id_itemAreaProf_a.selectedIndex > 0)
				selecionouAreaProf = true;
			
			if((frm.categoriaProfissao_b.selectedIndex > 0) && (frm.id_itemAreaProf_b.selectedIndex == 0)){
				alert("Selecione a ÁREA PROFISSIONAL 2!");
				frm.id_itemAreaProf_b.focus();
				return false;
			}
			if(frm.id_itemAreaProf_b.selectedIndex > 0)
				selecionouAreaProf = true;
				
			if((frm.categoriaProfissao_c.selectedIndex > 0) && (frm.id_itemAreaProf_c.selectedIndex == 0)){
				alert("Selecione a ÁREA PROFISSIONAL 3!");
				frm.id_itemAreaProf_c.focus();
				return false;
			}
			if(frm.id_itemAreaProf_c.selectedIndex > 0)
				selecionouAreaProf = true;
			
			if(!selecionouAreaProf){
				alert("Selecione pelo menos uma ÁREA PROFISSIONAL!");
				frm.categoriaProfissao_a.focus();
				return false;
			}
			if((frm.id_itemAreaProf_a.selectedIndex > 0) && (frm.id_itemAreaProf_b.selectedIndex > 0)){
				if((frm.id_itemAreaProf_a.value == frm.id_itemAreaProf_b.value)){
					alert("Não é possível selecionar uma mesma área profissional mais de uma vez!");
					frm.id_itemAreaProf_b.focus();
					return false;
				}
			}
			if((frm.id_itemAreaProf_a.selectedIndex > 0) && (frm.id_itemAreaProf_c.selectedIndex > 0)){
				if((frm.id_itemAreaProf_a.value == frm.id_itemAreaProf_c.value)){
					alert("Não é possível selecionar uma mesma área profissional mais de uma vez!");
					frm.id_itemAreaProf_c.focus();
					return false;
				}
			}
			if((frm.id_itemAreaProf_b.selectedIndex > 0) && (frm.id_itemAreaProf_c.selectedIndex > 0)){
				if((frm.id_itemAreaProf_b.value == frm.id_itemAreaProf_c.value)){
					alert("Não é possível selecionar uma mesma área profissional mais de uma vez!");
					frm.id_itemAreaProf_c.focus();
					return false;
				}
			}
			if(frm.ds_observacao.value.length > 500){
				alert("Informe as OBSERVAÇÕES com no máximo 500 caracteres!");
				frm.ds_observacao.select();
				return false;
			}
		}
		
		frm.btSubmit.value = 'Salvando...';
		frm.btSubmit.disabled = true;
		
		return true;
	}
	
	//função para alimentar as categorias
,	alimentaProfissao: function(cpCat,cpProf){
		var vlCat = cpCat.value; //define o ID da categoria
		var achouCat = false; //indica se achou o ID da categoria
		var idxIni = 0; //indica o ponteiro início do array
		var idxFim = 0; //indica o ponteiro fim do array
		
		//limpa o select de profissões
		for(i=cpProf.length;i>-1;i--){
			cpProf.remove(i);
		}
		
		//zera o tamanho da lista de profissões
		cpProf.length = 0;
		//define como padrão a primeira linha para selecionar uma profissão
		cpProf.options[0] = new Option("- Selecione uma área -",0);
		
		//varre o array de profissões a procura dos itens da categoria
		if(vlCat > 0){
			for(i=0;i<ar_idCatProfissao.length;i++){
				if((!achouCat) && (parseInt(ar_idCatProfissao[i],10) == vlCat)){
					idxIni = i;
					achouCat = true;
				}
				
				idxFim = i;
				
				if((achouCat) && (parseInt(ar_idCatProfissao[i],10) != vlCat)){
					idxFim = i-1;
					break;
				}
			}
		}
		
		//alimenta o select das profissões
		if(achouCat){
			var j = 1;
			for(i=idxIni;i<=idxFim;i++){
				cpProf.options[j] = new Option(ar_nmCatProfissao[i],ar_idProfissao[i]);
				j++;
			}
		}
		
		return true;
	}

	//função para selecionar um item de um objeto SELECT
,	selecionaItem: function (obj,vl){
		for(i=0;i<obj.length;i++){
			if(obj.options[i].value == vl){
				obj.options[i].selected = true;
				break;
			}
		}
		
		return true;
	}
	
	//formata data na máscara mm/aaaa
,	formataDataMesAno: function(objCampo,teclapres) {
		var campo = "";
		var tecla = teclapres.keyCode;
		
		vr = objCampo.value;
		
		if ("0123456789".search(vr.substr(vr.length-1,1)) == -1) {
			vr = vr.substr(0, vr.length-1);
			objCampo.value = vr;
		}
		else {
			vr = vr.replace( ".", "" );
			vr = vr.replace( "/", "" );
			tam = vr.length + 1;
			
			if ( tecla != 9 && tecla != 8 ) {
				if ( tam > 2 && tam < 5 ) {
					objCampo.value = vr.substr( 0, tam - 2  ) + '/' + vr.substr( tam - 2, tam );
				}
			}
		}
	}
	
	//valida a formatação da data (mês e ano somente)
,	validaDataMesAno: function(campo,msg){
		//VALIDACAO DA DATA
		mes_inicio = campo.value.substr(0,2);
		ano_inicio = campo.value.substr(3,4);
		
		if(campo.value.length > 0){
			if(campo.value.length != 7){
				alert("A data " + msg + " deve obedecer o formato:(mm/aaaa).");
				campo.select();
				return false;
			}
			//VALIDACAO DO MES
			if((mes_inicio < 1) || (mes_inicio > 12)){
				alert("O mês " + msg + " deve estar entre 01-12.");
				campo.select();
				return false;
			}
		}
		
		return true;
	}

	//valida o formulário para trocar a senha
,	validarFrmTrocarSenha: function(frm){
		if(frm.senhaAtual.value.length == 0){
			alert("Informe sua SENHA ATUAL!");
			frm.senhaAtual.focus();
			return false;
		}
		if(frm.novaSenha.value == frm.senhaAtual.value){
			alert("Informe uma NOVA SENHA diferente da SENHA ATUAL!");
			frm.novaSenha.value = '';
			frm.novaSenha.focus();
			return false;
		}
		if(frm.novaSenha.value.length < 4){
			alert("Informe sua NOVA SENHA com no mínimo 4 caracteres!");
			frm.novaSenha.focus();
			return false;
		}
		if(frm.novaSenha_confirm.value != frm.novaSenha.value){
			alert("Informe a CONFIRMAÇÃO DA NOVA SENHA igual a NOVA SENHA informada no campo anterior!");
			frm.novaSenha_confirm.value = '';
			frm.novaSenha_confirm.focus();
			return false;
		}
		
		frm.btSubmit.value = 'Salvando...';
		frm.btSubmit.disabled = true;
		
		return true;
	}
}

