/* chekos007 L.I. Carlos Cruz */

function loading_small(div) {
	var base_url = window.location.origin;
	document.getElementById(div).innerHTML = '<center><img src="'+base_url+'/crm-agro/dist/images/loading.gif" border="0" width="150px" /></center>';
}

function loading(div) {
	var base_url = window.location.origin;
	document.getElementById(div).innerHTML = '<center><img src="'+base_url+'/crm-agro/dist/images/loading.gif" border="0" width="350px" /></center>';
}

function validar_enter(e){
	tecla = (document.all) ? e.keyCode : e.which;
	return (tecla != 13);
}

function validar_enter_mov(e){
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==13){ return true; } else { return false; }
}
function validar_entrada_teclado(e,tipo){
    //saber que navegador es para que funcione la funcion\\
    tecla = (document.all) ? e.keyCode : e.which;
    //para permitir que se puedan borrar las teclas\\
    if (tecla==8 || tecla==0)
        return true;
    //que expresion vamos a admitir\\
    if(tipo == 'n')
        patron =/[0-9]/;
    else if(tipo=='lmym'){//Permitir letras mayusculas y minusculas
        patron =/[a-z,A-Z]/;
    }else if(tipo=='pndpf'){//Permitir numero de punto flotante
        patron =/[.,0-9]/;
    }else if(tipo=='fnp'){//Permitir numero de punto flotante y numero negativos
        patron =/[-.,0-9]/;
    }
    
    //Se pasa el valor ASCII de la variable tecla a su carácter correspondiente\\
    te = String.fromCharCode(tecla);
    //Si el carácter coincide con el patrón, la función devuelve true, si no coincide devuelve false\\
    return patron.test(te);
}
function validar_solo_letras(e){
    //saber que navegador es para que funcione la funcion\\
    tecla = (document.all) ? e.keyCode : e.which;
    //para permitir que se puedan borrar las teclas\\
    if (tecla==8 || tecla==0)
        return true;
    //que expresion vamos a admitir\\
    patron =/[A-Za-zñÑáéíóúÁÉÍÓÚ.\s]/;
    //Se pasa el valor ASCII de la variable tecla a su carácter correspondiente\\
    te = String.fromCharCode(tecla);
    //Si el carácter coincide con el patrón, la función devuelve true, si no coincide devuelve false\\
    return patron.test(te);
} 
function validar_solo_numeros(e){
    //saber que navegador es para que funcione la funcion\\
    tecla = (document.all) ? e.keyCode : e.which;
    //para permitir que se puedan borrar las teclas\\
    if (tecla==8 || tecla==0)
        return true;
    //que expresion vamos a admitir\\
    patron =/\d/;
    //Se pasa el valor ASCII de la variable tecla a su carácter correspondiente\\
    te = String.fromCharCode(tecla);
    //Si el carácter coincide con el patrón, la función devuelve true, si no coincide devuelve false\\
    return patron.test(te);
}
function validar_solo_letras_numeros(e){
    //saber que navegador es para que funcione la funcion\\
    tecla = (document.all) ? e.keyCode : e.which;
    //para permitir que se puedan borrar las teclas\\
    if (tecla==8 || tecla==0)
        return true;
    else if(tecla == 13)
        return false;
    //que expresion vamos a admitir\\
    patron =/[ñÑáéíóúÁÉÍÓÚ\s\w]/;
    //Se pasa el valor ASCII de la variable tecla a su carácter correspondiente\\
    te = String.fromCharCode(tecla);
    //Si el carácter coincide con el patrón, la función devuelve true, si no coincide devuelve false\\
    return patron.test(te);
} 
function validar_solo_letras_numeros_facturas(e){
    //saber que navegador es para que funcione la funcion\\
    tecla = (document.all) ? e.keyCode : e.which;
    //para permitir que se puedan borrar las teclas\\
    if (tecla==8 || tecla==0)
        return true;
    else if(tecla == 13)
        return false;
    //que expresion vamos a admitir\\
    patron =/[ñÑáéíóúÁÉÍÓÚ\s\w+-:/]/;
    //Se pasa el valor ASCII de la variable tecla a su carácter correspondiente\\
    te = String.fromCharCode(tecla);
    //Si el carácter coincide con el patrón, la función devuelve true, si no coincide devuelve false\\
    return patron.test(te);
}
function marcar_fila(idChecked,idFila){
	checkbox = document.getElementById(idChecked);
	fila = document.getElementById(idFila);
	if(checkbox.checked)
		fila.className = "table-success";
	else
		fila.className = "table-danger";
}

function eliminar_objeto(fila,tipo_art = '',num = 0){
    //cachamos el elemento a eliminar
    var idFila = document.getElementById(fila);
    //obtenemos su objeto padre
    var padre = idFila.parentNode;
    //eliminamos el objeto hijo
    padre.removeChild(idFila);
    if(tipo_art == '')
        limpiar_totales();
    else if(tipo_art == 'gastos')
        limpiar_totales_gastos();
    else if(tipo_art == 'fac_especial')
        limpiar_totales_fac_especial(num);
    else
        limpiar_totales_vta(tipo_art);
}

function limpiar_totales(){
    //limpiamos los totales
    document.getElementById('t_cantidad').value = '';
    document.getElementById('t_subtotal').value = '';
    document.getElementById('t_iva').value = '';
    document.getElementById('t_descuentos').value = '';
    document.getElementById('t_otros_gastos').value = '';
    document.getElementById('t_total').value = '';
}

function limpiar_totales_fac_especial(num){
    //limpiamos los totales
    document.getElementById('t_cantidad'+num).value = '';
    document.getElementById('t_importe'+num).value = '';
    document.getElementById('t_iva'+num).value = '';
    document.getElementById('t_total'+num).value = '';
}

function limpiar_totales_gastos(){
    //limpiamos los totales
    document.getElementById('t_cantidad').value = '';
    document.getElementById('t_importe').value = '';
    document.getElementById('t_iva').value = '';
    document.getElementById('t_total').value = '';
}

function limpiar_totales_vta(tipo_art){
    //limpiamos los totales
    if(tipo_art != 'mat'){
        if($('#t_cantidad_'+tipo_art).length>0){
            document.getElementById('t_cantidad_'+tipo_art+'').value = '';
        }
        if($('#t_subtotal_'+tipo_art).length>0){
            document.getElementById('t_subtotal_'+tipo_art+'').value = '';
        }
        if($('#t_descuento_'+tipo_art).length>0){
            document.getElementById('t_descuento_'+tipo_art+'').value = '';
        }
        if($('#t_total_'+tipo_art).length>0){
            document.getElementById('t_total_'+tipo_art+'').value = '';
        }
    }
    //RESUMEN
    //subtotal
    $('#r_subtotal_'+tipo_art+'').val('');
    //descuentos
    $('#r_descuento_'+tipo_art+'').val('');
    //totales
    $('#r_total_'+tipo_art+'').val('');
}

function total(value,txt,txtTotal){
    var caja = document.getElementById(txt).value;
    var total = caja * value;
    document.getElementById(txtTotal).value = Math.round(total*100)/100;
}

function validar_entradas(e,tipo){
    //saber que navegador es para que funcione la funcion\\
    tecla = (document.all) ? e.keyCode : e.which;
    //para permitir que se puedan borrar las teclas\\
    if (tecla==8 || tecla==0)
        return true;
    //que expresion vamos a admitir\\
    if(tipo == 'c')
        patron =/\d/;
    else
        patron =/[.\d]/;
    //Se pasa el valor ASCII de la variable tecla a su carácter correspondiente\\
    te = String.fromCharCode(tecla);
    //Si el carácter coincide con el patrón, la función devuelve true, si no coincide devuelve false\\
    return patron.test(te);
}

function validar_rx(div,campo,caja){
    var expresion = "";
    var mensaje_error = "";
    /*esta bandera nos sirve para saber si vamos a entrar a validar a calcular el rango  del dato enviado*/
    var bandera = false;
    //que expresion vamos a admitir\\
    msj = "";
    switch(caja){
        case 'esfera':
            expresion = /^[-+{1}][\d][.][\d][^-+.]|^[-+{1}][\d][\d][.][\d][^-+.]/;
            mensaje_error = "Error al escribir "+caja.toUpperCase()+".<br />Ejemplos de escritura (-x.xx) o (+x.xx)";
            bandera = true;
        break;
        case 'cilindro':
            expresion = /^-{1}[\d][.][\d][^-+.]|^-{1}[\d][\d][.][\d][^-+.]/;
            mensaje_error = "Error al escribir "+caja.toUpperCase()+".<br />Ejemplos de escritura (-x.xx)";
        break;
        case 'eje':
            expresion = /\d/;
            mensaje_error = "Error al escribir "+caja.toUpperCase()+".<br />Ejemplo de escritura (xxx)";
            bandera = true;
        break;
        case 'add':
            expresion = /[\d][.][\d][\d]/;
            mensaje_error = "Error al escribir "+caja.toUpperCase()+".<br />Ejemplo de escritura (x.xx)";
            bandera = true;
        break;
        case 'prisma':
            expresion = /[\d][.][\d][\d]/;
            mensaje_error = "Error al escribir "+caja.toUpperCase()+".<br />Ejemplo de escritura (x.xx)";
            bandera = true;
        break;
        case 'dip':
            expresion = /[\d][\d][\/][\d][\d]/;
            mensaje_error = "Error al escribir "+caja.toUpperCase()+".<br />Ejemplo de escritura (xx/xx)";
            bandera = true;
        break;
        case 'altura':
            expresion = /\d/;
            mensaje_error = "Error al escribir "+caja.toUpperCase()+".<br />Ejemplo de escritura (xx)";
            bandera = true;
        break;
        case 'od_eje_base':
            expresion = /\d/;
            msj = "Eje de la Base(O.D.)";
            mensaje_error = "Error al escribir "+msj.toUpperCase()+"<br />Ejemplo de escritura (xxx)";
            bandera = true;
        break;
        case 'oi_eje_base':
            expresion = /\d/;
            msj = "Eje de la Base(O.I.)";
            mensaje_error = "Error al escribir "+msj.toUpperCase()+"<br />Ejemplo de escritura (xxx)";
            bandera = true;
        break;
    }
    campo = document.getElementById(campo);
    if((campo.value.match(expresion)) && (campo.value!='')){
        //alert('Correcta');
        document.getElementById(div).innerHTML = '';
        if(bandera){
            switch(caja){
                case 'esfera':
                    //alert($('input:radio[name=selec_ojo]:checked').val());
                    /*validacion para diferentes signos en esfera con ambos ojos unicamente*/
                    if($('input:radio[name=selec_ojo]:checked').val() == 'oa'){//if(document.getElementById('selec_ojo').value == 'oa'){
                        /*checamos si los campos estan llenos*/
                        if(document.getElementById('od_esfera').value != '' && document.getElementById('oi_esfera').value != ''){
                            var od_esfera = document.getElementById('od_esfera').value;
                            var oi_esfera = document.getElementById('oi_esfera').value;
                            if(od_esfera.charAt(0) != oi_esfera.charAt(0)){
                                alert('OBSERVACION:\n\nEsfera O.D. y Esfera O.I. tienen signos diferentes...Verifique');
                                return true;
                            }
                        }
                    }
                break;
                case 'eje':
                    if(campo.value >= 0 && campo.value <= 180){
                        document.getElementById(div).innerHTML = '';
                        return true;
                    }
                    else{
                        document.getElementById(div).innerHTML = "Error de rango en "+caja.toUpperCase()+".<br />El rango debe estar entre 0 y 180";
                        document.getElementById(div).style.color = 'red';
                        campo.focus();
                        return false;
                    }
                break;
                case 'add':
                    if(campo.value == 0.00){
                        document.getElementById(div).innerHTML = '';
                        return true;
                    }
                    else if(campo.value >= 0.75 && campo.value <= 4){
                        document.getElementById(div).innerHTML = '';
                        return true;
                    }
                    else{
                        document.getElementById(div).innerHTML = "Error de rango en "+caja.toUpperCase()+".<br />El rango debe estar entre 0.75 y 4";
                        document.getElementById(div).style.color = 'red';
                        campo.focus();
                        return false;
                    }
                break;
                case 'prisma':
                    if(campo.value >= 0 && campo.value <= 10){
                        document.getElementById(div).innerHTML = '';
                        return true;
                    }
                    else{
                        document.getElementById(div).innerHTML = "Error de rango en "+caja.toUpperCase()+".<br />El rango debe estar entre 0 y 10";
                        document.getElementById(div).style.color = 'red';
                        campo.focus();
                        return false;
                    }
                break;
                case 'dip':
                    if(campo.value != '00/00'){
                        document.getElementById(div).innerHTML = '';
                        return true;
                    }
                    else{
                        document.getElementById(div).innerHTML = "Error de rango en "+caja.toUpperCase()+".<br />No puede llevar 0";
                        document.getElementById(div).style.color = 'red';
                        campo.focus();
                        return false;
                    }
                break;
                case 'altura':
                    if(campo.value == 0){
                        document.getElementById(div).innerHTML = '';
                        return true;
                    }
                    else if(campo.value >= 9 && campo.value <= 29){
                        document.getElementById(div).innerHTML = '';
                        return true;
                    }
                    else{
                        document.getElementById(div).innerHTML = "Error de rango en "+caja.toUpperCase()+".<br />El rango debe estar entre 9 y 29";
                        document.getElementById(div).style.color = 'red';
                        campo.focus();
                        return false;
                    }
                break;
                case 'od_eje_base':
                    if(campo.value >= 1 && campo.value <= 360){
                        document.getElementById(div).innerHTML = '';
                        return true;
                    }
                    else{
                        document.getElementById(div).innerHTML = "Error de rango en "+msj.toUpperCase()+"<br />El rango debe estar entre 1 y 360";
                        document.getElementById(div).style.color = 'red';
                        campo.focus();
                        return false;
                    }
                break;
                case 'oi_eje_base':
                    if(campo.value >= 1 && campo.value <= 360){
                        document.getElementById(div).innerHTML = '';
                        return true;
                    }
                    else{
                        document.getElementById(div).innerHTML = "Error de rango en "+msj.toUpperCase()+"<br />El rango debe estar entre 1 y 360";
                        document.getElementById(div).style.color = 'red';
                        campo.focus();
                        return false;
                    }
                break;
            }
        }
        return true;
    } 
    else{
        document.getElementById(div).innerHTML = mensaje_error;
        document.getElementById(div).style.color = 'red';
        campo.focus();
        return false;
    } 
}

