// JavaScript Document
String.prototype.trim = function()
{
return this.replace(/^\s+|\s+$/g,"");
}

function campoVazio (valObj)
{
if  (valObj == null)
    return true;
var auxStr = new String(valObj);
if  (auxStr.trim() == "")
    return true;
return false;
}

function isEmailValido(str)
{
    var at="@"
    var dot="."
    var lat=str.indexOf(at)
    var lstr=str.length
    var ldot=str.indexOf(dot)
    if  (str.indexOf(at)==-1){
        return false
    }
    if  (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
       return false
    }
    if  (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
         return false
    }
    if  (str.indexOf(at,(lat+1))!=-1){
        return false
    }
    if  (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
        return false
    }
    if  (str.indexOf(dot,(lat+2))==-1){
        return false
     }
     if  (str.indexOf(" ")!=-1){
         return false
     }
     return true
}

function validaForm()
{
    var jsLingua=findObj("EditLingua");
    var lingua = "pt";
    if  (jsLingua != null) {
        lingua = jsLingua.value;
        if  (lingua != "sp") {
            lingua = "pt";
        }
    }
//
    var result = true;
    if  (result == true) {
        var obj=findObj('EditNome');
        if  (campoVazio(obj.value)) {
            try{
            obj.focus();
            }
            catch(ignore){}
            alert("Digite o(a) Nome");
            result = false;
        }
    }
    if  (result == true) {
        var jsNacionalidade=findObj("EditNacionalidade");
        if  (jsNacionalidade.value == 0) { // Brasileiro
            var obj=findObj('EditRG');
            if  (campoVazio(obj.value)) {
                try{
                obj.focus();
                }
                catch(ignore){}
                alert("Digite o(a) RG");
                result = false;
            }
            if  (result == true) {
                var obj=findObj('EditCPF');
                if  (campoVazio(obj.value)) {
                    try{
                    obj.focus();
                    }
                    catch(ignore){}
                    alert("Digite o(a) CPF");
                    result = false;
                }
            }
            if  (result == true) {
                if  ( ! campoVazio(obj.value)) {
                    if  ( ! isCpf (obj.value)) {
                        try{
                        obj.focus();
                        }
                        catch(ignore){}
                        alert("CPF Inválido(a)");
                        result = false;
                    }
                }
            }
        } else {
            if  (result == true) {
                var obj=findObj('EditPassaporte');
                if  (campoVazio(obj.value)) {
                    try{
                    obj.focus();
                    }
                    catch(ignore){}
                    alert("Digite o(a) Passaporte");
                    result = false;
                }
            }
        }
    }
    if  (result == true) {
        var obj=findObj('EditDataNasc');
        if  ( ! campoVazio(obj.value)) {
            var reDateDDMMAAAA = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;
            if  (reDateDDMMAAAA.test(obj.value)) {
                result = true;
            } else {
                try{
                obj.focus();
                }
                catch(ignore){}
                alert("Data Nascimento Inválido(a)");
                result = false;
            }
        }
    }
    if  (result == true) {
        var obj=findObj('EditFone');
        if  (campoVazio(obj.value)) {
            try{
            obj.focus();
            }
            catch(ignore){}
            alert("Digite o(a) Fone");
            result = false;
        }
    }
    if  (result == true) {
        var obj=findObj('EditEmail');
        if  (campoVazio(obj.value)) {
            try{
            obj.focus();
            }
            catch(ignore){}
            alert("Digite o(a) E-mail");
            result = false;
        }
    }
    if  (result == true) {
        if  ( ! isEmailValido(obj.value)) {
            try{
            obj.focus();
            }
            catch(ignore){}
            alert("E-mail Inválido");
            result = false;
        }
    }
    if  (result == true) {
        var obj=findObj('EditEnd');
        if  (campoVazio(obj.value)) {
            try{
            obj.focus();
            }
            catch(ignore){}
            alert("Digite o(a) Endereço");
            result = false;
        }
    }
    if  (result == true) {
        var obj=findObj('EditBairro');
        if  (campoVazio(obj.value)) {
            try{
            obj.focus();
            }
            catch(ignore){}
            alert("Digite o(a) Bairro");
            result = false;
        }
    }
    if  (result == true) {
        var obj=findObj('EditCidade');
        if  (campoVazio(obj.value)) {
            try{
            obj.focus();
            }
            catch(ignore){}
            alert("Digite o(a) Cidade");
            result = false;
        }
    }
    if  (result == true) {
        var obj=findObj('EditUF');
        if  (campoVazio(obj.value)) {
            try{
            obj.focus();
            }
            catch(ignore){}
            alert("Digite o(a) UF");
            result = false;
        }
    }
    if  (result == true) {
        var objCb=findObj('CbAreaAtuacao');
        if  (objCb.value == "Selecione a Área") {
            try{
            objCb.focus();
            }
            catch(ignore){}
            alert("Selecione a Área de Atuação");
            result = false;
        } else {
            if  (objCb.value == "Outra") {
                var obj=findObj('EditAreaAtuacao');
                if  (campoVazio(obj.value)) {
                    try{
                    obj.focus();
                    }
                    catch(ignore){}
                    alert("Digite a Área de Atuação");
                    result = false;
                }
            }
        }
    }
    if  (result == true) {
        var objCb=findObj('CbProfissao');
        if  (objCb.value == "Selecione a sua Profissão") {
            try{
            objCb.focus();
            }
            catch(ignore){}
            alert("Selecione a sua Profissão");
            result = false;
        } else {
            if  (objCb.value == "Outra") {
                var obj=findObj('EditProfissao');
                if  (campoVazio(obj.value)) {
                    try{
                    obj.focus();
                    }
                    catch(ignore){}
                    alert("Digite a Profissão");
                    result = false;
                }
            }
        }
    }
//
    if  (result == true) {
        var jsTipo=findObj("EditTipo");
        if  ((jsTipo.value == 2) || (jsTipo.value == 3)) { // Tem Pré-Congresso
             var jsCurso1=findObj("EditCurso1");
             var jsCurso2=findObj("EditCurso2");
             if  ((jsCurso1.value < 1) && (jsCurso2.value < 1)) {
                  try{
                  jsCurso1.focus();
                  }
                  catch(ignore){}
                  alert("Selecione Algum Curso ou mude o Tipo de Inscrição no início do formulário!");
                  result = false;
             }
        }
    }
//
    if  (result == true) {
        var obj=findObj('EditIdCategoria');
        if  (obj.value < 1) {
            try{
            obj.focus();
            }
            catch(ignore){}
            alert("Selecione a sua categoria");
            result = false;
        }
    }
    if  (result == true) {
        var obj=findObj('EditIdCategoria');
        if  (((( obj.value == "1" ) || ( obj.value == "3" ) || ( obj.value == "5" )) && (lingua == "pt")) ||
            (( obj.value == "7" ) && (lingua == "sp"))) {
            // Sócios
            var obj=findObj('EditAssociado');
            if  ((obj.value == "Selecione a Entidade") || (obj.value == "Seleccione la Entidad")) {
                try{
                obj.focus();
                }
                catch(ignore){}
                alert("Selecione à qual Entidade você é associado");
                result = false;
            }
        }
    }
    if  (result == true) {
        var obj=findObj('EditDataInscricao');
        if  (campoVazio(obj.value)) {
            try{
            obj.focus();
            }
            catch(ignore){}
            alert("Digite o(a) Data Inscrição");
            result = false;
        }
    }
    if  (result == true) {
        if  ( ! campoVazio(obj.value)) {
            var reDateDDMMAAAA = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;
            if  (reDateDDMMAAAA.test(obj.value)) {
                result = true;
            } else {
                try{
                obj.focus();
                }
                catch(ignore){}
                alert("Data Inscrição Inválido(a)");
                result = false;
            }
        }
    }
    if  (result == true) {
        var obj=findObj('EditRebiboCpfCnpj');
        if  ( ! campoVazio(obj.value)) {
        }
    }
    return result;
}

