

var permissionMapping = [];
permissionMapping["PermissionCodes-Mtg_Manage"] = "mtg";

var exists = function(array, target) {

    if (!array || array.length == 0 || !target)
        return false;

    target = target.toLowerCase();

    var result = false;

    array.forEach(function(e) {
        
        var matchExists = (permissionMapping[e] && permissionMapping[e].toLowerCase() == target) || e.toLowerCase() == target;			
        
        if (matchExists) {
            result = true;
            return;
        }
    });

    return result;
}

var toggleVisiblity = function(attributeName, array) {
    $("*[" + attributeName + "]").each(function() {
        var attributeValue = $(this).attr(attributeName);
        var displayValue = exists(array, attributeValue) ? "inline" : "none";
        $(this).css("display", displayValue);
    })
}

// $.getJSON("/Token.json", function(user) {
// 	toggleVisiblity("data-product", user.permissions);
// });

// $.ajax( { url: "/Token.json", cache: false, success: function(user) {
// 	toggleVisiblity("data-product", user.permissions);
// 	// if (user.isAuthenticated) $("#btnLogout").show();
// }});

var userShouldSeeAllContent = function(user) {
    
if (!user || !user.permissions)
    return false;

var loc = window.location.pathname;
var dir = loc.substring(0, loc.lastIndexOf('/')).toLowerCase();

// PermissionCodes-APPrintPreviewDocumentsOnly

var displayAll = [];				
displayAll["/securityadministration"] = ["PermissionCodes-WK_WEBHELP_ACCESS"];

// Example:
// displayAll["/your_directory_here"] = ["x", "y", "z"];

// if the current directory is in the displayAll list, we need to check to see
// whether the user has a matching permission...

if (displayAll[dir]) {

    // get the permissions that all all content to be visible...
    var permissions = displayAll[dir];
    
    // Check to see if the current user has any matching permissions...
    for (i = 0; i < permissions.length; i++)
        for (u = 0; u < user.permissions.length; u++)
            if (permissions[i].toLowerCase() == user.permissions[u].toLowerCase())
                return true;
}

return false;
}

$.ajax( { url: "/Token.json", cache: false, success: function(user) {

if (userShouldSeeAllContent(user)) {
    
    // user has one of the magic permissions, so show everyting with a "data-product" attribute...
    
    $("*[data-product]").each(function() {
        $(this).css("display", "inline");
    });
    
}
else {
    
    // user does not have a SHOW ALL permission, so use their permissions to determine what should be shown...
    
    toggleVisiblity("data-product", user.permissions);
}

if (user.isAuthenticated || IsLocalhost) $("#btnLogout").show();
}});