function validar_caracteres_rx(e,caja){
    //saber que navegador es para que funcione la funcion\\
    tecla = (document.all) ? e.keyCode : e.which;
    //para permitir que se puedan borrar las teclas\\
    if (tecla==8 || tecla==0)
        return true;
    //que expresion vamos a admitir\\
    patron = "";
    switch(caja){
        case 'esfera':
            patron = /[-+.\d]/;
        break;
        case 'cilindro':
            patron = /[\d.-]/;
        break;
        case 'eje':
            patron = /\d/;
        break;
        case 'add':
            patron = /[\d.]/;
        break;
        case 'prisma':
            patron = /[\d.]/;
        break;
        case 'dip':
            patron = /[1234567890\/]/;
        break;
        case 'altura':
            patron = /\d/;
        break;
        case 'eje_base':
            patron = /\d/;
        break;
    }
    //Se pasa el valor ASCII de la variable tecla a su carácter correspondiente\\
    te = String.fromCharCode(tecla);
    //Si el carácter coincide con el patrón, la función devuelve true, si no coincide devuelve false\\
    return patron.test(te);
}

function validar_llenado_rx(value,nombre,ojo){
    if(nombre == 'esfera'){
        if(value != 0 && document.getElementById(ojo+'_cilindro').value == 0){
            document.getElementById(ojo+'_eje').disabled = true;
            document.getElementById(ojo+'_eje').value = '---------';
        }
        else{
            document.getElementById(ojo+'_eje').disabled = false;
            //document.getElementById(ojo+'_eje').value = '';
        }
    }
    if(nombre == 'cilindro'){
        if((value != 0 && document.getElementById(ojo+'_esfera').value == 0) || (value != 0 && document.getElementById(ojo+'_esfera').value != 0)){
            //alert('Es necesario escribir escribir un EJE');
            document.getElementById(ojo+'_eje').disabled = false;
            document.getElementById(ojo+'_eje').value = '';
            document.getElementById(ojo+'_eje').focus();
        }
        else if(value == 0 && document.getElementById(ojo+'_esfera').value == 0)
            document.getElementById(ojo+'_eje').disabled = false;
        else{
            document.getElementById(ojo+'_eje').disabled = true;
            document.getElementById(ojo+'_eje').value = '---------';
        }
    }
    if(nombre == 'add'){
        if(value != 0){
            //alert('Es necesario escribir escribir ALTURA');
            //document.getElementById(ojo+'_altura').value = '';
            //document.getElementById(ojo+'_altura').focus();
        }
    }
    /*if(nombre == 'eje'){
        if(value == 0 && document.getElementById(ojo+'_cilindro').value != 0){
            alert("EJE debe tener un valor diferente de 0...Verifique");
            document.getElementById(ojo+'_eje').focus();
        }
    }
    if(nombre == 'altura'){
        if(value == 0 && document.getElementById(ojo+'_add').value != 0){
            alert("ALTURA debe tener un valor diferente de 0...Verifique");
            document.getElementById(ojo+'_altura').focus();
        }
    }*/
}

function validar_llenado_rx_auto(value,nombre,ojo){
    if(nombre == 'esfera'){
        if(value != 0 && document.getElementById(ojo+'_cilindro_auto').value == 0){
            document.getElementById(ojo+'_eje_auto').disabled = true;
            document.getElementById(ojo+'_eje_auto').value = '---------';
        }
        else{
            document.getElementById(ojo+'_eje_auto').disabled = false;
            //document.getElementById(ojo+'_eje_auto').value = '';
        }
    }
    if(nombre == 'cilindro'){
        if((value != 0 && document.getElementById(ojo+'_esfera_auto').value == 0) || (value != 0 && document.getElementById(ojo+'_esfera_auto').value != 0)){
            //alert('Es necesario escribir escribir un EJE');
            document.getElementById(ojo+'_eje_auto').disabled = false;
            document.getElementById(ojo+'_eje_auto').value = '';
            document.getElementById(ojo+'_eje_auto').focus();
        }
        else if(value == 0 && document.getElementById(ojo+'_esfera_auto').value == 0)
            document.getElementById(ojo+'_eje_auto').disabled = false;
        else{
            document.getElementById(ojo+'_eje_auto').disabled = true;
            document.getElementById(ojo+'_eje_auto').value = '---------';
        }
    }
    if(nombre == 'add'){
        if(value != 0){
            //alert('Es necesario escribir escribir ALTURA');
            //document.getElementById(ojo+'_altura_auto').value = '';
            //document.getElementById(ojo+'_altura_auto').focus();
        }
    }
    /*if(nombre == 'eje'){
        if(value == 0 && document.getElementById(ojo+'_cilindro_auto').value != 0){
            alert("EJE debe tener un valor diferente de 0...Verifique");
            document.getElementById(ojo+'_eje_auto').focus();
        }
    }
    if(nombre == 'altura'){
        if(value == 0 && document.getElementById(ojo+'_add_auto').value != 0){
            alert("ALTURA debe tener un valor diferente de 0...Verifique");
            document.getElementById(ojo+'_altura_auto').focus();
        }
    }*/
}

function mostrar_caja_eje(div,value,ojo){
    if(value == 0){
        document.getElementById(ojo+'_eje_base').value = '';
        document.getElementById(div).innerHTML = "Selecciona una Base";
        document.getElementById(div).style.color = 'red';
        document.getElementById('div_'+ojo+'_eje_base').style.display = 'none';
        return false;
    }
    else if(value == 'Eje'){
        document.getElementById('div_'+ojo+'_eje_base').style.display = 'block';
        document.getElementById(ojo+'_eje_base').value = '';
        alert("Es necesario escribir un eje para la base");
        document.getElementById(ojo+'_eje_base').focus();
        //$(ojo+'_eje_base').focus();
        document.getElementById(div).innerHTML = '';
        return false;
    }
    else{
        document.getElementById(ojo+'_eje_base').value = '';
        document.getElementById('div_'+ojo+'_eje_base').style.display = 'none';
        document.getElementById(div).innerHTML = '';
        return true;
    }
}

function mostrar_caja_eje_auto(div,value,ojo){
    if(value == 0){
        document.getElementById(ojo+'_eje_base_auto').value = '';
        document.getElementById(div).innerHTML = "Selecciona una Base";
        document.getElementById(div).style.color = 'red';
        document.getElementById('div_'+ojo+'_eje_base_auto').style.display = 'none';
        return false;
    }
    else if(value == 'Eje'){
        document.getElementById('div_'+ojo+'_eje_base_auto').style.display = 'block';
        document.getElementById(ojo+'_eje_base_auto').value = '';
        alert("Es necesario escribir un eje para la base");
        document.getElementById(ojo+'_eje_base_auto').focus();
        //$(ojo+'_eje_base_auto').focus();
        document.getElementById(div).innerHTML = '';
        return false;
    }
    else{
        document.getElementById(ojo+'_eje_base_auto').value = '';
        document.getElementById('div_'+ojo+'_eje_base_auto').style.display = 'none';
        document.getElementById(div).innerHTML = '';
        return true;
    }
}

function mostrar_caja_eje_ant(div,value,ojo){
    if(value == 0){
        document.getElementById(ojo+'_eje_base_ant').value = '';
        document.getElementById(div).innerHTML = "Selecciona una Base";
        document.getElementById(div).style.color = 'red';
        document.getElementById('div_'+ojo+'_eje_base_ant').style.display = 'none';
        return false;
    }
    else if(value == 'Eje'){
        document.getElementById('div_'+ojo+'_eje_base_ant').style.display = 'block';
        document.getElementById(ojo+'_eje_base_ant').value = '';
        alert("Es necesario escribir un eje para la base");
        document.getElementById(ojo+'_eje_base_ant').focus();
        //$(ojo+'_eje_base_ant').focus();
        document.getElementById(div).innerHTML = '';
        return false;
    }
    else{
        document.getElementById(ojo+'_eje_base_ant').value = '';
        document.getElementById('div_'+ojo+'_eje_base_ant').style.display = 'none';
        document.getElementById(div).innerHTML = '';
        return true;
    }
}

function validar_cajas_vacias_rx(ojo){
    var arreglo = new Array('od','oi');
    var arreglo_arx = new Array('esfera','cilindro','eje','add','dip','altura');
    bandera = true;
    if(ojo == 'oa'){
        for(i = 0; i < arreglo.length; i++){
            for(j = 0;j < arreglo_arx.length;j++){
                if(arreglo[i] == 'oi' && arreglo_arx[j] == 'dip')
                    continue;
                else if(arreglo_arx[j] == 'add' && document.getElementById(arreglo[i]+'_'+arreglo_arx[j]).value != '0.00'){
                    if(document.getElementById(arreglo[i]+'_altura').value == '0' || document.getElementById(arreglo[i]+'_altura').value == '00'){
                        alert("Es necesario escribir un valor diferente de cero en "+arreglo[i].toUpperCase()+" ALTURA");
                        document.getElementById(arreglo[i]+'_altura').focus();
                        bandera = false;
                        break;
                    }
                }
                else if(document.getElementById(arreglo[i]+'_'+arreglo_arx[j]).value == ''){
                    alert("Es necesario escribir un valor en "+arreglo[i].toUpperCase()+" "+arreglo_arx[j].toUpperCase());
                    document.getElementById(arreglo[i]+'_'+arreglo_arx[j]).focus();
                    bandera = false;
                    break;
                }
            }
            if(!bandera)
                break;
            if(bandera){
                if(document.getElementById('p_b').checked){
                    if(document.getElementById(arreglo[i]+'_prisma').value == ''){
                        alert("Es necesario escribir un valor en "+arreglo[i].toUpperCase()+" PRISMA");
                        document.getElementById(arreglo[i]+'_prisma').focus();
                        bandera = false;
                    }
                    else{ 
                        if(document.getElementById(arreglo[i]+'_base').value == 0){
                            alert("Es necesario seleccionar un valor para "+arreglo[i].toUpperCase()+" BASE");
                            document.getElementById(arreglo[i]+'_base').focus();
                            bandera = false;
                        }
                        else if(document.getElementById(arreglo[i]+'_base').value == 'Eje'){
                            if(document.getElementById(arreglo[i]+'_eje_base').value == ''){
                                alert("Es necesario escribir un valor en EJE DE LA BASE ("+arreglo[i].toUpperCase()+")");
                                document.getElementById(arreglo[i]+'_eje_base').focus();
                                bandera = false;
                            }
                        }
                    }
                }
            }
        }
    }
    else{
        for(i = 0;i < arreglo_arx.length;i++){
            if(arreglo_arx[i] == 'add' && document.getElementById(ojo+'_'+arreglo_arx[i]).value != '0.00'){
                if(document.getElementById(ojo+'_altura').value == '0' || document.getElementById(ojo+'_altura').value == '00'){
                    alert("Es necesario escribir un valor diferente de cero en "+ojo.toUpperCase()+" ALTURA");
                    document.getElementById(ojo+'_altura').focus();
                    bandera = false;
                    break;
                }
            }
            else if(document.getElementById(ojo+'_'+arreglo_arx[i]).value == ''){
                alert("Es necesario escribir un valor en "+arreglo_arx[i].toUpperCase());
                document.getElementById(ojo+'_'+arreglo_arx[i]).focus();
                bandera = false;
                break;
            }
        }
        if(bandera){
            if(document.getElementById('p_b').checked){
                if(document.getElementById(ojo+'_prisma').value == ''){
                    alert("Es necesario escribir un valor en PRISMA");
                    document.getElementById(ojo+'_prisma').focus();
                    bandera = false;
                }
                else{ 
                    if(document.getElementById(ojo+'_base').value == 0){
                        alert("Es necesario seleccionar un valor para BASE");
                        document.getElementById(ojo+'_base').focus();
                        bandera = false;
                    }
                    else if(document.getElementById(ojo+'_base').value == 'Eje'){
                        if(document.getElementById(ojo+'_eje_base').value == ''){
                            alert("Es necesario escribir un valor en EJE DE LA BASE ("+ojo.toUpperCase()+")");
                            document.getElementById(ojo+'_eje_base').focus();
                            bandera = false;
                        }
                    }
                }
            }
        }
    }
    return bandera;
}

