﻿var objCidade = null;
var objEspecialidade = null;

var cbcidade = {
    success: function(o) {
        var strReturn = o.responseText;
        try {
            var jsReturn = YAHOO.lang.JSON.parse(strReturn);
        }
        catch (cj) {
            YAHOO.util.Dom.get("lyCidade").innerHTML = 'Ocorreu um erro ao obter as cidades do serviço selecionado.';
            objCidade = null;
            return;
        }
        var codReturn = jsReturn.codeReturn;

        if (codReturn == '1') {
            var f = document.forms[0];
            var arrCidades = jsReturn.records;
            var j = arrCidades.length;
            var i;

            f.ddlSaudeCidades.length = 0;
            f.ddlSaudeCidades.options[0] = new Option('Selecione', 0);
            for (i = 0; i < j; i++) {
                f.ddlSaudeCidades.options[f.ddlSaudeCidades.length] = new Option(arrCidades[i].dsc, arrCidades[i].id);
            }
        }
        else if (codReturn == '0') {
            f.ddlSaudeCidades.length = 0;
            f.ddlSaudeCidades.options[0] = new Option('Selecione', 0);
        }
        else {
            f.ddlSaudeCidades.length = 0;
            f.ddlSaudeCidades.options[0] = new Option('Selecione', 0);
            YAHOO.util.Dom.get("lyCidade").innerHTML = 'Ocorreu um erro ao obter as cidades do serviço selecionado.';
        }
        objCidade = null;
    },
    failure: function(o) {
        var status = o.status;
        YAHOO.util.Dom.get("lyCidade").innerHTML = 'Ocorreu um erro ao obter as cidades do serviço selecionado.';
        objCidade = null;
    }
}

function getSaudeCidades(obj) {

    var codServico, txtServico;
    var f = document.forms[0];

    codServico = obj.options[obj.selectedIndex].value;

    f.ddlSaudeCidades.length = 0;
    f.ddlSaudeEspecialidades.length = 0;
    f.ddlSaudeCidades.options[0] = new Option('Escolha', 0);
    f.ddlSaudeEspecialidades.options[0] = new Option('Escolha', 0);

    YAHOO.util.Dom.get("lyServico").innerHTML = '';
    YAHOO.util.Dom.get("lyCidade").innerHTML = '';
    YAHOO.util.Dom.get("lyEspecialidade").innerHTML = '';

    if (codServico == "0") {
        return;
    }

    if (objCidade != null) {
        var callStatus = YAHOO.util.Connect.isCallInProgress(objCidade);
        if (callStatus) {
            YAHOO.util.Dom.get("lyCidade").innerHTML = 'Processo em andamento...';
            return;
        }
    }
    var strPost = "s=" + codServico;
    if (typeof (document.forms[0]["ctl00$ContentPlaceHolder1$hdnRegionalSaude"]) == "object") {
        strPost += "&r=" + document.forms[0]["ctl00$ContentPlaceHolder1$hdnRegionalSaude"].value;
    }
    objCidade = YAHOO.util.Connect.asyncRequest('POST', '../convenios/getSaudeCidades.aspx', cbcidade, strPost);

}


var cbespecialidade = {
    success: function(o) {
        var strReturn = o.responseText;
        try {
            var jsReturn = YAHOO.lang.JSON.parse(strReturn);
        }
        catch (cj) {
            YAHOO.util.Dom.get("lyEspecialidade").innerHTML = 'Ocorreu um erro ao obter as especialidades;';
            objCidade = null;
            return;
        }
        var codReturn = jsReturn.codeReturn;
        var strMsg = jsReturn.msg;

        if (codReturn == '1') {
            var f = document.forms[0];
            var arr = jsReturn.records;
            var j = arr.length;
            var i;

            f.ddlSaudeEspecialidades.length = 0;
            f.ddlSaudeEspecialidades.options[0] = new Option('Selecione', 0);
            for (i = 0; i < j; i++) {
                f.ddlSaudeEspecialidades.options[f.ddlSaudeEspecialidades.length] = new Option(arr[i].dsc, arr[i].id);
            }
        }
        else {
            YAHOO.util.Dom.get("lyEspecialidade").innerHTML = 'Ocorreu um erro ao obter as especialidades.';
        }
        objCidade = null;
    },
    failure: function(o) {
        var status = o.status;

        YAHOO.util.Dom.get("lyEspecialidade").innerHTML = 'Ocorreu um erro ao obter as especialidades .';
        objCidade = null;
    }
}

