var editIndex = undefined;






function PoblarDatosRepartidorCiente(cliente_id) {
    //busco la zona del cliente y con eso le asigno el repartidor de la zona, si hay mas de uno elijo random
    $('#cmbRepartidor').combo('clear');
    var url = 'http://i-consorcio.com.ar/dp2017/jquery/contratos/get_combo_repartidor_cliente.php?id=' + cliente_id;
    $('#cmbRepartidor').combobox('reload', url);
}


function AgregarProducto() {
    var precio;
    var node;
    $.getJSON("http://i-consorcio.com.ar/dp2017/jquery/contratos/productos.php?soloProducto=2&id=" + $("#selProd").val(),
        function(data) {
            node = data;
            //En la variable yaCargado meto todos los registros que ya estan en el tgdetalle
            $('#tgdetalle').treegrid('selectAll');
            var yaCargado = $('#tgdetalle').treegrid('getSelections');

            //en la variabe renglon meto el id del producto que estoy leyendo
            var renglon = node[0].id;
            if (node) {
                //luego de validar que vino algo tomo de la grilla los regitros roots para saber realmente cuantos productos hay ya cargados
                var renglones = $('#tgdetalle').treegrid('getRoots');
                var cantRenglones = renglones.length + 1;
                //modifico el id del node para formar el id compuesto por el renglon + producto_id + adicional_id
                node[0].id = cantRenglones + "." + node[0].id;
                jQuery.each(node[0].children, function(i, val) {
                    val.id = cantRenglones + "." + val.id;
                });

                var adicionales = node[0].children;
                //el nodo con el id modificado se lo sumo a lo que ya existe (leido en la variable yaCargado)
                $('#tgdetalle').treegrid('append', {
                    parent: yaCargado.target,
                    data: node
                });

                RefrescarDetalle();
                refrescarTotales();

                $('#tgdetalle').treegrid('collapseAll');

                node = null;
            }

        });


    //cargo el nodo para el append

}

function QuitarProducto() {
    /**
     * @llama a la rutina de borrar registro cabecera y asociados
     *
     * @author 	MP
     * @version 	20141029
     */
    var registro;
    var hay = 0;
    $('#tgdetalle').treegrid('selectAll');
    var row = $('#tgdetalle').treegrid('getSelections');
    if (row) {
        $.messager.confirm('Confirme por favor..', '¿Seguro de Borrar este/os registro/s?', function(r) {
            if (r) {
                hay = 1;
                while (hay == 1) {
                    hay = 0;
                    $.each(row, function(idx, obj) {
                        $.each(obj, function(key, value) {
                            if (key == 'checkState' && value == 'unchecked') {
                                $('#tgdetalle').treegrid('remove', obj.id);
                                hay = 1;

                            }
                            if (hay == 1) { return false }
                            //alert(key + ": " + value);
                        });
                        if (hay == 1) { return false }
                    });
                };
                RefrescarDetalle();
                refrescarTotales();

            }
        });
    }


}

function RefrescarDetalle() {
    var precio = 0;
    var hay = 0;
    var tarjeta = $('#sbTarjeta').switchbutton('options').checked
    if (tarjeta == null) { return (true) }

    $('#tgdetalle').treegrid('selectAll');
    var row = $('#tgdetalle').treegrid('getSelections');
    if (row) {
        hay = 1;
        while (hay == 1) {
            hay = 0;
            $.each(row, function(idx, obj) {
                if (tarjeta) {
                    if (row[idx].precio_tarjeta == null) {
                        precio += parseInt(row[idx].preciounitario);
                    } else {
                        precio += parseInt(row[idx].precio_tarjeta);
                    }

                } else {
                    precio += parseInt(row[idx].preciounitario);
                }
            });
        };
        $("#subtotal").val(precio);

    }
}

function refrescarTotales() {
    RefrescarDetalle();
    var precio = $("#subtotal").val();
    var envio = $("#recargoEnvio").val();
    var armado = $("#recargoArmado").val();
    var escalera = $("#recargoEscalera").val();


    var total = parseInt(precio) + parseInt(envio) + parseInt(armado) + parseInt(escalera)
    $("#total").val(total);
}

function RecargoTarjeta() {
    RefrescarDetalle();

    refrescarTotales();
}

function RecargoEnvio() {
    if ($('#sbEnvio').switchbutton('options').checked) {

        var flete = $("#txtFlete").val()
        $("#recargoEnvio").val(flete);

    } else {
        $("#recargoEnvio").val(0);

    }
    refrescarTotales();
}

function RecargoArmado() {
    if ($('#sbArmado').switchbutton('options').checked) {
        $("#recargoArmado").val(900);
    } else {
        $("#recargoArmado").val(0)
    }
    refrescarTotales();
}


function RecargoEscalera() {
    if ($('#sbEscalera').switchbutton('options').checked) {
        $("#recargoEscalera").val(1000);
    } else {
        $("#recargoEscalera").val(0);
    }
    refrescarTotales();
}




function validoCombo(comboName) {

    var aux = $(comboName).combobox('getValue');
    if (isNaN(aux) || (aux == "")) {
        return false;
    } else {
        return true;
    };

}


function validoDate(controlName) {
    var aux = $(controlName).datebox('getValue');
    if ((aux == "")) {
        return false;
    } else {
        return true;
    };
}


function changeFieldBorderColor(field, color) {
    var t = $(field);
    //var el = t.data('textbox') ? t.next() : $(t);
    //el.css('background-color', color);
    t.css('color', color);
}

function setColorMode() {
    if ($("#id").attr('value') == "ALTA") {
        $("body").removeClass("modificacion");
        $("body").addClass("alta");

    } else {
        $("body").removeClass("alta");
        $("body").addClass("modificacion");
    }

}