function validar_cajas_vacias_rx_auto(ojo){
    var arreglo = new Array('od','oi');
    var arreglo_arx = new Array('esfera_auto','cilindro_auto','eje_auto','add_auto','dip_auto','altura_auto');
    bandera = true;
    if(ojo == 'oa'){
        for(i = 0; i < arreglo.length; i++){
            for(j = 0;j < arreglo_arx.length;j++){
                if(arreglo[i] == 'oi' && arreglo_arx[j] == 'dip_auto')
                    continue;
                else if(arreglo_arx[j] == 'add_auto' && document.getElementById(arreglo[i]+'_'+arreglo_arx[j]).value != '0.00'){
                    if(document.getElementById(arreglo[i]+'_altura_auto').value == '0' || document.getElementById(arreglo[i]+'_altura_auto').value == '00'){
                        alert("Es necesario escribir un valor diferente de cero en "+arreglo[i].toUpperCase()+" ALTURA");
                        document.getElementById(arreglo[i]+'_altura_auto').focus();
                        bandera = false;
                        break;
                    }
                }
                else if(document.getElementById(arreglo[i]+'_'+arreglo_arx[j]).value == ''){
                    alert("Es necesario escribir un valor en "+arreglo[i].toUpperCase()+" "+arreglo_arx[j].toUpperCase());
                    document.getElementById(arreglo[i]+'_'+arreglo_arx[j]).focus();
                    bandera = false;
                    break;
                }
            }
            if(!bandera)
                break;
            if(bandera){
                if(document.getElementById('p_b_auto').checked){
                    if(document.getElementById(arreglo[i]+'_prisma_auto').value == ''){
                        alert("Es necesario escribir un valor en "+arreglo[i].toUpperCase()+" PRISMA");
                        document.getElementById(arreglo[i]+'_prisma_auto').focus();
                        bandera = false;
                    }
                    else{ 
                        if(document.getElementById(arreglo[i]+'_base_auto').value == 0){
                            alert("Es necesario seleccionar un valor para "+arreglo[i].toUpperCase()+" BASE");
                            document.getElementById(arreglo[i]+'_base_auto').focus();
                            bandera = false;
                        }
                        else if(document.getElementById(arreglo[i]+'_base_auto').value == 'Eje'){
                            if(document.getElementById(arreglo[i]+'_eje_base_auto').value == ''){
                                alert("Es necesario escribir un valor en EJE DE LA BASE ("+arreglo[i].toUpperCase()+")");
                                document.getElementById(arreglo[i]+'_eje_base_auto').focus();
                                bandera = false;
                            }
                        }
                    }
                }
            }
        }
    }
    else{
        for(i = 0;i < arreglo_arx.length;i++){
            if(arreglo_arx[i] == 'add_auto' && document.getElementById(ojo+'_'+arreglo_arx[i]).value != '0.00'){
                if(document.getElementById(ojo+'_altura_auto').value == '0' || document.getElementById(ojo+'_altura_auto').value == '00'){
                    alert("Es necesario escribir un valor diferente de cero en "+ojo.toUpperCase()+" ALTURA");
                    document.getElementById(ojo+'_altura_auto').focus();
                    bandera = false;
                    break;
                }
            }
            else if(document.getElementById(ojo+'_'+arreglo_arx[i]).value == ''){
                alert("Es necesario escribir un valor en "+arreglo_arx[i].toUpperCase());
                document.getElementById(ojo+'_'+arreglo_arx[i]).focus();
                bandera = false;
                break;
            }
        }
        if(bandera){
            if(document.getElementById('p_b_auto').checked){
                if(document.getElementById(ojo+'_prisma_auto').value == ''){
                    alert("Es necesario escribir un valor en PRISMA");
                    document.getElementById(ojo+'_prisma_auto').focus();
                    bandera = false;
                }
                else{ 
                    if(document.getElementById(ojo+'_base_auto').value == 0){
                        alert("Es necesario seleccionar un valor para BASE");
                        document.getElementById(ojo+'_base_auto').focus();
                        bandera = false;
                    }
                    else if(document.getElementById(ojo+'_base_auto').value == 'Eje'){
                        if(document.getElementById(ojo+'_eje_base_auto').value == ''){
                            alert("Es necesario escribir un valor en EJE DE LA BASE ("+ojo.toUpperCase()+")");
                            document.getElementById(ojo+'_eje_base_auto').focus();
                            bandera = false;
                        }
                    }
                }
            }
        }
    }
    return bandera;
}

function validar_cajas_vacias_rx_ant(ojo){
    var arreglo = new Array('od','oi');
    var arreglo_arx = new Array('esfera_ant','cilindro_ant','eje_ant','add_ant','dip_ant','altura_ant');
    bandera = true;
    if(ojo == 'oa'){
        for(i = 0; i < arreglo.length; i++){
            for(j = 0;j < arreglo_arx.length;j++){
                if(arreglo[i] == 'oi' && arreglo_arx[j] == 'dip_ant')
                    continue;
                //else if(arreglo_arx[j] == 'add_ant' && document.getElementById(arreglo[i]+'_'+arreglo_arx[j]).value != '0.00'){
                    if(document.getElementById(arreglo[i]+'_altura_ant').value == '0' || document.getElementById(arreglo[i]+'_altura_ant').value == '00'){
                        alert("Es necesario escribir un valor diferente de cero en "+arreglo[i].toUpperCase()+" ALTURA");
                        document.getElementById(arreglo[i]+'_altura_ant').focus();
                        bandera = false;
                        break;
                    }
                //}
                else if(document.getElementById(arreglo[i]+'_'+arreglo_arx[j]).value == ''){
                    alert("Es necesario escribir un valor en "+arreglo[i].toUpperCase()+" "+arreglo_arx[j].toUpperCase());
                    document.getElementById(arreglo[i]+'_'+arreglo_arx[j]).focus();
                    bandera = false;
                    break;
                }
            }
            if(!bandera)
                break;
            if(bandera){
                if(document.getElementById('p_b_ant').checked){
                    if(document.getElementById(arreglo[i]+'_prisma_ant').value == ''){
                        alert("Es necesario escribir un valor en "+arreglo[i].toUpperCase()+" PRISMA");
                        document.getElementById(arreglo[i]+'_prisma_ant').focus();
                        bandera = false;
                    }
                    else{ 
                        if(document.getElementById(arreglo[i]+'_base_ant').value == 0){
                            alert("Es necesario seleccionar un valor para "+arreglo[i].toUpperCase()+" BASE");
                            document.getElementById(arreglo[i]+'_base_ant').focus();
                            bandera = false;
                        }
                        else if(document.getElementById(arreglo[i]+'_base_ant').value == 'Eje'){
                            if(document.getElementById(arreglo[i]+'_eje_base_ant').value == ''){
                                alert("Es necesario escribir un valor en EJE DE LA BASE ("+arreglo[i].toUpperCase()+")");
                                document.getElementById(arreglo[i]+'_eje_base_ant').focus();
                                bandera = false;
                            }
                        }
                    }
                }
            }
        }
    }
    else{
        for(i = 0;i < arreglo_arx.length;i++){
            //if(arreglo_arx[i] == 'add_ant' && document.getElementById(ojo+'_'+arreglo_arx[i]).value != '0.00'){
                if(document.getElementById(ojo+'_altura_ant').value == '0' || document.getElementById(ojo+'_altura_ant').value == '00'){
                    alert("Es necesario escribir un valor diferente de cero en "+ojo.toUpperCase()+" ALTURA");
                    document.getElementById(ojo+'_altura_ant').focus();
                    bandera = false;
                    break;
                }
            //}
            else if(document.getElementById(ojo+'_'+arreglo_arx[i]).value == ''){
                alert("Es necesario escribir un valor en "+arreglo_arx[i].toUpperCase());
                document.getElementById(ojo+'_'+arreglo_arx[i]).focus();
                bandera = false;
                break;
            }
        }
        if(bandera){
            if(document.getElementById('p_b_ant').checked){
                if(document.getElementById(ojo+'_prisma_ant').value == ''){
                    alert("Es necesario escribir un valor en PRISMA");
                    document.getElementById(ojo+'_prisma_ant').focus();
                    bandera = false;
                }
                else{ 
                    if(document.getElementById(ojo+'_base_ant').value == 0){
                        alert("Es necesario seleccionar un valor para BASE");
                        document.getElementById(ojo+'_base_ant').focus();
                        bandera = false;
                    }
                    else if(document.getElementById(ojo+'_base_ant').value == 'Eje'){
                        if(document.getElementById(ojo+'_eje_base_ant').value == ''){
                            alert("Es necesario escribir un valor en EJE DE LA BASE ("+ojo.toUpperCase()+")");
                            document.getElementById(ojo+'_eje_base_ant').focus();
                            bandera = false;
                        }
                    }
                }
            }
        }
    }
    return bandera;
}

function mostrar_prisma_base(div,id,ojo){
    checkbox = document.getElementById(id);
    if(checkbox.checked){
        if(ojo == 'oa' ){
            document.getElementById('od_prisma').disabled = false;
            document.getElementById('oi_prisma').disabled = false;
            document.getElementById('od_base').disabled = false;
            document.getElementById('oi_base').disabled = false;
        }
        else{
            document.getElementById(ojo+'_prisma').disabled = false;
            document.getElementById(ojo+'_base').disabled = false;
        }
    }
    else{
        if(ojo == 'oa' ){
            document.getElementById('od_prisma').disabled = true;
            document.getElementById('oi_prisma').disabled = true;
            document.getElementById('od_base').disabled = true;
            document.getElementById('oi_base').disabled = true;
            document.getElementById('div_od_eje_base').style.display = 'none';
            document.getElementById('div_oi_eje_base').style.display = 'none';
            document.getElementById('od_prisma').value = '';
            document.getElementById('oi_prisma').value = '';
            document.getElementById('od_base').selectedIndex = 0;
            document.getElementById('oi_base').selectedIndex = 0
            
        }
        else{
            document.getElementById(ojo+'_prisma').disabled = true;
            document.getElementById(ojo+'_base').disabled = true;
            document.getElementById('div_'+ojo+'_eje_base').style.display = 'none';
            document.getElementById(ojo+'_prisma').value = '';
            document.getElementById(ojo+'_base').selectedIndex = 0;
        }
    }
    document.getElementById(div).innerHTML = '';
}

function mostrar_prisma_base_auto(div,id,ojo){
    checkbox = document.getElementById(id);
    if(checkbox.checked){
        if(ojo == 'oa' ){
            document.getElementById('od_prisma_auto').disabled = false;
            document.getElementById('oi_prisma_auto').disabled = false;
            document.getElementById('od_base_auto').disabled = false;
            document.getElementById('oi_base_auto').disabled = false;
        }
        else{
            document.getElementById(ojo+'_prisma_auto').disabled = false;
            document.getElementById(ojo+'_base_auto').disabled = false;
        }
    }
    else{
        if(ojo == 'oa' ){
            document.getElementById('od_prisma_auto').disabled = true;
            document.getElementById('oi_prisma_auto').disabled = true;
            document.getElementById('od_base_auto').disabled = true;
            document.getElementById('oi_base_auto').disabled = true;
            document.getElementById('div_od_eje_base_auto').style.display = 'none';
            document.getElementById('div_oi_eje_base_auto').style.display = 'none';
            document.getElementById('od_prisma_auto').value = '';
            document.getElementById('oi_prisma_auto').value = '';
            document.getElementById('od_base_auto').selectedIndex = 0;
            document.getElementById('oi_base_auto').selectedIndex = 0
            
        }
        else{
            document.getElementById(ojo+'_prisma_auto').disabled = true;
            document.getElementById(ojo+'_base_auto').disabled = true;
            document.getElementById('div_'+ojo+'_eje_base_auto').style.display = 'none';
            document.getElementById(ojo+'_prisma_auto').value = '';
            document.getElementById(ojo+'_base_auto').selectedIndex = 0;
        }
    }
    document.getElementById(div).innerHTML = '';
}

function mostrar_prisma_base_ant(div,id,ojo){
    checkbox = document.getElementById(id);
    if(checkbox.checked){
        if(ojo == 'oa' ){
            document.getElementById('od_prisma_ant').disabled = false;
            document.getElementById('oi_prisma_ant').disabled = false;
            document.getElementById('od_base_ant').disabled = false;
            document.getElementById('oi_base_ant').disabled = false;
        }
        else{
            document.getElementById(ojo+'_prisma_ant').disabled = false;
            document.getElementById(ojo+'_base_ant').disabled = false;
        }
    }
    else{
        if(ojo == 'oa' ){
            document.getElementById('od_prisma_ant').disabled = true;
            document.getElementById('oi_prisma_ant').disabled = true;
            document.getElementById('od_base_ant').disabled = true;
            document.getElementById('oi_base_ant').disabled = true;
            document.getElementById('div_od_eje_base_ant').style.display = 'none';
            document.getElementById('div_oi_eje_base_ant').style.display = 'none';
            document.getElementById('od_prisma_ant').value = '';
            document.getElementById('oi_prisma_ant').value = '';
            document.getElementById('od_base_ant').selectedIndex = 0;
            document.getElementById('oi_base_ant').selectedIndex = 0
            
        }
        else{
            document.getElementById(ojo+'_prisma_ant').disabled = true;
            document.getElementById(ojo+'_base_ant').disabled = true;
            document.getElementById('div_'+ojo+'_eje_base_ant').style.display = 'none';
            document.getElementById(ojo+'_prisma_ant').value = '';
            document.getElementById(ojo+'_base_ant').selectedIndex = 0;
        }
    }
    document.getElementById(div).innerHTML = '';
}

