<?php
require_once("../includes/bootstrap2.php");
if (!headers_sent())
    ob_start("ob_gzhandler");
$sesion = new sesion(); // inicio la sesion
$sesion->set('permiso', permisos($_POST['privilegio']));

if (!comprobar_sesion()) {
    mensaje($cleguaje->Phrase('global', 'ses_cad'), $cleguaje->Phrase('project', 'institucion'));
    exit;
}

$academia = bootstrap::initBd($sesion->get('anio'));
$configuracion = $sesion->get('configuracion');
$nombre_grupo = $configuracion['nombres_grupos'];

$tipus = $sesion->get('ac_tipo_user');
$cd_docente = false;
$cdir = -1;
$permisos = str_split($sesion->get('permiso'));
if ($sesion->getVar('cod_cmps.cd_docen') == $tipus) {
    $cd_docente = $sesion->getVar('info_doc.cod_profesor');
    $academia->instruccion('SELECT COUNT(cod_director) AS cn FROM aca_grupos WHERE cod_director=' . $cd_docente . ' LIMIT 1');
    $rg = $academia->extraer_registro();
    $cdir = $rg["cn"];
} elseif ($sesion->getVar('cod_cmps.cd_admin') != $tipus) {
    echo '<div class="alert alert-block">
            <h4>Ups!!</h4>
            Usted no tiene permiso para acceder a este modulo...
    </div>';
    exit();
}

$mayus_nom = $sesion->getVar('configuracion.format_nom');
?>

<script  type="text/javascript">
    $(function() {
        var modulo = "mod_aprueba_est/";
        var objSedes = $("#md_n_txtsedes"),
                objJornadas = $("#md_n_txtjornadas"), objGrupos = $("#md_n_txtgrupo")
        cdsede = "", cdJorn = "", cdGrupo = "", cntTolbar = "", tbl = null, cdR = "", cdC = "";

        var functionsModule = {
            data: null,
            _dtsEstados: {0: "", 2: "Aprobado", 3: "No aprobado"}, // tbl aux_situaca
            _propertyColumns: {
                width: 50,
                formatter: function(value, opt, cel) {
                    var aux = opt.pos - 6;
                    aux = functionsModule.data.nommats[aux].np
                    if (parseFloat(value) <= parseFloat(aux))
                        return '<span class="nota_mala">' + value + "</span>";
                    else
                        return value;
                },
                unformat: null,
                search: false
            },
            _nomCols: function() {
                var nc = ["id", "Nombres y apellidos", "Estado", "Observaciones"];
                var nm = functionsModule.data.nommats;
                for (var i = 0; i < nm.length; i++) {
                    nc.push(nm[i].nm);
                }
                return nc;
            },
            _colModel: function(cols) {
                var cm = [
                    {name: 'id', index: 'id', width: 0, hidden: true, resizable: false},
                    {name: 'nomest', index: 'nomest', width: 230, resizable: false},
                    {name: 'estado', index: 'estado', width: 100, resizable: false, search: false,
                        editable: true, edittype: "select", editoptions: {value: "0:;2:Aprobo;3:No Aprobo"},
                        formatter: function(value, opt, cel) {
                            return '<span cd="' + value + '">' + functionsModule._dtsEstados[value] + '</span>';
                        },
                        unformat: function(value, opt, cel) {
                            return $('span', cel).attr('cd');
                        }
                    },
                    {name: 'observa', index: 'observa', search: false, width: 230, resizable: false, editable: true, edittype: "textarea", editoptions: {rows: "2", cols: "36"}},
                ];
                tam = cols.length;
                for (i = 0; i < tam; i++) {
                    cm.push($.extend({}, functionsModule._propertyColumns, {name: "mat" + i, index: "mat" + i}));
                }
                return cm;
            },
            _columsMat: function() {
                $.ajax({
                    url: modulo + "list_dts_matxest.php",
                    dataType: "json",
                    async: false,
                    beforeSend: function() {
                        $.messager.progress({title: dtsLang['project']['empresa'], msg: dtsLang['globals']['tit_msg_espere']})
                    },
                    data: {cdgr: cdGrupo},
                    success: function(dts) {
                        functionsModule.data = dts
                        $.messager.progress('close');
                    }
                });
                return functionsModule.data;
            },
            _addEventListeners: function() {
                objSedes.on("change", function() {
                    cdsede = $(this).val();
                    $.ajax({
                        type: "GET",
                        url: modulo + "cargar_jornadas.php",
                        beforeSend: function() {
                            $.messager.progress({title: dtsLang['project']['empresa'], msg: dtsLang['globals']['msg_load_jornadas']})
                        },
                        data: {sede: cdsede, cdir: "<?php echo $cdir ?>", opt: "<?php echo $cdir > 0 ? 1 : 0 ?>"},
                        success: function(dt) {
                            $.messager.progress('close');
                            objJornadas.html(dt)
                                    .trigger("change");

                        }
                    });
                }).trigger("change");

                objJornadas.on("change", function() {
                    cdJorn = $(this).val();
                    $.ajax({
                        type: "GET",
                        url: modulo + "cargar_select_grupos.php",
                        data: {sede: cdsede, jornada: cdJorn, dir: "<?php echo $cdir ?>"},
                        beforeSend: function() {
                            $.messager.progress({title: dtsLang['project']['empresa'], msg: dtsLang['globals']['msg_load_grupos']})
                        },
                        success: function(dt) {
                            $.messager.progress('close');
                            objGrupos.html(dt)
                                    .trigger("change");
                        }
                    });
                });

                objGrupos.on("change", function() {
                    $("#nomGrupo").text($("option:selected", this).parent()[0].label);
                    cdGrupo = $(this).val();
                    functionsModule._columsMat();
                    functionsModule.viewGrid();
                });
            },
            init: function() {
                functionsModule._addEventListeners();
            },
<?php if (in_array("M", $permisos)) { ?>
                fnSave: function() {
                    var dts = tbl.getRowData(), data = [], dtan, band = 0;
                    //debo recargar nuevamente los datos anteriores 
                    $.each(dts, function(i, v) {
                        //alert(JSON.stringify(v));
                        band = 0;
                        dtan = functionsModule.data.rows[i];
                        //alert(JSON.stringify(dtan));
                        var dt = {};
                        if (v.observa != dtan.observa) {
                            dt["observa"] = v.observa;
                            band = 1
                        }
                        if (v.estado != dtan.estado) {
                            dt["estado"] = v.estado;
                            band = 1
                        }
                        if (band == 1)
                            dt["id"] = v.id;

                        data.push(dt);
                    });

                    $.ajax({
                        type: "POST",
                        url: modulo + "opera_aprueba_est.php",
                        data: {dts: data},
                        dataType: "json",
                        beforeSend: function() {
                            $.messager.progress({title: dtsLang['project']['empresa'], msg: dtsLang['globals']['tit_msg_espere']})
                        },
                        success: function(rta) {
                            if (!$.validaErrorRta(rta.error, modulo, null)) {
                                notifica_ok("La información se guardo correctamente");
                                $.extend(true, functionsModule.data, dts);
                            }
                            $.messager.progress("close");
                        }
                    });
                },
<?php } ?>
            _tolbar: function() {
                var btnSave, btnEstado;
                cntTolbar.append(
<?php if (in_array("M", $permisos)) { ?>
                    btnSave = $("<button class='btn btn-info btn-small' style='margin:2px'><i class='ui-btn-save icon-white '></i><span>Guardar</span></button>"),
                            btnEstado = $('<select style="float:right"><option value="0" ></option><option value="2">Aprobaron</option><option value="3">No Aprobaron</option></select>'),
                            "<span style='float:right'>Los estudiantes seleccionados:</span>"
<?php } ?>
                );
                btnEstado.on("change", function() {
                    var dts = tbl.getGridParam("selarrrow");
                    var val = $(this).val();
                    $.each(dts, function(i, v) {
                        tbl.setCell(v, 'estado', val, "", false, true);
                    });

                });
<?php if (in_array("M", $permisos)) { ?>
                    btnSave.on("click", function() {
                        tbl.saveCell(cdR, cdC);
                        functionsModule.fnSave();
                    });
<?php } ?>
            },
            viewGrid: function() {
                var idTbl = "list_aprueba_" + Math.ceil(Math.random() * 10000);
                tbl = $('<table id="' + idTbl + '"></table>');
                $("#contenList").empty().append(tbl);
                tbl.jqGrid({
                    height: 400,
                    data: functionsModule.data.rows,
                    width: '890', rowNum: 150,
                    datatype: "local",
                    shrinkToFit: false,
                    rownumbers: true,
                    cellEdit: true,
                    multiselect: true,
                    toolbar: [true, "top"],
                    cellsubmit: "clientArray",
                    colNames: functionsModule._nomCols(),
                    colModel: functionsModule._colModel(functionsModule.data.nommats),
                    beforeEditCell: function(rowid, cellname, value, iRow, iCol) {
                        cdR = iRow;
                        cdC = iCol;
                    },
                    gridComplete: function() {
                        tbl.parents().find(".ui-userdata").css("height", 30);
                    }
                });
                cntTolbar = $("#t_" + idTbl);
                tbl.jqGrid('navGrid', '#pgtoolbar1', {edit: false, add: false, del: false})
                        .filterToolbar();
                functionsModule._tolbar();

            }
        };
        $(document).ready(function() {
            functionsModule.init();
        }); /*fin dom*/
    });