function habilitarEdicion() {
    /**
     * @habilito boton grabar
     * @escribo la palabra 'NO' en el campo oculto 'bloqueado'
     * @espera 0.5 segs y recarga la grilla principal
     *
     * @author 	MP
     * @version 	20141029
     */
    setColorMode();
    $('#grabar').linkbutton('enable');
    var s = document.getElementById('bloqueado');
    s.value = 'NO';

}




function submitForm() {

    /**
     * @junta todos los registros de la grilla de resultados en un string
     * @hace un submit de todo el contenido del ff1 , con la cabecera y el string con resultados
     * @espera 0.5 segs y recarga la grilla principal
     *
     * @author 	MP
     * @version 	20141029
     */
    var sErr = "";

    $.messager.confirm('Confirme por favor..', '¿Seguro de realizar  el cambio?', function(r) {
        if (r) {


            $('#ff1').form('submit', {
                headers: { 'Access-Control-Allow-Origin': 'http://www.i-consorcio.com.ar' },
                onSubmit: function() {
                    //Validacion de combos obligatorios
                    if (!validoCombo('#cmbCliente')) {
                        sErr += ", Cliente";
                        changeFieldBorderColor('#lblCliente', 'red');
                    } else {
                        changeFieldBorderColor('#lblCliente', 'black');
                    };

                    if (!validoCombo('#cmbTipoEnvio')) {
                        sErr += ", Tipo Envio";
                        changeFieldBorderColor('#lblTipoEnvio', 'red');
                    } else {
                        changeFieldBorderColor('#lblTipoEnvio', 'black');
                    };

                    if (!validoCombo('#cmbVendedor')) {
                        sErr += ", Vendedor";
                        changeFieldBorderColor('#lblVendedor', 'red');
                    } else {
                        changeFieldBorderColor('#lblVendedor', 'black');
                    };

                    if (!validoCombo('#cmbRepartidor')) {
                        sErr += ", Repartidor";
                        changeFieldBorderColor('#lblRepartidor', 'red');
                    } else {
                        changeFieldBorderColor('#lblRepartidor', 'black');
                    };

                    if (!validoCombo('#cmbHoraEnSemana')) {
                        sErr += ", HoraEnSemana";
                        changeFieldBorderColor('#lblHoraEnSemana', 'red');
                    } else {
                        changeFieldBorderColor('#lblHoraEnSemana', 'black');
                    };

                    if (!validoCombo('#cmbHoraEnSabado')) {
                        sErr += ", HoraEnSabado";
                        changeFieldBorderColor('#lblHoraEnSabado', 'red');
                    } else {
                        changeFieldBorderColor('#lblHoraEnSabado', 'black');
                    };


                    if (!validoCombo('#cmbZona')) {
                        sErr += ", Zona";
                        changeFieldBorderColor('#lblZona', 'red');
                    } else {
                        changeFieldBorderColor('#lblZona', 'black');
                    };

                    //valido campos fecha
                    if (!validoDate('#dpfechaCreado')) {
                        sErr += ", Fecha Creado";
                        changeFieldBorderColor('#lblFechaCreado', 'red');
                    } else {
                        changeFieldBorderColor('#lblFechaCreado', 'black');
                    };

                    if (!validoDate('#dpfechaAprobado')) {
                        sErr += ", Fecha Aprobado";
                        changeFieldBorderColor('#lblFechaAprobado', 'red');
                    } else {
                        changeFieldBorderColor('#lblFechaAprobado', 'black');
                    };
                    //valido campos texto
                    if (!($("#txtTelefono1").val())) {
                        sErr += ", Telefono1";
                        changeFieldBorderColor('#lblTelefono1', 'red');
                    } else {
                        changeFieldBorderColor('#lblTelefono1', 'black');
                    };


                    if (!($("#txtDemora").val())) {
                        sErr += ", Demora";
                        changeFieldBorderColor('#lblDemora', 'red');
                    } else {
                        changeFieldBorderColor('#lblDemora', 'black');
                    };
                    if (!($("#txtContactoEntrega").val())) {
                        sErr += ", Contacto Entrega";
                        changeFieldBorderColor('#lblContacto', 'red');
                    } else {
                        changeFieldBorderColor('#lblContacto', 'black');
                    };

                    if (!($("#txtDireccionEntrega").val())) {
                        sErr += ", Direccion Entrega";
                        changeFieldBorderColor('#lblDireccionEntrega', 'red');
                    } else {
                        changeFieldBorderColor('#lblDireccionEntrega', 'black');
                    };

                    if (!($("#txtFlete").val())) {
                        sErr += ", Valor Flete";
                        changeFieldBorderColor('#lblZona', 'red');
                    } else {
                        changeFieldBorderColor('#lblZona', 'black');
                    };

                    //verifico que haya seleccionado productos
                    $('#tgdetalle').treegrid('selectAll');
                    var datos = $('#tgdetalle').treegrid('getSelections');
                    if (Object.keys(datos).length) {
                        changeFieldBorderColor('#lblRenglones', 'black');
                        document.getElementById("renglones").value = JSON.stringify(datos);
                    } else {
                        changeFieldBorderColor('#lblRenglones', 'red');

                    }



                    if (sErr == "") {
                        return true;
                    } else {
                        $.messager.alert('Completar los siguientes campos antes de grabar', sErr, 'info');
                        return false;
                    }
                },
                success: function(result) {

                    // var data = $.parseJSON(result);
                    var data = "Cambios Procesados (CORREGIR ESTO)";
                    $.messager.show({
                        title: 'Resultado',
                        msg: data,
                        timeout: 7000,
                        height: 200,
                        width: 300,
                        showType: 'slide'
                    });
                    //doSearch(),
                    setTimeout(function() { $('#dg').datagrid('reload') }, 1000);
                    $("body").removeClass("modificacion");
                    $("body").removeClass("alta");

                }
            });


        }
    });

}

