// Inicio da função TestaComboSelecionado
function TestaComboSelecionado(combo)
{
   indice = combo.selectedIndex; 
   selecionado = combo.options[indice].value; 
   return selecionado;
}
// Final da função TestaComboSelecionado

// Inicio da função TestaRadioSelecionado
function TestaRadioSelecionado(radio)
{
    selecionado = "";
    if (!(radio.length >= 1)) 
    {
        if (radio.checked) 
            selecionado = radio.value;
        else
            selecionado = 0;
    }
    for (cont = 0; cont < radio.length; cont++)
    {
        if (radio[cont].checked) 
        {
            selecionado = radio[cont].value; 
            break;
        } 
        else
            selecionado = 0;
    }
    return selecionado;
} 
// Final da função TestaRadioSelecionado

// Inicio da Função Trim
function Trim(Objeto) {
    var pos = 0; 
    var str = Objeto.value.substring(pos, pos + 1);
    var cont = 0; 
    var straux = Objeto.value;

    while ((str == " ") && (cont <= Objeto.value.length)) {
        pos = pos + 1;
        straux = Objeto.value.substring(pos, Objeto.value.length); 
        str = Objeto.value.substring(pos, pos + 1); 
        cont = cont + 1;
    }

    var String = straux;
    pos = String.length;
    str = String.substring(pos - 1, pos);
    cont = 0;
    while ((str == " ") && (cont <= String.length)) {
        pos = pos - 1;
        straux = String.substring(0, pos);
        str = String.substring(pos - 1, pos);
        cont = cont + 1;
    }
    return straux;
}
// Final da Função Trim

// Inicio da Função JavaTrim
function JavaTrim(String) {
    pos = 0; 
    str = String.substring(pos,pos+1); 
    cont = 0; 
    straux = String;

    while ((str==" ")&&(cont<=String.length)) {
        pos = pos + 1;
        straux = String.substring(pos, String.length); 
        str = String.substring(pos,pos+1); 
        cont = cont + 1;
    }

    String = straux;
    pos = String.length;
    str = String.substring(pos-1,pos);
    cont = 0;
    while ((str==" ")&&(cont<=String.length)) {
        pos = pos - 1;
        straux = String.substring(0, pos);
        str = String.substring(pos-1,pos);
        cont = cont + 1;
    }
    return straux;
}
// Final da Função JavaTrim

// Inicio da função TestaDataDividida
function TestaDataDividida(dia1, mes1, ano1, desData)
{
    dia = dia1.value;
    mes = mes1.value;
    ano = ano1.value;
    msgErro = '';
    if ( (isNaN(dia)) || (isNaN(mes)) || (isNaN(ano)) || (ano==0) ) 
    {
		errData	= GTR_TXT_DATAINVALIDA.replace("%", desData);
        alert(errData);
        dia1.value = '';
        dia1.focus();
        return false;
     }
  
    if ( (dia=="") && (mes=="") && (ano=="") ) 
    {
        errData	= GTR_TXT_DATCORRETAMENTE.replace("%", desData);
        alert(errData);
        dia1.value = '';
        dia1.focus();
        return false;
    }  
    else
    {           
        if ( (dia=="") || (mes=="") || (ano=="") ) 
        {
			errData	= GTR_TXT_DATAINVALIDA.replace("%", desData);
			alert(errData);
            dia1.value = '';
            dia1.focus();
            return false;
        } 
        else
        {
            if ((dia>31)||(dia<1))
            {
				errData	= GTR_TXT_DIAINVALIDO.replace("%", desData);
				alert(errData);
                dia1.value = '';
                dia1.focus();
                return false;
            }
            if ((mes>12)||(mes<1))
            {
				errData	= GTR_TXT_MESINVALIDO.replace("%", desData);
				alert(errData);
                mes1.value = '';
                mes1.focus();
                return false;
            }
            if (ano.length < 4) 
            {
				errData	= GTR_TXT_ANOINVALIDO.replace("%", desData);
				alert(errData);
                ano1.value = '';
                ano1.focus();
                return false;
            }   
            if (mes==2)
            {
                if (((dia)>29)||(dia=='29' && (ano)%4!=0)) 
                {

					errData	= GTR_TXT_DIAINVALIDO.replace("%", desData);
					alert(errData);
                    dia1.value = '';
                    dia1.focus();
                    return false;
                }
            }
            else
            {
                if ( ( (mes==4) || (mes==6) || (mes==9) || mes=='11') && (dia>30) ) 
                {
					errData	= GTR_TXT_DIAINVALIDO.replace("%", desData);
					alert(errData);
                    dia1.value = '';
                    dia1.focus();
                    return false;
                }    
                else
                { 
                    if (dia>31)
                    {
						errData	= GTR_TXT_DIAINVALIDO.replace("%", desData);
						alert(errData);
                        dia1.value = '';
                        dia1.focus();
                        return false;
                    }  
                }    
            } 
        }
    }
    return true;

}
// Final da função TestaDataDividida
// Inicio da função DataMaiorDividida
function DataMaiorDividida(dia1, mes1, ano1, dia2, mes2, ano2)
{
    data1= new Date(ano1,mes1,dia1)
	data2= new Date(ano2,mes2,dia2)
 
    if (data1 < data2) 
    {   
        return 1;
    }
    if (data1 > data2) 
    {   
        return 2;
    }
    else
    {   
        return 0;
    }    
}
// Fim da função DataMaiorDividida

