define(["itemHelper","libraryMenu","apphost"],function(itemHelper,libraryMenu,appHost){"use strict";function initSyncButtons(view){var apiClient=window.ApiClient;apiClient&&apiClient.getCurrentUserId()&&apiClient.getCurrentUser().then(function(user){for(var item={SupportsSync:!0},categorySyncButtons=view.querySelectorAll(".categorySyncButton"),i=0,length=categorySyncButtons.length;i<length;i++)categorySyncButtons[i].addEventListener("click",onCategorySyncButtonClick),itemHelper.canSync(user,item)?categorySyncButtons[i].classList.remove("hide"):categorySyncButtons[i].classList.add("hide")})}function onCategorySyncButtonClick(e){var button=this,category=button.getAttribute("data-category"),parentId=libraryMenu.getTopParentId();require(["syncDialog"],function(syncDialog){syncDialog.showMenu({ParentId:parentId,Category:category,serverId:ApiClient.serverId(),mode:appHost.supports("sync")?"download":"sync"})})}return{init:function(view){initSyncButtons(view)}}});