function endEditing() {
    if (editIndex == undefined) {
        return true;
    }
    if ($('#dg_resultados').datagrid('validateRow', editIndex)) {
        var ed = $('#dg_resultados').datagrid('getEditor', { index: editIndex, field: 'valor' });
        $('#dg_resultados').datagrid('endEdit', editIndex);
        editIndex = undefined;
        return true;
    } else {
        return false;
    }
}


function onClickRow(index) {
    //             alert("editIndex:"+editIndex+" index:"+index);
    //            if (editIndex != index){
    if (endEditing()) {
        $('#dg_resultados').datagrid('selectRow', index).datagrid('beginEdit', index);
        editIndex = index;
    } else {
        $('#dg_resultados').datagrid('selectRow', editIndex);
    }
    //          }
}

function onClickRowEventos(index) {
    //             alert("editIndex:"+editIndex+" index:"+index);
    //            if (editIndex != index){
    if (endEditing()) {
        $('#dg_eventos').datagrid('selectRow', index).datagrid('beginEdit', index);
        editIndex = index;
    } else {
        $('#dg_eventos').datagrid('selectRow', editIndex);
    }
    //          }
}

function acceptEventos() {

    if (endEditing()) {
        $('#dg_eventos').datagrid('acceptChanges');
    }
}


function rejectEventos() {
    $('#dg_eventos').datagrid('rejectChanges');
    editIndex = undefined;
}


function accept() {

    if (endEditing()) {
        $('#dg_resultados').datagrid('acceptChanges');
    }
}


function reject() {
    $('#dg_resultados').datagrid('rejectChanges');
    editIndex = undefined;
}

function redimensionar() {
    /**
     * @vuelve a poblar la grilla ppal
     *
     * @author 	MP
     * @version 	20141029
     */


    $('#dg').form('submit');

}





function GrabarMailLab() {

    /**
     * @hace un submit de todo el contenido del ff1 , con la cabecera y el string con resultados
     * @espera 0.5 segs y recarga la grilla principal
     *
     * @author 	MP
     * @version 	20141029
     */
    var sErr = "";

    $.messager.confirm('Confirme por favor..', '¿Seguro de realizar  el cambio de mail del laboratorio?', function(r) {
        if (r) {
            document.getElementById("mail_lab_update").value = document.getElementById("mail_laboratorio").value;
            document.getElementById("lab_update").value = $("#dil_laboratorio_id").combobox('getValue');

            $('#ffmail_lab').form('submit', {
                onSubmit: function() {
                    //Validacion de combos obligatorios


                    if (!($("#lab_update").attr('value'))) {
                        sErr += ", laboratorio";
                        changeFieldBorderColor('#lblLaboratorio', 'red');
                    } else {
                        changeFieldBorderColor('#lblLaboratorio', 'black');
                    };

                    //Si viene vacio le agrego un espacio para que al grabar el sql no pinche
                    //el vacio lo tomo como que el usuario quiere borrar los mails de aviso, no como un error
                    if (!($("#mail_laboratorio").attr('value'))) {
                        document.getElementById("mail_lab_update").value = " "
                    };

                    if (sErr == "") {
                        return true;
                    } else {
                        $.messager.alert('Completar Campos', sErr, 'info');


                        return false;
                    }
                },
                success: function(result) {
                    var data = $.parseJSON(result);

                    $.messager.show({
                        title: 'Mail LAB',
                        msg: data.msg,
                        timeout: 7000,
                        height: 200,
                        width: 300,
                        showType: 'slide'
                    });
                    doSearch(),
                        //setTimeout(function(){$('#dg').datagrid('reload')},1000);
                        $("body").removeClass("modificacion");
                    $("body").removeClass("alta");

                }
            });


        }
    });

}


function GrabarMailSiv() {

    /**
     * @hace un submit de todo el contenido del ff1 , con la cabecera y el string con resultados
     * @espera 0.5 segs y recarga la grilla principal
     *
     * @author 	MP
     * @version 	20141029
     */
    var sErr = "";

    $.messager.confirm('Confirme por favor..', '¿Seguro de realizar  el cambio?', function(r) {
        if (r) {
            document.getElementById("mail_siv_update").value = document.getElementById("mail_siv").value;
            document.getElementById("snof_update").value = document.getElementById("snof").value;


            $('#ffmail_siv').form('submit', {
                onSubmit: function() {
                    //Validacion de combos obligatorios

                    if (!($("#mail_siv").attr('value'))) {
                        sErr += ", mail_siv";
                        changeFieldBorderColor('#mail_siv', 'red');
                    } else {
                        changeFieldBorderColor('#mail_siv', 'black');
                    };

                    if (!($("#snof").attr('value'))) {
                        sErr += ", snof";
                        changeFieldBorderColor('#snof', 'red');
                    } else {
                        changeFieldBorderColor('#snof', 'black');
                    };

                    if (sErr == "") {
                        return true;
                    } else {
                        $.messager.alert('Completar Campos', sErr, 'info');


                        return false;
                    }
                },
                success: function(result) {
                    var data = $.parseJSON(result);

                    $.messager.show({
                        title: 'Mail SIV',
                        msg: data.msg,
                        timeout: 7000,
                        height: 200,
                        width: 300,
                        showType: 'slide'
                    });
                    doSearch(),
                        //setTimeout(function(){$('#dg').datagrid('reload')},1000);
                        $("body").removeClass("modificacion");
                    $("body").removeClass("alta");

                }
            });


        }
    });

}

function collapseAll() {
    $('#tg').treegrid('collapseAll');
}

function expandAll() {
    $('#tg').treegrid('expandAll');
}

