$(document).ready(function() {
    if($('#cantProductosCarrito').val() == '' || $('#cantProductosCarrito').val() == '0') {
        $('#divConfirmarPedido').hide();
        $('#icoCancelarCompra').hide();
        $('#icoGuardarCompra').hide();
    } else {
        $('#divConfirmarPedido').show();
        $('#icoCancelarCompra').show();
        $('#icoGuardarCompra').show();
    }
});

function esValorNumerico(event) {
    if(!event) event = event || window.event;
        return (
            (event.keyCode > 7 && event.keyCode < 10) // delete (8) o tabulador (9)
            || (event.keyCode > 47 && event.keyCode < 60) // numeros del teclado
            || (event.keyCode > 95 && event.keyCode < 106) // teclado numerico
            || event.keyCode == 17 // Ctrl
            || event.keyCode == 116 // F5
        );
}

function leer_cantidad_producto(id_producto) {
    var textCantidad = document.getElementById('stock'+id_producto).value;
    if(!textCantidad || textCantidad == 0 || textCantidad == '' || !isNumeric(textCantidad)) {
        textCantidad = 1;
    }
    return textCantidad;
}

function flecha_arriba(id_producto) {
    var Cantidad = leer_cantidad_producto(id_producto);
    Cantidad++;
    document.getElementById('stock'+id_producto).value = Cantidad;
}

function flecha_abajo(id_producto) {
    var Cantidad = leer_cantidad_producto(id_producto);
    if(Cantidad <= 1) {
        Cantidad = 1;
    } else {
        Cantidad--;
    }
    document.getElementById('stock'+id_producto).value = Cantidad;
}

function flecha_arriba_carrito(id_producto, carrito) {
    if(carrito == '1') {
        $('#divItemsCarrito')
            .fadeTo('fast', 0.5)
            .attr('disabled', 'disabled')
            .load('ajax_scripts/frontend/alterar_cantidad_carrito.php?id_prod=' + id_producto + '&dif=1&carr=' + carrito, 
                function(response, status, xhr) {
                    if(status == 'error') {
                        alert('Error de carga');
                    } else {
                        $('#divItemsCarrito')
                            .attr('disabled', '')
                            .fadeTo('fast', 1);
                    }
                }
            );
    }
    
    if(carrito == '2' && $('#divResumenCompra').length > 0) {
        $('#divResumenCompra')
            .fadeTo('fast', 0.5)
            .attr('disabled', 'disabled')
            .load('ajax_scripts/frontend/alterar_cantidad_carrito.php?id_prod=' + id_producto + '&dif=1&carr=' + carrito, 
                function(response, status, xhr) {
                    if(status == 'error') {
                        alert('Error de carga');
                    } else {
                        $('#divResumenCompra')
                            .attr('disabled', '')
                            .fadeTo('fast', 1);
                    }
                }
            );
    }
}

function flecha_abajo_carrito(id_producto, carrito) {
    if(carrito == '1') {
        $('#divItemsCarrito')
            .fadeTo('fast', 0.5)
            .attr('disabled', 'disabled')
            .load('ajax_scripts/frontend/alterar_cantidad_carrito.php?id_prod=' + id_producto + '&dif=-1&carr=' + carrito, 
                function(response, status, xhr) {
                    if(status == 'error') {
                        alert('Error de carga');
                    } else {
                        $('#divItemsCarrito')
                            .attr('disabled', '')
                            .fadeTo('fast', 1);
                    }
                }
            );
    }

    if(carrito == '2' && $('#divResumenCompra').length > 0) {
        $('#divResumenCompra')
            .fadeTo('fast', 0.5)
            .attr('disabled', 'disabled')
            .load('ajax_scripts/frontend/alterar_cantidad_carrito.php?id_prod=' + id_producto + '&dif=-1&carr=' + carrito, 
                function(response, status, xhr) {
                    if(status == 'error') {
                        alert('Error de carga');
                    } else {
                        $('#divResumenCompra')
                            .attr('disabled', '')
                            .fadeTo('fast', 1);
                    }
                }
            );
    }    
}

