﻿var app = {};
app.OPCIONES_PROHIBIDAS = [];
app.USER = {};
app.USER.empresa_id = undefined;
app.USER.cdsa_id = undefined;
app.USER.guid = undefined;
app.USER.nit_empresa = undefined;
app.USER.nombre = undefined;
app.USER.nombre_empresa = undefined;
app.USER.tipo_empresa = undefined;
app.USER.username = undefined;
app.USER.IdSesion = undefined;
app.USER.Siogas = undefined;
app.USER.Listado = undefined;
Ext.onReady(function () {
    var medidas = {
        cajas_de_texto: 180
    };
    var txt_nombre_usuario = new Ext.form.TextField({
        id: 'Txt_LoggInUserName',
        width: medidas.cajas_de_texto,
        hideLabel: false,
        allowBlank: false,
        emptyText: "Digite el Nombre de Usuario",
        blankText: "Nombre de Usuario requerido"
    });
    var txt_contraseña = new Ext.form.TextField({
        id: 'Txt_LoggInPassword',
        inputType: 'password',
        width: medidas.cajas_de_texto,
        hideLabel: false,
        allowBlank: false,
        emptyText: "Contraseña",
        blankText: "Contraseña requerida"
    });
    var lbl_nombre_usuario = new Ext.form.FieldSet({
        title: 'Nombre de Usuario:',
        x: 10,
        y: 5,
        items: [txt_nombre_usuario]
    });
    var lbl_contraseña = new Ext.form.FieldSet({
        title: 'Contraseña: ',
        x: 10,
        y: 70,
        items: [txt_contraseña]
    });
    var validar_usuario_seguridad = function (uname, pass) {
            var respu = null;
            $.ajax({
                url: "siogas_seguridad.svc/AllowConnect",
                data: {
                    P_AppName: 'SIOGAS',
                    P_IdApp: 30000,
                    P_IdEntorno: 'OPERACIONAL',
                    P_User: uname,
                    P_PassWord: pass,
                    P_SegundoEntorno: 'Externo'
                },
                method: "GET",
                async: false,
                success: function (data) {
										
					if (data.success == true) {
						respu = data.data;
					}
					else
					{
						Ext.Msg.alert( cgss.UI.titulos.error, cgss.UI.mensajes.error);						
					}
				}
            });
            return respu;
        };
    var trae_id_empresa = function (nit) {
            var respu = null;
            $.ajax({
                url: "siogas_seguridad.svc/Get_CompanyID",
                data: {
                    P_Nit: nit
                },
                method: "GET",
                async: false,
                success: function (res) {
                    respu = res;
                }
            });
            return respu;
        };
    var trae_id_cdsa = function (nit) {
            var respu = null;
            $.ajax({
                url: "siogas_seguridad.svc/Get_Company_CDSA_ID",
                data: {
                    P_Nit: nit
                },
                method: "GET",
                async: false,
                success: function (res) {
                    respu = res;
                }
            });
            return respu;
        };
    var trae_nombre_empresa = function (nit,remi,cdsa) {
            var respu = null;
            $.ajax({
                url: "siogas_seguridad.svc/Get_CompanyNombre",
                data: {
                    P_Nit: nit,
                    P_Remi: remi,
                    P_CDSA: cdsa
                },
                method: "GET",
                async: false,
                success: function (res) {
                    respu = res;
                }
            });
            return respu;
        };
    var trae_datos_usuario = function (uname, extend) {
            var respu = null;
            $.ajax({
                url: "siogas_seguridad.svc/GetExtended",
                data: {
                    P_User: uname,
                    P_ParamExtended: extend
                },
                method: "GET",
                async: false,
                success: function (data) {					
					if (data.success == true) {
                        respu = data.data;
                        if (extend=="nit_empresa"){
                            app.USER.empresa_id = trae_id_empresa(respu);
                            //app.USER.nombre_empresa = trae_nombre_empresa(respu);
                            app.USER.cdsa_id = trae_id_cdsa(respu);
                            app.USER.nombre_empresa = trae_nombre_empresa(respu, app.USER.empresa_id, app.USER.cdsa_id);
                        }
                    }
                    else {
                        Ext.Msg.alert(cgss.UI.titulos.error, cgss.UI.mensajes.error);
                    }
                }
            });
            return respu;
        };
    var trae_nombre_usuario = function (appnam, idsess) {
            var respu = null;
            $.ajax({
                url: "siogas_seguridad.svc/GetAppUserName",
                data: {
                    P_AppName: appnam,
                    P_IdSesion: idsess
                },
                method: "GET",
                async: false,
                success: function (data) {
                    if (data.success == true) {
                        respu = data.data;
                    }
                    else {
                        Ext.Msg.alert(cgss.UI.titulos.error, cgss.UI.mensajes.error);
                    }
                }
            });
            return respu;
        };
    var trae_conexion = function (appnam, idsess) {
            var respu = null;
            $.ajax({
                url: "siogas_seguridad.svc/GetAppConnect",
                data: {
                    P_AppName: appnam,
                    P_IdSesion: idsess
                },
                method: "GET",
                async: false,
                success: function (data) {
					                    
                    if (data.success == true) {
                        respu = data.data;
                    }
                    else {
                        Ext.Msg.alert(cgss.UI.titulos.error, cgss.UI.mensajes.error);
                    }
                }
            });
            return respu;
        };
    var atrapar_ents = function (uname, idsess) {
            var respu = null;
            $.ajax({
                url: "siogas_seguridad.svc/GrabarListado",
                data: {
                    P_AppName: 'SIOGAS',
                    P_IdSesion: idsess,
                    P_IdApp: 30000,
                    P_IdEntorno: 'OPERACIONAL',
                    P_User: uname,
                    P_Opcion: '',
                    P_Operacion: ''
                },
                method: "GET",
                async: false,
                success: function (data) {
					
					 if (data.success == true) {
                        respu = data.data;
                    }
                    else {
                        Ext.Msg.alert(cgss.UI.titulos.error, cgss.UI.mensajes.error);
                    }
                }
            });
            return respu;
        };
    var validar_usuario = function (uname, pass) {
            var user = null;
            $.ajax({
                url: "siogas_aux.svc/validar_usuario",
                data: {
                    username: uname,
                    password: pass
                },
                method: "GET",
                async: false,
                success: function (res) {
                    user = res;
                }
            });
            return user;
        }
    var cargar_default_valores_generales = function () {
            var params = {
                'query': 'formato.identificador=' + "'" + 'DECIMAL' + "'"
            };
            Ext.Ajax.request({
                url: 'siogas_aux.svc/formato_query_get',
                method: 'POST',
                params: Ext.encode(params),
                headers: {
                    "Content-Type": "application/json"
                },
                success: function (response) {
                    var data = Ext.decode(response.responseText);
                    app.default_decimal = data.data[0];
                }
            });
            var params = {
                'query': 'formato.identificador=' + "'" + 'ENTERO' + "'"
            };
            Ext.Ajax.request({
                url: 'siogas_aux.svc/formato_query_get',
                method: 'POST',
                params: Ext.encode(params),
                headers: {
                    "Content-Type": "application/json"
                },
                success: function (response) {
                    data = Ext.decode(response.responseText);
                    app.default_entero = data.data[0];
                }
            });
            var params = {
                'query': 'formato.identificador=' + "'" + 'DATES' + "'"
            };
            Ext.Ajax.request({
                url: 'siogas_aux.svc/formato_query_get',
                method: 'POST',
                params: Ext.encode(params),
                headers: {
                    "Content-Type": "application/json"
                },
                success: function (response) {
                    data = Ext.decode(response.responseText);
                    app.default_fecha = data.data[0];
                }
            });
        }
    var get_ruta_documentacion = function () {
            Ext.Ajax.request({
                url: "siogas_aux.svc/documentacionRuta",
                success: function (res) {
                    app.ruta_documentacion = res.responseText.replace(/\\\//g, "/");
                    app.ruta_documentacion = app.ruta_documentacion.replace(/"/g, '');
                }
            });
        }
    get_ruta_documentacion();
    var cargar_opciones_prohibidas = function (username) {
            $.ajax({
                url: "siogas_aux.svc/opciones_prohibidas",
                data: {
                    username: username
                },
                method: "GET",
                async: false,
                success: function (res) {
                    if (res != null) {
                        Ext.each(res, function (el, i) {
                            app.OPCIONES_PROHIBIDAS.push(el);
                        })
                    }
                }
            })
        }
    var cargar_interfaz_inicio = function () {
            app.Contenedor.destroy();
            cgss.UI.include("default.js");
            cgss.UI.include("javascript/PagingAjaxRequestPostToolBar.js");
        }
    var btn_aceptar = new Ext.Button({
        id: 'Btn_LoggIn_Aceptar',
        text: 'Iniciar Sesión',
        x: 110,
        y: 150,
        //icon: 'images/folder_go.png',
        minWidth: 100,
        listeners: {
            'click': function (btn, evt) {
                var user = txt_nombre_usuario.getValue();
                var pass = txt_contraseña.getValue();
                if (user == "") {
                    Ext.Msg.alert("NTGAS 2.0", "Por favor digite su Nombre de Usuario");
                } else if (pass == "") {
                    Ext.Msg.alert("NTGAS 2.0", "Por favor digite la contraseña");
                } else {
                    //var user = validar_usuario(user, pass);
                    var IdSes = validar_usuario_seguridad(user, pass);
                    //{"empresa_id":14,"guid":"0","nit_empresa":"8901055263","nombre":"Felix Augusto Vargas","nombre_empresa":"Promigas S.A","tipo_empresa":"remitente","username":"fvargas"}
                    //if (user != "" && user != null) {
                    if (IdSes != 0 && IdSes != null) {
                        //app.USER = user;
                        //app.USER.empresa_id = trae_datos_usuario(user, "id_empresa");
                        app.USER.guid = "0";
                        app.USER.nit_empresa = trae_datos_usuario(user, "nit_empresa");
                        app.USER.nombre = trae_nombre_usuario("SIOGAS", IdSes);
                        //app.USER.nombre_empresa = trae_datos_usuario(user, "nombre_empresa");
                        app.USER.tipo_empresa = trae_datos_usuario(user, "tipo_empresa");
                        app.USER.username = user;
                        app.USER.IdSesion = IdSes;
                        app.USER.Siogas = trae_conexion("SIOGAS", IdSes);
                        app.USER.Listado = atrapar_ents(app.USER.username, app.USER.IdSesion);
                        //cargar_opciones_prohibidas(app.USER.username);
                        cargar_default_valores_generales();
                        cargar_interfaz_inicio();
                    } else {
                        txt_nombre_usuario.focus();
                        Ext.Msg.alert(cgss.UI.titulos.error, cgss.UI.titulos.error_login);
                    }
                }
            }
        }
    });
    var btn_cancelar = new Ext.Button({
        text: 'Cancelar',
        x: 220,
        y: 150,
        //icon: 'images/cancel.png',
        minWidth: 100,
        handler: function () {
            var frm = form.getForm();
            frm.reset();
            frm.clearInvalid();
            txt_nombre_usuario.focus();
        }
    });
    var form = new Ext.form.FormPanel({
        baseCls: 'x-plain',
        layout: 'absolute',
        items: [lbl_nombre_usuario, lbl_contraseña, btn_aceptar, btn_cancelar]
    });
    var window = new Ext.Panel({
        width: 340,
        height: 600,
        layout: 'fit',
        border: false,
        margins: "5 5 5 5",
        items: [form],
        padding: '5',
        pack: 'center',
        align: 'middle'
    });
    var Pnl_up = new Ext.Panel({
        region: "north",
        //autoHeiht: true,
        height: 200,
        border: false,
        //html: '<br><br><br><p align = "center"><font size = +3 color="#0B0B61" FACE="Arial, Helvetica, Sans-serif">:: Siogas :: Sistema Integrado Operacional de Gas ::<br> Promigas S.A.</font></p>',
        //html: '<br><br><br><p align = "center"><font size = +3 color="#0B0B61" FACE="Arial, Helvetica, Sans-serif"><b>:: NTGAS 2.0 ::<br>:: Sistema Integrado Operacional de Gas ::<br></b></font></p>',
        //html: "<p align = 'center'><img src = 'images/siogas_azul.jpg' style='margin: 25px;'/></p>",
        html: "<p align = 'center'><img src = 'images/logo_ntgas.jpg' style='margin: 25px;'/></p>",
        //html: "<p align = 'center'><img src = 'images/siogas_azul.jpg'/></p>",
        //file:///c:/Work/Siogas/siogas/siogas2/Images/siogas_azul.jpg
        margins: "0 0 0 0"
    });
    var Pnl_center = new Ext.Panel({
        region: "center",
        layout: 'hbox',
        items: [window],
        border: false,
        layoutConfig: {
            padding: '85',
            pack: 'center',
            align: 'middle'
        }
    });
    var Pnl_down = new Ext.Panel({
        region: "south",
        height: 45,
        border: true,
        //html: '<br><p align="center"><font size="-2" FACE="Arial, Helvetica, Sans-serif">Powered by: CompGenioss™ Version 1.0 Copyright © 2010 CompGenioss ltda. All rights reserved.</font></p>',
        //html: '<br><p align="center"><font size="-2" FACE="Arial, Helvetica, Sans-serif">Desarrollado por: CompGenioss Ltda. 2010</font></p>',
        //<img src = "images/comp.jpg" height=12/>
        html: '<p align="center"><font size="-2" FACE="Arial, Helvetica, Sans-serif">Se recomienda utilizar Firefox, Google Chrome, Internet Explorer 9.0 o superior<br>© 2011, PROMIGAS S.A. E.S.P. Todos los derechos reservados. All rights reserved.<br>Desarrollado por <a href="http://www.compgenioss.com" target="new">CompGenioss Ltda</a></font></p>',
        margins: "0 0 0 0"
    });
    app.Contenedor = new Ext.Viewport({
        layout: "border",
        margins: "5 5 5 5",
        items: [Pnl_center, Pnl_down, Pnl_up]
    });
    Ext.getCmp('Txt_LoggInUserName').focus(true);
    Ext.getCmp('Txt_LoggInPassword').on({
        'specialkey': function (field, e) {
            if (e.getKey() == e.ENTER) {
                Ext.getCmp('Btn_LoggIn_Aceptar').fireEvent('click');
            }
        }
    });
});