function expandTo() {
    $('#tg').treegrid('expandTo', 21).treegrid('select', 21);
}

function cargar(id) {
    /**
     * @Hace un llamado AJAX a get_detalle.php enviando GET el id parametro (que es el registro seleccionado de la grilla principal)
     * @guarda en la estructura data el resultado
     * @completa todos los campos del registro cabecera
     * @hace un reload de los registros del resultado enviando por parametro el mismo id
     *
     * @author 	MP
     * @version 	20141029
     */
    $i = 0;

    if ($("#id").attr('value') == "ALTA") { exit; }

    try {
        $.ajax({
            type: "GET",
            datatype: "JSON",
            url: "http://i-consorcio.com.ar/dp2017/jquery/contratos/get_detalle.php?id=" + id,
            success: function(data) {
                data = JSON.parse(data);
                document.getElementById("id").value = data.id;

                $('#estado').combobox('select', data.estado_id);
                $('#cmbCliente').combobox('select', data.cliente_id);
                $('#cmbTipoEnvio').combobox('select', data.tipo_envio_id);
                $('#cmbRepartidor').combobox('select', data.repartidor_id);

                document.getElementById("txtTelefono1").value = data.telefono_1;
                document.getElementById("txtTelefono2").value = data.telefono_2;

                $('#cmbHoraEnSemana').combobox('select', data.horarios_en_semana_id);
                $('#cmbHoraEnSabado').combobox('select', data.horarios_en_sabado_id);

                document.getElementById("txtDemora").value = data.demora;
                document.getElementById("recargoEscalera").value = data.escalera;
                document.getElementById("sbTarjeta").value = data.tarjeta;
                if (data.tarjeta == "on") {
                    $('#sbTarjeta').switchbutton('check');

                } else {
                    $('#sbTarjeta').switchbutton('uncheck');

                }
                document.getElementById("recargoEnvio").value = data.envio;
                document.getElementById("recargoArmado").value = data.armado;


                document.getElementById("subtotal").value = data.subtotal;
                document.getElementById("total").value = data.total;

                document.getElementById("txtContactoEntrega").value = data.contacto;
                document.getElementById("txtDireccionEntrega").value = data.direccion;
                document.getElementById("txtComentarios").value = data.comentarios;

                $('#cmbVendedor').combobox('select', data.vendedor_id);

                $('#cmbZona').combobox('select', data.zona_id);





            }

        });

    } catch (err) {
        $dd = $i + err.message
        alert($dd);
    }

    //var row = $('#dg').datagrid('getSelected');

    $('#tgdetalle').treegrid({
        url: 'http://i-consorcio.com.ar/dp2017/jquery/contratos/get_contrato_productos.php?id=' + id
    });

    $('#tgdetalle').treegrid('reload');

    //$('#dg_eventos').datagrid('load', { id: row.id });
    //$('#dg_origen').datagrid('load', { gestion_id: row.id });


    $('#grabar').linkbutton('disable');




}

function qq(value, name) {
    if (name != '0') {
        var url = 'http://i-consorcio.com.ar/dp2017/jquery/contratos/productos.php?soloProducto=1&tipo=' + name + '&nombre=' + value;
    } else {
        var url = 'http://i-consorcio.com.ar/dp2017/jquery/contratos/productos.php?soloProducto=1&nombre=' + value;
    }
    console.log(url);
    $('#tg').combobox('reload', url);

}

function CargarProducto(id) {

    $('#tgpa').treegrid('load', { id: id, soloProducto: 2 });


}

function VaciarGrids() {
    /**
     * @Vacia las grillas de la parte de cabecera
     *
     * @author 	MP
     * @version 	20141029
     */

    $('#tgpa').treegrid('loadData', { "total": 0, "rows": [] });
    $('#tgdetalle').treegrid('loadData', { "total": 0, "rows": [] });


}

function clearForm() {
    /**
     * @Vacia el formulario de edicion
     *
     * @author 	MP
     * @version 	20141029
     */

    $('#ff1').form('clear');
    $("body").removeClass("modificacion");
    $("body").removeClass("alta");

    //TODO: Arreglar esto y traer el usuario real cuando este funcionando
    document.getElementById("usuario_id").value = 1;


}