function getSaudeEspecialidades(obj) {

    var codCidade, codServico;
    var f = document.forms[0];

    codCidade = obj.options[obj.selectedIndex].value;
    codServico = f["ctl00$ContentPlaceHolder1$ddlSaudeServico"].options[f["ctl00$ContentPlaceHolder1$ddlSaudeServico"].selectedIndex].value;
    f.ddlSaudeEspecialidades.length = 0;
    f.ddlSaudeEspecialidades.options[0] = new Option('Escolha', 0);

    YAHOO.util.Dom.get("lyCidade").innerHTML = '';
    YAHOO.util.Dom.get("lyEspecialidade").innerHTML = "";

    if (codCidade == "0") {
        return;
    }

    if (objEspecialidade != null) {
        var callStatus = YAHOO.util.Connect.isCallInProgress(objEspecialidade);
        if (callStatus) {
            YAHOO.util.Dom.get("lyEspecialidade").innerHTML = 'Processo em andamento...';
            return;
        }
    }

    var strPost = "s=" + codServico + "&c=" + codCidade;
    if (typeof (document.forms[0]["ctl00$ContentPlaceHolder1$hdnRegionalSaude"]) == "object") {
        strPost += "&r=" + document.forms[0]["ctl00$ContentPlaceHolder1$hdnRegionalSaude"].value;
    }
    objEspecialidade = YAHOO.util.Connect.asyncRequest('POST', '../convenios/getSaudeEspecialidade.aspx', cbespecialidade, strPost);

}


var objConvenios = null;
var cbConvenios = {
    success: function(o) {
        try {
            var jsReturn = YAHOO.lang.JSON.parse(o.responseText);
        }
        catch (cj) {
            objConvenios = null;
            YAHOO.util.Dom.get("lySaude").innerHTML = 'Ocorreu um erro ao obter os convênios. Por favor, tente novamente mais tarde.';
            return;
        }
        var codReturn = jsReturn.codeReturn;

        if (codReturn == '1') { // ok
            var arr = jsReturn.arr;
            var i;
            var arrLength = arr.length;
            var f = document.forms[0];
            var strTelefone = "";
            var strAnd = "";
            var strSite = "";
            var rgCrLf = /\n/gi;
            var sb = new StringBuilder("");
            var idAnt = '0';
            var idEndAnt = '0';
            var bolEndereco = false;
            var bolTelefone = false;

            if (arrLength == 0 || jsReturn.total == '0') {
                YAHOO.util.Dom.get("lySaude").innerHTML = "<br /><div class=\"vermelho\">Não encontramos nenhum convênio com os parâmetros escolhidos.</div>";
            }
            else {
                // id, seq, nm, end, enum, ebai, uf, ddd, tel, ramal, tpo, teltpo
                for (i = 0; i < arrLength; i++) {
                    bolEndereco = false;
                    bolTelefone = false;
                    if (idAnt != arr[i].id) {
                        if (i > 0) {
                            sb.append("<hr size=\"1\" color=\"#01478c\" style=\"color:#01478c; height:1px;\">");
                        }
                        idAnt = arr[i].id;
                        idEndAnt = arr[i].seq;
                        sb.append("<div class=\"azul\" style=\"font-weight:bold;\">");
                        sb.append(arr[i].nm);
                        sb.append("</div>");
                        bolEndereco = true;
                        bolTelefone = true;
                        strTelefone = "<br />Telefone: ";
                    }
                    else if (idAnt == arr[i].id && idEndAnt != arr[i].seq) {
                        idEndAnt = arr[i].seq;
                        bolEndereco = true;
                        bolTelefone = true;
                        strTelefone = "<br />Telefone: ";
                        sb.append("<br /><br />");
                    }
                    else if (idAnt == arr[i].id && idEndAnt == arr[i].seq) {
                        bolEndereco = false;
                        bolTelefone = true;
                        if (arr[i].tel != "0") {
                            strTelefone = " / ";
                        }
                    }

                    if (bolEndereco) {
                        sb.append(arr[i].end);
                        sb.append(", ");
                        sb.append(arr[i].num);
                        if (arr[i].ecom != " ") {
                            sb.append(" - ");
                            sb.append(arr[i].ecom);
                        }
                        if (arr[i].bairro != "") {
                            sb.append("<br />");
                            sb.append(arr[i].bairro);
                        }
                    }
                    if (bolTelefone) {
                        if (arr[i].tel != "0") {
                            if (arr[i].teltpo == "9" || arr[i].teltpo == "14") {
                                strTelefone += '0800-';
                                strTelefone += arr[i].tel;
                            }
                            else if (arr[i].teltpo == "13") {
                                strTelefone += '0300-';
                                strTelefone += arr[i].tel;
                            }
                            else {
                                if (arr[i].ddd != "") {
                                    strTelefone += "(" + arr[i].ddd + ") ";
                                }
                                if (arr[i].tel != "0" && arr[i].tel.length > 4) {
                                    strTelefone += arr[i].tel.substring(0, arr[i].tel.length - 4);
                                    strTelefone += "-";
                                    strTelefone += arr[i].tel.substring(arr[i].tel.length - 4);
                                }
                            }

                            if (arr[i].ramal != "0") {
                                strTelefone += " ramal " + arr[i].ramal;
                            }
                            sb.append(strTelefone);
                        }
                    }

                }
                sb.append("<br /><br /><br />");
                YAHOO.util.Dom.get("lySaude").innerHTML = sb.toString();
            }
            sb.clear();
            sb = null;

            var sbPaginacao = new StringBuilder("");
            var numPagina = parseInt(jsReturn.page, 10);
            var numMaxPagina = parseInt(jsReturn.maxPage, 10);

            if (numMaxPagina > 1) {
                var numLimiteInferior = numPagina - 10;
                var numLimiteSuperior = 20;

                if (numLimiteInferior < 1) {
                    numLimiteInferior = 1;
                }
                numLimiteSuperior = numLimiteInferior + 20;
                if (numLimiteSuperior > numMaxPagina) {
                    numLimiteSuperior = numMaxPagina;
                }
                if (numLimiteInferior > 1) {
                    sbPaginacao.append("<a href=\"javascript:listaProfissionais('1');\">1</a>");
                }
                if (numLimiteInferior > 2) {
                    sbPaginacao.append(" ... &nbsp; ");
                }
                for (i = numLimiteInferior; i <= numLimiteSuperior; i++) {
                    if (i == numPagina) {
                        sbPaginacao.append("<a href=\"javascript:listaProfissionais('");
                        sbPaginacao.append(i.toString());
                        sbPaginacao.append("');\" class=\"on\">");
                        sbPaginacao.append(i.toString());
                        sbPaginacao.append("</a>");
                    }
                    else {
                        sbPaginacao.append("<a href=\"javascript:listaProfissionais('");
                        sbPaginacao.append(i.toString());
                        sbPaginacao.append("');\">");
                        sbPaginacao.append(i.toString());
                        sbPaginacao.append("</a>");
                    }
                }

                if ((numLimiteSuperior + 1) < numMaxPagina) {
                    sbPaginacao.append(" ... ");
                }
                if (numLimiteSuperior < numMaxPagina) {
                    sbPaginacao.append("<a href=\"javascript:listaProfissionais('");
                    sbPaginacao.append(numMaxPagina.toString());
                    sbPaginacao.append("');\">");
                    sbPaginacao.append(numMaxPagina.toString());
                    sbPaginacao.append("</a>");
                }
            }
            YAHOO.util.Dom.get("lySaudePaginacao").innerHTML = sbPaginacao.toString();
            YAHOO.util.Dom.get("lySaudePaginacaoTop").innerHTML = sbPaginacao.toString();
            sbPaginacao.clear();
            sbPaginacao = null;
        }
        else if (codReturn == '2') {
            YAHOO.util.Dom.get("lySaude").innerHTML = 'Ocorreu um erro ao obter os convênios. Por favor, tente novamente mais tarde ..';
        }
        else {
            YAHOO.util.Dom.get("lySaude").innerHTML = 'Ocorreu um erro ao obter os convênios. Por favor, tente novamente mais tarde.';
        }
        objConvenios = null;
    },
    failure: function(o) {
        var status = o.status;
        var strStatus = getStrErrAjax(status);
        YAHOO.util.Dom.get("lySaude").innerHTML = 'Ocorreu um erro ao obter os convênios desejados. Por favor, tente novamente mais tarde .';
        objConvenios = null;
    }
};

