﻿/// <reference path="../../Libs/Plugins/jQuery/jquery.js" />

/// <summary>
/// © XTRA | Estetica e tecnologia
/// Email: info@xtra.it
/// </summary>

// Page: Ready
$(document).ready(function () {

    // Imposta: Menu Category
    $(function () {
        // Recupera: Elementi dalla pagina
        var $TopMenu_Category = $("#TopMenu_Category");

        var $TopMenu_Button_Category = $("#TopMenu_Category #TopMenu_Button_Category");

        var $TopMenu_Content_Category = $("#TopMenu_Category #TopMenu_Content_Category");

        // Disattiva: Menu e rimuove lo stile hidden
        $TopMenu_Content_Category.hide();
        $TopMenu_Content_Category.removeClass("Hidden");

        // Imposta: Timer per evitare effetti indesiderati
        var HoverTime = 200;
        var NavigationTimers = [];

        $TopMenu_Category.hover(function () {

            var id = jQuery.data(this);

            NavigationTimers[id] = setTimeout(function () {

                // Espande: Menu
                $TopMenu_Content_Category.show();

                NavigationTimers[id] = "";

            }, HoverTime);

        }, function () {

            var id = jQuery.data(this);

            if (NavigationTimers[id] != "") {
                clearTimeout(NavigationTimers[id]);
            }
            else {

                // Comprime: Menu
                $TopMenu_Content_Category.hide();
            }
        });

    });

    // Imposta: Menu SubCategory
    $(function () {
        // Recupera: Elementi dalla pagina
        var $TopMenu_SubCategory = $("#TopMenu_SubCategory");

        var $TopMenu_Button_SubCategory = $("#TopMenu_SubCategory #TopMenu_Button_SubCategory");

        var $TopMenu_Content_SubCategory = $("#TopMenu_SubCategory #TopMenu_Content_SubCategory");

        // Disattiva: Menu e rimuove lo stile hidden
        $TopMenu_Content_SubCategory.hide();
        $TopMenu_Content_SubCategory.removeClass("Hidden");

        // Imposta: Timer per evitare effetti indesiderati
        var HoverTime = 200;
        var NavigationTimers = [];

        $TopMenu_SubCategory.hover(function () {

            var id = jQuery.data(this);

            NavigationTimers[id] = setTimeout(function () {

                // Espande: Menu
                $TopMenu_Content_SubCategory.show();

                NavigationTimers[id] = "";

            }, HoverTime);

        }, function () {

            var id = jQuery.data(this);

            if (NavigationTimers[id] != "") {
                clearTimeout(NavigationTimers[id]);
            }
            else {

                // Comprime: Menu
                $TopMenu_Content_SubCategory.hide();
            }
        });

    });

    // Imposta: Menu Model
    $(function () {
        // Recupera: Elementi dalla pagina
        var $TopMenu_Model = $("#TopMenu_Model");

        var $TopMenu_Button_Model = $("#TopMenu_Model #TopMenu_Button_Model");

        var $TopMenu_Content_Model = $("#TopMenu_Model #TopMenu_Content_Model");

        // Disattiva: Menu e rimuove lo stile hidden
        $TopMenu_Content_Model.hide();
        $TopMenu_Content_Model.removeClass("Hidden");

        // Imposta: Timer per evitare effetti indesiderati
        var HoverTime = 200;
        var NavigationTimers = [];

        $TopMenu_Model.hover(function () {

            var id = jQuery.data(this);

            NavigationTimers[id] = setTimeout(function () {

                // Espande: Menu
                $TopMenu_Content_Model.show();

                NavigationTimers[id] = "";

            }, HoverTime);

        }, function () {

            var id = jQuery.data(this);

            if (NavigationTimers[id] != "") {
                clearTimeout(NavigationTimers[id]);
            }
            else {

                // Comprime: Menu
                $TopMenu_Content_Model.hide();
            }
        });

    });


    // Imposta: Mouse hover elementi prodotto
    $(function () {

        // Recupera: Elementi dalla pagina
        var $ProductItem = $(".ProductItem");

        // Recupera: Template Html mouse hover
        var $ProductItem_HoverTemplate = $("#ProductItem_HoverTemplate").html();

        $ProductItem.hover(function () {

            if ($(".ProductItem_Hover", this).length == 0) {

                //: Genera mouse hover al primo accesso

                var $ProductItem_Link = $(".ProductItem_Link", this)

                // Aggiunge: Template hover
                $ProductItem_Link.prepend($ProductItem_HoverTemplate);

                var $ProductItem = this;
                var $ProductItem_Hover = $(".ProductItem_Hover", this);

                var $ProductIDMaster_Value = $(".ItemProductIDMaster", $ProductItem).text();

                // Imposta: Valori template

                $(".TemplateSubCategoryName", $ProductItem_Hover).text($(".ItemSubCategoryName", $ProductItem).text());
                $(".TemplateModelName", $ProductItem_Hover).text($(".ItemModelName", $ProductItem).text());
                $(".TemplateProductName", $ProductItem_Hover).text($(".ItemProductName", $ProductItem).text());
                $(".TemplateSizes", $ProductItem_Hover).text($(".ItemSizes", $ProductItem).text());
                $(".TemplateColors", $ProductItem_Hover).append($(".ItemColors", $ProductItem));
                $(".TemplateLink", $ProductItem_Hover).attr("href", $(".ItemLink", $ProductItem).attr("href"));

                // Imposta: Immagine

                if ($(".ItemImage", $ProductItem).length != 0) {
                    $(".TemplateImage", $ProductItem_Hover).attr("src", $(".ItemImage", $ProductItem).attr("src"));
                }
                else {
                    $(".TemplateImage", $ProductItem_Hover).hide();
                }

                // Imposta: Aggiunta al comparatore

                $CompareLoader = $(".TemplateCompareLoader", $ProductItem_Hover).hide();
                $CompareDone = $(".TemplateCompareDone", $ProductItem_Hover).hide();

                // Imposta: Funzione di aggiunta al comparatore
                $(".TemplateButtonAddCompare", $ProductItem_Hover).click(function (e) {

                    e.preventDefault();

                    var WebMethod = "../../Libs/App_Services/DataService.asmx/AddToCompare";
                    var Parameters = "{'ProductIDMaster':'" + $ProductIDMaster_Value + "'}";

                    $CompareLoader.show();

                    $.ajax({
                        type: "POST",
                        url: WebMethod,
                        data: Parameters,
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function (msg) {

                            $CompareLoader.hide();

                            $(".TemplateCompareAdd", $ProductItem_Hover).hide();
                            $CompareDone.show();

                        },
                        error: function (e) {
                            $CompareLoader.hide();

                            //: Errore
                            alert(e.responseText);
                        }
                    });
                });

            }
            else {
                //: Attiva mouse hover agli accessi successivi

                $(".ProductItem_Hover", this).show();
            }

        }, function () {

            if ($(".ProductItem_Hover", this).length != 0) {
                $(".ProductItem_Hover", this).hide();
            }

        });
    });
});
