<!-- // INICIO Combobox.js ---------------------------------------------------

// Funciones del modulo:
// - Combobox_ObtenerListaElementos(cboItem, blnSoloSeleccionados)
// - Combobox_Sort(cboItem)
// - Combobox_ElementosEnHilera(cboItem, separadorValores)


    function Combobox_ObtenerListaElementos(cboItem, blnSoloSeleccionados) {
        // Descripcion:   Se obtiene la lista de elementos en un combo.
        // Precondicion:  Requiere de un elemento tipo combobox, además, de un 
        //                valor booleano que indique si la lista retornada solo
        //                debe devolver elementos seleccionados.
        // Postcondicion: Retorna un arreglo, cuyas entradas se componen de dos elementos:
        //                el primero es el value de la opcion y el segundo es el texto mostrado.
        var arrItems = new Array()
        var count = 0

        if (blnSoloSeleccionados) {
            if (cboItem.multiple) {
                for (var i=0; i < cboItem.length; i++)
                    if (cboItem.options[i].selected == true) {
                        arrItems[count] = new Array(2);
                        arrItems[count][0] = cboItem.options[i].value;
                        arrItems[count][1] = cboItem.options[i].text;
                        count++;
                    }
            } else {
                if (cboItem.selectedIndex >= 0) {
                    arrItems[count] = new Array(2);
                    arrItems[count][0] = cboItem.options[cboItem.selectedIndex].value;
                    arrItems[count][1] = cboItem.options[cboItem.selectedIndex].text;
                }
            }
        } else {
            for (var i=0; i < cboItem.length; i++) {
                arrItems[count] = new Array(2);
                arrItems[count][0] = cboItem.options[i].value;
                arrItems[count][1] = cboItem.options[i].text;
                count++;
            }
        }
        return(arrItems);
    }

    function Combobox_ElementosEnHilera(cboItem, separadorValores) {
        var hilera = '';

        for (var i=0; i < cboItem.length; i++)
            if (hilera == '')
                hilera = cboItem.options[i].value;
            else
                hilera += separadorValores + cboItem.options[i].value;
        return hilera;
    }
    
    function Combobox_Sort(cboItem) {
        var indice, limite;
        var elmTemporal;

        // Inicializacion.
        limite = cboItem.length - 1; // Elemento hasta el cual se comparara.
        // Ordenamos los elementos del combo.
        while (limite > 0) {
            for (indice=0; indice < limite; indice++) {
                if (cboItem.options[indice].text > cboItem.options[indice+1].text) {
                    // Intercambiamos los campos value.
                    elmTemporal = cboItem.options[indice].value;
                    cboItem.options[indice].value = cboItem.options[indice+1].value;
                    cboItem.options[indice+1].value = elmTemporal;
                    // Intercambiamos los campos text.
                    elmTemporal = cboItem.options[indice].text;
                    cboItem.options[indice].text = cboItem.options[indice+1].text;
                    cboItem.options[indice+1].text = elmTemporal;
                }
            }
            limite--;
        }
    }


// FINAL Combobox.js ----------------------------------------------------------->