function deshabilitar_rx(ojo){
    var arreglo = new Array('od','oi');
    var arreglo_arx = new Array('esfera','cilindro','eje','add','dip','altura');
    if(ojo == 'oa'){
        for(i = 0; i < arreglo.length; i++){
            for(j = 0;j < arreglo_arx.length;j++){
                if(arreglo[i] == 'oi' && arreglo_arx[j] == 'dip')
                    continue;
                else
                    document.getElementById(arreglo[i]+'_'+arreglo_arx[j]).readOnly = 'true';
                
            }
            if(document.getElementById('p_b').checked){
                document.getElementById(arreglo[i]+'_prisma').readOnly = 'true';
                document.getElementById(arreglo[i]+'_base').readOnly = 'true';
                if(document.getElementById(arreglo[i]+'_base').value == 'Eje')
                    document.getElementById(arreglo[i]+'_eje_base').readOnly = 'true';
            }
        }
    }
    else{
        for(i = 0;i < arreglo_arx.length;i++)
            document.getElementById(ojo+'_'+arreglo_arx[i]).readOnly = 'true';
        if(document.getElementById('p_b').checked){
            document.getElementById(ojo+'_prisma').readOnly = 'true';
            document.getElementById(ojo+'_base').readOnly = 'true';
            if(document.getElementById(ojo+'_base').value == 'Eje')
                document.getElementById(ojo+'_eje_base').readOnly = 'true';
        }
    }
    document.getElementById('h_rx').value = 'OK';
}

function deshabilitar_rx_auto(ojo){
    var arreglo = new Array('od','oi');
    var arreglo_arx = new Array('esfera_auto','cilindro_auto','eje_auto','add_auto','dip_auto','altura_auto');
    if(ojo == 'oa'){
        for(i = 0; i < arreglo.length; i++){
            for(j = 0;j < arreglo_arx.length;j++){
                if(arreglo[i] == 'oi' && arreglo_arx[j] == 'dip_auto')
                    continue;
                else
                    document.getElementById(arreglo[i]+'_'+arreglo_arx[j]).readOnly = 'true';
                
            }
            if(document.getElementById('p_b_auto').checked){
                document.getElementById(arreglo[i]+'_prisma_auto').readOnly = 'true';
                document.getElementById(arreglo[i]+'_base_auto').readOnly = 'true';
                if(document.getElementById(arreglo[i]+'_base_auto').value == 'Eje')
                    document.getElementById(arreglo[i]+'_eje_base_auto').readOnly = 'true';
            }
        }
    }
    else{
        for(i = 0;i < arreglo_arx.length;i++)
            document.getElementById(ojo+'_'+arreglo_arx[i]).readOnly = 'true';
        if(document.getElementById('p_b_auto').checked){
            document.getElementById(ojo+'_prisma_auto').readOnly = 'true';
            document.getElementById(ojo+'_base_auto').readOnly = 'true';
            if(document.getElementById(ojo+'_base_auto').value == 'Eje')
                document.getElementById(ojo+'_eje_base_auto').readOnly = 'true';
        }
    }
    document.getElementById('h_rx_auto').value = 'OK';
}

function deshabilitar_rx_ant(ojo){
    var arreglo = new Array('od','oi');
    var arreglo_arx = new Array('esfera_ant','cilindro_ant','eje_ant','add_ant','dip_ant','altura_ant');
    if(ojo == 'oa'){
        for(i = 0; i < arreglo.length; i++){
            for(j = 0;j < arreglo_arx.length;j++){
                if(arreglo[i] == 'oi' && arreglo_arx[j] == 'dip_ant')
                    continue;
                else
                    document.getElementById(arreglo[i]+'_'+arreglo_arx[j]).readOnly = 'true';
                
            }
            if(document.getElementById('p_b_ant').checked){
                document.getElementById(arreglo[i]+'_prisma_ant').readOnly = 'true';
                document.getElementById(arreglo[i]+'_base_ant').readOnly = 'true';
                if(document.getElementById(arreglo[i]+'_base_ant').value == 'Eje')
                    document.getElementById(arreglo[i]+'_eje_base_ant').readOnly = 'true';
            }
        }
    }
    else{
        for(i = 0;i < arreglo_arx.length;i++)
            document.getElementById(ojo+'_'+arreglo_arx[i]).readOnly = 'true';
        if(document.getElementById('p_b_ant').checked){
            document.getElementById(ojo+'_prisma_ant').readOnly = 'true';
            document.getElementById(ojo+'_base_ant').readOnly = 'true';
            if(document.getElementById(ojo+'_base_ant').value == 'Eje')
                document.getElementById(ojo+'_eje_base_ant').readOnly = 'true';
        }
    }
    document.getElementById('h_rx_ant').value = 'OK';
}

/**
 * Funcion que devuelve true o false dependiendo de si la fecha es correcta.
 * Tiene que recibir el dia, mes y año
 */
function isValidDate(day,month,year){
    var dteDate;
 
    // En javascript, el mes empieza en la posicion 0 y termina en la 11 
    //   siendo 0 el mes de enero
    // Por esta razon, tenemos que restar 1 al mes
    month=month-1;
    // Establecemos un objeto Data con los valore recibidos
    // Los parametros son: año, mes, dia, hora, minuto y segundos
    // getDate(); devuelve el dia como un entero entre 1 y 31
    // getDay(); devuelve un num del 0 al 6 indicando siel dia es lunes,
    //   martes, miercoles ...
    // getHours(); Devuelve la hora
    // getMinutes(); Devuelve los minutos
    // getMonth(); devuelve el mes como un numero de 0 a 11
    // getTime(); Devuelve el tiempo transcurrido en milisegundos desde el 1
    //   de enero de 1970 hasta el momento definido en el objeto date
    // setTime(); Establece una fecha pasandole en milisegundos el valor de esta.
    // getYear(); devuelve el año
    // getFullYear(); devuelve el año
    dteDate=new Date(year,month,day);
 
    //Devuelva true o false...
    return ((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear()));
}
 
/**
 * Funcion para validar una fecha
 * Tiene que recibir:
 *  La fecha en formato ingles yyyy-mm-dd
 * Devuelve:
 *  true-Fecha correcta
 *  false-Fecha Incorrecta
 */
function validate_fecha(fecha){
    var patron=new RegExp("^(19|20)+([0-9]{2})([-])([0-9]{1,2})([-])([0-9]{1,2})$");
 
    if(fecha.search(patron)==0){
        var values=fecha.split("-");
        if(isValidDate(values[2],values[1],values[0])){
            return true;
        }
    }
    return false;
}
 
/**
 * Esta función calcula la edad de una persona y los meses
 * La fecha la tiene que tener el formato yyyy-mm-dd que es
 * metodo que por defecto lo devuelve el <input type="date">
 */
function calcularEdad(){
    //var fecha=document.getElementById("user_date").value;
    var fecha=document.getElementById("fecha_nacimiento").value;
    if(validate_fecha(fecha)==true){
        // Si la fecha es correcta, calculamos la edad
        var values=fecha.split("-");
        var dia = values[2];
        var mes = values[1];
        var ano = values[0];
 
        // cogemos los valores actuales
        var fecha_hoy = new Date();
        var ahora_ano = fecha_hoy.getYear();
        var ahora_mes = fecha_hoy.getMonth()+1;
        var ahora_dia = fecha_hoy.getDate();
 
        // realizamos el calculo
        var edad = (ahora_ano + 1900) - ano;
        if ( ahora_mes < mes ){
            edad--;
        }
        if ((mes == ahora_mes) && (ahora_dia < dia)){
            edad--;
        }
        if (edad > 1900){
            edad -= 1900;
        }
 
        // calculamos los meses
        var meses=0;
        if(ahora_mes>mes)
            meses=ahora_mes-mes;
        if(ahora_mes<mes)
            meses=12-(mes-ahora_mes);
        if(ahora_mes==mes && dia>ahora_dia)
            meses=11;
 
        // calculamos los dias
        var dias=0;
        if(ahora_dia>dia)
            dias=ahora_dia-dia;
        if(ahora_dia<dia){
            ultimoDiaMes=new Date(ahora_ano, ahora_mes, 0);
            dias=ultimoDiaMes.getDate()-(dia-ahora_dia);
        }
 
        //document.getElementById("result").innerHTML="Tienes "+edad+" años, "+meses+" meses y "+dias+" días";
        document.getElementById("edad").value = edad+ " años";
    }
    else{
        //document.getElementById("result").innerHTML="La fecha "+fecha+" es incorrecta";
        document.getElementById("edad").value = "La fecha "+fecha+" es incorrecta";
    }
}

function generar_descripcion(){
    var descripcion = "";
    //proveedor
    proveedor = $("#fk_cat_proveedores option:selected").text();
    //marca
    marca = $("#fk_cat_marca option:selected").text();
    //modelo
    modelo = $("#fk_cat_modelo option:selected").text();
    //tamaño
    tamano = $("#tamano").val();
    tamano2 = $("#tamano2").val();
    //codigo color
    codigo_color = $("#codigo_color").val();
    //color fisico
    color_fisico = $("#fisico_color").val();

    //generar la descripcion
    descripcion = marca+" "+modelo+" "+tamano+"/"+tamano2+" "+codigo_color+" "+color_fisico;
    //descripcion = proveedor+" "+marca+" "+modelo+" "+tamano+"/"+tamano2+" "+codigo_color+" "+color_fisico;
    //setear a las caja de texto correspondientes
    $("#descripcion").val(descripcion);
}

function generar_codigo(){
    var codigo = "";
    //proveedor
    proveedor = $("#h_prefijo_prov").val();
    proveedor = proveedor.toUpperCase();
    //marca
    marca = $("#h_prefijo_marca").val();
    marca = marca.toUpperCase();
    //modelo
    modelo = $("#fk_cat_modelo option:selected").text();
    modelo = modelo.replace(/\s/g,"");
    modelo = modelo.toUpperCase();
    //tamaño
    tamano = $("#tamano").val();
    tamano = tamano.substring(0,2);
    tamano = tamano.toUpperCase();
    tamano2 = $("#tamano2").val();
    tamano2 = tamano2.substring(0,2);
    tamano2 = tamano2.toUpperCase();
    //codigo color
    codigo_color = $("#codigo_color").val();
    codigo_color = codigo_color.toUpperCase();

    //generar el codigo
    codigo = proveedor+""+marca+""+modelo+""+tamano+""+codigo_color;
    //codigo = proveedor+""+marca+""+modelo+""+tamano+""+tamano2+""+codigo_color;
    //setear a las caja de texto correspondientes
    $("#codigo").val(codigo);
}

function total_tipo_cambio(value,txt,txtTotal,tipo_cambio,caja_pu){
    var caja = document.getElementById(txt).value;
    var total = caja * value;
    var total = total * tipo_cambio;
    var pu = document.getElementById(caja_pu).value;//obtenemos lo que tiene la caja de pu
    document.getElementById(caja_pu).value = Math.round((pu * tipo_cambio)*100)/100;//lo multiplicamos por el tipo de cambio y lo peganos en la caja de pu
    document.getElementById(txtTotal).value = Math.round(total*100)/100;
}

function validar_1_2(e){
    //saber que navegador es para que funcione la funcion\\
    tecla = (document.all) ? e.keyCode : e.which;
    //para permitir que se puedan borrar las teclas\\
    if (tecla==8 || tecla==0)
        return true;
    //que expresion vamos a admitir\\
    patron =/[12]/;
    //Se pasa el valor ASCII de la variable tecla a su carácter correspondiente\\
    te = String.fromCharCode(tecla);
    //Si el carácter coincide con el patrón, la función devuelve true, si no coincide devuelve false\\
    return patron.test(te);
}

function limpiar_cajas_vta(){
    //descuentos
    $('#t_descuento_arm').val('');
    $('#t_descuento_ser').val('');
    //totales
    $('#t_total_arm').val('');
    $('#t_total_ser').val('');
    //RESUMEN
    //descuentos
    $('#r_descuento_arm').val('');
    $('#r_descuento_mat').val('');
    $('#r_descuento_ser').val('');
    //totales
    $('#r_total_arm').val('');
    $('#r_total_mat').val('');
    $('#r_total_ser').val('');
    //GRAN TOTAL RESUMEN
    $('#r_t_subtotal').val('');
    $('#r_t_descuento').val('');
    $('#r_t_total').val('');
    $('#total_orden').val('');
}

function val_serv_trata(tipo,i){
    caja_total = 0;
    if(tipo == 'mat_ser'){
        //obtenemos el total que llevan los servicios
        tot_ser = $('#t_servicios').val();
        tot_ser = tot_ser * 1;
        tot_ser -= $('#total_fsl'+i).val();
        document.getElementById('t_servicios').value = Math.round(tot_ser*100)/100;
    }
    else{
        //obtenemos el total que llevan los tratamientos
        tot_trata = $('#t_tratamientos').val();
        tot_trata = tot_trata * 1;
        tot_trata -= $('#total_ft'+i).val();
        document.getElementById('t_tratamientos').value = Math.round(tot_trata*100)/100;
    }
    //MATERIALES
    caja_materiales = Math.round(document.getElementById('t_materiales').value * 100) / 100;
    //SERVICIOS
    caja_servicios = Math.round(document.getElementById('t_servicios').value * 100) / 100;
    //TRATAMIENTOS
    caja_tratamientos = Math.round(document.getElementById('t_tratamientos').value * 100) / 100;
    //TOTAL
    caja_total = Math.round((caja_materiales + caja_servicios + caja_tratamientos) * 100) / 100;

    document.getElementById('t_subtotal_mat').value = caja_total;
    //Insertamos en RESUMEN
    document.getElementById('r_subtotal_mat').value = caja_total;
    document.getElementById('r_descuento_mat').value = 0;
    document.getElementById('r_total_mat').value = caja_total;

}