function agregar_producto(id_prod, id_sucursal) {
    //var id_sucursal = $('#sucursal' + id_prod).val();
    var cantidad = $('#cantCarrito' + id_prod + '_' + id_sucursal).val();
    if(!isNumeric(cantidad)) {
        $('#cantCarrito' + id_prod + '_' + id_sucursal).jAlert('La cantidad del producto debe ser un n&uacute;mero', 'fatal');
        return false;
    }
    if(cantidad == 0 || cantidad == '') {
        $('#cantCarrito' + id_prod + '_' + id_sucursal).jAlert('Debe especificar la cantidad del producto que sumar&aacute; al carrito de compras', 'fatal');
        return false;
    }
    $('#divItemsCarrito').fadeTo('fast', 0.5);
    var dataString = 'id_prod=' + id_prod + '&id_sucursal=' + id_sucursal + '&cantidad=' + cantidad;
    $.ajax({  
        type: 'GET',  
        url: 'ajax_scripts/frontend/agregar_producto_carrito.php',
        data: dataString,
        dataType: 'script',
        async: false,
        success: function(data, textStatus, XMLHttpRequest) {
            $('#divItemsCarrito')
                .attr('disabled', 'disabled')
                .load('ajax_scripts/frontend/carrito_mostrar.php', 
                    function(response, status, xhr) {
                        if(status == 'error') {
                            alert('Error de carga');
                            $('#divItemsCarrito').fadeTo('fast', 1);
                        } else {
                            $('#divItemsCarrito').attr('disabled', '')
                            $('#divItemsCarrito').fadeTo('fast', 1);
                            $('#divConfirmarPedido').show();
                            $('#icoCancelarCompra').show();
                            $('#icoGuardarCompra').show();
                        }
                    }
                );
        }
    });

}

function eliminar_producto(id_prod, carrito) {
    $.confirm({
        'title'      : 'Quitar Producto Del Carrito',
        'message'    : '&iquest;Est&aacute; seguro de quitar este producto del carrito?',
        'buttons'    : {
            'Si'    : {
                'class' : 'blue',
                'action': function() {
                    if(carrito == '1') {
                        $('#divItemsCarrito')
                            .fadeTo('fast', 0.5)
                            .attr('disabled', 'disabled')
                            .load('ajax_scripts/frontend/eliminar_producto_carrito.php?id_prod='+id_prod+'&carr='+carrito,
                                function(response, status, xhr) {
                                    if(status == 'error') {
                                        alert('Error de carga');
                                    } else {
                                        $('#divItemsCarrito').fadeTo('fast', 1);
                                        if($('#cantProductosCarrito').val() == '0') {
                                            $('#divConfirmarPedido').hide();
                                            $('#icoCancelarCompra').hide();
                                            $('#icoGuardarCompra').hide();
                                            $('#spanSucursal').html('NO SELECCIONADA');
                                        } else {
                                            $('#divConfirmarPedido').show();
                                            $('#icoCancelarCompra').show();
                                            $('#icoGuardarCompra').show();
                                        }
                                    }
                                }
                            );
                    }
                    if(carrito == '2') {
                        $('#divResumenCompra')
                        .fadeTo('fast', 0.5)
                        .attr('disabled', 'disabled')
                        .load('ajax_scripts/frontend/eliminar_producto_carrito.php?id_prod=' + id_prod + '&carr=' + carrito,
                            function(response, status, xhr) {
                                if(status == 'error') {
                                    alert('Error de carga');
                                } else {
                                    $('#divResumenCompra').fadeTo('fast', 1);
                                    if($('#cantProductosResumenCarrito').val() == '0') {
                                        cargar_pantalla('home.php');
                                    }
                                }
                            }
                        );
                    }
                }
            },
            'No'    : {
                'class'    : 'gray',
                'action': function(){}    // Nothing to do in this case. You can as well omit the action property.
            }
        }
    });
}

function vaciar_carrito() {
    $.confirm({
        'title'      : 'Vaciar Carrito',
        'message'    : '&iquest;Est&aacute; seguro de cancelar la compra?',
        'buttons'    : {
            'Si'     : {
                'class' : 'blue',
                'action': function(){
                    $('#divItemsCarrito')
                        .html(ajaxLoad1)
                        .load('ajax_scripts/frontend/vaciar_carrito.php', 
                            function(response, status, xhr) {
                                if(status == 'error') {
                                    alert('Error de carga');
                                } else {
                                    $('#divItemsCarrito').fadeIn('100');
                                    $('#spanSucursal').html('NO SELECCIONADA');
                                    $('#divConfirmarPedido').hide();
                                    $('#icoCancelarCompra').hide();
                                    $('#icoGuardarCompra').hide();
                                }
                            }
                        );
                }
            },
            'No'    : {
                'class'    : 'gray',
                'action': function(){}    // Nothing to do in this case. You can as well omit the action property.
            }
        }
    });
}

function guardar_pedido_temporal() {
    $.confirm({
        'title'      : 'Guardar Pedido',
        'message'    : 'Este pedido quedar&aacute; guardado y al volver a ingresar al sitio tendr&aacute; el carrito de compras tal como lo dej&oacute; <br>&iquest;Est&aacute; seguro de guardar el pedido?',
        'buttons'    : {
            'Si'     : {
                'class'    : 'blue',
                'action'   : function(){
                    $('#divConfirmarPedido').hide();
                    $('#icoCancelarCompra').hide();
                    $('#icoGuardarCompra').hide();
                    $.ajax({
                        type: 'GET',
                        url: 'ajax_scripts/frontend/guardar_pedido_temporal.php',
                        data: '',
                        dataType: 'script',
                        async: false,
                        success: function(data, textStatus, XMLHttpRequest) {
                            $('#divConfirmarPedido').show();
                            $('#icoCancelarCompra').show();
                            $('#icoGuardarCompra').show();
                            alert('El pedido se guardó correctamente');
                        }
                    });
                }
            },
            'No'     : {
                'class'    : 'gray',
                'action'   : function(){}    // Nothing to do in this case. You can as well omit the action property.
            }
        }
    });
}