function Alta() {
    /**
     * @pone el formulario listo para editar un alta
     *
     * @author 	MP
     * @version 	20141029
     */


    var usuario_id = document.getElementById("usuario_id").value;
    VaciarGrids();
    clearForm();
    document.getElementById('id').value = "ALTA";
    setColorMode();
    $('#grabar').linkbutton('enable');



    $('#fresultado').combo({ disabled: false });
    $('#daad_ftoma').combo({ disabled: false });
    $('#fecha_toma_iv').combo({ disabled: false });
    $('#cmbtipoorigendestino').combo({ disabled: false });
    $('#daad_centro_regional_id').combo({ disabled: false });
    $('#dil_finglab').combo({ disabled: false });
    $('#dil_fanalisis').combo({ disabled: false });
    $('#dil_conjunto_id').combo({ disabled: false });
    $('#cmbestablecimiento').combo({ disabled: false });
    $('#cmbestablecimiento').combo({ disabled: false });
    $('#daad_centro_regional_id').combo({ disabled: false });
    $('#empaque').combo({ disabled: false });
    $('#cmbprovinciaestablecimiento').combo({ disabled: false });
    $('#cmblocalidadestablecimiento').combo({ disabled: false });
    $('#cmblocalidadproductor').combo({ disabled: false });
    $('#cmbprovinciaproductor').combo({ disabled: false });
    $('#cmbproductordestino').combo({ disabled: false });
    $('#cmbpaisorigen').combo({ disabled: false });
    $('#cov_ubicacion').combo({ disabled: false });
    $('#cmbtipoestablecimiento').combo({ disabled: false });
    $('#cmbtiporesponsablecargo').combo({ disabled: false });
    $('#importador').combo({ disabled: false });
    $('#cmbpaisorigen').combo({ disabled: false });
    $('#expotador').combo({ disabled: false });

    $('#cmbtiporesponsablecargo').combo({ disabled: false });

    $('#cmbplan').combobox('setValue', '1');
    $('#cmbtipoorigendestino').combobox('setValue', '-1');

    $('#dil_laboratorio_id').combobox('setValue', '');
    $('#cmbestablecimiento').combobox('setValue', '-1');
    $('#daad_centro_regional_id').combobox('setValue', '-1');
    $('#empaque').combobox('setValue', '-1');
    $('#cmbprovinciaestablecimiento').combobox('setValue', '-1');
    $('#cmblocalidadestablecimiento').combobox('setValue', '-1');
    $('#cmblocalidadproductor').combobox('setValue', '-1');
    $('#cmbprovinciaproductor').combobox('setValue', '-1');
    $('#cmbproductordestino').combobox('setValue', '-1');
    $('#cov_ubicacion').combobox('setValue', '-1');
    $('#cmbtipoestablecimiento').combobox('setValue', '-1');
    $('#cmbtiporesponsablecargo').combobox('setValue', '-1');
    $('#importador').combobox('setValue', '-1');
    $('#cmbpaisorigen').combobox('setValue', '-1');
    $('#cmbtiporesponsablecargo').combobox('setValue', '-1');
    $('#exportador').combobox('setValue', '-1');

    document.getElementById('daad_directiva_muestreo').value = "-";
    document.getElementById('daad_acta').value = "";
    document.getElementById('dil_nro_informe').value = "";
    document.getElementById('dil_ninterno').value = "";

    document.getElementById('razonsocialestablecimiento').value = "-";
    document.getElementById('establecimientoresponsable').value = "-";
    document.getElementById('renspa').value = "";

    document.getElementById('renapa').value = "";

    document.getElementById('comentarios').value = "-";

    document.getElementById('importador').value = "-";
    document.getElementById('expediente').value = "-";
    document.getElementById('IdentificacionMuestra').value = "-";
    document.getElementById('IdentificacionCM1').value = "-";
    document.getElementById('IdentificacionCM2').value = "-";
    document.getElementById('cov_exceso_id').value = "";
    document.getElementById('cov_cudap').value = "";
    document.getElementById('cov_caja').value = "-";
    document.getElementById('cov_ano').value = "-";
    document.getElementById('cov_ubicacion_desde').value = "-";

    $('#dg_eventos').datagrid('load', { usuario_id: usuario_id });

}

function destroyItem() {
    /**
     * @llama a la rutina de borrar registro cabecera y asociados
     *
     * @author 	MP
     * @version 	20141029
     */

    var row = $('#dg').datagrid('getSelected');
    if (row) {
        $.messager.confirm('Confirme por favor..', '¿Seguro de Borrar este registro?', function(r) {
            if (r) {
                var index = $('#dg').datagrid('getRowIndex', row);
                $.post('http://i-consorcio.com.ar/dp2017/jquery/contratos/destroy.php', { id: row.id }, function() {
                    $('#dg').datagrid('deleteRow', index);
                });
                clearForm();
                VaciarGrids();
                setTimeout(function() { $('#dg').datagrid('reload') }, 500);
                $('#frenglones').form('clear');
            }
        });
    }
}





function cellStyler(value, row, index) {
    /**
     * @Cambia de color las celdas de acuerdo al campo estado_id del registro mandado por parametro, nomenclando 1, 2 y 3
     *
     * @author 	MP
     * @version 	20141029
     */

    var fecha_cumplido = row.fecha_cumplido;
    var hoy = new Date();
    var comparacion;
    comparacion = comparaFechas(row.fecha_limite, hoy);
    if (row.tipo_evento_id == 1) {
        if ((fecha_cumplido === "0000-00-00") || (fecha_cumplido === "")) {
            if (comparacion > 0) { return 'background-color:yellow;color:black;'; }
            if (comparacion < 0) { return 'background-color:red;color:white;'; }
            if (comparacion == 0) { return 'background-color:#bbffbb;color:black;'; }
        } else {
            if (comparacion > 0) { return 'background-color:grey;color:black;'; }
            if (comparacion < 0) { return 'background-color:grey;color:white;'; }
            if (comparacion == 0) { return 'background-color:grey;color:black;'; }
        }
    }

}

function doSearch() {
    /**
     * @puebla todos los parametros con los datos de los filtros en pantalla
     * @Llena la grilla con lo que se devuelve en get.php
     *
     * @author 	MP
     * @version 	20141029
     */

    var acmbFiltroClientes = [];
    var acmbFiltroEstados = [];
    var acmbFiltroRepartidor = [];

    var acmbFiltroTipoEnvio = [];




    var c_id = document.getElementById("filtroid").value;
    //filtros relacionados con el expedientes










    var g = $('#cmbFiltroClientes').combogrid('grid');
    var rows = g.datagrid('getSelections');
    for (var i = 0; i < rows.length; i++) {
        var row = rows[i];
        acmbFiltroClientes.push(row.id);
    }

    var g = $('#cmbFiltroEstados').combogrid('grid');
    var rows = g.datagrid('getSelections');
    for (var i = 0; i < rows.length; i++) {
        var row = rows[i];
        acmbFiltroEstados.push(row.id);
    }

    var g = $('#cmbFiltroRepartidor').combogrid('grid');
    var rows = g.datagrid('getSelections');
    for (var i = 0; i < rows.length; i++) {
        var row = rows[i];
        acmbFiltroRepartidor.push(row.id);
    }


    var g = $('#cmbFiltroTipoEnvio').combogrid('grid');
    var rows = g.datagrid('getSelections');
    for (var i = 0; i < rows.length; i++) {
        var row = rows[i];
        acmbFiltroTipoEnvio.push(row.id);
    }





    $('#dg').datagrid('load', {
        Clientes: acmbFiltroClientes.join(','),
        res_id: c_id,
        Estados: acmbFiltroEstados.join(','),
        Repartidores: acmbFiltroRepartidor.join(','),
        TipoEnvio: acmbFiltroTipoEnvio.join(',')
    });

    //inicializo todo en modo consulta

    VaciarGrids();
    clearForm();
    document.getElementById('id').value = "";
    $("body").removeClass("modificacion");
    $("body").removeClass("alta");
    $('#grabar').linkbutton('disable');

};