function totales_resumen(){    
    tot_subtotal = 0;
    tot_descuento = 0;
    tot_total = 0;
    //obtenemos las cajas subtotal    
    tot_subtotal += $('#r_subtotal_arm').val() * 1;
    tot_subtotal += $('#r_subtotal_mat').val() * 1;
    tot_subtotal += $('#r_subtotal_ser').val() * 1;
    //obtenemos las cajas descuento
    tot_descuento += $('#r_descuento_arm').val() * 1;
    tot_descuento += $('#r_descuento_mat').val() * 1;
    tot_descuento += $('#r_descuento_ser').val() * 1;
    //obtenemos las cajas total
    tot_total += $('#r_total_arm').val() * 1;
    tot_total += $('#r_total_mat').val() * 1;
    tot_total += $('#r_total_ser').val() * 1;
    //las pegamos en las cajas totales
    $('#r_t_subtotal').val(tot_subtotal);
    $('#r_t_descuento').val(tot_descuento);
    $('#r_t_total').val(tot_total);
    $('#total_orden').val(tot_total);
}

function f_anticipo_opticash(){
    total_orden = $('#total_orden').val() * 1;
    //cachamos el saldo actual del opticash
    /*h_saldo_opticash = $('#h_saldo_opticash').val() * 1;
    saldo_opticash = $('#saldo_opticash').val() * 1;
    if(h_saldo_opticash >= saldo_opticash){*/
        //obtenemos la caja de anticipo y de opticash (SI EXISTE) y de pase de descuento (SI EXISTE)
        ant = $('#anticipo').val() * 1;
        ant_cash = (isNaN($('#anticipo_opticash').val() * 1)) ? 0 : $('#anticipo_opticash').val() * 1;
        pase_dsco = (isNaN($('#vale_descuento').val() * 1)) ? 0 : $('#vale_descuento').val() * 1;
        total_a_pagar = total_orden - (ant + ant_cash + pase_dsco);
        if(ant + ant_cash + pase_dsco > total_orden){
            $('#a_pagar').val(total_orden);
            alert('No puedes pagar mas del total de la orden ('+total_orden+')');
            $('#anticipo').val('');
            $('#vale_descuento').val('');
            $('#anticipo_opticash').val('');
        }
        else
            $('#a_pagar').val(total_a_pagar);
    /*}
    else{
        $('#a_pagar').val(total_orden);
        $('#anticipo').val('');
        $('#vale_descuento').val('');
        $('#anticipo_opticash').val('');
        //alert("A la ñonga");
    }*/
}

function cambio_dinero(){
    anticipo = $('#anticipo').val() * 1;
    recibido = $('#recibido').val() * 1;
    $('#cambio').val(recibido - anticipo);
}

function marcar_regalo(txt_pu,txt_total,h_dsco,h_cant_dsco){
    document.getElementById(txt_pu).value = 0;
    document.getElementById(txt_total).value = 0;
    document.getElementById(h_dsco).value = 0;
    document.getElementById(h_cant_dsco).value = 0.00;
}

function hide_popover(){
    $(function () {
        $('[data-toggle=\"popover\"]').popover('hide');
    });
}
/*function calcular_total_paquetes(datos){
    var sum_precio=0;
    var precio=0;

    var sum_precio_original=0;
    var precio_original=0;

    var descuento=0;
    var cantidad=0;
    var suma_cantidad=0;
    var total=0;
    var suma_total=0;
    $(".area_box_paquetes input").each(function(key,value) {
        //----------------------
        var id=$(this).attr("id");
        //----------------------
        if(id!=undefined){
            if(id.search("pp_cantidad")!= -1){//Es el campo precio
                cantidad=convert_string_to_number($('#'+id).val());
                suma_cantidad+=cantidad;
            }else if(id.search("pp_precio")!= -1){//Es el campo precio
                precio=convert_string_to_number($('#'+id).val());
                sum_precio+=precio;
            }else if(id.search("pp_total_x_row")!= -1){//Es el campo precio
                total=cantidad*precio;
                suma_total+=total;
                $("#"+id).val(redondear_v1(total,2));
            }

        }
    });
    $("#t_cantidad_paq").val(suma_cantidad); 
    $("#t_subtotal_paq").val(redondear_v1(suma_total,2)); 

    $("#t_total_paq").val(redondear_v1(suma_total,2)); 
    
    $("#r_cantidad_paq").val(suma_cantidad); 
    $("#r_subtotal_paq").val(redondear_v1(suma_total,2)); 

    $("#r_total_paq").val(redondear_v1(suma_total,2));         
    
    totales_resumen();    
}*/
function calcular_total_pedido_proveedor(datos){
    var sum_precio=0;
    var precio=0;

    var sum_precio_original=0;
    var precio_original=0;

    var descuento=0;
    var cantidad=0;
    var suma_cantidad=0;
    var total=0;
    var suma_total=0;
    $("#box_body_pedido_a_proveedor input").each(function(key,value) {
        //----------------------
        var id=$(this).attr("id");
        //----------------------
        if(id!=undefined){
            if(id.search("pp_cantidad")!= -1){//Es el campo precio
                cantidad=convert_string_to_number($('#'+id).val());
                suma_cantidad+=cantidad;
            }else if(id.search("pp_precio")!= -1){//Es el campo precio
                precio=convert_string_to_number($('#'+id).val());
                sum_precio+=precio;
            }else if(id.search("pp_total_x_row")!= -1){//Es el campo precio
                total=cantidad*precio;
                suma_total+=total;
                $("#"+id).val(redondear_v1(total,2));
            }

        }
    });
    $("#t_cantidad_pap").val(suma_cantidad); 
    $("#t_subtotal_pap").val(redondear_v1(suma_total,2)); 
    $("#t_total_pap").val(redondear_v1(suma_total,2)); 

    $("#r_cantidad_pap").val(suma_cantidad); 
    $("#r_subtotal_pap").val(redondear_v1(suma_total,2)); 
    $("#r_total_pap").val(redondear_v1(suma_total,2));         

    totales_resumen_pedido_a_proveedor();    
}
function totales_resumen_pedido_a_proveedor(){
    tot_subtotal = 0;
    tot_descuento = 0;
    tot_total = 0;
    //obtenemos las cajas subtotal
    
    tot_subtotal += $('#r_subtotal_pap').val() * 1;
    //obtenemos las cajas descuento    
    tot_descuento += $('#r_descuento_pap').val() * 1;
    //obtenemos las cajas total    
    tot_total += $('#r_total_pap').val() * 1;
    //las pegamos en las cajas totales
    $('#r_t_subtotal').val(tot_subtotal);
    $('#r_t_descuento').val(tot_descuento);
    $('#r_t_total').val(tot_total);
    $('#total_orden').val(tot_total);
}
function redondear_v1(numero, decimales){
    factor = Math.pow(10, decimales);
    return Math.round(numero*factor)/factor; 
}
function errorCallback(error){
    console.log(JSON.stringify(error));
}

function cancelCallback(){
    //confirm('Estás seguro que deseas cancelar el pago?');
    console.log('Payment cancelled');
}

//function completeCallback(resultado,indicador,session) {
function completeCallback(resultIndicator, sessionVersion) {
    alert('El pago se completo exitosamente');
    //console.log(session);
    var base_url = window.location.origin;
    $.ajax({
        type: 'POST',
        url: '' + base_url + '/sistema/application/controllers/check_test.php?order='+object_global.id,
        beforeSend: function () {
            //alert('Espere un momento...');

            $('#PB_BANCO_EMISOR').val('');
            $('#PB_CODIGO_AUT').val('');
            $('#PB_FECHA_REQ_AUT').val('');
            $('#PB_FECHA_REQ_CTE').val('');
            $('#PB_FECHA_RSP_AUT').val('');
            $('#PB_FECHA_RSP_CTE').val('');
            $('#PB_ID_AFILIACION').val('');
            $('#PB_MARCA_TARJETA').val('');
            $('#PB_REFERENCIA').val('');
            $('#PB_RESULTADO_AUT').val('');
            $('#PB_RESULTADO_PAYW').val('');
            $('#PB_TEXTO').val('');
            $('#PB_TIPO_TARJETA').val('');
        },
        success: function (data) {   
            console.log(data);       
            data=JSON.parse(data);
            for (var i in data.transaction) {                
                if(data.transaction[i].result=='FAILURE'){

                }else{                    
                    var card=data.transaction[i].sourceOfFunds.provided.card.number;
                    var long=card.length;
                    card=card.substring(long-4,long);

                    $('#PBanamex_CARDNUMBER').val(card);
                    $('#PBanamex_FECHA_EXPIRACION').val(data.transaction[i].sourceOfFunds.provided.card.expiry.month+'/'+data.transaction[i].sourceOfFunds.provided.card.expiry.year);

                    $('#PBanamex_TERMINAL').val('BANAMEX');
                    $('#PBanamex_BANCO_EMISOR').val(data.transaction[i].sourceOfFunds.provided.card.issuer);
                    $('#PBanamex_CODIGO_AUT').val(data.transaction[i].transaction.authorizationCode);
                    $('#PBanamex_FECHA_REQ_AUT').val('');
                    $('#PBanamex_FECHA_REQ_CTE').val('');
                    $('#PBanamex_FECHA_RSP_AUT').val('');
                    $('#PBanamex_FECHA_RSP_CTE').val(data.transaction[i].timeOfRecord);

                    $('#PBanamex_ID_AFILIACION').val(data.transaction[i].transaction.acquirer.merchantId);
                    $('#PBanamex_MARCA_TARJETA').val(data.transaction[i].sourceOfFunds.provided.card.brand);
                    $('#PBanamex_REFERENCIA').val(data.transaction[i].transaction.receipt);
                    $('#PBanamex_RESULTADO_AUT').val('');
                    $('#PBanamex_RESULTADO_PAYW').val('');
                    $('#PBanamex_TEXTO').val('');
                    $('#PBanamex_TIPO_TARJETA').val(data.transaction[i].sourceOfFunds.provided.card.fundingMethod);
                    $('#PBanamex_MONTO').val(data.transaction[i].transaction.amount);

                    var ob=new Object();
                    ob.frm_registro=new Object();
                    ob.frm_registro.expiryMonth="";
                    ob.frm_registro.expiryYear="";
                    ob.frm_registro.monto=data.transaction[i].transaction.amount;
                    ob.frm_registro.cardNumber=card;

                    ob.terminal='BANAMEX';
                    ob.banco_emisor=data.transaction[i].sourceOfFunds.provided.card.brand;
                    ob.tipo_tarjeta=data.transaction[i].sourceOfFunds.provided.card.fundingMethod;
                    ob.marca_tarjeta='';

                    ob.id_afiliacion=data.transaction[i].transaction.acquirer.merchantId;
                    ob.cod_aut=data.transaction[i].transaction.authorizationCode;
                    ob.referencia=data.transaction[i].transaction.receipt;
                    ob.fk_cat_area = $('#fk_cat_area').val();
                    ob.fecha_rsp_cte = data.transaction[i].timeOfRecord;

                    var json=JSON.stringify(ob);
                    json=encodeURIComponent(json);

                    var base_url = window.location.origin;
                    window.open(base_url+'/sistema/ventas/venta/imprimir_banorte/'+json,'_black');

                    if(xajax_guardar(xajax.getFormValues('frm_gral'),
                        xajax.getFormValues('frm_promos'),
                        xajax.getFormValues('frm_det_articulo_arm'),
                        xajax.getFormValues('frm_mat'),
                        xajax.getFormValues('frm_det_articulo_lc'),
                        xajax.getFormValues('frm_det_articulo_ins'),
                        xajax.getFormValues('frm_det_articulo_ser'),
                        xajax.getFormValues('frm_paquetes'),
                        xajax.getFormValues('frm_resumen'),'FALSE')){
                        //alert('entro');
                        document.getElementById('frm_resumen').submit();
                        //frm_resumen.form.submit();
                    }
                }
            }

        }
    });
}
//#############################################
function errorCallback_v2(error){
    console.log(JSON.stringify(error));
}
function cancelCallback_v2(){
    //confirm('Estás seguro que deseas cancelar el pago?');
    console.log('Payment cancelled');
}

