﻿
var ModalSelectionKey = "WNetworkModalSelection";
var hasUpdateProfile = false;

var ModalSelectionValue = "Default";

$(document).ready(function() {
    setTimeout(DetermineModalPopupState, 2000);
});

function DetermineModalPopupState() {

    var cookieValue = getCookie(ModalSelectionKey);

    if (cookieValue == null || cookieValue == undefined || cookieValue.length == 0) {

        ModalSelectionValue = GetSharedObject(ModalSelectionKey);
        if (cookieValue != "AskLater") {
            SaveModalValue(cookieValue);
        }
        if (ModalSelectionValue == false || ModalSelectionValue == null || ModalSelectionValue == undefined || ModalSelectionValue.length == 0) {
            
            ModalSelectionValue = "Default";
            
            EnableSortable(ModalDivID);
            ShowModalPopup(ModalDivID);
        }
    }
    else {
        if (cookieValue != "AskLater") {
            SaveModalValue(cookieValue);
        }
    }

    OrderUpdate();
}

function ValidModalCookie() {
    var cookieValue = getCookie(ModalSelectionKey);
    if (cookieValue == null || cookieValue == undefined || cookieValue.length == 0 || cookieValue == "AskLater") {
        return false;
    }
    return true;
}

function ShowModalPopup(divID) {
    if (!ModalDisabled) // Set to "true" by video player modules, and if user is logged in
    {
        var modalPopup = $("#" + divID).parent().parent().parent().parent();
        $.blockUI.defaults.fadeOut = 0;
        $.blockUI.defaults.fadeIn = 0;
        $.blockUI({
            message: modalPopup,
            css: {
                border: 'none',
                backgroundColor: 'transparent'
            },
            overlayCSS: {
                backgroundColor: '#fff'
            }
        });
    }
}

function CloseModalPopup() {
    $.unblockUI();
    return false;
}

function EnableSortable(divID) {

    var $div = $("#" + divID);
    $div.sortable({
        handle: '.handle',
        update: function() {
            UpdateOrder(divID);
        },
        axis: 'y'
    });
}

function UpdateOrder(divID) {
    var order = $('#' + divID).sortable('toArray');
    var orderString = "";
    for (var i = 0; i < order.length; i++) {
        if (orderString.length > 0) {
            orderString += ",";
        }
        var ImageItemID = "#" + order[i] + " .handle";
        var NumberItemID = "#" + order[i] + " .Num";

        var numValue = i + 1;

        $(NumberItemID).html(numValue);

        var catID = $(ImageItemID).attr("categoryID");

        orderString += catID;
    }

    ModalSelectionValue = orderString;
    SaveModalValue(orderString);
}

function SaveModalSelection() {
    SaveModalValue(ModalSelectionValue);
    SetSharedObject(ModalSelectionKey, ModalSelectionValue);
}

function SaveModalSelectionAndReload() {
    
    if (ModalSelectionValue == undefined || ModalSelectionValue == "") {
        ModalSelectionValue = "Default";
    }
    
    SaveModalValue(ModalSelectionValue);
    SetSharedObject(ModalSelectionKey, ModalSelectionValue);

    window.location.reload(false);
}

function NoModalSelection() {
    SetSharedObject(ModalSelectionKey, "Default");

    CloseModalPopup();
}

function AskLaterModalSelection() {
    setSessionCookie(ModalSelectionKey, "AskLater");
    CloseModalPopup();
}

function SaveModalValue(value) {
    $("div.ModalValueSaveField input").val(value);
}

function GetSavedModalValue() {
    return $("div.ModalValueSaveField input").val();
}

function UpdateProfileItemOrder() {

    if (!hasUpdateProfile) {

        hasUpdateProfile = true;

        var value = $(".Profile .ValueField").val();

        if (value == "Default" || value == "AskLater") {
            $(".Profile .ValueField").val("7,2,3,32,31,33,M");
            return;    
        }

        if (value != null && value != undefined && value.length > 0) {

            var $Categories = $(".Profile .Categories");

            var categories = value.split(",");
            //var CategoryItems = $(".CategoryItem", $Categories);
            //var sortedCategories = new Array();
            var htmlResult = "";

            for (var i = 0; i < categories.length; i++) {
                htmlResult += "<li id='categoryItem_" + i + 1 + "' class='CategoryItem'>" + $(".Profile .CategoryItem [categoryid=" + categories[i] + "]").parent().html() + "</li>";
            }

            $Categories.html("");
            $Categories.html(htmlResult);

            UpdateOrder($Categories.attr("id"))
        }
    }

}