function openinnewwindow(link) {

    /**
     * @puebla todos los parametros con los datos de los filtros en pantalla
     * @Hace un submit de report.php  que es el driver del ff1
     * @submit.php genera un reporte en excel con el resultado del filtro
     *
     * @author 	MP
     * @version 	20141029
     */

    var aLaboratorio = [];
    var aEstablecimiento = [];
    var aEvento = [];
    var aResponsable = [];

    var c_id = document.getElementById("filtroid").value;

    //var vencimientodesde = $('#FiltromuestreadoDesde').datebox('getValue');
    //var vencimientohasta = $('#FiltromuestreadoHasta').datebox('getValue');

    var g = $('#cmbFiltrolaboratorio').combogrid('grid');
    var rows = g.datagrid('getSelections');
    for (var i = 0; i < rows.length; i++) {
        var row = rows[i];
        aLaboratorio.push(row.id);
    }

    var g = $('#cmbFiltroestablecimiento').combogrid('grid');
    var rows = g.datagrid('getSelections');
    for (var i = 0; i < rows.length; i++) {
        var row = rows[i];
        aEstablecimiento.push(row.id);
    }
    var g = $('#cmbFiltroeventos').combogrid('grid');
    var rows = g.datagrid('getSelections');
    for (var i = 0; i < rows.length; i++) {
        var row = rows[i];
        aEvento.push(row.id);
    }
    var g = $('#cmbFiltroResponsable').combogrid('grid');
    var rows = g.datagrid('getSelections');
    for (var i = 0; i < rows.length; i++) {
        var row = rows[i];
        aResponsable.push(row.id);
    }




    var Laboratorio = aLaboratorio.join(',');
    var Establecimiento = aEstablecimiento.join(',');
    var Evento = aEvento.join(',');
    var Responsable = aResponsable.join(',');
    //var Vdesde = vencimientodesde;
    //var Vhasta = vencimientohasta;
    var res_id = c_id;

    document.getElementById("p_Laboratorio").value = Laboratorio;
    document.getElementById("p_Establecimiento").value = Establecimiento;
    document.getElementById("p_Evento").value = Evento;
    document.getElementById("p_Responsable").value = Responsable;
    document.getElementById("p_Tomadesde").value = Vdesde;
    document.getElementById("p_Tomahasta").value = Vhasta;
    document.getElementById("p_res_id").value = res_id;
    document.getElementById("p_cudap").value = cudap;
    document.getElementById("p_exceso").value = exceso;



    $('#ff2').form('submit');


};

function limites() {

    /**
     * @junta todos los registros de la grilla de resultados en un string
     * @hace un submit de todo el contenido del ff1 , con la cabecera y el string con resultados
     * @espera 0.5 segs y recarga la grilla principal
     *
     * @author 	MP
     * @version 	20141029
     */



    document.getElementById("result_limites").value = JSON.stringify($('#tgdetalle').datagrid('getRows'));
    //$('#flimites').form('submit');
    setTimeout(function() { $('#dg').datagrid('reload') }, 500);


}

function addRenglon() {

    if (!$('#responsable').combobox('getValue')) { return false };
    if (!$('#fevento').datebox('getText')) { return false };

    $('#dg_eventos').datagrid('appendRow', {
        ck: true,
        evento_id: "0",
        evento_original_id: "0",
        tipo_evento_id: "1",
        tipo_evento: "TRAMITE",
        tipo_tramite_id: $('#tipo_tramite').combobox('getValue'),
        tipo_tramite: $('#tipo_tramite').combobox('getText'),
        tipo_modo_reclamo_id: "2",
        tipo_modo_reclamo: "MANUAL",
        destinatario: $('#destinatario').combobox('getText'),
        destinatario_id: $('#destinatario').combobox('getValue'),
        direccion_de_reclamo: document.getElementById("evt_direccion").value,
        fecha_limite: $('#fevento').datebox('getValue'),
        fecha_cumplido: $('#fcumplimiento').datebox('getValue'),
        observacion: document.getElementById("evt_observaciones").value,
        responsable: $('#responsable').combobox('getText'),
        responsable_id: $('#responsable').combobox('getValue')
    });



    //borro contenido del formulario para que no se agreguen dos veces
    //$('#responsable').combo('clear');
    //comento para facilitar la carga
    $('#eventos').combo('clear');
    //$('#fevento').datebox('clear');
    //$('#fcumplimiento').datebox('clear');
    //document.getElementById("evt_observaciones").value='';

}

function removeRenglon() {


    var row = $('#dg_eventos').datagrid('getSelected');
    if (row.evento_id !== '0') {
        $.messager.alert('Atencion!!', 'Para eliminar algun evento ya dado de alta comuniquese con su supervisor', 'info');
        exit;
    }
    if (row) {
        var index = $('#dg_eventos').datagrid('getRowIndex', row);
        $('#dg_eventos').datagrid('deleteRow', index);
    }

}