function completeCallback_v2(resultIndicator, sessionVersion) {
    alert('El pago se completo exitosamente');
    //console.log(session);
    var base_url = window.location.origin;
    $.ajax({
        type: 'POST',
        url: '' + base_url + '/sistema/application/controllers/check_test_v2.php?order='+object_global.id,
        beforeSend: function () {
            //alert('Espere un momento...');

            $('#PB_BANCO_EMISOR').val('');
            $('#PB_CODIGO_AUT').val('');
            $('#PB_FECHA_REQ_AUT').val('');
            $('#PB_FECHA_REQ_CTE').val('');
            $('#PB_FECHA_RSP_AUT').val('');
            $('#PB_FECHA_RSP_CTE').val('');
            $('#PB_ID_AFILIACION').val('');
            $('#PB_MARCA_TARJETA').val('');
            $('#PB_REFERENCIA').val('');
            $('#PB_RESULTADO_AUT').val('');
            $('#PB_RESULTADO_PAYW').val('');
            $('#PB_TEXTO').val('');
            $('#PB_TIPO_TARJETA').val('');
        },
        success: function (data) {   
            console.log(data);       
            data=JSON.parse(data);
            for (var i in data.transaction) {                
                if(data.transaction[i].result=='FAILURE'){

                }else{                    
                    var card=data.transaction[i].sourceOfFunds.provided.card.number;
                    var long=card.length;
                    card=card.substring(long-4,long);

                    $('#PBanamex_CARDNUMBER').val(card);
                    $('#PBanamex_FECHA_EXPIRACION').val(data.transaction[i].sourceOfFunds.provided.card.expiry.month+'/'+data.transaction[i].sourceOfFunds.provided.card.expiry.year);

                    $('#PBanamex_TERMINAL').val('BANAMEX');
                    $('#PBanamex_BANCO_EMISOR').val(data.transaction[i].sourceOfFunds.provided.card.issuer);
                    $('#PBanamex_CODIGO_AUT').val(data.transaction[i].transaction.authorizationCode);
                    $('#PBanamex_FECHA_REQ_AUT').val('');
                    $('#PBanamex_FECHA_REQ_CTE').val('');
                    $('#PBanamex_FECHA_RSP_AUT').val('');
                    $('#PBanamex_FECHA_RSP_CTE').val(data.transaction[i].timeOfRecord);

                    $('#PBanamex_ID_AFILIACION').val(data.transaction[i].transaction.acquirer.merchantId);
                    $('#PBanamex_MARCA_TARJETA').val(data.transaction[i].sourceOfFunds.provided.card.brand);
                    $('#PBanamex_REFERENCIA').val(data.transaction[i].transaction.receipt);
                    $('#PBanamex_RESULTADO_AUT').val('');
                    $('#PBanamex_RESULTADO_PAYW').val('');
                    $('#PBanamex_TEXTO').val('');
                    $('#PBanamex_TIPO_TARJETA').val(data.transaction[i].sourceOfFunds.provided.card.fundingMethod);
                    $('#PBanamex_MONTO').val(data.transaction[i].transaction.amount);

                    var ob=new Object();
                    ob.frm_registro=new Object();
                    ob.frm_registro.expiryMonth="";
                    ob.frm_registro.expiryYear="";
                    ob.frm_registro.monto=data.transaction[i].transaction.amount;
                    ob.frm_registro.cardNumber=card;

                    ob.terminal='BANAMEX';
                    ob.banco_emisor=data.transaction[i].sourceOfFunds.provided.card.brand;
                    ob.tipo_tarjeta=data.transaction[i].sourceOfFunds.provided.card.fundingMethod;
                    ob.marca_tarjeta='';

                    ob.id_afiliacion=data.transaction[i].transaction.acquirer.merchantId;
                    ob.cod_aut=data.transaction[i].transaction.authorizationCode;
                    ob.referencia=data.transaction[i].transaction.receipt;
                    ob.fk_cat_area = $('#fk_cat_area').val();
                    ob.fecha_rsp_cte = data.transaction[i].timeOfRecord;

                    var json=JSON.stringify(ob);
                    json=encodeURIComponent(json);

                    var base_url = window.location.origin;
                    window.open(base_url+'/sistema/ventas/venta/imprimir_banorte/'+json,'_black');

                    if(xajax_guardar(xajax.getFormValues('frm_gral'),
                        xajax.getFormValues('frm_promos'),
                        xajax.getFormValues('frm_det_articulo_arm'),
                        xajax.getFormValues('frm_mat'),
                        xajax.getFormValues('frm_det_articulo_lc'),
                        xajax.getFormValues('frm_det_articulo_ins'),
                        xajax.getFormValues('frm_det_articulo_ser'),
                        xajax.getFormValues('frm_paquetes'),
                        xajax.getFormValues('frm_resumen'),'FALSE')){
                        //alert('entro');
                        document.getElementById('frm_resumen').submit();
                        //frm_resumen.form.submit();
                    }
                }
            }

        }
    });
}
//#############################################
function errorbanamexAbono(error){
    console.log(JSON.stringify(error));
}

function cancelbanamexAbono(){
    //confirm('Estás seguro que deseas cancelar el pago?');
    console.log('Payment cancelled');
}

function completebanamexAbono(resultado,session) {
    alert('El pago se completo exitosamente'); 
    var base_url = window.location.origin;
    $.ajax({
        type: 'POST',
        url: '' + base_url + '/sistema/application/controllers/check_test.php?order='+object_global.id,
        beforeSend: function () {
            //alert('Espere un momento...');

            $('#PB_BANCO_EMISOR').val('');
            $('#PB_CODIGO_AUT').val('');
            $('#PB_FECHA_REQ_AUT').val('');
            $('#PB_FECHA_REQ_CTE').val('');
            $('#PB_FECHA_RSP_AUT').val('');
            $('#PB_FECHA_RSP_CTE').val('');
            $('#PB_ID_AFILIACION').val('');
            $('#PB_MARCA_TARJETA').val('');
            $('#PB_REFERENCIA').val('');
            $('#PB_RESULTADO_AUT').val('');
            $('#PB_RESULTADO_PAYW').val('');
            $('#PB_TEXTO').val('');
            $('#PB_TIPO_TARJETA').val('');
        },
        success: function (data) {   
            console.log(data);       
            data=JSON.parse(data);
            for (var i in data.transaction) {                
                if(data.transaction[i].result=='FAILURE'){
                }else{
                    var card=data.transaction[i].sourceOfFunds.provided.card.number;
                    var long=card.length;
                    card=card.substring(long-4,long);

                    $('#PBanamex_CARDNUMBER').val(card);
                    $('#PBanamex_FECHA_EXPIRACION').val(data.transaction[i].sourceOfFunds.provided.card.expiry.month+'/'+data.transaction[i].sourceOfFunds.provided.card.expiry.year);

                    $('#PBanamex_TERMINAL').val('BANAMEX');
                    $('#PBanamex_BANCO_EMISOR').val(data.transaction[i].sourceOfFunds.provided.card.issuer);
                    $('#PBanamex_CODIGO_AUT').val(data.transaction[i].transaction.authorizationCode);
                    $('#PBanamex_FECHA_REQ_AUT').val('');
                    $('#PBanamex_FECHA_REQ_CTE').val('');
                    $('#PBanamex_FECHA_RSP_AUT').val('');
                    $('#PBanamex_FECHA_RSP_CTE').val(data.transaction[i].timeOfRecord);

                    $('#PBanamex_ID_AFILIACION').val(data.transaction[i].transaction.acquirer.merchantId);
                    $('#PBanamex_MARCA_TARJETA').val(data.transaction[i].sourceOfFunds.provided.card.brand);
                    $('#PBanamex_REFERENCIA').val(data.transaction[i].transaction.receipt);
                    $('#PBanamex_RESULTADO_AUT').val('');
                    $('#PBanamex_RESULTADO_PAYW').val('');
                    $('#PBanamex_TEXTO').val('');
                    $('#PBanamex_TIPO_TARJETA').val(data.transaction[i].sourceOfFunds.provided.card.fundingMethod);
                    $('#PBanamex_MONTO').val(data.transaction[i].transaction.amount);

                    $('#txt_cod_num').val(data.transaction[i].transaction.authorizationCode);
                    $('#txt_cod_num').attr('readonly','readonly');
                    $('#txt_tot_abono').attr('readonly','readonly');
                    $('#txt_fecha_pago').attr('readonly','readonly');
                    
                    $('#fk_cat_bancos').attr('readonly','readonly');

                    var ob=new Object();
                    ob.frm_registro=new Object();
                    ob.frm_registro.expiryMonth="";
                    ob.frm_registro.expiryYear="";
                    ob.frm_registro.monto=data.transaction[i].transaction.amount;
                    ob.frm_registro.cardNumber=card;

                    ob.terminal='BANAMEX';
                    ob.banco_emisor=data.transaction[i].sourceOfFunds.provided.card.brand;
                    ob.tipo_tarjeta=data.transaction[i].sourceOfFunds.provided.card.fundingMethod;
                    ob.marca_tarjeta='';

                    ob.id_afiliacion=data.transaction[i].transaction.acquirer.merchantId;
                    ob.cod_aut=data.transaction[i].transaction.authorizationCode;
                    ob.referencia=data.transaction[i].transaction.receipt;
                    ob.fk_cat_area = $('#fk_cat_area').val();
                    ob.fecha_rsp_cte = data.transaction[i].timeOfRecord;

                    var json=JSON.stringify(ob);
                    json=encodeURIComponent(json);

                    var base_url = window.location.origin;            
                    window.open(base_url+'/sistema/ventas/abonos/imprimir_banorte/'+json,'_black');

                    if(xajax_guardar_abono(xajax.getFormValues('frm_abono'),$('#txt_num_doc').val())){
                        document.getElementById('frm_abono').submit();
                    }
                }
            }

            
        }
    });   
}
function errorbanamexAbono_real(error){
    console.log(JSON.stringify(error));
}

function cancelbanamexAbono_real(){
    //confirm('Estás seguro que deseas cancelar el pago?');
    console.log('Payment cancelled');
}
function completebanamexAbono_real(resultado,session) {
    alert('El pago se completo exitosamente'); 
    var base_url = window.location.origin;
    $.ajax({
        type: 'POST',
        url: '' + base_url + '/sistema/application/controllers/check_test_v2.php?order='+object_global.id,
        beforeSend: function () {
            //alert('Espere un momento...');

            $('#PB_BANCO_EMISOR').val('');
            $('#PB_CODIGO_AUT').val('');
            $('#PB_FECHA_REQ_AUT').val('');
            $('#PB_FECHA_REQ_CTE').val('');
            $('#PB_FECHA_RSP_AUT').val('');
            $('#PB_FECHA_RSP_CTE').val('');
            $('#PB_ID_AFILIACION').val('');
            $('#PB_MARCA_TARJETA').val('');
            $('#PB_REFERENCIA').val('');
            $('#PB_RESULTADO_AUT').val('');
            $('#PB_RESULTADO_PAYW').val('');
            $('#PB_TEXTO').val('');
            $('#PB_TIPO_TARJETA').val('');
        },
        success: function (data) {   
            console.log(data);       
            data=JSON.parse(data);
            for (var i in data.transaction) {                
                if(data.transaction[i].result=='FAILURE'){
                }else{
                    var card=data.transaction[i].sourceOfFunds.provided.card.number;
                    var long=card.length;
                    card=card.substring(long-4,long);

                    $('#PBanamex_CARDNUMBER').val(card);
                    $('#PBanamex_FECHA_EXPIRACION').val(data.transaction[i].sourceOfFunds.provided.card.expiry.month+'/'+data.transaction[i].sourceOfFunds.provided.card.expiry.year);

                    $('#PBanamex_TERMINAL').val('BANAMEX');
                    $('#PBanamex_BANCO_EMISOR').val(data.transaction[i].sourceOfFunds.provided.card.issuer);
                    $('#PBanamex_CODIGO_AUT').val(data.transaction[i].transaction.authorizationCode);
                    $('#PBanamex_FECHA_REQ_AUT').val('');
                    $('#PBanamex_FECHA_REQ_CTE').val('');
                    $('#PBanamex_FECHA_RSP_AUT').val('');
                    $('#PBanamex_FECHA_RSP_CTE').val(data.transaction[i].timeOfRecord);

                    $('#PBanamex_ID_AFILIACION').val(data.transaction[i].transaction.acquirer.merchantId);
                    $('#PBanamex_MARCA_TARJETA').val(data.transaction[i].sourceOfFunds.provided.card.brand);
                    $('#PBanamex_REFERENCIA').val(data.transaction[i].transaction.receipt);
                    $('#PBanamex_RESULTADO_AUT').val('');
                    $('#PBanamex_RESULTADO_PAYW').val('');
                    $('#PBanamex_TEXTO').val('');
                    $('#PBanamex_TIPO_TARJETA').val(data.transaction[i].sourceOfFunds.provided.card.fundingMethod);
                    $('#PBanamex_MONTO').val(data.transaction[i].transaction.amount);

                    $('#txt_cod_num').val(data.transaction[i].transaction.authorizationCode);
                    $('#txt_cod_num').attr('readonly','readonly');
                    $('#txt_tot_abono').attr('readonly','readonly');
                    $('#txt_fecha_pago').attr('readonly','readonly');
                    
                    $('#fk_cat_bancos').attr('readonly','readonly');

                    var ob=new Object();
                    ob.frm_registro=new Object();
                    ob.frm_registro.expiryMonth="";
                    ob.frm_registro.expiryYear="";
                    ob.frm_registro.monto=data.transaction[i].transaction.amount;
                    ob.frm_registro.cardNumber=card;

                    ob.terminal='BANAMEX';
                    ob.banco_emisor=data.transaction[i].sourceOfFunds.provided.card.brand;
                    ob.tipo_tarjeta=data.transaction[i].sourceOfFunds.provided.card.fundingMethod;
                    ob.marca_tarjeta='';

                    ob.id_afiliacion=data.transaction[i].transaction.acquirer.merchantId;
                    ob.cod_aut=data.transaction[i].transaction.authorizationCode;
                    ob.referencia=data.transaction[i].transaction.receipt;
                    ob.fk_cat_area = $('#fk_cat_area').val();
                    ob.fecha_rsp_cte = data.transaction[i].timeOfRecord;

                    var json=JSON.stringify(ob);
                    json=encodeURIComponent(json);

                    var base_url = window.location.origin;            
                    window.open(base_url+'/sistema/ventas/abonos/imprimir_banorte/'+json,'_black');

                    if(xajax_guardar_abono(xajax.getFormValues('frm_abono'),$('#txt_num_doc').val())){
                        document.getElementById('frm_abono').submit();
                    }
                }
            }

            
        }
    });   
}
function errorbanamexPedido_proveedor(error){
    console.log(JSON.stringify(error));
}