function mostrar_transportes(estado) {
    if(estado == 0) {
        $('#divEnvioDomicilio').slideUp('100', function() {
            $('#divDatosSucursal').slideDown('100');
            quitar_transporte();
        });
    }
    if(estado == 1) {
        $('#divDatosSucursal').slideUp('100', function() {
            $('#divEnvioDomicilio').slideDown('100');
            seleccionar_transporte();
        });
    }
}

function mostrar_costos_envio() {
    $('#divBloqueCostosEnvio')
        .html(ajaxLoad1)
        .load('ajax_scripts/frontend/mostrar_costos_envio.php', 
            function(response, status, xhr) {
                if(status == 'error') {
                    alert('Error de carga');
                }
            }
        );
}

function seleccionar_transporte() {
    var id_trans = $('#slcTransporte').val();
    if(id_trans == '0') {
        $('#divOpcionZona').hide();
        $('#divOpcionTransporteExterno').show();
        var id_trans_ext = $('#slcTransporteExterno').val();
        if(id_trans_ext == "00") {
            $('#divIngresoTransporteExterno').show();
        } else {
            $('#divIngresoTransporteExterno').hide();
        }
        $('#divBloqueCostosEnvio').hide();
    } else {
        $('#divOpcionZona').show();
        $('#divOpcionTransporteExterno').hide();
        $('#divIngresoTransporteExterno').hide();
        $('#divBloqueCostosEnvio').show();
    }
    $('#divResumenCompra')
        .attr('disabled', 'disabled')
        .fadeTo('fast', 0.5);
    dataString = 'id_trans=' + id_trans;
    $.ajax({
       type: 'GET',
       url: 'ajax_scripts/frontend/cambiar_transporte.php',
        data: dataString,
        dataType: 'script',
        async: false,
        success: function(data, textStatus, XMLHttpRequest) {
            $('#divResumenCompra')
                .attr('disabled', '')
                .fadeTo('fast', 1);
        }
    });
}

function seleccionar_transporte_externo() {
    var id_trans_ext = $('#slcTransporteExterno').val();
    if(id_trans_ext == "00") {
        $('#divIngresoTransporteExterno').show();
    } else {
        $('#divIngresoTransporteExterno').hide();
    }
    dataString = 'id_trans=' + id_trans_ext;
    $.ajax({
       type: 'GET',
       url: 'ajax_scripts/frontend/cambiar_transporte.php',
        data: dataString,
        dataType: 'script',
        async: false,
        success: function(data, textStatus, XMLHttpRequest) {
        
        }
    });
    $('#divBloqueCostosEnvio').hide();
}

function quitar_transporte() {
    $('#divResumenCompra')
        .attr('disabled', 'disabled')
        .fadeTo('fast', 0.5);
    var dataString = '';
    $.ajax({  
        type: 'GET',  
        url: 'ajax_scripts/frontend/quitar_transporte.php',
        data: dataString,
        dataType: 'script',
        async: false,
        success: function(data, textStatus, XMLHttpRequest) {
            $('#divBloqueCostosEnvio')
                .fadeOut('100')
                .html('');
            $('#divResumenCompra')
                .attr('disabled', '')
                .fadeTo('fast', 1);
        }
    });
}

function seleccionar_zona() {
    var id_trans = $('#slcTransporte').val();
    var id_zona = $('#slcZonaEntrega').val();
    $('#divResumenCompra')
        .attr('disabled', 'disabled')
        .fadeTo('fast', 0.5);
    var dataString = '&id_trans='+id_trans+'&id_zona='+id_zona;
    $.ajax({  
        type: 'GET',  
        url: 'ajax_scripts/frontend/cambiar_zona.php',
        data: dataString,
        dataType: 'script',
        async: false,
        success: function(data, textStatus, XMLHttpRequest) {
            $('#divResumenCompra')
                .attr('disabled', '')
                .fadeTo('fast', 1);
        }
    });
}

