// web service proxy for menu
webservices.factory('menuService', ['$http', '$q', 'apiConfig', 'httpCacheService',
    function ($http, $q, apiConfig, httpCacheService) {
        'use strict';

        return {
            getMenusForDisplay: function (serviceId) {
                return httpCacheService.get('/menu/display?serviceId=' + serviceId);
                //return $http.get('/menu/display?serviceId=' + serviceId, apiConfig.create());
            },
            getMenus: function (serviceId) {
                //return $http.get('/menu?serviceId=' + serviceId, apiConfig.create());
                return httpCacheService.get('/menu?serviceId=' + serviceId);
            },
            getMenusNew: function (serviceId, fn) {
                return httpCacheService.getCache('/menu?serviceId=' + serviceId, false, fn);
            },
            GetMenusForIvhTree: function (serviceId) {
                return $http.get('/menu/GetMenusForIvhTree?serviceId=' + serviceId, apiConfig.create());
            },
            updateMenu: function (menu) {
                return $http.put('/menu', menu, apiConfig.create());
            },
            addMenu: function (menu) {
                return $http.post('/menu/Add', menu, apiConfig.create());
            },
            deleteMenu: function (menuID) {
                return $http.post('/menu/Delete', menuID, apiConfig.create());
            },
            deleteMenus: function (menuIDs) {
                return $http.post('/menu/DeleteMulti', menuIDs, apiConfig.create());
            }
        };
    }]);