function cancelbanamexPedido_proveedor(){
    //confirm('Estás seguro que deseas cancelar el pago?');
    console.log('Payment cancelled');
}

function completebanamexPedido_proveedor(resultado,session) {
    alert('El pago se completo exitosamente'); 
    var base_url = window.location.origin;
    $.ajax({
        type: 'POST',
        url: '' + base_url + '/sistema/application/controllers/check_test.php?order='+object_global.id,
        beforeSend: function () {
            //alert('Espere un momento...');

            $('#PB_BANCO_EMISOR').val('');
            $('#PB_CODIGO_AUT').val('');
            $('#PB_FECHA_REQ_AUT').val('');
            $('#PB_FECHA_REQ_CTE').val('');
            $('#PB_FECHA_RSP_AUT').val('');
            $('#PB_FECHA_RSP_CTE').val('');
            $('#PB_ID_AFILIACION').val('');
            $('#PB_MARCA_TARJETA').val('');
            $('#PB_REFERENCIA').val('');
            $('#PB_RESULTADO_AUT').val('');
            $('#PB_RESULTADO_PAYW').val('');
            $('#PB_TEXTO').val('');
            $('#PB_TIPO_TARJETA').val('');
        },
        success: function (data) {   
            console.log(data);       
            data=JSON.parse(data);

            for (var i in data.transaction) {                
                if(data.transaction[i].result=='FAILURE'){
                }else{
                    var card=data.transaction[i].sourceOfFunds.provided.card.number;
                    var long=card.length;
                    card=card.substring(long-4,long);

                    $('#PBanamex_CARDNUMBER').val(card);
                    $('#PBanamex_FECHA_EXPIRACION').val(data.transaction[i].sourceOfFunds.provided.card.expiry.month+'/'+data.transaction[i].sourceOfFunds.provided.card.expiry.year);

                    $('#PBanamex_TERMINAL').val('BANAMEX');
                    $('#PBanamex_BANCO_EMISOR').val(data.transaction[i].sourceOfFunds.provided.card.issuer);
                    $('#PBanamex_CODIGO_AUT').val(data.transaction[i].transaction.authorizationCode);
                    $('#PBanamex_FECHA_REQ_AUT').val('');
                    $('#PBanamex_FECHA_REQ_CTE').val('');
                    $('#PBanamex_FECHA_RSP_AUT').val('');
                    $('#PBanamex_FECHA_RSP_CTE').val(data.transaction[i].timeOfRecord);

                    $('#PBanamex_ID_AFILIACION').val(data.transaction[i].transaction.acquirer.merchantId);
                    $('#PBanamex_MARCA_TARJETA').val(data.transaction[i].sourceOfFunds.provided.card.brand);
                    $('#PBanamex_REFERENCIA').val(data.transaction[i].transaction.receipt);
                    $('#PBanamex_RESULTADO_AUT').val('');
                    $('#PBanamex_RESULTADO_PAYW').val('');
                    $('#PBanamex_TEXTO').val('');
                    $('#PBanamex_TIPO_TARJETA').val(data.transaction[i].sourceOfFunds.provided.card.fundingMethod);
                    $('#PBanamex_MONTO').val(data.transaction[i].transaction.amount);

                    $('#txt_cod_num').val(data.transaction[i].transaction.authorizationCode);
                    $('#txt_cod_num').attr('readonly','readonly');
                    $('#txt_tot_abono').attr('readonly','readonly');
                    $('#txt_fecha_pago').attr('readonly','readonly');
                    
                    $('#fk_cat_bancos').attr('readonly','readonly');

                    var ob=new Object();
                    ob.frm_registro=new Object();
                    ob.frm_registro.expiryMonth="";
                    ob.frm_registro.expiryYear="";
                    ob.frm_registro.monto=data.transaction[i].transaction.amount;
                    ob.frm_registro.cardNumber=card;

                    ob.terminal='BANAMEX';
                    ob.banco_emisor=data.transaction[i].sourceOfFunds.provided.card.brand;
                    ob.tipo_tarjeta=data.transaction[i].sourceOfFunds.provided.card.fundingMethod;
                    ob.marca_tarjeta='';

                    ob.id_afiliacion=data.transaction[i].transaction.acquirer.merchantId;
                    ob.cod_aut=data.transaction[i].transaction.authorizationCode;
                    ob.referencia=data.transaction[i].transaction.receipt;
                    ob.fk_cat_area = $('#fk_cat_area').val();
                    ob.fecha_rsp_cte = data.transaction[i].timeOfRecord;

                    var json=JSON.stringify(ob);
                    json=encodeURIComponent(json);

                    var base_url = window.location.origin;            
                    window.open(base_url+'/sistema/ventas/pedido_a_proveedor/imprimir_banorte/'+json,'_black');

                    if(xajax_guardar(xajax.getFormValues('frm_gral'),
                        xajax.getFormValues('frm_promos'),
                        xajax.getFormValues('frm_pedido_a_proveedor'),
                        xajax.getFormValues('frm_resumen'),'FALSE')){
                        
                        document.getElementById('frm_resumen').submit();                
                    }
                }
            }
            
        }
    });   
}
function errorbanamexPedido_proveedor_real(error){
    console.log(JSON.stringify(error));
}

function cancelbanamexPedido_proveedor_real(){
    //confirm('Estás seguro que deseas cancelar el pago?');
    console.log('Payment cancelled');
}

function completebanamexPedido_proveedor_real(resultado,session) {
    alert('El pago se completo exitosamente'); 
    var base_url = window.location.origin;
    $.ajax({
        type: 'POST',
        url: '' + base_url + '/sistema/application/controllers/check_test_v2.php?order='+object_global.id,
        beforeSend: function () {
            //alert('Espere un momento...');

            $('#PB_BANCO_EMISOR').val('');
            $('#PB_CODIGO_AUT').val('');
            $('#PB_FECHA_REQ_AUT').val('');
            $('#PB_FECHA_REQ_CTE').val('');
            $('#PB_FECHA_RSP_AUT').val('');
            $('#PB_FECHA_RSP_CTE').val('');
            $('#PB_ID_AFILIACION').val('');
            $('#PB_MARCA_TARJETA').val('');
            $('#PB_REFERENCIA').val('');
            $('#PB_RESULTADO_AUT').val('');
            $('#PB_RESULTADO_PAYW').val('');
            $('#PB_TEXTO').val('');
            $('#PB_TIPO_TARJETA').val('');
        },
        success: function (data) {   
            console.log(data);       
            data=JSON.parse(data);

            for (var i in data.transaction) {                
                if(data.transaction[i].result=='FAILURE'){
                }else{
                    var card=data.transaction[i].sourceOfFunds.provided.card.number;
                    var long=card.length;
                    card=card.substring(long-4,long);

                    $('#PBanamex_CARDNUMBER').val(card);
                    $('#PBanamex_FECHA_EXPIRACION').val(data.transaction[i].sourceOfFunds.provided.card.expiry.month+'/'+data.transaction[i].sourceOfFunds.provided.card.expiry.year);

                    $('#PBanamex_TERMINAL').val('BANAMEX');
                    $('#PBanamex_BANCO_EMISOR').val(data.transaction[i].sourceOfFunds.provided.card.issuer);
                    $('#PBanamex_CODIGO_AUT').val(data.transaction[i].transaction.authorizationCode);
                    $('#PBanamex_FECHA_REQ_AUT').val('');
                    $('#PBanamex_FECHA_REQ_CTE').val('');
                    $('#PBanamex_FECHA_RSP_AUT').val('');
                    $('#PBanamex_FECHA_RSP_CTE').val(data.transaction[i].timeOfRecord);

                    $('#PBanamex_ID_AFILIACION').val(data.transaction[i].transaction.acquirer.merchantId);
                    $('#PBanamex_MARCA_TARJETA').val(data.transaction[i].sourceOfFunds.provided.card.brand);
                    $('#PBanamex_REFERENCIA').val(data.transaction[i].transaction.receipt);
                    $('#PBanamex_RESULTADO_AUT').val('');
                    $('#PBanamex_RESULTADO_PAYW').val('');
                    $('#PBanamex_TEXTO').val('');
                    $('#PBanamex_TIPO_TARJETA').val(data.transaction[i].sourceOfFunds.provided.card.fundingMethod);
                    $('#PBanamex_MONTO').val(data.transaction[i].transaction.amount);

                    $('#txt_cod_num').val(data.transaction[i].transaction.authorizationCode);
                    $('#txt_cod_num').attr('readonly','readonly');
                    $('#txt_tot_abono').attr('readonly','readonly');
                    $('#txt_fecha_pago').attr('readonly','readonly');
                    
                    $('#fk_cat_bancos').attr('readonly','readonly');

                    var ob=new Object();
                    ob.frm_registro=new Object();
                    ob.frm_registro.expiryMonth="";
                    ob.frm_registro.expiryYear="";
                    ob.frm_registro.monto=data.transaction[i].transaction.amount;
                    ob.frm_registro.cardNumber=card;

                    ob.terminal='BANAMEX';
                    ob.banco_emisor=data.transaction[i].sourceOfFunds.provided.card.brand;
                    ob.tipo_tarjeta=data.transaction[i].sourceOfFunds.provided.card.fundingMethod;
                    ob.marca_tarjeta='';

                    ob.id_afiliacion=data.transaction[i].transaction.acquirer.merchantId;
                    ob.cod_aut=data.transaction[i].transaction.authorizationCode;
                    ob.referencia=data.transaction[i].transaction.receipt;
                    ob.fk_cat_area = $('#fk_cat_area').val();
                    ob.fecha_rsp_cte = data.transaction[i].timeOfRecord;

                    var json=JSON.stringify(ob);
                    json=encodeURIComponent(json);

                    var base_url = window.location.origin;            
                    window.open(base_url+'/sistema/ventas/pedido_a_proveedor/imprimir_banorte/'+json,'_black');

                    if(xajax_guardar(xajax.getFormValues('frm_gral'),
                        xajax.getFormValues('frm_promos'),
                        xajax.getFormValues('frm_pedido_a_proveedor'),
                        xajax.getFormValues('frm_resumen'),'FALSE')){
                        
                        document.getElementById('frm_resumen').submit();                
                    }
                }
            }
            
        }
    });   
}
function beforeRedirect(data){

    console.log(data);

}
function convert_string_to_number(string){
    //Si el texto no se puede convertir a un numero siempre regresar cero
    string=parseFloat(string);
    if(isNaN(string)){//No se puede convertir a numero
        string=0;
    }
    return string;
}
function append_item_to_select_v1(objeto){
    for (var a in objeto.json) {       
        $(objeto.element_dom).append('<option value='+objeto.json[a][objeto.pk]+'>'+objeto.json[a][objeto.des]+'</ption>');
    }
}

function revisar_mat_dif($combo){
    if($('input:radio[name=selec_ojo]:checked').val() == 'oa'){
        //checamos si los campos estan llenos
        if(document.getElementById('fk_cat_tipo_lente_od').value != 'Seleccione' && document.getElementById('fk_cat_tipo_lente_oi').value != 'Seleccione'){
            switch($combo){
                case 'tipo_lente':
                    if(document.getElementById('fk_cat_tipo_lente_od').value != document.getElementById('fk_cat_tipo_lente_oi').value)
                        alert('OBSERVACION:\n\nTipo de Lente O.D. y Tipo de Lente O.I. son diferentes...Verifique');
                break;

                case 'diseno':
                    if(document.getElementById('fk_cat_diseno_od').value != document.getElementById('fk_cat_diseno_oi').value)
                        alert('OBSERVACION:\n\nDiseño O.D. y Diseño O.I. son diferentes...Verifique');
                break;

                case 'material':
                    if(document.getElementById('fk_u_mat_diseno_od').value != document.getElementById('fk_u_mat_diseno_oi').value)
                        alert('OBSERVACION:\n\nMaterial O.D. y Material O.I. son diferentes...Verifique');
                break;

            }
        }
    }
}