// Inicio da função ChecaEmail

function ChecaEmail (emailStr, Mensagem) {
    var emailPat=/^(.+)@(.+)$/;
    var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
    var validChars="\[^\\s" + specialChars + "\]";
    var quotedUser="(\"[^\"]*\")";
    var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
    var atom=validChars + '+';
    var word="(" + atom + "|" + quotedUser + ")";
    var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
    var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
    var matchArray=emailStr.match(emailPat);
    if (matchArray==null) {
		errEml	= GTR_TXT_EMAILINVALIDO.replace("%", Mensagem);
        alert(errEml);
        return false;
    }
    var user=matchArray[1];
    var domain=matchArray[2];
    if (user.match(userPat)==null) {
		errEml	= GTR_TXT_EMAILINVALIDO.replace("%", Mensagem);
        alert(errEml);
        return false;
    }
    var IPArray=domain.match(ipDomainPat);
    if (IPArray!=null) {
        for (var i=1;i<=4;i++) {
            if (IPArray[i]>255) {
				errEml	= GTR_TXT_EMAILINVALIDO.replace("%", Mensagem);
				alert(errEml);
                return false;
            }
        }
        return true;
    }
    var domainArray=domain.match(domainPat);
    if (domainArray==null) {
		errEml	= GTR_TXT_EMAILINVALIDO.replace("%", Mensagem);
        alert(errEml);
        return false;
    }
    var atomPat=new RegExp(atom,"g");
    var domArr=domain.match(atomPat);
    var len=domArr.length;
    if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {
		errEml	= GTR_TXT_EMAILINVALIDO.replace("%", Mensagem);
        alert(errEml);
       return false;
    }
    if (len<2) {
		errEml	= GTR_TXT_EMAILINVALIDO.replace("%", Mensagem);
        alert(errEml);
        return false;
    }
    return true;
}
// Fim da função ChecaEmail


// Inicio da Função ChecaCep
function ChecaCep(cep, tipo)
{
    if (tipo == 1)
    {
        if (cep.value.length != 8) 
        {
            alert('Cep inválido. Por favor, digite novamente.');
            cep.focus();
            return false;            
        }
        if (isNaN(cep.value))
        {
            alert('Cep inválido. Por favor, digite novamente.');
            cep.focus();
            return false;
        }
        return true;
    }
    else
    {
        if (cep.value.length != 9) 
        {
            alert('Cep inválido. Por favor, digite novamente.');
            cep.focus();
            return false;            
        }
        cep1 = cep.value.substring(0,5);
        cep2 = cep.value.substring(6,9);
        traco = cep.value.substring(5,6);
        if (isNaN(cep1) || isNaN(cep2))
        {
            alert('Cep inválido. Por favor, digite novamente.');
            cep.focus();
            return false;            
        }
        if (traco != '-')
        {
            alert('Cep inválido. Por favor, digite novamente.');
            cep.focus();
            return false;            
        }
        return true;
    }
}