function validaDialogo()
{
    var result = true;
    if  (result == true) {
        var obj=findObj('EditOldCPF');
        if  (campoVazio(obj.value)) {
            try{
            obj.focus();
            }
            catch(ignore){}
            alert("Digite o CPF ou o Número do Passaporte");
            result = false;
        }
    }
    if  (result == true) {
        var obj=findObj('EditOldEmail');
        if  (campoVazio(obj.value)) {
            try{
            obj.focus();
            }
            catch(ignore){}
            alert("Digite o E-mail");
            result = false;
        }
    }
    if  (result == true) {
        if  ( ! isEmailValido(obj.value)) {
            try{
            obj.focus();
            }
            catch(ignore){}
            alert("E-mail Inválido");
            result = false;
        }
    }
    return result;
}


function changeCategoria()
{
//    alert ("passei aqui changeCategoria");
    var jsCampoCateg=findObj("EditIdCategoria");
    var jsLingua=findObj("EditLingua");
    var lingua = "pt";
    if  (jsLingua != null) {
        lingua = jsLingua.value;
        if  (lingua != "sp") {
            lingua = "pt";
        }
    }
    var auxValue = "";
    if  (jsCampoCateg == null) {
        auxValue = "0";
    } else {
        auxValue = jsCampoCateg.value;
    }
    var jsDivSocio=document.getElementById("DivFormSocio");
    if  (jsDivSocio != null) {
        if  (((( auxValue == "1" ) || ( auxValue == "3" ) || ( auxValue == "5" )) && (lingua == "pt")) ||
            (( auxValue == "7" ) && (lingua == "sp")))
        {
            jsDivSocio.style.visibility = "visible";
        }
        else
        {
            jsDivSocio.style.visibility = "hidden";
        }
    }
    atualizaValorAPagar(auxValue);
    return true;
}

