var page = "settings.html";
var settingApp = angular.module('settingApp', ['menuController',
    'ionic-color-picker','newfeedtypesCtrl','messagequotesCtrl', 'settingsService', 'appointmentgroupsCtrl','positiontitlesCtrl',
    'supplieritemsService','supplieritemsCtrl','roomsCtrl','notetasktypesService', 'notetasktypesCtrl',
      'notifiesCtrl', 
    'soundsService',
    'chatsettingsService',
    'userchatstatusesService',
    'chatApp',
    'tasksService','messagequotesService','ui.taginput','feedtitlesCtrl','feedtitlesService']);

settingApp.filter('propsFilter', function() {
    return function(items, props) {
        var out = [];
        if (angular.isArray(items)) {
            var keys = Object.keys(props);
            items.forEach(function(item) {
                var itemMatches = false;
                for (var i = 0; i < keys.length; i++) {
                    var prop = keys[i];
                    var text = props[prop].toLowerCase();
                    if (item[prop] && item[prop].toString().toLowerCase().indexOf(text) !== -1) {
                        itemMatches = true;
                        break;
                    }
                }
                if (itemMatches) {
                    out.push(item);
                }
            });
        } else {
            // Let the output be the input untouched
            out = items;
        }
        return out;
    };
});

settingApp.run(function ($ionicPlatform,$ionicLoading) {
    $ionicLoading.show({ template: templateLoading });
    $ionicPlatform.ready(function () {
        var devicePlatform="";
        try{devicePlatform=device.platform; }catch(err){console.log(err)}
        if (devicePlatform != "iPhone" && devicePlatform != "iOS") {
            // $scope.deviceLoading = "ios";
            isiOs = false;      
        }
        //ionic.Platform.fullScreen();
        //StatusBar.hide();

        // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
        // for form inputs)
        if (window.cordova && window.cordova.plugins.Keyboard) {
            cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
            cordova.plugins.Keyboard.disableScroll(true);
        }
        if (window.StatusBar) {
            // org.apache.cordova.statusbar required
            //StatusBar.styleDefault();
            StatusBar.show();
            StatusBar.backgroundColorByHexString("#327EBB");
            StatusBar.styleLightContent();
            //StatusBar.hide();
            StatusBar.overlaysWebView(false);
        }
    });
});

settingApp.config(function ($stateProvider, $urlRouterProvider) {
    $stateProvider

        /*/////////////////////// USERS ///////////////////////////*/

      .state('dashboard', {
          url: '/board',
          abstract: true,
          templateUrl: 'templates/dashboard/general/menu.html',
          controller: 'menuCtrl'
      })

            .state('dashboard.settings', {
                url: '/settings',
                views: {
                    'menuContent': {
                        templateUrl: 'templates/dashboard/settings/settings.tpl',
                        controller: 'SettingsController'
                    }
                }
            })

    // if none of the above states are matched, use this as the fallback
    $urlRouterProvider.otherwise('/board/settings');
});