// Inicio da função Numerico
function Numerico(objValor, iDecimais) {
    var sValor = objValor.value.replace(",", ".");

    if (isNaN(sValor)) {
        alert("O valor informado não é válido.");
        objValor.focus();
        return false;
    }

    // Coloca o número de decimais informado
    if (sValor.indexOf(".") != -1) {
        sInteiros = sValor.substring(0, sValor.indexOf("."));
        sDecimais = sValor.substring(sValor.indexOf(".") + 1, sValor.length);
    } else {
        sInteiros = sValor;
        sDecimais = "";

    }
    if (sInteiros == "") {
        sInteiros = "0";
    }
    for (i = 0; i < iDecimais; i++) {
        sDecimais = sDecimais + "0";
    }

    // Pega somente o número de decimais informado
    sDecimais = sDecimais.substring(0, iDecimais);
    
    if (iDecimais > 0) {
        objValor.value = sInteiros + "." + sDecimais;
    } else {
        objValor.value = sInteiros;
    }
    
    return true;
}
// Fim da função Numerico

// Função Máscara
/**    
* @param w - O elemento que será aplicado (normalmente this).  
* @param e - O evento para capturar a tecla e cancelar o backspace.  
* @param m - A máscara a ser aplicada.  
* @param r - Se a máscara deve ser aplicada da direita para a esquerda.
* @param a -   
* @returns null
* usar: maskIt(this,event,'(##)####-####');
*/
function maskIt(w,e,m,r,a){
	// Cancela se o evento for Backspace
	if (!e) var e = window.event;
	   
	if (e.keyCode) code = e.keyCode;    
	else if (e.which) code = e.which;        
	// Variáveis da funçao    
	var txt  = (!r) ? w.value.replace(/[^\d]+/gi,'') : w.value.replace(/[^\d]+/gi,'').reverse();    
	var mask = (!r) ? m : m.reverse();    
	var pre  = (a ) ? a.pre : "";    
	var pos  = (a ) ? a.pos : "";    
	var ret  = "";   
	if(code == 9 || code == 8 || txt.length == mask.replace(/[^#]+/g,'').length)
		return false;    
	// Loop na máscara para aplicar os caracteres    
	for(var x=0,y=0, z=mask.length;x<z && y<txt.length;){
		if(mask.charAt(x)!='#'){           
			ret += mask.charAt(x); x++;       
		} else{            
			ret += txt.charAt(y); y++; x++;        
		}    
	}       
	// Retorno da funçao    
	ret = (!r) ? ret : ret.reverse();
	w.value = pre+ret+pos;
}

// Novo método para o objeto 'String'
String.prototype.reverse = function(){   
	return this.split('').reverse().join('');
};
// Fim Função Máscara


// Retira os caracteres que são representados somente no modo do UNICODE
function RetiraUnicode(texto) {
	// variavel auxiliar que sera retornada com a nova String
   	var retorno = ''; 

   	// Percorre todo o texto
   	for (var i = 0; i < texto.length; i++) { 
		if (texto.charCodeAt(i) > 255) {
			sLetra = "";
		} else {
			sLetra = texto.charAt(i);
		}

		retorno += sLetra;
   	}

	return retorno;
}

function TratarUnicode(campo){
	campo.value = RetiraUnicode(campo.value);
}

// Faz o calculo do DV do CPF para verificar se está correto ou nao
function ValidaCPF(numCPF) {
	if (numCPF == "") {
		return true;
	}
	
    numCPF = numCPF.replace(/\D/g,"");

    if (! (numCPF.length == 11) || (	numCPF == "00000000000" || numCPF == "11111111111" || numCPF == "22222222222" || numCPF == "33333333333" || numCPF == "44444444444" || numCPF == "55555555555" || numCPF == "66666666666" || 	numCPF == "77777777777" || numCPF == "88888888888" || numCPF == "99999999999")) {  
		return false;    
	}

    if (numCPF != '') {
        x = 0;
        soma = 0;
        dig1 = 0;
        dig2 = 0;
        texto = "";
        numCPF1="";
        len = numCPF.length; x = len -1;
        for (var i=0; i <= len - 3; i++) {
            y = numCPF.substring(i,i+1);
            soma = soma + ( y * x);
            x = x - 1;
            texto = texto + y;
        }
        dig1 = 11 - (soma % 11);
        if (dig1 == 10) dig1=0 ;
        if (dig1 == 11) dig1=0 ;
        numCPF1 = numCPF.substring(0,len - 2) + dig1 ;
        x = 11; soma=0;
        for (var i=0; i <= len - 2; i++) {
            soma = soma + (numCPF1.substring(i,i+1) * x);
            x = x - 1;
        }
        dig2= 11 - (soma % 11);
        if (dig2 == 10) dig2=0;
        if (dig2 == 11) dig2=0;
        //alert ("Digito Verificador : " + dig1 + "" + dig2);
        if (!((dig1 + "" + dig2) == numCPF.substring(len,len-2))) {
            return false;
        }
    } else {
        return false;
    }
    return true;
}

function GTR_CurriculoAddEmprego(){
	var form		= document.getElementById("formulario0");
	var empresa		= form.nu_desempresa.value;
	var cargo		= form.nu_cargo.value;
	var datai_d		= form.nu_datperiodode_Dia.value;
	var datai_m		= form.nu_datperiodode_Mes.value;
	var datai_a		= form.nu_datperiodode_Ano.value;
	var dataf_d		= form.nu_datperiodoate_Dia.value;
	var dataf_m		= form.nu_datperiodoate_Mes.value;
	var dataf_a		= form.nu_datperiodoate_Ano.value;
	var descricao	= form.nu_texdescricao.value;
	
	if(empresa.length <= 0){
		alert("Informe o nome da Empresa");	
		form.nu_desempresa.focus();
		return false;
	}
	
	if(cargo == "") {
		alert("Informe o cargo");
		form.nu_cargo.focus();
		return false;
	}
	
	if (TestaDataDividida(form.nu_datperiodode_Dia, form.nu_datperiodode_Mes, form.nu_datperiodode_Ano, "Data Entrada") == false){
		return false;	
	}
	
	if (dataf_d != '' || dataf_m != '' || dataf_a != ''){
		if (TestaDataDividida(form.nu_datperiodoate_Dia, form.nu_datperiodoate_Mes, form.nu_datperiodoate_Ano, "Data Saída") == false){
			return false;	
		}
	}
	
	if(descricao.length <= 0){
		alert("Informe a descrição das suas atividades nessa Empresa");
		form.nu_texdescricao.focus();
		return false;
	}
	
	form.nu_desempresa.value		= "";
	form.nu_cargo.value				= "";
	form.nu_datperiodode_Dia.value	= "";
	form.nu_datperiodode_Mes.value	= "";
	form.nu_datperiodode_Ano.value	= "";
	form.nu_datperiodoate_Dia.value	= "";
	form.nu_datperiodoate_Mes.value	= "";
	form.nu_datperiodoate_Ano.value	= "";
	form.nu_texdescricao.value		= "";
	
	var tabela = "tblEmprego";
	var linha = document.getElementById(tabela).insertRow(document.getElementById(tabela).rows.length);
	
	// limpa caracteres
	empresa.replace("'", "");
	cargo.replace("'", "");
	descricao.replace("'", "");
	
	var cmpEmpresa		= "<input type='hidden' name='nu_emprego_empresa[]' value='"+empresa+"'>";
	var cmpCargo		= "<input type='hidden' name='nu_emprego_cargo[]' value='"+cargo+"'>";
	var cmpDataI_Dia	= "<input type='hidden' name='nu_emprego_datai_Dia[]' value='"+datai_d+"'>";
	var cmpDataI_Mes	= "<input type='hidden' name='nu_emprego_datai_Mes[]' value='"+datai_m+"'>";
	var cmpDataI_Ano	= "<input type='hidden' name='nu_emprego_datai_Ano[]' value='"+datai_a+"'>";
	var cmpDataF_Dia	= "<input type='hidden' name='nu_emprego_dataf_Dia[]' value='"+dataf_d+"'>";
	var cmpDataF_Mes	= "<input type='hidden' name='nu_emprego_dataf_Mes[]' value='"+dataf_m+"'>";
	var cmpDataF_Ano	= "<input type='hidden' name='nu_emprego_dataf_Ano[]' value='"+dataf_a+"'>";
	var cmpDescricao	= "<input type='hidden' name='nu_emprego_descricao[]' value='"+descricao+"'>";
	
	var camposOcultos	= cmpDataI_Dia + cmpDataI_Mes + cmpDataI_Ano;
	camposOcultos		+=cmpDataF_Dia + cmpDataF_Mes + cmpDataF_Ano;
	camposOcultos		+=cmpDescricao;
	
	linha.insertCell(0).innerHTML = empresa + cmpEmpresa;
	linha.insertCell(1).innerHTML = cargo + cmpCargo;
	linha.insertCell(2).innerHTML = "<a href='javascript: void(0);' onClick='GTR_CurriculoDel(this.parentNode.parentNode.rowIndex);'><img src='modulos/curriculo/img/btn_excluir.gif' alt='Excluir' border='0' /></a>" + camposOcultos;
}

function GTR_CurriculoDel(i){
	document.getElementById('tblEmprego').deleteRow(i)
}

function GTR_CurriculoSubmit(){
	GTR_divAjax='conteudo';
	if (gtr_submit('formulario0', 'false'))  {
		// submete form
		document.getElementById("formulario0").submit();
		return true;
	} else { 
		return false;
	}
}


function GTR_CurriculoAddEscola(){
	var form		= document.getElementById("formulario0");
	var entidade	= form.nu_desentidade.value;
	var curso		= form.nu_descurso.value;
	var graduacao	= form.nu_graduacao.value;
	var ano			= form.nu_intano.value;
	
	if(entidade.length <= 0){
		alert("Informe o nome da Entidade");	
		form.nu_desentidade.focus();
		return false;
	}
	
	if(curso == "") {
		alert("Informe o curso");
		form.nu_descurso.focus();
		return false;
	}
	
	
	if(graduacao.length <= 0){
		alert("Informe a graduação");
		form.nu_graduacao.focus();
		return false;
	}
	
	if(ano.length <= 0){
		alert("Informe a o ano da conclusão");
		form.nu_intano.focus();
		return false;
	}
	
	form.nu_desentidade.value	= "";
	form.nu_descurso.value		= "";
	form.nu_graduacao.value		= "";
	form.nu_intano.value		= "";
	
	var tabela = "tblEscola";
	var linha = document.getElementById(tabela).insertRow(document.getElementById(tabela).rows.length);
	
	// limpa caracteres
	entidade.replace("'", "");
	curso.replace("'", "");
	graduacao.replace("'", "");
	ano.replace("'", "");
	
	var cmpEntidade		= "<input type='hidden' name='nu_escola_entidade[]' value='"+entidade+"'>";
	var cmpCurso		= "<input type='hidden' name='nu_escola_curso[]' value='"+curso+"'>";
	var cmpGraduacao	= "<input type='hidden' name='nu_escola_graduacao[]' value='"+graduacao+"'>";
	var cmpAno			= "<input type='hidden' name='nu_escola_ano[]' value='"+ano+"'>";
	var camposOcultos	= cmpGraduacao + cmpAno;
	
	linha.insertCell(0).innerHTML = entidade + cmpEntidade;
	linha.insertCell(1).innerHTML = curso + cmpCurso;
	linha.insertCell(2).innerHTML = "<a href='javascript: void(0);' onClick='GTR_CurriculoDelEscola(this.parentNode.parentNode.rowIndex);'><img src='modulos/curriculo/img/btn_excluir.gif' alt='Excluir' border='0' /></a>" + camposOcultos;
}

function GTR_CurriculoDelEscola(i){
	document.getElementById('tblEscola').deleteRow(i)
}