var xmlHttp;
var xmlHttpDepe;
var validacion = 0;
var size_html_ant = 0;
//Creación del método ajax
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
//Creación del método ajax para campos dependientes
function GetXmlHttpObjectDepen()
{
var xmlHttpDepe=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttpDepe=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttpDepe=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttpDepe=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttpDepe;
}
//----------------------------------------------------------------------------------------------------------------
//Funciones utilizada para la definición de procesos
function procesos()
{
xmlHttp=GetXmlHttpObject()
if ( xmlHttp == null ){
alert ("Your browser does not support AJAX!");
return;
}
jQuery("#exter").val("");
jQuery("#paramLista").val("");
var cadena = $("#formOperacion").serialize();
cadena += "&" + $("#formOperacion").serializeDisabled();
var url= "../phrame.php?";
url += cadena;
url += "&metodo=procesos";
url += "&action=metodo_ajax";
xmlHttp.onreadystatechange=proceso_siguiente;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
//Resp: Consulta el proceso siguiente de acuerdo a la respuesta generada
function proceso_siguiente()
{
if ( xmlHttp.readyState == 4 )
{
if ( document.forma.ACTV_NUMERO_ACTUAL.value != "" ){
var n = document.forma.ACTV_NUMERO.length;
for ( var i = 0; i < n; ++i ){
document.forma.ACTV_NUMERO.remove(document.forma.ACTV_NUMERO.options[i]);
}
document.forma.USRIO_RESPONSABLE.value = '';
document.forma.USRIO_RESPONSABLE_DESC.value = '';
document.forma.AREA_NUMERO.value = '';
document.forma.ACTV_NUMERO[0] = new Option("", '', true);
var resultado = xmlHttp.responseText;
resultado = resultado.replace(/\t/g, '');
if ( resultado != 'Err' ){
var cadena = resultado;
var lista = cadena.split(":::");
var lista_campos;
var seleccionada = false;
if ( lista[0] == 1 )
seleccionada = true;
for (i=0; i < lista[0]; i++)
{
lista_campos = "";
indice = i + 1;
if ( lista[indice] != '' ){
lista_campos = lista[indice].split("|||");
document.forma.ACTV_NUMERO[document.forma.ACTV_NUMERO.length] = new Option(lista_campos[1],lista_campos[0], seleccionada);
if ( lista[0] == 1 ){
procesosArea(lista_campos[0]);
}
}
}
}
}
formValObj.__initiallyParseAForm(1);
}
}
//----------------------------------------------------------------------------------------------------------------
//Funciones para actualizar el area de acuerdo al proceso seleccionado
function procesosArea(actividad)
{
xmlHttp=GetXmlHttpObject()
if ( xmlHttp == null ){
alert ("Your browser does not support AJAX!");
return;
}
var url= "../phrame.php?action=metodo_ajax";
url += "&metodo=procesos_area";
url += "&numero=" + actividad;
xmlHttp.onreadystatechange=actualiza_area;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
//Resp: Actualiza el area en el formulario
function actualiza_area()
{
if ( xmlHttp.readyState == 4 )
{
document.forma.USRIO_RESPONSABLE.value = '';
document.forma.USRIO_RESPONSABLE_DESC.value = '';
document.forma.AREA_NUMERO.value = '';
var resultado = xmlHttp.responseText;
resultado = resultado.replace(/\t/g, '');
if ( resultado != 'Err' ){
document.forma.AREA_NUMERO.value = resultado;
}
formValObj.__initiallyParseAForm(1);
}
}
//----------------------------------------------------------------------------------------------------------------
//Funciones para la lista de sugerencias de acuerdo al proceso actual
function sugerencias(formul)
{
xmlHttp=GetXmlHttpObject()
if ( xmlHttp == null ){
alert ("Your browser does not support AJAX!");
return;
}
var url= "../phrame.php?action=metodo_ajax";
url += "&metodo=sugerencia";
var inputTags=document.forma.getElementsByTagName('INPUT');
for (var i = 0; i < inputTags.length; i++ ){
if ( inputTags[i].name != "action" && url.indexOf(inputTags[i].name + '=' + inputTags[i].value) == -1 ) {
url += '&' + inputTags[i].name + '=' + inputTags[i].value;
}
}
xmlHttp.onreadystatechange=lista_sugerencia;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
//Resp: Devuelve el resultado de las posibles sugerencias
function lista_sugerencia()
{
if ( xmlHttp.readyState == 4 )
{
var n = document.forma.SUGR_NUMERO.length;
for ( var i = 0; i < n; ++i ){
document.forma.SUGR_NUMERO.remove(document.forma.SUGR_NUMERO.options[i]);
}
document.forma.SUGR_NUMERO[0] = new Option("", '');
var resultado = xmlHttp.responseText;
resultado = resultado.replace(/\t/g, '');
if ( resultado != 'Err' ){
if (resultado.indexOf("----") != -1 ){
showAlert(resultado, '', '#4B69C3', 'fa fa-file-code-o');
}
var cadena=resultado;
var lista= cadena.split(":::");
var lista_campos;
document.forma.ACTV_NUMERO_ACTUAL.value = lista[0];
document.forma.ACTV_NUMERO_ACTUAL.disabled = true;
for ( i=2; i < lista.length-1; i++ )
{
lista_campos="";
lista_campos=lista[i].split("|||");
document.forma.SUGR_NUMERO[document.forma.SUGR_NUMERO.length] = new Option(lista_campos[1],lista_campos[0]);
}
}else{
showAlert('', '', '#FF0000', 'fa fa-exclamation-triangle', function(){
document.forma.ACTV_NUMERO_ACTUAL.disabled = true;
}
);
}
camposReferenciales(document.forma.id_objeto.value, document.forma.valor_llave.value);
}
}
//----------------------------------------------------------------------------------------------------------------
//Funciones para la seguridad en la ejecución de la campaña
function estadoRegistro(registro, detalle)
{
xmlHttp=GetXmlHttpObject()
if ( xmlHttp == null ){
alert ("Your browser does not support AJAX!");
return;
}
var url= "../phrame.php?action=metodo_ajax";
url += "&metodo=estadoRegistro";
url += "®istro=" + registro;
url += "&detalle=" + detalle;
switch (detalle){
case "": xmlHttp.onreadystatechange=seleccion_ejecucion;
break;
default :xmlHttp.onreadystatechange=efectuar_link;
}
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
//Selecciona todos los registros disponibles
function todosRegistros(filas)
{
xmlHttp=GetXmlHttpObject()
if ( xmlHttp == null ){
alert ("Your browser does not support AJAX!");
return;
}
var valor_todos = document.getElementById('Todos').checked;
var selectInputs=document.forma.getElementsByTagName('INPUT');
for (var i = 0; i < selectInputs.length; i++ ){
if( selectInputs[i].type == "checkbox" ) {
selectInputs[i].checked= false;
if (valor_todos == true && selectInputs[i].disabled == false)
{
selectInputs[i].checked= true;
}
}
}
var url= "../phrame.php?action=metodo_ajax";
url += "&metodo=todosRegistros";
var Formulario = document.getElementById('DETALLE');
for (var i = 0; i <= Formulario.elements.length-1; i++ ){
if ( Formulario.elements[i].name != "action" ) {
url += '&' + Formulario.elements[i].name + '=' + Formulario.elements[i].value;
}
}
url += "&todos=" + valor_todos;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
//Limpia o habilita los registros que han sido seleccionados
function limpiarRegistros(usuario)
{
xmlHttp=GetXmlHttpObject()
if ( xmlHttp == null ){
alert ("Your browser does not support AJAX!");
return;
}
var url= "../phrame.php?action=metodo_ajax";
url += "&metodo=limpiarRegistros";
url += "&usuario=" + usuario;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
//Actualiza el resultado a los registros seleccionados
function actualizaEjecucion(resultado)
{
xmlHttp=GetXmlHttpObject()
if ( xmlHttp == null ){
alert ("Your browser does not support AJAX!");
return;
}
var url= "../phrame.php?action=metodo_ajax";
url += "&metodo=actualEjecucion";
url += "&resultado=" + resultado;
xmlHttp.onreadystatechange=resultadoActualiza;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
//Realiza la asignacion de correos en la ejecucion de la campaña
function asociarCorreo(actualiza, ejecucion)
{
xmlHttp=GetXmlHttpObject()
if ( xmlHttp == null ){
alert ("Your browser does not support AJAX!");
return;
}
var url= "../phrame.php?action=metodo_ajax";
url += "&metodo=asociaCorreo";
url += "&ejecucion=" + ejecucion;
url += "&actualiza=" + actualiza;
xmlHttp.onreadystatechange=resultadoActualiza;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
//Resp: Determina si se puede o no seleccionar un registro para su ejecucion
function seleccion_ejecucion()
{
if ( xmlHttp.readyState == 4 )
{
var resultado = xmlHttp.responseText;
resultado = resultado.replace(/\t/g, '');
if ( resultado != 'Err' ){
resultado_tmp = resultado.split("|||");
campo='Camp['+resultado_tmp[0]+']';
document.getElementById(campo).checked=false;
document.getElementById(campo).disabled=true;
showAlert(''+resultado_tmp[1], '', '#EDE615', 'fa fa-weixin');
}
}
}
//Resp: Determina si se puede o no ingresar el detalle del registro
function efectuar_link()
{
if ( xmlHttp.readyState == 4 )
{
var valor;
valor = parseInt(xmlHttp.responseText);
//Compruebo si es un valor numérico
if ( isNaN(valor) ) {
window.location.replace(xmlHttp.responseText);
}else{
campo='Camp['+valor+']';
document.getElementById(campo).checked=false;
document.getElementById(campo).disabled=true;
showAlert('', '', '#EDE615', 'fa fa-weixin');
}
}
}
//Resp: Actualiza la ventana despues de modificar los estados y el resultado de la ejecucion
function resultadoActualiza()
{
if ( xmlHttp.readyState == 4 )
{
if ( xmlHttp.responseText == 'Ok' ){
document.getElementById("DETALLE").submit();
}else{
$('#respuesta').html(xmlHttp.responseText);
}
}
}
//----------------------------------------------------------------------------------------------------------------
//Generación del HTML para el detalle en la ejecucion de las campañas
function detalleEjecucion(actividad, ejecucion){
xmlHttp=GetXmlHttpObject()
if ( xmlHttp == null ){
alert ("Your browser does not support AJAX!");
return;
}
var url= "../phrame.php?action=metodo_ajax";
url += "&metodo=detalleEjecucion";
url += "&actividad=" + actividad;
url += "&ejecucion=" + ejecucion;
xmlHttp.onreadystatechange=desplegarHtml;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
//Resp: Muestra el HTML de acuerdo al tipo de actividad en la campaña
function desplegarHtml()
{
if ( xmlHttp.readyState == 4 )
{
if( xmlHttp.status == 200 ) {
document.getElementById('formResponse').style.visibility='hidden';
document.getElementById('tablaDetalle_').innerHTML= xmlHttp.responseText;
var formValObj = new DHTMLSuite.formValidator({ formRef:'formadetalle',keyValidation:true,callbackOnFormValid:'enableSubmit',callbackOnFormInvalid:'disableSubmit',indicateWithBars:false });
$("input").addClass("form-control");
$("select").addClass("form-control inputTextDEdit");
$("input").addClass("inputTextDEdit");
$("input[type='button']").removeClass("form-control");
$("input[type='button']").removeClass("inputText");
$("input[type='button']").removeClass("inputTextDEdit");
$("input[type='reset']").removeClass("form-control");
$("input[type='reset']").removeClass("inputText");
$("input[type='reset']").removeClass("inputTextDEdit");
$("input[type='file']").removeClass("form-control");
$("input[type='file']").removeClass("inputTextDEdit");
}
}
}
//----------------------------------------------------------------------------------------------------------------
//Generación del HTML para los campos referenciales
function camposReferenciales(obje_numero, valor_llave){
xmlHttpDepe=GetXmlHttpObjectDepen()
if ( xmlHttpDepe == null ){
alert ("Your browser does not support AJAX!");
return;
}
var url= "../phrame.php?metodo=camposReferencia";
url += "&action=metodo_ajax";
var selectTags=document.forma.getElementsByTagName('SELECT');
for (var i = 0; i < selectTags.length; i++ ){
url += '&' + selectTags[i].name + '=' + selectTags[i].value;
}
var inputTags=document.forma.getElementsByTagName('INPUT');
for (var i = 0; i < inputTags.length; i++ ){
if ( inputTags[i].name != "action" && inputTags[i].name != "paramLista" && inputTags[i].value.indexOf("#") == -1 && inputTags[i].name != "url_modal" && inputTags[i].name != "parametros_padre" ) {
url += '&' + inputTags[i].name + '=' + inputTags[i].value;
}
}
url += document.forma.parametros_padre.value;
url += "&obje_numero=" + obje_numero;
url += "&valor_llave=" + valor_llave;
url += "&operacion=" + document.forma.operacion.value;
xmlHttpDepe.onreadystatechange=campoReferen_Html;
xmlHttpDepe.open("GET",url,true);
xmlHttpDepe.send(null);
}
//Resp: Muestra el HTML de acuerdo al tipo de actividad en la campaña
function campoReferen_Html()
{
if ( xmlHttpDepe.readyState == 4 )
{
if( xmlHttpDepe.status == 200 ) {
var html = xmlHttpDepe.responseText;
html = html.replace(/\t/g, '');
// Obtenemos tamaño del html que se agrega
var size_html = html.length;
if ( html == "Err" || ( html.indexOf("Err") != -1 && html.length <= 4 ) ) {
document.getElementById('camposReferencial').innerHTML= "";
// Seteamos la variable de tamaño anterior para comparar despues
size_html_ant = size_html;
} else{
if (html.indexOf("UPDATE") != -1 ){
document.getElementById('camposReferencial').innerHTML= "";
}else{
// Si el tamaño anterior es diferente del actual pintamos de nuevo el html y validamos los campos.
if( size_html_ant != size_html ) {
document.getElementById('camposReferencial').innerHTML= html;
oTable = document.getElementById("tablaReferencia");
oTablePadre = document.getElementById("tablaDetalle");
formValObj.__initiallyParseATable(oTable);
valida_formulario();
// Seteamos la variable de tamaño anterior para comparar despues
size_html_ant = size_html;
}
}
}
if( validacion == 0 ) {
//document.getElementById('llamado').style.visibility='hidden';
if ( document.forma.id_objeto.value == 5031 )
procesos();
}
validacion = 1;
}
$('.autocomplete').autocomplete();
$("input").addClass("form-control");
$("select").addClass("form-control inputTextDEdit");
$("input").addClass("inputTextDEdit");
$("input[type='button']").removeClass("form-control");
$("input[type='button']").removeClass("inputText");
$("input[type='button']").removeClass("inputTextDEdit");
$("input[type='reset']").removeClass("form-control");
$("input[type='reset']").removeClass("inputText");
$("input[type='reset']").removeClass("inputTextDEdit");
}
}
//----------------------------------------------------------------------------------------------------------------
//Funciones utilizada para la validacion de las formulas
function validarFormula(formula)
{
xmlHttp=GetXmlHttpObject()
if ( xmlHttp == null ){
alert ("Your browser does not support AJAX!");
return;
}
var url= "../phrame.php?action=metodo_ajax";
url += "&metodo=formulas";
url += "&formula=" + formula;
xmlHttp.onreadystatechange=resultadoFormula;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
//Resp: Determina si la formula esta bien
function resultadoFormula()
{
if ( xmlHttp.readyState == 4 )
{
var cadena = xmlHttp.responseText;
cadena = cadena.replace(/\t/g, '');
var lista= cadena.split(":::");
if ( lista[0] != 'Err' || document.forma.nombre_campo.value == 'FUNCION' ){
sendAndClose(0, document.getElementById('FORMULA_DEFI').value, '');
}else{
document.getElementById('Error').innerHTML= lista[1];
}
}
}
//----------------------------------------------------------------------------------------------------------------
//Genera la lista de valores para campos referenciales y listas/objetos dependientes
function valorReferencial(camp_dependiente, valor_llave, id_objeto)
{
xmlHttp=GetXmlHttpObject()
if ( xmlHttp == null ){
alert ("Your browser does not support AJAX!");
return;
}
var url= "../phrame.php?action=metodo_ajax";
url += "&metodo=valorReferencia";
url += "&camp_dependiente=" + camp_dependiente;
url += "&valor_llave=" + valor_llave;
url += "&id_objeto=" + id_objeto;
xmlHttp.onreadystatechange=lista_valores_Refer;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
//Resp: Genera la lista a los campos de referencia
function lista_valores_Refer()
{
if ( xmlHttp.readyState == 4 )
{
var resultado = xmlHttp.responseText;
resultado = resultado.replace(/\t/g, '');
if ( resultado != 'Err' ){
var cadena = resultado;
var lista = cadena.split(":::");
var lista_campos;
var campo = lista[0];
var valorCompara = lista[1];
document.getElementById(campo)[0] = new Option("", '', true);
for ( i=0; i < lista[2]; i++ )
{
lista_campos="";
indice = i + 3;
lista_campos=lista[indice].split("|||");
var seleccionada = (valorCompara==lista_campos[0]) ? true : false;
document.getElementById(campo)[document.getElementById(campo).length] = new Option(lista_campos[1],lista_campos[0],'',seleccionada);
}
}
}
}
//----------------------------------------------------------------------------------------------------------------
//Funciones para valores agregados de los productos en el cotizador
function agregadoProducto(producto)
{
xmlHttp=GetXmlHttpObject()
if ( xmlHttp == null ){
alert ("Your browser does not support AJAX!");
return;
}
var url= "../phrame.php?action=metodo_ajax";
url += "&metodo=agregadoProducto";
url += "&producto=" + producto;
xmlHttp.onreadystatechange=lista_agregado;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
//Resp: Lista de valores agregados del producto
function lista_agregado()
{
if ( xmlHttp.readyState == 4 )
{
if( xmlHttp.status == 200 ) {
var resultado = xmlHttp.responseText;
resultado = resultado.replace(/\t/g, '');
if ( resultado == "Err" ){
document.getElementById('agregados').innerHTML= "";
document.getElementById('nume_agregados').value = 0;
}else{
var cadena=resultado;
var lista= cadena.split("|||");
document.getElementById('nume_agregados').value= lista[0];
document.getElementById('agregados').innerHTML= lista[1];
}
}
}
}
//----------------------------------------------------------------------------------------------------------------
//Funciones para calcular la fecha de cierre de los casos de acuerdo al tiempo de los procesos
function calcular_cierre(tipo_interac)
{
xmlHttp=GetXmlHttpObject()
if ( xmlHttp == null ){
alert ("Your browser does not support AJAX!");
return;
}
var url= "../phrame.php?action=metodo_ajax";
url += "&metodo=calcular_cierre";
url += "&tipo_interac=" + tipo_interac;
xmlHttp.onreadystatechange=asignar_cierre_fecha;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
//Resp: Asocia la fecha calculada al campo del formulario
function asignar_cierre_fecha()
{
if ( xmlHttp.readyState == 4 )
{
var resultado = xmlHttp.responseText;
resultado = resultado.replace(/\t/g, '');
if ( resultado == "Err" || resultado == null ){
document.getElementById('FECHA_CIERRE').value= '';
document.getElementById('FECHA_CIERRE').click();
}else{
document.getElementById('FECHA_CIERRE').value = resultado;
document.getElementById('FECHA_CIERRE').click();
}
}
}
//----------------------------------------------------------------------------------------------------------------
//Funciones para verificar si exiten tareas nuevas y refrescar el calendario
function consulta_tareas(forma)
{
xmlHttp=GetXmlHttpObject()
if ( xmlHttp == null ){
alert ("Your browser does not support AJAX!");
return;
}
var url= "../phrame.php?action=metodo_ajax";
url += "&metodo=consultaTareas";
url += "&ano=" + forma.yearID.value;
url += "&mes=" + forma.monthID.value;
url += "&usuario=" + forma.usri_cal.value;
url += "&nivel=" + forma.nive_cal.value;
xmlHttp.onreadystatechange=refresca_calendario;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
//Resp: Si existe tareas nuevas o cerradas refresaca
function refresca_calendario()
{
if ( xmlHttp.readyState == 4 )
{
if ( document.forma.cantidad.value != xmlHttp.responseText ){
var ano = document.forma.yearID.value;
var mes = document.forma.monthID.value;
var sem = document.forma.weekID.value;
var usua = document.forma.usri_cal.value;
var tipo = document.forma.tipo_cal.value;
var nivel = document.forma.nive_cal.value;
var obj = document.forma.obje_inicio.value;
var iframe = parent.frames['calendario'];
iframe.window.location.href = 'phrame.php?action=calendario&yearID=' + ano + '&monthID=' + mes + '&weekID=' + sem + '&F' + obj + '_USRIO_NUMERO=' + usua + '&F' + obj + '_TIPO_CALENDARIO=' + tipo + '&F' + obj + '_NIVEL_CALENDARIO=' + nivel;
}
}
}
//----------------------------------------------------------------------------------------------------------------
//Funciones para traer el tipo de dato del campo escogido en el objeto 98
function consulta_campo(forma)
{
xmlHttp=GetXmlHttpObject()
if ( xmlHttp == null ){
alert ("Your browser does not support AJAX!");
return;
}
var url= "../phrame.php?action=metodo_ajax";
url += "&metodo=consultaCampos";
url += "&campo=" + forma.CAMP_NUMERO.value;
xmlHttp.onreadystatechange=refresca_campos_actualizar;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
//Resp: Si existe tareas nuevas o cerradas refresaca
function refresca_campos_actualizar()
{
if ( xmlHttp.readyState == 4 )
{
var val_lista = document.forma.VALOR_LISTA_OCUL.value;
var p = document.forma.VALOR_LISTA.length;
for ( var i = 0; i < p; ++i ){
document.forma.VALOR_LISTA.remove(document.forma.VALOR_LISTA.options[i]);
}
document.forma.VALOR_LISTA[0] = new Option("", '');
var resultado = xmlHttp.responseText;
resultado = resultado.replace(/\t/g, '');
if ( resultado != 'Err' ){
var cadena=resultado;
var lista = cadena.split(":::");
var lista_campos;
document.forma.LIST_NUMERO_ACT.value = 13;
if ( lista[0] == 3 )
{
for ( i=0; i < lista[2]; i++ )
{
lista_campos="";
indice = i + 3;
lista_campos = lista[indice].split("|||");
var seleccionada = (val_lista==lista_campos[0]) ? true : false;
document.getElementById('VALOR_LISTA')[document.getElementById('VALOR_LISTA').length] = new Option(lista_campos[1],lista_campos[0],'',seleccionada);
}
//Deshabilitar campos
document.forma.VALOR_FECHA_ES.disabled=true;
//Habilita el campo lista, si esta deshabilitado
document.forma.VALOR_LISTA.disabled=false;
document.forma.VALOR_NUMERO.readOnly=true;
document.forma.VALOR_TEXTO.readOnly=true;
// Almacenar el valor de la lista
document.forma.LIST_NUMERO_ACT.value = lista[1];
}
else if ( lista[0] == 6 )
{
//Deshabilitar campos
document.forma.VALOR_FECHA_ES.disabled=true;
document.forma.VALOR_LISTA.disabled=true;
//Habilita el campo numero, si esta deshabilitado
document.forma.VALOR_NUMERO.readOnly=false;
document.forma.VALOR_TEXTO.readOnly=true;
}
else if ( lista[0] == 1 )
{
//Deshabilitar campos
document.forma.VALOR_FECHA_ES.disabled=true;
document.forma.VALOR_LISTA.disabled=true;
document.forma.VALOR_NUMERO.readOnly=true;
//Habilita el campo texto, si esta deshabilitado
document.forma.VALOR_TEXTO.readOnly=false;
}
else if ( lista[0] == 4 || lista[0] == 5 )
{
//Habilita el campo fecha, si esta deshabilitado
document.forma.VALOR_FECHA_ES.disabled=false;
//Deshabilitar campos
document.forma.VALOR_LISTA.disabled=true;
document.forma.VALOR_NUMERO.readOnly=true;
document.forma.VALOR_TEXTO.readOnly=true;
}
}
formValObj.__initiallyParseAForm(1);
}
}
/*
*Funcion para realizar el calculo del descuento en la pantalla de gt_prodcutos interac
*/
function calcular_descuento(forma)
{
if( forma.PRDO_NUMERO.value != "" ){
if(forma.CANTIDAD.value % forma.UNIDAD_EMPAQUE.value == 0 ){
oportunidad = forma.OPRT_NUMERO.value;
$.ajax({
type: 'post',
url: 'phrame.php',
data: "action=metodo_ajax&metodo=calcularDesc&producto="+forma.PRDO_NUMERO.value+"&oportunidad="+oportunidad+"&shipto=1&cantidad="+forma.CANTIDAD.value,
success: function(res){
var arr = res.split('=');
var validacion = /^([0-9])*[.][0-9]*$/;
var validaciondos = /^[0-9]+$/;
var cadena;
if (res.indexOf("----") != -1 ){
showAlert(res, '', '#4B69C3', 'fa fa-file-code-o', function(){
if(res == '1'){
showAlert('', '', '#EDE615', 'fa fa-weixin', function(){
jQuery("#UNIDAD_EMPAQUE").val("");
limpiar();
});
}else{
jQuery("#VALOR").val(arr[0]);
jQuery("#VALOR_DESCTO_UNITARIO").val(arr[1]);
jQuery("#VALOR_NETO").val(arr[2]);
jQuery("#PORCENTAJE_DESCTO").val(arr[3]);
jQuery("#VALOR_DESCTO").val(arr[4]);
jQuery("#DESCTO_COME").val(arr[5]);
jQuery("#DESCTO_PROM").val(arr[6]);
jQuery("#DESCTO_ADIC").val(arr[7]);
if (validaciondos.test($("#PORCENTAJE_DESCTO").val())){
cadena = jQuery("#PORCENTAJE_DESCTO").val()+".0";
jQuery("#PORCENTAJE_DESCTO").val(cadena);
}
jQuery("#VALOR").focus();
jQuery("#VALOR_DESCTO_UNITARIO").focus();
jQuery("#VALOR_NETO").focus();
jQuery("#PORCENTAJE_DESCTO").focus();
jQuery("#UNIDAD_EMPAQUE").focus();
jQuery("#VALOR_DESCTO").focus();
jQuery("#VALOR").focus();
jQuery("#mypreSubmit").focus();
}
});
}else{
if(res == '1'){
showAlert('', '', '#EDE615', 'fa fa-weixin', function(){
jQuery("#UNIDAD_EMPAQUE").val("");
limpiar();
});
}else{
jQuery("#VALOR").val(arr[0]);
jQuery("#VALOR_DESCTO_UNITARIO").val(arr[1]);
jQuery("#VALOR_NETO").val(arr[2]);
jQuery("#PORCENTAJE_DESCTO").val(arr[3]);
jQuery("#VALOR_DESCTO").val(arr[4]);
if (validaciondos.test($("#PORCENTAJE_DESCTO").val())){
cadena = jQuery("#PORCENTAJE_DESCTO").val()+".0";
jQuery("#PORCENTAJE_DESCTO").val(cadena);
}
jQuery("#VALOR").focus();
jQuery("#VALOR_DESCTO_UNITARIO").focus();
jQuery("#VALOR_NETO").focus();
jQuery("#PORCENTAJE_DESCTO").focus();
jQuery("#UNIDAD_EMPAQUE").focus();
jQuery("#VALOR_DESCTO").focus();
jQuery("#VALOR").focus();
jQuery("#mypreSubmit").focus();
}
}
}
});
}else{
showAlert('', '', '#EDE615', 'fa fa-weixin', function(){
jQuery("#CANTIDAD").val("");
limpiar();
jQuery("#CANTIDAD").focus();
});
}
}else{
showAlert('', '', '#EDE615', 'fa fa-weixin', function(){
jQuery("#UNIDAD_EMPAQUE").val("");
limpiar();
});
}
}
/*
*Funcion para obtener la unidad de empaque del producto en la pantalla de gt productos interac
*/
function obtenerunidadempaque(forma)
{
if( forma.PRDO_NUMERO.value != "" ){
$.ajax({
type: 'post',
url: 'phrame.php',
data: "action=metodo_ajax&metodo=obtenerUnidad&producto="+forma.PRDO_NUMERO.value,
success: function(res){
jQuery("#UNIDAD_EMPAQUE").val(res);
jQuery("#CANTIDAD").val("");
jQuery("#VALOR").val("");
jQuery("#VALOR_DESCTO_UNITARIO").val("");
jQuery("#VALOR_NETO").val("");
jQuery("#PORCENTAJE_DESCTO").val("");
jQuery("#VALOR_DESCTO").val("");
jQuery("#UNIDAD_EMPAQUE").focus();
$("#CANTIDAD").attr('readonly', false);
jQuery("#CANTIDAD").focus();
}
});
}else{
jQuery("#UNIDAD_EMPAQUE").val("");
limpiar();
}
}
function limpiar(){
jQuery("#VALOR").val("");
jQuery("#VALOR_DESCTO_UNITARIO").val("");
jQuery("#VALOR_NETO").val("");
jQuery("#VALOR_DESCTO").val("");
jQuery("#VALOR_DESCTO").val("");
jQuery("#VALOR").focus();
jQuery("#VALOR_DESCTO_UNITARIO").focus();
jQuery("#VALOR_NETO").focus();
jQuery("#VALOR_DESCTO").focus();
jQuery("#UNIDAD_EMPAQUE").focus();
}
/*
*Funcion para verificar el tipo de carga a realizar
*/
function verifica_tipocarga()
{
$('#CAMPOS').attr('readonly', true);
if( jQuery("#CONEX_NUMERO").val() != "" ){
$.ajax({
type: 'post',
url: 'phrame.php',
data: "action=metodo_ajax&metodo=tipo_carga&conex_numero="+jQuery("#CONEX_NUMERO").val(),
success: function(res){
if (res.indexOf("----") != -1 ){
showAlert(res, '', '#4B69C3', 'fa fa-file-code-o', function(){
jQuery("#CAMPOS").val(res);
});
}else{
jQuery("#CAMPOS").val(res);
}
}
});
}else{
jQuery("#CAMPOS").val("");
}
}
/*
*Funcion para verificar si un campo unico existe almacenado en la base de datos
*/
function validarDato(tabla, campo, comparacion, valor, mensaje)
{
var resultado;
$.ajax({
type: 'post',
url: 'phrame.php',
data: "action=metodo_ajax&metodo=validarDato&tabla="+tabla+"&campo="+campo+"&comparacion="+comparacion+"&valor="+valor,
success: function(res){
if (res.indexOf("----") != -1 ){
showAlert(res, '', '#4B69C3', 'fa fa-file-code-o', function(){
if ( res != 0){
resultado = mensaje.replace("#CAMPO#", " '"+valor+"'")
jQuery("#"+campo).val("");
jQuery("#"+campo).focus();
showAlert(resultado, '', '#EDE615', 'fa fa-weixin');
}
});
}else{
if ( res != 0){
resultado = mensaje.replace("#CAMPO#", " '"+valor+"'")
jQuery("#"+campo).val("");
jQuery("#"+campo).focus();
showAlert(resultado, '', '#EDE615', 'fa fa-weixin');
}
}
}
});
}
/*
*Funcion consulta los niveles de clasificacion del caso o la oportunidad
*/
function verficarNiveles(obje_numero, campo, lista_campos, emergente)
{
var resultado;
var valor_asociado;
var lista = lista_campos.split(",");
for ( i=0; i < lista.length; i++ ){
if ( emergente != "" ){
jQuery("#"+lista[i], window.opener.document).removeAttr("required");
}else{
jQuery('#'+lista[i]).removeAttr("required");
}
}
if ( emergente != "" ){
valor_asociado = jQuery("#"+campo, window.opener.document).val();
}else{
valor_asociado = jQuery('#'+campo).val();
}
$.ajax({
type: 'post',
url: 'phrame.php',
data: "action=metodo_ajax&metodo=verificarNivel&obje_numero="+obje_numero+"&campo="+campo+"¶m_asociado="+valor_asociado,
success: function(res){
var resultado = res;
var lista_resul;
if (res.indexOf("----") != -1 ){
showAlert(res, '', '#4B69C3', 'fa fa-file-code-o', function(){
resultado = res.replace(/\t/g, '');
if ( resultado != ""){
lista_resul = resultado.split(",");
for ( i=0; i < lista_resul.length; i++ ){
if ( lista_resul[i] != "" ){
if ( emergente != "" ){
jQuery("#"+lista[i], window.opener.document).attr("required", "required");
}else{
jQuery('#'+lista[i]).attr("required", "required");
}
}
}
}
window.returnValue=true;
window.close();
});
}else{
resultado = res.replace(/\t/g, '');
if ( resultado != ""){
lista_resul = resultado.split(",");
for ( i=0; i < lista_resul.length; i++ ){
if ( lista_resul[i] != "" ){
if ( emergente != "" ){
jQuery("#"+lista[i], window.opener.document).attr("required", "required");
}else{
jQuery('#'+lista[i]).attr("required", "required");
}
}
}
}
window.returnValue=true;
window.close();
}
formValObj.__initiallyParseAForm(1);
}
});
}
/*
*Funcion genera dependencias de campos tipo listas
*/
function generarDependencias(campo_origen, campo_destino, emergente)
{
var resultado;
var valor_asociado;
var lista;
var id_objeto;
var paramLista;
if ( emergente != "" && typeof emergente != 'undefined' ){
id_objeto = $("#id_objeto", window.opener.document).val();
valor_asociado = $("#"+campo_origen, window.opener.document).val();
$("#"+campo_destino, window.opener.document).empty();
$("#"+campo_destino, window.opener.document).append('');
}else{
id_objeto = $("#id_objeto").val();
valor_asociado = $("#"+campo_origen).val();
$("#"+campo_destino).empty();
$("#"+campo_destino).append('');
}
if ( emergente != "" && typeof emergente != 'undefined' ){
paramLista = $("#parametros_padre", window.opener.document).val();
}else{
paramLista = $("#parametros_padre").val();
}
$.ajax({
type: 'post',
url: 'phrame.php',
data: "action=metodo_ajax&metodo=generarDependen&obje_numero="+id_objeto+"&valor="+valor_asociado+"&campo_destino="+campo_destino+paramLista,
success: function(res){
var resultado = res;
var lista;
var lista_resul;
if (res.indexOf("----") != -1 ){
showAlert(res, '', '#4B69C3', 'fa fa-file-code-o', function(){
resultado = res.replace(/\t/g, '');
if ( resultado != ""){
lista = resultado.split(":::");
for ( i=0; i < lista.length; i++ ){
if ( lista[i] != "" ){
lista_resul = lista[i].split("|||");
if ( emergente != "" && typeof emergente != 'undefined' ){
$("#"+campo_destino, window.opener.document).append('');
}else{
$("#"+campo_destino).append('');
}
}
}
}
});
}else{
resultado = res.replace(/\t/g, '');
if ( resultado != ""){
lista = resultado.split(":::");
for ( i=0; i < lista.length; i++ ){
if ( lista[i] != "" ){
lista_resul = lista[i].split("|||");
if ( emergente != "" && typeof emergente != 'undefined' ){
$("#"+campo_destino, window.opener.document).append('');
}else{
$("#"+campo_destino).append('');
}
}
}
}
}
if ( emergente != "" && typeof emergente != 'undefined' ){
window.returnValue=true;
window.close();
}
}
});
}
/*
*Funcion para el llamado de eventos Ajax genericamente
*/
function clienteAjax(clase, metodo, url, funcion, modal)
{
var resultado;
var valor;
var asign;
$.ajax({
type: 'post',
url: 'phrame.php',
data: "action=metodo_ajax&metodo=clienteAjax&clase="+clase+"&metodo_ejec="+metodo+url,
success: function(res){
resultado = res;
if (res.indexOf("----") != -1 ){
showAlert(res, '', '#4B69C3', 'fa fa-file-code-o', function(){
resultado = res.replace(/\t/g, '');
if (resultado.indexOf("alerta") != -1 ){
valor = resultado.split(":::");
if ( valor[1] != "" ){
showAlert(valor[1], '', '#FF0000', 'fa fa-exclamation-triangle');
}
if ( valor[2] != "" ){
eval(valor[2]);
}
}else if (resultado.indexOf("mensaje") != -1 ){
valor = resultado.split(":::");
if ( valor[1] != "" ){
showAlert(valor[1], '', '#EDE615', 'fa fa-exclamation-triangle');
}
if ( valor[2] != "" ){
eval(valor[2]);
}
}else if ( resultado != ""){
valor = resultado.split(":::");
for ( i=0; i < valor.length; i++ ){
if ( valor[i] != "" ){
asign = valor[i].split("|||");
if ( modal != "" && typeof modal != 'undefined' ){
jQuery("#"+asign[0], window.opener.document).val(asign[1]);
}else{
jQuery("#"+asign[0]).val(asign[1]);
}
}
}
if ( funcion ){
(function(){
funcion();
}());
}
if ( modal != "" && typeof modal != 'undefined' ){
window.returnValue=true;
window.close();
}else{
formValObj.__initiallyParseAForm(1);
}
}
});
}else{
resultado = res.replace(/\t/g, '');
if (resultado.indexOf("alerta") != -1 ){
valor = resultado.split(":::");
if ( valor[1] != "" ){
showAlert(valor[1], '', '#FF0000', 'fa fa-exclamation-triangle');
}
if ( valor[2] != "" ){
eval(valor[2]);
}
}else if (resultado.indexOf("mensaje") != -1 ){
valor = resultado.split(":::");
//if ( valor[1] != "" ){
// showAlert(valor[1], '', '#EDE615', 'fa fa-exclamation-triangle');
//}
if ( valor[1] != "" ){
var settings = Array();
if (resultado.indexOf("sizeLarge") != -1){
settings.push('sizeLarge');
}
if (resultado.indexOf("closeButton") != -1){
settings.push('closeButton');
}
if (resultado.indexOf("slickStart") != -1){
settings.push('slickStart');
}
if (resultado.indexOf("upScroll") != -1){
settings.push('upScroll');
}
if (settings.length > 0){
showAlert(valor[1], '', '#EDE615', 'fa fa-exclamation-triangle', false, settings);
}else{
showAlert(valor[1], '', '#EDE615', 'fa fa-exclamation-triangle');
}
}
if ( valor[2] != "" ){
eval(valor[2]);
}
}else if (resultado.indexOf("successfull") != -1 ){
valor = resultado.split(":::");
if ( valor[1] != "" ){
var settings = Array();
if (resultado.indexOf("sizeLarge") != -1){
settings.push('sizeLarge');
}
if (resultado.indexOf("closeButton") != -1){
settings.push('closeButton');
}
if (resultado.indexOf("slickStart") != -1){
settings.push('slickStart');
}
if (resultado.indexOf("upScroll") != -1){
settings.push('upScroll');
}
if (resultado.indexOf("accordion") != -1){
settings.push('accordion');
}
if (settings.length > 0){
showAlert(valor[1], '', '#28A745', 'fa fa-check-circle', false, settings);
console.log(settings);
}else{
showAlert(valor[1], '', '#28A745', 'fa fa-check-circle');
}
}
if ( valor[2] != "" ){
eval(valor[2]);
}
}else if (resultado.indexOf("evaljs") != -1 ){
valor = resultado.split(":::");
if ( valor[1] != "" ){
eval(valor[1]);
}
}else if ( resultado != ""){
valor = resultado.split(":::");
for ( i=0; i < valor.length; i++ ){
if ( valor[i] != "" ){
asign = valor[i].split("|||");
if ( modal != "" && typeof modal != 'undefined' ){
jQuery("#"+asign[0], window.opener.document).val(asign[1]);
}else{
jQuery("#"+asign[0]).val(asign[1]);
}
}
}
if ( funcion ){
(function(){
funcion();
}());
}
if ( modal != "" && typeof modal != 'undefined' ){
window.returnValue=true;
window.close();
}else{
formValObj.__initiallyParseAForm(1);
}
}
}
}
});
}
/*
*Funcion para realizar pagos por la plataforma electrónica PayU
*/
function pague_payu(clase, metodo_ejec, valor_llave, objeto)
{
if( valor_llave != "" ){
$.ajax({
type: 'post',
url: 'phrame.php',
data: "action=metodo_ajax&metodo=clienteAjax&clase="+clase+"&metodo_ejec="+metodo_ejec+"&valor_llave="+valor_llave+"&objeto="+objeto,
success: function(res){
window.open("payu/PayUForm.php?"+res);
}
});
}
}
/*
*Funcion para realizar pagos con PSE por la plataforma electrónica PayU
*/
function paguePSE()
{
var go_inici = jQuery('#go_tmp').val();
jQuery('#go').val('');
var cadena = $("#formOperacion").serialize();
cadena += "&" + $("#formOperacion").serializeDisabled();
$.ajax({
type: 'post',
url: 'phrame.php',
data: "action=transaccion_payu&"+cadena,
success: function(res){
var lista = res.split(":::");
if ( lista[0] == "Ok"){
loading_personal('form','');
window.location = lista[1];
}else{
var mensaje_error = lista[1];
mensaje_error = mensaje_error.replace('#TELEFONO#', $('#telefono_cliente').val());
mensaje_error = mensaje_error.replace('#EMAIL#', $('#email_cliente').val());
jQuery('#go').val(go_inici);
document.forma.btnCancelar.disabled=false;
document.forma.mySubmit_.disabled=false;
$('#msg_error').html(mensaje_error+'
');
}
}
});
}
/*
*Funcion para enviar los datos del formulario actualiza campos
*/
function submitActualizaCampos()
{
var go_inici = jQuery('#go_tmp').val();
jQuery('#go').val('');
var cadena = $("#formOperacion").serialize();
cadena += "&" + $("#formOperacion").serializeDisabled();
var accion = $('#action').val();
$.ajax({
type: 'post',
url: 'phrame.php',
data: "action="+accion+"&"+cadena,
success: function(res){
if (res.indexOf("----") != -1 ){
showAlert(res, 'Depurador de Código', '#4B69C3', 'fa fa-file-code-o', function(){
$('#cboxClose', window.parent.document).trigger('click');
window.parent.loading();
msj = res.split('*****');
if( msj[1] != "" ){
window.parent.location=msj[1];
}
});
}else{
$('#cboxClose', window.parent.document).trigger('click');
window.parent.loading();
msj = res.split('*****');
if( msj[1] != "" ){
window.parent.location=msj[1];
}
}
}
});
}
function captura_huella(campo, tipo, login, clave, tiempo){
var resultado;
var clave_enc = SHA256(clave);
$.ajax({
type: 'post',
url: 'phrame.php',
data: "action=metodo_ajax&metodo=huella&campo="+ campo +"&tipo_huella="+tipo+"&login="+login+"&clave="+clave_enc,
success: function(res){
resultado = res;
alert(resultado);
/* if (res.indexOf("----") != -1 ){
showAlert(res, '', '#4B69C3', 'fa fa-file-code-o', function(){
if ( res != 'Err' ){
var lista = res.split(":::");
var lista_campos;
for (i=0; i < lista.length; i++)
{
lista_campos = "";
lista_campos = lista[i].split("|||");
if ( jQuery("#"+lista_campos[0]).val() == '' || jQuery("#go").val() == 'autoguardar' || jQuery("#operacion").val() == 'ADICIONAR' )
jQuery("#"+lista_campos[0]).val(lista_campos[1]);
}
if ( tiempo != 0 )
clearTimeout(lectura);
formValObj.__initiallyParseAForm(1);
}else{
tiempo = tiempo + 1;
if ( tiempo < 30 ){
lectura = setTimeout("captura_huella(" + campo + ", "+ tipo + ", '"+ login + "', '"+ clave +"', "+ tiempo +")", 1000);
}else {
clearTimeout(lectura);
showAlert('No se pudo capturar la huella', '', '#EDE615', 'fa fa-weixin');
}
}
});
}else{
if ( res != 'Err' ){
var lista = res.split(":::");
var lista_campos;
for (i=0; i < lista.length; i++)
{
lista_campos = "";
lista_campos = lista[i].split("|||");
if ( jQuery("#"+lista_campos[0]).val() == '' || jQuery("#go").val() == 'autoguardar' || jQuery("#operacion").val() == 'ADICIONAR' )
jQuery("#"+lista_campos[0]).val(lista_campos[1]);
}
if ( tiempo != 0 )
clearTimeout(lectura);
formValObj.__initiallyParseAForm(1);
}else{
tiempo = tiempo + 1;
if ( tiempo < 30 ){
lectura = setTimeout("captura_huella(" + campo + ", "+ tipo + ", '"+ login + "', '"+ clave +"', "+ tiempo +")", 1000);
}else {
clearTimeout(lectura);
showAlert('No se pudo capturar la huella', '', '#EDE615', 'fa fa-weixin');
}
}
}*/
}
});
}
function vistaPerDetalle(clase, metodo, url, funcion, modal) {
$.ajax({
type: 'post',
url: 'phrame.php',
data: "action=metodo_ajax&metodo=clienteAjax&clase=" + clase + "&metodo_ejec=" + metodo + url,
success: function(res) {
// Inserta el HTML y ejecuta los scripts
insertarHTMLyEjecutarScripts("tabla-personalizada", res);
}
});
}
function insertarHTMLyEjecutarScripts(elementId, htmlContent) {
const element = document.getElementById(elementId);
// Insertar el HTML
element.innerHTML = htmlContent;
// Buscar y ejecutar los scripts
const scripts = element.querySelectorAll("script");
scripts.forEach(script => {
const newScript = document.createElement("script");
// Si el script tiene un src (es un archivo externo)
if (script.src) {
newScript.src = script.src;
newScript.onload = () => console.log(`${script.src} cargado y ejecutado.`);
} else {
// Si es un script inline
newScript.text = script.innerHTML;
}
document.head.appendChild(newScript);
document.head.removeChild(newScript); // Limpiar despues de la ejecuci?n
});
}