﻿

var libres = function () {

    function libresTramitesInicializar() {    
        var comboDireccion = '.tramiteComboDireccion';
        var pagina = '/es/seccion/40-h.json';

        $(comboDireccion).change(function () {
            libres.tramitesCargar($(this).val());
        });

        obtenerDatosSeccion(pagina, comboDireccion, 'Seleccione una Dirección...');
    }

    function libresTramitesCargar(direccionId) {
        var comboDireccion = '.tramiteComboTramite';
        var pagina = String.format('/es/seccion/{0}.json', direccionId);

        $(comboDireccion).change(function () {
            $('.tramiteCargando').show();
            libres.tramiteIr($(this).val());
        });

        obtenerDatosArticulos(pagina, comboDireccion, 'Seleccione un Trámite...');
    }

    function libresArticuloUrlIr(url) {
        if (url != null && url != '') {
            window.location.href = url;
        }
    }


    function obtenerDatosSeccion(pagina, comboSelector, textoSeleccione) {

        $(comboSelector).find('option').remove();
        $(comboSelector).append($('<option></option>').val('').html('Cargando...'));
        $(comboSelector).attr('disabled', 'disabled');

        $.getJSON(pagina, function (datosJson) {

            $(comboSelector).find('option').remove();

            $(comboSelector).append($('<option></option>').val('').html(textoSeleccione));

            $.each(datosJson, function (i, item) {
                $(comboSelector).append($('<option></option>').val(item.seccionId).html(item.titulo));
            });

            $(comboSelector).removeAttr('disabled');

        });

    }

    function obtenerDatosArticulos(pagina, comboSelector, textoSeleccione) {

        $(comboSelector).find('option').remove();
        $(comboSelector).append($('<option></option>').val('').html('Cargando...'));
        $(comboSelector).attr('disabled', 'disabled');

        $.getJSON(pagina, function (datosJson) {

            $(comboSelector).find('option').remove();

            $(comboSelector).append($('<option></option>').val('').html(textoSeleccione));

            $.each(datosJson, function (i, item) {
                $(comboSelector).append($('<option></option>').val(item.enlace).html(item.titulo));
            });

            $(comboSelector).removeAttr('disabled');

        });

    }


    //------------------------------------------------------------------
    //Programas


    function libresProgramasInicializar() {    
        var comboDireccion = '.programaComboDireccion';
        var pagina = '/es/seccion/51-h.json';

        $(comboDireccion).change(function () {
            libres.programaCargar($(this).val());
        });

        obtenerDatosSeccion(pagina, comboDireccion, 'Seleccione una Dirección...');
    }

    function libresProgramasCargar(direccionId) {
        var comboPrograma = '.programaComboPrograma';
        var pagina = String.format('/es/seccion/{0}.json', direccionId);

        $(comboPrograma).change(function () {
            $('.programaCargando').show();
            libres.programaIr($(this).val());
        });

        obtenerDatosArticulos(pagina, comboPrograma, 'Seleccione un Programa...');
    }




    return {
        tramitesInicializar: function () {
            return libresTramitesInicializar();
        },
        tramitesCargar: function (direccionId) {
            return libresTramitesCargar(direccionId);
        },
        tramiteIr: function (tramiteUrl) {
            return libresArticuloUrlIr(tramiteUrl);
        },
        programasInicializar: function () {
            return libresProgramasInicializar();
        },
        programaCargar: function (direccionId) {
            return libresProgramasCargar(direccionId);
        },
        programaIr: function (programaUrl) {
            return libresArticuloUrlIr(programaUrl);
        }
    };
} ();