</script>

<table align="center">
    <tr>
        <td>
            <div class="tit1"><?php echo $dtsLang['reportes']['lbl_rep_sede'] ?></div>
            <select name="md_n_txtsedes" class="campos" id="md_n_txtsedes" style="width:250px; " >
                <?php
                $sql = "SELECT DISTINCT  adm_sedes.cod_sede, adm_sedes.nom_sede FROM aca_grupos INNER JOIN adm_sedes ON (aca_grupos.cod_sede = adm_sedes.cod_sede);";
                $academia->instruccion($sql);
                while ($reg = $academia->extraer_registro()) {
                    echo "<option value='" . $reg[cod_sede] . "'>" . $reg[nom_sede] . "</option>";
                }
                $academia->liberar();
                ?>
            </select>
        </td>
        <td><div class="tit1"><?php echo $dtsLang['reportes']['lbl_rep_jornada'] ?></div>
            <select name="md_n_txtjornadas" class="campos" id="md_n_txtjornadas" style="width:160px">
                <option value="0x">Seleccionar...</option>
            </select>
        </td>
        <td><div class="tit1"><?php echo $dtsLang['reportes']['lbl_rep_grupo'] ?>&nbsp;<span class="text4" id="nomGrupo"></span></div>
            <select name="md_n_txtgrupo" class="campos" id="md_n_txtgrupo" style="width:160px">
                <option value="0x">Seleccionar...</option>
            </select>
        </td>        
    </tr>
</table>
<div id="contenList"></div>


