// 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 result = true;
    var obj=findObj('tiposel');
    if  (obj.value < 2) {
        alert("Selecione a sua categoria");
        result = false;
    }
    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 obj=findObj('EditCPF');
        if  ( ! campoVazio(obj.value)) {
            if  ( ! isCpf (obj.value)) {
                try{
                obj.focus();
                }
                catch(ignore){}
                alert("CPF Inválido(a)");
                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('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 obj=findObj('EditCEP');
        if  (campoVazio(obj.value)) {
            try{
            obj.focus();
            }
            catch(ignore){}
            alert("Digite o(a) CEP");
            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('EditCelular');
        if  (campoVazio(obj.value)) {
            try{
            obj.focus();
            }
            catch(ignore){}
            alert("Digite o(a) Celular");
            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  ( ! campoVazio(obj.value)) {
        if  ( ! isEmailValido(obj.value)) {
            try{
            obj.focus();
            }
            catch(ignore){}
            alert("E-mail Inválido");
            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;
            }
        }
    }
    return result;
}


function changeTipo()
// não usado
{
    alert ("passei changeTipo");
    var jsCampoCateg=findObj("EditIdCategoria");
    if  (jsCampoCateg == null) {
        return true;
    } else {
        var jsTipo=findObj("EditTipo");
        jsCampoCateg.value = jsTipo.value - 1;
        changeCategoria();
    }
}

function changeCategoria()
{
//
    var jsCampoCateg=findObj("EditIdCategoria");
    var auxValue = "";
    if  (jsCampoCateg == null) {
        auxValue = "0";
    } else {
        auxValue = jsCampoCateg.value;
    }
//    var jsReq=findObj("EditCRMRequired");
//    if  ((jsCampoCateg.value == 1) || (jsCampoCateg.value == 2)) {
//        jsReq.innerHTML = '<font color="#FF0000">&nbsp;*</font>';
//    } else {
//        jsReq.innerHTML = '';
//    }

    atualizaValorAPagar(auxValue);
}

function loadFormEdita()
{
    if  (EhExclusao())
        return true;
    else {
        var obj=findObj('EditNome');
        try{
        obj.focus();
        }
        catch(ignore){}
        return changeCategoria();
    }
}

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) //Acompanhantes
	      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 jsCampoCateg=findObj("EditIdCategoria");
    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;
    auxValor = auxValor + Number (getValorAPagar (1,fIdCateg,auxDataInsc));
//    if  ((jsTipo.value == 2) || (jsTipo.value == 3)) { // Tem Pré-Congresso
//        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));
	  jsLblMsgDataLimite.innerHTML = jsTabMsgDataLimite[indData];
    jsCampoValor.value = auxValor + ",00";
    return true;
}