function mat_sin_costo(){
    document.getElementById('t_materiales').value = 0;
    document.getElementById('t_servicios').value = 0;
    document.getElementById('t_tratamientos').value = 0;
    document.getElementById('t_subtotal_mat').value = 0.00;
    //Insertamos en RESUMEN
    document.getElementById('r_subtotal_mat').value = 0;
    document.getElementById('r_descuento_mat').value = 0;
    document.getElementById('r_total_mat').value = 0;
    //
    $('#h_mat_sin_costo').val('TRUE');
    totales_resumen();
}
function empty_msg_v2(objeto){
    objeto.event_onhidden=(!objeto.hasOwnProperty('event_onhidden'))? "":objeto.event_onhidden;
    objeto.event_onshown=(!objeto.hasOwnProperty('event_onshown'))? "":objeto.event_onshown;
    objeto.dialog_type=(!objeto.hasOwnProperty('dialog_type'))? "TYPE_WARNING":objeto.dialog_type;
    objeto.dialog_title=(!objeto.hasOwnProperty('dialog_title'))? "ADVERTENCIA":objeto.dialog_title;
    objeto.icon_frm_advertencia=(!objeto.hasOwnProperty('icon_frm_advertencia'))? "glyphicon glyphicon-warning-sign":objeto.icon_frm_advertencia;

    var frm="<div class=\"media\"><a class=\"pull-left\"><span class=\""+objeto.icon_frm_advertencia+"\" style=\"font-size: 44px;\"></span></a><div class=\"media-body\"><h6 class=\"media-heading\">&nbsp;&nbsp;&nbsp;</h6>"+objeto.mensaje+"</div></div>";
    
    object_global.advertencia = new BootstrapDialog({
        title:objeto.dialog_title,
        type:BootstrapDialog[objeto.dialog_type],
        
        message: function(dialogRef){
            var mensaje='<div id=\"frm_advertencia\">'+frm+'</div>';
            return mensaje;
        },
        buttons: [
        {
            label: 'Cerrar',
            id:'btn_cancelar_advertencia',
            action: function(dialogItself){
                dialogItself.close();
            }
        }],
        onshown: function(dialogRef){
            $('#btn_cancelar_advertencia').focus();
            eval(objeto.event_onshown);
        },
        onhidden: function(dialogRef){           
           eval(objeto.event_onhidden.toString());
        },
        size:BootstrapDialog.SIZE_NORMAL,
        draggable: true
    });
    object_global.advertencia.realize();
    object_global.advertencia.open();       
}
function show_type_error_ajax(xhr,status){
    var mensaje='';
    if (xhr.status === 0) {
        mensaje='1.-No hay conexión a internet, verifica tu red.<br> 2.-O vuelve a intentarlo.';
    } else if (xhr.status == 404) {
        mensaje='Tu solicitud no fue encontrada en la pagina que estas especificando [404]';
    } else if (xhr.status == 500) {
        mensaje='Internal Server Error [500]';
    } else if (status === 'parsererror') {
        mensaje='Requested JSON parse failed';
    } else if (status === 'timeout') {
        mensaje='Time out error.';
    } else if (status === 'abort') {
        mensaje='Ajax request aborted.';
    } else {
        mensaje='Uncaught Error: ' + xhr.responseText;
    }
    var ob=new Object();
    ob.mensaje=mensaje;
    empty_msg_v2(ob);

}

function valida_new_pass(pass){
    if(pass == ''){
        alert('No puedes guardar una contrase\u00f1a vacia');
        return false;
    }
    else
        return true;
}

function rh_descanso(idChecked){
    contador = 0;
    checkbox = document.getElementById(idChecked);
    if(checkbox.checked){


        arreglo = new Array('lun','mar','mie','jue','vie','sab','dom');
        for(j = 0; j < arreglo.length; j++){
            if($('#txt_'+arreglo[j]+'1').is('[readonly]'))
                contador++;
        }


        if(contador < 2){
            i = 1;
            while(i <= 4){
                $('#txt_'+idChecked+i).val('00:00');
                $('#txt_'+idChecked+i).attr('readonly',true);
                $('#txt_'+idChecked+i).css('background-color', '#A7EDEB');
                i++;
            }
        }
        else{
            alert('Solo puedes elegir 2 días de descanso');
            $('#'+idChecked).prop('checked',false);
            i = 1;
            while(i <= 4){
                $('#txt_'+idChecked+i).val('');
                $('#txt_'+idChecked+i).attr('readonly',false);
                $('#txt_'+idChecked+i).css('background-color', 'white');
                i++;
            }
        }
    }
    else{
        i = 1;
        while(i <= 4){
            $('#txt_'+idChecked+i).val('');
            $('#txt_'+idChecked+i).attr('readonly',false);
            $('#txt_'+idChecked+i).css('background-color', 'white');
            i++;
        }
    }
    /*arreglo = new Array('lun','mar','mie','jue','vie','sab','dom');
    dia = dia.substring(0,3);
    for(j = 0; j < arreglo.length; j++){
        if (dia == arreglo[j]){
            i = 1;
            while(i <= 4){
                $('#txt_'+arreglo[j]+i).val('00:00');
                $('#txt_'+arreglo[j]+i).attr('readonly',true);
                $('#txt_'+arreglo[j]+i).css('background-color', '#A7EDEB');
                i++;
            }
        }
        else{
            i = 1;
            while(i <= 4){
                if(opc == 'new')
                    $('#txt_'+arreglo[j]+i).val('');
                $('#txt_'+arreglo[j]+i).attr('readonly',false);
                $('#txt_'+arreglo[j]+i).css('background-color', 'white');
                i++;
            }
        }
    }*/
}

function cambiar_msj_rh(entrada,checado){
    entrada = entrada.split(":");
    hora = parseInt(entrada[0]);
    minutos = parseInt(entrada[1]);
    entrada_1 = new Date('1990','0','1',hora,minutos + 6,'00');
    entrada_2 = new Date('1990','0','1',hora,minutos + 16,'00');
    entrada_3 = new Date('1990','0','1',hora,minutos + 21,'00');
    entrada_4 = new Date('1990','0','1',hora,minutos + 31,'00');;
    var checado = new Date('1/1/1990 '+checado);
    if(entrada_1 >= checado)
        document.getElementById('txt_observa').value = "A TIEMPO";
    else if(entrada_2 >= checado)
        document.getElementById('txt_observa').value = "1 * RETARDO";
    else if(entrada_3 >= checado)
        document.getElementById('txt_observa').value = "2 * RETARDO";
    else if(entrada_4 >= checado)
        document.getElementById('txt_observa').value = "3 * RETARDO";
    else
        document.getElementById('txt_observa').value = "1 * FALTA";
}

/*function importar_plantilla_excel(){
    BootstrapDialog.show({
        title:'Importar',
        type: BootstrapDialog.TYPE_PRIMARY,
        size: BootstrapDialog.SIZE_NORMAL,
        message: function(dialogRef){
            var mensaje='<div id=\"modal_importar\"></div>';
            return mensaje;
        },
        onshow: function(dialogRef){
            $('.adm-contenido').css('z-index','10');
        },
        onshown: function(dialogRef){
            loading('modal_importar');
            xajax_ver_seleccion_archivo();
        },
        buttons: [
        {
            label: 'Guardar',
            cssClass: 'btn-primary',
            autospin: true,
            id: 'btn_guardar',
            action: function(dialog){
                if( $('#name_archivo').val() !=''  ){
                    btn_guardar.disabled=true;
                    importar_archivo_excel();
                    dialog.close(); 
                }
                else{
                    alert('Selecione un archivo');
                    dialog.close();
                }
            }
            },{
            label: 'Cancelar',
            cssClass: 'btn-danger',
            action: function(dialogItself){
                dialogItself.close();
            }
            }],
            size:BootstrapDialog.SIZE_WIDE,
            draggable: true                         
    }); 
}*/

function importar_archivo_excel(num,rbtn_tipo,pk_promociones){
    var formData = new FormData($('#form_importar_plantilla'+num)[0]);
    //var h_num_p_rezagados = $('#h_num_p_rezagados').val();
    var fk_cat_formas_pago_p_rezagados = $('#fk_cat_formas_pago_p_rezagados'+num).val();
    var descuento_p_rezagados = $('#descuento_p_rezagados'+num).val();
    var opticash_p_rezagados = $('#opticash_p_rezagados'+num).val();
    if(typeof opticash_p_rezagados != '')
        opticash_p_rezagados = opticash_p_rezagados;
    else
        var opticash_p_rezagados = 0;
    formData.append('h_num_p_rezagados',num);
    formData.append('fk_cat_formas_pago_p_rezagados',fk_cat_formas_pago_p_rezagados);
    formData.append('rbtn_tipo',rbtn_tipo);
    formData.append('descuento_p_rezagados',descuento_p_rezagados);
    formData.append('opticash_p_rezagados',opticash_p_rezagados);
    formData.append('pk_promociones',pk_promociones);
    $.ajax({
        //data: datos,
        data: formData,
        url: 'Promociones/importar_productos_rezagados',
        type: 'POST',
        //necesario para subir archivos via ajax
        cache: false,
        contentType: false,
        processData: false,
        //mientras enviamos el archivo
        //una vez finalizado correctamente
        success: function (recibir) {
            var ob=JSON.parse(recibir);
            //console.log(ob);

            BootstrapDialog.show({
                title: ob.dialog_title,
                message: ob.mensaje,
                type: ob.dialog_type,
                cssClass: 'login-dialog',
                buttons: [{
                    label: 'Aceptar',
                    id: 'btn_actualizar',
                    cssClass: 'btn-info',
                    action: function(dialog){
                        dialog.close();
                    }
                }]
            });
        },
        error : function(xhr, status) {
            //Disculpe, existió un problema
            show_type_error_ajax(xhr, status);
        },                           
        // código a ejecutar sin importar si la petición falló o no
        complete : function(xhr, status) {
            // alert('Petición realizada');
        }
    });
}

function marcar_filas_factura_dep(idFila,idChecked){
    bandera = true;
    checkbox = document.getElementById(idChecked);
    idFila = document.getElementById(idFila);
    if(checkbox.checked){
        idFila.style.background = "#C7E1EF";
        bandera = true;
    }
    else{
        idFila.style.background = "#FFFFFF";
        bandera = false;
    }
    return bandera;

}

function llenar_cobro_de_abono_dep(bandera,factura,tipo){
    caja_sumatoria = parseFloat(document.getElementById('h_total').value);
    radios = document.getElementsByName('rbtn'+factura);
    if(bandera){
        for(i = 0; i < radios.length; i++)
            radios[i].disabled = false;
    }
    else{
        for(i = 0; i < radios.length; i++)
            radios[i].disabled = true;
        if(caja_sumatoria != 0){
            abono = parseFloat(document.getElementById('h_'+factura).value);
            //abono = parseFloat($('#h_'+factura).val());
            if(isNaN(abono))
                abono = 0;
            caja_sumatoria -= abono;
            //$('#h_'+factura).val(0);
            document.getElementById('h_'+factura).value = 0;
            if(tipo == 'abono'){
                document.getElementById("h_total").value = caja_sumatoria;
                document.getElementById("txt_tot_abono").value = Math.round(caja_sumatoria * 100) / 100;
            }
            else{
                sin_iva = caja_sumatoria / 1.16;
                document.getElementById("h_sumatoria").value = sin_iva;
                document.getElementById("txt_subtotal").value = Math.round(sin_iva * 100) / 100;
                
                iva = sin_iva * 0.16;
                document.getElementById("h_iva").value = iva;
                document.getElementById("txt_iva").value = Math.round(iva * 100) / 100;
                
                total = sin_iva + iva;
                document.getElementById("h_total").value = total;
                document.getElementById("txt_total").value = Math.round(total * 100) / 100;
            }
        }
        document.getElementById('div_'+factura).style.display = 'none';
    }
}

function llenar_caja_de_abonos(tipo_pago,factura,saldo,tipo){
    caja_sumatoria = 0;
    div = document.getElementById('div_'+factura);
    txt = document.getElementById('txt_'+factura);
    sumatoria = parseFloat(saldo);
    //if(tipo == 'abono')
        caja_sumatoria = parseFloat(document.getElementById('h_total').value);
    //else
        //caja_sumatoria = parseFloat(document.getElementById('h_sumatoria').value);
    radios = document.getElementsByName('rbtn'+factura);
    if(tipo_pago == 'total'){
        txt.value = saldo;
        txt.disabled = true;
        div.style.display = 'block';
        //if(tipo == 'abono'){
            caja_sumatoria += sumatoria;
            document.getElementById('h_'+factura).value = saldo;
            //$('#h_'+factura).val(saldo);
        //}
    }
    else{
        txt.value = '';
        txt.disabled = false;
        div.style.display ='block';
        txt.focus();
    }
    for(i = 0; i < radios.length; i++)
        radios[i].disabled = true;
    if(tipo == 'abono'){
        document.getElementById("h_total").value = caja_sumatoria;
        document.getElementById("txt_tot_abono").value = Math.round(caja_sumatoria * 100) / 100;
    }
    else if(tipo_pago == 'total' && tipo == 'nota_credito'){
        sin_iva = caja_sumatoria / 1.16;
        document.getElementById("h_sumatoria").value = sin_iva;
        document.getElementById("txt_subtotal").value = Math.round(sin_iva * 100) / 100;
        
        iva = sin_iva * 0.16;
        document.getElementById("h_iva").value = iva;
        document.getElementById("txt_iva").value = Math.round(iva * 100) / 100;
        
        total = sin_iva + iva;
        document.getElementById("h_total").value = total;
        document.getElementById("txt_total").value = Math.round(total * 100) / 100;
    }
}

function validar_saldo(saldo,pago_parcial,factura){
    saldo = parseFloat(saldo);
    pago_parcial = parseFloat(pago_parcial);
    if(pago_parcial > saldo){
        alert("No puedes Abonar ($ "+pago_parcial+") mas de lo que saldas ($ "+saldo+")");
        document.getElementById('txt_'+factura).value = '';
    }
}

function open_file_dialog(num){
    $('#input_archivo'+num).trigger('click');
}

function get_datos_archivo(event,num){
    var fuente = event.target;
    console.log('metodo file');
    //obtenemos un array con los datos del archivo
    var file = fuente.files[0];
    //obtenemos el nombre del archivo
    var fileName = file.name;
    //obtenemos la extensión del archivo
    fileExtension = fileName.substring(fileName.lastIndexOf('.') + 1);
    //obtenemos el tamaño del archivo
    var fileSize = file.size;
    //obtenemos el tipo de archivo image/png ejemplo
    var fileType = file.type;
    //mensaje con la información del archivo
   // showMessage('<span class=\"info\">Archivo para subir: '+fileName+', peso total: '+fileSize+' bytes.</span>');
    document.getElementById('name_archivo'+num).value = fileName;
}

var object_global=new Object();