function listaProfissionais(numPagina) {

    var f = document.forms[0];

    YAHOO.util.Dom.get("lyServico").innerHTML = '';
    if (f["ctl00$ContentPlaceHolder1$ddlSaudeServico"].selectedIndex == 0) {
        YAHOO.util.Dom.get("lyServico").innerHTML = 'Escolha o serviço desejado';
        return;
    }
    else {
        YAHOO.util.Dom.get("lyServico").innerHTML = '';
    }

    YAHOO.util.Dom.get("lyCidade").innerHTML = '';
    if (f.ddlSaudeCidades.selectedIndex == 0) {
        YAHOO.util.Dom.get("lyCidade").innerHTML = 'Escolha uma cidade';
        return;
    }
    else {
        YAHOO.util.Dom.get("lyCidade").innerHTML = '';
    }
    YAHOO.util.Dom.get("lyEspecialidade").innerHTML = "";

    var codServico = f["ctl00$ContentPlaceHolder1$ddlSaudeServico"].options[f["ctl00$ContentPlaceHolder1$ddlSaudeServico"].selectedIndex].value;
    var codMunicipio = f["ddlSaudeCidades"].options[f["ddlSaudeCidades"].selectedIndex].value;
    var codEspecialidade = f["ddlSaudeEspecialidades"].options[f["ddlSaudeEspecialidades"].selectedIndex].value;

    if (objConvenios != null) {
        if (YAHOO.util.Connect.isCallInProgress(objConvenios)) {
            return;
        }
    }

    var strPost = "s=" + codServico + '&c=' + codMunicipio + '&e=' + codEspecialidade + '&p=' + numPagina;
    if (typeof (document.forms[0]["ctl00$ContentPlaceHolder1$hdnRegionalSaude"]) == "object") {
        strPost += "&r=" + document.forms[0]["ctl00$ContentPlaceHolder1$hdnRegionalSaude"].value;
    }
    YAHOO.util.Dom.get("lySaude").innerHTML = '<img src=\"../imgs/spinner.gif\" width=\"16\" height=\"16\" alt=\"\" /> Carregando a lista de convênios...';
    objConvenios = YAHOO.util.Connect.asyncRequest('POST', '../convenios/getSaudeConvenios.aspx', cbConvenios, strPost); 

}