function loadFormEdita()
{
    if  (EhExclusao())
        return true;
    else
        {
        changeNacionalidade();
        changeAreaAtuacao();
        changeProfissao();
        return changeCategoria();
        }
}

function changeAreaAtuacao()
{
    var jsCbArea=findObj("CbAreaAtuacao");
    if  ((jsCbArea.value == "Outra")){
            document.getElementById("DivQualArea").style.visibility = "visible";
        } else {
            document.getElementById("DivQualArea").style.visibility = "hidden";
        }
}

function changeProfissao()
{
    var jsCbProf=findObj("CbProfissao");
    if  ((jsCbProf.value == "Outra")){
            document.getElementById("DivQualProf").style.visibility = "visible";
        } else {
            document.getElementById("DivQualProf").style.visibility = "hidden";
        }
}

function changeNacionalidade()
{
    var jsNacionalidade=findObj("EditNacionalidade");
    if  (jsNacionalidade.value == 0) { // Brasileiro
            document.getElementById("DivFormNacBrasil").style.visibility = "visible";
            document.getElementById("DivFormNacOutra").style.visibility = "hidden";
        } else {
            document.getElementById("DivFormNacBrasil").style.visibility = "hidden";
            document.getElementById("DivFormNacOutra").style.visibility = "visible";
        }
}


function DataValida(fDataDDMMAA)
{
//alert ('DataValida');
var reDateDDMMAAAA = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;
if  (reDateDDMMAAAA.test(fDataDDMMAA))
    return true;
return false;
}

function GetIndIdCategoria (idCateg)
{
    //alert ('GetIndIdCategoria');
    var jsTabIdCategoriaString=findObj("tabIdCategoria");
    var auxStr = jsTabIdCategoriaString.value;
    var jsTabIdCategoria = new Array();
    jsTabIdCategoria = auxStr.split(':');
    //
    var i=0;
    for (i=0;i<jsTabIdCategoria.length;i++) {
        if  (jsTabIdCategoria[i] == idCateg) {
        return i;
        }
    }
    return -1;
}

function GetIndDataLimite (fDDMMAAA)
{
    var jsTabDataLimiteString=findObj("tabDataLimite");
	if  (jsTabDataLimiteString == null) {
        alert ("Tabela Data Limite é null");
        return -1;
	}
    var auxStr = jsTabDataLimiteString.value;
    var jsTabDataLimite = new Array();
    jsTabDataLimite = auxStr.split(':');
    //
	numData = Number (inverteDataDDMMAAAA(fDDMMAAA));
	//
    var i=0;
    for (i=0;i<jsTabDataLimite.length;i++) {
        if  (jsTabDataLimite[i] >= numData) {
            return i ;
        }
    }
    return -1;
}

function GetCountDataLimite ()
{
    var jsTabDataLimiteString=findObj("tabDataLimite");
	if  (jsTabDataLimiteString == null) {
        alert ("Tabela Data Limite é null");
        return 0;
	}
    var auxStr = jsTabDataLimiteString.value;
    var jsTabDataLimite = new Array();
    jsTabDataLimite = auxStr.split(':');
    //
    return Number (jsTabDataLimite.length);
}