$.fn.datebox.defaults.formatter = function(date) {
    var y = date.getFullYear();
    var m = date.getMonth() + 1;
    var d = date.getDate();
    return y + '-' + (m < 10 ? ('0' + m) : m) + '-' + (d < 10 ? ('0' + d) : d);
};

$.fn.datebox.defaults.parser = function(s) {
    if (!s) return new Date();
    var ss = s.split('-');
    var y = parseInt(ss[0], 10);
    var m = parseInt(ss[1], 10);
    var d = parseInt(ss[2], 10);
    if (!isNaN(y) && !isNaN(m) && !isNaN(d)) {
        return new Date(y, m - 1, d);
    } else {
        return new Date();
    }
};


function convertDate(str) {
    /**
     * @convierte formato de fecha a dia mes y ano
     *
     * @author 	MP
     * @version 	20141029
     */

    var d = new Date(str);
    return addZero(d.getDate()) + "." + addZero(d.getMonth() + 1) + "." + d.getFullYear();
}

function formatterDate(value, row) {
    /**
     * @Cambia de formato de fecha
     *
     * @author 	MP
     * @version 	20150625
     */
    var date = new Date(value);


    if (!isNaN(date.valueOf()) && (date.valueOf() > 0)) {


        var d = new Date(value);
        row.fecha_cumplido = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();
        return d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();
    }
}

function formatterDateLimite(value, row) {
    /**
     * @Cambia de formato de fecha
     *
     * @author 	MP
     * @version 	20150625
     */
    var date = new Date(value);


    if (!isNaN(date.valueOf()) && (date.valueOf() > 0)) {


        var d = new Date(value);
        row.fecha_limite = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();
        return d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();
    }
}

function comparaFechas(DateA, DateB) { // this function is good for dates > 01/01/1970

    var a = new Date(DateA);
    var b = new Date(DateB);
    //alert(a);
    //alert(b);
    var msDateA = Date.UTC(a.getFullYear(), a.getMonth() + 1, a.getDate());
    var msDateB = Date.UTC(b.getFullYear(), b.getMonth() + 1, b.getDate());

    if (parseFloat(msDateA) < parseFloat(msDateB))
        return -1; // lt
    else if (parseFloat(msDateA) == parseFloat(msDateB))
        return 0; // eq
    else if (parseFloat(msDateA) > parseFloat(msDateB))
        return 1; // gt
    else
        return null; // error
}



function AplicarLimites(index, row) {
    var ss = [];
    var idsuma;
    var AcumSuma = 0;

    if ((row.VCS_SUST) !== null) {
        //chequeo de sustancias individuales
        if (parseFloat(row.valor) > parseFloat(row.limite)) {


            $('#dg_resultados').datagrid('updateRow', {
                index: index,
                row: {
                    expresion: 'SI',
                }
            });
        } else {
            $('#dg_resultados').datagrid('updateRow', {
                index: index,
                row: {
                    expresion: 'NO',
                }
            });
        }
    }
    //ahora miro si aparte del limite de sustancia no pudo romper limites de grupos
    AcumSuma = 0;
    if ((row.VCS_SUMA) !== null && parseFloat(row.VCS_SUMA) !== 0) {
        var rows = $('#dg_resultados').datagrid('getRows');

        for (var i = 0; i < rows.length; i++) {
            var rowsuma = rows[i];
            if (rowsuma.VCS_SUMA == row.VCS_SUMA) {
                AcumSuma += parseInt(rowsuma.valor);
            }
        }
    }

    if (parseInt(AcumSuma) > parseInt(row.limitesuma)) {
        //si la suma acumulada del grupo es mayor a la que presenta el registro en su valor de limite, vuelve a recoorer
        //la grilla y pone todos los registros en exceso, de otro modo, los pone en no exceso (en caso que no tenga ya un SI individual)
        for (var i = 0; i < rows.length; i++) {
            var rowsuma = rows[i];
            if (rowsuma.VCS_SUMA == row.VCS_SUMA && parseFloat(rowsuma.valor) > 0) {


                $('#dg_resultados').datagrid('updateRow', {
                    index: i,
                    row: {
                        expresion: 'SI',
                    }
                });
            }
        }
    } else {
        //la suma no es mayor
        for (var i = 0; i < rows.length; i++) {
            var rowsuma = rows[i];
            if (rowsuma.VCS_SUMA == row.VCS_SUMA) {
                if (parseFloat(rows[i].valor) > parseFloat(rows[i].limite)) {


                    $('#dg_resultados').datagrid('updateRow', {
                        index: i,
                        row: {
                            expresion: 'SI',
                        }
                    });
                } else {
                    $('#dg_resultados').datagrid('updateRow', {
                        index: i,
                        row: {
                            expresion: 'NO',
                        }
                    });
                }

            }
        }
    }



}


function mailSivEventos() {

    /**
     * @hace un submit para enviar el mail al SIV del expediente en curso
     * @espera 0.5 segs y recarga la grilla principal
     *
     * @author 	MP
     * @version 	20141029
     */
    var sErr = "";

    $.messager.confirm('Confirme por favor..', '¿Seguro de enviar mail al siv con el reclamo?', function(r) {
        if (r) {
            document.getElementById("rs_id").value = document.getElementById("id").value;


            $('#ffmail_send_siv').form('submit', {
                onSubmit: function() {
                    //Validacion de combos obligatorios

                    if (!($("#mail_siv").attr('value'))) {
                        sErr += ", mail_siv";
                        changeFieldBorderColor('#mail_siv', 'red');
                    } else {
                        changeFieldBorderColor('#mail_siv', 'black');
                    };

                    if (!($("#snof").attr('value'))) {
                        sErr += ", snof";
                        changeFieldBorderColor('#snof', 'red');
                    } else {
                        changeFieldBorderColor('#snof', 'black');
                    };

                    if (sErr == "") {
                        return true;
                    } else {
                        $.messager.alert('Completar Campos', sErr, 'info');


                        return false;
                    }
                },
                success: function(result) {

                    $.messager.show({
                        title: 'Mail a SIV',
                        msg: result,
                        timeout: 7000,
                        height: 700,
                        width: 500,
                        showType: 'slide'
                    });
                    cargar(document.getElementById("id").value);
                    $("body").removeClass("modificacion");
                    $("body").removeClass("alta");

                }
            });


        }
    });

}