function seleccionar_sucursal(id_prod) {
    var id_sucursal = $('#sucursal' + id_prod).val();
    $('#carrito' + id_prod)
        .attr('disabled', 'disabled')
        .fadeTo('fast', 0.5);
    var dataString = '&id_prod='+id_prod+'&id_sucursal='+id_sucursal;
    $.ajax({  
        type: 'GET',  
        url: 'ajax_scripts/frontend/cambiar_sucursal.php',
        data: dataString,
        dataType: 'script',
        async: false,
        success: function(data, textStatus, XMLHttpRequest) {
            $('#carrito' + id_prod)
                .attr('disabled', '')
                .fadeTo('fast', 1);
        },
        error: function (jqXHR, textStatus, errorThrown) {
            $('#carrito' + id_prod)
                .jAlert('Hubo un error de lectura de datos')
                .attr('disabled', '')
                .fadeTo('fast', 1);
        }
    });
}

function mostrar_carrito() {
    $('#divItemsCarrito')
        .fadeTo('fast', 0.5)
        .attr('disabled', 'disabled')
        .load('ajax_scripts/frontend/carrito_mostrar.php',
            function(response, status, xhr) {
                if(status == 'error') {
                    alert('Error de carga');
                } else {
                    $('#divItemsCarrito').fadeTo('fast', 1);
                    if($('#cantProductosCarrito').val() == '0') {
                        $('#divConfirmarPedido').hide();
                        $('#icoCancelarCompra').hide();
                        $('#icoGuardarCompra').hide();
                    } else {
                        $('#divConfirmarPedido').show();
                        $('#icoCancelarCompra').show();
                        $('#icoGuardarCompra').show();
                    }
                    $('#divCarrito').slideDown('100');
                }
            }
        );
}

function ocultar_carrito() {
    $('#divCarrito').slideUp('100');
}

function verificar_pedido() {
    $('#divBotonesResumenCompra').slideUp('fast', function() {
        $('#divStatusVerificacionPedido')
            .css('color', '#4AAA42')
            .html('VERIFICANDO DATOS DEL PEDIDO')
            .slideDown('100', function() {
                var dataString = $('#frmFormaEntrega').serializeArray();
                $.ajax({  
                    type: 'GET',  
                    url: 'ajax_scripts/frontend/carrito_verificar_pedido.php',
                    dataType: 'text',
                    data: dataString,
                    async: true,
                    success: function(data, textStatus, XMLHttpRequest) {
                        if(data == 'OK') {
                            finalizar_pedido();
                        } else {
                            $('#divStatusVerificacionPedido')
                                .css('color', '#FF0000')
                                .attr('innerHTML', data);
                            $('#divBotonesResumenCompra').slideDown('100');
                            
                            setTimeout("$('#divStatusVerificacionPedido').slideUp('100');", 5000);
                        }
                    },
                    error: function (jqXHR, textStatus, errorThrown) {
                        $('#divStatusVerificacionPedido').html('Hubo un error de lectura de datos');
                        $('#divBotonesResumenCompra').slideDown('100');
                        setTimeout("$('#divStatusVerificacionPedido').slideUp('100');", 5000);
                    }
                });
            });
    });
}

function finalizar_pedido(verificar_precios) {
    if(verificar_precios == undefined) {
        verificar_precios = '1';
    }
    $('#divStatusVerificacionPedido')
        .css('color', '#4AAA42')
        .html('VERIFICANDO STOCK DISPONIBLE');
    $.ajax({  
        type: 'GET',  
        url: 'ajax_scripts/frontend/carrito_finalizar_compra.php?verif_importe=' + verificar_precios,
        dataType: 'text',
        async: true,
        success: function(data, textStatus, XMLHttpRequest) {
            if(data == 'OK') {
                cargar_pantalla('carrito_mensaje_ok.php');
            } else if(data.substr(0, 12) == 'ERROR_PRECIO') {
                $('#divStatusVerificacionPedido').html(data.substr(12));
            } else {
                $('#divStatusVerificacionPedido')
                    .css('color', '#FF0000')
                    .attr('innerHTML', data);
                $('#divBotonesResumenCompra').slideDown('100');
                refrescar_resumen_carrito();
                setTimeout("$('#divStatusVerificacionPedido').slideUp('100');", 5000);
            }
        },
        error: function (jqXHR, textStatus, errorThrown) {
            $('#divStatusVerificacionPedido').html('Hubo un error de lectura de datos');
            $('#divBotonesResumenCompra').slideDown('100');
            setTimeout("$('#divStatusVerificacionPedido').slideUp('100');", 5000);
        }
    });
}

function refrescar_resumen_carrito() {
    $('#divResumenCompra')
            .fadeTo('fast', 0.5)
            .attr('disabled', 'disabled')
            .load('ajax_scripts/frontend/refrescar_resumen_compra.php', 
                function(response, status, xhr) {
                    if(status == 'error') {
                        alert('Error de carga');
                    } else {
                        $('#divResumenCompra')
                            .attr('disabled', '')
                            .fadeTo('fast', 1);
                    }
                }
            );
}