function getValorAPagar(idTabela,idCateg,fDDMMAAAA)
{
    var auxValor = new Number(0);
    var jsTabsPrecoString=findObj("tabsPreco");
    var auxStr = jsTabsPrecoString.value;
    var jsTabsPreco = new AjaxUnserialize(auxStr);
  	var auxTabPreco = "";
  	var indData = new Number(0);
  	var indCateg = new Number(0);
  	if  (idTabela == 2) //Adesoes
	      indCateg = 0;
	  else {
        indCateg = GetIndIdCategoria(idCateg);
        }
  	var countLimite = new Number (GetCountDataLimite());
	  var auxMsg = "";
    for(var i = 0; i < jsTabsPreco.length; i++) {
        // Percorre as tabelas
        var jsTabPreco = new Array();
        jsTabPreco = jsTabsPreco[i];
	    	if  (jsTabPreco[0] == idTabela) {
            var jsTabCateg = new Array();
            // Ocorr 0 so tem em preços
            jsTabCateg = jsTabPreco[2];
            var totCatPreco = new Number(0);
            totCatPreco = jsTabCateg.length++;
            for (var iCat = 0; iCat < totCatPreco; iCat++) {
			          if  (iCat == indCateg) {
//            alert ("indcateg=" + indCateg);
                    var jsTabPrecoCateg = new Array();
                    jsTabPrecoCateg = jsTabCateg[iCat];
         	      		indData = GetIndDataLimite(fDDMMAAAA);
	    		          return jsTabPrecoCateg[indData];
				        }
	          }
        }
    } //for
    return 9999;
}

function atualizaValorAPagar(fIdCateg)
{
//    alert ("atualizaValorAPagar - IdCateg=" + fIdCateg);
    var auxValor = new Number(0);
    var jsTipo=findObj("EditTipo");
    var jsNomeMoeda=findObj("EditNomeMoeda");
    var jsCampoValor=findObj("EditValorAPagar");
    var jsDataInscricao=findObj("EditDataInscricao");
    var jsDataHoje=findObj("dataHojeDDMMAAAA");
    var jsTabMsgDataLimiteString=findObj("tabMsgDataLimite");
    var jsLblMsgDataLimite=findObj("lblMsgDataLimite");
//
    if  (jsCampoValor == null){
        alert ("Campo Valor a Pagar é null");
        return false;
    }
    if  (jsDataHoje == null) {
        alert ("Data Hoje é null");
        return false;
    }
    if  (! (DataValida(jsDataHoje.value))){
        alert ("Data Hoje=" + jsDataHoje.value + " é inválida");
        return false;
    }
    if  (jsDataInscricao == null) {
        alert ("Data Inscrição é null");
        return false;
    }
    var auxDataInsc = "";
    if  (DataValida(jsDataInscricao.value))
        auxDataInsc = jsDataInscricao.value;
    else
        auxDataInsc = jsDataHoje.value;
//  Cálculo do Valor
    auxValor = 0;
    if  ((jsTipo.value == 1) || (jsTipo.value == 3)) { // Tem Pré-Congresso
        auxValor = auxValor + Number (getValorAPagar (1,fIdCateg,auxDataInsc));
    }
    if  ((jsTipo.value == 2) || (jsTipo.value == 3)) { // Tem Pré-Congresso
       var jsCurso1=findObj("EditCurso1");
       if  (jsCurso1.value > 0) {
           auxValor = auxValor + Number (getValorAPagar (2,0,auxDataInsc));
       }
       var jsCurso2=findObj("EditCurso2");
       if  (jsCurso2.value > 0) {
           auxValor = auxValor + Number (getValorAPagar (2,0,auxDataInsc));
       }
    }
/*var jsAco=findObj("EditNomeAco1");
    if  (jsAco != null) {
        if  (jsAco.value != '') { // Tem Acomp1
            auxValor = auxValor + Number (getValorAPagar (2,0,auxDataInsc));
        }
    }
    var jsAco=findObj("EditNomeAco2");
    if  (jsAco != null) {
        if  (jsAco.value != '') { // Tem Acomp2
            auxValor = auxValor + Number (getValorAPagar (2,0,auxDataInsc));
        }
    }
*/
//
    var auxStr = jsTabMsgDataLimiteString.value;
    var jsTabMsgDataLimite = new Array();
    jsTabMsgDataLimite = auxStr.split(':');
	  var indData = new Number (GetIndDataLimite(auxDataInsc));
    var auxMsg = jsTabMsgDataLimite[indData];
    if  (jsNomeMoeda != null) {
        auxMsg = auxMsg + ' - Moeda : ' + jsNomeMoeda.value;
    }
	  jsLblMsgDataLimite.innerHTML = auxMsg;
    jsCampoValor.value = auxValor + ",00";
    return true;
}