function mailOlEventos() {

    /**
     * @hace un submit para enviar el mail al SIV del expediente en curso
     * @espera 0.5 segs y recarga la grilla principal
     *
     * @author 	MP
     * @version 	20141029
     */
    var sErr = "";

    $.messager.confirm('Confirme por favor..', '¿Seguro de enviar mail a la Oficina Local con el reclamo?', function(r) {
        if (r) {
            document.getElementById("ol_id").value = document.getElementById("id").value;


            $('#ffmail_send_ol').form('submit', {
                onSubmit: function() {
                    //Validacion de combos obligatorios

                    if (!($("#mail_relevamiento").attr('value'))) {
                        sErr += ", mail_siv";
                        changeFieldBorderColor('#mail_relevamiento', 'red');
                    } else {
                        changeFieldBorderColor('#mail_relevamiento', 'black');
                    };

                    if (!($("#snof").attr('value'))) {
                        sErr += ", snof";
                        changeFieldBorderColor('#snof', 'red');
                    } else {
                        changeFieldBorderColor('#snof', 'black');
                    };

                    if (sErr == "") {
                        return true;
                    } else {
                        $.messager.alert('Completar Campos', sErr, 'info');


                        return false;
                    }
                },
                success: function(result) {

                    $.messager.show({
                        title: 'Mail a Oficina Local',
                        msg: result,
                        timeout: 7000,
                        height: 700,
                        width: 500,
                        showType: 'slide'
                    });
                    cargar(document.getElementById("id").value);
                    $("body").removeClass("modificacion");
                    $("body").removeClass("alta");

                }
            });


        }
    });

}


function mailLabEventos() {

    /**
     * @hace un submit para enviar el mail al SIV del expediente en curso
     * @espera 0.5 segs y recarga la grilla principal
     *
     * @author 	MP
     * @version 	20141029
     */
    var sErr = "";

    $.messager.confirm('Confirme por favor..', '¿Seguro de enviar mail al siv con el reclamo?', function(r) {
        if (r) {
            document.getElementById("rl_id").value = document.getElementById("id").value;


            $('#ffmail_send_lab').form('submit', {
                onSubmit: function() {
                    //Validacion de combos obligatorios

                    if (!($("#mail_laboratorio").attr('value'))) {
                        sErr += ", mail_siv";
                        changeFieldBorderColor('#mail_laboratorio', 'red');
                    } else {
                        changeFieldBorderColor('#mail_laboratorio', 'black');
                    };

                    if (!($("#mail_laboratorio_cc").attr('value'))) {
                        sErr += ", snof";
                        changeFieldBorderColor('#mail_laboratorio_cc', 'red');
                    } else {
                        changeFieldBorderColor('#mail_laboratorio_cc', 'black');
                    };

                    if (sErr == "") {
                        return true;
                    } else {
                        $.messager.alert('Completar Campos', sErr, 'info');


                        return false;
                    }
                },
                success: function(result) {
                    if (result) {
                        $.messager.show({
                            title: 'Mail a Laboratorio ',
                            msg: result,
                            timeout: 7000,
                            height: 700,
                            width: 500,
                            showType: 'slide'
                        });
                    }
                    cargar(document.getElementById("id").value);
                    $("body").removeClass("modificacion");
                    $("body").removeClass("alta");

                }
            });


        }
    });

}

function tareaCumplida() {
    var ss = [];
    var hoy = new Date();



    var rows = $('#dg_eventos').datagrid('getRows');

    for (var i = 0; i < rows.length; i++) {
        var row = rows[i]

        if ((seleccionada(row.evento_id)) && (row.fecha_cumplido == '0000-00-00')) {
            $('#dg_eventos').datagrid('updateRow', {
                index: i,
                row: {
                    fecha_cumplido: hoy.getFullYear() + '-' + (hoy.getMonth() + 1) + '-' + hoy.getDate(),
                    observacion: 'Cumplido(SAS)'
                }
            });
        }

    }
}



function seleccionada(id) {
    var rows = $('#dg_eventos').datagrid('getSelections');

    for (var i = 0; i < rows.length; i++) {
        var row = rows[i];
        if (row.evento_id === id) {
            return true;
        }

    }
    return false;
}

function ReclamoManual() {
    var sErr = "";
    var ss = "";

    document.getElementById("reclamos").value = JSON.stringify($('#dg_eventos').datagrid('getSelections'));

    if (document.getElementById("reclamos").value != "") {

        $.messager.confirm('Confirme por favor..', '¿Seguro de haber hecho reclamos de los evento marcados?', function(r) {
            if (r) {


                $('#ffreclamos').form('submit', {
                    onSubmit: function() {
                        //Validacion de combos obligatorios


                        if (sErr == "") {
                            return true;
                        } else {
                            $.messager.alert('Completar Campos', sErr, 'info');


                            return false;
                        }
                    },
                    success: function(result) {
                        if (result) {
                            $.messager.show({
                                title: 'Reclamos Manuales efectuados ',
                                msg: result,
                                timeout: 7000,
                                height: 200,
                                width: 300,
                                showType: 'slide'
                            });
                        }
                        cargar(document.getElementById("id").value);
                        $("body").removeClass("modificacion");
                        $("body").removeClass("alta");

                    }
                });


            }
        });



    }


}