define(["jQuery", "loading", "libraryMenu", "fnchecked"], function ($, loading, libraryMenu) {
"use strict";
function triggerChange(select) {
var evt = document.createEvent("HTMLEvents");
evt.initEvent("change", false, true);
select.dispatchEvent(evt);
}
function loadMediaFolders(page, user, mediaFolders) {
var html = "";
html += '
' + Globalize.translate("HeaderLibraries") + "
";
html += '
';
for (var i = 0, length = mediaFolders.length; i < length; i++) {
var folder = mediaFolders[i];
var isChecked = user.Policy.EnableAllFolders || -1 != user.Policy.EnabledFolders.indexOf(folder.Id);
var checkedAttribute = isChecked ? ' checked="checked"' : "";
html += '";
}
html += "
";
page.querySelector(".folderAccess").innerHTML = html;
var chkEnableAllFolders = page.querySelector("#chkEnableAllFolders");
chkEnableAllFolders.checked = user.Policy.EnableAllFolders;
triggerChange(chkEnableAllFolders);
}
function loadChannels(page, user, channels) {
var html = "";
html += '
' + Globalize.translate("HeaderChannels") + "
";
html += '
';
for (var i = 0, length = channels.length; i < length; i++) {
var folder = channels[i];
var isChecked = user.Policy.EnableAllChannels || -1 != user.Policy.EnabledChannels.indexOf(folder.Id);
var checkedAttribute = isChecked ? ' checked="checked"' : "";
html += '";
}
html += "
";
$(".channelAccess", page).show().html(html);
if (channels.length) {
$(".channelAccessContainer", page).show();
} else {
$(".channelAccessContainer", page).hide();
}
$("#chkEnableAllChannels", page).checked(user.Policy.EnableAllChannels).trigger("change");
}
function loadDevices(page, user, devices) {
var html = "";
html += '
' + Globalize.translate("HeaderDevices") + "
";
html += '
';
for (var i = 0, length = devices.length; i < length; i++) {
var device = devices[i];
var checkedAttribute = user.Policy.EnableAllDevices || -1 != user.Policy.EnabledDevices.indexOf(device.Id) ? ' checked="checked"' : "";
html += '";
}
html += "