﻿
var _isNavigating = false;
var _emptyUrl = "javascript:;";

window.menu = null;

//site menu event handlers

function menu_Load(sender, eventArgs)
{
    window.menu = sender;
}

function menuItem_Clicking(sender, eventArgs)
{
    var menuItem = eventArgs.get_item();
    var navigateUrl = getNavigateUrl(menuItem);

    if (menuItem.get_target() != "_blank" && navigateUrl != _emptyUrl)
    {
        menuItem.get_parent().close();
        navigate(navigateUrl);
        
        eventArgs.set_cancel(true);
    }
}

function menuItem_Opening(sender, eventArgs)
{
    if (_isNavigating)
    {
        eventArgs.set_cancel(true);
    }
}


function getNavigateUrl(menuItem)
{
    return $(menuItem.get_element()).find("a.rmLink").attr("href");
}

function FooterMenu()
{
    this._menu = null;
    this._init = false;

    _getMenu = function()
    {
        if (this._menu == null)
        {
            this._menu = window.menu;
        }
        return this._menu;
    }

    _closeAll = function(callback, item)
    {
        menu.get_items().forEach(function(menuItem)
        {
            if (menuItem.get_isOpen())
            {
                menuItem.close();
            }
        });
        
        if (callback)
        {
            callback(item);
        }
    }
    
    _open = function(item)
    {
    
        var itemIndex = parseInt($(item).attr("itemIndex"));
        var menuItem = _getMenu().get_items().getItem(itemIndex);
        
        menuItem.open();
    }

    this.open = function(item)
    {
        _closeAll(_open, item);
    }
}

function exploreMenu()
{
    menu.get_items().getItem(0).open();
    
//    menu.get_items().forEach(function(menuItem)
//    {
//        if (!menuItem.get_isOpen())
//        {
//            menuItem.open();
//        }
//    });
}

$(document).ready(function()
{
    window.footerMenu = new FooterMenu();

    var explore = $("#siteMenu .explore");

    if (explore.length > 0)
    {
        explore.click(exploreMenu);
    }

});


window.request =
{
    current: function()
    {
        var requests = window.requests;
        return requests[requests.length - 1];
    },

    last: function()
    {
        var requests = window.requests;
        var index = requests.length - 2;

        if (requests.length > 1)
        {
            return requests[index];
        }
        else
        {
            return this.current();
        }
    },

    maxSize: function() { return 4; }
};


function navigate(url)
{

    _isNavigating = true;

    closePageContent();
    //$('div.mask').fadeOut('fast');

    setTimeout(function()
    {
        window.document.location = url;
    }, 800);
}


function getRequestedPage()
{
    var uri = document.location.href;
    return uri.substring(uri.lastIndexOf('/') + 1);
}

function loadRequests()
{
    var requestsString = $.cookie("requests");
    var requestsArray = [];

    if (requestsString != null && requestsString != '')
    {
        requestsArray = requestsString.split(',');
    }

    requestsArray.push(getRequestedPage());

    if (requestsArray.length == window.request.maxSize())
    {
        requestsArray.pop();
    }

    $.cookie("requests", requestsArray.join(','));

    window.requests = requestsArray;
}


