﻿Ext.onReady(function() {
    Ext.QuickTips.init();
    Ext.form.Field.prototype.msgTarget = 'qtip';

    var stoCidade = new Ext.data.Store({
        proxy: new Ext.data.HttpProxy({ url: 'getData.aspx?Lista=Cidade' }),
        reader: new Ext.data.JsonReader({}, ['CIDADEUF', 'CIDADEUF']),
        remoteSort: true
    });
    stoCidade.load();

    var stoEspecialidade = new Ext.data.Store({
        proxy: new Ext.data.HttpProxy({ url: 'getData.aspx?Lista=Especialidade' }),
        reader: new Ext.data.JsonReader({}, ['ESPECIALIDADE', 'ESPECIALIDADE']),
        remoteSort: true
    });
    stoEspecialidade.load();

    var FormEncontreMedico = new Ext.form.FormPanel({
        id: 'FormEncontreMedico',
        labelWidth: 1,
        width: 180,
        border: false,
        frame: false,
        renderTo: 'encontre_medico',
        bodyStyle: 'background-color:transparent;',
        items: [
            new Ext.form.ComboBox({
                triggerAction: 'all',
                store: stoCidade,
                id: 'cmbCidade',
                fieldLabel: '',
                labelSeparator: '',
                emptyText: 'Todas Cidades',
                displayField: 'CIDADEUF',
                valueField: 'CIDADEUF',
                typeAhead: true,
                width: 165,
                mode: 'local',
                listWidth: 200,
                listAlign: 'tr-br',
                forceSelection: true,
                selectOnFocus: true,
                lazyRender: true,
                listClass: 'ajusta_lista',
                tabIndex: 1
            }),
            new Ext.form.ComboBox({
                triggerAction: 'all',
                store: stoEspecialidade,
                id: 'cmbEspecialidade',
                fieldLabel: '',
                labelSeparator: '',
                emptyText: 'Todas Especialidades',
                displayField: 'ESPECIALIDADE',
                valueField: 'ESPECIALIDADE',
                typeAhead: true,
                width: 165,
                mode: 'local',
                listWidth: 300,
                listAlign: 'tr-br',
                forceSelection: true,
                selectOnFocus: true,
                lazyRender: true,
                listClass: 'ajusta_lista',
                tabIndex: 2
            }),
            new Ext.form.TextField({
                id: 'txtMedico',
                labelSeparator: '',
                fieldLabel: '',
                emptyText: 'Nome do Médico',
                width: 165,
                tabIndex: 3
            })
        ],
        buttons: [
            new Ext.Button({
                id: 'limparMedico',
                text: 'Limpar',
                tooltip: 'Limpar',
                tabIndex: 5,
                handler: function() {
                    FormEncontreMedico.getForm().reset();
                }
            }),
            new Ext.Button({
                id: 'enviarMedico',
                text: 'Buscar',
                tooltip: 'Buscar',
                minWidth: 40,
                tabIndex: 4,
                handler: function() {
                    if (FormEncontreMedico.form.isValid()) {
                        var qryStr = '';

                        var cmbCidade = Ext.getCmp('cmbCidade');
                        if (cmbCidade.getValue() != '') {
                            qryStr += 'cmbCidade=' + cmbCidade.getValue() + '&';
                        }

                        var cmbEspecialidade = Ext.getCmp('cmbEspecialidade');
                        if (cmbEspecialidade.getValue() != '') {
                            qryStr += 'cmbEspecialidade=' + cmbEspecialidade.getValue() + '&';
                        }

                        var txtMedico = Ext.getCmp('txtMedico');
                        if (txtMedico.getValue() != '') {
                            qryStr += 'txtMedico=' + txtMedico.getValue() + '&';
                        }

                        if (qryStr != '') {
                            qryStr = qryStr.substring(0, qryStr.length - 1);
                            window.location.href = 'Encontre_seu_medico.aspx?' + qryStr.toString();
                        } else {
                            Ext.Msg.alert('Bensaúde - Informação', 'Por favor, filtre sua pesquisa com pelo menos um campo.');
                        }
                    }
                }
            })

        ]
    });

    var arr = new Array();
    var qryStr = window.location.search.substring(1);

    if (qryStr != '') {
        var vars = qryStr.split('&');

        if (vars.length > 0) {
            for (var i = 0; i < vars.length; i++) {
                arr[i] = vars[i].split('=');
                arr[i] = arr[i].toString().replace(',', '*');
            }

            stoCidade.load({
                callback: function() {
                    for (var i = 0; i < arr.length; i++) {
                        var x = arr[i].toString().split('*');
                        if (x[0].toString() == 'cmbCidade') {
                            var cmbCidade = Ext.getCmp('cmbCidade');
                            cmbCidade.setValue(x[1].toString());
                        }
                    }
                }
            });

            stoEspecialidade.load({
                callback: function() {
                    for (var i = 0; i < arr.length; i++) {
                        var x = arr[i].toString().split('*');
                        if (x[0].toString() == 'cmbEspecialidade') {
                            var cmbEspecialidade = Ext.getCmp('cmbEspecialidade');
                            cmbEspecialidade.setValue(x[1].toString());
                        }
                    }
                }
            });

            for (var i = 0; i < arr.length; i++) {
                var x = arr[i].toString().split('*');
                if (x[0].toString() == 'txtMedico') {
                    var txtMedico = Ext.getCmp('txtMedico');
                    txtMedico.setValue(x[1].toString());
                }
            }
        }
    }
});