﻿var redirectAfterLogin = "";
$(function () {
    // ----------------------------- Pestaña Comparativa ----------------------------------------------------------

    //abrir-cerrar pestaña de selecciones Evento
    $("#comparativa_menu").click(function () { toggle_pestana() });
    // abrir-cerrar pestaña de selecciones Función
    function toggle_pestana(abrir) {
        if ($("#comparativa_contenido").is(":visible") && !abrir) {
            $("#cerrar_comparativa").text("Expandir");
            $("#comparativa_contenido").slideUp();
        } else {
            $("#cerrar_comparativa").text("Ocultar");
            $("#comparativa_contenido").slideDown();
        }
    }

    $("#ir_comparativa").click(function () { 
    	location.href='comparacion.php';
     });
    
    //Menu de pestaña comparativa Eventos
    $("#comparativa_menu ul li").click(function (event) { event.stopPropagation(); toggle_menu_comparativa(this); });

    // Menu de pestaña comparativa Función


    function toggle_menu_comparativa(obj) {

        if ($(obj).attr('id') == 'comparativa-micuenta') {
            $.post("/account-checklogin.php", {}, function (data) {
                if (data.result == 0) {
                    redirectAfterLogin = "/datospersonales.php";
                    form_access_show();
                } else {
                    window.location = "/datospersonales.php"
                }
            }, 'json');
            return;
        }

        toggle_pestana(true);
        if ($(obj).hasClass("active")) { return false; }



        $("#comparativa_menu ul li").removeClass();
        $(obj).addClass("active");

        $("#comparativa_contenido>div").css("display", "none");
        $("#comparativa_contenido>div").eq($("#comparativa_menu ul li").index(obj)).css("display", "block");


    }

    //eliminar coche seleccionado de la pestaña comparativa
    $("#comparativa_coches img.eliminar_coche").live("click", function () {
        var id = $("input:hidden", $(this).parent()).val();

        $.ajax({
            type: "POST",
            url: "comparison-remove-car-to-compare.php",
            data: "id=" + id,
            error: function (xhr, status, error) {
            },
            success: function (response) {

            }
        });

        $("div", "#" + id).removeClass("activok").addClass("no_activo");
        $(this).parent().fadeOut("normal", function () {
            $(this).remove();
            if ($("#comparativa_coches div").length == 0) {
                $("#button_comparar").fadeOut("normal", function () {
                    $("#comparativa_coches").append("<p>(No hay ningún elemento seleccionado)</p>")
                });
            }
        });
    });

    //agregar coche seleccionado a la pestaña comparativa
    $(".icono_resultado").live("click", function () {
        toggle_pestana(true);
        toggle_menu_comparativa($("#comparativa_menu ul li:first"))
        if ($(this).hasClass("activok")) {
            $(this).one("mouseout", function () { toolOut(); });
            toolTip("El coche ya ha sido seleccionado");
            return false;
        }
        if ($("#comparativa_coches div").length == 3) {
            toolTip("¡No puedes añadir más! Ya tienes 3 coches en la comparativa");
            $(this).one("mouseout", function () { toolOut(); });
            return false;
        }

        if ($(this).hasClass("no_activo")) { $(this).removeClass("no_activo"); }
        $(this).addClass("activok");

        var id = $(this).parent().attr("id");

        $.ajax({
            type: "POST",
            url: "comparison-add-car-to-compare.php",
            data: "id=" + id,
            dataType: "json",
            error: function (xhr, status, error) {
            },
            success: function (response) {
                switch (response.result) {
                    case 0: // Error
                        display_error(response.text);
                        break;
                    case 1:  // Ok

                        hide_error();

                        if ($("#comparativa_coches div").length == 0) {
                            $("#comparativa_coches p").remove();
                            $("#button_comparar").show();
                        }

                        var modelo = new String(response.title);
                        var ano = response.year;
                        var imagen = response.image;
                        if (modelo.length > 27) {
                            modelo = modelo.substring(0, 24) + "...";
                        }

                        $("#comparativa_coches form").prepend('<div><input type="hidden" value="' + id + '" name="compara[]" /><img class="foto_coche" src="' + imagen + '" alt="' + modelo + '" /><span class="marca_coche">' + modelo + '</span><span class="modelo_coche">' + ano + '</span><img class="eliminar_coche" src="images/cierre.png" /></div>');

                        break;
                }

            }
        });

        return false;
    });

    // -------------------------------------------- Pestaña Favoritos -----------------------------------------------------

    // agregar coche a favoritos

    $("input.guardarcoche_on").live("click", function (event) {
        return false;
    });
    $("input.guardarcoche").live("click", function (event) {

        var obj = this;
        var id_coche = $(">a.id_coche", $(this).parent().parent().parent()).attr("id");


        $(this).one("mouseout", function () { toolOut(); });

        $.ajax({
            type: "POST",
            url: "/favorites-addfavorite.php",
            cache: false,
            dataType: 'json',
            data: "id=" + id_coche,
            async: false,
            error: function (xhr, status, error) {
                //Mostrar mensaje de error
            },
            success: function (response) {
                switch (response.result) {
                    case -1: // Error
                        display_error(response.text);
                        break;
                    case 1:  // Está loggeado
                        hide_error();
                        if (response.text != "" && typeof !response.text == "undefined") {
                            tooltip(response.text);
                        }
                        if ($("#favoritos_inner div").length == 0) {
                            $("#favoritos_inner p").remove();
                        }

                        toggle_pestana(true);
                        toggle_menu_comparativa($("#comparativa_menu ul li").eq(1));

                        var modelo = new String(response.title);
                        var ano = response.year;
                        var imagen = response.image;

                        if (modelo.length > 27) {
                            modelo = modelo.substring(0, 24) + "...";
                        }

                        if ($("#comparativa_favoritos form div").length >= 3) {
                            for (var i = 2; i < $("#comparativa_favoritos form div").length; i++) {
                                //$("#comparativa_favoritos form div:eq("+i+")").css("display", "none");
                            }
                        }

                        $("#favoritos_inner").prepend('<div><input type="hidden" value="' + id_coche + '" name="compara2" /><img class="foto_coche" src="' + imagen + '" alt="' + modelo + '" /><span class="marca_coche">' + modelo + '</span><span class="modelo_coche">' + ano + '</span><img class="eliminar_coche" src="images/cierre.png" /></div>');
                        //alert($(obj).attr("class"));
                        $(".resultado .btn_guardar input.guardarcoche", $("#" + id_coche).parent()).removeClass().addClass("guardarcoche_on").val("Guardado");

                        favCarItemCount++;
                        favCarSetup();
                        break;
                    case 0:  // no está loggeado
                        hide_error();
                        var obj = $("#aviso");
                        var obj2 = $(".resultado", $("#" + id_coche).parent());
                        $(obj2).hide();
                        $(obj).prependTo(obj2.parent()).fadeIn();
                        $("#aviso").one("mouseleave", function () {
                            $(this).hide();
                            $(".resultado", $(this).parent()).show();

                        });
                        break;
                    case 2:  // Está loggeado pero el coche ya ha estaba en favoritos

                        hide_error();
                        $(obj).one("mouseout", function () { toolOut(); });
                        toolTip("El coche ya está en los favoritos");
                        break;
                }
            }
        });

        return false; // simula stopPropagation en eventos live()

    });

    //eliminar coche de favoritos
    $("#comparativa_favoritos img.eliminar_coche").live("click", function () {

        parentDiv = $(this).parent();
        var id = $("input:hidden", parentDiv).val();


        $.ajax({
            type: "POST",
            url: "/favorites-remove-favorite.php",
            data: "id=" + id,
            error: function (xhr, status, error) {
            },
            dataType: 'json',
            success: function (response) {

                if (response.result == "ok") {

                    // $(this).parent().fadeOut("normal", function() {
                    //     $(this).remove();
                    //     if ($("#comparativa_favoritos form div").length >= 3) {
                    //         $("#comparativa_favoritos form div:eq(2)").css("display", "block");
                    //     }
                    //     if ($("#comparativa_favoritos form div").length == 0) {
                    //         $("#comparativa_coches").append("<p>(No hay ningún elemento seleccionado)</p>")
                    //     }
                    // });

                    // $("#comparativa_favoritos form").load('/favorites-show-favorites-bar.php');
                    parentDiv.fadeOut("normal", function () {
                        favCarItemCount--;
                        favCarSetup();
                        $(this).remove();
                    });



                }
                else {
                    display_error(response.text);
                }
            }
        });
    });

    // --------------------------------------------------------------------------------------------------------------


    // -------------------------------- ToolTip
    function toolTip(texto) {
        if (typeof texto == "undefined") { return false; }
        var obj = document.getElementById("capa_rollover");
        if (obj == null) {
            $("body").append('<div id="capa_rollover">' + texto + '</div>');
            var obj = document.getElementById("capa_rollover");
        } else {
            $(obj).text(texto);
            $(obj).css({ left: "0", top: "30000px" });
            $(obj).show();
            $(obj).hide();
        }
        posicionar(true);
        $(obj).fadeIn();
    }
    function toolOut() {
        $("#capa_rollover").fadeOut();
    }
    $(document).mousemove(function (e) {
        mouse(e.pageX, e.pageY);
    });
    function posicionar(verif) {

        var recorrido_max = 50,
            bodyWidth = parseInt($(document).width()),
		    margen = 15,
            pos = mouse(),
            obj = document.getElementById("capa_rollover"),
            x = 0;

        if (typeof posicionar.recorrido == "undefined") { posicionar.recorrido = 0 }
        if (verif) { posicionar.recorrido = 0; posicionar.recorrido++ }

        if (obj != null) {
            var elementWidth = parseInt($(obj).outerWidth());
            if ((pos[0] + elementWidth + margen) > bodyWidth) { x = pos[0] - elementWidth - margen; } else { x = pos[0] + margen; }
            $(obj).css({ top: pos[1] + "px", left: x + "px" });
        }
        if (posicionar.recorrido > 0) {
            posicionar.recorrido++;
            if (posicionar.recorrido > recorrido_max) {
                toolOut();
                posicionar.recorrido = 0;
            }
        }

    }
    function mouse(x, y) {

        if (typeof mouse.pos == "undefined") {
            mouse.pos = [0, 0];
        }
        if (typeof x == "undefined") {
            return mouse.pos;
        } else {
            mouse.pos[0] = x;
            mouse.pos[1] = y;
        }
    }

    // mostrar/ocultar  mensaje de error
    function display_error(texto) {
        if (texto != "") {
            $("#error_msg span").text(texto);
            $("#error_msg").slideDown();
        }
    }
    function hide_error() {
        $("#error_msg").slideUp();
    }
}); 
function ir_comparativa(){
	var pestanna_comparativa = $("#comparativa_menu ul li").eq(0);
	$("#comparativa_menu ul li").removeClass();
    $(pestanna_comparativa).addClass("active");

    $("#comparativa_contenido>div").hide();
    $("#comparativa_contenido").show();
    $("#comparativa_coches").show();
}

