SAKIII-4928, SAKIII-4936, SAKIII-4942, SAKIII-4958, SAKIII-4961, SAKIII-4967, SAKIII-4968, SAKIII-4971, SAKIII-4878, SAKIII-4980, SAKIII-4997, SAKIII-5002, SAKIII-5028, SAKIII-5029, SAKIII-5032

<!DOCTYPE HTML>

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

        <title></title>

        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/main.css" />
        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.corev1.css" />

        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.error.css" />

<button>__MSG__SIGN_IN__</button>

__MSG__NO_ACCOUNT__ __MSG__SIGN_UP__

__MSG__ARE_YOU_LOOKING_FOR__

                                    __MSG__CONTENT__

                                    __MSG__PEOPLE__

__MSG__BROWSE_CATEGORIES__

__MSG__YOU_CAN_BROWSE_THIS_INSTITUTION__  __MSG__CATEGORIES_LC__ __MSG__WHERE_YOU_CAN_CONNECT_WITH_PEOPLE_VIEW_COURSE_DETAILS_SEARCH_FOR_CONTENT_AND_JOIN_GROUPS__

                                <button class="s3d-button s3d-overlay-button">__MSG__BROWSE_CATEGORIES__</button>

__MSG__YOU_ARE_NOT_ALLOWED_TO_SEE_THIS_PAGE__

__MSG__YOU_TRIED_TO_ACCESS_PAGE_WITHOUT_PERMISSIONS__

__MSG__WHAT_TO_DO_NOW_HERE_ARE_SOME_SUGGESTIONS__

                            <input type="text" tabindex_none="40" id="errorsearch_text" title="__MSG__SEARCH_FOR__" class="s3d-search-inputfield" maxlength="255"/>
                            <button type="button" class="s3d-button s3d-overlay-button s3d-search-button">

                            </button>

<!DOCTYPE HTML>

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

        <title></title>

        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/main.css" />
        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.corev1.css" />

        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.error.css" />

<button>__MSG__SIGN_IN__</button>

__MSG__NO_ACCOUNT__ __MSG__SIGN_UP__

__MSG__ARE_YOU_LOOKING_FOR__

                                    __MSG__CONTENT__

                                    __MSG__PEOPLE__

__MSG__BROWSE_CATEGORIES__

__MSG__YOU_CAN_BROWSE_THIS_INSTITUTION__ 0 __MSG__CATEGORIES_LC__ __MSG__WHERE_YOU_CAN_CONNECT_WITH_PEOPLE_VIEW_COURSE_DETAILS_SEARCH_FOR_CONTENT_AND_JOIN_GROUPS__

                                <button class="s3d-button s3d-overlay-button">__MSG__BROWSE_CATEGORIES__</button>

__MSG__THE_PAGE_YOU_REQUESTED_WAS_NOT_FOUND__

__MSG__POSSIBLE_REASONS_FOR_THE_PAGE_NOT_BEING_FOUND__

__MSG__WHAT_TO_DO_NOW_HERE_ARE_SOME_SUGGESTIONS__

                            <input type="text" tabindex_none="40" id="errorsearch_text" title="__MSG__SEARCH_FOR__" class="s3d-search-inputfield" maxlength="255"/>
                            <button type="button" class="s3d-button s3d-overlay-button s3d-search-button">

                            </button>

<!DOCTYPE HTML>

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

        <title></title>

        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/main.css" />
        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.corev1.css" />

        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.error.css" />

<button>__MSG__SIGN_IN__</button>

__MSG__NO_ACCOUNT__ __MSG__SIGN_UP__

__MSG__ARE_YOU_LOOKING_FOR__

                                    __MSG__CONTENT__

                                    __MSG__PEOPLE__

__MSG__BROWSE_CATEGORIES__

__MSG__YOU_CAN_BROWSE_THIS_INSTITUTION__  __MSG__CATEGORIES_LC__ __MSG__WHERE_YOU_CAN_CONNECT_WITH_PEOPLE_VIEW_COURSE_DETAILS_SEARCH_FOR_CONTENT_AND_JOIN_GROUPS__

                                <button class="s3d-button s3d-overlay-button">__MSG__BROWSE_CATEGORIES__</button>

__MSG__OOPS_AN_ERROR_HAS_OCCURRED__

__MSG__WHAT_TO_DO_NOW_HERE_ARE_SOME_SUGGESTIONS__

                            <input type="text" tabindex_none="40" id="errorsearch_text" title="__MSG__SEARCH_FOR__" class="s3d-search-inputfield" maxlength="255"/>
                            <button type="button" class="s3d-button s3d-overlay-button s3d-search-button">

                            </button>

<!DOCTYPE HTML>

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
        <title></title>

        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/main.css" />

        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.corev1.css" />

        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.acknowledgements.css" />

__MSG__JQUERY_AND_JQUERY_UI__

                            www.jquery.com

                            __MSG__JQUERY_IS_A_FAST_AND_CONCISE__

__MSG__APACHE_SLING__

                            sling.apache.org

                            __MSG__APACHE_SLING_IS_A_WEB_FRAMWORK__

__MSG__FLUID_INFUSION__

                            http://www.fluidproject.org/products/infusion

                            __MSG__WE_THINK_GOOD_INTERFACES__

                __MSG__THE_PRODUCT_INCLUDES_SOFTWARE_FROM__

__MSG__TRIMPATH__

                    http://code.google.com/p/trimpath/wiki/JavaScriptTemplates

                    __MSG__JAVASCRIPT_TEMPLATES__

__MSG__MOXIECODE_SYSTEMS_AB__

                    tinymce.moxiecode.com

                    __MSG__TINYMCE_JAVASCRIPT_WYSIWYG_EDITOR__

__MSG__GOOGLE_INC__

                    http://code.google.com/p/google-caja/wiki/JsHtmlSanitizer

                    __MSG__JSHTMLSANITIZER_LIBRARY_FROM_THE_CAJA_PROJECT__

__MSG__JORDAN_BOESH__

                    www.boedesign.com

                    __MSG__GRITTER_JQUERY_PLUGIN__

__MSG__BRICE_BURGESS__

                    http://dev.iceburg.net/jquery/jqModal

                    __MSG__JQMODAL_JQUERY_PLUGIN__

__MSG__DREW_WILSON__

                    http://code.drewwilson.com/entry/autosuggest-jquery-plugin

                    __MSG__AUTOSUGGEST_JQUERY_PLUGIN__

__MSG__COWBOY_BEN_ALMAN__

                    http://benalman.com/about/license

                    __MSG__JQUERY_BBQ__

__MSG__KLAUS_HARTL__

                    stilbuero.de

                    __MSG__COOKIE_JQUERY_PLUGIN__

__MSG__MIKE_ALSUP__

                    http://malsup.com/jquery/form

                    __MSG__JQUERY_FORM_PLUGIN__

__MSG__MICHAL_WOJCIECHOWSKI__

                    http://odyniec.net/projects/imgareaselect

                    __MSG__IMGAREASELECT_JQUERY_PLUGIN__

__MSG__MIKA_TUUPOLA_DYLAN_VERHEUL__

                    http://www.appelsiini.net/projects/jeditable

                    __MSG__JEDITABLE_JQUERY_PLUGIN__

__MSG__BRANTLEY_HARRIS__

                    http://code.google.com/p/jquery-json

                    __MSG__JQUERY_JSON_PLUGIN__

__MSG__IVAN_BOSZHANOV__

                    jstree.com

                    __MSG__JSTREE_JQUERY_PLUGIN__

__MSG__FYNETWORKS_COM__

                    http://www.fyneworks.com/jquery/multiple-file-upload

                    __MSG__JQUERY_MULTIPLE_FILE_UPLOAD_PLUGIN__

__MSG__JON_PAUL_DAVIES__

                    http://jonpauldavies.github.com/JQuery/Pager

                    __MSG__JQUERY_PAGER_PLUGIN__

__MSG__AUTHOR_JEREMY_HORN__

                    http://tpgblog.com/ThreeDots

                    __MSG__THREEDOTS_JQUERY_PLUGIN__

__MSG__RYAN_MCGEARY__

                    timeago.yarp.com

                    __MSG__TIMEAGO_JQUERY_PLUGIN__

__MSG__JORN_ZAEFFERER__

                    http://bassistance.de/jquery-plugins/jquery-plugin-validation

                    __MSG__JQUERY_VALIDATION_PLUGIN__

__MSG__ADAM_VANDENBERG__

                    http://adamv.com/dev/javascript/querystring

                    __MSG__QUERYSTRING__

__MSG__DOMINIC_MITCHELL__

                    http://search.cpan.org/~hdm/JavaScript-JSLint-0.06

                    __MSG__JAVASCRIPT_JSLINT__

__MSG__MICHAEL_MATHEWS__

                    http://code.google.com/p/jsdoc-toolkit

                    __MSG__JSDOC_TOOLKIT__

__MSG__YAHOO_INC__

                    http://developer.yahoo.com/yui/compressor

                    __MSG__YUI_COMPRESSOR__

__MSG__YUSUKE_KAMIYAMANE__

                    p.yusukekamiyamane.com

                    __MSG__FUGUE_ICONS__

__MSG__MARK_JAMES__

                    http://www.famfamfam.com/lab/icons/silk

                    __MSG__SILK_ICONS__

__MSG__APACHE_SOFTWARE_FOUNDATION__

                    www.apache.org

__MSG__ANT_CONTRIB__

                    http://sourceforge.net/projects/ant-contrib

__MSG__NAKAMURA_THE_SERVER_PART_OF_SAKAI_3__

__MSG__APACHE_ARIES_JMX_API__

__MSG__APACHE_ARIES_JMS_CORE__

__MSG__APACHE_COMMONS_IO_BUNDLE__

__MSG__APACHE_DERBY__

__MSG__APACHE_FELIX_BUNDLE_REPOSITORY__

__MSG__APACHE_FELIX_CONFIGURATION_ADMIN_SERVICE__

__MSG__APACHE_FELIX_DECLARATIVE_SERVICES__

__MSG__APACHE_FELIX_EVENTADMIN__

__MSG__APACHE_FELIX_FILE_INSTALL__

__MSG__APACHE_FELIX_HTTP_WHITEBOARD__

__MSG__APACHE_FELIX_METATYPE_SERVICE__

__MSG__APACHE_FELIX_WEB_CONSOLE_EVENT_PLUGIN__

__MSG__APACHE_FELIX_WEB_CONSOLE_MEMORY_USAGE_PLUGIN__

__MSG__APACHE_FELIX_WEB_MANAGEMENT_CONSOLE__

__MSG__APACHE_JACKRABBIT_API__

__MSG__APACHE_SLING_ADAPTER_MANAGER_IMPLEMENTATION__

__MSG__APACHE_SLING_API__

__MSG__APACHE_SLING_AUTHENTICATION_SERVICE__

__MSG__APACHE_SLING_BUNDLE_RESOURCE_PROVIDER__

__MSG__APACHE_SLING_COMMONS_OSGI_SUPPORT__

__MSG__APACHE_SLING_DEFAULT_GET_SERVLETS__

__MSG__APACHE_SLING_DEFAULT_POST_SERVLETS__

__MSG__APACHE_SLING_DYNAMIC_CLASS_LOADER_SUPPORT__

__MSG__APACHE_SLING_ENGINE_IMPLEMENTATION__

__MSG__APACHE_SLING_FILESYSTEM_RESOURCE_PROVIDER__

__MSG__APACHE_SLING_GROOVY_EXTENSION__

__MSG__APACHE_SLING_INITIAL_CONTENT_LOADER__

__MSG__APACHE_SLING_JACKRABBIT_EMBEDDED_REPOSITORY__

__MSG__APACHE_SLING_JACKRABBIT_JSR_ACCESS_CONTROL_MANAGER_SUPPORT__

__MSG__APACHE_SLING_JCR_BASE_BUNDLE__

__MSG__APACHE_SLING_JCR_CLASSLOADER__

__MSG__APACHE_SLING_JCR_RESOURCE_RESOLVER__

__MSG__APACHE_SLING_JCR_WEBCONSOLE_BUNDLE__

__MSG__APACHE_SLING_JSON_LIBRARY__

__MSG__APACHE_SLING_JSP_TAG_LIBRARY__

__MSG__APACHE_SLING_LAUNCHPAD_CONTENT__

__MSG__APACHE_SLING_MIME_TYPE_MAPPING_SUPPORT__

__MSG__APACHE_SLING_OBJECT_CONTENT_MAPPING__

__MSG__APACHE_SLING_OPENID_AUTHENTICATION__

__MSG__APACHE_SLING_OSGI_LOGSERVICE_IMPLEMENTATION__

__MSG__APACHE_SLING_REPOSITORY_API_BUNDLE__

__MSG__APACHE_SLING_SCHEDULER_SUPPORT__

__MSG__APACHE_SLING_SCRIPTING_CORE_IMPLEMENTATION__

__MSG__APACHE_SLING_SCRIPTING_IMPLEMENTATION_API__

__MSG__APACHE_SLING_SCRIPTING_JAVASCRIPT_SUPPORT__

__MSG__APACHE_SLING_SCRIPTING_JSP_SUPPORT__

__MSG__APACHE_SLING_SERVLET_RESOLVER__

__MSG__APACHE_SLING_SETTINGS__

__MSG__APACHE_SLING_THREAD_DUMPER__

__MSG__APACHE_SLING_THREAD_SUPPORT__

__MSG__APACHE_SLING_WEB_CONSOLE_BRANDING__

__MSG__APACHE_SLING_WEB_CONSOLE_SECURITY_PROVIDER__

__MSG__COMMONS_CODE__

__MSG__COMMONS_COLLECTIONS__

__MSG__COMMONS_EMAIL__

__MSG__COMMONS_FILEUPLOAD__

__MSG__COMMONS_LANG__

__MSG__COMMONS_POOL__

__MSG__CONTENT_REPOSITORY_FOR_JAVATM_TECHNOLOGY_API__

__MSG__GERONIMO_EJB__

__MSG__GERONIMO_J2EE_CONNECTOR__

__MSG__GERONIMO_J2EE_MANAGEMENT__

__MSG__GERONIMO_JMS__

__MSG__GERONIMO_JTA__

__MSG__GROOVY_RUNTIME__

__MSG__JACKRABBIT_JCR_COMMONS__

__MSG__JACKRABBIT_JCR_RMI__

__MSG__JACKRABBIT_SPI__

__MSG__JACKRABBIT_SPI_COMMONS__

__MSG__JAXB_API__

__MSG__NAKAMURA_HTTP_JETTY__

__MSG__OPS4J_PAX_WEB_SERVICE__

__MSG__SAKAI_3_UX_LOADER__

__MSG__SAKAI_NAKAMURA_ACTIVE_MQ_BUNDLE__

__MSG__SAKAI_NAKAMURA_ACTIVITY_BUNDLE__

__MSG__SAKAI_NAKAMURA_APACHE_COMMONS_HTTPCLIENT_BUNDLE__

__MSG__SAKAI_NAKAMURA_AUTHORIZATION_BUNDLE__

__MSG__SAKAI_NAKAMURA_BASIC_LTI_CONSUMER_BUNDLE__

__MSG__SAKAI_NAKAMURA_BATCH_BUNDLE__

__MSG__SAKAI_NAKAMURA_CALENDAR_BASED_EVENTS_BUNDLE__

__MSG__SAKAI_NAKAMURA_CAPTCHA_BUNDLE__

__MSG__SAKAI_NAKAMURA_CHAT_SERVICES_BUNDLE__

__MSG__SAKAI_NAKAMURA_CONFIGURATION_BUNDLE__

__MSG__SAKAI_NAKAMURA_CONNECTIONS_MANAGEMENT_BUNDLE__

__MSG__SAKAI_NAKAMURA_DATABASE_BUNDLE__

__MSG__SAKAI_NAKAMURA_DISCUSSION_MANAGEMENT_BUNDLE__

__MSG__SAKAI_NAKAMURA_DOCUMENT_PROXY__

__MSG__SAKAI_NAKAMURA_DOCUMENTATION_SUPPORT_BUNDLE__

__MSG__SAKAI_NAKAMURA_FILES_BUNDLE__

__MSG__SAKAI_NAKAMURA_FORM_AUTH_BUNDLE__

__MSG__SAKAI_NAKAMURA_GOOGLE_COLLECTIONS__

__MSG__SAKAI_NAKAMURA_HTTP_BUNDLE__

__MSG__SAKAI_NAKAMURA_IMAGE_SERVICE__

__MSG__SAKAI_NAKAMURA_JAVAX_ACTIVATION_AND_MAIL_BUNDLE__

__MSG__SAKAI_NAKAMURA_JAXP_API_BUNDLE__

__MSG__SAKAI_NAKAMURA_JCR_BUNDLE__

__MSG__SAKAI_NAKAMURA_JSON_LIB_BUNDLE__

__MSG__SAKAI_NAKAMURA_LOCKING_BUNDLE__

__MSG__SAKAI_NAKAMURA_ME_SERVICE_BUNDLE__

__MSG__SAKAI_NAKAMURA_MEMORY_BUNDLE__

__MSG__SAKAI_NAKAMURA_MESSAGING_BUNDLE__

__MSG__SAKAI_NAKAMURA_MODEL_DIRECTORY__

__MSG__SAKAI_NAKAMURA_OSGI_TO_JMS_EVENTS_BRIDGE_BUNDLE__

__MSG__SAKAI_NAKAMURA_OUTGOING_EMAIL_SENDER__

__MSG__SAKAI_NAKAMURA_PAGES_STRUCTURED_CONTENT__

__MSG__SAKAI_NAKAMURA_PERSONAL_SPACE_BUNDLE__

__MSG__SAKAI_NAKAMURA_PRESENCE_BUNDLE__

__MSG__SAKAI_NAKAMURA_PROFILE_BUNDLE__

__MSG__SAKAI_NAKAMURA_PROXY_SERVICE__

__MSG__SAKAI_NAKAMURA_SAKAI_CLUSTER_TRACKING__

__MSG__SAKAI_NAKAMURA_SEARCH_SUPPORT_BUNDLE__

__MSG__SAKAI_NAKAMURA_SECURITY_LOADER_BUNDLE__

__MSG__SAKAI_NAKAMURA_SITE_SERVICE_BUNDLE__

__MSG__SAKAI_NAKAMURA_SLING_RESOURCE_EXTENSION BUNDLE__

__MSG__SAKAI_NAKAMURA_SMTP_SERVER__

__MSG__SAKAI_NAKAMURA_SOLR_BASED_SEARCH_SERVICE__

__MSG__SAKAI_NAKAMURA_SPARSE_MAP_CONTENT_STORAGE_BUNDLE__

__MSG__SAKAI_NAKAMURA_TEMPLATES_BUNDLE__

__MSG__SAKAI_NAKAMURA_TIKA_BUNDLE__

__MSG__SAKAI_NAKAMURA_TRUSTED_AUTHENTICATION_BUNDLE__

__MSG__SAKAI_NAKAMURA_USER_EXTENSIONS_BUNDLE__

__MSG__SAKAI_NAKAMURA_UTILITIES__

__MSG__SAKAI_NAKAMURA_VERSION_EXTENSION_BUNDLE__

__MSG__SAKAI_NAKAMURA_WOODSTOX_STAX__

__MSG__SAKAI_NAKAMURA_WORLD_SUPPORT__

                  __MSG__COPYRIGHT_THE_SAKAI_FOUNDATION__

<!DOCTYPE HTML>

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
        <title></title>
        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/main.css" />
        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.corev1.css" />
        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.explore.css" />

__MSG__ALL_CATEGORIES__

<!DOCTYPE HTML>

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
        <title></title>
        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/main.css" />
        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.corev1.css" />
        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.explore.css" />
        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.category.css" />

__MSG__IE_PLACEHOLDER__

/*
 * Licensed to the Sakai Foundation (SF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The SF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */
define(function(){
    var config = {
        URL: {
            // Static URLs
            GATEWAY_URL: "/",
            GROUP_DEFAULT_ICON_URL: "/dev/images/group_avatar_icon_64x64_nob.png",
            GROUP_DEFAULT_ICON_URL_LARGE: "/dev/images/group_avatar_icon_100x100_nob.png",
            I10N_BUNDLE_URL: "/dev/lib/misc/l10n/cultures/globalize.culture.__CODE__.js",
            I18N_BUNDLE_ROOT: "/dev/bundle/",
            INBOX_URL: "/me#l=messages/inbox",
            INVITATIONS_URL: "/me#l=messages/invitations",
            LOGOUT_URL: "/logout",
            MY_DASHBOARD_URL: "/me#l=dashboard",
            PROFILE_EDIT_URL: "/me#l=profile/basic",
            SEARCH_ACTIVITY_ALL_URL: "/var/search/activity/all.json",
            SEARCH_URL: "/search",
            TINY_MCE_CONTENT_CSS: "/dev/css/FSS/fss-base.css,/dev/css/sakai/main.css,/dev/css/sakai/sakai.corev1.css,/dev/css/sakai/sakai.base.css,/dev/css/sakai/sakai.editor.css,/dev/css/sakai/sakai.content_profile.css",
            USER_DEFAULT_ICON_URL: "/dev/images/default_User_icon_50x50.png",
            USER_DEFAULT_ICON_URL_LARGE: "/dev/images/default_User_icon_100x100.png",
            INFINITE_LOADING_ICON: "/dev/images/Infinite_Scrolling_Loader_v01.gif",

            // Services
            BATCH: "/system/batch",
            CAPTCHA_SERVICE: "/system/captcha",
            CONTACTS_FIND: "/var/contacts/find.json",
            CONTACTS_FIND_STATE: "/var/contacts/findstate.json",
            CONTACTS_FIND_ALL: "/var/contacts/find-all.json",
            CREATE_USER_SERVICE: "/system/userManager/user.create.html",
            DISCUSSION_GETPOSTS_THREADED: "/var/search/discussions/threaded.json?path=__PATH__&marker=__MARKER__",
            GOOGLE_CHARTS_API: "http://chart.apis.google.com/chart",
            GROUP_CREATE_SERVICE: "/system/userManager/group.create.json",
            GROUPS_MANAGER: "/system/me/managedgroups.json",
            GROUPS_MEMBER: "/system/me/groups.json",
            IMAGE_SERVICE: "/var/image/cropit",
            LOGIN_SERVICE: "/system/sling/formlogin",
            LOGOUT_SERVICE: "/system/sling/logout?resource=/index",
            ME_SERVICE: "/system/me",
            MESSAGE_BOX_SERVICE: "/var/message/box.json",
            MESSAGE_BOXCATEGORY_SERVICE: "/var/message/boxcategory.json",
            MESSAGE_BOXCATEGORY_ALL_SERVICE: "/var/message/boxcategory-all.json",
            POOLED_CONTENT_MANAGER: "/var/search/pool/me/manager.json",
            POOLED_CONTENT_MANAGER_ALL: "/var/search/pool/me/manager-all.json",
            POOLED_CONTENT_VIEWER: "/var/search/pool/me/viewer.json",
            POOLED_CONTENT_VIEWER_ALL: "/var/search/pool/me/viewer-all.json",
            POOLED_CONTENT_SPECIFIC_USER: "/var/search/pool/manager-viewer.json",
            POOLED_CONTENT_ACTIVITY_FEED: "/var/search/pool/activityfeed.json",
            PRESENCE_SERVICE: "/var/presence.json",
            SAKAI2_TOOLS_SERVICE: "/var/proxy/s23/site.json?siteid=__SITEID__",
            WORLD_CREATION_SERVICE: "/system/world/create",
            WORLD_INFO_URL: "/var/templates/worlds.2.json",

            // Replace these in widgets with proper widgetsave functions from magic
            SEARCH_ALL_ENTITIES: "/var/search/general.json",
            SEARCH_ALL_ENTITIES_ALL: "/var/search/general-all.json",
            SEARCH_ALL_FILES: "/var/search/pool/all.json",
            SEARCH_ALL_FILES_ALL: "/var/search/pool/all-all.json",
            SEARCH_MY_BOOKMARKS: "/var/search/files/mybookmarks.json",
            SEARCH_MY_BOOKMARKS_ALL: "/var/search/files/mybookmarks-all.json",
            SEARCH_MY_CONTACTS: "/var/search/files/mycontacts.json",
            SEARCH_MY_FILES: "/var/search/files/myfiles.json",
            SEARCH_MY_FILES_ALL: "/var/search/files/myfiles-all.json",
            SEARCH_GROUP_MEMBERS: "/var/search/groupmembers.json",
            SEARCH_GROUP_MEMBERS_ALL: "/var/search/groupmembers-all.json",
            SEARCH_GROUPS: "/var/search/groups.infinity.json",
            SEARCH_GROUPS_ALL: "/var/search/groups-all.json",
            SEARCH_USERS_ACCEPTED: "/var/contacts/findstate.infinity.json",
            SEARCH_USERS: "/var/search/users.infinity.json",
            SEARCH_USERS_ALL: "/var/search/users-all.json",
            SEARCH_USERS_GROUPS: "/var/search/usersgroups.json",
            SEARCH_USERS_GROUPS_ALL: "/var/search/usersgroups-all.json",
            USER_CHANGEPASS_SERVICE: "/system/userManager/user/__USERID__.changePassword.html",
            USER_EXISTENCE_SERVICE: "/system/userManager/user.exists.html?userid=__USERID__"
        },

        PageTitles: {
            "prefix": "TITLE_PREFIX",
            "pages": {
                /**  403.html  **/
                /**  404.html  **/
                /**  500.html  **/
                /**  account_preferences.html  **/
                "/dev/account_preferences.html": "ACCOUNT_PREFERENCES",
                "/preferences": "ACCOUNT_PREFERENCES",
                /**  acknowledgements.html  **/
                "/dev/acknowledgements.html": "ACKNOWLEDGEMENTS",
                "/acknowledgements": "ACKNOWLEDGEMENTS",
                /**  allcategories.html  **/
                "/categories": "BROWSE_ALL_CATEGORIES",
                "/dev/allcategories.html": "BROWSE_ALL_CATEGORIES",
                /**  category.html  **/
                /**  content_profile.html  **/
                "/dev/content_profile.html": "CONTENT_PROFILE",
                "/content": "CONTENT_PROFILE",
                /**  create_new_account.html  **/
                "/dev/create_new_account.html": "CREATE_A_NEW_ACCOUNT",
                "/register": "CREATE_A_NEW_ACCOUNT",
                /**  explore.html  **/
                "/": "EXPLORE",
                "/dev": "EXPLORE",
                "/dev/": "EXPLORE",
                "/index.html": "EXPLORE",
                "/dev/explore.html": "EXPLORE",
                "/index": "EXPLORE",
                /**  logout.html  **/
                "/dev/logout.html": "LOGGING_OUT",
                "/logout": "LOGGING_OUT",
                /**  search.html  **/
                "/dev/search.html": "SEARCH",
                "/search": "SEARCH",
                /**  createnew.html  **/
                "/create": "CREATE"
            }
        },

        ErrorPage: {
            /*
             * These links are displayed in the 403 and 404 error pages.
             */
            Links: {
                whatToDo: [{
                    "title": "EXPLORE_THE_INSTITUTION",
                    "url": "/index"
                }, {
                    "title": "BROWSE_INSTITUTION_CATEGORIES",
                    "url": "/categories"
                }, {
                    "title": "VIEW_THE_INSTITUTION_WEBSITE",
                    "url": "http://sakaiproject.org/"
                }, {
                    "title": "VISIT_THE_SUPPORT_FORUM",
                    "url": "http://sakaiproject.org/"
                }],
                getInTouch: [{
                    "title": "SEND_US_YOUR_FEEDBACK",
                    "url": "http://sakaiproject.org/"
                }, {
                    "title": "CONTACT_SUPPORT",
                    "url": "http://sakaiproject.org/"
                }]
            }
        },

        Domain: {
            /*
             * These domain labels can be used anywhere on the site (i.e in the video
             * widget) to convert common domains into shorter, more readable labels
             * for display purposes.
             */
            Labels: {
                "youtube.com": "YouTube",
                "www.youtube.com": "YouTube",
                "youtube.co.uk": "YouTube",
                "www.youtube.co.uk": "YouTube",
                "vimeo.com": "Vimeo",
                "www.vimeo.com": "Vimeo",
                "vimeo.co.uk": "Vimeo",
                "www.vimeo.co.uk": "Vimeo",
                "video.google.com": "Google Video"
            }
        },

        SakaiDomain: window.location.protocol + "//" + window.location.host,

        Permissions: {
            /*
             * A collection of permission keys and range of values to be referenced
             * for making permissions decisions. The values of properties are only
             * for reference, may not match designs and are not to be placed in the
             * UI (message bundles should be used to match up-to-date designs).
             */
            Groups: {
                joinable: {
                    "manager_add": "no", // Managers add people
                    "user_direct": "yes", // People can automatically join
                    "user_request": "withauth" // People request to join
                },
                visible: {
                    "members": "members-only", // Group members only (includes managers)
                    "allusers": "logged-in-only", // All logged in users
                    "public": "public" // Anyone on the Internet
                },
                "defaultaccess": "public", // public, logged-in-only or members-only (see above for role description)
                "defaultjoin": "yes", // no, yes, or withauth (see above for descriptions)
                "addcontentmanagers": true // true, false. If set to yes, group managers will be added as manager for a file
                                           // added to a group library in context of that group
            },
            Content: {
                /*
                 * public - anyone
                 * everyone - logged in users
                 * private - private
                 */
                "defaultaccess": "public" // public, everyone or private (see above for role description)
            },
            Documents: {
                /*
                 * public - anyone
                 * everyone - logged in users
                 * private - private
                 */
                "defaultaccess": "public" // public, everyone or private (see above for role description)
            },
            Links: {
                "defaultaccess": "public" // public, everyone or private (see above for role description)
            },
            Copyright: {
                types: {
                    "creativecommons": {
                        "title": "CREATIVE_COMMONS_LICENSE"
                    },
                    "copyrighted": {
                        "title": "COPYRIGHTED"
                    },
                    "nocopyright": {
                        "title": "NO_COPYRIGHT"
                    },
                    "licensed": {
                        "title": "LICENSED"
                    },
                    "waivecopyright": {
                        "title": "WAIVE_COPYRIGHT"
                    }
                },
                defaults: {
                    "content": "creativecommons",
                    "sakaidocs": "creativecommons",
                    "links": "creativecommons",
                    "collections": "creativecommons"
                }
            }
        },

        allowPasswordChange: true,

        Profile: {
            /*
             * This is a collection of profile configuration functions and settings
             * The structure of the config object is identical to the storage object
             * When system/me returns profile data for the logged in user the profile_config and profile_data objects could be merged
             * "label": the internationalizable message for the entry label in HTML
             * "required": {Boolean} Whether the entry is compulsory or not
             * "display": {Boolean} Show the entry in the profile or not
             * "editable": {Boolean} Whether or not the entry is editable
             * For a date entry field use "date" as the type for MM/dd/yyyy and "dateITA" as the type for dd/MM/yyyy
             *
             */
            configuration: {

                defaultConfig: {

                    "basic": {
                        "label": "__MSG__PROFILE_BASIC_LABEL__",
                        "required": true,
                        "display": true,
                        "access": "everybody",
                        "modifyacl": false,
                        "permission": "anonymous",
                        "order": 0,
                        "elements": {
                            "firstName": {
                                "label": "__MSG__PROFILE_BASIC_FIRSTNAME_LABEL__",
                                "errorMessage": "__MSG__PROFILE_BASIC_FIRSTNAME_ERROR__",
                                "required": true,
                                "display": true,
                                "limitDisplayWidth": 300
                            },
                            "lastName": {
                                "label": "__MSG__PROFILE_BASIC_LASTNAME_LABEL__",
                                "errorMessage": "__MSG__PROFILE_BASIC_LASTNAME_ERROR__",
                                "required": true,
                                "display": true,
                                "limitDisplayWidth": 300
                            },
                            "picture": {
                                "label": "__MSG__PROFILE_BASIC_PICTURE_LABEL__",
                                "required": false,
                                "display": false
                            },
                            "preferredName": {
                                "label": "__MSG__PROFILE_BASIC_PREFERREDNAME_LABEL__",
                                "required": false,
                                "display": true
                            },
                            "email": {
                                "label": "__MSG__PROFILE_BASIC_EMAIL_LABEL__",
                                "errorMessage": "__MSG__PROFILE_BASIC_EMAIL_ERROR__",
                                "required": true,
                                "display": true,
                                "validation": "email"
                            },
                            "status": {
                                "label": "__MSG__PROFILE_BASIC_STATUS_LABEL__",
                                "required": false,
                                "display": false
                            },
                            "role": {
                                "label": "__MSG__PROFILE_BASIC_ROLE_LABEL__",
                                "required": false,
                                "display": true,
                                "type": "select",
                                "select_elements": {
                                    "academic_related_staff": "__MSG__PROFILE_BASIC_ROLE_ACADEMIC_RELATED_STAFF_LABEL__",
                                    "academic_staff": "__MSG__PROFILE_BASIC_ROLE_ACADEMIC_STAFF_LABEL__",
                                    "assistent_staff": "__MSG__PROFILE_BASIC_ROLE_ASSISTENT_STAFF_LABEL__",
                                    "graduate_student": "__MSG__PROFILE_BASIC_ROLE_GRADUATE_STUDENT_LABEL__",
                                    "undergraduate_student": "__MSG__PROFILE_BASIC_ROLE_UNDERGRADUATE_STUDENT_LABEL__",
                                    "non_academic_staff": "__MSG__PROFILE_BASIC_ROLE_NON_ACADEMIC_STAFF_LABEL__",
                                    "postgraduate_student": "__MSG__PROFILE_BASIC_ROLE_POSTGRADUATE_STUDENT_LABEL__",
                                    "research_staff": "__MSG__PROFILE_BASIC_ROLE_RESEARCH_STAFF_LABEL__",
                                    "other": "__MSG__PROFILE_BASIC_ROLE_OTHER_LABEL__"
                                }
                            },
                            "department": {
                                "label": "__MSG__PROFILE_BASIC_DEPARTMENT_LABEL__",
                                "required": false,
                                "display": true
                            },
                            "college": {
                                "label": "__MSG__PROFILE_BASIC_COLLEGE_LABEL__",
                                "required": false,
                                "display": true
                            },
                            "tags": {
                                "label": "__MSG__TAGS_AND_CATEGORIES__",
                                "required": false,
                                "display": true,
                                "type": "tags",
                                "tagField": true
                            }
                        }
                    },
                    "aboutme": {
                        "label": "__MSG__PROFILE_ABOUTME_LABEL__",
                        "required": true,
                        "display": true,
                        "access": "everybody",
                        "modifyacl": true,
                        "permission": "anonymous",
                        "order": 1,
                        "elements": {
                            "aboutme": {
                                "label": "__MSG__PROFILE_ABOUTME_LABEL__",
                                "required": false,
                                "display": true,
                                "type": "textarea"
                            },
                            "academicinterests": {
                                "label": "__MSG__PROFILE_ABOUTME_ACADEMICINTERESTS_LABEL__",
                                "required": false,
                                "display": true,
                                "type": "textarea"
                            },
                            "personalinterests": {
                                "label": "__MSG__PROFILE_ABOUTME_PERSONALINTERESTS_LABEL__",
                                "required": false,
                                "display": true,
                                "type": "textarea"
                            },
                            "hobbies": {
                                "label": "__MSG__PROFILE_ABOUTME_HOBBIES_LABEL__",
                                "required": false,
                                "display": true
                            }
                        }
                    },
                    "publications": {
                        "label": "__MSG__PROFILE_PUBLICATIONS_LABEL__",
                        "required": false,
                        "display": true,
                        "access": "everybody",
                        "modifyacl": true,
                        "permission": "anonymous",
                        "multiple": true,
                        "multipleLabel": "__MSG__PROFILE_PUBLICATION_LABEL__",
                        "order": 2,
                        //"template": "profile_section_publications_template",
                        "elements": {
                            "maintitle": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_MAIN_TITLE__",
                                "required": true,
                                "display": true,
                                "example": "__MSG__PROFILE_PUBLICATIONS_MAIN_TITLE_EXAMPLE__"
                            },
                            "mainauthor": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_MAIN_AUTHOR__",
                                "required": true,
                                "display": true
                            },
                            "coauthor": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_CO_AUTHOR__",
                                "required": false,
                                "display": true,
                                "example": "__MSG__PROFILE_PUBLICATIONS_CO_AUTHOR_EXAMPLE__"
                            },
                            "publisher": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_PUBLISHER__",
                                "required": true,
                                "display": true
                            },
                            "placeofpublication": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_PLACE_OF_PUBLICATION__",
                                "required": true,
                                "display": true
                            },
                            "volumetitle": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_VOLUME_TITLE__",
                                "required": false,
                                "display": true
                            },
                            "volumeinformation": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_VOLUME_INFORMATION__",
                                "required": false,
                                "display": true,
                                "example": "__MSG__PROFILE_PUBLICATIONS_VOLUME_INFORMATION_EXAMPLE__"
                            },
                            "year": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_YEAR__",
                                "required": true,
                                "display": true
                            },
                            "number": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_NUMBER__",
                                "required": false,
                                "display": true
                            },
                            "series title": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_SERIES_TITLE__",
                                "required": false,
                                "display": true
                            },
                            "url": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_URL__",
                                "required": false,
                                "display": true,
                                "validation": "appendhttp url"
                            }
                        }
                    }
                }
            },
            /*
             * set what name to display where only the first name is used
             */
            userFirstNameDisplay: "firstName",

            /*
             * set how the user's name is displayed across the entire system
             * - values can be compound, like "firstName lastName" or singular like "displayName"
             */
            userNameDisplay: "firstName lastName",

            /*
             * the default, if the user doesn't have the userNameDisplay property set in their
             * profile, use this one.
             * Note: the value for userNameDisplay and this value can be the same.
             *       If neither exists, nothing will show
             */
            userNameDefaultDisplay: "firstName lastName",

            /*
             * Set the default user settings in account preferences for automatic tagging
             * and auto-tagged notifications
             */
            defaultAutoTagging: true,
            defaultSendTagMsg: true
        },

        Groups: {
            /*
             * Email message that will be sent to group managers when a user requests
             * to join their group.
             * ${user} will be replaced by the name of the requesting user and ${group}
             * will be replaced with the group name.
             */
            JoinRequest: {
                title: "${user} has requested to join your group: ${group}",
                body: "${user} has requested to join your group: ${group}. Use the links below to respond to this request."
            }
        },

        Relationships: {
            /*
             * Relationships used by the add contacts widget to define what relationship the contacts can have
             */
            "contacts": [{
                "name": "__MSG__CLASSMATE__",
                "definition": "__MSG__IS_MY_CLASSMATE__",
                "selected": true
            }, {
                "name": "__MSG__SUPERVISOR__",
                "inverse": "__MSG__SUPERVISED__",
                "definition": "__MSG__IS_MY_SUPERVISOR__",
                "selected": false
            }, {
                "name": "__MSG__SUPERVISED__",
                "inverse": "__MSG__SUPERVISOR__",
                "definition": "__MSG__IS_SUPERVISED_BY_ME__",
                "selected": false
            }, {
                "name": "__MSG__LECTURER__",
                "inverse": "__MSG__STUDENT__",
                "definition": "__MSG__IS_MY_LECTURER__",
                "selected": false
            }, {
                "name": "__MSG__STUDENT__",
                "inverse": "__MSG__LECTURER__",
                "definition": "__MSG__IS_MY_STUDENT__",
                "selected": false
            }, {
                "name": "__MSG__COLLEAGUE__",
                "definition": "__MSG__IS_MY_COLLEAGUE__",
                "selected": false
            }, {
                "name": "__MSG__COLLEGE_MATE__",
                "definition": "__MSG__IS_MY_COLLEGE_MATE__",
                "selected": false
            }, {
                "name": "__MSG__SHARES_INTERESTS__",
                "definition": "__MSG__SHARES_INTEREST_WITH_ME__",
                "selected": false
            }]
        },

        SystemTour: {
            "enableReminders": true,
            "reminderIntervalHours": "168"
        },

        enableBranding: true,

        // Set this to true if you have an authentication system such as CAS
        // that needs to redirect the user's browser on logout
        followLogoutRedirects: false,

        // Set this to the hostname of your CLE instance if you're using CAS
        // proxy tickets
        hybridCasHost: false,

        Messages: {
            Types: {
                inbox: "inbox",
                sent: "sent",
                trash: "trash"
            },
            Categories: {
                message: "Message",
                announcement: "Announcement",
                chat: "Chat",
                invitation: "Invitation"
            },
            Subject: "subject",
            Type: "type",
            Body: "body",
            To: "to",
            read: "read"
        },
        Extensions:{
            "docx":"application/doc",
            "doc":"application/doc",
            "odt":"application/doc",
            "ods":"application/vnd.ms-excel",
            "xls":"application/vnd.ms-excel",
            "xlsx":"application/vnd.ms-excel",
            "odp":"application/vnd.ms-powerpoint",
            "ppt":"application/vnd.ms-powerpoint",
            "pptx":"application/vnd.ms-powerpoint",
            "odg":"image/jpeg",
            "png":"image/png",
            "jp2":"images/jp2",
            "jpg":"image/jpeg",
            "jpeg":"image/jpeg",
            "bmp":"image/bmp",
            "gif":"image/gif",
            "tif":"image/tiff",
            "tiff":"images/tiff",
            "pdf":"application/x-pdf",
            "swf":"application/x-shockwave-flash",
            "flv":"video/x-msvideo",
            "mpg":"video/x-msvideo",
            "mpeg":"video/x-msvideo",
            "mp4":"video/x-msvideo",
            "avi":"video/x-msvideo",
            "mov":"video/x-msvideo",
            "txt":"text/rtf",
            "rtf":"text/rtf",
            "htm":"text/html",
            "html":"text/html",
            "wav": "audio/x-wav",
            "mp3": "audio/mpeg",
            "tar": "application/zip",
            "zip": "application/zip",
            "other":"other"
        },
        MimeTypes: {
            "application/doc": {
                cssClass: "icon-doc-sprite",
                URL: "/dev/images/mimetypes/doc.png",
                description: "WORD_DOCUMENT"
            },
            "application/msword": {
                cssClass: "icon-doc-sprite",
                URL: "/dev/images/mimetypes/doc.png",
                description: "WORD_DOCUMENT"
            },
            "application/vnd.openxmlformats-officedocument.wordprocessingml.document": {
                cssClass: "icon-doc-sprite",
                URL: "/dev/images/mimetypes/doc.png",
                description: "WORD_DOCUMENT"
            },
            "application/pdf": {
                cssClass: "icon-pdf-sprite",
                URL: "/dev/images/mimetypes/pdf.png",
                description: "PDF_DOCUMENT"
            },
            "application/x-download": {
                cssClass: "icon-pdf-sprite",
                URL: "/dev/images/mimetypes/pdf.png",
                description: "PDF_DOCUMENT"
            },
            "application/x-pdf": {
                cssClass: "icon-pdf-sprite",
                URL: "/dev/images/mimetypes/pdf.png",
                description: "PDF_DOCUMENT"
            },
            "application/vnd.ms-powerpoint": {
                cssClass: "icon-pps-sprite",
                URL: "/dev/images/mimetypes/pps.png",
                description: "POWERPOINT_DOCUMENT"
            },
            "application/vnd.openxmlformats-officedocument.presentationml.presentation": {
                cssClass: "icon-pps-sprite",
                URL: "/dev/images/mimetypes/pps.png",
                description: "POWERPOINT_DOCUMENT"
            },
            "application/vnd.oasis.opendocument.text": {
                cssClass: "icon-doc-sprite",
                URL: "/dev/images/mimetypes/doc.png",
                description: "OPEN_OFFICE_DOCUMENT"
            },
            "application/vnd.oasis.opendocument.presentation": {
                cssClass: "icon-pps-sprite",
                URL: "/dev/images/mimetypes/pps.png",
                description: "OPEN_OFFICE_PRESENTATION"
            },
            "application/vnd.oasis.opendocument.spreadsheet": {
                cssClass: "icon-pps-sprite",
                URL: "/dev/images/mimetypes/spreadsheet.png",
                description: "OPEN_OFFICE_SPREADSHEET"
            },

            "application/x-shockwave-flash": {
                cssClass: "icon-swf-sprite",
                URL: "/dev/images/mimetypes/swf.png",
                description: "FLASH_PLAYER_FILE"
            },
            "application/zip": {
                cssClass: "icon-zip-sprite",
                URL: "/dev/images/mimetypes/zip.png",
                description: "ARCHIVE_FILE"
            },
            "application/x-zip-compressed": {
                cssClass: "icon-zip-sprite",
                URL: "/dev/images/mimetypes/zip.png",
                description: "ARCHIVE_FILE"
            },
            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
                cssClass: "icon-spreadsheet-sprite",
                URL: "/dev/images/mimetypes/spreadsheet.png",
                description: "SPREADSHEET_DOCUMENT"
            },
            "application/vnd.ms-excel": {
                cssClass: "icon-spreadsheet-sprite",
                URL: "/dev/images/mimetypes/spreadsheet.png",
                description: "SPREADSHEET_DOCUMENT"
            },
            "audio/x-wav": {
                cssClass: "icon-audio-sprite",
                URL: "/dev/images/mimetypes/sound.png",
                description: "SOUND_FILE"
            },
            "audio/mpeg": {
                cssClass: "icon-audio-sprite",
                URL: "/dev/images/mimetypes/sound.png",
                description: "SOUND_FILE"
            },
            "text/plain": {
                cssClass: "icon-txt-sprite",
                URL: "/dev/images/mimetypes/txt.png",
                description: "TEXT_DOCUMENT"
            },
            "text/rtf": {
                cssClass: "icon-txt-sprite",
                URL: "/dev/images/mimetypes/txt.png",
                description: "TEXT_DOCUMENT"
            },
            "image/png": {
                cssClass: "icon-image-sprite",
                URL: "/dev/images/mimetypes/images.png",
                description: "PNG_IMAGE"
            },
            "image/bmp": {
                cssClass: "icon-image-sprite",
                URL: "/dev/images/mimetypes/images.png",
                description: "BMP_IMAGE"
            },
            "image/gif": {
                cssClass: "icon-image-sprite",
                URL: "/dev/images/mimetypes/images.png",
                description: "GIF_IMAGE"
            },
            "image/jp2": {
                cssClass: "icon-image-sprite",
                URL: "/dev/images/mimetypes/images.png",
                description: "JPG2000_IMAGE"
            },
            "image/jpeg": {
                cssClass: "icon-image-sprite",
                URL: "/dev/images/mimetypes/images.png",
                description: "JPG_IMAGE"
            },
            "image/pjpeg": {
                cssClass: "icon-image-sprite",
                URL: "/dev/images/mimetypes/images.png",
                description: "JPG_IMAGE"
            },
            "image/tiff": {
                cssClass: "icon-image-sprite",
                URL: "/dev/images/mimetypes/images.png",
                description: "TIFF_IMAGE"
            },
            "text/html": {
                cssClass: "icon-html-sprite",
                URL: "/dev/images/mimetypes/html.png",
                description: "HTML_DOCUMENT"
            },
            "video/x-msvideo": {
                cssClass: "icon-video-sprite",
                URL: "/dev/images/mimetypes/video.png",
                description: "VIDEO_FILE"
            },
            "video/mp4": {
                cssClass: "icon-video-sprite",
                URL: "/dev/images/mimetypes/video.png",
                description: "VIDEO_FILE"
            },
            "video/quicktime": {
                cssClass: "icon-video-sprite",
                URL: "/dev/images/mimetypes/video.png",
                description: "VIDEO_FILE"
            },
            "video/x-ms-wmv": {
                cssClass: "icon-video-sprite",
                URL: "/dev/images/mimetypes/video.png",
                description: "VIDEO_FILE"
            },
            "folder": {
                cssClass: "icon-kmultiple-sprite",
                URL: "/dev/images/mimetypes/kmultiple.png",
                description: "FOLDER"
            },
            "x-sakai/link": {
                cssClass: "icon-url-sprite",
                URL: "/dev/images/mimetypes/html.png",
                description: "URL_LINK"
            },
            "x-sakai/document": {
                cssClass: "icon-sakaidoc-sprite",
                URL: "/dev/images/mimetypes/sakaidoc.png",
                description: "DOCUMENT"
            },
            "x-sakai/collection": {
                cssClass: "icon-collection-sprite",
                URL: "/dev/images/mimetypes/collection.png",
                description: "COLLECTION"
            },
            "kaltura/video": {
                cssClass: "icon-video-sprite",
                URL: "/dev/images/mimetypes/video.png",
                description: "VIDEO_FILE"
            },
            "kaltura/audio": {
                cssClass: "icon-sound-sprite",
                URL: "/dev/images/mimetypes/sound.png",
                description: "SOUND_FILE"
            },
            "other": {
                cssClass: "icon-unknown-sprite",
                URL: "/dev/images/mimetypes/unknown.png",
                description: "OTHER_DOCUMENT"
            }
        },

        Authentication: {
            "allowInternalAccountCreation": true,
            "internal": true,
            "external": [{
                label: "External Login System 1",
                url: "http://external.login1.com/"
            }, {
                label: "External Login System 2",
                url: "http://external.login2.com/"
            }],
            "hideLoginOn": ["/dev", "/dev/index.html", "/dev/create_new_account.html"]
        },

        notification: {
            type: {
                ERROR: {
                    image: "/dev/images/notifications_exclamation_icon.png",
                    time: 10000
                },
                INFORMATION: {
                    image: "/dev/images/notifications_info_icon.png",
                    time: 5000
                }
            }
        },

        Navigation: [{
            "url": "/me#l=dashboard",
            "id": "navigation_you_link",
            "anonymous": false,
            "label": "YOU",
            "append": "messages",
            "subnav": [{
                "url": "/me#l=dashboard",
                "id": "subnavigation_home_link",
                "label": "MY_HOME"
            }, {
                "url": "/me#l=messages/inbox",
                "id": "subnavigation_messages_link",
                "label": "MY_MESSAGES"
            }, {
                "id": "subnavigation_hr"
            }, {
                "url": "/me#l=profile/basic",
                "id": "subnavigation_profile_link",
                "label": "MY_PROFILE"
            }, {
                "url": "/me#l=library",
                "id": "subnavigation_content_link",
                "label": "MY_LIBRARY"
            }, {
                "url": "/me#l=memberships",
                "id": "subnavigation_memberships_link",
                "label": "MY_MEMBERSHIPS"
            }, {
                "url": "/me#l=contacts",
                "id": "subnavigation_contacts_link",
                "label": "MY_CONTACTS_CAP"
            }]
        }, {
            "url": "#",
            "id": "navigation_create_and_add_link",
            "anonymous": false,
            "label": "CREATE_AND_COLLECT",
            "append": "collections",
            "subnav": [{
                "id": "subnavigation_add_content_link",
                "label": "ADD_CONTENT",
                "url": "#"
            }, {
                "id": "subnavigation_add_collection_link",
                "label": "ADD_COLLECTION",
                "url": "#"
            }, {
                "id": "subnavigation_hr"
            }]
        }, {
            "url": "/index",
            "id": "navigation_explore_link",
            "anonymous": false,
            "label": "EXPLORE",
            "subnav": [{
                "id": "subnavigation_explore_categories_link",
                "label": "BROWSE_ALL_CATEGORIES",
                "url": "/categories"
            },{
                "id": "subnavigation_hr"
            },{
                "id": "subnavigation_explore_content_link",
                "label": "CONTENT",
                "url": "/search#l=content"
            }, {
                "id": "subnavigation_explore_people_link",
                "label": "PEOPLE",
                "url": "/search#l=people"
            }]
        }, {
            "url": "/index",
            "id": "navigation_anon_explore_link",
            "anonymous": true,
            "label": "EXPLORE",
            "subnav": [{
                "id": "subnavigation_explore_categories_link",
                "label": "BROWSE_ALL_CATEGORIES",
                "url": "/categories"
            },{
                "id": "subnavigation_hr"
            },{
                "id": "subnavigation_explore_content_link",
                "label": "CONTENT",
                "url": "/search#l=content"
            }, {
                "id": "subnavigation_explore_people_link",
                "label": "PEOPLE",
                "url": "/search#l=people"
            }]
        }, {
            "url": "/register",
            "id": "navigation_anon_signup_link",
            "anonymous": true,
            "label": "SIGN_UP"
        }],

        Footer: {
            leftLinks: [{
                "title": "__MSG__COPYRIGHT__",
                "href": "http://sakaiproject.org/foundation-licenses",
                "newWindow": true
            }, {
                "title": "__MSG__HELP__",
                "href": "http://sakaiproject.org/node/2307",
                "newWindow": true
            }, {
                "title": "__MSG__ACKNOWLEDGEMENTS__",
                "href": "/acknowledgements"
            }, {
                "title": "__MSG__SUGGEST_AN_IMPROVEMENT__",
                "href": "http://sakaioae.idea.informer.com/",
                "newWindow": true
            }],
            rightLinks: [{
                "title": "__MSG__BROWSE__",
                "href": "/categories"
            }, {
                "title": "__MSG__EXPLORE__",
                "href": "/"
            }]
        },

        /*
         * Are anonymous users allowed to browse/search
         */
        anonAllowed: true,
        /*
         * List of pages that require a logged in user
         */
        requireUser: ["/me", "/dev/me.html", "/dev/search_sakai2.html", "/create", "/dev/createnew.html"],

        /*
         * List of pages that require an anonymous user
         */
        requireAnonymous: ["/register", "/dev/create_new_account.html"],
        /*
         * List of pages that will be added to requireUser if
         * anonAllowed is false
         */
        requireUserAnonNotAllowed: ["/me", "/dev/me.html", "/dev/search_sakai2.html"],
        /*
         * List of pages that will be added to requireAnonymous if
         * anonAllowed is false
         */
        requireAnonymousAnonNotAllowed: [],
        /*
         * List op pages that require additional processing to determine
         * whether the page can be shown to the current user. These pages
         * are then required to call the sakai.api.Security.showPage
         * themselves
         */
        requireProcessing: ["/dev/user.html", "/me" ,"/dev/me.html", "/dev/content_profile.html", "/dev/content_profile.html", "/dev/group_edit.html", "/dev/show.html", "/content"],

        useLiveSakai2Feeds: false,
        /*
         * List of custom CLE Tool names. This can be used to override the translated
         * tool name in the Sakai 2 Tools Widget drop down, or name a custom CLE tool
         * that has been added to your CLE installation. You can see the list of
         * enabled CLE tools at /var/basiclti/cletools.json, and configure them in
         * Nakamura under the org.sakaiproject.nakamura.basiclti.CLEVirtualToolDataProvider
         * configuration.
         */
        sakai2ToolNames: {
            /* "sakai.mytoolId" : "My Custom Tool Title" */
        },

        displayDebugInfo: true,

        /**
         * Section dividers can be added to the directory structure by adding in the following
         * element at the appropriate place:
         *  divider1: {
         *      "divider": true,
         *      "title": "Divider title" [optional],
         *      "cssClass": "CSS class to add to items inside of elements beneath the divider [optional]
         *  }
         */
        Directory: {
            medicineanddentistry: {
                title: "__MSG__MEDICINE_AND_DENTISTRY__",
                children: {
                    preclinicalmedicine: {
                        title: "__MSG__PRECLINICAL_MEDICINE__"
                    },
                    preclinicaldentistry: {
                        title: "__MSG__PRECLINICAL_DENTISTRY__"
                    },
                    clinicalmedicine: {
                        title: "__MSG__CLININCAL_MEDICINE__"
                    },
                    clinicaldentistry: {
                        title: "__MSG__CLININCAL_DENTISTRY__"
                    },
                    othersinmedicineanddentistry: {
                        title: "__MSG__MEDICINE_AND_DENTISTRY_OTHERS__"
                    }
                }
            },
            biologicalsciences: {
                title: "__MSG__BIOLOGICAL_SCIENCES__",
                children: {
                    biology: {
                        title: "__MSG__BIOLOGY__"
                    },
                    botany: {
                        title: "__MSG__BOTANY__"
                    },
                    zoology: {
                        title: "__MSG__ZOOLOGY__"
                    },
                    genetics: {
                        title: "__MSG__GENETICS__"
                    },
                    microbiology: {
                        title: "__MSG__MICROBIOLOGY__"
                    },
                    sportsscience: {
                        title: "__MSG__SPORTS_SCIENCE__"
                    },
                    molecularbiologybiophysicsandbiochemistry: {
                        title: "__MSG__MOLECULAR_BIOLOGY__"
                    },
                    psychology: {
                        title: "__MSG__PSYCHOLOGY__"
                    },
                    othersinbiologicalsciences: {
                        title: "__MSG__BIOLOGICAL_SCIENCES_OTHER__"
                    }
                }
            },
            veterinarysciencesagriculture: {
                title: "__MSG__VETERINARY_SCIENCES__",
                children: {
                    preclinicalveterinarymedicine: {
                        title: "__MSG__PRE_CLINICAL_VETERINARY__"
                    },
                    clinicalveterinarymedicineanddentistry: {
                        title: "__MSG__CLINICAL_VETERINARY__"
                    },
                    animalscience: {
                        title: "__MSG__ANIMAL_SCIENCE__"
                    },
                    agriculture: {
                        title: "__MSG__AGRICULTURE__"
                    },
                    forestry: {
                        title: "__MSG__FORESTRY__"
                    },
                    foodandbeveragestudies: {
                        title: "__MSG__FOOD_BEVERAGE__"
                    },
                    agriculturalsciences: {
                        title: "__MSG__AGRICULTURAL_SCIENCE__"
                    },
                    othersinveterinarysciencesandagriculture: {
                        title: "__MSG__VETERINARY_SCIENCES_OTHER__"
                    }
                }
            },
            physicalsciences: {
                title: "__MSG__PHYSICAL_SCIENCE__",
                children: {
                    chemistry: {
                        title: "__MSG__CHEMISTRY__"
                    },
                    materialsscience: {
                        title: "__MSG__MATERIALS_SCIENCE__"
                    },
                    physics: {
                        title: "__MSG__PHYSICS__"
                    },
                    forensicandarchaeologicalscience: {
                        title: "__MSG__FORENSIC_ARCHEALOGICAL__"
                    },
                    astronomy: {
                        title: "__MSG__ASTRONOMY__"
                    },
                    geology: {
                        title: "__MSG__GEOLOGY__"
                    },
                    oceansciences: {
                        title: "__MSG__OCEAN_SCIENCE__"
                    },
                    othersinphysicalsciences: {
                        title: "__MSG__PHYSICAL_SCIENCE_OTHER__"
                    }
                }
            },
            mathematicalandcomputersciences: {
                title: "__MSG__MATHEMATICAL_COMPUTER_SCIENCES__",
                children: {
                    mathematics: {
                        title: "__MSG__MATHEMATICS__"
                    },
                    operationalresearch: {
                        title: "__MSG__OPERATIONAL_RESEARCH__"
                    },
                    statistics: {
                        title: "__MSG__STATISTICS__"
                    },
                    computerscience: {
                        title: "__MSG__COMPUTER_SCIENCE__"
                    },
                    informationsystems: {
                        title: "__MSG__INFORMATION_SYSTEMS__"
                    },
                    softwareengineering: {
                        title: "__MSG__SOFTWARE_ENGINEERING__"
                    },
                    artificialintelligence: {
                        title: "__MSG__ARTIFICIAL_INTELLIGENCE__"
                    },
                    othersinmathematicalandcomputingsciences: {
                        title: "__MSG__MATHEMATICAL_COMPUTER_SCIENCES_OTHER__"
                    }
                }
            },
            engineering: {
                title: "__MSG__ENGINEERING__",
                children: {
                    generalengineering: {
                        title: "__MSG__GENERAL_ENGINEERING__"
                    },
                    civilengineering: {
                        title: "__MSG__CIVIL_ENGINEERING__"
                    },
                    mechanicalengineering: {
                        title: "__MSG__MECHANICAL_ENGINEERING__"
                    },
                    aerospaceengineering: {
                        title: "__MSG__AEROSPACE_ENGINEERING__"
                    },
                    navalarchitecture: {
                        title: "__MSG__NAVAL_ARCHITECTURE__"
                    },
                    electronicandelectricalengineering: {
                        title: "__MSG__ELECTRONIC_ELECTRICAL_ENGINEERING__"
                    },
                    productionandmanufacturingengineering: {
                        title: "__MSG__PRODUCTION_MANUFACTURING_ENGINEERING__"
                    },
                    chemicalprocessandenergyengineering: {
                        title: "__MSG__CHEMICAL_PROCESS_ENERGY_ENGINEERING__"
                    },
                    othersinengineering: {
                        title: "__MSG__ENGINEERING_OTHER__"
                    }
                }
            },
            technologies: {
                title: "__MSG__TECHNOLOGIES__",
                children: {
                    mineralstechnology: {
                        title: "__MSG__MINERALS_TECHNOLOGY__"
                    },
                    metallurgy: {
                        title: "__MSG__METALLURGY__"
                    },
                    ceramicsandglasses: {
                        title: "__MSG__CERAMICS_GLASSES__"
                    },
                    polymersandtextiles: {
                        title: "__MSG__POLYMERS_TEXTILES__"
                    },
                    materialstechnologynototherwisespecified: {
                        title: "__MSG__MATERIALS_TECHNOLOGY_OTHER__"
                    },
                    maritimetechnology: {
                        title: "__MSG__MARITIME_TECHNOLOGY__"
                    },
                    industrialbiotechnology: {
                        title: "__MSG__INDUSTRIAL_BIOTECHNOLOGY__"
                    },
                    othersintechnology: {
                        title: "__MSG__TECHNOLOGIES_OTHER__"
                    }
                }
            },
            architecturebuildingandplanning: {
                title: "__MSG__ARCHITECTURE_BUILDING_PLANNING__",
                children: {
                    architecture: {
                        title: "__MSG__ARCHITECTURE__"
                    },
                    building: {
                        title: "__MSG__BUILDING__"
                    },
                    landscapedesign: {
                        title: "__MSG__LANDSCAPE_DESIGN__"
                    },
                    planning: {
                        title: "__MSG__PLANNING__"
                    },
                    othersinarchitecturebuildingandplanning: {
                        title: "__MSG__ARCHITECTURE_BUILDING_PLANNING_OTHER__"
                    }
                }
            },
            socialstudies: {
                title: "__MSG__SOCIAL_STUDIES__",
                children: {
                    economics: {
                        title: "__MSG__ECONOMICS__"
                    },
                    politics: {
                        title: "__MSG__POLITICS__"
                    },
                    sociology: {
                        title: "__MSG__SOCIOLOGY__"
                    },
                    socialpolicy: {
                        title: "__MSG__SOCIAL_POLICY__"
                    },
                    socialwork: {
                        title: "__MSG__SOCIAL_WORK__"
                    },
                    anthropology: {
                        title: "__MSG__ANTHROPOLOGY__"
                    },
                    humanandsocialgeography: {
                        title: "__MSG__HUMAN_SOCIAL_GEOGRAPHY__"
                    },
                    othersinsocialstudies: {
                        title: "__MSG__SOCIAL_STUDIES_OTHER__"
                    }
                }
            },
            law: {
                title: "__MSG__LAW__",
                children: {
                    publiclaw: {
                        title: "__MSG__LAW_PUBLIC__"
                    },
                    privatelaw: {
                        title: "__MSG__LAW_PRIVATE__"
                    },
                    jurisprudence: {
                        title: "__MSG__JURISPRUDENCE__"
                    },
                    legalpractice: {
                        title: "__MSG__LEGAL_PRACTICE__"
                    },
                    medicallaw: {
                        title: "__MSG__LAW_MEDICAL__"
                    },
                    othersinlaw: {
                        title: "__MSG__LAW_OTHER__"
                    }
                }
            },
            businessandadministrativestudies: {
                title: "__MSG__BUSINESS_ADMINISTRATIVE_STUDIES__",
                children: {
                    businessstudies: {
                        title: "__MSG__BUSINESS_STUDIES__"
                    },
                    managementstudies: {
                        title: "__MSG__MANAGEMENTS_STUDIES__"
                    },
                    finance: {
                        title: "__MSG__FINANCE__"
                    },
                    accounting: {
                        title: "__MSG__ACCOUNTING__"
                    },
                    marketing: {
                        title: "__MSG__MARKETING__"
                    },
                    humanresourcemanagement: {
                        title: "__MSG__HUMAN_RESOURCE_MANAGEMENT__"
                    },
                    officeskills: {
                        title: "__MSG__OFFICE_SKILLS__"
                    },
                    tourismtransportandtravel: {
                        title: "__MSG__TOURISM__"
                    },
                    othersinbusandadminstudies: {
                        title: "__MSG__BUSINESS_ADMINISTRATIVE_STUDIES_OTHER__"
                    }
                }
            },
            masscommunicationsanddocumentation: {
                title: "__MSG__MASS_COMMUNICATIONS_DOCUMENTATION__",
                children: {
                    informationservices: {
                        title: "__MSG__INFORMATION_SERVICES__"
                    },
                    publicitystudies: {
                        title: "__MSG__PUBLICITY_STUDIES__"
                    },
                    mediastudies: {
                        title: "__MSG__MEDIA_STUDIES__"
                    },
                    publishing: {
                        title: "__MSG__PUBLISHING__"
                    },
                    journalism: {
                        title: "__MSG__JOURNALISM__"
                    },
                    othersinmasscommanddoc: {
                        title: "__MSG__MASS_COMMUNICATIONS_DOCUMENTATION_OTHER__"
                    }
                }
            },
            linguisticsclassicsandrelatedsubjects: {
                title: "__MSG__LINGUISTICS_CLASSICS__",
                children: {
                    linguistics: {
                        title: "__MSG__LINGUISTICS__"
                    },
                    comparativeliterarystudies: {
                        title: "__MSG__LINGUISTICS_LITERARY__"
                    },
                    englishstudies: {
                        title: "__MSG__LINGUISTICS_ENGLISH__"
                    },
                    ancientlanguagestudies: {
                        title: "__MSG__LINGUISTICS_ANCIENT__"
                    },
                    celticstudies: {
                        title: "__MSG__LINGUISTICS_CELTIC__"
                    },
                    latinstudies: {
                        title: "__MSG__LINGUISTICS_LATIN__"
                    },
                    classicalgreekstudies: {
                        title: "__MSG__LINGUISTICS_CLASSICAL_GREEK__"
                    },
                    classicalstudies: {
                        title: "__MSG__LINGUISTICS_CLASSICAL__"
                    },
                    othersinlinguisticsclassicsandrelsubject: {
                        title: "__MSG__LINGUISTICS_CLASSICS_OTHER__"
                    }
                }
            },
            europeanlanguagesliteratureandrelatedsubjects: {
                title: "__MSG__EUROPEAN_LANGUAGES__",
                children: {
                    frenchstudies: {
                        title: "__MSG__EUROPEAN_LANGUAGES_FRENCH__"
                    },
                    germanstudies: {
                        title: "__MSG__EUROPEAN_LANGUAGES_GERMAN__"
                    },
                    italianstudies: {
                        title: "__MSG__EUROPEAN_LANGUAGES_ITALIAN__"
                    },
                    spanishstudies: {
                        title: "__MSG__EUROPEAN_LANGUAGES_SPANISH__"
                    },
                    portuguesestudies: {
                        title: "__MSG__EUROPEAN_LANGUAGES_PORTUGUESE__"
                    },
                    scandinavianstudies: {
                        title: "__MSG__EUROPEAN_LANGUAGES_SCANDINAVIAN__"
                    },
                    russianandeasteuropeanstudies: {
                        title: "__MSG__EUROPEAN_LANGUAGES_RUSSIAN__"
                    },
                    othersineurolangliteratureandrelsubjects: {
                        title: "__MSG__EUROPEAN_LANGUAGES_OTHER__"
                    }
                }
            },
            easiaticlanguagesliterature: {
                title: "__MSG__EXOTIC_LANGUAGES__",
                children: {
                    chinesestudies: {
                        title: "__MSG__EXOTIC_LANGUAGES_CHINESE__"
                    },
                    japanesestudies: {
                        title: "__MSG__EXOTIC_LANGUAGES_JAPANESE__"
                    },
                    southasianstudies: {
                        title: "__MSG__EXOTIC_LANGUAGES_SOUTH_ASIAN__"
                    },
                    otherasianstudies: {
                        title: "__MSG__EXOTIC_LANGUAGES_ASIAN_OTHER__"
                    },
                    africanstudies: {
                        title: "__MSG__EXOTIC_LANGUAGES_AFRICAN__"
                    },
                    modernmiddleeasternstudies: {
                        title: "__MSG__EXOTIC_LANGUAGES_MIDDLE_EAST__"
                    },
                    americanstudies: {
                        title: "__MSG__EXOTIC_LANGUAGES_AMERICAN__"
                    },
                    australasianstudies: {
                        title: "__MSG__EXOTIC_LANGUAGES_AUSTRALIAN__"
                    },
                    othersineasternasiaafriamericaaustralianlang: {
                        title: "__MSG__EXOTIC_LANGUAGES_OTHER__"
                    }
                }
            },
            historicalandphilosophicalstudies: {
                title: "__MSG__HISTORICAL_PHILOSOPHICAL_STUDIES__",
                children: {
                    historybyperiod: {
                        title: "__MSG__HISTORY_PERIOD__"
                    },
                    historybyarea: {
                        title: "__MSG__HISTORY_AREA__"
                    },
                    historybytopic: {
                        title: "__MSG__HISTORY_TOPIC__"
                    },
                    archaeology: {
                        title: "__MSG__ARCHEOLOGY__"
                    },
                    philosophy: {
                        title: "__MSG__PHILOSOPHY__"
                    },
                    theologyandreligiousstudies: {
                        title: "__MSG__THEOLOGY_STUDIES__"
                    },
                    othersinhistoricalandphilosophicalstudies: {
                        title: "__MSG__HISTORICAL_PHILOSOPHICAL_STUDIES_OTHER__"
                    }
                }
            },
            creativeartsanddesign: {
                title: "__MSG__CREATIVE_ARTS__",
                children: {
                    fineart: {
                        title: "__MSG__FINE_ART__"
                    },
                    designstudies: {
                        title: "__MSG__DESIGN_STUDIES__"
                    },
                    music: {
                        title: "__MSG__MUSIC__"
                    },
                    drama: {
                        title: "__MSG__DRAMA__"
                    },
                    dance: {
                        title: "__MSG__DANCE__"
                    },
                    cinematicsandphotography: {
                        title: "__MSG__CINEMATICS_PHOTOGRAPHY__"
                    },
                    crafts: {
                        title: "__MSG__CRAFTS__"
                    },
                    imaginativewriting: {
                        title: "__MSG__IMAGINITIVE_WRITING__"
                    },
                    othersincreativeartsanddesign: {
                        title: "__MSG__CREATIVE_ARTS_OTHER__"
                    }
                }
            },
            education: {
                title: "__MSG__EDUCATION__",
                children: {
                    trainingteachers: {
                        title: "__MSG__TRAINING_TEACHERS__"
                    },
                    researchandstudyskillsineducation: {
                        title: "__MSG__EDUCATION_RESEARCH_STUDY_SKILLS__"
                    },
                    academicstudiesineducation: {
                        title: "__MSG__EDUCATION_ACADEMIC_STUDIES__"
                    },
                    othersineducation: {
                        title: "__MSG__EDUCATION_OTHER__"
                    }
                }
            }
        },

        // Array of css files to load in each page
        skinCSS: [],

        Languages: [{
            "country": "CN",
            "language": "zh",
            "displayName": "中文"
        }, {
            "country": "NL",
            "language": "nl",
            "displayName": "Nederlands"
        }, {
            "country": "GB",
            "language": "en",
            "displayName": "English (United Kingdom)"
        }, {
            "country": "US",
            "language": "en",
            "displayName": "English (United States)"
        }, {
            "country": "JP",
            "language": "ja",
            "displayName": "日本語"
        }, {
            "country": "HU",
            "language": "hu",
            "displayName": "Magyar"
        }, {
            "country": "KR",
            "language": "ko",
            "displayName": "한국어"
        }],

        // Default Language for the deployment, must be one of the language_COUNTRY pairs that exists above
        defaultLanguage: "en_US",

        enableChat: false,
        enableCategories: true,

        Editor: {
            tinymceLanguagePacks: ['ar','ch','en','gl','id','lb','nb','ru','sv','uk','az','cn','eo','gu','is','lt','nl',
                'sc','ta','ur','be','cs','es','he','it','lv','nn','se','te','vi','bg','cy','et','hi','ja','mk','no','si',
                'th','zh-cn','bn','da','eu','hr','ka','ml','pl','sk','tn','zh-tw','br','de','fa','hu','kl','mn','ps','sl',
                'tr','zh','bs','dv','fi','hy','km','ms','pt','sq','tt','zu','ca','el','fr','ia','ko','my','ro','sr','tw']
        },

        defaultSakaiDocContent: "",

        /*
         * _canEdit: can change the area permissions on this page
         * _reorderOnly: can reorder this item in the navigation, but cannot edit the name of the page
         * _nonEditable: cannot edit the contents of this page
         * _canSubedit:
         */

        defaultprivstructure: {
            "structure0": {
                "dashboard": {
                    "_ref": "${refid}0",
                    "_title": "__MSG__MY_DASHBOARD__",
                    "_order": 0,
                    "_canEdit": true,
                    "_reorderOnly": true,
                    "_nonEditable": true,
                    "main": {
                        "_ref": "${refid}0",
                        "_order": 0,
                        "_title": "__MSG__MY_DASHBOARD__"
                    }
                },
                "messages": {
                    "_title": "__MSG__MY_MESSAGES__",
                    "_ref": "${refid}1",
                    "_order": 1,
                    "_canEdit": true,
                    "_reorderOnly": true,
                    "_canSubedit": true,
                    "_nonEditable": true,
                    "inbox": {
                        "_ref": "${refid}1",
                        "_order": 0,
                        "_title": "__MSG__INBOX__",
                        "_nonEditable": true
                    },
                    "invitations": {
                        "_ref": "${refid}2",
                        "_order": 1,
                        "_title": "__MSG__INVITATIONS__",
                        "_nonEditable": true
                    },
                    "sent": {
                        "_ref": "${refid}3",
                        "_order": 2,
                        "_title": "__MSG__SENT__",
                        "_nonEditable": true
                    },
                    "trash": {
                        "_ref": "${refid}4",
                        "_order": 3,
                        "_title": "__MSG__TRASH__",
                        "_nonEditable": true
                    }
                }
            },
            "${refid}0": {
                "page": "<div class='fl-force-right'><button type='button' class='s3d-button s3d-margin"+
                "-top-5 s3d-header-button s3d-header-smaller-button dashboard_change_layout' dat"+
                "a-tuid='${refid}5'>__MSG__EDIT_LAYOUT__</button><button type='button' class='s3d-button "+
                "s3d-margin-top-5 s3d-header-button s3d-header-smaller-button dashboard_global_a"+
                "dd_widget' data-tuid='${refid}5'>__MSG__ADD_WIDGET__</button></div><div class='s3d-conte"+
                "ntpage-title'>__MSG__MY_DASHBOARD__</div><div id='widget_carousel' class='widget_inline'"+
                "></div><br/><div id='widget_dashboard_${refid}5' class='widget_inline'></div>"
            },
            "${refid}1": {
                "page": "<div id='widget_inbox_${refid}6' class='widget_inline'/>"
            },
            "${refid}2": {
                "page": "<div id='widget_inbox_${refid}7' class='widget_inline'/>"
            },
            "${refid}3": {
                "page": "<div id='widget_inbox_${refid}8' class='widget_inline'/>"
            },
            "${refid}4": {
                "page": "<div id='widget_inbox_${refid}9' class='widget_inline'/>"
            },
            "${refid}5": {
                "dashboard": {
                    "layout": "threecolumn",
                    "columns": {
                        "column1": [{
                            "uid": "${refid}10",
                            "visible": "block",
                            "name": "recentchangedcontent"
                        }],
                        "column2": [{
                            "uid": "${refid}11",
                            "visible": "block",
                            "name": "recentmemberships"
                        }],
                        "column3": [{
                            "uid": "${refid}12",
                            "visible": "block",
                            "name": "recentcontactsnew"
                        }]
                    }
                }
            },
            "${refid}6": {
                "box": "inbox",
                "category": "message",
                "title": "__MSG__INBOX__"
            },
            "${refid}7": {
                "box": "inbox",
                "category": "invitation",
                "title": "__MSG__INVITATIONS__"
            },
            "${refid}8": {
                "box": "outbox",
                "category": "*",
                "title": "__MSG__SENT__"
            },
            "${refid}9": {
                "box": "trash",
                "category": "*",
                "title": "__MSG__TRASH__"
            }
        },

        /**
         * In order to set permissions on specific private areas, the following parameter should be added:
         *   _view: "anonymous" // Area is visible to all users by default
         *   _view: "everyone" // Area is visible to all logged in users by default
         *   _view: "contacts" // Area is visible to all contacts by default
         *   _view: "private" // Area is not visible to other users by default
         */
        defaultpubstructure: {
            "structure0": {
                "profile": {
                    "_title": "__MSG__MY_PROFILE__",
                    "_altTitle": "__MSG__MY_PROFILE_OTHER__",
                    "_order": 0,
                    "_view": "anonymous",
                    "_reorderOnly": true,
                    "_nonEditable": true
                },
                "library": {
                    "_ref": "${refid}0",
                    "_order": 1,
                    "_title": "__MSG__MY_LIBRARY__",
                    "_altTitle": "__MSG__MY_LIBRARY_OTHER__",
                    "_reorderOnly": true,
                    "_nonEditable": true,
                    "_view": "anonymous",
                    "main": {
                        "_ref": "${refid}0",
                        "_order": 0,
                        "_title": "__MSG__MY_LIBRARY__"
                    }
                },
                "memberships": {
                    "_title": "__MSG__MY_MEMBERSHIPS__",
                    "_order": 2,
                    "_ref": "${refid}1",
                    "_altTitle": "__MSG__MY_MEMBERSHIPS_OTHER__",
                    "_reorderOnly": true,
                    "_nonEditable": true,
                    "_view": "anonymous",
                    "main": {
                        "_ref": "${refid}1",
                        "_order": 0,
                        "_title": "__MSG__MY_MEMBERSHIPS__"
                    }
                },
                "contacts": {
                    "_title": "__MSG__MY_CONTACTS__",
                    "_order": 3,
                    "_ref": "${refid}2",
                    "_altTitle": "__MSG__MY_CONTACTS_OTHER__",
                    "_reorderOnly": true,
                    "_nonEditable": true,
                    "_view": "anonymous",
                    "main": {
                        "_ref": "${refid}2",
                        "_order": 0,
                        "_title": "__MSG__MY_CONTACTS__"
                    }
                }
            },
            "${refid}0": {
                "page": "<div id='widget_mylibrary' class='widget_inline'></div>"
            },
            "${refid}1": {
                "page": "<div id='widget_joinrequestbuttons' class='widget_inline'></div> " +
                    "<div id='widget_tooltip' class='widget_inline'></div> " +
                    "<div id='widget_mymemberships' class='widget_inline'></div>"
            },
            "${refid}2": {
                "page": "<div id='widget_contacts' class='widget_inline'></div>"
            }
        },

        widgets: {
            "layouts": {
                "onecolumn": {
                    "name": "One column",
                    "widths": [100],
                    "siteportal": true
                },
                "dev": {
                    "name": "Dev Layout",
                    "widths": [50, 50],
                    "siteportal": true
                },
                "threecolumn": {
                    "name": "Three equal columns",
                    "widths": [33, 33, 33],
                    "siteportal": false
                }
            },
            "defaults": {
                "personalportal": {
                    "layout": "dev",
                    "columns": [["mygroups", "mycontacts"], ["mycontent", "recentmessages"]]
                }
            }
        }
    };

    return config;
});

<!DOCTYPE HTML>

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
        <title></title>

        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/main.css" />

        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.corev1.css" />
        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.content_profile.css" />

                        ◀ __MSG__BACK__

            __MSG__CONTENT_PROFILE__
            __MSG__THE_FILE_HAS_BEEN_SUCCESSFULLY_SHARED_WITH__
            __MSG__ALL_SELECTED_USERS_AND_GROUPS_HAVE_BEEN_REMOVED_FROM__
            __MSG__VIEWERS__
            __MSG__MANAGERS__
            __MSG__CONTENT_CANNOT_REMOVE_ALL_MANAGERS__

<!DOCTYPE HTML>

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
        <title></title>

        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/main.css" />

        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.corev1.css" />
        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.create_new_account.css" />

__MSG__SIGN_UP_MESSAGE_1__

__MSG__SIGN_UP_MESSAGE_2__

__MSG__SIGN_UP_MESSAGE_3__

                        <form id="create_account_form">

__MSG__CREATE_A_NEW_ACCOUNT__

                                        __MSG__FIRSTNAME__:
                                        <input type="text" maxlength="255" id="firstName" name="firstName" class="create_account_input required" placeholder="Hiroyuki"/>
                                        __MSG__LASTNAME__:
                                        <input type="text" maxlength="255" id="lastName" name="lastName" class="create_account_input required" placeholder="Sakai"/>
                                        __MSG__EMAIL__:
                                        <input type="text" maxlength="255" id="email" name="email" class="create_account_input required email" placeholder="hiroyuki.sakai@example.com"/>

                                        __MSG__USERNAME__:
                                        <input type="text" maxlength="255" id="username" name="username" class="username_unavailable_icon create_account_input required" placeholder="Hiroyuki"/>
                                        __MSG__PASSWORD__:
                                        <input type="password" maxlength="255" id="password" name="password" class="create_account_input required" placeholder="•••••••"/>
                                        __MSG__RE_TYPE_PASSWORD__:
                                        <input type="password" maxlength="255" id="password_repeat" name="password_repeat" class="create_account_input required" placeholder="•••••••"/>

                                    <button id="save_account" class="s3d-button s3d-large-button" type="submit">__MSG__CREATE_ACCOUNT__</button>

                        </form>

__MSG__PLEASE_ENTER_YOUR_FIRST_NAME__

__MSG__PLEASE_ENTER_YOUR_LAST_NAME__

__MSG__PLEASE_ENTER_A_VALID_EMAIL_ADDRESS__

__MSG__THIS_IS_AN_INVALID_EMAIL_ADDRESS__

__MSG__PLEASE_ENTER_YOUR_USERNAME__

__MSG__THE_USERNAME_SHOULD_BE_AT_LEAST_THREE_CHARACTERS_LONG__

__MSG__THE_USERNAME_SHOULDNT_CONTAIN_SPACES__

__MSG__PLEASE_ENTER_YOUR_PASSWORD__

__MSG__YOUR_PASSWORD_SHOULD_BE_AT_LEAST_FOUR_CHARACTERS_LONG__

__MSG__PLEASE_REPEART_YOUR_PASSWORD__

__MSG__THIS_PASSWORD_DOES_NOT_MATCH_THE_FIRST_ONE__

__MSG__SIGN_UP_RECOMMEND_NAME_1__,
__MSG__SIGN_UP_RECOMMEND_INSTITUTION_NYU__

                        "__MSG__SIGN_UP_RECOMMEND_MESSAGE_1__"

__MSG__SIGN_UP_RECOMMEND_NAME_2__,
__MSG__SIGN_UP_RECOMMEND_INSTITUTION_NYU__

                        "__MSG__SIGN_UP_RECOMMEND_MESSAGE_2__"

__MSG__SIGN_UP_RECOMMEND_NAME_3__,
__MSG__SIGN_UP_RECOMMEND_INSTITUTION_NYU__

                        "__MSG__SIGN_UP_RECOMMEND_MESSAGE_3__"

__MSG__INSTITUTIONS_USING_SAKAI__

<!DOCTYPE HTML>

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
        <title></title>

        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/main.css" />

        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.corev1.css" />
        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.createnew.css" />

/*
 * Licensed to the Sakai Foundation (SF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The SF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */

/* Fluid Base
 * combination of Fluid FSS files from:
 * http://fluidproject.org/releases/1.1.2/infusion-1.1.2.zip
 * version: Infusion 1.1.2
 *
 * Concatenated files contained here:
 *  fss-reset.css
 *  fss-layout.css
 *  fss-text.css
 *
 *  Based on version: 2.5.2 of the Yahoo CSS reset, font, and base
 *  Copyright (c) 2008, Yahoo! Inc. All rights reserved.
 *  Code licensed under the BSD License:
 *  http://developer.yahoo.net/yui/license.txt
 *
 *  Please see these files in: http://fluidproject.org/releases/1.1.2/infusion-1.1.2-src.zip
 *  for usage and full license information
 */

/* Fluid Reset:
 * fss-reset.css
 */

table{font-size:inherit;font:100%;}
pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;}
html{color:#000;background:#FFF;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:text-top;}
sub{vertical-align:text-bottom;}
legend{color:#000;}
h1{font-size:138.5%;}
h2{font-size:123.1%;}
h3{font-size:108%;}
h1,h2,h3{margin:1em 0;}
h1,h2,h3,h4,h5,h6,strong{font-weight:bold;}
abbr,acronym{border-bottom:1px dotted #000;cursor:help;}
em{font-style:italic;}
blockquote,ul,ol,dl{margin:1em;}
ol,ul,dl{margin-left:2em;}
ol li{list-style:decimal outside;}
ul li{list-style:disc outside;}
dl dd{margin-left:1em;}
th{font-weight:bold;text-align:center;}
caption{margin-bottom:.5em;text-align:center;}
p,fieldset,table,pre{margin-bottom:1em;}
input[type=text],input[type=password],textarea{width:12.25em;*width:11.9em;}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
html{overflow:auto;font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;}
input,textarea,select{*font-size:100%;*font-family:sans-serif;}
input{*overflow:visible;*padding:0 1em;}
:focus{outline:2px solid black;}

/* Fluid Layout:
 * fss-layout.css
 */

.fl-fix{overflow:auto;zoom:1;}
.fl-push{clear:both;}
.fl-hidden{visibility:hidden;margin:0;}
.fl-force-right{float:right;display:inline;}
.fl-force-left{float:left;display:inline;}
.fl-centered{margin-left:auto;margin-right:auto;display:block;}
.fl-container-50{width:50px;}
.fl-container-100{width:100px;}
.fl-container-150{width:150px;}
.fl-container-200{width:200px;}
.fl-container-250{width:250px;}
.fl-container-300{width:300px;}
.fl-container-350{width:350px;}
.fl-container-400{width:400px;}
.fl-container-450{width:450px;}
.fl-container-500{width:500px;}
.fl-container-550{width:550px;}
.fl-container-600{width:600px;}
.fl-container-650{width:650px;}
.fl-container-700{width:700px;}
.fl-container-750{width:750px;}
.fl-container-800{width:800px;}
.fl-container-850{width:850px;}
.fl-container-900{width:900px;}
.fl-container-950{width:950px;}
.fl-container-1000{width:1000px;}
.fl-container-auto{width:auto;}
.fl-container-flex{width:100%;clear:both;}
.fl-container-flex10{width:10%;}
.fl-container-flex20{width:20%;}
.fl-container-flex25{width:25%;}
.fl-container-flex30{width:30%;}
.fl-container-flex33{width:33%;}
.fl-container-flex40{width:40%;}
.fl-container-flex50{width:50%;}
.fl-container-flex60{width:60%;}
.fl-container-flex66{width:66%;}
.fl-container-flex75{width:75%;}
.fl-layout-linear *,.fl-layout-linear .fl-linearEnabled{overflow:visible!important;clear:both!important;float:none!important;margin-left:0!important;margin-right:0!important;}
.fl-layout-linear .fl-container,.fl-layout-linear .fl-container-100,.fl-layout-linear .fl-container-150,.fl-layout-linear .fl-container-200,.fl-layout-linear .fl-container-250,.fl-layout-linear .fl-container-300,.fl-layout-linear .fl-container-400,.fl-layout-linear .fl-container-750,.fl-layout-linear .fl-container-950,.fl-layout-linear .fl-container-auto,.fl-layout-linear .fl-container-flex25,.fl-layout-linear .fl-container-flex30,.fl-layout-linear .fl-container-flex33,.fl-layout-linear .fl-container-flex50,.fl-layout-linear .fl-col,.fl-layout-linear .fl-col-side,.fl-layout-linear .fl-col-flex,.fl-layout-linear .fl-col-main,.fl-layout-linear .fl-col-fixed,.fl-layout-linear .fl-col-justified{width:100%!important;margin:auto;padding:0!important;}
.fl-layout-linear .fl-force-left,.fl-layout-linear .fl-force-right,.fl-layout-linear li{display:block!important;float:none!important;}
.fl-layout-linear .fl-linearEnabled{width:100%!important;display:block;}
.fl-layout-linear .fl-button-left,.fl-layout-linear .fl-button-right{padding:1em;}
.fl-col-justified{float:left;display:inline;overflow:auto;text-align:justify;}
.fl-col-flex2,.fl-col-flex3,.fl-col-flex4,.fl-col-flex5{overflow:hidden;zoom:1;}
.fl-col{float:left;display:inline;}
.fl-col-flex5 .fl-col{width:18.95%;margin-left:.25%;margin-right:.25%;padding-left:.25%;padding-right:.25%;}
.fl-col-flex4 .fl-col{width:24%;margin-left:.25%;margin-right:.25%;padding-left:.25%;padding-right:.25%;}
.fl-col-flex3 .fl-col{width:32.33%;margin-left:.25%;margin-right:.25%;padding-left:.25%;padding-right:.25%;}
.fl-col-flex2 .fl-col{width:48.85%;margin-left:.25%;margin-right:.25%;padding-left:.25%;padding-right:.25%;}
.fl-col-mixed,.fl-col-mixed2,.fl-col-mixed3{overflow:auto;zoom:1;}
.fl-col-mixed .fl-col-side{width:200px;}
.fl-col-mixed .fl-col-side,.fl-col-mixed .fl-col-main{padding:0 10px;}
.fl-col-mixed2 .fl-col-side{width:200px;padding:0 10px;float:left;}
.fl-col-mixed2 .fl-col-main{margin-left:220px;padding:0 10px;}
.fl-col-mixed3 .fl-col-main{margin:0 220px;}
.fl-col-fixed,.fl-col-flex{padding:0 10px;}
.fl-col-mixed .fl-col-fixed{width:200px;padding:0 10px;}
.fl-col-mixed .fl-col-flex{margin-left:220px;padding:0 10px;}
.fl-col-mixed-100 .fl-col-fixed{width:100px;}
.fl-col-mixed-100 .fl-col-flex{margin-left:120px;}
.fl-col-mixed-150 .fl-col-fixed{width:150px;}
.fl-col-mixed-150 .fl-col-flex{margin-left:170px;}
.fl-col-mixed-200 .fl-col-fixed{width:200px;}
.fl-col-mixed-200 .fl-col-flex{margin-left:220px;}
.fl-col-mixed-250 .fl-col-fixed{width:250px;}
.fl-col-mixed-250 .fl-col-flex{margin-left:270px;}
.fl-col-mixed-300 .fl-col-fixed{width:300px;}
.fl-col-mixed-300 .fl-col-flex{margin-left:320px;}
.fl-tabs{margin:10px 0 0 0;border-bottom:1px solid #000;text-align:center;padding-bottom:2px;}
.fl-tabs li{list-style-type:none;display:inline;}
.fl-tabs li a{padding:3px 16px 2px;background-color:#fff;margin-left:-5px;*margin-bottom:-6px;zoom:1;border:1px solid #000;color:#999;}
.fl-tabs-center{text-align:center;}
.fl-tabs-left{text-align:left;padding-left:10px;}
.fl-tabs-right{text-align:right;padding-right:15px;}
.fl-tabs .fl-reorderer-dropMarker{padding:0 3px;background-color:#c00;margin:0 5px 0 -5px;zoom:1;}
.fl-tabs .fl-tabs-active a{padding:2px 16px;border-bottom:none;color:#000;}
.fl-tabs-content{padding:5px;}
@media screen and(-webkit-min-device-pixel-ratio:0){.fl-tabs li a{padding:3px 16px 3px;}
.fl-tabs .fl-tabs-active a{padding:3px 16px 4px;}
}
.fl-listmenu{padding:0;margin:0;border-bottom-width:1px;border-bottom-style:solid;}
.fl-listmenu li{margin:0;padding:0;list-style-type:none;border-width:1px;border-style:solid;border-bottom:none;}
.fl-listmenu a{padding:5px 5px;display:block;zoom:1;}
ul.fl-grid,.fl-grid ul{padding:0;margin:0;}
.fl-grid li{list-style-type:none;display:inline;}
.fl-grid li{float:left;width:19%;margin:.5%;height:150px;overflow:hidden;position:relative;display:inline;}
.fl-grid li img{display:block;margin:5px auto;}
.fl-grid li .caption{position:absolute;left:0;bottom:0;width:100%;text-align:center;height:1em;padding:3px 0;}
.fl-icon{text-indent:-5000px;overflow:hidden;cursor:pointer;display:block;height:16px;width:16px;margin-left:5px;margin-right:5px;background-position:center center;background-repeat:no-repeat;}
input.fl-icon{padding-left:16px;}
.fl-button-left{float:left;margin-right:10px;padding:0 0 0 16px;background-position:left center;background-repeat:no-repeat;}
.fl-button-right{float:right;margin-left:10px;padding:0 0 0 16px;background-position:left center;background-repeat:no-repeat;}
.fl-button-inner{float:left;padding:5px 16px 5px 0;cursor:pointer;background-position:right center;background-repeat:no-repeat;}
.fl-widget{padding:5px;margin-bottom:10px;}
.fl-widget .button{margin:0 5px;}
.fl-grabbable .fl-widget-titlebar{background-position:center top;background-repeat:no-repeat;cursor:move;}
.fl-widget .fl-widget-titlebar h2{padding:0;margin:0;font-size:105%;}
.fl-widget .fl-widget-titlebar .fl-button-inner{font-size:.8em;padding-bottom:.2em;padding-top:.2em;}
.fl-widget .fl-widget-controls{margin:-1.3em 0 1.5em 0;}
.fl-widget .fl-widget-options{background-color:#D5DBDF;overflow-y:hidden;}
.fl-widget .fl-widget-options ul{margin:0;padding:0;overflow:hidden;zoom:1;}
.fl-widget .fl-widget-options li{list-style-type:none;float:left;display:inline;padding:0 5px 0 5px;margin-left:-5px;}
.fl-widget .fl-widget-options a{margin-right:5px;}
.fl-widget .fl-widget-content{zoom:1;margin:5px 0 0 0;}
.fl-widget .empty *{padding-top:10px;margin-left:auto;margin-right:auto;text-align:center;}
.fl-widget .menu{margin:0;}
.fl-widget .toggle{width:32px;}
.fl-widget .on{background-position:left top;}
.fl-widget .off{background-position:left bottom;}
.fl-controls-left li{list-style-type:none;text-align:left;}
.fl-controls-left .fl-label{float:left;text-align:left;width:50%;margin-right:5px;}
.fl-controls-right li{list-style-type:none;display:block;text-align:left;}
.fl-controls-right .fl-label{float:left;text-align:right;width:50%;margin-right:5px;}
.fl-controls-centered li{list-style-type:none;display:block;text-align:left;}
.fl-controls-centered .fl-label{float:left;text-align:center;width:50%;margin-right:5px;}
.fl-noBackgroundImages,.fl-noBackgroundImages *{background-image:none!important;}
.fl-noBackgroundImages .fl-icon{text-indent:0!important;width:auto!important;background-color:transparent!important;}
.fl-ProgEnhance-enhanced,.fl-progEnhance-enhanced{display:none;}
.fl-offScreen-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}

/* Fluid Text:
 * fss-text.css
 */

.fl-font-size-70,.fl-font-size-70 body,.fl-font-size-70 input,.fl-font-size-70 select,.fl-font-size-70 textarea{font-size:.7em!important;line-height:1em!important;}
.fl-font-size-80,.fl-font-size-80 body,.fl-font-size-80 input,.fl-font-size-80 select,.fl-font-size-80 textarea{font-size:.8em!important;line-height:1.1em!important;}
.fl-font-size-90,.fl-font-size-90 body,.fl-font-size-90 input,.fl-font-size-90 select,.fl-font-size-90 textarea{font-size:.9em!important;line-height:1.2em!important;}
.fl-font-size-100,.fl-font-size-100 body,.fl-font-size-100 input,.fl-font-size-100 select,.fl-font-size-100 textarea{font-size:1em!important;line-height:1.3em!important;}
.fl-font-size-110,.fl-font-size-110 body,.fl-font-size-110 input,.fl-font-size-110 select,.fl-font-size-110 textarea{font-size:1.1em!important;line-height:1.4em!important;}
.fl-font-size-120,.fl-font-size-120 body,.fl-font-size-120 input,.fl-font-size-120 select,.fl-font-size-120 textarea{font-size:1.2em!important;line-height:1.5em!important;}
.fl-font-size-130,.fl-font-size-130 body,.fl-font-size-130 input,.fl-font-size-130 select,.fl-font-size-130 textarea{font-size:1.3em!important;line-height:1.6em!important;}
.fl-font-size-140,.fl-font-size-140 body,.fl-font-size-140 input,.fl-font-size-140 select,.fl-font-size-140 textarea{font-size:1.4em!important;line-height:1.7em!important;}
.fl-font-size-150,.fl-font-size-150 body,.fl-font-size-150 input,.fl-font-size-150 select,.fl-font-size-150 textarea{font-size:1.5em!important;line-height:1.8em!important;}
@media screen and(-webkit-min-device-pixel-ratio:0){[class~='fl-font-size-70'] input[type=submit],[class~='fl-font-size-70'] input[type=button]{padding:0 1em;}
[class~='fl-font-size-80'] input[type=submit],[class~='fl-font-size-80'] input[type=button]{font-size:.8em!important;padding:0 1em;}
[class~='fl-font-size-90'] input[type=submit],[class~='fl-font-size-90'] input[type=button]{font-size:.9em!important;padding:0 1em;}
[class~='fl-font-size-100'] input[type=submit],[class~='fl-font-size-100'] input[type=button]{font-size:1em!important;padding:0 1em;}
[class~='fl-font-size-110'] input[type=submit],input[type=submit][class~='fl-font-size-110'],[class~='fl-font-size-110'] input[type=button]{background-color:#fff;font-size:1.1em!important;padding:0 1em;}
[class~='fl-font-size-120'] input[type=submit],input[type=submit][class~='fl-font-size-120'],[class~='fl-font-size-120'] input[type=button]{background-color:#fff;font-size:1.2em!important;padding:0 1em;}
[class~='fl-font-size-130'] input[type=submit],input[type=submit][class~='fl-font-size-130'],[class~='fl-font-size-130'] input[type=button]{background-color:#fff;font-size:1.3em!important;padding:0 1em;}
[class~='fl-font-size-140'] input[type=submit],input[type=submit][class~='fl-font-size-140'],[class~='fl-font-size-140'] input[type=button]{background-color:#fff;font-size:1.4em!important;padding:0 1em;}
[class~='fl-font-size-150'] input[type=submit],input[type=submit][class~='fl-font-size-150'],[class~='fl-font-size-150'] input[type=button]{background-color:#fff;font-size:1.5em!important;padding:0 1em;}
[class~='fl-font-serif'] input[type=submit],[class~='fl-font-sans'] input[type=submit],[class~='fl-font-monospace'] input[type=submit],[class~='fl-font-arial'] input[type=submit],[class~='fl-font-verdana'] input[type=submit],[class~='fl-font-times'] input[type=submit],[class~='fl-font-courier'] input[type=submit]{background-color:#fff;padding:0 1em;}
}
.fl-font-serif,.fl-font-serif *{font-family:Georgia,Times,"Times New Roman","Book Antiqua",serif!important;}
.fl-font-sans,.fl-font-sans *{font-family:Tahoma,Verdana,Helvetica,sans-serif!important;}
.fl-font-monospace,.fl-font-monospace *{font-family:"Courier New,Courier",monospace!important;}
.fl-font-arial,.fl-font-arial *{font-family:"Arial"!important;}
.fl-font-verdana,.fl-font-verdana *{font-family:"Verdana"!important;}
.fl-font-times,.fl-font-times *{font-family:Georgia,Times,"Times New Roman",serif!important;}
.fl-font-courier,.fl-font-courier *{font-family:"Courier New",Courier,monospace!important;}
.fl-text-align-left{text-align:left;}
.fl-text-align-right{text-align:right;}
.fl-text-align-center{text-align:center;}
.fl-text-align-justify{text-align:justify;}
.fl-font-spacing-0,.fl-font-spacing-0 body,.fl-font-spacing-0 input,.fl-font-spacing-0 select,.fl-font-spacing-0 textarea{letter-spacing:0;}
.fl-font-spacing-1,.fl-font-spacing-1 body,.fl-font-spacing-1 input,.fl-font-spacing-1 select,.fl-font-spacing-1 textarea{letter-spacing:.1em;}
.fl-font-spacing-2,.fl-font-spacing-2 body,.fl-font-spacing-2 input,.fl-font-spacing-2 select,.fl-font-spacing-2 textarea{letter-spacing:.2em;}
.fl-font-spacing-3,.fl-font-spacing-3 body,.fl-font-spacing-3 input,.fl-font-spacing-3 select,.fl-font-spacing-3 textarea{letter-spacing:.3em;}
.fl-font-spacing-4,.fl-font-spacing-4 body,.fl-font-spacing-4 input,.fl-font-spacing-4 select,.fl-font-spacing-4 textarea{letter-spacing:.4em;}
.fl-font-spacing-5,.fl-font-spacing-5 body,.fl-font-spacing-5 input,.fl-font-spacing-5 select,.fl-font-spacing-5 textarea{letter-spacing:.5em;}
.fl-font-spacing-6,.fl-font-spacing-6 body,.fl-font-spacing-6 input,.fl-font-spacing-6 select,.fl-font-spacing-6 textarea{letter-spacing:.6em;}
.fl-text-aqua{color:aqua!important;}
.fl-text-black{color:black!important;}
.fl-text-blue{color:blue!important;}
.fl-text-fuchsia{color:fuchsia!important;}
.fl-text-gray{color:gray!important;}
.fl-text-green{color:green!important;}
.fl-text-lime{color:lime!important;}
.fl-text-maroon{color:maroon!important;}
.fl-text-navy{color:navy!important;}
.fl-text-olive{color:olive!important;}
.fl-text-purple{color:purple!important;}
.fl-text-red{color:red!important;}
.fl-text-silver{color:silver!important;}
.fl-text-teal{color:teal!important;}
.fl-text-white{color:white!important;}
.fl-text-yellow{color:yellow!important;}
.fl-text-underline{text-decoration:underline!important;}
.fl-text-bold{font-weight:bold!important;}
.fl-text-larger{font-size:125%!important;}
.fl-input-outline{border:2px solid;}
.fl-highlight-yellow,.fl-highlight-hover-yellow:hover,.fl-highlight-focus-yellow:focus{background-color:#FF0!important;background-image:none!important;}
.fl-highlight-green,.fl-highlight-hover-green:hover,.fl-highlight-focus-green:focus{background-color:#0F0!important;background-image:none!important;}
.fl-highlight-blue,.fl-highlight-hover-blue:hover,.fl-highlight-focus-blue:focus{background-color:#00F!important;background-image:none!important;}

/**
 * Licensed to the Sakai Foundation (SF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The SF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */

/*
 * GLOBAL RULES
 */
body, button{font-family:Arial, Helvetica, sans-serif;line-height:120%;}
.section_header{font-weight:bold;border-bottom:1px solid #ebebeb;font-size:17px;padding-bottom:3px;}

/* adding a visible outline on focus for accessibility */
*:focus{outline:1px dotted #000;}
/*apply to any container that needs to be rendered off-screen, but available to screen readers*/
.s3d-aural-text {position: absolute;clip: rect(1px 1px 1px 1px); /* IE6, IE7 */clip: rect(1px, 1px, 1px, 1px);overflow:hidden;width:1px;height:1px;}

/* HTML TAG OVERRIDES - on top of the FSS reset */
h1{font-size:2em;font-family:Arial,Helvetica,sans-serif;font-weight:bolder;line-height:normal;margin:5px 0px 10px 0;}

/*
 * PAGE LAYOUT
 */
.fixed-container {padding:0 20px;width: 920px;overflow:hidden;}
.s3d-header .fixed-container { background-color: #FFF;}
.s3d-header .fixed-container .decor_left {background:url("/dev/images/dashboard_sprite.png") no-repeat scroll left -10px transparent; float:left; height:5px; margin-left:-20px; width:5px;}
.s3d-header .fixed-container .decor { background: url("/dev/images/dashboard_sprite.png") no-repeat scroll right -10px transparent; height: 5px; margin-right: -20px; }
.grep {color:#666 !important;font-weight:bold;}
.s3d-gray {color:#666;}
.s3d-lowercase {text-transform: lowercase;}

.block_image_left {float: left;}
.block_image_right {float: right;}

/* GENERAL WIDGET CSS */
/*.fl-widget {padding: 0;}
.fl-widget .fl-widget-titlebar h2 {padding-left:3px}
.fl-widget .fl-widget-titlebar {background: url("/dev/images/dashboard_sprite.png") no-repeat scroll right -473px transparent; padding: 0 4px 0 0; width: auto; min-height: 39px;}
.fl-widget .fl-widget-titlebar .widget-titlebar-inner {background: url("/dev/images/dashboard_sprite.png") no-repeat scroll -10px -544px transparent; min-height: 39px;}
.fl-widget .fl-widget-options ul {margin: 0; padding: 0; width:100%;}
.fl-widget .fl-widget-titlebar .widget_title {color: #878a8c; font-size: 1.0em; padding: 13px 30px 10px 40px; vertical-align: text-top; word-wrap:break-word;}
.fl-widget .fl-widget-titlebar .widget_title_icon {display: block; float: left; height: 17px; left: 16px; position: relative; top: 14px; width: 17px;}
.fl-widget .fl-widget-titlebar .settings {background: url("/dev/images/dashboard_sprite.png") no-repeat scroll -186px -393px transparent; position: relative; height: 18px; margin: 15px 8px 0 0;}
.fl-widget .fl-widget-options ul li {float: left; margin: 0; padding: 0 6px 0;}
.fl-widget .fl-widget-options ul li a, .fl-widget .fl-widget-options ul li .s3d-link-button {color: #666; font-size: .85em; font-weight: bold;}
.fl-widget .fl-widget-options .pipe_divider {font-size: .85em;}
.fl-widget .fl-widget-content {background-color: #fff; }
.fl-widget .fl-widget-content ul {margin: 0;}
.fl-widget .widget-options-inner {padding: 0px 10px 0; min-height:16px; overflow:hidden; *overflow:auto;}
.hiddenwidget {border-bottom: 3px solid #D5DBDF;}*/

/*
.fl-widget .widget-titlebar-end {margin-top: -2px;background: url("/dev/images/dashboard_sprite.png") no-repeat scroll -10px -616px transparent;height: 4px;}
.fl-widget .widget-titlebar-end-inner {background: url("/dev/images/dashboard_sprite.png") no-repeat scroll right -518px transparent;height: 4px;}
*/

/* Widget settings */
#widget_settings_menu {position:absolute;top:0;left:0;margin-top:10px;}

.s3d-dropdown-list {background:url("/dev/images/dropdown_list_bg.png") repeat-x scroll left top #F5F5F5;border: 1px solid #aaa;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;box-shadow:0 0 6px 0 #666;}
.s3d-dropdown-list ul {padding:0;margin:5px;}
.s3d-dropdown-list ul li {padding:2px 5px;margin:0;font-size:12px;list-style-type:none;cursor:pointer;}
.s3d-dropdown-list ul li button, .s3d-dropdown-list ul li a {color:#2683bc;font-size:11px;font-weight:bold;text-decoration:none;}
.s3d-dropdown-list ul li a:hover {color:#999;}
.s3d-dropdown-list .s3d-dropdown-list-arrow-up {background:url("/dev/images/dropdown_list_arrow_up.png") no-repeat scroll left top transparent;height:20px;margin-top:-20px;position:absolute;right:8px;width:25px;}

/* NEW WIDGETS */
.s3d-widget-container .fl-widget-titlebar .settings {position:relative;height:18px;margin:8px 0 0;text-indent:0 !important;color:#666 !important;}
.s3d-widget-container .fl-widget-titlebar .settings:hover {color:#2683BC !important;}
.s3d-widget-container {border:solid 1px #dfdfdf;border-top:none;-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;margin-bottom:10px;}
.s3d-widget-container .s3d-contentpage-title {border-bottom:none;background:url("/dev/images/widget_header_bg.png") repeat-x scroll left top #dddddc;height:34px;line-height:34px;padding:0 12px;color:#666;font-weight:bold;font-size:13px;}
.s3d-widget-container .s3d-contentpage-title:hover {cursor:pointer}
.s3d-widget-container .hiddenwidget .s3d-contentpage-title {margin-bottom:0;}
.s3d-widget-footer {min-height:14px;background-color:#DDDDDC;-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;margin-top:7px;padding:7px 12px;box-shadow:0 1px 0 0 #bbb;}
.s3d-widget-footer a, .s3d-widget-footer span {float:right;}
.s3d-widget-footer-divider {font-size: 11px; color: #999999; padding-left: 5px;}

/* Change layout */
#change_layout_dialog {width: 840px !important; margin-left: -420px !important;}
#change_layout_dialog .elf-right-up {padding: 25px 0}
#change_layout_dialog .add-tools-right {width:100%;}
#change_layout_dialog .layout_container {float:left;padding-left:25px;padding-right:13px;}
#change_layout_dialog .layout_picker_item {width:114px; height: 62px; border: 2px solid #3399CC; border-right: 2px solid #3399CC; background-color: #EEFFFF;}
#change_layout_dialog .layout_picker_item_column {border-right: 1px solid #3399CC;}
#change_layout_dialog .layout_picker_item_radio {margin-left:50px; margin-top:10px;}
#change_layout_dialog .layout_container_unselected {float:left; padding-left:25px; padding-right:13px;}
#change_layout_dialog .layout_picker_item_unselected {width:114px; height: 62px; border: 2px solid #dddfe1; border-right: 2px solid #dddfe1; background-color: #F8F8F8;}
#change_layout_dialog .layout_picker_item_column_unselected {border-right: 1px solid #dddfe1;}
#change_layout_dialog .layout_picker_item_radio_unselected {margin-left:50px; margin-top: 10px;}
#change_layout_dialog #layouts_list {display:block;}

/* Add Sakai Goodies */
#add_goodies_dialog {width:520px; height: 374px; margin-left: -260px;}
.add_goodies .s3d-button {margin:0; height:23px;}
.add_goodies .dialog_body {height:308px; overflow-y:auto; overflow-x:hidden; position:relative; width:471px;}
.add_goodies  ul {margin:0;}
.add_goodies  ul li{border-bottom: 1px solid #efefef;line-height:30px;list-style:none;padding:0 12px;}
.add_goodies  ul li:hover{background-color:#dbeefc;}
.add_goodies .dialog_add_goodies_description {color:#333;font-size:13px;font-weight:normal;}
.add_goodies .dialog_remove_goodies_title {color:#999;font-size:14px;font-weight:bold;}
.add_goodies .dialog_remove_goodies_description {color:#999999;font-size:12px;font-weight:100;}
.add_goodies .dialog_add_goodies_title {color:#333;font-size:13px;font-weight:bold;}
.add_goodies .remove_add_column {float:right;width:100px;}

/* D&D Classes */
.ui-draggable, .orderable-hover {cursor:move;}
.orderable-dragging {opacity:0.2; width:auto;}
.orderable-selected {}
.orderable-avatar {background-color:#666666; border:1px solid #666666; height:25px; width:50px; z-index:65535;}
div .orderable-drop-marker {background-color:#FA7019; height:10px !important;}
.drop-warning {background-color:#FFD7D7; border:2px solid red; display:none; left:10px; margin:5px; padding:10px; position:absolute; top:50px; z-index:65535;}
.orderable-drop-marker-box {background-color:#FFFFFF; border:2px dashed #AAAAAA; height:200px !important; margin-bottom:1em; width:97%;}

/*
 * INSERT MORE DROPDOWN
 */
.insert_more_menu{position:absolute;left:5px;top:5px;border:1px solid #ccc;background-color:#fff;font-size:.95em!important;}
.insert_more_menu_border{border-bottom:1px solid #ccc;}
.insert_more_menu ul{padding:5px 15px 5px 7px;margin:0;}
.insert_more_menu li{list-style-type:none;}
.insert_more_menu_inactive{color:#aaa;}

/*
 * DROPDOWN MENU
 */
.s3d-dropdown-menu {display: inline-block;list-style: none outside none;margin-top:4px;padding:0;cursor:pointer; margin-left:-2px;}
.s3d-dropdown-menu:hover {background: url("/devwidgets/topnavigation/images/topnav_nav_hover.png") repeat-x scroll left top #3480b2;-moz-border-radius:2px 2px 2px 2px; border-radius:2px 2px 2px 2px; -webkit-border-radius:2px 2px 2px 2px;padding:0px;}
.s3d-dropdown-menu ul, .s3d-dropdown-menu .s3d-dropdown-menu-content-container {margin:0;padding: 10px 7px;display:block;background-color: #F3F3F3;-moz-border-radius:2px; border-radius:2px; -webkit-border-radius:2px;}
.s3d-dropdown-menu ul li {display:block; list-style:none;padding:1px;margin:0 2px;cursor:pointer;color:#636363; text-decoration:none; font-weight:normal;}
.s3d-dropdown-menu ul li:hover {background:url("/devwidgets/topnavigation/images/topnav_nav_list_hover.png") repeat-x scroll left top transparent;}
.s3d-dropdown-menu ul li a {text-decoration:none;display:block;padding:5px 6px;}
.s3d-dropdown-menu ul li:hover a {color:#f3f3f3;}
.s3d-dropdown-menu ul li a {color:#2683bc;font-size:12px;}
.s3d-dropdown-menu .s3d-dropdown-container {background:url("/devwidgets/topnavigation/images/topnav_nav_hover_list_bg.png") repeat-x scroll left top #0c4e79;-moz-border-radius:0 0 5px 5px; border-radius:0 0 5px 5px; -webkit-border-radius:0 0 5px 5px;-moz-box-shadow:0 10px 10px -3px #333333; -webkit-box-shadow:0 10px 10px -3px #333333; box-shadow:0 10px 10px -3px #333333;position:absolute;z-index:999;min-width:140px;padding:5px;-moz-border-radius:0 2px 2px 2px; border-radius:0 2px 2px 2px; -webkit-border-radius:0 2px 2px 2px;cursor:auto;}
.s3d-split-line {background-color:none;border:medium none;border-top:1px dotted #d4d4d4;height: 1px;margin: 3px 9px;}

/*
 * MARGINS
 */
.s3d-margin-top-3 {margin-top: 3px !important;}
.s3d-margin-top-5 {margin-top: 5px !important;}
.s3d-margin-top-10 {margin-top: 10px !important;}
.s3d-margin-top-15 {margin-top: 15px !important;}
.s3d-margin-top-20 {margin-top: 20px !important;}
.s3d-button.s3d-margin-top-5 {height:19px;line-height:19px;}
.s3d-button.s3d-no-margin-top {margin-top:0;height:18px !important;line-height:18px;}
/*
 * LINKS
 */
a{color:#333;text-decoration:none;}
a:hover{text-decoration:underline;}
.s3d-add_another_location{clear:both;color:#39C;font-size:13px;font-weight:bold;background:url(/dev/images/icons_sprite.png) no-repeat scroll left -21px transparent;float:left;width:16px;height:16px;display:block;margin-right:6px;}
.s3d-add_another_location_container{clear:both;display:block;padding:7px 0;width:200px;}
.s3d-hidden,.i18nable{display:none;}
.s3d-bold{font-weight:bold;}
a.s3d-regular-links,.s3d-regular-links a, button.s3d-regular-links, .s3d-regular-links button{color:#2683bc;}
a.s3d-widget-links,.s3d-widget-links a, button.s3d-widget-links, .s3d-widget-links button{color:#2683bc; font-size:0.9em;}
.s3d-regular-light-links,.s3d-regular-light-links a,.s3d-regular-light-links button{color:#058EC4 !important;}
.s3d-content-type-link a{color:#5FB3D2;}
.s3d-remove-links{float:right;margin-right:10px;height:16px;}
.s3d-tab-active a{background-color:#FFF!important;color:#000!important;font-weight:400!important;border-color:#DDD #DDD #EEE;border-style:solid;border-width:1px;}

/* new path used when creating pages */
.content_container .new_page_path {line-height: 3em;color:#999;}
.content_container .new_page_path span {color:#000;}

/* PAGE HEADERS */
.s3d-page-header-top-row {clear:both;margin-bottom:10px;}
.s3d-page-header-top-row .s3d-search-inputfield {width:220px;}
.s3d-page-header-top-row .s3d-page-header-sort-area {float:right;}
.s3d-page-header-top-row .s3d-page-header-sort-area select {border:1px solid #999;}
.s3d-page-header-bottom-row {line-height:30px;margin-bottom:15px;}
.s3d-page-header-bottom-row button, .s3d-page-header-bottom-row .s3d-page-header-selectall {margin-top:6px;}
.s3d-page-header-bottom-row .s3d-page-header-selectall {height:21px !important;line-height:23px;padding:0 6px 0 5px;width:13px;float:left;}
.s3d-page-header-bottom-row .s3d-button .s3d-page-header-add-to-icon {background: url("/dev/images/savecontent_button_icon_16x16.png") no-repeat scroll left center transparent;display:block;float:right;height:18px;margin-left:5px;width:16px;}
.s3d-page-header-bottom-row .s3d-button:hover .s3d-page-header-add-to-icon {background:url("/dev/images/savecontent_button_icon_16x16_hover.png") no-repeat scroll left center transparent;}
.s3d-page-header-bottom-row .s3d-button[disabled]:hover .s3d-page-header-add-to-icon {background: url("/dev/images/savecontent_button_icon_16x16.png") no-repeat scroll left center transparent;}

/* LIST VIEW OPTIONS */
.s3d-listview-options {float:right;padding:0 !important;height:19px !important;margin-top:4px;margin-left:20px;border-radius:3px !important;-moz-border-radius:3px !important;-webkit-border-radius:3px !important;}
.s3d-listview-options:hover {background:#fff;box-shadow:0 0 4px -2px #A8A8A8 inset;}
.s3d-listview-options > div {float:left;height:15px;padding:3px 4px 2px;}
.s3d-listview-options > div.selected,
.s3d-listview-options > div:hover {background:url("/dev/images/button_header_hover.png") repeat-x scroll left -1px transparent;box-shadow:0 0 4px -2px #A8A8A8 inset;}
.s3d-listview-options > div:last-child {border-radius:0 3px 3px 0;}
.s3d-listview-options > div:first-child {border-radius:3px 0 0 3px;}

/*
 * BUTTONS
 */
.s3d-sprites-buttons{background-color:#FFF;padding:0;position:absolute;left:0;top:0;display:block;width:106px;margin:0;}
.s3d-sprites-buttons ul{margin:0;border:1px solid #cbd0d4;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}
.s3d-sprites-buttons ul li{padding:5px 0 5px 9px;list-style-type:none;}
.s3d-sprites-buttons ul li:hover{background-color:#dbeefc;cursor:pointer;}
.s3d-sprites-buttons ul li a{font-weight:400;font-size:12px;}
.s3d-sprites-buttons ul li a:hover{text-decoration:none;}
.s3d-sprites-buttons ul li.more_option{border-bottom:1px solid #cbd0d4;}
.s3d-sprites-buttons ul li.more_option.option_last{border-bottom:0;}
.s3d-sprites-buttons .more_link{background:transparent url("/dev/images/more_bg_18.png") top left no-repeat;padding:1px 21px 2px 12px;}

/* New button style */
/* General */
.s3d-button {border-radius:5px 5px 5px 5px;color:#666;height:27px;padding:1px 12px 0;cursor:pointer;font-weight:bold;font-size:11px;text-align:center;margin-right:5px;border:none;}
button.s3d-button:focus {box-shadow:0 0 2px 1px #2683BC;}
a.s3d-button {text-decoration:none;}

/* Link buttons */
.s3d-link-button {margin:0;padding:0;background: none repeat scroll 0 0 transparent;border: medium none;color:#2683bc;font-family: Arial,Helvetica,sans-serif;font-size:13px;display: inline-block;text-align:left;font-size:11px;}
.s3d-link-button:disabled {cursor:default !important;}
.s3d-link-button:focus {box-shadow:none !important;}
.s3d-link-button:hover {cursor:pointer;text-decoration:none;color:#999;}
.s3d-link-button::-moz-focus-inner {padding:0;margin:0;border:0;}

/* Header buttons */
.s3d-button.s3d-header-button {background:#fff;box-shadow:0 0 4px -2px #A8A8A8 inset;border:1px solid #e0e3e5;}
.s3d-button.s3d-header-button:hover, .s3d-button.s3d-header-button.selected {background:url("/dev/images/button_header_hover.png") repeat-x scroll left -1px transparent;border:1px solid #E0E3E5;box-shadow:none;}
.s3d-button.s3d-header-button:disabled {background:#fff;cursor:auto;color:#ccc}
.s3d-button.s3d-header-button:disabled:hover {background:#fff;box-shadow:0 0 4px -2px #A8A8A8 inset;border:1px solid #e0e3e5;}
a.s3d-button.s3d-header-button {height:24px;line-height:24px;}

/* Left pop out buttons */
.s3d-popout-button-shadow {background:url("/dev/images/button_popout_border_shadow.png") no-repeat scroll left top transparent;float:left;height:56px;margin-left:-10px;margin-top:-12px;position:absolute;width:20px;}
.s3d-button.s3d-header-button.s3d-popout-button {color:#666;padding:0 5px 0 10px;font-size:13px;height:30px;}
.s3d-button.s3d-header-button.s3d-popout-button:hover {background:url("/dev/images/button_popout_hover.png") repeat-x scroll left -1px transparent;border:1px solid #31b2eb;color:#fff;}
.s3d-button.s3d-header-button.s3d-popout-button:disabled {background:#fff;cursor:auto;color:#ccc}
.s3d-button.s3d-header-button.s3d-popout-button:disabled:hover {background:#fff;;border:1px solid #E0E3E5;box-shadow:0 0 4px -2px #A8A8A8 inset;}
.s3d-button.s3d-header-button.s3d-popout-button > span {display:inline-block;float:right;font-size:18px;margin-left:4px;}

/* Header buttons, smaller */
.s3d-button.s3d-header-button.s3d-header-smaller-button,
a.s3d-button.s3d-header-button.s3d-header-smaller-button {font-size:10px;height:23px;padding:0 5px;line-height:19px;}
a.s3d-button.s3d-header-button.s3d-header-smaller-button {display:inline-block;height:22px;padding:0 8px;}

/* Regular in-page buttons */
.s3d-button.s3d-regular-button{background:url("/dev/images/button_regular_default.png") repeat-x scroll left top transparent;height:24px;padding:0 7px;border:1px solid #e0e3e5;color:#666;box-shadow:0 1px 1px 0 #999;text-shadow:0 2px 3px #fff;}
.s3d-button.s3d-regular-button:hover{background:url("/dev/images/button_regular_hover.png") repeat-x scroll left top transparent;}
a.s3d-button.s3d-regular-button{height:24px;line-height:24px;}

/* Large in-page buttons */
.s3d-button.s3d-large-button {background:url("/dev/images/button_large_default.png") repeat-x scroll left top transparent;height:31px;padding:0 7px;border:1px solid #e0e3e5;color:#2683bc;box-shadow:0 1px 1px 0 #999;text-shadow:0 2px 3px #fff;font-size:13px;}
.s3d-button.s3d-large-button:hover {background:url("/dev/images/button_large_hover.png") repeat-x scroll left top transparent;color:#999;}
.s3d-button.s3d-large-button.grey {color:#666;}
a.s3d-button.s3d-large-button {line-height:31px;}

/* Overlay buttons */
.s3d-button.s3d-overlay-button {background:url("/dev/images/button_overlay_default.png") repeat-x scroll left top transparent;border:1px solid #E0E3E5;font-size:11px;font-weight:bold;height:24px;margin-left:15px;box-shadow:0 1px 1px 0 #999;text-shadow:0 2px 3px #fff;color:#2683bc;}
.s3d-button.s3d-overlay-button:hover {background:url("/dev/images/button_overlay_hover.png") repeat-x scroll left top transparent;}
.s3d-button.s3d-overlay-button:disabled {color:#ccc;}
.s3d-button.s3d-overlay-button:disabled:hover {background:url("/dev/images/button_overlay_default.png") repeat-x scroll left top transparent;cursor:auto;}
a.s3d-button.s3d-overlay-button {display:inline-block;height:21px;line-height:21px;}

/* Overlay Action buttons */
.s3d-button.s3d-overlay-action-button {background:url("/dev/images/button_overlay_action_default.png") repeat-x scroll left top transparent;font-size:11px;font-weight:bold;height:25px;margin-left:15px;box-shadow:0 1px 2px 0 #222;color:#fff;padding:0 5px;}
.s3d-button.s3d-overlay-action-button:hover, .s3d-button.s3d-overlay-action-button:focus {background:url("/dev/images/button_overlay_action_hover.png") repeat-x scroll left top transparent;color:#22AAE7;}
.s3d-button.s3d-overlay-action-button:disabled {color:#ccc;}
.s3d-button.s3d-overlay-action-button:disabled:hover {background:url("/dev/images/button_overlay_action_default.png") repeat-x scroll left top transparent;cursor:auto;}

.s3d-button.s3d-overlay-button.grey, .s3d-button.s3d-overlay-action-button.grey {color:#666;}

/* No text buttons */
.s3d-button.s3d-button-no-text {padding:0 !important;}

/* Button in another button */
.s3d-button .s3d-button-in-button {background:url("/dev/images/button_in_button_default.png") repeat-x top left #5d6267;color:#fff;display:inline;height:15px;line-height:15px;margin:0 0 0 5px;padding:2px 4px;border:1px solid #4f4f4f;}
.s3d-button .s3d-button-in-button-lighter {background:url("/dev/images/button_in_button_light_default.png") repeat-x scroll left top #CBC9C9;border:1px solid #B5B5B5;color:#fff;display:inline;height:12px;line-height:12px;margin:2px 9px 0 -3px;padding:0 4px;float:left;}

.s3d-button.s3d-overlay-action-button .s3d-button-in-button {display:inline-block;margin-top:-3px;}

/*
 * WIDGET LAYOUT
 */
.s3d-widget-titlebar{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -473px transparent;padding:0 10px 0 0;min-height:49px;}
.s3d-widget-titlebar-inner{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -570px transparent;padding:0 0 0 5px;min-height:50px;}
.s3d-widget .s3d-widget-content,.s3d-content{padding:10px 0;margin:0!important;border-left:3px solid #D4DADE;border-right:3px solid #D4DADE;}
.s3d-widget .s3d-widget-options-footer-left{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -70px -436px #D5DBDF;height:12px;}
.s3d-widget-small-content{padding:5px 0!important;}
.fl-widget { margin-bottom :7px;}
.fl-widget .fl-widget-options-footer-top{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -528px #D5DBDF;height:16px;}
.fl-widget .fl-widget-options .fl-widget-options-top-right{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -432px transparent;float:right;height:16px;padding:0 0 7px 14px;width:16px;}
.s3d-widget .s3d-widget-options-footer-right{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -456px #D5DBDF;float:right;height:12px;width:16px;}
.s3d-widget .s3d-widget-no-options,.s3d-no-options{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -1453px transparent;padding:0 5px 0 0;margin:0;}
.s3d-widget .s3d-widget-no-options-inner,.s3d-no-options-inner{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -1433px transparent;margin:0;height:6px;}

.fl-col-flex2 .fl-col{margin-left:5px;margin-right:0;padding-left:0;padding-right:0;width:353px;margin-right:8px;}
.fl-col-flex2 .fl-col:last-child {margin-right:0;}
.fl-col-flex3 .fl-col{margin-left:5px;margin-right:0;padding-left:0;padding-right:0;width:230px;margin-right:8px;}
.fl-col-flex3 .fl-col:last-child {margin-right:0;}

.s3d-inset-shadow-container {background-color:#ededed;border:1px solid #ededed;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;box-shadow:inset 0 5px 5px -5px #888888;-moz-box-shadow:inset 0 5px 5px -5px #888888;-webkit-box-shadow:inset 0 5px 5px -5px #888888;}
.s3d-outer-shadow-container {background-color:#FFF;border-radius:4px;box-shadow:0 1px 1px 0 #BBB;-moz-box-shadow:0 1px 1px 0 #BBB;-webkit-box-shadow:0 1px 1px 0 #BBB;margin:0 3px 3px 0;padding:15px 13px 11px;}

/*
 * SEARCH BOXES
 */
.s3d-search-container .s3d-search-inputfield {height: 22px;padding: 0 4px;color: #333;font-size: 12px;border:1px solid #ccc !important;float:left;}
.s3d-search-container input::-webkit-input-placeholder {color:#7c7b7b;font-style:italic;font-size:11px !important;}
.s3d-search-container input:-moz-placeholder{color:#7c7b7b;font-style:italic;font-size:11px !important;}
.s3d-search-container .s3d-search-button {height:25px !important;width:24px;padding:3px 0 0 0 !important;margin-left:2px;background:none !important;border: none !important;box-shadow:none !important;-moz-box-shadow:none !important;-webkit-box-shadow:none !important;}
.s3d-search-container .s3d-search-button:hover, .s3d-search-container .s3d-search-button:focus {background: url("/dev/images/searchbutton_hover_bg.png") repeat-x top left transparent !important;border:1px solid #ccc !important;}
.s3d-search-container .s3d-search-button img {margin:0 auto;}
.s3d-search-container .s3d-search-button .s3d-search-button-icon{margin:0 auto;display:block;width:16px;height:19px;background: url("/dev/images/search_icon.png") no-repeat top left transparent;}

/*
 * NO RESULTS VIEW (When a widget feed doesn't return any results)
 */
.s3d-no-results-container {background: url("/dev/images/noresults_bg.png") repeat scroll left top transparent;-moz-border-radius:5px;border-radius:5px;padding:20px;margin:30px 0px 0px;list-style:none}
.s3d-no-results-container .s3d-no-results-arrow-up {background:url("/dev/images/noresults_arrow_up.png") no-repeat top left transparent;position:absolute;margin-top:-44px;width:36px;height:24px;}
.s3d-no-results-container h1 {color:#666;font-size:18px;font-weight:normal;margin:5px 0 10px 0 !important;}
.s3d-no-results-container h1 button{font-size:18px;}
.s3d-no-results-container .s3d-no-results-icon {width:55px;height:50px;float:left;margin:0 12px 0 0;}
.s3d-no-results-container .s3d-no-results-icon.less-margin {margin:-8px 12px 0 0;}

.s3d-no-results-container .s3d-no-results-magnifier {background:url("/dev/images/magnifier_icon_55x55.png") no-repeat top left transparent;}
.s3d-no-results-container .s3d-no-results-world {background:url("/dev/images/world_icon_55x55.png") no-repeat top left transparent;}
.s3d-no-results-container .s3d-no-results-people {background:url("/dev/images/person_icon_55x55.png") no-repeat top left transparent;}
.s3d-no-results-container .s3d-no-results-content {background:url("/dev/images/content_icon_55x55.png") no-repeat top left transparent;}
.s3d-no-results-container .s3d-no-results-content-small {background:url("/dev/images/content_icon_42x46.png") no-repeat top left transparent;width:46px;height:42px;}
.s3d-no-results-container .s3d-no-results-memberships {background:url("/dev/images/memberships_icon_60x55.png") no-repeat top left transparent;width:60px;}
.s3d-no-results-container .s3d-no-results-memberships-small {background:url("/dev/images/memberships_icon_42x46.png") no-repeat top left transparent;width:46px;height:42px;}
.s3d-no-results-container .s3d-no-results-contacts {background:url("/dev/images/contacts_icon_60x55.png") no-repeat top left transparent;width:60px;}
.s3d-no-results-container .s3d-no-results-contacts-small {background:url("/dev/images/contacts_icon_42x46.png") no-repeat top left transparent;width:46px;height:42px;}
.s3d-no-results-container .s3d-no-results-replied {background:url("/dev/images/replied_icon_55x55.png") no-repeat top left transparent;}
.s3d-no-results-container .s3d-no-results-trash {background:url("/dev/images/trash_icon_55x55.png") no-repeat top left transparent;}
.s3d-no-results-container .s3d-no-results-upload {background:url("/dev/images/upload_icon_42x46.png") no-repeat top left transparent;width:46px;height:42px;}
.s3d-no-results-container .s3d-no-results-search-messages {background:url("/dev/images/no-messages-found-icon.png") no-repeat top left transparent;width:46px;height:42px;}
.s3d-no-results-container .s3d-no-results-search-world {background:url("/dev/images/world_search_icon_55x55.png") no-repeat scroll left top transparent;}
.s3d-no-results-container .s3d-no-results-search-people {background:url("/dev/images/people_search_icon_55x55.png") no-repeat scroll left top transparent;}
.s3d-no-results-container .s3d-no-results-search-content {background:url("/dev/images/content_search_icon_55x55.png") no-repeat scroll left top transparent;}
.s3d-no-results-container .s3d-no-results-sakai2sites {background:url("/dev/images/sakai2_icon_43x40.png") no-repeat top left transparent;width:46px;height:45px;}

.s3d-action-icon {width:16px;height:16px;cursor:pointer;}
.s3d-action-icon.disabled {display:none;}

.s3d-actions-delete {background:url("/dev/images/delete_icon_default.png") no-repeat top left transparent;}
.s3d-actions-delete:hover {background:url("/dev/images/delete_icon_hover.png") no-repeat top left transparent;}

.s3d-actions-addtolibrary {background:url("/dev/images/addtolibrary_icon_default.png") no-repeat top left transparent; width: 17px; height: 25px;}
.s3d-actions-addtolibrary:hover {background:url("/dev/images/addtolibrary_icon_hover.png") no-repeat top left transparent;}

.s3d-actions-author {background:url("/dev/images/author_icon_default.png") no-repeat scroll left top transparent;width:32px !important;}
.s3d-actions-author:hover {background:url("/dev/images/author_icon_hover.png") no-repeat scroll left top transparent;}

.s3d-actions-share {background:url("/dev/images/share_icon_default.png") no-repeat scroll left top transparent; width: 23px !important;}
.s3d-actions-share:hover {background:url("/dev/images/share_icon_hover.png") no-repeat scroll left top transparent;}

.s3d-actions-message {background:url("/dev/images/message_icon_default.png") no-repeat scroll left top transparent;}
.s3d-actions-message:hover {background:url("/dev/images/message_icon_hover.png") no-repeat scroll left top transparent;}
.s3d-button:hover .s3d-actions-message {background:url("/dev/images/message_icon_hover.png") no-repeat scroll left top transparent;}
.s3d-button:disabled:hover .s3d-actions-message {background:url("/dev/images/message_icon_default.png") no-repeat scroll left top transparent;}

/*
 * CONTENT LAYOUT
 */
.s3d-header .s3d-fixed-container .s3d-decor-left{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll 0 -10px transparent;float:left;height:5px;margin-left:-20px;overflow:visible;width:5px;}
.s3d-header .s3d-fixed-container .s3d-decor{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -10px transparent;float:right;height:5px;margin-right:-20px;width:5px;position:relative;*right:-15px;}
.s3d-main-container{background:#fff;}

/*
 * CHROME STYLES
 * HEADINGS
 */
.s3d-site-heading{padding:10px 0;font-weight:bold;color:#454A4F;}
.s3d-site-heading h1{margin:0;padding:0;}

/* PROGRAMMATICALLY SET STYLES
 * styles used to programmatically set placement of widgets on the page
 */
.inline_class_widget_rightfloat{float:right; padding: 5px 0px 5px 10px;}
.inline_class_widget_leftfloat{float:left; padding: 5px 10px 5px 0px;}

/*
 * ACTIONS
 * links used to trigger an action
 * default styling: bold blue link
 * Variants:
 * - action series: links are inside list items, each list item is separated by a divider
 */
a.s3d-action,.s3d-actions a{color:#2683bc;font-weight:bold;font-size:13px;}
a.s3d-action-seeall{font-size:11px!important;}

/* Primary button */
.s3d-button-primary{background-position:right -110px;}
.s3d-button-primary .s3d-button-inner{background-position:left -110px;}

/* Search button */
.s3d-search-button{padding-right:8px;}
.s3d-search-button .s3d-button-icon-right{padding-right:22px;background-image:url(/dev/images/dashboard_sprite.png);background-position:42px -394px;display:inline;}

/*
 * CONTEXT MENU FOR DROPDOWNS
 */.context_menu{left:18px;padding:0;position:absolute;top:124px;}
.context_menu img{border:1px solid #555;border-bottom:none;}
.context_menu ul{margin:0;margin-top:-3px;background-color:#eee;border:1px solid #555;}
.context_menu ul li{list-style-type:none;}
.context_menu ul li a{color:#666;font-size:.95em;display:block;padding:2px 20px 2px 4px;}

/*
 * INPUT FIELDS
 */
input[type=text], input[type=password], input[type=email], input[type=url], textarea{border:1px solid #A9A9A9;}

/*
 * CONTENT AREA TOP TABS
 */.s3d-primary-tabs{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -1622px transparent;}
.s3d-primary-tabs,.s3d-primary-tabs-inner{height:25px;border:none;padding:2px 5px 0;display:block;}
.s3d-primary-tabs ul.fl-tabs{border:none;padding:0;margin:0;float:right;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll left -1592px transparent;padding-left:20px;}
.s3d-primary-tabs .fl-tabs-right li{margin-top:3px;}
.s3d-primary-tabs ul.fl-tabs-left{float:left;padding:1px 0 0 3px;}
.s3d-primary-tabs ul li{margin:0;margin-top:2px;padding:0;background:transparent;border:none;display:block;float:left;}
.s3d-primary-tabs ul li a{padding:2px 18px 4px 13px;line-height:20px;background:transparent;border:none;font-weight:bold;color:#000;display:block;float:left;margin:0;position:relative;bottom:0!important;}
.s3d-primary-tabs ul li.fl-tabs-active,.s3d-primary-tabs ul li.fl-tabs-active a{background-color:#FFF;background-image:url(/dev/images/dashboard_sprite.png);background-attachment:scroll;height:30px;bottom:0!important;position:relative;}
.s3d-primary-tabs ul li.fl-tabs-active{padding-left:5px;background-position:left -1664px;}
.s3d-primary-tabs ul li.fl-tabs-active a{background-position:right -1714px;font-weight:400;border:none;padding-left:15px;margin:0;}
.fl-tab-content{border:none;margin:0;}

/*
 * AUTOSUGGEST
 */
.requireUser ul.as-selections{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;border:1px solid #a9a9a9;}
ul.as-selections.loading{background:#fff url(../../../dev/images/ajax_load.gif) center center no-repeat;}
ul.as-selections li.as-original input {border:0;}
ul.as-selections textarea.as-input, ul.as-selections input.as-input{border:0;resize:none;}
ul.as-selections textarea.as-input{padding:0;}
.autosuggest_wrapper{float:left;position:relative;width:100%;}
.autosuggest_wrapper ul.as-list{top:100%;margin-top:-15px;}
.autosuggest_wrapper .list_categories{float:right;}
.autosuggest_wrapper textarea {overflow:hidden;}

/* http://blogs.sitepoint.com/2005/02/26/simple-clearing-of-floats/ */
.clearfix{overflow:auto;}

 /*
 * OLD DIALOG LAYOUT
 */
.dialog{color:#333;display:none;left:50%;margin-left:-250px;position:absolute;top:12%;width:500px;}
.jqmOverlay{background-color:#000;opacity:0.6 !important}

/* Dialog header */
.dialog_header{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -641px transparent;padding:0 8px 0 0;}
.dialog_header_inner{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -819px transparent;}
.dialog_header h1{color:#fff;display:block;font-size:1.1em;margin:0;padding:15px 20px;}
.dialog_header .dialog_close_image{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -40px -641px transparent;cursor:pointer;display:block;height:15px;overflow:hidden;position:absolute;right:20px;top:17px;text-indent:-5000px;width:14px;}

/* Dialog content */
.dialog_content{background-color:#fff;border-left:3px #454a4f solid;border-right:3px #454a4f solid;padding:7px 20px;}
.dialog_content h1{font-size:1.1em;font-weight:bold;color:#333;margin:0;padding:5px 0;}
.dialog_content textarea{height:80px;width:98%;padding: 5px;}

/* Dialog buttons */
.dialog_buttons{clear:both;margin-top:20px;float:right;}

/* Dialog footer */
.dialog_footer{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -957px transparent;padding:0 8px 0 0;}
.dialog_footer_inner{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -937px transparent;height:6px;}

/* Dialog tooltip header */
.dialog_tooltip_header_arrow{background:url(/dev/images/tour_sprite.png) no-repeat scroll -254px -76px transparent;height:18px;margin:0 0 0 20px;width:35px;}
.dialog_tooltip_header{background:url(/dev/images/tour_sprite.png) no-repeat scroll right -20px transparent;padding:0 22px 0 0;}
.dialog_tooltip_header_inner{background:url(/dev/images/tour_sprite.png) no-repeat scroll left top transparent;height:14px;}

/* Dialog tooltip content */
.dialog_tooltip_close{float:right;}
.dialog_tooltip_content{background:url(/dev/images/tour_sprite.png) no-repeat scroll left -80px transparent;padding:7px 20px 0;}
.dialog_tooltip_content h2{font-size:1.1em;font-weight:bold;color:#333;margin:0;padding:0 0 5px;}
.dialog_tooltip_content p{font-size:.9em;}
.dialog_tooltip_content textarea{height:80px;width:98%;}

/* Dialog tooltip footer */
.dialog_tooltip_footer{background:url(/dev/images/tour_sprite.png) no-repeat scroll right -60px transparent;padding:0 22px 0 0;}
.dialog_tooltip_footer_inner{background:url(/dev/images/tour_sprite.png) no-repeat scroll left -40px transparent;height:14px;}
.dialog_tooltip_footer_arrow{background:url(/dev/images/tour_sprite.png) no-repeat scroll -217px -80px transparent;width:35px;height:18px;margin:0 0 0 20px;}

/*
 * NEW DIALOG LAYOUT
 */
.s3d-dialog{color:#333;display:none;left:50%;margin-left:-250px;position:absolute;top:50px;width:500px;}
.s3d-dialog-container {background-color:#fff; border:1px solid #a9a9a9; -moz-border-radius:5px;border-radius:5px;padding:7px 20px 12px;box-shadow:0 0 10px #000;-moz-box-shadow:0 0 10px #000;-webkit-box-shadow:0 0 10px #000;color:#424242;font-size:12px;}
.s3d-dialog-container .s3d-dialog-close {background:url("/dev/images/dialog_close.png") no-repeat top left transparent;width:19px;height:17px;float:right;cursor:pointer;margin:-2px -15px 0 0;}
.s3d-dialog-container .s3d-dialog-close:hover {background:url("/dev/images/dialog_close.png") no-repeat left -19px transparent;}
.s3d-dialog-container h1.s3d-dialog-header {border-bottom:1px dotted #d4d4d4;color:#666;font-size:19px;font-weight:normal;padding-bottom:11px;margin-bottom:15px;}

/* Widget bar item counts */
.s3d-counts-outer{padding:3px 2px;background:#fff;border:1px solid #D6D9DB;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;box-shadow:0 0 4px -2px #A8A8A8 inset;-webkit-box-shadow:0 0 4px -2px #A8A8A8 inset;-moz-box-shadow:0 0 4px -2px #A8A8A8 inset; font-size: 11px; position: relative; top: -1px; margin-left: 5px;}
.s3d-counts-outer a{padding-right:6px;color:#707070;}
.s3d-counts-inner{color:#fff;padding:0px 4px;background:#D4D4D4;border:1px solid #CACACA;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;box-shadow:0 0 4px -2px #A2A2A2 inset;-webkit-box-shadow:0 0 4px -2px #A2A2A2 inset;-moz-box-shadow:0 0 4px -2px #A2A2A2 inset;}

/*
 * CHAT
 */
.chat_available_status_online{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -33px -395px transparent;}
.chat_available_status_busy{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -63px -395px transparent;}
.chat_available_status_offline{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -93px -395px transparent;}
.chat_available_status_offline,.chat_available_status_busy,.chat_available_status_online{padding-left:15px;}

/*
 * LISTS
 */
.s3d-list-item{list-style:none outside none;padding:5px 0 5px 10px!important;margin:0!important;clear:both;overflow:hidden;}
.s3d-list-entity-picture{float:left;height:32px;margin-right:10px;width:32px;}
.s3d-entity-displayname{padding-top:4px;margin:4px 0 0 8px;float:left;}
.s3d-list-link-full-space{clear:both;height:100%;}
ul li.s3d-list-item:hover{background-color:#f1f9fd;}

.s3d-dropdownlistone-text{padding:0 7px;border-right:none;color:#fff;font-size:11px;}
.s3d-dropdownlistone-text .dropdownlistone_arrow{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -149px -394px transparent;padding-right:17px;padding-left:8px;}
.s3d-dropdownlistone-menu{background-color:#868a8d;line-height:16px;position:absolute;z-index:500;padding:0 0 6px;min-width:100px;}
.s3d-dropdownlistone-menu div{margin-top:5px;}
.s3d-dropdownlistone-menu ul{margin:0;padding:0;}
.s3d-dropdownlistone-menu li{display:block;list-style-type:none;margin:0;padding:3px 5px 6px 13px;}
.s3d-dropdownlistone-menu li a{border:none;color:#fff;padding:0;}
.s3d-dropdownlistone-menu li a:hover, .s3d-dropdownlistone-menu li button:hover{color:#ddd;}
.s3d-dropdownlistone-menu-border{border-bottom:1px solid #777;}
.s3d-dropdownlistone-link-inactive {color:#aaa;}

.s3d-dropdownlisttwo-text{color: #666666;}
.s3d-dropdownlisttwo-text span{float:left;}
.s3d-dropdownlisttwo-text .s3d-dropdownlisttwo-arrow-down{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -128px -400px transparent;float:left;height: 10px;margin: 6px 0 0 6px;width: 10px;}
.s3d-dropdownlisttwo-text .s3d-dropdownlisttwo-arrow-up{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -218px -400px transparent;float:left;height: 10px;margin: 6px 0 0 6px;width: 10px;}
.s3d-dropdownlisttwo-menu{font-size:.95em!important;left:110px;list-style-image:none;position:absolute;top:29px;z-index:10;margin:0;}
.s3d-dropdownlisttwo-menu ul{background-color:#fff;border:1px solid #CCC;margin:0;padding:5px 15px 5px 7px;}
.s3d-dropdownlisttwo-menu li{list-style-type:none;padding:0;}

/*
 * POPOVERS
 */
.s3d-popover-container {border: 1px solid #EAEBEC;border-top: none;border-radius: 5px;-moz-border-radius: 5px;-webkit-border-radius: 5px;box-shadow: 0px 0px 5px #454545;-moz-box-shadow: 0px 0px 5px #454545;-webkit-box-shadow: 0px 0px 5px #454545;background:url("/dev/images/popover_bg.png") repeat-x scroll left top #f4f4f4;font-size:13px;}
.s3d-popover-container .s3d-popover-inner {padding:10px;word-wrap:break-word;}
.s3d-popover-arrowup {background:url("/dev/images/popover_arrowup.png") no-repeat scroll left top transparent;height:13px;margin-left:110px;position:relative;width:33px;}

/*
 * TAGLISTS
 */
.s3d-taglist-container {max-height:53px;overflow-y:hidden;}
.s3d-taglist{margin:3px 0 0 20px;text-indent:-20px;}
.s3d-taglist li{display:inline;list-style:disc;padding: 0;margin:0;list-position:inside}
.s3d-taglist li a{font-size:11px !important;font-weight:normal !important;}
.s3d-taglist li:before{content:'\0020\00b7\0020'}
.s3d-taglist li:first-child:before{content:''}
.s3d-taglist li:first-child{list-style:none;background:url("/devwidgets/entity/images/entity_tags_icon.png") no-repeat scroll left 1px transparent;padding-left:20px;}

/*
 * HIGHLIGHTED AREAS
 */
.s3d-highlight_area_background{background-color:#EFF2F4;padding:0 10px;margin:0 0 15px;}
.s3d-highlight_area_background_tl{height:7px;margin-left:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -1037px transparent;}
.s3d-highlight_area_background_tinner{height:7px;margin-right:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -1047px transparent;}
.s3d-highlight_area_background_bl{clear:both;height:7px;margin-left:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -1057px transparent;}
.s3d-highlight_area_background_binner{clear:both;height:7px;margin-right:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -1067px transparent;}
.s3d-highlight_area_background_white_content_tl{height:7px;margin-left:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -1198px transparent;}
.s3d-highlight_area_background_white_content_tinner{height:7px;margin-right:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -1208px transparent;}
.s3d-highlight_area_background_white_content_bl{clear:both;height:7px;margin-left:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -1217px transparent;}
.s3d-highlight_area_background_white_content_binner{clear:both;height:7px;margin-right:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -1227px transparent;}
.s3d-highlight_area_background_darker1{background-color:#d5dbdf;padding:0 10px;margin:0 0 15px;}
.s3d-highlight_area_background_darker1_tl{height:7px;margin-left:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -1077px transparent;}
.s3d-highlight_area_background_darker1_tinner{height:7px;margin-right:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -1087px transparent;}
.s3d-highlight_area_background_darker1_bl{height:7px;margin-left:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -1097px transparent;}
.s3d-highlight_area_background_darker1_binner{height:7px;margin-right:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -1107px transparent;}
.s3d-highlight_area_background_darker1_white_content_tl{height:7px;margin-left:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -1117px transparent;}
.s3d-highlight_area_background_darker1_white_content_tinner{height:7px;margin-right:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -1127px transparent;}
.s3d-highlight_area_background_darker1_white_content_bl{clear:both;height:7px;margin-left:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -1137px transparent;}
.s3d-highlight_area_background_darker1_white_content_binner{clear:both;height:7px;margin-right:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -1147px transparent;}

/*
 * SEARCH
 */

/* SEARCH BAR */
.s3d-search-bar{margin-left:205px; position: relative; top: -10px;}
.s3d-search-bar input{color:#6d6d6d !important;width:500px;font-size:1.2em !important;display:block;}

/* SEARCH HEADER */
.s3d-search-header{text-align:left;font-weight:normal;font-size:1em;color:#666;width:712px;}
.s3d-search-header{margin-bottom: 5px;padding:5px 5px 8px 10px;background-color:#f5f5f5;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;box-shadow:0 1px 1px 1px #CCC;-webkit-box-shadow:0 1px 1px 1px #CCC;-moz-box-shadow:0 1px 1px 1px #CCC;}
.s3d-search-header .s3d-search-header-type{display:inline-block; padding-top: 2px;}
.s3d-search-header .s3d-search-selects{float:right;}
.s3d-search-header .s3d-search-selects div{display:inline;float:left;}
.s3d-search-header .s3d-search-selects select{border: 1px solid #CCCCCC;margin:0;}
.s3d-search-header .s3d-search-selects .s3d-search-sort{margin-left:10px;}

/* SEARCH REFINE BY TAGS */
.s3d-search-tag{padding:0;margin:5px 2px 0 2px;}
.s3d-search-activetags span, .s3d-search-refineby span{display:inline-block;}
.s3d-search-activetags button{color:#6C6C6C;cursor:pointer;border:1px solid #b4b5b5;border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;background-color:#FEFEFE;}
.s3d-search-activetags button img{margin-left:8px;}
.s3d-search-refineby-list{margin-bottom:15px;}
.s3d-search-refineby .s3d-search-refineby-title{margin-bottom:5px;display:block;color:#64707E;}
.s3d-search-refineby button{cursor:pointer;color:#585858;border:1px solid #A5BECF;border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;background:url("/dev/images/search_tag_button.png") repeat-x scroll left top #cde6f7;}

/* SEARCH RESULTS */
.s3d-search-results{display:block; overflow:hidden;width:730px;}
.s3d-search-results .s3d-search-results-container{margin:10px 0 0;padding:0;border-top: 1px solid #e9e9e9;}
.s3d-search-result{color:#333;padding:10px;border-bottom: 1px dotted #cccccc;list-style:none}
.s3d-search-result a img{float:left;padding:0 10px 5px 0;width:40px;}
.s3d-search-result-right{margin-left:80px;}
.s3d-search-results .jq_pager{clear:both;border-bottom: 1px solid #e9e9e9;}
.s3d-search-result-detail-separator{color:#cccccc;margin: 0 5px;}
.s3d-search-result:hover{background-color:#f2f9fc;}

/* search results common elements in content people and group results */
.s3d-search-result-content .searchcontent_result_usedin_icon, .s3d-search-result-group .searchgroups_result_usedin_icon{background: url("/devwidgets/entity/images/entity_used_by_icon.png") no-repeat scroll left top transparent;}
.s3d-search-result-content .searchcontent_result_comments_icon, .s3d-search-result-group .searchgroups_result_comments_icon{background: url("/devwidgets/entity/images/entity_comment_icon.png") no-repeat scroll left top transparent;}
.s3d-search-result-content .searchcontent_result_left_filler, .s3d-search-result-person .searchpeople_result_left_filler, .s3d-search-result-group .searchgroups_result_left_filler{margin:1px 8px 0 0;display: inline;float: left;height: 25px;width: 17px;}
.s3d-search-result-content .searchcontent_result_plus, .s3d-search-result-person .searchpeople_result_plus, .s3d-search-result-group .searchgroups_result_plus{color:#e4e4e4;font-size:x-large;font-weight:100;margin:-5px 10px 10px -2px;}
.s3d-search-result-content .searchcontent_result_icon, .s3d-search-result-person .searchpeople_result_icon, .s3d-search-result-group .searchgroups_result_icon{display:inline-block;height:10px;width:15px;}
.s3d-search-result-content .searchcontent_result_description, .s3d-search-result-person .searchperson_result_description, .s3d-search-result-group .searchgroup_result_description{word-wrap:break-word;}
/* search results hide elements used in grid view by default */
.s3d-search-result-content .searchcontent_result_description_grid, .s3d-search-result-person .searchpeople_result_description_grid, .s3d-search-result-group .searchgroups_result_description_grid,
.s3d-search-result-name-grid, .s3d-search-result-tag-grid, .s3d-search-result-avatar-large,
.s3d-search-result-content .searchcontent_result_by_name_grid{display:none;}

/* search results content */
.s3d-search-result-content .searchcontent_result_description{margin:0 0 5px;color:#333;font-size:11px;padding:6px 0; word-wrap: break-word;}
.s3d-search-result-content .searchcontent_result_mimetype{font-size:smaller;white-space:pre;text-transform:uppercase;}
.s3d-search-result-content .searchcontent_result_by{padding:3px 0;font-size:11px;}
.s3d-search-result-content .searchcontent_result_detail_separator{color:#cccccc;}
.s3d-search-result-content .searchcontent_result_usedin{margin-top:2px;font-size:11px;}
.s3d-search-result-content .searchcontent_result_share_icon{display:inline-block;float:right;margin-left:10px;}
.s3d-search-result-content .searchcontent_result_author_icon{margin-left:8px;display:inline-block;float:right;}

/* search results people */
.s3d-search-result-person .searchpeople_result_person{margin:5px 8px 10px;padding:10px;width:280px;background-color:#FFF;height:50px;float:left;border:none;overflow:hidden;}
.s3d-search-result-person .searchpeople_result_person_picture{float:left;display:block;width:48px;height:48px;padding:0;margin:0;}
.s3d-search-result-person .searchpeople_result_dot{display:block;float:left;position:relative;left:5px;}
.s3d-search-result-person .searchpeople_result_person_dept{display:block;color:#999;font-size:.85em;margin:0 0 4px 57px;line-height:12px;}
.s3d-search-result-person .searchpeople_result_person_links{margin-left:57px;}
.s3d-search-result-person .searchpeople_result_person_link{font-size:.85em;}
.s3d-search-result-person .searchpeople_result_person_divider{color:#ddd;margin:0 0 0 0px!important;}
.s3d-search-result-person .searchpeople_result_person_threedots{display:block;width:150px;}
.s3d-search-result-person .searchpeople_result_counts{padding:3px 0;font-size:11px;}
.s3d-search-result-person .searchpeople_result_message_icon{display:inline-block;float:right;}

/* search results groups */
.s3d-search-result-group .searchgroups_result_grouptype {font-size:smaller;white-space:pre;}
.s3d-search-result-group .searchgroups_result_message_icon{display:inline-block;float:right;}
.s3d-search-result-group .searchgroups_result_usedin{font-size: 11px;padding:3px 0;}
.s3d-search-result-group .searchgroups_result_comments_icon{margin-left:8px;}
.s3d-search-result-group .searchgroups_result_description{color:#333;font-size:.90em;padding:3px 0;word-wrap: break-word;}
.s3d-search-result-group .searchgroups_result_plus{margin:1px 8px 0 0;display:inline;float:left;height:17px;width:17px;}
.s3d-search-result-group .searchgroups_result_plus:hover{cursor:pointer;}

/* search results grid */
.s3d-search-results-grid{border:0 !important;border-top:1px solid #ddd !important;padding-top:5px;border-spacing:10px;}
.s3d-search-results-grid .s3d-search-result{width:150px;height:232px;overflow:hidden;border: 1px solid #FFFFFF !important;float:left;position:relative;margin:0 8px 8px 0;clear:none;}
.s3d-search-results-grid .s3d-search-result a img{float:left !important;padding:0 !important;margin-left:24px;width:100px !important;height:100px !important;position:absolute;}
.s3d-search-results-grid .s3d-search-result-anonuser{display:none !important;}
.s3d-search-results-grid .s3d-search-result-right{margin:135px 0 0 7px;}
.s3d-search-results-grid .s3d-search-result-user-functions{position:absolute;float:left !important;margin:110px 0 0 21px !important;}
.s3d-search-results-grid .s3d-search-result-content .s3d-actions-addtolibrary{margin-right:8px;}
.s3d-search-results-grid .s3d-search-result-content .s3d-actions-author{margin-right:20px;}
.s3d-search-results-grid .s3d-search-result-content .searchcontent_result_usedin_line{display:block;margin-bottom:2px;}
.s3d-search-results-grid .s3d-search-result-group .s3d-actions-message{margin-left:60px;}
.s3d-search-results-grid .s3d-search-result-group .searchgroups_result_plus{margin-top:-1px;}
.s3d-search-results-grid .s3d-search-result-person .searchpeople_result_left_filler{margin: 0 70px 0 -50px;}
.s3d-search-results-grid .s3d-search-result-detail-separator{display:block;}
.s3d-search-results-grid .s3d-search-result-detail-separator span{display:none;}
.s3d-search-results-grid .searchpeople_result_description, .s3d-search-results-grid .searchgroups_result_description, .s3d-search-results-grid .searchcontent_result_description,
.s3d-search-results-grid .s3d-search-result-name, .s3d-search-results-grid .s3d-search-result-tag,
.s3d-search-results-grid .searchcontent_result_by_name{display:none;}
.s3d-search-results-grid .searchpeople_result_description_grid, .s3d-search-results-grid .searchgroups_result_description_grid, .s3d-search-results-grid .searchcontent_result_description_grid{display:none;word-wrap:break-word;}
.s3d-search-results-grid .s3d-search-result-name-grid, .s3d-search-results-grid .s3d-search-result-tag-grid, .s3d-search-results-grid .s3d-search-result-avatar-large,
.s3d-search-results-grid .searchcontent_result_by_name_grid{display:inline;}
.s3d-search-results-grid ~ .jq_pager{border:0;}
.s3d-search-results-grid .s3d-search-result:hover{border: 1px solid #e9e9e9;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;}

/* search results anon user */
.s3d-search-results-anon .s3d-search-result-user-functions{display:none;}
.s3d-search-results-anon .s3d-search-result-anonuser{display:inline;float:left;height:15px;width:15px;}
.s3d-search-results-anon .s3d-search-results-grid .s3d-search-result-right{margin:110px 0 0 0;}

/* Search list or grid view buttons */
.s3d-search-listview-options {float:right;padding:0!important;height:19px!important;margin-left:20px;}
.s3d-search-listview-options:hover {background:#fff!important;box-shadow:0 0 4px -2px #A8A8A8 inset!important;}
.s3d-search-listview-options > div {float:left;height:15px;padding:3px 4px 2px;}
.s3d-search-listview-options > div.selected, .s3d-search-listview-options > div:hover {background:url("/dev/images/button_header_hover.png") repeat-x scroll left -1px transparent;box-shadow:0 0 4px -2px #A8A8A8 inset;}
.s3d-search-listview-options .search_view_list {border-radius:0 5px 5px 0;}
.s3d-search-listview-options .search_view_grid {border-radius:5px 0 0 5px;}
.s3d-search-listview-options .s3d-action-icon {display:block!important;}

/* Search icons */
.s3d-search-results-gridview {background:url('/dev/images/search_grid_16x16.png') no-repeat top left transparent;}
.s3d-search-results-gridview:hover {background:url('/dev/images/search_grid_16x16_hover.png') no-repeat top left transparent;}
.s3d-search-results-gridview.selected {background:url('/dev/images/search_grid_16x16_hover.png') no-repeat top left transparent;}
.s3d-search-results-listview {background:url('/dev/images/search_list_16x16.png') no-repeat top left transparent;}
.s3d-search-results-listview:hover {background:url('/dev/images/search_list_16x16_hover.png') no-repeat top left transparent;}
.s3d-search-results-listview.selected {background:url('/dev/images/search_list_16x16_hover.png') no-repeat top left transparent;}
.s3d-search-results-carouselview {background:url('/dev/images/search_carousel_16x16.png') no-repeat top left transparent;margin-top:-2px;}
.s3d-search-results-carouselview:hover {background:url('/dev/images/search_carousel_16x16_hover.png') no-repeat top left transparent;}
.s3d-search-results-carouselview.selected {background:url('/dev/images/search_carousel_16x16_hover.png') no-repeat top left transparent;}
.s3d-search-results-blogview {background:url('/dev/images/search_blog_16x16.png') no-repeat top left transparent;margin-top:-1px;}
.s3d-search-results-blogview:hover {background:url('/dev/images/search_blog_16x16_hover.png') no-repeat top left transparent;}
.s3d-search-results-blogview.selected {background:url('/dev/images/search_blog_16x16_hover.png') no-repeat top left transparent;}

/*
 * Progress indicator
 */
#sakai_progressindicator {margin-top:25px;}
#sakai_progressindicator h1, #sakai_progressindicator p {text-align:center;}
#sakai_progressindicator .s3d-inset-shadow-container {height:50px;padding-top:30px;}
#sakai_progressindicator .s3d-inset-shadow-container img {display:block;height:20px;margin-left:auto;margin-right:auto;width:188px;}

/*
 * ICONS
 */
.s3d-icon-16{width:16px; height:16px;}
.s3d-icon-32{width:32px; height:32px;}
.s3d-icon-40{width:40px; height:40px;}
.s3d-icon-50{width:50px; height:50px;}
.s3d-icon-64{width:64px; height:64px;}
.s3d-icon-128{width:128px; height:128px;}
.icon-audio-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -958px 0 transparent;}
.icon-doc-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -112px 0 transparent;}
.icon-pdf-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -750px 0 transparent;}
.icon-pps-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -463px 0 transparent;}
.icon-swf-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -1040px 0 transparent;}
.icon-zip-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -1056px 0 transparent;}
.icon-spreadsheet-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -560px 0 transparent;}
.icon-txt-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -1086px 0 transparent;}
.icon-image-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -320px 0 transparent;}
.icon-html-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -302px 0 transparent;}
.icon-video-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -1118px 0 transparent;}
.icon-sound-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -622px 0 transparent;}
.icon-kmultiple-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -430px 0 transparent;}
.icon-url-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -304px 0 transparent;}
.icon-sakaidoc-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -1185px 0 transparent;}
.icon-unknown-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -143px 0 transparent;}
.icon-collection-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -430px 0 transparent;}

/*
 * Forms and Validation
 */
.s3d-form-field-wrapper{position:relative;}
.s3d-form-field-wrapper input, .s3d-form-field-wrapper textarea, .s3d-form-field-wrapper select,.s3d-form-field-wrapper ul.as-selections{float:left;clear:right;margin-bottom:15px;}
.s3d-form-field-wrapper input, .s3d-form-field-wrapper textarea{width:55%;padding:0 5px;}
.s3d-form-field-wrapper ul.as-selections input{padding:0px;}
.s3d-form-field-wrapper textarea{padding:5px;}
.s3d-form-field-wrapper input.s3d-input-full-width, .s3d-form-field-wrapper textarea.s3d-input-full-width{width:98%;clear:both;}
.s3d-form-field-wrapper ul.as-selections{padding: 0px 5px;width:98%;}
.s3d-form-field-wrapper input{height:21px;}
.s3d-form-field-wrapper label.s3d-input-label{float:left;width:35%;clear:left;text-align:right;padding:5px 2%;color:#666;}
.s3d-form-field-wrapper label.s3d-input-label-above{width:100%;clear:both;text-align:left;padding:0;}
.s3d-form-field-wrapper input.s3d-error, .s3d-form-field-wrapper textarea.s3d-error,.s3d-form-field-wrapper input.s3d-error-after, .s3d-form-field-wrapper textarea.s3d-error-after, .s3d-form-field-wrapper ul.as-selections.s3d-error{border:3px solid #cc0000;}
.s3d-form-field-wrapper span.s3d-error{clear:both;background-color:#cc0000;color:#fff;padding:0 5px;width:55%;float:left;margin-left:39%;border:3px solid #cc0000;font-size:11px;}
.s3d-form-field-wrapper span.s3d-error-after{clear:both;background-color:#cc0000;color:#fff;padding:0 5px;width:98%;float:left;margin-left:0;border:3px solid #cc0000;font-size:11px;}
.s3d-form-field-wrapper input::-webkit-input-placeholder, .s3d-form-field-wrapper textarea::-webkit-input-placeholder {color:#aaa;font-size:12px;}
.s3d-form-field-wrapper input:-moz-placeholder, .s3d-form-field-wrapper textarea:-moz-placeholder {color:#aaa;font-size:12px;}

/*
 * Drag and Drop
 */
.s3d-draggable-draggingitems {background-color:#1098d5;color:#fff;padding:4px 7px;display:inline-block;font-size:11px;box-shadow:0px 1px 3px 0 #999;-moz-box-shadow:0px 1px 3px 0 #999;-webkit-box-shadow:0px 1px 3px 0 #999;}
#s3d-draggeditems-container li {background:#e9f4f8;border:2px solid #d5e9f3;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;margin-bottom:2px;}
#s3d-draggeditems-container .s3d-draggable-hidden{display:none;}

/**
 * Licensed to the Sakai Foundation (SF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The SF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */
.s3d-page-column-left{float:left;width:187px;min-height:500px;border-top:solid #d6dadd 1px;background:url("/devwidgets/lhnavigation/images/lhnav_bg.png") repeat-x scroll 0 0 #FEFEFE;}
.s3d-page-column-right{float:left;width:773px;border-left:1px solid #d6dadd; border-top:1px solid #d6dadd;padding:20px;box-shadow: 3px -10px 7px 0;-moz-box-shadow: 3px -10px 7px 0;-webkit-box-shadow: 3px -10px 7px 0;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;}
.s3d-page-fullcolumn-nopadding{width:960px;min-height:100px;border-top:solid #d6dadd 1px;}
.s3d-page-fullcolumn-padding{width:920px;min-height:100px;border-top:solid #d6dadd 1px; padding: 20px 20px 30px;}
.s3d-page-content-padding{padding: 10px 0px 20px;}
.s3d-page-content-lowpadding{padding: 0px 0px 20px;}
.s3d-page-full{height:100px;}
.s3d-navigation-container{background: url("/devwidgets/topnavigation/images/topnav_bg.png") repeat-x scroll left top transparent;-moz-box-shadow:0 -5px 9px 6px #555555;-webkit-box-shadow:0 -5px 9px 6px #555555;box-shadow:0 -5px 9px 6px #555555;height: 40px;margin-left: auto;margin-right: auto;position: absolute;width: 100%;z-index: 999;}
.s3d-page-header{background:url("/devwidgets/entity/images/entity_bottom_bordershadow.png") repeat-x scroll left bottom, url("/devwidgets/entity/images/entity_bg.png") repeat-x scroll left top #f7f7f7;border-bottom: 1px solid #B3B3B4;min-height: 45px;margin-top: 40px;width:960px;}
.s3d-page-header.collection_modified {padding:0px;height:auto;width:960px;-moz-box-shadow:0 -5px 9px 6px #555555;-webkit-box-shadow:0 -5px 9px 6px #555555;box-shadow:0 -5px 9px 6px #555555;min-height:0;border-bottom:0;}
.s3d-fixed-container .s3d-container-shadow-left, .s3d-container-shadow-right {background:url("/dev/images/container_shadow_left.png") no-repeat scroll 0 0 transparent;height:346px;position:absolute;width:5px;margin-left:-5px;}
.s3d-container-shadow-right{background: url("/dev/images/container_shadow_right.png") no-repeat scroll 0 0 transparent;float: right;margin-left:960px;}

/* CSS THAT OVERWRITES MAIN CSS */
.s3d-main-container {padding: 0px !important;}
.fixed-container.s3d-main-container{width:960px;}
.s3d-twocolumn{background-color:#fff;}
.requireUser, .requireAnon {background: url("/dev/images/grey_bg.png") repeat-x scroll left -91px #f2f2f2 !important;}
.s3d-header .fixed-container {padding:0 !important; width:960px;}
.s3d-header .s3d-fixed-container .s3d-decor-left {margin-left:0;}
.s3d-header .s3d-fixed-container .s3d-decor {margin-right:0;}
.s3d-header .s3d-fixed-container .s3d-decor-left {background: url("/dev/images/pageHeader_tl.png") no-repeat scroll 0 0 transparent;}
.s3d-header .s3d-fixed-container .s3d-decor {background: url("/dev/images/pageHeader_tr.png") no-repeat scroll 0 0 transparent;}
.s3d-header .s3d-navigation-container{min-width:960px;}

/* Page titles */
.s3d-contentpage-title {border-bottom:5px solid #E1E1E1; color:#424242; font-size:1.25em; padding:8px 0; margin-bottom: 15px;}

/* Page bottom */
.s3d-bottom-spacer {clear: both; padding-bottom: 40px;}

<!DOCTYPE HTML>

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
        <title></title>

        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/main.css" />

        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.corev1.css" />
        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.group.css" />

                        <button type="button" id="group_create_new_area" class="s3d-button s3d-header-button s3d-popout-button">+__MSG__ADD__</button>

<!DOCTYPE HTML>

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
        <title></title>
        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/main.css" />
        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.corev1.css" />
        <link rel="stylesheet" type="text/css" href="/dev/css/sakai/sakai.explore.css" />

__MSG__IE_PLACEHOLDER__

/*
 * Licensed to the Sakai Foundation (SF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The SF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */

require(["jquery","sakai/sakai.api.core"], function($, sakai) {

    sakai_global.acknowledgements = function() {

        var pubdata = {
            "structure0": {
                "featured": {
                    "_ref": "id1",
                    "_title": "Featured",
                    "_order": 0,
                    "main": {
                        "_ref": "id2",
                        "_order": 0,
                        "_title": "Featured"
                    }
                },
                "ui": {
                    "_ref": "id2",
                    "_title": "UI Technologies",
                    "_order": 1,
                    "main": {
                        "_ref": "id2",
                        "_order": 0,
                        "_title": "UI Technologies"
                    }
                },
                "nakamura": {
                    "_title": "Back-end Technologies",
                    "_ref": "id3",
                    "_order": 2,
                    "main": {
                        "_ref": "id3",
                        "_order": 0,
                        "_title": "Back-end Technologies"
                    }
                }
            },
            "id1": {
                "page": $("#acknowledgements_featured").html()
            },
            "id2": {
                "page": $("#acknowledgements_uitech").html()
            },
            "id3": {
                "page": $("#acknowledgements_backendtech").html()
            }
        };

        var generateNav = function(){
            $(window).trigger("lhnav.init", [pubdata, {}, {}]);
        };

        var renderEntity = function(){
            $(window).trigger("sakai.entity.init", ["acknowledgements"]);
        };

        $(window).bind("lhnav.ready", function(){
            generateNav();
        });

        $(window).bind("sakai.entity.ready", function(){
            renderEntity();
        });

        generateNav();
        renderEntity();

    };

    sakai.api.Widgets.Container.registerForLoad("acknowledgements");
});

/*
 * Licensed to the Sakai Foundation (SF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The SF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */

require(["jquery","sakai/sakai.api.core"], function($, sakai) {

    sakai_global.category = sakai_global.category || {};

    sakai_global.category = function() {

        var originalTitle = document.title;
        var pubdata = {};
        var privdata = {};

        // Containers
        var $exploreNavigation = $("#explore_navigation");
        var toplevelId = "";

        // Templates
        var exploreNavigationTemplate = "explore_navigation_template";

        /**
         * Create the breadcrumb data and render on screen
         * @param {Object} dirData Object that contains children for the category
         * @param {Array} bbqData Array of IDs fetched with bbq to help identify correct children
         */
        var createBreadcrumb = function(dirData, bbqData){
            if (!dirData){
                sakai.api.Security.send404();
                return false;
            }
            // Create top level breadcrumb
            var breadcrumb = [];
            breadcrumb.push({
                "title": sakai.api.i18n.getValueForKey("ALL_CATEGORIES"),
                "id": bbqData[0],
                "link": true,
                "url": "/categories"
            });
            breadcrumb.push({
                "title": dirData.title,
                "id": dirData.id,
                "link": bbqData.length - 1
            });
            bbqData.splice(0,1);

            // Create children level breadcrumb
            var children = dirData.children[bbqData[0]];
            $.each(bbqData, function(index, item){
                breadcrumb.push({
                    "title": children.title,
                    "id": item,
                    "link": bbqData.length - 1 - index
                });
                if (children.children) {
                    children = children.children[bbqData[index]];
                }
            });

            $exploreNavigation.html(sakai.api.Util.TemplateRenderer(exploreNavigationTemplate,{"breadcrumb": breadcrumb}));
            document.title = originalTitle + " " + dirData.title;
        };

        /**
         * Generate the navigation object and pass it to the left hand navigation widget
         * @param {Object} navData Contains all data from the category the user is currently viewing
         */
        var generateNav = function(navData){

            toplevelId = navData.id;

            pubdata = {
                "structure0": {}
            };
            privdata = {
                "structure0": {}
            };

            var rnd =  sakai.api.Util.generateWidgetId();
            privdata["structure0"][navData.id] = {
                "_order": 0,
                "_ref": rnd,
                "_title": navData.title
            };

            // featuredcontent, featured people and featuredworld random numbers
            var fcRnd = sakai.api.Util.generateWidgetId();
            var fpRnd = sakai.api.Util.generateWidgetId();
            var fwRnd = sakai.api.Util.generateWidgetId();
            privdata[rnd] = {
                page: "

"
            };
            privdata[fcRnd] = {
                category: navData.id,
                title: navData.title
            };
            privdata[fpRnd] = {
                category: navData.id,
                title: navData.title
            };
            privdata[fwRnd] = {
                category: navData.id,
                title: navData.title
            };

            var count = 0;
            $.each(navData.children, function(index, item){
                var rnd = sakai.api.Util.generateWidgetId();
                pubdata["structure0"][navData.id + "-" + index] = {
                    "_ref": rnd,
                    "_order": count,
                    "_title": item.title,
                    "main": {
                        "_ref": rnd,
                        "_order": 0,
                        "_title": item.title
                    }
                };

                // featuredcontent, featured people and featuredworld random numbers
                var fcRnd = sakai.api.Util.generateWidgetId();
                var fpRnd = sakai.api.Util.generateWidgetId();
                var fwRnd = sakai.api.Util.generateWidgetId();
                pubdata[rnd] = {
                    page: "

"
                };
                pubdata[fcRnd] = {
                    category: navData.id + "-" + index,
                    title: navData.title + " » " + item.title
                };
                pubdata[fpRnd] = {
                    category: navData.id + "-" + index,
                    title: navData.title + " » " + item.title
                };
                pubdata[fwRnd] = {
                    category: navData.id + "-" + index,
                    title: navData.title + " » " + item.title
                };

                count++;
            });
            $(window).trigger("lhnav.init", [pubdata, privdata, {}]);
        };

        /**
         * Get the category out of the URL and give it back
         * @return {Array} Array of strings representing the selected hierarchy
         */
        var getCategory = function(){
            var category = $.bbq.getState("l");
            if (category) {
                category = category.split("-");
            }
            return category;
        };

        var doInit = function(){
            var category = getCategory();
            if (!$.isArray(category) || !sakai.config.Directory[category[0]]){
                sakai.api.Security.send404();
                return false;
            }
            sakai.config.Directory[category[0]].id = category[0];
            generateNav(sakai.config.Directory[category[0]]);
            createBreadcrumb(sakai.config.Directory[category[0]], category);
        };

        $(window).bind("lhnav.ready", function(){
            doInit();
        });

        $(window).bind("hashchange", function(e, data){
            var category = getCategory();
            createBreadcrumb(sakai.config.Directory[category[0]], category);
        });

    };

    sakai.api.Widgets.Container.registerForLoad("category");
});

/*
 * Licensed to the Sakai Foundation (SF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The SF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */

require(["jquery","sakai/sakai.api.core"], function($, sakai) {

    sakai_global.content_profile = function(){

        var previous_content_path = false;
        var content_path = ""; // The current path of the content
        var ready_event_fired = 0;
        var list_event_fired = false;
        var intervalId;

        var showPreview = true;
        var collectionID = false;
        var collectionName = false;
        var isCollection = false;

        ///////////////////////////////
        // PRIVATE UTILITY FUNCTIONS //
        ///////////////////////////////

        /**
         * Load the content profile for the current content path
         * @param {Boolean} ignoreActivity Flag to also update activity data or not
         */
        var loadContentProfile = function(callback, ignoreActivity){
            // Check whether there is actually a content path in the URL
            if (content_path) {
                // Get the content information, the members and managers and version information
                sakai.api.Content.loadFullProfile(content_path, function(success, data){
                    if (success) {
                        if (data.results.hasOwnProperty(0)) {
                            var contentInfo = false;
                            if (data.results[0]["status"] === 404){
                                sakai.api.Security.send404();
                                return;
                            } else if (data.results[0]["status"] === 403){
                                sakai.api.Security.send403();
                                return;
                            } else {
                                contentInfo = $.parseJSON(data.results[0].body);
                                if (contentInfo["_mimeType"] && contentInfo["_mimeType"] === "x-sakai/document" || contentInfo["_mimeType"] && contentInfo["_mimeType"] === "x-sakai/collection"){
                                    showPreview = false;
                                } else {
                                    switchToOneColumnLayout(false);
                                }

                                var collectionId = $.bbq.getState("collectionId");
                                var collectionName = $.bbq.getState("collectionName");
                                var currentPath = $.bbq.getState("p");
                                if(collectionId && collectionName && currentPath){
                                    // Show go back to collection link
                                    $("#back_to_collection_button #collection_title").text(collectionName);
                                    $("#back_to_collection_button").attr("href", "/content#p=" + collectionId + "/" + sakai.api.Util.safeURL(collectionName) + "&item=" + currentPath.split("/")[0]);
                                    $("#back_to_collection_container").show("slow");
                                } else {
                                    $("#back_to_collection_container").hide("slow");
                                }
                            }
                        }

                        sakai.api.Content.parseFullProfile(data.results, function(parsedData){
                            parsedData.mode = "content";
                            sakai_global.content_profile.content_data = parsedData;
                            $(window).trigger("ready.contentprofile.sakai", sakai_global.content_profile.content_data);
                            if ($.isFunction(callback)) {
                                callback(true);
                            }
                            initEntityWidget();

                            if (!showPreview){
                                renderSakaiDoc(parsedData.data);
                            }
                        });
                    }
                });
            } else {
                sakai.api.Security.send404();
            }
        };

        var initEntityWidget = function(){
            if (sakai_global.content_profile.content_data) {
                var context = "content";
                if (sakai.data.me.user.anon) {
                    type = "content_anon";
                } else if (sakai_global.content_profile.content_data.isManager) {
                    type = "content_managed";
                } else if (sakai_global.content_profile.content_data.isViewer) {
                    type = "content_shared";
                } else {
                    type = "content_not_shared";
                }
                $(window).trigger("sakai.entity.init", [context, type, sakai_global.content_profile.content_data]);
            }
        };

        $(window).bind("sakai.entity.ready", function(){
            initEntityWidget();
        });

        $(window).bind("load.content_profile.sakai", function(e, callback) {
            loadContentProfile(callback);
        });

        var handleHashChange = function() {
            content_path = $.bbq.getState("p") || "";
            content_path = content_path.split("/");
            content_path = "/p/" + content_path[0];

            if (content_path != previous_content_path) {
                previous_content_path = content_path;
                globalPageStructure = false;
                loadContentProfile(function(){
                    // The request was successful so initialise the entity widget
                    if (sakai_global.entity && sakai_global.entity.isReady) {
                        $(window).trigger("render.entity.sakai", ["content", sakai_global.content_profile.content_data]);
                    }
                    else {
                        $(window).bind("ready.entity.sakai", function(e){
                            $(window).trigger("render.entity.sakai", ["content", sakai_global.content_profile.content_data]);
                            ready_event_fired++;
                        });
                    }
                    // The request was successful so initialise the relatedcontent widget
                    if (sakai_global.relatedcontent && sakai_global.relatedcontent.isReady) {
                        $(window).trigger("render.relatedcontent.sakai", sakai_global.content_profile.content_data);
                    }
                    else {
                        $(window).bind("ready.relatedcontent.sakai", function(e){
                            $(window).trigger("render.relatedcontent.sakai", sakai_global.content_profile.content_data);
                            ready_event_fired++;
                        });
                    }
                    // The request was successful so initialise the relatedcontent widget
                    if (sakai_global.contentpreview && sakai_global.contentpreview.isReady) {
                        if (showPreview) {
                            $(window).trigger("start.contentpreview.sakai", sakai_global.content_profile.content_data);
                        }
                    }
                    else {
                        $(window).bind("ready.contentpreview.sakai", function(e){
                            if (showPreview) {
                                $(window).trigger("start.contentpreview.sakai", sakai_global.content_profile.content_data);
                                ready_event_fired++;
                            }
                        });
                    }
                    // The request was successful so initialise the metadata widget
                    if (sakai_global.contentmetadata && sakai_global.contentmetadata.isReady) {
                        $(window).trigger("render.contentmetadata.sakai");
                    }
                    else {
                        $(window).bind("ready.contentmetadata.sakai", function(e){
                            $(window).trigger("render.contentmetadata.sakai");
                            ready_event_fired++;
                        });
                    }
                    sakai.api.Security.showPage();

                    if(sakai_global.content_profile.content_data.data._mimeType === "x-sakai/collection"){
                        $(".collectionviewer_carousel_item.selected").click();
                    }

                    // rerender comments widget
                    $(window).trigger("content_profile_hash_change");
                });
            }
            showPreview = true;
        };

        $("#entity_content_share").live("click", function(){
            $(window).trigger("init.sharecontent.sakai");
            return false;
        });

        $("#entity_content_add_to_library").live("click", function(){
            sakai.api.Content.addToLibrary(sakai_global.content_profile.content_data.data["_path"], sakai.data.me.user.userid, false, function(){
                $("#entity_content_add_to_library").hide();
                sakai.api.Util.notification.show($("#content_profile_add_library_title").html(), $("#content_profile_add_library_body").html());
            });
        });

        ////////////////////
        // Initialisation //
        ////////////////////

        /**
         * Initialise the content profile page
         */
        var init = function(){
            // Bind an event to window.onhashchange that, when the history state changes,
            // loads all the information for the current resource
            $(window).bind('hashchange', function(){
                handleHashChange();
            });
            handleHashChange();
        };

        // //////////////////////////
        // Dealing with Sakai docs //
        /////////////////////////////

        var globalPageStructure = false;

        var generateNav = function(pagestructure){
            if (pagestructure) {
                $(window).trigger("lhnav.init", [pagestructure, {}, {
                    parametersToCarryOver: {
                        "p": sakai_global.content_profile.content_data.content_path.replace("/p/", "")
                    }
                }, sakai_global.content_profile.content_data.content_path]);
            }
        };

        $(window).bind("lhnav.ready", function(){
            generateNav(globalPageStructure);
        });

        var getPageCount = function(pagestructure){
            var pageCount = 0;
            for (var tl in pagestructure["structure0"]){
                if (pagestructure["structure0"].hasOwnProperty(tl) && tl !== "_childCount"){
                    pageCount++;
                    if (pageCount >= 3){
                        return 3;
                    }
                    for (var ll in pagestructure["structure0"][tl]){
                        if (ll.substring(0,1) !== "_"){
                            pageCount++;
                            if (pageCount >= 3){
                                return 3;
                            }
                        }
                    }
                }
            }
            return pageCount;
        };

        $(window).bind("sakai.contentauthoring.needsTwoColumns", function(){
            switchToTwoColumnLayout(true);
        });

        $(window).bind("sakai.contentauthoring.needsOneColumn", function(){
            switchToOneColumnLayout(true);
        });

        var setManagerProperty = function(structure, value){
            for (var i in structure){
                if (structure.hasOwnProperty(i)){
                    structure[i]._canEdit = value;
                    structure[i]._canSubedit = value;
                }
            }
            return structure;
        };

        var renderSakaiDoc = function(pagestructure){
            pagestructure = sakai.api.Server.cleanUpSakaiDocObject(pagestructure);
            pagestructure.structure0 = setManagerProperty(pagestructure.structure0, sakai_global.content_profile.content_data.isManager);
            if (getPageCount(pagestructure) >= 3){
                switchToTwoColumnLayout(true);
            } else {
                switchToOneColumnLayout(true);
            }
            globalPageStructure = pagestructure;
            generateNav(pagestructure);
        };

        var switchToTwoColumnLayout = function(isSakaiDoc){
            $("#content_profile_left_column").show();
            $("#content_profile_main_container").addClass("s3d-twocolumn");
            $("#content_profile_right_container").addClass("s3d-page-column-right");
            $("#content_profile_right_container").removeClass("s3d-page-fullcolumn-padding");
            $("#content_profile_right_metacomments").removeClass("fl-container-650");
            $("#content_profile_right_metacomments").addClass("fl-container-450");
            if (isSakaiDoc){
                $("#content_profile_preview_container").hide();
                $("#content_profile_sakaidoc_container").show();
            } else {
                $("#content_profile_preview_container").show();
                $("#content_profile_sakaidoc_container").hide();
            }
        };

        var switchToOneColumnLayout = function(isSakaiDoc){
            $("#content_profile_left_column").hide();
            $("#content_profile_main_container").removeClass("s3d-twocolumn");
            $("#content_profile_right_container").removeClass("s3d-page-column-right");
            $("#content_profile_right_container").addClass("s3d-page-fullcolumn-padding");
            $("#content_profile_right_metacomments").addClass("fl-container-650");
            $("#content_profile_right_metacomments").removeClass("fl-container-450");
            if (isSakaiDoc){
                $("#content_profile_preview_container").hide();
                $("#content_profile_sakaidoc_container").show();
            } else {
                $("#content_profile_preview_container").show();
                $("#content_profile_sakaidoc_container").hide();
            }
        };

        // Initialise the content profile page
        init();

    };

    sakai.api.Widgets.Container.registerForLoad("content_profile");
});

/*
 * Licensed to the Sakai Foundation (SF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The SF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */

require(["jquery","sakai/sakai.api.core"], function($, sakai) {

    sakai_global.createnew = function() {

        var pubdata = {
            "structure0": {}
        };

        for (var i = 0; i < sakai.config.worldTemplates.length; i++){
            var category = sakai.config.worldTemplates[i];
            pubdata.structure0[category.id] = {
                "_order": i,
                "_title": sakai.api.i18n.getValueForKey(category.title),
                "_ref": category.id
            };
            pubdata[category.id] = {
                "page": "

"
            };
        }

        var generateNav = function(){
            $(window).trigger("lhnav.init", [pubdata, {}, {}]);
        };

        var renderCreateGroup = function(){
            $(window).trigger("sakai.newcreategroup.init");
        };

        $(window).bind("lhnav.ready", function(){
            generateNav();
        });

        $(window).bind("newcreategroup.ready", function(){
            renderCreateGroup();
        });

        generateNav();

    };

    sakai.api.Widgets.Container.registerForLoad("createnew");
});

/*
 * Licensed to the Sakai Foundation (SF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The SF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */

require(["jquery","sakai/sakai.api.core"], function($, sakai) {

    sakai_global.search = function() {
        var worldsOrderIncrement = 3;
        var searchButton = "#form .s3d-search-button";
        var searchInput = "#form .s3d-search-inputfield";
        var searchUrl = sakai.config.URL.SEARCH_URL;
        var pubdata = {
            "structure0": {
                "all": {
                    "_ref": "id9574379429432",
                    "_order": 0,
                    "_title": sakai.api.i18n.getValueForKey("ALL_TYPES"),
                    "_url": searchUrl,
                    "main": {
                        "_ref": "id9574379429432",
                        "_order": 0,
                        "_title": sakai.api.i18n.getValueForKey("ALL_TYPES"),
                        "_url": searchUrl
                    }
                },
                "content": {
                    "_ref": "id6573920372",
                    "_order": 1,
                    "_title": sakai.api.i18n.getValueForKey("CONTENT"),
                    "_url": searchUrl,
                    "main": {
                        "_ref": "id6573920372",
                        "_order": 0,
                        "_title": sakai.api.i18n.getValueForKey("CONTENT"),
                        "_url": searchUrl
                    }
                },
                "people": {
                    "_title": sakai.api.i18n.getValueForKey("PEOPLE"),
                    "_ref": "id49294509202",
                    "_order": 2,
                    "_url": searchUrl,
                    "main": {
                        "_ref": "id49294509202",
                        "_order": 0,
                        "_title": sakai.api.i18n.getValueForKey("PEOPLE"),
                        "_url": searchUrl
                     }
                }
            },
            "id9574379429432": {
                "page": "

"
            },
            "id6573920372": {
                "page": "

"
            },
            "id49294509202": {
                "page": "

"
            }
        };

        for (var c = 0; c < sakai.config.worldTemplates.length; c++) {
            var category = sakai.config.worldTemplates[c];
            var refId = sakai.api.Util.generateWidgetId();
            var title = sakai.api.i18n.getValueForKey(category.titlePlural);
            pubdata.structure0[category.id] = {
                "_title": title,
                "_ref": refId,
                "_order": (c + worldsOrderIncrement),
                "_url": searchUrl,
                "main": {
                    "_ref": refId,
                    "_order": 0,
                    "_title": title,
                    "_url": searchUrl
                }
            };
            var searchWidgetId = sakai.api.Util.generateWidgetId();
            pubdata[refId] = {
                "page": "

"
            };
            pubdata[searchWidgetId] = {
                "category": category.id
            };
        }

        var fireSearch = function(){
            $.bbq.pushState({
                "q": $(searchInput).val(),
                "cat": "",
                "refine": $.bbq.getState("refine")
            }, 0);
        };

        ///////////////////
        // Event binding //
        ///////////////////

        var eventBinding = function(){
            $(searchInput).on("keydown", function(ev){
                if (ev.keyCode === 13) {
                    fireSearch();
                }
            });

            $(searchButton).on("click", function(ev){
                fireSearch();
            });
        };

        var generateNav = function(){
            $(window).trigger("lhnav.init", [pubdata, {}, {}]);
        };

        var renderEntity = function(){
            $(window).trigger("sakai.entity.init", ["search"]);
        };

        $(window).bind("sakai.entity.ready", function(){
            renderEntity();
        });

        $(window).bind("lhnav.ready", function(){
            generateNav();
        });

        renderEntity();
        generateNav();
        eventBinding();

    };

    sakai.api.Widgets.Container.registerForLoad("search");
});

/*
 * Licensed to the Sakai Foundation (SF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The SF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */

require(["jquery","sakai/sakai.api.core"], function($, sakai) {

    sakai_global.profile = sakai_global.profile || {};
    sakai_global.profile.main = sakai_global.profile.main || {};
    $.extend(true, sakai_global.profile.main, {
        config: sakai.config.Profile.configuration.defaultConfig,
        data: {},
        mode: {
            options: ["view", "edit"],
            value: "view"
        }
    });

    sakai_global.user = function() {

        var privdata = false;
        var pubdata = false;
        var privurl = false;
        var puburl = false;
        var messageCounts = false;
        var isMe = false;
        var entityID = false;
        var isContact = false;

        var contextType = false;
        var contextData = false;

        var setupProfileSection = function( title, section ) {
            var ret = {
                _ref: sakai.api.Util.generateWidgetId(),
                _order: section.order,
                _altTitle: section.label,
                _title: section.label,
                _nonEditable: true,
                _view: section.permission
            };
            // _reorderOnly is only true for the basic profile
            ret._reorderOnly = title === "basic";
            return ret;
        };

        var setupProfile = function( structure, isMe ) {
            var firstWidgetRef = "";
            var profilestructure = {
                _title: structure.structure0.profile._title,
                _altTitle: structure.structure0.profile._altTitle,
                _order: structure.structure0.profile._order
            };
            if ( isMe ) {
                profilestructure["_canEdit"] = true;
                profilestructure["_nonEditable"] = true;
                profilestructure["_reorderOnly"] = true;
                profilestructure["_canSubedit"] = true;
            }
            var newProfile = true;
            $.each( structure.structure0.profile, function( key, section ) {
                if ( $.isPlainObject( section ) ) {
                    newProfile = false;
                }
            });
            if ( newProfile ) {
                structure.structure0.profile = {};
            }
            var initialProfilePost = [];
            var paths = [];
            var permissions = [];
            var updateStructure = false;
            $.each(sakai.config.Profile.configuration.defaultConfig, function(title, section) {
                var widgetUUID = sakai.api.Util.generateWidgetId();
                if ( !newProfile && structure.structure0.profile.hasOwnProperty( title ) ) {
                    profilestructure[ title ] = structure.structure0.profile[ title ];
                } else if ( newProfile || !structure.structure0.profile.hasOwnProperty( title )) {
                    profilestructure[ title ] = setupProfileSection( title, section );
                    if (title !== "basic"){
                        paths.push("/~" + sakai.data.me.user.userid + "/public/authprofile/" + title);
                        permissions.push(section.permission);
                    }
                    if (section.order === 0) {
                        firstWidgetRef = profilestructure[ title ]._ref;
                    }
                    initialProfilePost.push({
                        "url": "/~" + sakai.data.me.user.userid + "/public/authprofile/" + title,
                        "method": "POST",
                        "parameters": {
                            "init": true
                        }
                    });
                }
                // Don't need to use these from the profile, gives us more flexibility on the profile itself
                structure[ profilestructure[ title ]._ref ] = {
                    page: "<div id='widget_displayprofilesection_" + widgetUUID + "' class='widget_inline'/>"
                };
                structure[ widgetUUID ] = {
                    sectionid: title
                };
            });

            // Eliminate extra sections in the profile that are hanging around
            $.each( structure.structure0.profile, function( section_title, section_data ) {
                if ( $.isPlainObject( section_data ) && !profilestructure.hasOwnProperty( section_title ) ) {
                    initialProfilePost.push({
                        "url": "/~" + sakai.data.me.user.userid + "/public/authprofile/" + section_title,
                        "method": "POST",
                        "parameters": {
                            ":operation": "delete"
                        }
                    });
                }
            });

            if ( isMe && initialProfilePost.length ) {
                updateStructure = true;
                sakai.api.Server.batch(initialProfilePost, function(success, data){
                    if (success) {
                        sakai.api.Content.setACLsOnPath(paths, permissions, sakai.data.me.user.userid, function(success){
                            if (!success){
                                debug.error("Error setting initial profile ACLs");
                            }
                        });
                    } else {
                        debug.error("Error saving initial profile fields");
                    }
                });
            }

            structure.structure0.profile = profilestructure;
            structure.structure0.profile._ref = firstWidgetRef;
            return updateStructure;
        };

        var continueLoadSpaceData = function(userid){
            var publicToStore = false;
            var privateToStore = false;

            // Load public data from /~userid/private/pubspace
            sakai.api.Server.loadJSON(puburl, function(success, data){
                if (!success){
                    pubdata = $.extend(true, {}, sakai.config.defaultpubstructure);
                    var refid = {"refid": sakai.api.Util.generateWidgetId()};
                    pubdata = sakai.api.Util.replaceTemplateParameters(refid, pubdata);
                } else {
                    pubdata = data;
                    pubdata = sakai.api.Server.cleanUpSakaiDocObject(pubdata);
                }
                if (!isMe){
                    pubdata.structure0 = setManagerProperty(pubdata.structure0, false);
                    for (var i in pubdata.structure0) {
                        if (pubdata.structure0.hasOwnProperty(i)){
                            pubdata.structure0[i] = determineUserAreaPermissions(pubdata.structure0[i]);
                        }
                    }
                }
                if ( pubdata.structure0.profile && setupProfile( pubdata, isMe ) ) {
                    publicToStore = $.extend(true, {}, pubdata);
                }
                if (isMe){
                    sakai.api.Server.loadJSON(privurl, function(success2, data2){
                        if (!success2){
                            privdata = $.extend(true, {}, sakai.config.defaultprivstructure);
                            var refid = {"refid": sakai.api.Util.generateWidgetId()};
                            privdata = sakai.api.Util.replaceTemplateParameters(refid, privdata);
                            privateToStore = $.extend(true, {}, privdata);
                        } else {
                            privdata = data2;
                            privdata = sakai.api.Server.cleanUpSakaiDocObject(privdata);
                        }
                        if (publicToStore) {
                            if ($.isPlainObject(publicToStore.structure0)) {
                                publicToStore.structure0 = $.toJSON(publicToStore.structure0);
                            }
                            sakai.api.Server.saveJSON(puburl, publicToStore);
                        }
                        if (privateToStore) {
                            if ($.isPlainObject(privateToStore.structure0)) {
                                privateToStore.structure0 = $.toJSON(privateToStore.structure0);
                            }
                            sakai.api.Server.saveJSON(privurl, privateToStore);
                        }
                        pubdata.structure0 = setManagerProperty(pubdata.structure0, true);
                        generateNav();
                    });
                } else {
                    generateNav();
                }
            });
        };

        var loadSpaceData = function(){
            var userid;
            if (!entityID || entityID == sakai.data.me.user.userid) {
                isMe = true;
                userid = sakai.data.me.user.userid;
            } else {
                userid = entityID;
            }
            privurl = "/~" + sakai.api.Util.safeURL(userid) + "/private/privspace";
            puburl = "/~" + sakai.api.Util.safeURL(userid) + "/public/pubspace";
            if (isMe){
                sakai.api.Communication.getUnreadMessagesCountOverview("inbox", function(success, counts){
                    messageCounts = counts;
                    continueLoadSpaceData(userid);
                });
            } else {
                continueLoadSpaceData(userid);
            }

        };

        var addCounts = function(){
            if (pubdata && pubdata.structure0) {
                if (contextData && contextData.profile && contextData.profile.counts) {
                    addCount(pubdata, "library", contextData.profile.counts["contentCount"]);
                    addCount(pubdata, "memberships", contextData.profile.counts["membershipsCount"]);
                    if (isMe) {
                        var contactCount = 0;
                        // determine the count of contacts to list in lhnav
                        if (sakai.data.me.contacts.ACCEPTED && sakai.data.me.contacts.INVITED){
                            contactCount = sakai.data.me.contacts.ACCEPTED + sakai.data.me.contacts.INVITED;
                        } else if (sakai.data.me.contacts.ACCEPTED){
                            contactCount = sakai.data.me.contacts.ACCEPTED;
                        } else if (sakai.data.me.contacts.INVITED){
                            contactCount = sakai.data.me.contacts.INVITED;
                        }
                        addCount(pubdata, "contacts", contactCount);
                        addCount(privdata, "messages", sakai.data.me.messages.unread);
                        if (messageCounts && messageCounts.count && messageCounts.count.length) {
                            for (var i = 0; i < messageCounts.count.length; i++) {
                                if (messageCounts.count[i].group && messageCounts.count[i].group === "message") {
                                    addCount(privdata, "messages/inbox", messageCounts.count[i].count);
                                }
                                if (messageCounts.count[i].group && messageCounts.count[i].group === "invitation") {
                                    addCount(privdata, "messages/invitations", messageCounts.count[i].count);
                                }
                            }
                        }
                    } else {
                        addCount(pubdata, "contacts", contextData.profile.counts["contactsCount"]);
                    }
                }
            }
        };

        var determineUserAreaPermissions = function(structure){
            var permission = structure._view || "anonymous";
            if (permission === "contacts" && isContact) {
                structure._canView = true;
            } else if (permission === "everyone" && !sakai.data.me.user.anon) {
                structure._canView = true;
            } else if (permission === "anonymous") {
                structure._canView = true;
            } else {
                structure._canView = false;
            }
            for (var i in structure) {
                if (structure.hasOwnProperty(i) && i.substring(0, 1) !== "_") {
                    structure[i] = determineUserAreaPermissions(structure[i]);
                }
            }
            return structure;
        };

        var setManagerProperty = function(structure, value){
            for (var i in structure){
                if (structure.hasOwnProperty(i) && i.substring(0, 1) !== "_" && typeof structure[i] === "object") {
                    structure[i]._canEdit = value;
                    structure[i]._canSubedit = value;
                    structure[i] = setManagerProperty(structure[i], value);
                }
            }
            return structure;
        };

        var addCount = function(pubdata, pageid, count){
            if (pageid.indexOf("/") !== -1) {
                var split = pageid.split("/");
                if (pubdata.structure0 && pubdata.structure0[split[0]] && pubdata.structure0[split[0]][split[1]]) {
                    pubdata.structure0[split[0]][split[1]]._count = count;
                }
            } else {
                if (pubdata.structure0 && pubdata.structure0[pageid]) {
                    pubdata.structure0[pageid]._count = count;
                }
            }
        };

        var getUserPicture = function(profile, userid){
            var picture = "";
            if (profile.picture) {
                var picture_name = $.parseJSON(profile.picture).name;
                picture = "/~" + sakai.api.Util.safeURL(userid) + "/public/profile/" + picture_name;
            }
            return picture;
        };

        var determineContext = function(){
            entityID = sakai.api.Util.extractEntity(window.location.pathname);
            if (entityID && entityID !== sakai.data.me.user.userid){
                sakai.api.User.getUser(entityID, getProfileData);
            } else if (!sakai.data.me.user.anon){
                if (entityID){
                    document.location = "/me" + window.location.hash;
                    return;
                }
                sakai.api.Security.showPage();
                contextType = "user_me";
                // Set the profile data object
                sakai_global.profile.main.data = $.extend(true, {}, sakai.data.me.profile);
                sakai_global.profile.main.mode.value = "edit";
                contextData = {
                    "profile": sakai.data.me.profile,
                    "displayName": sakai.api.User.getDisplayName(sakai.data.me.profile),
                    "userid": sakai.data.me.user.userid,
                    "picture": getUserPicture(sakai.data.me.profile, sakai.data.me.user.userid),
                    "addArea": "user"
                };
                document.title = document.title + " " + sakai.api.Util.Security.unescapeHTML(contextData.displayName);
                renderEntity();
                loadSpaceData();
            } else {
                sakai.api.Security.sendToLogin();
            }
        };

        var getProfileData = function(exists, profile){
            if (!profile) {
                sakai.api.Security.sendToLogin();
            } else {
                sakai.api.Security.showPage();
                // Set the profile data object
                sakai_global.profile.main.data = $.extend(true, {}, profile);
                contextData = {
                    "profile": profile,
                    "displayName": sakai.api.User.getDisplayName(profile),
                    "userid": entityID,
                    "altTitle": true,
                    "picture": getUserPicture(profile, entityID)
                };
                document.title = document.title + " " + sakai.api.Util.Security.unescapeHTML(contextData.displayName);
                if (sakai.data.me.user.anon) {
                    contextType = "user_anon";
                    renderEntity();
                    loadSpaceData();
                } else {
                    sakai.api.User.getContacts(checkContact);
                }
            }
        };

        var checkContact = function(){
            var contacts = sakai.data.me.mycontacts;
            var isContactInvited = false;
            var isContactPending = false;
            for (var i = 0; i < contacts.length; i++){
                if (contacts[i].profile.userid === entityID){
                    if (contacts[i].details["sakai:state"] === "ACCEPTED") {
                        isContact = true;
                    } else if (contacts[i].details["sakai:state"] === "INVITED"){
                        isContactInvited = true;
                    } else if (contacts[i].details["sakai:state"] === "PENDING"){
                        isContactPending = true;
                    }
                }
            }
            if (isContact){
                contextType = "contact";
            } else if (isContactInvited){
                contextType = "contact_invited";
            } else if (isContactPending){
                contextType = "contact_pending";
            } else {
                contextType = "user_other";
            }
            renderEntity();
            loadSpaceData();
        };

        var generateNav = function(){
            addCounts();
            sakai_global.user.pubdata = pubdata;
            if (contextType && contextType === "user_me" && contextData && pubdata && privdata) {
                $(window).trigger("lhnav.init", [pubdata, privdata, contextData, puburl, privurl]);
            } else if (contextType && contextType !== "user_me" && contextData && pubdata) {
                $(window).trigger("lhnav.init", [pubdata, false, contextData, puburl, privurl]);
            }
        };

        var renderEntity = function(){
            if (contextType && contextData) {
                $(window).trigger("sakai.entity.init", ["user", contextType, contextData]);
            }
        };

        var showWelcomeNotification = function(){
            var querystring = new Querystring();
            if (querystring.contains("welcome") && querystring.get("welcome") === "true" && !sakai.data.me.user.anon){
                sakai.api.Util.notification.show(sakai.api.i18n.getValueForKey("WELCOME") + " " + sakai.data.me.profile.basic.elements.firstName.value,sakai.api.i18n.getValueForKey("YOU_HAVE_CREATED_AN_ACCOUNT"));
            }
        };

        $(window).bind("sakai.addToContacts.requested", function(ev, userToAdd){
            $('.sakai_addtocontacts_overlay').each(function(index) {
                if (entityID && entityID !== sakai.data.me.user.userid){
                    contextType = "contact_pending";
                    renderEntity();
                }
            });
        });

        $("#entity_user_accept_invitation").live("click", function(){
            sakai.api.User.acceptContactInvite(contextData.userid);
            contextType = "contact";
            renderEntity();
        });

        $(window).bind("sakai.entity.ready", function(){
            renderEntity();
        });

        $(window).bind("lhnav.ready", function(){
            generateNav();
        });

        $(window).bind("updated.counts.lhnav.sakai", function(){
            sakai.api.User.getUpdatedCounts(sakai.data.me, function(success){
                renderEntity();
                generateNav();
            });
        });

        $(window).bind("done.newaddcontent.sakai", function(e, data, library) {
            if (isMe && data && data.length && library === sakai.data.me.user.userid) {
                $(window).trigger("lhnav.updateCount", ["library", data.length]);
            }
        });

        $(window).bind("updated.messageCount.sakai", function(){
            if (isMe){
                sakai.api.Communication.getUnreadMessagesCountOverview("inbox", function(success, counts){
                    messageCounts = counts;
                    var totalCount = 0;
                    // The structure of these objects make for O(n^2) comparison :(
                    $.each(messageCounts.count, function(index, countObj){
                        var pageid = "messages/";
                        if (countObj.group === "message"){
                            pageid += "inbox";
                        } else if (countObj.group === "invitation"){
                            pageid += "invitations";
                        }
                        totalCount += countObj.count;
                        $(window).trigger("lhnav.updateCount", [pageid, countObj.count, false]);
                    });
                    $(window).trigger("lhnav.updateCount", ["messages", totalCount, false]);
                }, false);
            }
        });

        determineContext();
        renderEntity();
        generateNav();
        showWelcomeNotification();

    };

    sakai.api.Widgets.Container.registerForLoad("user");
});

/*
 * Licensed to the Sakai Foundation (SF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The SF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */
define(function(){
    var config = {
        URL: {
            // Static URLs
            GATEWAY_URL: "/",
            GROUP_DEFAULT_ICON_URL: "/dev/images/group_avatar_icon_64x64_nob.png",
            GROUP_DEFAULT_ICON_URL_LARGE: "/dev/images/group_avatar_icon_100x100_nob.png",
            I10N_BUNDLE_URL: "/dev/lib/misc/l10n/cultures/globalize.culture.__CODE__.js",
            I18N_BUNDLE_ROOT: "/dev/bundle/",
            INBOX_URL: "/me#l=messages/inbox",
            INVITATIONS_URL: "/me#l=messages/invitations",
            LOGOUT_URL: "/logout",
            MY_DASHBOARD_URL: "/me#l=dashboard",
            PROFILE_EDIT_URL: "/me#l=profile/basic",
            SEARCH_ACTIVITY_ALL_URL: "/var/search/activity/all.json",
            SEARCH_URL: "/search",
            TINY_MCE_CONTENT_CSS: "/dev/css/FSS/fss-base.css,/dev/css/sakai/main.css,/dev/css/sakai/sakai.corev1.css,/dev/css/sakai/sakai.base.css,/dev/css/sakai/sakai.editor.css,/dev/css/sakai/sakai.content_profile.css",
            USER_DEFAULT_ICON_URL: "/dev/images/default_User_icon_50x50.png",
            USER_DEFAULT_ICON_URL_LARGE: "/dev/images/default_User_icon_100x100.png",
            INFINITE_LOADING_ICON: "/dev/images/Infinite_Scrolling_Loader_v01.gif",

            // Services
            BATCH: "/system/batch",
            CAPTCHA_SERVICE: "/system/captcha",
            CONTACTS_FIND: "/var/contacts/find.json",
            CONTACTS_FIND_STATE: "/var/contacts/findstate.json",
            CONTACTS_FIND_ALL: "/var/contacts/find-all.json",
            CREATE_USER_SERVICE: "/system/userManager/user.create.html",
            DISCUSSION_GETPOSTS_THREADED: "/var/search/discussions/threaded.json?path=__PATH__&marker=__MARKER__",
            GOOGLE_CHARTS_API: "http://chart.apis.google.com/chart",
            GROUP_CREATE_SERVICE: "/system/userManager/group.create.json",
            GROUPS_MANAGER: "/system/me/managedgroups.json",
            GROUPS_MEMBER: "/system/me/groups.json",
            IMAGE_SERVICE: "/var/image/cropit",
            LOGIN_SERVICE: "/system/sling/formlogin",
            LOGOUT_SERVICE: "/system/sling/logout?resource=/index",
            ME_SERVICE: "/system/me",
            MESSAGE_BOX_SERVICE: "/var/message/box.json",
            MESSAGE_BOXCATEGORY_SERVICE: "/var/message/boxcategory.json",
            MESSAGE_BOXCATEGORY_ALL_SERVICE: "/var/message/boxcategory-all.json",
            POOLED_CONTENT_MANAGER: "/var/search/pool/me/manager.json",
            POOLED_CONTENT_MANAGER_ALL: "/var/search/pool/me/manager-all.json",
            POOLED_CONTENT_VIEWER: "/var/search/pool/me/viewer.json",
            POOLED_CONTENT_VIEWER_ALL: "/var/search/pool/me/viewer-all.json",
            POOLED_CONTENT_SPECIFIC_USER: "/var/search/pool/manager-viewer.json",
            POOLED_CONTENT_ACTIVITY_FEED: "/var/search/pool/activityfeed.json",
            PRESENCE_SERVICE: "/var/presence.json",
            SAKAI2_TOOLS_SERVICE: "/var/proxy/s23/site.json?siteid=__SITEID__",
            WORLD_CREATION_SERVICE: "/system/world/create",
            WORLD_INFO_URL: "/var/templates/worlds.2.json",

            // Replace these in widgets with proper widgetsave functions from magic
            SEARCH_ALL_ENTITIES: "/var/search/general.json",
            SEARCH_ALL_ENTITIES_ALL: "/var/search/general-all.json",
            SEARCH_ALL_FILES: "/var/search/pool/all.json",
            SEARCH_ALL_FILES_ALL: "/var/search/pool/all-all.json",
            SEARCH_MY_BOOKMARKS: "/var/search/files/mybookmarks.json",
            SEARCH_MY_BOOKMARKS_ALL: "/var/search/files/mybookmarks-all.json",
            SEARCH_MY_CONTACTS: "/var/search/files/mycontacts.json",
            SEARCH_MY_FILES: "/var/search/files/myfiles.json",
            SEARCH_MY_FILES_ALL: "/var/search/files/myfiles-all.json",
            SEARCH_GROUP_MEMBERS: "/var/search/groupmembers.json",
            SEARCH_GROUP_MEMBERS_ALL: "/var/search/groupmembers-all.json",
            SEARCH_GROUPS: "/var/search/groups.infinity.json",
            SEARCH_GROUPS_ALL: "/var/search/groups-all.json",
            SEARCH_USERS_ACCEPTED: "/var/contacts/findstate.infinity.json",
            SEARCH_USERS: "/var/search/users.infinity.json",
            SEARCH_USERS_ALL: "/var/search/users-all.json",
            SEARCH_USERS_GROUPS: "/var/search/usersgroups.json",
            SEARCH_USERS_GROUPS_ALL: "/var/search/usersgroups-all.json",
            USER_CHANGEPASS_SERVICE: "/system/userManager/user/__USERID__.changePassword.html",
            USER_EXISTENCE_SERVICE: "/system/userManager/user.exists.html?userid=__USERID__"
        },

        PageTitles: {
            "prefix": "TITLE_PREFIX",
            "pages": {
                /**  403.html  **/
                /**  404.html  **/
                /**  500.html  **/
                /**  account_preferences.html  **/
                "/dev/account_preferences.html": "ACCOUNT_PREFERENCES",
                "/preferences": "ACCOUNT_PREFERENCES",
                /**  acknowledgements.html  **/
                "/dev/acknowledgements.html": "ACKNOWLEDGEMENTS",
                "/acknowledgements": "ACKNOWLEDGEMENTS",
                /**  allcategories.html  **/
                "/categories": "BROWSE_ALL_CATEGORIES",
                "/dev/allcategories.html": "BROWSE_ALL_CATEGORIES",
                /**  category.html  **/
                /**  content_profile.html  **/
                "/dev/content_profile.html": "CONTENT_PROFILE",
                "/content": "CONTENT_PROFILE",
                /**  create_new_account.html  **/
                "/dev/create_new_account.html": "CREATE_A_NEW_ACCOUNT",
                "/register": "CREATE_A_NEW_ACCOUNT",
                /**  explore.html  **/
                "/": "EXPLORE",
                "/dev": "EXPLORE",
                "/dev/": "EXPLORE",
                "/index.html": "EXPLORE",
                "/dev/explore.html": "EXPLORE",
                "/index": "EXPLORE",
                /**  logout.html  **/
                "/dev/logout.html": "LOGGING_OUT",
                "/logout": "LOGGING_OUT",
                /**  search.html  **/
                "/dev/search.html": "SEARCH",
                "/search": "SEARCH",
                /**  createnew.html  **/
                "/create": "CREATE"
            }
        },

        ErrorPage: {
            /*
             * These links are displayed in the 403 and 404 error pages.
             */
            Links: {
                whatToDo: [{
                    "title": "EXPLORE_THE_INSTITUTION",
                    "url": "/index"
                }, {
                    "title": "BROWSE_INSTITUTION_CATEGORIES",
                    "url": "/categories"
                }, {
                    "title": "VIEW_THE_INSTITUTION_WEBSITE",
                    "url": "http://sakaiproject.org/"
                }, {
                    "title": "VISIT_THE_SUPPORT_FORUM",
                    "url": "http://sakaiproject.org/"
                }],
                getInTouch: [{
                    "title": "SEND_US_YOUR_FEEDBACK",
                    "url": "http://sakaiproject.org/"
                }, {
                    "title": "CONTACT_SUPPORT",
                    "url": "http://sakaiproject.org/"
                }]
            }
        },

        Domain: {
            /*
             * These domain labels can be used anywhere on the site (i.e in the video
             * widget) to convert common domains into shorter, more readable labels
             * for display purposes.
             */
            Labels: {
                "youtube.com": "YouTube",
                "www.youtube.com": "YouTube",
                "youtube.co.uk": "YouTube",
                "www.youtube.co.uk": "YouTube",
                "vimeo.com": "Vimeo",
                "www.vimeo.com": "Vimeo",
                "vimeo.co.uk": "Vimeo",
                "www.vimeo.co.uk": "Vimeo",
                "video.google.com": "Google Video"
            }
        },

        SakaiDomain: window.location.protocol + "//" + window.location.host,

        Permissions: {
            /*
             * A collection of permission keys and range of values to be referenced
             * for making permissions decisions. The values of properties are only
             * for reference, may not match designs and are not to be placed in the
             * UI (message bundles should be used to match up-to-date designs).
             */
            Groups: {
                joinable: {
                    "manager_add": "no", // Managers add people
                    "user_direct": "yes", // People can automatically join
                    "user_request": "withauth" // People request to join
                },
                visible: {
                    "members": "members-only", // Group members only (includes managers)
                    "allusers": "logged-in-only", // All logged in users
                    "public": "public" // Anyone on the Internet
                },
                "defaultaccess": "public", // public, logged-in-only or members-only (see above for role description)
                "defaultjoin": "yes", // no, yes, or withauth (see above for descriptions)
                "addcontentmanagers": true // true, false. If set to yes, group managers will be added as manager for a file
                                           // added to a group library in context of that group
            },
            Content: {
                /*
                 * public - anyone
                 * everyone - logged in users
                 * private - private
                 */
                "defaultaccess": "public" // public, everyone or private (see above for role description)
            },
            Documents: {
                /*
                 * public - anyone
                 * everyone - logged in users
                 * private - private
                 */
                "defaultaccess": "public" // public, everyone or private (see above for role description)
            },
            Links: {
                "defaultaccess": "public" // public, everyone or private (see above for role description)
            },
            Copyright: {
                types: {
                    "creativecommons": {
                        "title": "CREATIVE_COMMONS_LICENSE"
                    },
                    "copyrighted": {
                        "title": "COPYRIGHTED"
                    },
                    "nocopyright": {
                        "title": "NO_COPYRIGHT"
                    },
                    "licensed": {
                        "title": "LICENSED"
                    },
                    "waivecopyright": {
                        "title": "WAIVE_COPYRIGHT"
                    }
                },
                defaults: {
                    "content": "creativecommons",
                    "sakaidocs": "creativecommons",
                    "links": "creativecommons",
                    "collections": "creativecommons"
                }
            }
        },

        allowPasswordChange: true,

        Profile: {
            /*
             * This is a collection of profile configuration functions and settings
             * The structure of the config object is identical to the storage object
             * When system/me returns profile data for the logged in user the profile_config and profile_data objects could be merged
             * "label": the internationalizable message for the entry label in HTML
             * "required": {Boolean} Whether the entry is compulsory or not
             * "display": {Boolean} Show the entry in the profile or not
             * "editable": {Boolean} Whether or not the entry is editable
             * For a date entry field use "date" as the type for MM/dd/yyyy and "dateITA" as the type for dd/MM/yyyy
             *
             */
            configuration: {

                defaultConfig: {

                    "basic": {
                        "label": "__MSG__PROFILE_BASIC_LABEL__",
                        "required": true,
                        "display": true,
                        "access": "everybody",
                        "modifyacl": false,
                        "permission": "anonymous",
                        "order": 0,
                        "elements": {
                            "firstName": {
                                "label": "__MSG__PROFILE_BASIC_FIRSTNAME_LABEL__",
                                "errorMessage": "__MSG__PROFILE_BASIC_FIRSTNAME_ERROR__",
                                "required": true,
                                "display": true,
                                "limitDisplayWidth": 300
                            },
                            "lastName": {
                                "label": "__MSG__PROFILE_BASIC_LASTNAME_LABEL__",
                                "errorMessage": "__MSG__PROFILE_BASIC_LASTNAME_ERROR__",
                                "required": true,
                                "display": true,
                                "limitDisplayWidth": 300
                            },
                            "picture": {
                                "label": "__MSG__PROFILE_BASIC_PICTURE_LABEL__",
                                "required": false,
                                "display": false
                            },
                            "preferredName": {
                                "label": "__MSG__PROFILE_BASIC_PREFERREDNAME_LABEL__",
                                "required": false,
                                "display": true
                            },
                            "email": {
                                "label": "__MSG__PROFILE_BASIC_EMAIL_LABEL__",
                                "errorMessage": "__MSG__PROFILE_BASIC_EMAIL_ERROR__",
                                "required": true,
                                "display": true,
                                "validation": "email"
                            },
                            "status": {
                                "label": "__MSG__PROFILE_BASIC_STATUS_LABEL__",
                                "required": false,
                                "display": false
                            },
                            "role": {
                                "label": "__MSG__PROFILE_BASIC_ROLE_LABEL__",
                                "required": false,
                                "display": true,
                                "type": "select",
                                "select_elements": {
                                    "academic_related_staff": "__MSG__PROFILE_BASIC_ROLE_ACADEMIC_RELATED_STAFF_LABEL__",
                                    "academic_staff": "__MSG__PROFILE_BASIC_ROLE_ACADEMIC_STAFF_LABEL__",
                                    "assistent_staff": "__MSG__PROFILE_BASIC_ROLE_ASSISTENT_STAFF_LABEL__",
                                    "graduate_student": "__MSG__PROFILE_BASIC_ROLE_GRADUATE_STUDENT_LABEL__",
                                    "undergraduate_student": "__MSG__PROFILE_BASIC_ROLE_UNDERGRADUATE_STUDENT_LABEL__",
                                    "non_academic_staff": "__MSG__PROFILE_BASIC_ROLE_NON_ACADEMIC_STAFF_LABEL__",
                                    "postgraduate_student": "__MSG__PROFILE_BASIC_ROLE_POSTGRADUATE_STUDENT_LABEL__",
                                    "research_staff": "__MSG__PROFILE_BASIC_ROLE_RESEARCH_STAFF_LABEL__",
                                    "other": "__MSG__PROFILE_BASIC_ROLE_OTHER_LABEL__"
                                }
                            },
                            "department": {
                                "label": "__MSG__PROFILE_BASIC_DEPARTMENT_LABEL__",
                                "required": false,
                                "display": true
                            },
                            "college": {
                                "label": "__MSG__PROFILE_BASIC_COLLEGE_LABEL__",
                                "required": false,
                                "display": true
                            },
                            "tags": {
                                "label": "__MSG__TAGS_AND_CATEGORIES__",
                                "required": false,
                                "display": true,
                                "type": "tags",
                                "tagField": true
                            }
                        }
                    },
                    "aboutme": {
                        "label": "__MSG__PROFILE_ABOUTME_LABEL__",
                        "required": true,
                        "display": true,
                        "access": "everybody",
                        "modifyacl": true,
                        "permission": "anonymous",
                        "order": 1,
                        "elements": {
                            "aboutme": {
                                "label": "__MSG__PROFILE_ABOUTME_LABEL__",
                                "required": false,
                                "display": true,
                                "type": "textarea"
                            },
                            "academicinterests": {
                                "label": "__MSG__PROFILE_ABOUTME_ACADEMICINTERESTS_LABEL__",
                                "required": false,
                                "display": true,
                                "type": "textarea"
                            },
                            "personalinterests": {
                                "label": "__MSG__PROFILE_ABOUTME_PERSONALINTERESTS_LABEL__",
                                "required": false,
                                "display": true,
                                "type": "textarea"
                            },
                            "hobbies": {
                                "label": "__MSG__PROFILE_ABOUTME_HOBBIES_LABEL__",
                                "required": false,
                                "display": true
                            }
                        }
                    },
                    "publications": {
                        "label": "__MSG__PROFILE_PUBLICATIONS_LABEL__",
                        "required": false,
                        "display": true,
                        "access": "everybody",
                        "modifyacl": true,
                        "permission": "anonymous",
                        "multiple": true,
                        "multipleLabel": "__MSG__PROFILE_PUBLICATION_LABEL__",
                        "order": 2,
                        //"template": "profile_section_publications_template",
                        "elements": {
                            "maintitle": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_MAIN_TITLE__",
                                "required": true,
                                "display": true,
                                "example": "__MSG__PROFILE_PUBLICATIONS_MAIN_TITLE_EXAMPLE__"
                            },
                            "mainauthor": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_MAIN_AUTHOR__",
                                "required": true,
                                "display": true
                            },
                            "coauthor": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_CO_AUTHOR__",
                                "required": false,
                                "display": true,
                                "example": "__MSG__PROFILE_PUBLICATIONS_CO_AUTHOR_EXAMPLE__"
                            },
                            "publisher": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_PUBLISHER__",
                                "required": true,
                                "display": true
                            },
                            "placeofpublication": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_PLACE_OF_PUBLICATION__",
                                "required": true,
                                "display": true
                            },
                            "volumetitle": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_VOLUME_TITLE__",
                                "required": false,
                                "display": true
                            },
                            "volumeinformation": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_VOLUME_INFORMATION__",
                                "required": false,
                                "display": true,
                                "example": "__MSG__PROFILE_PUBLICATIONS_VOLUME_INFORMATION_EXAMPLE__"
                            },
                            "year": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_YEAR__",
                                "required": true,
                                "display": true
                            },
                            "number": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_NUMBER__",
                                "required": false,
                                "display": true
                            },
                            "series title": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_SERIES_TITLE__",
                                "required": false,
                                "display": true
                            },
                            "url": {
                                "label": "__MSG__PROFILE_PUBLICATIONS_URL__",
                                "required": false,
                                "display": true,
                                "validation": "appendhttp url"
                            }
                        }
                    }
                }
            },
            /*
             * set what name to display where only the first name is used
             */
            userFirstNameDisplay: "firstName",

            /*
             * set how the user's name is displayed across the entire system
             * - values can be compound, like "firstName lastName" or singular like "displayName"
             */
            userNameDisplay: "firstName lastName",

            /*
             * the default, if the user doesn't have the userNameDisplay property set in their
             * profile, use this one.
             * Note: the value for userNameDisplay and this value can be the same.
             *       If neither exists, nothing will show
             */
            userNameDefaultDisplay: "firstName lastName",

            /*
             * Set the default user settings in account preferences for automatic tagging
             * and auto-tagged notifications
             */
            defaultAutoTagging: true,
            defaultSendTagMsg: true
        },

        Groups: {
            /*
             * Email message that will be sent to group managers when a user requests
             * to join their group.
             * ${user} will be replaced by the name of the requesting user and ${group}
             * will be replaced with the group name.
             */
            JoinRequest: {
                title: "${user} has requested to join your group: ${group}",
                body: "${user} has requested to join your group: ${group}. Use the links below to respond to this request."
            }
        },

        Relationships: {
            /*
             * Relationships used by the add contacts widget to define what relationship the contacts can have
             */
            "contacts": [{
                "name": "__MSG__CLASSMATE__",
                "definition": "__MSG__IS_MY_CLASSMATE__",
                "selected": true
            }, {
                "name": "__MSG__SUPERVISOR__",
                "inverse": "__MSG__SUPERVISED__",
                "definition": "__MSG__IS_MY_SUPERVISOR__",
                "selected": false
            }, {
                "name": "__MSG__SUPERVISED__",
                "inverse": "__MSG__SUPERVISOR__",
                "definition": "__MSG__IS_SUPERVISED_BY_ME__",
                "selected": false
            }, {
                "name": "__MSG__LECTURER__",
                "inverse": "__MSG__STUDENT__",
                "definition": "__MSG__IS_MY_LECTURER__",
                "selected": false
            }, {
                "name": "__MSG__STUDENT__",
                "inverse": "__MSG__LECTURER__",
                "definition": "__MSG__IS_MY_STUDENT__",
                "selected": false
            }, {
                "name": "__MSG__COLLEAGUE__",
                "definition": "__MSG__IS_MY_COLLEAGUE__",
                "selected": false
            }, {
                "name": "__MSG__COLLEGE_MATE__",
                "definition": "__MSG__IS_MY_COLLEGE_MATE__",
                "selected": false
            }, {
                "name": "__MSG__SHARES_INTERESTS__",
                "definition": "__MSG__SHARES_INTEREST_WITH_ME__",
                "selected": false
            }]
        },

        SystemTour: {
            "enableReminders": true,
            "reminderIntervalHours": "168"
        },

        enableBranding: true,

        // Set this to true if you have an authentication system such as CAS
        // that needs to redirect the user's browser on logout
        followLogoutRedirects: false,

        // Set this to the hostname of your CLE instance if you're using CAS
        // proxy tickets
        hybridCasHost: false,

        Messages: {
            Types: {
                inbox: "inbox",
                sent: "sent",
                trash: "trash"
            },
            Categories: {
                message: "Message",
                announcement: "Announcement",
                chat: "Chat",
                invitation: "Invitation"
            },
            Subject: "subject",
            Type: "type",
            Body: "body",
            To: "to",
            read: "read"
        },
        Extensions:{
            "docx":"application/doc",
            "doc":"application/doc",
            "odt":"application/doc",
            "ods":"application/vnd.ms-excel",
            "xls":"application/vnd.ms-excel",
            "xlsx":"application/vnd.ms-excel",
            "odp":"application/vnd.ms-powerpoint",
            "ppt":"application/vnd.ms-powerpoint",
            "pptx":"application/vnd.ms-powerpoint",
            "odg":"image/jpeg",
            "png":"image/png",
            "jp2":"images/jp2",
            "jpg":"image/jpeg",
            "jpeg":"image/jpeg",
            "bmp":"image/bmp",
            "gif":"image/gif",
            "tif":"image/tiff",
            "tiff":"images/tiff",
            "pdf":"application/x-pdf",
            "swf":"application/x-shockwave-flash",
            "flv":"video/x-msvideo",
            "mpg":"video/x-msvideo",
            "mpeg":"video/x-msvideo",
            "mp4":"video/x-msvideo",
            "avi":"video/x-msvideo",
            "mov":"video/x-msvideo",
            "txt":"text/rtf",
            "rtf":"text/rtf",
            "htm":"text/html",
            "html":"text/html",
            "wav": "audio/x-wav",
            "mp3": "audio/mpeg",
            "tar": "application/zip",
            "zip": "application/zip",
            "other":"other"
        },
        MimeTypes: {
            "application/doc": {
                cssClass: "icon-doc-sprite",
                URL: "/dev/images/mimetypes/doc.png",
                description: "WORD_DOCUMENT"
            },
            "application/msword": {
                cssClass: "icon-doc-sprite",
                URL: "/dev/images/mimetypes/doc.png",
                description: "WORD_DOCUMENT"
            },
            "application/vnd.openxmlformats-officedocument.wordprocessingml.document": {
                cssClass: "icon-doc-sprite",
                URL: "/dev/images/mimetypes/doc.png",
                description: "WORD_DOCUMENT"
            },
            "application/pdf": {
                cssClass: "icon-pdf-sprite",
                URL: "/dev/images/mimetypes/pdf.png",
                description: "PDF_DOCUMENT"
            },
            "application/x-download": {
                cssClass: "icon-pdf-sprite",
                URL: "/dev/images/mimetypes/pdf.png",
                description: "PDF_DOCUMENT"
            },
            "application/x-pdf": {
                cssClass: "icon-pdf-sprite",
                URL: "/dev/images/mimetypes/pdf.png",
                description: "PDF_DOCUMENT"
            },
            "application/vnd.ms-powerpoint": {
                cssClass: "icon-pps-sprite",
                URL: "/dev/images/mimetypes/pps.png",
                description: "POWERPOINT_DOCUMENT"
            },
            "application/vnd.openxmlformats-officedocument.presentationml.presentation": {
                cssClass: "icon-pps-sprite",
                URL: "/dev/images/mimetypes/pps.png",
                description: "POWERPOINT_DOCUMENT"
            },
            "application/vnd.oasis.opendocument.text": {
                cssClass: "icon-doc-sprite",
                URL: "/dev/images/mimetypes/doc.png",
                description: "OPEN_OFFICE_DOCUMENT"
            },
            "application/vnd.oasis.opendocument.presentation": {
                cssClass: "icon-pps-sprite",
                URL: "/dev/images/mimetypes/pps.png",
                description: "OPEN_OFFICE_PRESENTATION"
            },
            "application/vnd.oasis.opendocument.spreadsheet": {
                cssClass: "icon-pps-sprite",
                URL: "/dev/images/mimetypes/spreadsheet.png",
                description: "OPEN_OFFICE_SPREADSHEET"
            },

            "application/x-shockwave-flash": {
                cssClass: "icon-swf-sprite",
                URL: "/dev/images/mimetypes/swf.png",
                description: "FLASH_PLAYER_FILE"
            },
            "application/zip": {
                cssClass: "icon-zip-sprite",
                URL: "/dev/images/mimetypes/zip.png",
                description: "ARCHIVE_FILE"
            },
            "application/x-zip-compressed": {
                cssClass: "icon-zip-sprite",
                URL: "/dev/images/mimetypes/zip.png",
                description: "ARCHIVE_FILE"
            },
            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
                cssClass: "icon-spreadsheet-sprite",
                URL: "/dev/images/mimetypes/spreadsheet.png",
                description: "SPREADSHEET_DOCUMENT"
            },
            "application/vnd.ms-excel": {
                cssClass: "icon-spreadsheet-sprite",
                URL: "/dev/images/mimetypes/spreadsheet.png",
                description: "SPREADSHEET_DOCUMENT"
            },
            "audio/x-wav": {
                cssClass: "icon-audio-sprite",
                URL: "/dev/images/mimetypes/sound.png",
                description: "SOUND_FILE"
            },
            "audio/mpeg": {
                cssClass: "icon-audio-sprite",
                URL: "/dev/images/mimetypes/sound.png",
                description: "SOUND_FILE"
            },
            "text/plain": {
                cssClass: "icon-txt-sprite",
                URL: "/dev/images/mimetypes/txt.png",
                description: "TEXT_DOCUMENT"
            },
            "text/rtf": {
                cssClass: "icon-txt-sprite",
                URL: "/dev/images/mimetypes/txt.png",
                description: "TEXT_DOCUMENT"
            },
            "image/png": {
                cssClass: "icon-image-sprite",
                URL: "/dev/images/mimetypes/images.png",
                description: "PNG_IMAGE"
            },
            "image/bmp": {
                cssClass: "icon-image-sprite",
                URL: "/dev/images/mimetypes/images.png",
                description: "BMP_IMAGE"
            },
            "image/gif": {
                cssClass: "icon-image-sprite",
                URL: "/dev/images/mimetypes/images.png",
                description: "GIF_IMAGE"
            },
            "image/jp2": {
                cssClass: "icon-image-sprite",
                URL: "/dev/images/mimetypes/images.png",
                description: "JPG2000_IMAGE"
            },
            "image/jpeg": {
                cssClass: "icon-image-sprite",
                URL: "/dev/images/mimetypes/images.png",
                description: "JPG_IMAGE"
            },
            "image/pjpeg": {
                cssClass: "icon-image-sprite",
                URL: "/dev/images/mimetypes/images.png",
                description: "JPG_IMAGE"
            },
            "image/tiff": {
                cssClass: "icon-image-sprite",
                URL: "/dev/images/mimetypes/images.png",
                description: "TIFF_IMAGE"
            },
            "text/html": {
                cssClass: "icon-html-sprite",
                URL: "/dev/images/mimetypes/html.png",
                description: "HTML_DOCUMENT"
            },
            "video/x-msvideo": {
                cssClass: "icon-video-sprite",
                URL: "/dev/images/mimetypes/video.png",
                description: "VIDEO_FILE"
            },
            "video/mp4": {
                cssClass: "icon-video-sprite",
                URL: "/dev/images/mimetypes/video.png",
                description: "VIDEO_FILE"
            },
            "video/quicktime": {
                cssClass: "icon-video-sprite",
                URL: "/dev/images/mimetypes/video.png",
                description: "VIDEO_FILE"
            },
            "video/x-ms-wmv": {
                cssClass: "icon-video-sprite",
                URL: "/dev/images/mimetypes/video.png",
                description: "VIDEO_FILE"
            },
            "folder": {
                cssClass: "icon-kmultiple-sprite",
                URL: "/dev/images/mimetypes/kmultiple.png",
                description: "FOLDER"
            },
            "x-sakai/link": {
                cssClass: "icon-url-sprite",
                URL: "/dev/images/mimetypes/html.png",
                description: "URL_LINK"
            },
            "x-sakai/document": {
                cssClass: "icon-sakaidoc-sprite",
                URL: "/dev/images/mimetypes/sakaidoc.png",
                description: "DOCUMENT"
            },
            "x-sakai/collection": {
                cssClass: "icon-collection-sprite",
                URL: "/dev/images/mimetypes/collection2.png",
                description: "COLLECTION"
            },
            "kaltura/video": {
                cssClass: "icon-video-sprite",
                URL: "/dev/images/mimetypes/video.png",
                description: "VIDEO_FILE"
            },
            "kaltura/audio": {
                cssClass: "icon-sound-sprite",
                URL: "/dev/images/mimetypes/sound.png",
                description: "SOUND_FILE"
            },
            "other": {
                cssClass: "icon-unknown-sprite",
                URL: "/dev/images/mimetypes/unknown.png",
                description: "OTHER_DOCUMENT"
            }
        },

        Authentication: {
            "allowInternalAccountCreation": true,
            "internal": true,
            "external": [{
                label: "External Login System 1",
                url: "http://external.login1.com/"
            }, {
                label: "External Login System 2",
                url: "http://external.login2.com/"
            }],
            "hideLoginOn": ["/dev", "/dev/index.html", "/dev/create_new_account.html"]
        },

        notification: {
            type: {
                ERROR: {
                    image: "/dev/images/notifications_exclamation_icon.png",
                    time: 10000
                },
                INFORMATION: {
                    image: "/dev/images/notifications_info_icon.png",
                    time: 5000
                }
            }
        },

        Navigation: [{
            "url": "/me#l=dashboard",
            "id": "navigation_you_link",
            "anonymous": false,
            "label": "YOU",
            "append": "messages",
            "subnav": [{
                "url": "/me#l=dashboard",
                "id": "subnavigation_home_link",
                "label": "MY_HOME"
            }, {
                "url": "/me#l=messages/inbox",
                "id": "subnavigation_messages_link",
                "label": "MY_MESSAGES"
            }, {
                "id": "subnavigation_hr"
            }, {
                "url": "/me#l=profile/basic",
                "id": "subnavigation_profile_link",
                "label": "MY_PROFILE"
            }, {
                "url": "/me#l=library",
                "id": "subnavigation_content_link",
                "label": "MY_LIBRARY"
            }, {
                "url": "/me#l=memberships",
                "id": "subnavigation_memberships_link",
                "label": "MY_MEMBERSHIPS"
            }, {
                "url": "/me#l=contacts",
                "id": "subnavigation_contacts_link",
                "label": "MY_CONTACTS_CAP"
            }]
        }, {
            "url": "#",
            "id": "navigation_create_and_add_link",
            "anonymous": false,
            "label": "CREATE_AND_COLLECT",
            "append": "collections",
            "subnav": [{
                "id": "subnavigation_add_content_link",
                "label": "ADD_CONTENT",
                "url": "#"
            }, {
                "id": "subnavigation_add_collection_link",
                "label": "ADD_COLLECTION",
                "url": "#"
            }, {
                "id": "subnavigation_hr"
            }]
        }, {
            "url": "/index",
            "id": "navigation_explore_link",
            "anonymous": false,
            "label": "EXPLORE",
            "subnav": [{
                "id": "subnavigation_explore_categories_link",
                "label": "BROWSE_ALL_CATEGORIES",
                "url": "/categories"
            },{
                "id": "subnavigation_hr"
            },{
                "id": "subnavigation_explore_content_link",
                "label": "CONTENT",
                "url": "/search#l=content"
            }, {
                "id": "subnavigation_explore_people_link",
                "label": "PEOPLE",
                "url": "/search#l=people"
            }]
        }, {
            "url": "/index",
            "id": "navigation_anon_explore_link",
            "anonymous": true,
            "label": "EXPLORE",
            "subnav": [{
                "id": "subnavigation_explore_categories_link",
                "label": "BROWSE_ALL_CATEGORIES",
                "url": "/categories"
            },{
                "id": "subnavigation_hr"
            },{
                "id": "subnavigation_explore_content_link",
                "label": "CONTENT",
                "url": "/search#l=content"
            }, {
                "id": "subnavigation_explore_people_link",
                "label": "PEOPLE",
                "url": "/search#l=people"
            }]
        }, {
            "url": "/register",
            "id": "navigation_anon_signup_link",
            "anonymous": true,
            "label": "SIGN_UP"
        }],

        Footer: {
            leftLinks: [{
                "title": "__MSG__COPYRIGHT__",
                "href": "http://sakaiproject.org/foundation-licenses",
                "newWindow": true
            }, {
                "title": "__MSG__HELP__",
                "href": "http://sakaiproject.org/node/2307",
                "newWindow": true
            }, {
                "title": "__MSG__ACKNOWLEDGEMENTS__",
                "href": "/acknowledgements"
            }, {
                "title": "__MSG__SUGGEST_AN_IMPROVEMENT__",
                "href": "http://sakaioae.idea.informer.com/",
                "newWindow": true
            }],
            rightLinks: [{
                "title": "__MSG__BROWSE__",
                "href": "/categories"
            }, {
                "title": "__MSG__EXPLORE__",
                "href": "/"
            }]
        },

        /*
         * Are anonymous users allowed to browse/search
         */
        anonAllowed: true,
        /*
         * List of pages that require a logged in user
         */
        requireUser: ["/me", "/dev/me.html", "/dev/search_sakai2.html", "/create", "/dev/createnew.html"],

        /*
         * List of pages that require an anonymous user
         */
        requireAnonymous: ["/register", "/dev/create_new_account.html"],
        /*
         * List of pages that will be added to requireUser if
         * anonAllowed is false
         */
        requireUserAnonNotAllowed: ["/me", "/dev/me.html", "/dev/search_sakai2.html"],
        /*
         * List of pages that will be added to requireAnonymous if
         * anonAllowed is false
         */
        requireAnonymousAnonNotAllowed: [],
        /*
         * List op pages that require additional processing to determine
         * whether the page can be shown to the current user. These pages
         * are then required to call the sakai.api.Security.showPage
         * themselves
         */
        requireProcessing: ["/dev/user.html", "/me" ,"/dev/me.html", "/dev/content_profile.html", "/dev/content_profile.html", "/dev/group_edit.html", "/dev/show.html", "/content"],

        useLiveSakai2Feeds: false,
        /*
         * List of custom CLE Tool names. This can be used to override the translated
         * tool name in the Sakai 2 Tools Widget drop down, or name a custom CLE tool
         * that has been added to your CLE installation. You can see the list of
         * enabled CLE tools at /var/basiclti/cletools.json, and configure them in
         * Nakamura under the org.sakaiproject.nakamura.basiclti.CLEVirtualToolDataProvider
         * configuration.
         */
        sakai2ToolNames: {
            /* "sakai.mytoolId" : "My Custom Tool Title" */
        },

        displayDebugInfo: true,

        /**
         * Section dividers can be added to the directory structure by adding in the following
         * element at the appropriate place:
         *  divider1: {
         *      "divider": true,
         *      "title": "Divider title" [optional],
         *      "cssClass": "CSS class to add to items inside of elements beneath the divider [optional]
         *  }
         */
        Directory: {
            medicineanddentistry: {
                title: "__MSG__MEDICINE_AND_DENTISTRY__",
                children: {
                    preclinicalmedicine: {
                        title: "__MSG__PRECLINICAL_MEDICINE__"
                    },
                    preclinicaldentistry: {
                        title: "__MSG__PRECLINICAL_DENTISTRY__"
                    },
                    clinicalmedicine: {
                        title: "__MSG__CLININCAL_MEDICINE__"
                    },
                    clinicaldentistry: {
                        title: "__MSG__CLININCAL_DENTISTRY__"
                    },
                    othersinmedicineanddentistry: {
                        title: "__MSG__MEDICINE_AND_DENTISTRY_OTHERS__"
                    }
                }
            },
            biologicalsciences: {
                title: "__MSG__BIOLOGICAL_SCIENCES__",
                children: {
                    biology: {
                        title: "__MSG__BIOLOGY__"
                    },
                    botany: {
                        title: "__MSG__BOTANY__"
                    },
                    zoology: {
                        title: "__MSG__ZOOLOGY__"
                    },
                    genetics: {
                        title: "__MSG__GENETICS__"
                    },
                    microbiology: {
                        title: "__MSG__MICROBIOLOGY__"
                    },
                    sportsscience: {
                        title: "__MSG__SPORTS_SCIENCE__"
                    },
                    molecularbiologybiophysicsandbiochemistry: {
                        title: "__MSG__MOLECULAR_BIOLOGY__"
                    },
                    psychology: {
                        title: "__MSG__PSYCHOLOGY__"
                    },
                    othersinbiologicalsciences: {
                        title: "__MSG__BIOLOGICAL_SCIENCES_OTHER__"
                    }
                }
            },
            veterinarysciencesagriculture: {
                title: "__MSG__VETERINARY_SCIENCES__",
                children: {
                    preclinicalveterinarymedicine: {
                        title: "__MSG__PRE_CLINICAL_VETERINARY__"
                    },
                    clinicalveterinarymedicineanddentistry: {
                        title: "__MSG__CLINICAL_VETERINARY__"
                    },
                    animalscience: {
                        title: "__MSG__ANIMAL_SCIENCE__"
                    },
                    agriculture: {
                        title: "__MSG__AGRICULTURE__"
                    },
                    forestry: {
                        title: "__MSG__FORESTRY__"
                    },
                    foodandbeveragestudies: {
                        title: "__MSG__FOOD_BEVERAGE__"
                    },
                    agriculturalsciences: {
                        title: "__MSG__AGRICULTURAL_SCIENCE__"
                    },
                    othersinveterinarysciencesandagriculture: {
                        title: "__MSG__VETERINARY_SCIENCES_OTHER__"
                    }
                }
            },
            physicalsciences: {
                title: "__MSG__PHYSICAL_SCIENCE__",
                children: {
                    chemistry: {
                        title: "__MSG__CHEMISTRY__"
                    },
                    materialsscience: {
                        title: "__MSG__MATERIALS_SCIENCE__"
                    },
                    physics: {
                        title: "__MSG__PHYSICS__"
                    },
                    forensicandarchaeologicalscience: {
                        title: "__MSG__FORENSIC_ARCHEALOGICAL__"
                    },
                    astronomy: {
                        title: "__MSG__ASTRONOMY__"
                    },
                    geology: {
                        title: "__MSG__GEOLOGY__"
                    },
                    oceansciences: {
                        title: "__MSG__OCEAN_SCIENCE__"
                    },
                    othersinphysicalsciences: {
                        title: "__MSG__PHYSICAL_SCIENCE_OTHER__"
                    }
                }
            },
            mathematicalandcomputersciences: {
                title: "__MSG__MATHEMATICAL_COMPUTER_SCIENCES__",
                children: {
                    mathematics: {
                        title: "__MSG__MATHEMATICS__"
                    },
                    operationalresearch: {
                        title: "__MSG__OPERATIONAL_RESEARCH__"
                    },
                    statistics: {
                        title: "__MSG__STATISTICS__"
                    },
                    computerscience: {
                        title: "__MSG__COMPUTER_SCIENCE__"
                    },
                    informationsystems: {
                        title: "__MSG__INFORMATION_SYSTEMS__"
                    },
                    softwareengineering: {
                        title: "__MSG__SOFTWARE_ENGINEERING__"
                    },
                    artificialintelligence: {
                        title: "__MSG__ARTIFICIAL_INTELLIGENCE__"
                    },
                    othersinmathematicalandcomputingsciences: {
                        title: "__MSG__MATHEMATICAL_COMPUTER_SCIENCES_OTHER__"
                    }
                }
            },
            engineering: {
                title: "__MSG__ENGINEERING__",
                children: {
                    generalengineering: {
                        title: "__MSG__GENERAL_ENGINEERING__"
                    },
                    civilengineering: {
                        title: "__MSG__CIVIL_ENGINEERING__"
                    },
                    mechanicalengineering: {
                        title: "__MSG__MECHANICAL_ENGINEERING__"
                    },
                    aerospaceengineering: {
                        title: "__MSG__AEROSPACE_ENGINEERING__"
                    },
                    navalarchitecture: {
                        title: "__MSG__NAVAL_ARCHITECTURE__"
                    },
                    electronicandelectricalengineering: {
                        title: "__MSG__ELECTRONIC_ELECTRICAL_ENGINEERING__"
                    },
                    productionandmanufacturingengineering: {
                        title: "__MSG__PRODUCTION_MANUFACTURING_ENGINEERING__"
                    },
                    chemicalprocessandenergyengineering: {
                        title: "__MSG__CHEMICAL_PROCESS_ENERGY_ENGINEERING__"
                    },
                    othersinengineering: {
                        title: "__MSG__ENGINEERING_OTHER__"
                    }
                }
            },
            technologies: {
                title: "__MSG__TECHNOLOGIES__",
                children: {
                    mineralstechnology: {
                        title: "__MSG__MINERALS_TECHNOLOGY__"
                    },
                    metallurgy: {
                        title: "__MSG__METALLURGY__"
                    },
                    ceramicsandglasses: {
                        title: "__MSG__CERAMICS_GLASSES__"
                    },
                    polymersandtextiles: {
                        title: "__MSG__POLYMERS_TEXTILES__"
                    },
                    materialstechnologynototherwisespecified: {
                        title: "__MSG__MATERIALS_TECHNOLOGY_OTHER__"
                    },
                    maritimetechnology: {
                        title: "__MSG__MARITIME_TECHNOLOGY__"
                    },
                    industrialbiotechnology: {
                        title: "__MSG__INDUSTRIAL_BIOTECHNOLOGY__"
                    },
                    othersintechnology: {
                        title: "__MSG__TECHNOLOGIES_OTHER__"
                    }
                }
            },
            architecturebuildingandplanning: {
                title: "__MSG__ARCHITECTURE_BUILDING_PLANNING__",
                children: {
                    architecture: {
                        title: "__MSG__ARCHITECTURE__"
                    },
                    building: {
                        title: "__MSG__BUILDING__"
                    },
                    landscapedesign: {
                        title: "__MSG__LANDSCAPE_DESIGN__"
                    },
                    planning: {
                        title: "__MSG__PLANNING__"
                    },
                    othersinarchitecturebuildingandplanning: {
                        title: "__MSG__ARCHITECTURE_BUILDING_PLANNING_OTHER__"
                    }
                }
            },
            socialstudies: {
                title: "__MSG__SOCIAL_STUDIES__",
                children: {
                    economics: {
                        title: "__MSG__ECONOMICS__"
                    },
                    politics: {
                        title: "__MSG__POLITICS__"
                    },
                    sociology: {
                        title: "__MSG__SOCIOLOGY__"
                    },
                    socialpolicy: {
                        title: "__MSG__SOCIAL_POLICY__"
                    },
                    socialwork: {
                        title: "__MSG__SOCIAL_WORK__"
                    },
                    anthropology: {
                        title: "__MSG__ANTHROPOLOGY__"
                    },
                    humanandsocialgeography: {
                        title: "__MSG__HUMAN_SOCIAL_GEOGRAPHY__"
                    },
                    othersinsocialstudies: {
                        title: "__MSG__SOCIAL_STUDIES_OTHER__"
                    }
                }
            },
            law: {
                title: "__MSG__LAW__",
                children: {
                    publiclaw: {
                        title: "__MSG__LAW_PUBLIC__"
                    },
                    privatelaw: {
                        title: "__MSG__LAW_PRIVATE__"
                    },
                    jurisprudence: {
                        title: "__MSG__JURISPRUDENCE__"
                    },
                    legalpractice: {
                        title: "__MSG__LEGAL_PRACTICE__"
                    },
                    medicallaw: {
                        title: "__MSG__LAW_MEDICAL__"
                    },
                    othersinlaw: {
                        title: "__MSG__LAW_OTHER__"
                    }
                }
            },
            businessandadministrativestudies: {
                title: "__MSG__BUSINESS_ADMINISTRATIVE_STUDIES__",
                children: {
                    businessstudies: {
                        title: "__MSG__BUSINESS_STUDIES__"
                    },
                    managementstudies: {
                        title: "__MSG__MANAGEMENTS_STUDIES__"
                    },
                    finance: {
                        title: "__MSG__FINANCE__"
                    },
                    accounting: {
                        title: "__MSG__ACCOUNTING__"
                    },
                    marketing: {
                        title: "__MSG__MARKETING__"
                    },
                    humanresourcemanagement: {
                        title: "__MSG__HUMAN_RESOURCE_MANAGEMENT__"
                    },
                    officeskills: {
                        title: "__MSG__OFFICE_SKILLS__"
                    },
                    tourismtransportandtravel: {
                        title: "__MSG__TOURISM__"
                    },
                    othersinbusandadminstudies: {
                        title: "__MSG__BUSINESS_ADMINISTRATIVE_STUDIES_OTHER__"
                    }
                }
            },
            masscommunicationsanddocumentation: {
                title: "__MSG__MASS_COMMUNICATIONS_DOCUMENTATION__",
                children: {
                    informationservices: {
                        title: "__MSG__INFORMATION_SERVICES__"
                    },
                    publicitystudies: {
                        title: "__MSG__PUBLICITY_STUDIES__"
                    },
                    mediastudies: {
                        title: "__MSG__MEDIA_STUDIES__"
                    },
                    publishing: {
                        title: "__MSG__PUBLISHING__"
                    },
                    journalism: {
                        title: "__MSG__JOURNALISM__"
                    },
                    othersinmasscommanddoc: {
                        title: "__MSG__MASS_COMMUNICATIONS_DOCUMENTATION_OTHER__"
                    }
                }
            },
            linguisticsclassicsandrelatedsubjects: {
                title: "__MSG__LINGUISTICS_CLASSICS__",
                children: {
                    linguistics: {
                        title: "__MSG__LINGUISTICS__"
                    },
                    comparativeliterarystudies: {
                        title: "__MSG__LINGUISTICS_LITERARY__"
                    },
                    englishstudies: {
                        title: "__MSG__LINGUISTICS_ENGLISH__"
                    },
                    ancientlanguagestudies: {
                        title: "__MSG__LINGUISTICS_ANCIENT__"
                    },
                    celticstudies: {
                        title: "__MSG__LINGUISTICS_CELTIC__"
                    },
                    latinstudies: {
                        title: "__MSG__LINGUISTICS_LATIN__"
                    },
                    classicalgreekstudies: {
                        title: "__MSG__LINGUISTICS_CLASSICAL_GREEK__"
                    },
                    classicalstudies: {
                        title: "__MSG__LINGUISTICS_CLASSICAL__"
                    },
                    othersinlinguisticsclassicsandrelsubject: {
                        title: "__MSG__LINGUISTICS_CLASSICS_OTHER__"
                    }
                }
            },
            europeanlanguagesliteratureandrelatedsubjects: {
                title: "__MSG__EUROPEAN_LANGUAGES__",
                children: {
                    frenchstudies: {
                        title: "__MSG__EUROPEAN_LANGUAGES_FRENCH__"
                    },
                    germanstudies: {
                        title: "__MSG__EUROPEAN_LANGUAGES_GERMAN__"
                    },
                    italianstudies: {
                        title: "__MSG__EUROPEAN_LANGUAGES_ITALIAN__"
                    },
                    spanishstudies: {
                        title: "__MSG__EUROPEAN_LANGUAGES_SPANISH__"
                    },
                    portuguesestudies: {
                        title: "__MSG__EUROPEAN_LANGUAGES_PORTUGUESE__"
                    },
                    scandinavianstudies: {
                        title: "__MSG__EUROPEAN_LANGUAGES_SCANDINAVIAN__"
                    },
                    russianandeasteuropeanstudies: {
                        title: "__MSG__EUROPEAN_LANGUAGES_RUSSIAN__"
                    },
                    othersineurolangliteratureandrelsubjects: {
                        title: "__MSG__EUROPEAN_LANGUAGES_OTHER__"
                    }
                }
            },
            easiaticlanguagesliterature: {
                title: "__MSG__EXOTIC_LANGUAGES__",
                children: {
                    chinesestudies: {
                        title: "__MSG__EXOTIC_LANGUAGES_CHINESE__"
                    },
                    japanesestudies: {
                        title: "__MSG__EXOTIC_LANGUAGES_JAPANESE__"
                    },
                    southasianstudies: {
                        title: "__MSG__EXOTIC_LANGUAGES_SOUTH_ASIAN__"
                    },
                    otherasianstudies: {
                        title: "__MSG__EXOTIC_LANGUAGES_ASIAN_OTHER__"
                    },
                    africanstudies: {
                        title: "__MSG__EXOTIC_LANGUAGES_AFRICAN__"
                    },
                    modernmiddleeasternstudies: {
                        title: "__MSG__EXOTIC_LANGUAGES_MIDDLE_EAST__"
                    },
                    americanstudies: {
                        title: "__MSG__EXOTIC_LANGUAGES_AMERICAN__"
                    },
                    australasianstudies: {
                        title: "__MSG__EXOTIC_LANGUAGES_AUSTRALIAN__"
                    },
                    othersineasternasiaafriamericaaustralianlang: {
                        title: "__MSG__EXOTIC_LANGUAGES_OTHER__"
                    }
                }
            },
            historicalandphilosophicalstudies: {
                title: "__MSG__HISTORICAL_PHILOSOPHICAL_STUDIES__",
                children: {
                    historybyperiod: {
                        title: "__MSG__HISTORY_PERIOD__"
                    },
                    historybyarea: {
                        title: "__MSG__HISTORY_AREA__"
                    },
                    historybytopic: {
                        title: "__MSG__HISTORY_TOPIC__"
                    },
                    archaeology: {
                        title: "__MSG__ARCHEOLOGY__"
                    },
                    philosophy: {
                        title: "__MSG__PHILOSOPHY__"
                    },
                    theologyandreligiousstudies: {
                        title: "__MSG__THEOLOGY_STUDIES__"
                    },
                    othersinhistoricalandphilosophicalstudies: {
                        title: "__MSG__HISTORICAL_PHILOSOPHICAL_STUDIES_OTHER__"
                    }
                }
            },
            creativeartsanddesign: {
                title: "__MSG__CREATIVE_ARTS__",
                children: {
                    fineart: {
                        title: "__MSG__FINE_ART__"
                    },
                    designstudies: {
                        title: "__MSG__DESIGN_STUDIES__"
                    },
                    music: {
                        title: "__MSG__MUSIC__"
                    },
                    drama: {
                        title: "__MSG__DRAMA__"
                    },
                    dance: {
                        title: "__MSG__DANCE__"
                    },
                    cinematicsandphotography: {
                        title: "__MSG__CINEMATICS_PHOTOGRAPHY__"
                    },
                    crafts: {
                        title: "__MSG__CRAFTS__"
                    },
                    imaginativewriting: {
                        title: "__MSG__IMAGINITIVE_WRITING__"
                    },
                    othersincreativeartsanddesign: {
                        title: "__MSG__CREATIVE_ARTS_OTHER__"
                    }
                }
            },
            education: {
                title: "__MSG__EDUCATION__",
                children: {
                    trainingteachers: {
                        title: "__MSG__TRAINING_TEACHERS__"
                    },
                    researchandstudyskillsineducation: {
                        title: "__MSG__EDUCATION_RESEARCH_STUDY_SKILLS__"
                    },
                    academicstudiesineducation: {
                        title: "__MSG__EDUCATION_ACADEMIC_STUDIES__"
                    },
                    othersineducation: {
                        title: "__MSG__EDUCATION_OTHER__"
                    }
                }
            }
        },

        // Array of css files to load in each page
        skinCSS: [],

        Languages: [{
            "country": "CN",
            "language": "zh",
            "displayName": "中文"
        }, {
            "country": "NL",
            "language": "nl",
            "displayName": "Nederlands"
        }, {
            "country": "GB",
            "language": "en",
            "displayName": "English (United Kingdom)"
        }, {
            "country": "US",
            "language": "en",
            "displayName": "English (United States)"
        }, {
            "country": "JP",
            "language": "ja",
            "displayName": "日本語"
        }, {
            "country": "HU",
            "language": "hu",
            "displayName": "Magyar"
        }, {
            "country": "KR",
            "language": "ko",
            "displayName": "한국어"
        }],

        // Default Language for the deployment, must be one of the language_COUNTRY pairs that exists above
        defaultLanguage: "en_US",

        enableChat: false,
        enableCategories: true,

        Editor: {
            tinymceLanguagePacks: ['ar','ch','en','gl','id','lb','nb','ru','sv','uk','az','cn','eo','gu','is','lt','nl',
                'sc','ta','ur','be','cs','es','he','it','lv','nn','se','te','vi','bg','cy','et','hi','ja','mk','no','si',
                'th','zh-cn','bn','da','eu','hr','ka','ml','pl','sk','tn','zh-tw','br','de','fa','hu','kl','mn','ps','sl',
                'tr','zh','bs','dv','fi','hy','km','ms','pt','sq','tt','zu','ca','el','fr','ia','ko','my','ro','sr','tw']
        },

        defaultSakaiDocContent: {
            "rows": [
                {
                    "id": "id" + Math.round(Math.random() * 100000000),
                    "columns": [
                        {
                            "width": 1,
                            "elements": []
                        }
                    ]
                }
            ]
        },

        /*
         * _canEdit: can change the area permissions on this page
         * _reorderOnly: can reorder this item in the navigation, but cannot edit the name of the page
         * _nonEditable: cannot edit the contents of this page
         * _canSubedit:
         */

        defaultprivstructure: {
            "structure0": {
                "dashboard": {
                    "_ref": "${refid}0",
                    "_title": "__MSG__MY_DASHBOARD__",
                    "_order": 0,
                    "_canEdit": true,
                    "_reorderOnly": true,
                    "_nonEditable": true,
                    "main": {
                        "_ref": "${refid}0",
                        "_order": 0,
                        "_title": "__MSG__MY_DASHBOARD__"
                    }
                },
                "messages": {
                    "_title": "__MSG__MY_MESSAGES__",
                    "_ref": "${refid}1",
                    "_order": 1,
                    "_canEdit": true,
                    "_reorderOnly": true,
                    "_canSubedit": true,
                    "_nonEditable": true,
                    "inbox": {
                        "_ref": "${refid}1",
                        "_order": 0,
                        "_title": "__MSG__INBOX__",
                        "_nonEditable": true
                    },
                    "invitations": {
                        "_ref": "${refid}2",
                        "_order": 1,
                        "_title": "__MSG__INVITATIONS__",
                        "_nonEditable": true
                    },
                    "sent": {
                        "_ref": "${refid}3",
                        "_order": 2,
                        "_title": "__MSG__SENT__",
                        "_nonEditable": true
                    },
                    "trash": {
                        "_ref": "${refid}4",
                        "_order": 3,
                        "_title": "__MSG__TRASH__",
                        "_nonEditable": true
                    }
                }
            },
            "${refid}0": {
                "id2506067": {
                    "htmlblock": {
                        "content": "<div class=\"fl-force-right\"><button type=\"button\" class=\"s3d-button s3d-margin-top-5 s3d-header-button s3d-header-smaller-button dashboard_change_layout\" data-tuid=\"${refid}5\">__MSG__EDIT_LAYOUT__</button><button type=\"button\" class=\"s3d-button s3d-margin-top-5 s3d-header-button s3d-header-smaller-button dashboard_global_add_widget\" data-tuid=\"${refid}5\">__MSG__ADD_WIDGET__</button></div><div class=\"s3d-contentpage-title\">__MSG__MY_DASHBOARD__</div>"
                    }
                },
                "${refid}5": {
                    "dashboard": {
                        "layout": "threecolumn",
                        "columns": {
                            "column1": [
                                {
                                    "uid": "${refid}10",
                                    "visible": "block",
                                    "name": "recentchangedcontent"
                                }
                            ],
                            "column2": [
                                {
                                    "uid": "${refid}11",
                                    "visible": "block",
                                    "name": "recentmemberships"
                                }
                            ],
                            "column3": [
                                {
                                    "uid": "${refid}12",
                                    "visible": "block",
                                    "name": "recentcontactsnew"
                                }
                            ]
                        }
                    }
                },
                "rows": [
                    {
                        "id": "id8965114",
                        "columns": [
                            {
                                "width": 1,
                                "elements": [
                                    {
                                        "id": "id2506067",
                                        "type": "htmlblock"
                                    },
                                    {
                                        "id": "id8321271",
                                        "type": "carousel"
                                    },
                                    {
                                        "id": "${refid}5",
                                        "type": "dashboard"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            },
            "${refid}1": {
                "${refid}6": {
                    "box": "inbox",
                    "category": "message",
                    "title": "__MSG__INBOX__"
                },
                "rows": [
                    {
                        "id": "id7088118",
                        "columns": [
                            {
                                "width": 1,
                                "elements": [
                                    {
                                        "id": "${refid}6",
                                        "type": "inbox"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            },
            "${refid}2": {
                "${refid}7": {
                    "box": "inbox",
                    "category": "invitation",
                    "title": "__MSG__INVITATIONS__"
                },
                "rows": [
                    {
                        "id": "id6156677",
                        "columns": [
                            {
                                "width": 1,
                                "elements": [
                                    {
                                        "id": "${refid}7",
                                        "type": "inbox"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            },
            "${refid}3": {
                "${refid}8": {
                    "box": "outbox",
                    "category": "*",
                    "title": "__MSG__SENT__"
                },
                "rows": [
                    {
                        "id": "id5268914",
                        "columns": [
                            {
                                "width": 1,
                                "elements": [
                                    {
                                        "id": "${refid}8",
                                        "type": "inbox"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            },
            "${refid}4": {
                "${refid}9": {
                    "box": "trash",
                    "category": "*",
                    "title": "__MSG__TRASH__"
                },
                "rows": [
                    {
                        "id": "id1281420",
                        "columns": [
                            {
                                "width": 1,
                                "elements": [
                                    {
                                        "id": "${refid}9",
                                        "type": "inbox"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }
        },

        /**
         * In order to set permissions on specific private areas, the following parameter should be added:
         *   _view: "anonymous" // Area is visible to all users by default
         *   _view: "everyone" // Area is visible to all logged in users by default
         *   _view: "contacts" // Area is visible to all contacts by default
         *   _view: "private" // Area is not visible to other users by default
         */
        defaultpubstructure: {
            "structure0": {
                "profile": {
                    "_title": "__MSG__MY_PROFILE__",
                    "_altTitle": "__MSG__MY_PROFILE_OTHER__",
                    "_order": 0,
                    "_view": "anonymous",
                    "_reorderOnly": true,
                    "_nonEditable": true
                },
                "library": {
                    "_ref": "${refid}0",
                    "_order": 1,
                    "_title": "__MSG__MY_LIBRARY__",
                    "_altTitle": "__MSG__MY_LIBRARY_OTHER__",
                    "_reorderOnly": true,
                    "_nonEditable": true,
                    "_view": "anonymous",
                    "main": {
                        "_ref": "${refid}0",
                        "_order": 0,
                        "_title": "__MSG__MY_LIBRARY__"
                    }
                },
                "memberships": {
                    "_title": "__MSG__MY_MEMBERSHIPS__",
                    "_order": 2,
                    "_ref": "${refid}1",
                    "_altTitle": "__MSG__MY_MEMBERSHIPS_OTHER__",
                    "_reorderOnly": true,
                    "_nonEditable": true,
                    "_view": "anonymous",
                    "main": {
                        "_ref": "${refid}1",
                        "_order": 0,
                        "_title": "__MSG__MY_MEMBERSHIPS__"
                    }
                },
                "contacts": {
                    "_title": "__MSG__MY_CONTACTS__",
                    "_order": 3,
                    "_ref": "${refid}2",
                    "_altTitle": "__MSG__MY_CONTACTS_OTHER__",
                    "_reorderOnly": true,
                    "_nonEditable": true,
                    "_view": "anonymous",
                    "main": {
                        "_ref": "${refid}2",
                        "_order": 0,
                        "_title": "__MSG__MY_CONTACTS__"
                    }
                }
            },
            "${refid}0": {
                "rows": [
                    {
                        "id": "id89874",
                        "columns": [
                            {
                                "width": 1,
                                "elements": [
                                    {
                                        "id": "id5739346",
                                        "type": "mylibrary"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            },
            "${refid}1": {
                "rows": [
                    {
                        "id": "id7664610",
                        "columns": [
                            {
                                "width": 1,
                                "elements": [
                                    {
                                        "id": "id4347509",
                                        "type": "mymemberships"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            },
            "${refid}2": {
                "rows": [
                    {
                        "id": "id293415",
                        "columns": [
                            {
                                "width": 1,
                                "elements": [
                                    {
                                        "id": "id6775571",
                                        "type": "contacts"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }
        },

        widgets: {
            "layouts": {
                "onecolumn": {
                    "name": "One column",
                    "widths": [100],
                    "siteportal": true
                },
                "dev": {
                    "name": "Dev Layout",
                    "widths": [50, 50],
                    "siteportal": true
                },
                "threecolumn": {
                    "name": "Three equal columns",
                    "widths": [33, 33, 33],
                    "siteportal": false
                }
            },
            "defaults": {
                "personalportal": {
                    "layout": "dev",
                    "columns": [["mygroups", "mycontacts"], ["mycontent", "recentmessages"]]
                }
            }
        }
    };

    return config;
});

/*
 * Licensed to the Sakai Foundation (SF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The SF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */

/* Fluid Base
 * combination of Fluid FSS files from:
 * http://fluidproject.org/releases/1.1.2/infusion-1.1.2.zip
 * version: Infusion 1.1.2
 *
 * Concatenated files contained here:
 *  fss-reset.css
 *  fss-layout.css
 *  fss-text.css
 *
 *  Based on version: 2.5.2 of the Yahoo CSS reset, font, and base
 *  Copyright (c) 2008, Yahoo! Inc. All rights reserved.
 *  Code licensed under the BSD License:
 *  http://developer.yahoo.net/yui/license.txt
 *
 *  Please see these files in: http://fluidproject.org/releases/1.1.2/infusion-1.1.2-src.zip
 *  for usage and full license information
 */

/* Fluid Reset:
 * fss-reset.css
 */

table{font-size:inherit;font:100%;}
pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;}
html{color:#000;background:#FFF;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:text-top;}
sub{vertical-align:text-bottom;}
legend{color:#000;}
h1{font-size:138.5%;}
h2{font-size:123.1%;}
h3{font-size:108%;}
h1,h2,h3{margin:0.5em 0;}
h1,h2,h3,h4,h5,h6,strong{font-weight:bold;}
abbr,acronym{border-bottom:1px dotted #000;cursor:help;}
em{font-style:italic;}
blockquote,ul,ol,dl{margin:1em;}
ol,ul,dl{margin-left:2em;}
ol li{list-style:decimal outside;}
ul li{list-style:disc outside;}
dl dd{margin-left:1em;}
th{font-weight:bold;text-align:center;}
caption{margin-bottom:.5em;text-align:center;}
p,fieldset,table,pre{margin-bottom:1em;}
input[type=text],input[type=password],textarea{width:12.25em;*width:11.9em;}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
html{overflow:auto;font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;}
input,textarea,select{*font-size:100%;*font-family:sans-serif;}
input{*overflow:visible;*padding:0 1em;}
:focus{outline:2px solid black;}

/* Fluid Layout:
 * fss-layout.css
 */

.fl-fix{overflow:auto;zoom:1;}
.fl-push{clear:both;}
.fl-hidden{visibility:hidden;margin:0;}
.fl-force-right{float:right;display:inline;}
.fl-force-left{float:left;display:inline;}
.fl-centered{margin-left:auto;margin-right:auto;display:block;}
.fl-container-50{width:50px;}
.fl-container-100{width:100px;}
.fl-container-150{width:150px;}
.fl-container-200{width:200px;}
.fl-container-250{width:250px;}
.fl-container-300{width:300px;}
.fl-container-350{width:350px;}
.fl-container-400{width:400px;}
.fl-container-450{width:450px;}
.fl-container-500{width:500px;}
.fl-container-550{width:550px;}
.fl-container-600{width:600px;}
.fl-container-650{width:650px;}
.fl-container-700{width:700px;}
.fl-container-750{width:750px;}
.fl-container-800{width:800px;}
.fl-container-850{width:850px;}
.fl-container-900{width:900px;}
.fl-container-950{width:950px;}
.fl-container-1000{width:1000px;}
.fl-container-auto{width:auto;}
.fl-container-flex{width:100%;clear:both;}
.fl-container-flex10{width:10%;}
.fl-container-flex20{width:20%;}
.fl-container-flex25{width:25%;}
.fl-container-flex30{width:30%;}
.fl-container-flex33{width:33%;}
.fl-container-flex40{width:40%;}
.fl-container-flex50{width:50%;}
.fl-container-flex60{width:60%;}
.fl-container-flex66{width:66%;}
.fl-container-flex75{width:75%;}
.fl-layout-linear *,.fl-layout-linear .fl-linearEnabled{overflow:visible!important;clear:both!important;float:none!important;margin-left:0!important;margin-right:0!important;}
.fl-layout-linear .fl-container,.fl-layout-linear .fl-container-100,.fl-layout-linear .fl-container-150,.fl-layout-linear .fl-container-200,.fl-layout-linear .fl-container-250,.fl-layout-linear .fl-container-300,.fl-layout-linear .fl-container-400,.fl-layout-linear .fl-container-750,.fl-layout-linear .fl-container-950,.fl-layout-linear .fl-container-auto,.fl-layout-linear .fl-container-flex25,.fl-layout-linear .fl-container-flex30,.fl-layout-linear .fl-container-flex33,.fl-layout-linear .fl-container-flex50,.fl-layout-linear .fl-col,.fl-layout-linear .fl-col-side,.fl-layout-linear .fl-col-flex,.fl-layout-linear .fl-col-main,.fl-layout-linear .fl-col-fixed,.fl-layout-linear .fl-col-justified{width:100%!important;margin:auto;padding:0!important;}
.fl-layout-linear .fl-force-left,.fl-layout-linear .fl-force-right,.fl-layout-linear li{display:block!important;float:none!important;}
.fl-layout-linear .fl-linearEnabled{width:100%!important;display:block;}
.fl-layout-linear .fl-button-left,.fl-layout-linear .fl-button-right{padding:1em;}
.fl-col-justified{float:left;display:inline;overflow:auto;text-align:justify;}
.fl-col-flex2,.fl-col-flex3,.fl-col-flex4,.fl-col-flex5{overflow:hidden;zoom:1;}
.fl-col{float:left;display:inline;}
.fl-col-flex5 .fl-col{width:18.95%;margin-left:.25%;margin-right:.25%;padding-left:.25%;padding-right:.25%;}
.fl-col-flex4 .fl-col{width:24%;margin-left:.25%;margin-right:.25%;padding-left:.25%;padding-right:.25%;}
.fl-col-flex3 .fl-col{width:32.33%;margin-left:.25%;margin-right:.25%;padding-left:.25%;padding-right:.25%;}
.fl-col-flex2 .fl-col{width:48.85%;margin-left:.25%;margin-right:.25%;padding-left:.25%;padding-right:.25%;}
.fl-col-mixed,.fl-col-mixed2,.fl-col-mixed3{overflow:auto;zoom:1;}
.fl-col-mixed .fl-col-side{width:200px;}
.fl-col-mixed .fl-col-side,.fl-col-mixed .fl-col-main{padding:0 10px;}
.fl-col-mixed2 .fl-col-side{width:200px;padding:0 10px;float:left;}
.fl-col-mixed2 .fl-col-main{margin-left:220px;padding:0 10px;}
.fl-col-mixed3 .fl-col-main{margin:0 220px;}
.fl-col-fixed,.fl-col-flex{padding:0 10px;}
.fl-col-mixed .fl-col-fixed{width:200px;padding:0 10px;}
.fl-col-mixed .fl-col-flex{margin-left:220px;padding:0 10px;}
.fl-col-mixed-100 .fl-col-fixed{width:100px;}
.fl-col-mixed-100 .fl-col-flex{margin-left:120px;}
.fl-col-mixed-150 .fl-col-fixed{width:150px;}
.fl-col-mixed-150 .fl-col-flex{margin-left:170px;}
.fl-col-mixed-200 .fl-col-fixed{width:200px;}
.fl-col-mixed-200 .fl-col-flex{margin-left:220px;}
.fl-col-mixed-250 .fl-col-fixed{width:250px;}
.fl-col-mixed-250 .fl-col-flex{margin-left:270px;}
.fl-col-mixed-300 .fl-col-fixed{width:300px;}
.fl-col-mixed-300 .fl-col-flex{margin-left:320px;}
.fl-tabs{margin:10px 0 0 0;border-bottom:1px solid #000;text-align:center;padding-bottom:2px;}
.fl-tabs li{list-style-type:none;display:inline;}
.fl-tabs li a{padding:3px 16px 2px;background-color:#fff;margin-left:-5px;*margin-bottom:-6px;zoom:1;border:1px solid #000;color:#999;}
.fl-tabs-center{text-align:center;}
.fl-tabs-left{text-align:left;padding-left:10px;}
.fl-tabs-right{text-align:right;padding-right:15px;}
.fl-tabs .fl-reorderer-dropMarker{padding:0 3px;background-color:#c00;margin:0 5px 0 -5px;zoom:1;}
.fl-tabs .fl-tabs-active a{padding:2px 16px;border-bottom:none;color:#000;}
.fl-tabs-content{padding:5px;}
@media screen and(-webkit-min-device-pixel-ratio:0){.fl-tabs li a{padding:3px 16px 3px;}
.fl-tabs .fl-tabs-active a{padding:3px 16px 4px;}
}
.fl-listmenu{padding:0;margin:0;border-bottom-width:1px;border-bottom-style:solid;}
.fl-listmenu li{margin:0;padding:0;list-style-type:none;border-width:1px;border-style:solid;border-bottom:none;}
.fl-listmenu a{padding:5px 5px;display:block;zoom:1;}
ul.fl-grid,.fl-grid ul{padding:0;margin:0;}
.fl-grid li{list-style-type:none;display:inline;}
.fl-grid li{float:left;width:19%;margin:.5%;height:150px;overflow:hidden;position:relative;display:inline;}
.fl-grid li img{display:block;margin:5px auto;}
.fl-grid li .caption{position:absolute;left:0;bottom:0;width:100%;text-align:center;height:1em;padding:3px 0;}
.fl-icon{text-indent:-5000px;overflow:hidden;cursor:pointer;display:block;height:16px;width:16px;margin-left:5px;margin-right:5px;background-position:center center;background-repeat:no-repeat;}
input.fl-icon{padding-left:16px;}
.fl-button-left{float:left;margin-right:10px;padding:0 0 0 16px;background-position:left center;background-repeat:no-repeat;}
.fl-button-right{float:right;margin-left:10px;padding:0 0 0 16px;background-position:left center;background-repeat:no-repeat;}
.fl-button-inner{float:left;padding:5px 16px 5px 0;cursor:pointer;background-position:right center;background-repeat:no-repeat;}
.fl-widget{padding:5px;margin-bottom:10px;}
.fl-widget .button{margin:0 5px;}
.fl-grabbable .fl-widget-titlebar{background-position:center top;background-repeat:no-repeat;cursor:move;}
.fl-widget .fl-widget-titlebar h2{padding:0;margin:0;font-size:105%;}
.fl-widget .fl-widget-titlebar .fl-button-inner{font-size:.8em;padding-bottom:.2em;padding-top:.2em;}
.fl-widget .fl-widget-controls{margin:-1.3em 0 1.5em 0;}
.fl-widget .fl-widget-options{background-color:#D5DBDF;overflow-y:hidden;}
.fl-widget .fl-widget-options ul{margin:0;padding:0;overflow:hidden;zoom:1;}
.fl-widget .fl-widget-options li{list-style-type:none;float:left;display:inline;padding:0 5px 0 5px;margin-left:-5px;}
.fl-widget .fl-widget-options a{margin-right:5px;}
.fl-widget .fl-widget-content{zoom:1;margin:5px 0 0 0;}
.fl-widget .empty *{padding-top:10px;margin-left:auto;margin-right:auto;text-align:center;}
.fl-widget .menu{margin:0;}
.fl-widget .toggle{width:32px;}
.fl-widget .on{background-position:left top;}
.fl-widget .off{background-position:left bottom;}
.fl-controls-left li{list-style-type:none;text-align:left;}
.fl-controls-left .fl-label{float:left;text-align:left;width:50%;margin-right:5px;}
.fl-controls-right li{list-style-type:none;display:block;text-align:left;}
.fl-controls-right .fl-label{float:left;text-align:right;width:50%;margin-right:5px;}
.fl-controls-centered li{list-style-type:none;display:block;text-align:left;}
.fl-controls-centered .fl-label{float:left;text-align:center;width:50%;margin-right:5px;}
.fl-noBackgroundImages,.fl-noBackgroundImages *{background-image:none!important;}
.fl-noBackgroundImages .fl-icon{text-indent:0!important;width:auto!important;background-color:transparent!important;}
.fl-ProgEnhance-enhanced,.fl-progEnhance-enhanced{display:none;}
.fl-offScreen-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}

/* Fluid Text:
 * fss-text.css
 */

.fl-font-size-70,.fl-font-size-70 body,.fl-font-size-70 input,.fl-font-size-70 select,.fl-font-size-70 textarea{font-size:.7em!important;line-height:1em!important;}
.fl-font-size-80,.fl-font-size-80 body,.fl-font-size-80 input,.fl-font-size-80 select,.fl-font-size-80 textarea{font-size:.8em!important;line-height:1.1em!important;}
.fl-font-size-90,.fl-font-size-90 body,.fl-font-size-90 input,.fl-font-size-90 select,.fl-font-size-90 textarea{font-size:.9em!important;line-height:1.2em!important;}
.fl-font-size-100,.fl-font-size-100 body,.fl-font-size-100 input,.fl-font-size-100 select,.fl-font-size-100 textarea{font-size:1em!important;line-height:1.3em!important;}
.fl-font-size-110,.fl-font-size-110 body,.fl-font-size-110 input,.fl-font-size-110 select,.fl-font-size-110 textarea{font-size:1.1em!important;line-height:1.4em!important;}
.fl-font-size-120,.fl-font-size-120 body,.fl-font-size-120 input,.fl-font-size-120 select,.fl-font-size-120 textarea{font-size:1.2em!important;line-height:1.5em!important;}
.fl-font-size-130,.fl-font-size-130 body,.fl-font-size-130 input,.fl-font-size-130 select,.fl-font-size-130 textarea{font-size:1.3em!important;line-height:1.6em!important;}
.fl-font-size-140,.fl-font-size-140 body,.fl-font-size-140 input,.fl-font-size-140 select,.fl-font-size-140 textarea{font-size:1.4em!important;line-height:1.7em!important;}
.fl-font-size-150,.fl-font-size-150 body,.fl-font-size-150 input,.fl-font-size-150 select,.fl-font-size-150 textarea{font-size:1.5em!important;line-height:1.8em!important;}
@media screen and(-webkit-min-device-pixel-ratio:0){[class~='fl-font-size-70'] input[type=submit],[class~='fl-font-size-70'] input[type=button]{padding:0 1em;}
[class~='fl-font-size-80'] input[type=submit],[class~='fl-font-size-80'] input[type=button]{font-size:.8em!important;padding:0 1em;}
[class~='fl-font-size-90'] input[type=submit],[class~='fl-font-size-90'] input[type=button]{font-size:.9em!important;padding:0 1em;}
[class~='fl-font-size-100'] input[type=submit],[class~='fl-font-size-100'] input[type=button]{font-size:1em!important;padding:0 1em;}
[class~='fl-font-size-110'] input[type=submit],input[type=submit][class~='fl-font-size-110'],[class~='fl-font-size-110'] input[type=button]{background-color:#fff;font-size:1.1em!important;padding:0 1em;}
[class~='fl-font-size-120'] input[type=submit],input[type=submit][class~='fl-font-size-120'],[class~='fl-font-size-120'] input[type=button]{background-color:#fff;font-size:1.2em!important;padding:0 1em;}
[class~='fl-font-size-130'] input[type=submit],input[type=submit][class~='fl-font-size-130'],[class~='fl-font-size-130'] input[type=button]{background-color:#fff;font-size:1.3em!important;padding:0 1em;}
[class~='fl-font-size-140'] input[type=submit],input[type=submit][class~='fl-font-size-140'],[class~='fl-font-size-140'] input[type=button]{background-color:#fff;font-size:1.4em!important;padding:0 1em;}
[class~='fl-font-size-150'] input[type=submit],input[type=submit][class~='fl-font-size-150'],[class~='fl-font-size-150'] input[type=button]{background-color:#fff;font-size:1.5em!important;padding:0 1em;}
[class~='fl-font-serif'] input[type=submit],[class~='fl-font-sans'] input[type=submit],[class~='fl-font-monospace'] input[type=submit],[class~='fl-font-arial'] input[type=submit],[class~='fl-font-verdana'] input[type=submit],[class~='fl-font-times'] input[type=submit],[class~='fl-font-courier'] input[type=submit]{background-color:#fff;padding:0 1em;}
}
.fl-font-serif,.fl-font-serif *{font-family:Georgia,Times,"Times New Roman","Book Antiqua",serif!important;}
.fl-font-sans,.fl-font-sans *{font-family:Tahoma,Verdana,Helvetica,sans-serif!important;}
.fl-font-monospace,.fl-font-monospace *{font-family:"Courier New,Courier",monospace!important;}
.fl-font-arial,.fl-font-arial *{font-family:"Arial"!important;}
.fl-font-verdana,.fl-font-verdana *{font-family:"Verdana"!important;}
.fl-font-times,.fl-font-times *{font-family:Georgia,Times,"Times New Roman",serif!important;}
.fl-font-courier,.fl-font-courier *{font-family:"Courier New",Courier,monospace!important;}
.fl-text-align-left{text-align:left;}
.fl-text-align-right{text-align:right;}
.fl-text-align-center{text-align:center;}
.fl-text-align-justify{text-align:justify;}
.fl-font-spacing-0,.fl-font-spacing-0 body,.fl-font-spacing-0 input,.fl-font-spacing-0 select,.fl-font-spacing-0 textarea{letter-spacing:0;}
.fl-font-spacing-1,.fl-font-spacing-1 body,.fl-font-spacing-1 input,.fl-font-spacing-1 select,.fl-font-spacing-1 textarea{letter-spacing:.1em;}
.fl-font-spacing-2,.fl-font-spacing-2 body,.fl-font-spacing-2 input,.fl-font-spacing-2 select,.fl-font-spacing-2 textarea{letter-spacing:.2em;}
.fl-font-spacing-3,.fl-font-spacing-3 body,.fl-font-spacing-3 input,.fl-font-spacing-3 select,.fl-font-spacing-3 textarea{letter-spacing:.3em;}
.fl-font-spacing-4,.fl-font-spacing-4 body,.fl-font-spacing-4 input,.fl-font-spacing-4 select,.fl-font-spacing-4 textarea{letter-spacing:.4em;}
.fl-font-spacing-5,.fl-font-spacing-5 body,.fl-font-spacing-5 input,.fl-font-spacing-5 select,.fl-font-spacing-5 textarea{letter-spacing:.5em;}
.fl-font-spacing-6,.fl-font-spacing-6 body,.fl-font-spacing-6 input,.fl-font-spacing-6 select,.fl-font-spacing-6 textarea{letter-spacing:.6em;}
.fl-text-aqua{color:aqua!important;}
.fl-text-black{color:black!important;}
.fl-text-blue{color:blue!important;}
.fl-text-fuchsia{color:fuchsia!important;}
.fl-text-gray{color:gray!important;}
.fl-text-green{color:green!important;}
.fl-text-lime{color:lime!important;}
.fl-text-maroon{color:maroon!important;}
.fl-text-navy{color:navy!important;}
.fl-text-olive{color:olive!important;}
.fl-text-purple{color:purple!important;}
.fl-text-red{color:red!important;}
.fl-text-silver{color:silver!important;}
.fl-text-teal{color:teal!important;}
.fl-text-white{color:white!important;}
.fl-text-yellow{color:yellow!important;}
.fl-text-underline{text-decoration:underline!important;}
.fl-text-bold{font-weight:bold!important;}
.fl-text-larger{font-size:125%!important;}
.fl-input-outline{border:2px solid;}
.fl-highlight-yellow,.fl-highlight-hover-yellow:hover,.fl-highlight-focus-yellow:focus{background-color:#FF0!important;background-image:none!important;}
.fl-highlight-green,.fl-highlight-hover-green:hover,.fl-highlight-focus-green:focus{background-color:#0F0!important;background-image:none!important;}
.fl-highlight-blue,.fl-highlight-hover-blue:hover,.fl-highlight-focus-blue:focus{background-color:#00F!important;background-image:none!important;}

/**
 * Licensed to the Sakai Foundation (SF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The SF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */

/*
 * GLOBAL RULES
 */
body, button{font-family:Arial, Helvetica, sans-serif !important;line-height:120%;}
.section_header{font-weight:bold;border-bottom:1px solid #ebebeb;font-size:17px;padding-bottom:3px;}

/* adding a visible outline on focus for accessibility */
*:focus{outline:1px dotted #000;}
/*apply to any container that needs to be rendered off-screen, but available to screen readers*/
.s3d-aural-text {position: absolute;clip: rect(1px 1px 1px 1px); /* IE6, IE7 */clip: rect(1px, 1px, 1px, 1px);overflow:hidden;width:1px;height:1px;}

/* HTML TAG OVERRIDES - on top of the FSS reset */
h1{font-family:Arial,Helvetica,sans-serif;font-size:18px;color:#333;font-weight:bold;line-height:normal;}
h2{font-family:Arial,Helvetica,sans-serif;font-size:20px;color:#666;}
h3{font-family:Arial,Helvetica,sans-serif;font-size:18px;color:#666;font-weight:bold;}
h4{font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#aaa;text-transform:uppercase;}
h5{font-family:Arial,Helvetica,sans-serif;font-size:18px;color:#aaa;font-weight:bold;}
h6{font-family:Arial,Helvetica,sans-serif;font-size:18px;color:#aaa;}
blockquote{font-family:Arial;font-size:14px;color:#666;}
.caption{font-family:Arial;font-size:11px;color:#666;}

/*
 * PAGE LAYOUT
 */
.fixed-container {padding:0 20px;width: 920px;overflow:hidden;}
.s3d-header .fixed-container { background-color: #FFF;}
.s3d-header .fixed-container .decor_left {background:url("/dev/images/dashboard_sprite.png") no-repeat scroll left -10px transparent; float:left; height:5px; margin-left:-20px; width:5px;}
.s3d-header .fixed-container .decor { background: url("/dev/images/dashboard_sprite.png") no-repeat scroll right -10px transparent; height: 5px; margin-right: -20px; }
.grep {color:#666 !important;font-weight:bold;}
.s3d-gray {color:#666;}
.s3d-lowercase {text-transform: lowercase;}

.block_image_left {float: left;}
.block_image_right {float: right;}

/* GENERAL WIDGET CSS */
/* Widget settings */
#widget_settings_menu {position:absolute;top:0;left:0;margin-top:10px;}

.s3d-dropdown-list {background:url("/dev/images/dropdown_list_bg.png") repeat-x scroll left top #F5F5F5;border: 1px solid #aaa;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;box-shadow:0 0 6px 0 #666;}
.s3d-dropdown-list ul {padding:0;margin:5px;}
.s3d-dropdown-list ul li {padding:2px 5px;margin:0;font-size:12px;list-style-type:none;cursor:pointer;}
.s3d-dropdown-list ul li button, .s3d-dropdown-list ul li a {color:#2683bc;font-size:11px;font-weight:bold;text-decoration:none;}
.s3d-dropdown-list ul li a:hover {color:#999;}
.s3d-dropdown-list .s3d-dropdown-list-arrow-up {background:url("/dev/images/dropdown_list_arrow_up.png") no-repeat scroll left top transparent;height:20px;margin-top:-20px;position:absolute;right:8px;width:25px;}
.s3d-dropdown-list .s3d-dropdown-hassubnav {background: url("/dev/images/arrow_right.png") no-repeat right 7px transparent;padding-right: 12px;}
.s3d-dropdown-list .s3d-dropdown-hassubnav:hover ul {display:block; !important;}
.s3d-dropdown-list .s3d-dropdown-hassubnav ul {padding:5px; display:none;box-shadow: 2px 0 7px -2px #666;left: 87px;margin-top: -18px;position: absolute;}
.s3d-dropdown-list .s3d-dropdown-hassubnav ul li {white-space: nowrap;}

/* NEW WIDGETS */
.s3d-widget-container .fl-widget-titlebar .settings {position:relative;height:18px;margin:8px 0 0;text-indent:0 !important;color:#666 !important;}
.s3d-widget-container .fl-widget-titlebar .settings:hover {color:#2683BC !important;}
.s3d-widget-container {border:solid 1px #dfdfdf;border-top:none;-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;margin-bottom:10px;}
.s3d-widget-container .s3d-contentpage-title {border-bottom:none;background:url("/dev/images/widget_header_bg.png") repeat-x scroll left top #dddddc;height:34px;line-height:34px;padding:0 12px;color:#666;font-weight:bold;font-size:13px;}
.s3d-widget-container .s3d-contentpage-title:hover {cursor:pointer}
.s3d-widget-container .hiddenwidget .s3d-contentpage-title {margin-bottom:0;}
.s3d-widget-footer {min-height:14px;background-color:#DDDDDC;-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;margin-top:7px;padding:7px 12px;box-shadow:0 1px 0 0 #bbb;}
.s3d-widget-footer a, .s3d-widget-footer span {float:right;}
.s3d-widget-footer-divider {font-size: 11px; color: #999999; padding-left: 5px;}

/* Change layout */
#change_layout_dialog {width: 840px !important; margin-left: -420px !important;}
#change_layout_dialog .elf-right-up {padding: 25px 0}
#change_layout_dialog .add-tools-right {width:100%;}
#change_layout_dialog .layout_container {float:left;padding-left:25px;padding-right:13px;}
#change_layout_dialog .layout_picker_item {width:114px; height: 62px; border: 2px solid #3399CC; border-right: 2px solid #3399CC; background-color: #EEFFFF;}
#change_layout_dialog .layout_picker_item_column {border-right: 1px solid #3399CC;}
#change_layout_dialog .layout_picker_item_radio {margin-left:50px; margin-top:10px;}
#change_layout_dialog .layout_container_unselected {float:left; padding-left:25px; padding-right:13px;}
#change_layout_dialog .layout_picker_item_unselected {width:114px; height: 62px; border: 2px solid #dddfe1; border-right: 2px solid #dddfe1; background-color: #F8F8F8;}
#change_layout_dialog .layout_picker_item_column_unselected {border-right: 1px solid #dddfe1;}
#change_layout_dialog .layout_picker_item_radio_unselected {margin-left:50px; margin-top: 10px;}
#change_layout_dialog #layouts_list {display:block;}

/* Add Sakai Goodies */
#add_goodies_dialog {width:520px; height: 374px; margin-left: -260px;}
.add_goodies .s3d-button {margin:0; height:23px;}
.add_goodies .dialog_body {height:308px; overflow-y:auto; overflow-x:hidden; position:relative; width:471px;}
.add_goodies  ul {margin:0;}
.add_goodies  ul li{border-bottom: 1px solid #efefef;line-height:30px;list-style:none;padding:0 12px;}
.add_goodies  ul li:hover{background-color:#dbeefc;}
.add_goodies .dialog_add_goodies_description {color:#333;font-size:13px;font-weight:normal;}
.add_goodies .dialog_remove_goodies_title {color:#999;font-size:14px;font-weight:bold;}
.add_goodies .dialog_remove_goodies_description {color:#999999;font-size:12px;font-weight:100;}
.add_goodies .dialog_add_goodies_title {color:#333;font-size:13px;font-weight:bold;}
.add_goodies .remove_add_column {float:right;width:100px;}

/* D&D Classes */
.ui-draggable, .orderable-hover {cursor:move;}
.orderable-dragging {opacity:0.2; width:auto;}
.orderable-selected {}
.orderable-avatar {background-color:#666666; border:1px solid #666666; height:25px; width:50px; z-index:65535;}
div .orderable-drop-marker {background-color:#FA7019; height:10px !important;}
.drop-warning {background-color:#FFD7D7; border:2px solid red; display:none; left:10px; margin:5px; padding:10px; position:absolute; top:50px; z-index:65535;}
.orderable-drop-marker-box {background-color:#FFFFFF; border:2px dashed #AAAAAA; height:200px !important; margin-bottom:1em; width:97%;}

/*
 * INSERT MORE DROPDOWN
 */
.insert_more_menu{position:absolute;left:5px;top:5px;border:1px solid #ccc;background-color:#fff;font-size:.95em!important;}
.insert_more_menu_border{border-bottom:1px solid #ccc;}
.insert_more_menu ul{padding:5px 15px 5px 7px;margin:0;}
.insert_more_menu li{list-style-type:none;}
.insert_more_menu_inactive{color:#aaa;}

/*
 * DROPDOWN MENU
 */
.s3d-dropdown-menu {display: inline-block;list-style: none outside none;margin-top:4px;padding:0;cursor:pointer; margin-left:-2px;}
.s3d-dropdown-menu:hover {background: url("/devwidgets/topnavigation/images/topnav_nav_hover.png") repeat-x scroll left top #3480b2;-moz-border-radius:2px 2px 2px 2px; border-radius:2px 2px 2px 2px; -webkit-border-radius:2px 2px 2px 2px;padding:0px;}
.s3d-dropdown-menu ul, .s3d-dropdown-menu .s3d-dropdown-menu-content-container {margin:0;padding: 10px 7px;display:block;background-color: #F3F3F3;-moz-border-radius:2px; border-radius:2px; -webkit-border-radius:2px;}
.s3d-dropdown-menu ul li {display:block; list-style:none;padding:1px;margin:0 2px;cursor:pointer;color:#636363; text-decoration:none; font-weight:normal;}
.s3d-dropdown-menu ul li:hover {background:url("/devwidgets/topnavigation/images/topnav_nav_list_hover.png") repeat-x scroll left top transparent;}
.s3d-dropdown-menu ul li a {text-decoration:none;display:block;padding:5px 6px;}
.s3d-dropdown-menu ul li:hover a {color:#f3f3f3;}
.s3d-dropdown-menu ul li a {color:#2683bc;font-size:12px;}
.s3d-dropdown-menu .s3d-dropdown-container {background:url("/devwidgets/topnavigation/images/topnav_nav_hover_list_bg.png") repeat-x scroll left top #0c4e79;-moz-border-radius:0 0 5px 5px; border-radius:0 0 5px 5px; -webkit-border-radius:0 0 5px 5px;-moz-box-shadow:0 10px 10px -3px #333333; -webkit-box-shadow:0 10px 10px -3px #333333; box-shadow:0 10px 10px -3px #333333;position:absolute;z-index:999;min-width:140px;padding:5px;-moz-border-radius:0 2px 2px 2px; border-radius:0 2px 2px 2px; -webkit-border-radius:0 2px 2px 2px;cursor:auto;}
.s3d-split-line {background-color:none;border:medium none;border-top:1px dotted #d4d4d4;height: 1px;margin: 3px 9px;}

/*
 * MARGINS
 */
.s3d-margin-top-3 {margin-top: 3px !important;}
.s3d-margin-top-5 {margin-top: 5px !important;}
.s3d-margin-top-10 {margin-top: 10px !important;}
.s3d-margin-top-15 {margin-top: 15px !important;}
.s3d-margin-top-20 {margin-top: 20px !important;}
.s3d-button.s3d-margin-top-5 {height:19px;line-height:19px;}
.s3d-button.s3d-no-margin-top {margin-top:0;height:18px !important;line-height:18px;}
/*
 * LINKS
 */
a{color:#333;text-decoration:none;}
a:hover{text-decoration:underline;}
.s3d-add_another_location{clear:both;color:#39C;font-size:13px;font-weight:bold;background:url(/dev/images/icons_sprite.png) no-repeat scroll left -21px transparent;float:left;width:16px;height:16px;display:block;margin-right:6px;}
.s3d-add_another_location_container{clear:both;display:block;padding:7px 0;width:200px;}
.s3d-hidden,.i18nable{display:none;}
.s3d-bold{font-weight:bold;}
a.s3d-regular-links,span.s3d-regular-links,.s3d-regular-links a, button.s3d-regular-links, .s3d-regular-links button, .contentauthoring_cell_element a{color:#2683bc;}
a.s3d-widget-links,span.s3d-widget-links,.s3d-widget-links a, button.s3d-widget-links, .s3d-widget-links button{color:#2683bc; font-size:0.9em;}
.s3d-regular-light-links,.s3d-regular-light-links a,.s3d-regular-light-links button{color:#058EC4 !important;}
.s3d-content-type-link a{color:#5FB3D2;}
.s3d-remove-links{float:right;margin-right:10px;height:16px;}
.s3d-tab-active a{background-color:#FFF!important;color:#000!important;font-weight:400!important;border-color:#DDD #DDD #EEE;border-style:solid;border-width:1px;}

/* new path used when creating pages */
.content_container .new_page_path {line-height: 3em;color:#999;}
.content_container .new_page_path span {color:#000;}

/* PAGE HEADERS */
.s3d-page-header-top-row {clear:both;margin-bottom:10px;}
.s3d-page-header-top-row .s3d-search-inputfield {width:220px;}
.s3d-page-header-top-row .s3d-page-header-sort-area {float:right;}
.s3d-page-header-top-row .s3d-page-header-sort-area select {border:1px solid #999;}
.s3d-page-header-bottom-row {line-height:30px;margin-bottom:15px;}
.s3d-page-header-bottom-row button, .s3d-page-header-bottom-row .s3d-page-header-selectall {margin-top:6px;}
.s3d-page-header-bottom-row .s3d-page-header-selectall {height:21px !important;line-height:23px;padding:0 6px 0 5px;width:13px;float:left;}
.s3d-page-header-bottom-row .s3d-button .s3d-page-header-add-to-icon {background: url("/dev/images/savecontent_button_icon_16x16.png") no-repeat scroll left center transparent;display:block;float:right;height:18px;margin-left:5px;width:16px;}
.s3d-page-header-bottom-row .s3d-button:hover .s3d-page-header-add-to-icon {background:url("/dev/images/savecontent_button_icon_16x16_hover.png") no-repeat scroll left center transparent;}
.s3d-page-header-bottom-row .s3d-button[disabled]:hover .s3d-page-header-add-to-icon {background: url("/dev/images/savecontent_button_icon_16x16.png") no-repeat scroll left center transparent;}

/* LIST VIEW OPTIONS */
.s3d-listview-options {float:right;padding:0 !important;height:19px !important;margin-top:4px;margin-left:20px;border-radius:3px !important;-moz-border-radius:3px !important;-webkit-border-radius:3px !important;}
.s3d-listview-options:hover {background:#fff;box-shadow:0 0 4px -2px #A8A8A8 inset;}
.s3d-listview-options > div {float:left;height:15px;padding:3px 4px 2px;}
.s3d-listview-options > div.selected,
.s3d-listview-options > div:hover {background:url("/dev/images/button_header_hover.png") repeat-x scroll left -1px transparent;box-shadow:0 0 4px -2px #A8A8A8 inset;}
.s3d-listview-options > div:last-child {border-radius:0 3px 3px 0;}
.s3d-listview-options > div:first-child {border-radius:3px 0 0 3px;}

/*
 * BUTTONS
 */
.s3d-sprites-buttons{background-color:#FFF;padding:0;position:absolute;left:0;top:0;display:block;width:106px;margin:0;}
.s3d-sprites-buttons ul{margin:0;border:1px solid #cbd0d4;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}
.s3d-sprites-buttons ul li{padding:5px 0 5px 9px;list-style-type:none;}
.s3d-sprites-buttons ul li:hover{background-color:#dbeefc;cursor:pointer;}
.s3d-sprites-buttons ul li a{font-weight:400;font-size:12px;}
.s3d-sprites-buttons ul li a:hover{text-decoration:none;}
.s3d-sprites-buttons ul li.more_option{border-bottom:1px solid #cbd0d4;}
.s3d-sprites-buttons ul li.more_option.option_last{border-bottom:0;}
.s3d-sprites-buttons .more_link{background:transparent url("/dev/images/more_bg_18.png") top left no-repeat;padding:1px 21px 2px 12px;}

/* New button style */
/* General */
.s3d-button {border-radius:5px 5px 5px 5px;color:#666;height:27px;padding:1px 12px 0;cursor:pointer;font-weight:bold;font-size:11px;text-align:center;margin-right:5px;border:none;}
button.s3d-button:focus {box-shadow:0 0 2px 1px #2683BC;}
a.s3d-button {text-decoration:none;}

/* Link buttons */
.s3d-link-button {margin:0;padding:0;background: none repeat scroll 0 0 transparent;border: medium none;color:#2683bc;font-family: Arial,Helvetica,sans-serif;font-size:13px;display: inline-block;text-align:left;font-size:11px;}
.s3d-link-button:disabled {cursor:default !important;}
.s3d-link-button:focus {box-shadow:none !important;}
.s3d-link-button:hover {cursor:pointer;text-decoration:none;color:#999;}
.s3d-link-button::-moz-focus-inner {padding:0;margin:0;border:0;}

/* Header buttons */
.s3d-button.s3d-header-button {background:#fff;box-shadow:0 0 4px -2px #A8A8A8 inset;border:1px solid #e0e3e5;}
.s3d-button.s3d-header-button:hover, .s3d-button.s3d-header-button.selected {background:url("/dev/images/button_header_hover.png") repeat-x scroll left -1px transparent;border:1px solid #E0E3E5;box-shadow:none;}
.s3d-button.s3d-header-button:disabled {background:#fff;cursor:auto;color:#ccc}
.s3d-button.s3d-header-button:disabled:hover {background:#fff;box-shadow:0 0 4px -2px #A8A8A8 inset;border:1px solid #e0e3e5;}
a.s3d-button.s3d-header-button {height:24px;line-height:24px;}

/* Left pop out buttons */
.s3d-popout-button-shadow {background:url("/dev/images/button_popout_border_shadow.png") no-repeat scroll left top transparent;float:left;height:56px;margin-left:-10px;margin-top:-12px;position:absolute;width:20px;}
.s3d-button.s3d-header-button.s3d-popout-button {color:#666;padding:0 5px 0 10px;font-size:13px;height:30px;}
.s3d-button.s3d-header-button.s3d-popout-button:hover {background:url("/dev/images/button_popout_hover.png") repeat-x scroll left -1px transparent;border:1px solid #31b2eb;color:#fff;}
.s3d-button.s3d-header-button.s3d-popout-button:disabled {background:#fff;cursor:auto;color:#ccc}
.s3d-button.s3d-header-button.s3d-popout-button:disabled:hover {background:#fff;;border:1px solid #E0E3E5;box-shadow:0 0 4px -2px #A8A8A8 inset;}
.s3d-button.s3d-header-button.s3d-popout-button > span {display:inline-block;float:right;font-size:18px;margin-left:4px;}

/* Header buttons, smaller */
.s3d-button.s3d-header-button.s3d-header-smaller-button,
a.s3d-button.s3d-header-button.s3d-header-smaller-button {font-size:10px;height:23px;padding:0 5px;line-height:19px;}
a.s3d-button.s3d-header-button.s3d-header-smaller-button {display:inline-block;height:22px;padding:0 8px;}

/* Regular in-page buttons */
.s3d-button.s3d-regular-button{background:url("/dev/images/button_regular_default.png") repeat-x scroll left top transparent;height:24px;padding:0 7px;border:1px solid #e0e3e5;color:#666;box-shadow:0 1px 1px 0 #999;text-shadow:0 2px 3px #fff;}
.s3d-button.s3d-regular-button:hover{background:url("/dev/images/button_regular_hover.png") repeat-x scroll left top transparent;}
a.s3d-button.s3d-regular-button{height:24px;line-height:24px;}

/* Large in-page buttons */
.s3d-button.s3d-large-button {background:url("/dev/images/button_large_default.png") repeat-x scroll left top transparent;height:31px;padding:0 7px;border:1px solid #e0e3e5;color:#2683bc;box-shadow:0 1px 1px 0 #999;text-shadow:0 2px 3px #fff;font-size:13px;}
.s3d-button.s3d-large-button:hover {background:url("/dev/images/button_large_hover.png") repeat-x scroll left top transparent;color:#999;}
.s3d-button.s3d-large-button.grey {color:#666;}
a.s3d-button.s3d-large-button {line-height:31px;}

/* Overlay buttons */
.s3d-button.s3d-overlay-button {background:url("/dev/images/button_overlay_default.png") repeat-x scroll left top transparent;border:1px solid #E0E3E5;font-size:11px;font-weight:bold;height:24px;margin-left:15px;box-shadow:0 1px 1px 0 #999;text-shadow:0 2px 3px #fff;color:#2683bc;}
.s3d-button.s3d-overlay-button:hover {background:url("/dev/images/button_overlay_hover.png") repeat-x scroll left top transparent;}
.s3d-button.s3d-overlay-button:disabled {color:#ccc;}
.s3d-button.s3d-overlay-button:disabled:hover {background:none !important;border:none !important;cursor:auto;}
a.s3d-button.s3d-overlay-button {display:inline-block;height:21px;line-height:21px;}

/* Overlay Action buttons */
.s3d-button.s3d-overlay-action-button {background:url("/dev/images/button_overlay_action_default.png") repeat-x scroll left top transparent;font-size:11px;font-weight:bold;height:25px;margin-left:15px;box-shadow:0 1px 2px 0 #222;color:#fff;padding:0 5px;}
.s3d-button.s3d-overlay-action-button:hover, .s3d-button.s3d-overlay-action-button:focus {background:url("/dev/images/button_overlay_action_hover.png") repeat-x scroll left top transparent;color:#22AAE7;}
.s3d-button.s3d-overlay-action-button:disabled {color:#ccc;}
.s3d-button.s3d-overlay-action-button:disabled:hover {background:url("/dev/images/button_overlay_action_default.png") repeat-x scroll left top transparent;cursor:auto;}

.s3d-button.s3d-overlay-button.grey, .s3d-button.s3d-overlay-action-button.grey {color:#666;}

/* No text buttons */
.s3d-button.s3d-button-no-text {padding:0 !important;}

/* Button in another button */
.s3d-button .s3d-button-in-button {background:url("/dev/images/button_in_button_default.png") repeat-x top left #5d6267;color:#fff;display:inline;height:15px;line-height:15px;margin:0 0 0 5px;padding:2px 4px;border:1px solid #4f4f4f;}
.s3d-button .s3d-button-in-button-lighter {background:url("/dev/images/button_in_button_light_default.png") repeat-x scroll left top #CBC9C9;border:1px solid #B5B5B5;color:#fff;display:inline;height:12px;line-height:12px;margin:2px 9px 0 -3px;padding:0 4px;float:left;}

.s3d-button.s3d-overlay-action-button .s3d-button-in-button {display:inline-block;margin-top:-3px;}

/*
 * WIDGET LAYOUT
 */
.s3d-widget-titlebar{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -473px transparent;padding:0 10px 0 0;min-height:49px;}
.s3d-widget-titlebar-inner{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -570px transparent;padding:0 0 0 5px;min-height:50px;}
.s3d-widget .s3d-widget-content,.s3d-content{padding:10px 0;margin:0!important;border-left:3px solid #D4DADE;border-right:3px solid #D4DADE;}
.s3d-widget .s3d-widget-options-footer-left{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -70px -436px #D5DBDF;height:12px;}
.s3d-widget-small-content{padding:5px 0!important;}
.fl-widget { margin-bottom :7px;}
.fl-widget .fl-widget-options-footer-top{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -528px #D5DBDF;height:16px;}
.fl-widget .fl-widget-options .fl-widget-options-top-right{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -432px transparent;float:right;height:16px;padding:0 0 7px 14px;width:16px;}
.s3d-widget .s3d-widget-options-footer-right{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -456px #D5DBDF;float:right;height:12px;width:16px;}
.s3d-widget .s3d-widget-no-options,.s3d-no-options{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -1453px transparent;padding:0 5px 0 0;margin:0;}
.s3d-widget .s3d-widget-no-options-inner,.s3d-no-options-inner{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -1433px transparent;margin:0;height:6px;}

.fl-col-flex2 .fl-col{margin-left:5px;margin-right:0;padding-left:0;padding-right:0;width:348px;margin-right:8px;}
.fl-col-flex2 .fl-col:last-child {margin-right:0;}
.fl-col-flex3 .fl-col{margin-left:5px;margin-right:0;padding-left:0;padding-right:0;width:228px;margin-right:8px;}
.fl-col-flex3 .fl-col:last-child {margin-right:0;}

.s3d-inset-shadow-container {background-color:#ededed;border:1px solid #ededed;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;box-shadow:inset 0 5px 5px -5px #888888;-moz-box-shadow:inset 0 5px 5px -5px #888888;-webkit-box-shadow:inset 0 5px 5px -5px #888888;}
.s3d-outer-shadow-container {background-color:#FFF;border-radius:4px;box-shadow:0 1px 1px 0 #BBB;-moz-box-shadow:0 1px 1px 0 #BBB;-webkit-box-shadow:0 1px 1px 0 #BBB;margin:0 3px 3px 0;padding:15px 13px 11px;}

/*
 * SEARCH BOXES
 */
.s3d-search-container .s3d-search-inputfield {height: 22px;padding: 0 4px;color: #333;font-size: 12px;border:1px solid #ccc !important;float:left;}
.s3d-search-container input::-webkit-input-placeholder {color:#7c7b7b;font-style:italic;font-size:11px !important;}
.s3d-search-container input:-moz-placeholder{color:#7c7b7b;font-style:italic;font-size:11px !important;}
.s3d-search-container .s3d-search-button {height:25px !important;width:24px;padding:3px 0 0 0 !important;margin-left:2px;background:none !important;border: none !important;box-shadow:none !important;-moz-box-shadow:none !important;-webkit-box-shadow:none !important;}
.s3d-search-container .s3d-search-button:hover, .s3d-search-container .s3d-search-button:focus {background: url("/dev/images/searchbutton_hover_bg.png") repeat-x top left transparent !important;border:1px solid #ccc !important;}
.s3d-search-container .s3d-search-button img {margin:0 auto;}
.s3d-search-container .s3d-search-button .s3d-search-button-icon{margin:0 auto;display:block;width:16px;height:19px;background: url("/dev/images/search_icon.png") no-repeat top left transparent;}

/*
 * NO RESULTS VIEW (When a widget feed doesn't return any results)
 */
.s3d-no-results-container {background: url("/dev/images/noresults_bg.png") repeat scroll left top transparent;-moz-border-radius:5px;border-radius:5px;padding:20px;margin:30px 0px 0px;list-style:none}
.s3d-no-results-container .s3d-no-results-arrow-up {background:url("/dev/images/noresults_arrow_up.png") no-repeat top left transparent;position:absolute;margin-top:-44px;width:36px;height:24px;}
.s3d-no-results-container h1 {color:#666;font-size:18px;font-weight:normal;margin:5px 0 10px 0 !important;}
.s3d-no-results-container h1 button{font-size:18px;}
.s3d-no-results-container .s3d-no-results-icon {width:55px;height:50px;float:left;margin:0 12px 0 0;}
.s3d-no-results-container .s3d-no-results-icon.less-margin {margin:-8px 12px 0 0;}

.s3d-no-results-container .s3d-no-results-magnifier {background:url("/dev/images/magnifier_icon_55x55.png") no-repeat top left transparent;}
.s3d-no-results-container .s3d-no-results-world {background:url("/dev/images/world_icon_55x55.png") no-repeat top left transparent;}
.s3d-no-results-container .s3d-no-results-people {background:url("/dev/images/person_icon_55x55.png") no-repeat top left transparent;}
.s3d-no-results-container .s3d-no-results-content {background:url("/dev/images/content_icon_55x55.png") no-repeat top left transparent;}
.s3d-no-results-container .s3d-no-results-content-small {background:url("/dev/images/content_icon_42x46.png") no-repeat top left transparent;width:46px;height:42px;}
.s3d-no-results-container .s3d-no-results-memberships {background:url("/dev/images/memberships_icon_60x55.png") no-repeat top left transparent;width:60px;}
.s3d-no-results-container .s3d-no-results-memberships-small {background:url("/dev/images/memberships_icon_42x46.png") no-repeat top left transparent;width:46px;height:42px;}
.s3d-no-results-container .s3d-no-results-contacts {background:url("/dev/images/contacts_icon_60x55.png") no-repeat top left transparent;width:60px;}
.s3d-no-results-container .s3d-no-results-contacts-small {background:url("/dev/images/contacts_icon_42x46.png") no-repeat top left transparent;width:46px;height:42px;}
.s3d-no-results-container .s3d-no-results-replied {background:url("/dev/images/replied_icon_55x55.png") no-repeat top left transparent;}
.s3d-no-results-container .s3d-no-results-trash {background:url("/dev/images/trash_icon_55x55.png") no-repeat top left transparent;}
.s3d-no-results-container .s3d-no-results-upload {background:url("/dev/images/upload_icon_42x46.png") no-repeat top left transparent;width:46px;height:42px;}
.s3d-no-results-container .s3d-no-results-search-messages {background:url("/dev/images/no-messages-found-icon.png") no-repeat top left transparent;width:46px;height:42px;}
.s3d-no-results-container .s3d-no-results-search-world {background:url("/dev/images/world_search_icon_55x55.png") no-repeat scroll left top transparent;}
.s3d-no-results-container .s3d-no-results-search-people {background:url("/dev/images/people_search_icon_55x55.png") no-repeat scroll left top transparent;}
.s3d-no-results-container .s3d-no-results-search-content {background:url("/dev/images/content_search_icon_55x55.png") no-repeat scroll left top transparent;}
.s3d-no-results-container .s3d-no-results-sakai2sites {background:url("/dev/images/sakai2_icon_43x40.png") no-repeat top left transparent;width:46px;height:45px;}

.s3d-action-icon {width:16px;height:16px;cursor:pointer; margin-top: -2px;}
.s3d-action-icon-spacing-right {margin-right:7px;}
.s3d-action-icon-spacing-left {margin-left:7px;}
.s3d-action-icon.disabled {display:none;}

.s3d-actions-delete {background:url("/dev/images/delete_icon_default.png") no-repeat top left transparent;}
.s3d-actions-delete:hover {background:url("/dev/images/delete_icon_hover.png") no-repeat top left transparent;}

.s3d-actions-addtolibrary {background:url("/dev/images/addtolibrary_icon_default.png") no-repeat top left transparent; width: 17px; height: 25px;}
.s3d-actions-addtolibrary:hover {background:url("/dev/images/addtolibrary_icon_hover.png") no-repeat top left transparent;}

.s3d-actions-author {background:url("/dev/images/author_icon_default.png") no-repeat scroll left top transparent;width:32px !important;}
.s3d-actions-author:hover {background:url("/dev/images/author_icon_hover.png") no-repeat scroll left top transparent;}

.s3d-actions-share {background:url("/dev/images/share_icon_default.png") no-repeat scroll left top transparent; width: 23px !important;}
.s3d-actions-share:hover {background:url("/dev/images/share_icon_hover.png") no-repeat scroll left top transparent;}

.s3d-actions-message {background:url("/dev/images/message_icon_default.png") no-repeat scroll left top transparent;}
.s3d-actions-message:hover {background:url("/dev/images/message_icon_hover.png") no-repeat scroll left top transparent;}
.s3d-button:hover .s3d-actions-message {background:url("/dev/images/message_icon_hover.png") no-repeat scroll left top transparent;}
.s3d-button:disabled:hover .s3d-actions-message {background:url("/dev/images/message_icon_default.png") no-repeat scroll left top transparent;}

.s3d-black-check-icon {background:url("/dev/images/black_check_icon.png") no-repeat scroll left top transparent;}

.s3d-above-icon {background:url("/dev/images/above_icon_16x16.png") no-repeat scroll left top transparent;}
.s3d-below-icon {background:url("/dev/images/below_icon_16x16.png") no-repeat scroll left top transparent;}

/*
 * CONTENT LAYOUT
 */
.s3d-header .s3d-fixed-container .s3d-decor-left{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll 0 -10px transparent;float:left;height:5px;margin-left:-20px;overflow:visible;width:5px;}
.s3d-header .s3d-fixed-container .s3d-decor{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -10px transparent;float:right;height:5px;margin-right:-20px;width:5px;position:relative;*right:-15px;}
.s3d-main-container{background:#fff;}

/*
 * CHROME STYLES
 * HEADINGS
 */
.s3d-site-heading{padding:10px 0;font-weight:bold;color:#454A4F;}
.s3d-site-heading h1{margin:0;padding:0;}

/* PROGRAMMATICALLY SET STYLES
 * styles used to programmatically set placement of widgets on the page
 */
.inline_class_widget_rightfloat{float:right; padding: 5px 0px 5px 10px;}
.inline_class_widget_leftfloat{float:left; padding: 5px 10px 5px 0px;}

/*
 * ACTIONS
 * links used to trigger an action
 * default styling: bold blue link
 * Variants:
 * - action series: links are inside list items, each list item is separated by a divider
 */
a.s3d-action,.s3d-actions a{color:#2683bc;font-weight:bold;font-size:13px;}
a.s3d-action-seeall{font-size:11px!important;}

/* Primary button */
.s3d-button-primary{background-position:right -110px;}
.s3d-button-primary .s3d-button-inner{background-position:left -110px;}

/* Search button */
.s3d-search-button{padding-right:8px;}
.s3d-search-button .s3d-button-icon-right{padding-right:22px;background-image:url(/dev/images/dashboard_sprite.png);background-position:42px -394px;display:inline;}

/*
 * CONTEXT MENU FOR DROPDOWNS
 */.context_menu{left:18px;padding:0;position:absolute;top:124px;}
.context_menu img{border:1px solid #555;border-bottom:none;}
.context_menu ul{margin:0;margin-top:-3px;background-color:#eee;border:1px solid #555;}
.context_menu ul li{list-style-type:none;}
.context_menu ul li a{color:#666;font-size:.95em;display:block;padding:2px 20px 2px 4px;}

/*
 * INPUT FIELDS
 */
input[type=text], input[type=password], input[type=email], input[type=url], textarea{border:1px solid #A9A9A9;}

/*
 * CONTENT AREA TOP TABS
 */.s3d-primary-tabs{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -1622px transparent;}
.s3d-primary-tabs,.s3d-primary-tabs-inner{height:25px;border:none;padding:2px 5px 0;display:block;}
.s3d-primary-tabs ul.fl-tabs{border:none;padding:0;margin:0;float:right;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll left -1592px transparent;padding-left:20px;}
.s3d-primary-tabs .fl-tabs-right li{margin-top:3px;}
.s3d-primary-tabs ul.fl-tabs-left{float:left;padding:1px 0 0 3px;}
.s3d-primary-tabs ul li{margin:0;margin-top:2px;padding:0;background:transparent;border:none;display:block;float:left;}
.s3d-primary-tabs ul li a{padding:2px 18px 4px 13px;line-height:20px;background:transparent;border:none;font-weight:bold;color:#000;display:block;float:left;margin:0;position:relative;bottom:0!important;}
.s3d-primary-tabs ul li.fl-tabs-active,.s3d-primary-tabs ul li.fl-tabs-active a{background-color:#FFF;background-image:url(/dev/images/dashboard_sprite.png);background-attachment:scroll;height:30px;bottom:0!important;position:relative;}
.s3d-primary-tabs ul li.fl-tabs-active{padding-left:5px;background-position:left -1664px;}
.s3d-primary-tabs ul li.fl-tabs-active a{background-position:right -1714px;font-weight:400;border:none;padding-left:15px;margin:0;}
.fl-tab-content{border:none;margin:0;}

/*
 * AUTOSUGGEST
 */
.requireUser ul.as-selections{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;border:1px solid #a9a9a9;}
ul.as-selections.loading{background:#fff url(../../../dev/images/ajax_load.gif) center center no-repeat;}
ul.as-selections li.as-original input {border:0;}
ul.as-selections textarea.as-input, ul.as-selections input.as-input{border:0;resize:none;}
ul.as-selections textarea.as-input{padding:0;}
.autosuggest_wrapper{float:left;position:relative;width:100%;}
.autosuggest_wrapper ul.as-list{top:100%;margin-top:-15px;}
.autosuggest_wrapper .list_categories{float:right;}
.autosuggest_wrapper textarea {overflow:hidden;}

/* http://blogs.sitepoint.com/2005/02/26/simple-clearing-of-floats/ */
.clearfix{overflow:auto;}

 /*
 * OLD DIALOG LAYOUT
 */
.dialog{color:#333;display:none;left:50%;margin-left:-250px;position:absolute;top:12%;width:500px;}
.jqmOverlay{background-color:#000;opacity:0.6 !important}

/* Dialog header */
.dialog_header{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -641px transparent;padding:0 8px 0 0;}
.dialog_header_inner{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -819px transparent;}
.dialog_header h1{color:#fff;display:block;font-size:1.1em;margin:0;padding:15px 20px;}
.dialog_header .dialog_close_image{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -40px -641px transparent;cursor:pointer;display:block;height:15px;overflow:hidden;position:absolute;right:20px;top:17px;text-indent:-5000px;width:14px;}

/* Dialog content */
.dialog_content{background-color:#fff;border-left:3px #454a4f solid;border-right:3px #454a4f solid;padding:7px 20px;}
.dialog_content h1{font-size:1.1em;font-weight:bold;color:#333;margin:0;padding:5px 0;}
.dialog_content textarea{height:80px;width:98%;padding: 5px;}

/* Dialog buttons */
.dialog_buttons{clear:both;margin-top:20px;float:right;}

/* Dialog footer */
.dialog_footer{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -957px transparent;padding:0 8px 0 0;}
.dialog_footer_inner{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -937px transparent;height:6px;}

/* Dialog tooltip header */
.dialog_tooltip_header_arrow{background:url(/dev/images/tour_sprite.png) no-repeat scroll -254px -76px transparent;height:18px;margin:0 0 0 20px;width:35px;}
.dialog_tooltip_header{background:url(/dev/images/tour_sprite.png) no-repeat scroll right -20px transparent;padding:0 22px 0 0;}
.dialog_tooltip_header_inner{background:url(/dev/images/tour_sprite.png) no-repeat scroll left top transparent;height:14px;}

/* Dialog tooltip content */
.dialog_tooltip_close{float:right;}
.dialog_tooltip_content{background:url(/dev/images/tour_sprite.png) no-repeat scroll left -80px transparent;padding:7px 20px 0;}
.dialog_tooltip_content h2{font-size:1.1em;font-weight:bold;color:#333;margin:0;padding:0 0 5px;}
.dialog_tooltip_content p{font-size:.9em;}
.dialog_tooltip_content textarea{height:80px;width:98%;}

/* Dialog tooltip footer */
.dialog_tooltip_footer{background:url(/dev/images/tour_sprite.png) no-repeat scroll right -60px transparent;padding:0 22px 0 0;}
.dialog_tooltip_footer_inner{background:url(/dev/images/tour_sprite.png) no-repeat scroll left -40px transparent;height:14px;}
.dialog_tooltip_footer_arrow{background:url(/dev/images/tour_sprite.png) no-repeat scroll -217px -80px transparent;width:35px;height:18px;margin:0 0 0 20px;}

/*
 * NEW DIALOG LAYOUT
 */
.s3d-dialog{color:#333;display:none;left:50%;margin-left:-250px;position:absolute;top:50px;width:500px;}
.s3d-dialog-container {background-color:#fff; border:1px solid #a9a9a9; -moz-border-radius:5px;border-radius:5px;padding:7px 20px 12px;box-shadow:0 0 10px #000;-moz-box-shadow:0 0 10px #000;-webkit-box-shadow:0 0 10px #000;color:#424242;font-size:12px;}
.s3d-dialog-container .s3d-dialog-close {background:url("/dev/images/dialog_close.png") no-repeat top left transparent;width:19px;height:17px;float:right;cursor:pointer;margin:-2px -15px 0 0;}
.s3d-dialog-container .s3d-dialog-close:hover {background:url("/dev/images/dialog_close.png") no-repeat left -19px transparent;}
.s3d-dialog-container h1.s3d-dialog-header {border-bottom:1px dotted #d4d4d4;color:#666;font-size:19px;font-weight:normal;padding-bottom:11px;margin-bottom:15px;}

/* Widget bar item counts */
.s3d-counts-outer{padding:3px 2px;background:#fff;border:1px solid #D6D9DB;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;box-shadow:0 0 4px -2px #A8A8A8 inset;-webkit-box-shadow:0 0 4px -2px #A8A8A8 inset;-moz-box-shadow:0 0 4px -2px #A8A8A8 inset; font-size: 11px; position: relative; top: -1px; margin-left: 5px;}
.s3d-counts-outer a{padding-right:6px;color:#707070;}
.s3d-counts-inner{color:#fff;padding:0px 4px;background:#D4D4D4;border:1px solid #CACACA;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;box-shadow:0 0 4px -2px #A2A2A2 inset;-webkit-box-shadow:0 0 4px -2px #A2A2A2 inset;-moz-box-shadow:0 0 4px -2px #A2A2A2 inset;}

/*
 * CHAT
 */
.chat_available_status_online{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -33px -395px transparent;}
.chat_available_status_busy{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -63px -395px transparent;}
.chat_available_status_offline{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -93px -395px transparent;}
.chat_available_status_offline,.chat_available_status_busy,.chat_available_status_online{padding-left:15px;}

/*
 * LISTS
 */
.s3d-list-item{list-style:none outside none;padding:5px 0 5px 10px!important;margin:0!important;clear:both;overflow:hidden;}
.s3d-list-entity-picture{float:left;height:32px;margin-right:10px;width:32px;}
.s3d-entity-displayname{padding-top:4px;margin:4px 0 0 8px;float:left;}
.s3d-list-link-full-space{clear:both;height:100%;}
ul li.s3d-list-item:hover{background-color:#f1f9fd;}

.s3d-dropdownlistone-text{padding:0 7px;border-right:none;color:#fff;font-size:11px;}
.s3d-dropdownlistone-text .dropdownlistone_arrow{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -149px -394px transparent;padding-right:17px;padding-left:8px;}
.s3d-dropdownlistone-menu{background-color:#868a8d;line-height:16px;position:absolute;z-index:500;padding:0 0 6px;min-width:100px;}
.s3d-dropdownlistone-menu div{margin-top:5px;}
.s3d-dropdownlistone-menu ul{margin:0;padding:0;}
.s3d-dropdownlistone-menu li{display:block;list-style-type:none;margin:0;padding:3px 5px 6px 13px;}
.s3d-dropdownlistone-menu li a{border:none;color:#fff;padding:0;}
.s3d-dropdownlistone-menu li a:hover, .s3d-dropdownlistone-menu li button:hover{color:#ddd;}
.s3d-dropdownlistone-menu-border{border-bottom:1px solid #777;}
.s3d-dropdownlistone-link-inactive {color:#aaa;}

.s3d-dropdownlisttwo-text{color: #666666;}
.s3d-dropdownlisttwo-text span{float:left;}
.s3d-dropdownlisttwo-text .s3d-dropdownlisttwo-arrow-down{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -128px -400px transparent;float:left;height: 10px;margin: 6px 0 0 6px;width: 10px;}
.s3d-dropdownlisttwo-text .s3d-dropdownlisttwo-arrow-up{background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -218px -400px transparent;float:left;height: 10px;margin: 6px 0 0 6px;width: 10px;}
.s3d-dropdownlisttwo-menu{font-size:.95em!important;left:110px;list-style-image:none;position:absolute;top:29px;z-index:10;margin:0;}
.s3d-dropdownlisttwo-menu ul{background-color:#fff;border:1px solid #CCC;margin:0;padding:5px 15px 5px 7px;}
.s3d-dropdownlisttwo-menu li{list-style-type:none;padding:0;}

/*
 * POPOVERS
 */
.s3d-popover-container {border: 1px solid #EAEBEC;border-top: none;border-radius: 5px;-moz-border-radius: 5px;-webkit-border-radius: 5px;box-shadow: 0px 0px 5px #454545;-moz-box-shadow: 0px 0px 5px #454545;-webkit-box-shadow: 0px 0px 5px #454545;background:url("/dev/images/popover_bg.png") repeat-x scroll left top #f4f4f4;font-size:13px;}
.s3d-popover-container .s3d-popover-inner {padding:10px;word-wrap:break-word;}
.s3d-popover-arrowup {background:url("/dev/images/popover_arrowup.png") no-repeat scroll left top transparent;height:13px;margin-left:110px;position:relative;width:33px;}

/*
 * TAGLISTS
 */
.s3d-taglist-container {max-height:53px;overflow-y:hidden;}
.s3d-taglist{margin:3px 0 0 20px;text-indent:-20px;}
.s3d-taglist li{display:inline;list-style:disc;padding: 0;margin:0;list-position:inside}
.s3d-taglist li a{font-size:11px !important;font-weight:normal !important;}
.s3d-taglist li:before{content:'\0020\00b7\0020'}
.s3d-taglist li:first-child:before{content:''}
.s3d-taglist li:first-child{list-style:none;background:url("/devwidgets/entity/images/entity_tags_icon.png") no-repeat scroll left 1px transparent;padding-left:20px;}

/*
 * HIGHLIGHTED AREAS
 */
.s3d-highlight_area_background{background-color:#EFF2F4;padding:0 10px;margin:0 0 15px;}
.s3d-highlight_area_background_tl{height:7px;margin-left:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -1037px transparent;}
.s3d-highlight_area_background_tinner{height:7px;margin-right:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -1047px transparent;}
.s3d-highlight_area_background_bl{clear:both;height:7px;margin-left:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -1057px transparent;}
.s3d-highlight_area_background_binner{clear:both;height:7px;margin-right:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -1067px transparent;}
.s3d-highlight_area_background_white_content_tl{height:7px;margin-left:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -1198px transparent;}
.s3d-highlight_area_background_white_content_tinner{height:7px;margin-right:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -1208px transparent;}
.s3d-highlight_area_background_white_content_bl{clear:both;height:7px;margin-left:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -1217px transparent;}
.s3d-highlight_area_background_white_content_binner{clear:both;height:7px;margin-right:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -1227px transparent;}
.s3d-highlight_area_background_darker1{background-color:#d5dbdf;padding:0 10px;margin:0 0 15px;}
.s3d-highlight_area_background_darker1_tl{height:7px;margin-left:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -1077px transparent;}
.s3d-highlight_area_background_darker1_tinner{height:7px;margin-right:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -1087px transparent;}
.s3d-highlight_area_background_darker1_bl{height:7px;margin-left:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -1097px transparent;}
.s3d-highlight_area_background_darker1_binner{height:7px;margin-right:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -1107px transparent;}
.s3d-highlight_area_background_darker1_white_content_tl{height:7px;margin-left:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -1117px transparent;}
.s3d-highlight_area_background_darker1_white_content_tinner{height:7px;margin-right:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -1127px transparent;}
.s3d-highlight_area_background_darker1_white_content_bl{clear:both;height:7px;margin-left:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll -10px -1137px transparent;}
.s3d-highlight_area_background_darker1_white_content_binner{clear:both;height:7px;margin-right:-10px;background:url(/dev/images/dashboard_sprite.png) no-repeat scroll right -1147px transparent;}

/*
 * SEARCH
 */

/* SEARCH BAR */
.s3d-search-bar{margin-left:205px; position: relative; top: -10px;}
.s3d-search-bar input{color:#6d6d6d !important;width:500px;font-size:1.2em !important;display:block;}

/* SEARCH HEADER */
.s3d-search-header{text-align:left;font-weight:normal;font-size:1em;color:#666;width:700px;}
.s3d-search-header{margin-bottom: 5px;padding:5px 5px 8px 10px;background-color:#f5f5f5;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;box-shadow:0 1px 1px 1px #CCC;-webkit-box-shadow:0 1px 1px 1px #CCC;-moz-box-shadow:0 1px 1px 1px #CCC;}
.s3d-search-header .s3d-search-header-type{display:inline-block; padding-top: 2px;}
.s3d-search-header .s3d-search-selects{float:right;}
.s3d-search-header .s3d-search-selects div{display:inline;float:left;}
.s3d-search-header .s3d-search-selects select{border: 1px solid #CCCCCC;margin:0;}
.s3d-search-header .s3d-search-selects .s3d-search-sort{margin-left:10px;}

/* SEARCH REFINE BY TAGS */
.s3d-search-tag{padding:0;margin:5px 2px 0 2px;}
.s3d-search-activetags span, .s3d-search-refineby span{display:inline-block;}
.s3d-search-activetags button{color:#6C6C6C;cursor:pointer;border:1px solid #b4b5b5;border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;background-color:#FEFEFE;}
.s3d-search-activetags button img{margin-left:8px;}
.s3d-search-refineby-list{margin-bottom:15px;}
.s3d-search-refineby .s3d-search-refineby-title{margin-bottom:5px;display:block;color:#64707E;}
.s3d-search-refineby button{cursor:pointer;color:#585858;border:1px solid #A5BECF;border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;background:url("/dev/images/search_tag_button.png") repeat-x scroll left top #cde6f7;}

/* SEARCH RESULTS */
.s3d-search-results{display:block; overflow:hidden;width:715px;}
.s3d-search-results .s3d-search-results-container{margin:10px 0 0;padding:0;border-top: 1px solid #e9e9e9;}
.s3d-search-result{color:#333;padding:10px;border-bottom: 1px dotted #cccccc;list-style:none}
.s3d-search-result a img{float:left;padding:0 10px 5px 0;width:40px;}
.s3d-search-result-right{margin-left:80px;}
.s3d-search-results .jq_pager{clear:both;border-bottom: 1px solid #e9e9e9;}
.s3d-search-result-detail-separator{color:#cccccc;margin: 0 5px;}
.s3d-search-result:hover{background-color:#f2f9fc;}

/* search results common elements in content people and group results */
.s3d-search-result-content .searchcontent_result_usedin_icon, .s3d-search-result-group .searchgroups_result_usedin_icon{background: url("/devwidgets/entity/images/entity_used_by_icon.png") no-repeat scroll left top transparent;}
.s3d-search-result-content .searchcontent_result_comments_icon, .s3d-search-result-group .searchgroups_result_comments_icon{background: url("/devwidgets/entity/images/entity_comment_icon.png") no-repeat scroll left top transparent;}
.s3d-search-result-content .searchcontent_result_left_filler, .s3d-search-result-person .searchpeople_result_left_filler, .s3d-search-result-group .searchgroups_result_left_filler{margin:1px 8px 0 0;display: inline;float: left;height: 25px;width: 17px;}
.s3d-search-result-content .searchcontent_result_plus, .s3d-search-result-person .searchpeople_result_plus, .s3d-search-result-group .searchgroups_result_plus{color:#e4e4e4;font-size:x-large;font-weight:100;margin:-5px 10px 10px -2px;}
.s3d-search-result-content .searchcontent_result_icon, .s3d-search-result-person .searchpeople_result_icon, .s3d-search-result-group .searchgroups_result_icon{display:inline-block;height:10px;width:15px;}
.s3d-search-result-content .searchcontent_result_description, .s3d-search-result-person .searchperson_result_description, .s3d-search-result-group .searchgroup_result_description{word-wrap:break-word;}
/* search results hide elements used in grid view by default */
.s3d-search-result-content .searchcontent_result_description_grid, .s3d-search-result-person .searchpeople_result_description_grid, .s3d-search-result-group .searchgroups_result_description_grid,
.s3d-search-result-name-grid, .s3d-search-result-tag-grid, .s3d-search-result-avatar-large,
.s3d-search-result-content .searchcontent_result_by_name_grid{display:none;}

/* search results content */
.s3d-search-result-content .searchcontent_result_description{margin:0 0 5px;color:#333;font-size:11px;padding:6px 0; word-wrap: break-word;}
.s3d-search-result-content .searchcontent_result_mimetype{font-size:smaller;white-space:pre;text-transform:uppercase;}
.s3d-search-result-content .searchcontent_result_by{padding:3px 0;font-size:11px;}
.s3d-search-result-content .searchcontent_result_detail_separator{color:#cccccc;}
.s3d-search-result-content .searchcontent_result_usedin{margin-top:2px;font-size:11px;}
.s3d-search-result-content .searchcontent_result_share_icon{display:inline-block;float:right;margin-left:10px;}
.s3d-search-result-content .searchcontent_result_author_icon{margin-left:8px;display:inline-block;float:right;}

/* search results people */
.s3d-search-result-person .searchpeople_result_person{margin:5px 8px 10px;padding:10px;width:280px;background-color:#FFF;height:50px;float:left;border:none;overflow:hidden;}
.s3d-search-result-person .searchpeople_result_person_picture{float:left;display:block;width:48px;height:48px;padding:0;margin:0;}
.s3d-search-result-person .searchpeople_result_dot{display:block;float:left;position:relative;left:5px;}
.s3d-search-result-person .searchpeople_result_person_dept{display:block;color:#999;font-size:.85em;margin:0 0 4px 57px;line-height:12px;}
.s3d-search-result-person .searchpeople_result_person_links{margin-left:57px;}
.s3d-search-result-person .searchpeople_result_person_link{font-size:.85em;}
.s3d-search-result-person .searchpeople_result_person_divider{color:#ddd;margin:0 0 0 0px!important;}
.s3d-search-result-person .searchpeople_result_person_threedots{display:block;width:150px;}
.s3d-search-result-person .searchpeople_result_counts{padding:3px 0;font-size:11px;}
.s3d-search-result-person .searchpeople_result_message_icon{display:inline-block;float:right;}

/* search results groups */
.s3d-search-result-group .searchgroups_result_grouptype {font-size:smaller;white-space:pre;}
.s3d-search-result-group .searchgroups_result_message_icon{display:inline-block;float:right;}
.s3d-search-result-group .searchgroups_result_usedin{font-size: 11px;padding:3px 0;}
.s3d-search-result-group .searchgroups_result_comments_icon{margin-left:8px;}
.s3d-search-result-group .searchgroups_result_description{color:#333;font-size:.90em;padding:3px 0;word-wrap: break-word;}
.s3d-search-result-group .searchgroups_result_plus{margin:1px 8px 0 0;display:inline;float:left;height:17px;width:17px;}
.s3d-search-result-group .searchgroups_result_plus:hover{cursor:pointer;}

/* search results grid */
.s3d-search-results-grid{border:0 !important;border-top:1px solid #ddd !important;padding-top:5px;border-spacing:10px;}
.s3d-search-results-grid .s3d-search-result{width:150px;height:232px;overflow:hidden;border: 1px solid #FFFFFF !important;float:left;position:relative;margin:0 8px 8px 0;clear:none;}
.s3d-search-results-grid .s3d-search-result a img{float:left !important;padding:0 !important;margin-left:24px;width:100px !important;height:100px !important;position:absolute;}
.s3d-search-results-grid .s3d-search-result-anonuser{display:none !important;}
.s3d-search-results-grid .s3d-search-result-right{margin:135px 0 0 7px;}
.s3d-search-results-grid .s3d-search-result-user-functions{position:absolute;float:left !important;margin:110px 0 0 21px !important;}
.s3d-search-results-grid .s3d-search-result-content .s3d-actions-addtolibrary{margin-right:8px;}
.s3d-search-results-grid .s3d-search-result-content .s3d-actions-author{margin-right:20px;}
.s3d-search-results-grid .s3d-search-result-content .searchcontent_result_usedin_line{display:block;margin-bottom:2px;}
.s3d-search-results-grid .s3d-search-result-group .s3d-actions-message{margin-left:60px;}
.s3d-search-results-grid .s3d-search-result-group .searchgroups_result_plus{margin-top:-1px;}
.s3d-search-results-grid .s3d-search-result-person .searchpeople_result_left_filler{margin: 0 70px 0 -50px;}
.s3d-search-results-grid .s3d-search-result-detail-separator{display:block;}
.s3d-search-results-grid .s3d-search-result-detail-separator span{display:none;}
.s3d-search-results-grid .searchpeople_result_description, .s3d-search-results-grid .searchgroups_result_description, .s3d-search-results-grid .searchcontent_result_description,
.s3d-search-results-grid .s3d-search-result-name, .s3d-search-results-grid .s3d-search-result-tag,
.s3d-search-results-grid .searchcontent_result_by_name{display:none;}
.s3d-search-results-grid .searchpeople_result_description_grid, .s3d-search-results-grid .searchgroups_result_description_grid, .s3d-search-results-grid .searchcontent_result_description_grid{display:none;word-wrap:break-word;}
.s3d-search-results-grid .s3d-search-result-name-grid, .s3d-search-results-grid .s3d-search-result-tag-grid, .s3d-search-results-grid .s3d-search-result-avatar-large,
.s3d-search-results-grid .searchcontent_result_by_name_grid{display:inline;}
.s3d-search-results-grid ~ .jq_pager{border:0;}
.s3d-search-results-grid .s3d-search-result:hover{border: 1px solid #e9e9e9;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;}

/* search results anon user */
.s3d-search-results-anon .s3d-search-result-user-functions{display:none;}
.s3d-search-results-anon .s3d-search-result-anonuser{display:inline;float:left;height:15px;width:15px;}
.s3d-search-results-anon .s3d-search-results-grid .s3d-search-result-right{margin:110px 0 0 0;}

/* Search list or grid view buttons */
.s3d-search-listview-options {float:right;padding:0!important;height:19px!important;margin-left:20px;}
.s3d-search-listview-options:hover {background:#fff!important;box-shadow:0 0 4px -2px #A8A8A8 inset!important;}
.s3d-search-listview-options > div {float:left;height:15px;padding:3px 4px 2px;}
.s3d-search-listview-options > div.selected, .s3d-search-listview-options > div:hover {background:url("/dev/images/button_header_hover.png") repeat-x scroll left -1px transparent;box-shadow:0 0 4px -2px #A8A8A8 inset;}
.s3d-search-listview-options .search_view_list {border-radius:0 5px 5px 0;}
.s3d-search-listview-options .search_view_grid {border-radius:5px 0 0 5px;}
.s3d-search-listview-options .s3d-action-icon {display:block!important;}

/* Search icons */
.s3d-search-results-gridview {background:url('/dev/images/search_grid_16x16.png') no-repeat top left transparent;}
.s3d-search-results-gridview:hover {background:url('/dev/images/search_grid_16x16_hover.png') no-repeat top left transparent;}
.s3d-search-results-gridview.selected {background:url('/dev/images/search_grid_16x16_hover.png') no-repeat top left transparent;}
.s3d-search-results-listview {background:url('/dev/images/search_list_16x16.png') no-repeat top left transparent;}
.s3d-search-results-listview:hover {background:url('/dev/images/search_list_16x16_hover.png') no-repeat top left transparent;}
.s3d-search-results-listview.selected {background:url('/dev/images/search_list_16x16_hover.png') no-repeat top left transparent;}
.s3d-search-results-carouselview {background:url('/dev/images/search_carousel_16x16.png') no-repeat top left transparent;margin-top:-2px;}
.s3d-search-results-carouselview:hover {background:url('/dev/images/search_carousel_16x16_hover.png') no-repeat top left transparent;}
.s3d-search-results-carouselview.selected {background:url('/dev/images/search_carousel_16x16_hover.png') no-repeat top left transparent;}
.s3d-search-results-blogview {background:url('/dev/images/search_blog_16x16.png') no-repeat top left transparent;margin-top:-1px;}
.s3d-search-results-blogview:hover {background:url('/dev/images/search_blog_16x16_hover.png') no-repeat top left transparent;}
.s3d-search-results-blogview.selected {background:url('/dev/images/search_blog_16x16_hover.png') no-repeat top left transparent;}

/*
 * Progress indicator
 */
#sakai_progressindicator {margin-top:25px;}
#sakai_progressindicator h1, #sakai_progressindicator p {text-align:center;}
#sakai_progressindicator .s3d-inset-shadow-container {height:50px;padding-top:30px;}
#sakai_progressindicator .s3d-inset-shadow-container img {display:block;height:20px;margin-left:auto;margin-right:auto;width:188px;}

/*
 * ICONS
 */
.s3d-icon-16{width:16px; height:16px;}
.s3d-icon-25{width:25px; height:25px;}
.s3d-icon-32{width:32px; height:32px;}
.s3d-icon-40{width:40px; height:40px;}
.s3d-icon-50{width:50px; height:50px;}
.s3d-icon-64{width:64px; height:64px;}
.s3d-icon-128{width:128px; height:128px;}
.icon-audio-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -958px 0 transparent;}
.icon-doc-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -112px 0 transparent;}
.icon-pdf-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -750px 0 transparent;}
.icon-pps-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -463px 0 transparent;}
.icon-swf-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -1040px 0 transparent;}
.icon-zip-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -1056px 0 transparent;}
.icon-spreadsheet-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -560px 0 transparent;}
.icon-txt-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -1086px 0 transparent;}
.icon-image-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -320px 0 transparent;}
.icon-html-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -302px 0 transparent;}
.icon-video-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -1118px 0 transparent;}
.icon-sound-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -622px 0 transparent;}
.icon-kmultiple-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -430px 0 transparent;}
.icon-url-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -304px 0 transparent;}
.icon-sakaidoc-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -1185px 0 transparent;}
.icon-unknown-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -143px 0 transparent;}
.icon-collection-sprite{background:url(/dev/images/icons_sprite.png) no-repeat scroll -430px 0 transparent;}

/*
 * Forms and Validation
 */
.s3d-form-field-wrapper{position:relative;}
.s3d-form-field-wrapper input, .s3d-form-field-wrapper textarea, .s3d-form-field-wrapper select,.s3d-form-field-wrapper ul.as-selections{float:left;clear:right;margin-bottom:15px;}
.s3d-form-field-wrapper input, .s3d-form-field-wrapper textarea{width:55%;padding:0 5px;}
.s3d-form-field-wrapper ul.as-selections input{padding:0px;}
.s3d-form-field-wrapper textarea{padding:5px;}
.s3d-form-field-wrapper input.s3d-input-full-width, .s3d-form-field-wrapper textarea.s3d-input-full-width{width:98%;clear:both;}
.s3d-form-field-wrapper ul.as-selections{padding: 0px 5px;width:98%;}
.s3d-form-field-wrapper input{height:21px;}
.s3d-form-field-wrapper label.s3d-input-label{float:left;width:35%;clear:left;text-align:right;padding:5px 2%;color:#666;}
.s3d-form-field-wrapper label.s3d-input-label-above{width:100%;clear:both;text-align:left;padding:0;}
.s3d-form-field-wrapper input.s3d-error, .s3d-form-field-wrapper textarea.s3d-error,.s3d-form-field-wrapper input.s3d-error-after, .s3d-form-field-wrapper textarea.s3d-error-after, .s3d-form-field-wrapper ul.as-selections.s3d-error{border:3px solid #cc0000;}
.s3d-form-field-wrapper span.s3d-error{clear:both;background-color:#cc0000;color:#fff;padding:0 5px;width:55%;float:left;margin-left:39%;border:3px solid #cc0000;font-size:11px;}
.s3d-form-field-wrapper span.s3d-error-after{clear:both;background-color:#cc0000;color:#fff;padding:0 5px;width:98%;float:left;margin-left:0;border:3px solid #cc0000;font-size:11px;}
.s3d-form-field-wrapper input::-webkit-input-placeholder, .s3d-form-field-wrapper textarea::-webkit-input-placeholder {color:#aaa;font-size:12px;}
.s3d-form-field-wrapper input:-moz-placeholder, .s3d-form-field-wrapper textarea:-moz-placeholder {color:#aaa;font-size:12px;}

/*
 * Drag and Drop
 */
.s3d-draggable-draggingitems {background-color:#1098d5;color:#fff;padding:4px 7px;display:inline-block;font-size:11px;box-shadow:0px 1px 3px 0 #999;-moz-box-shadow:0px 1px 3px 0 #999;-webkit-box-shadow:0px 1px 3px 0 #999;}
#s3d-draggeditems-container li {background:#e9f4f8;border:2px solid #d5e9f3;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;margin-bottom:2px;}
#s3d-draggeditems-container .s3d-draggable-hidden{display:none;}

/**
 * Licensed to the Sakai Foundation (SF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The SF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */
.s3d-page-column-left{float:left;width:187px;min-height:500px;border-top:solid #d6dadd 1px;background:url("/devwidgets/lhnavigation/images/lhnav_bg.png") repeat-x scroll 0 0 #FEFEFE;}
.s3d-page-column-right{float:left;width:773px;border-left:1px solid #d6dadd; border-top:1px solid #d6dadd;padding:0px 0px 20px;box-shadow: 3px -10px 7px 0;-moz-box-shadow: 3px -10px 7px 0;-webkit-box-shadow: 3px -10px 7px 0;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;}
/* .s3d-page-fullcolumn-nopadding{width:960px;min-height:100px;border-top:solid #d6dadd 1px;}
.s3d-page-fullcolumn-padding{width:920px;min-height:100px;border-top:solid #d6dadd 1px; padding: 20px 20px 30px;}
.s3d-page-full{height:100px;} */
.s3d-navigation-container{background: url("/devwidgets/topnavigation/images/topnav_bg.png") repeat-x scroll left top transparent;-moz-box-shadow:0 -5px 9px 6px #555555;-webkit-box-shadow:0 -5px 9px 6px #555555;box-shadow:0 -5px 9px 6px #555555;height: 40px;margin-left: auto;margin-right: auto;position: absolute;width: 100%;z-index: 999;}
.s3d-page-header{background:url("/devwidgets/entity/images/entity_bottom_bordershadow.png") repeat-x scroll left bottom, url("/devwidgets/entity/images/entity_bg.png") repeat-x scroll left top #f7f7f7;border-bottom: 1px solid #B3B3B4;min-height: 45px;margin-top: 40px;width:960px;}
.s3d-page-header-fullheight {min-height: 70px;}
.s3d-page-header.collection_modified {padding:0px;height:auto;width:960px;-moz-box-shadow:0 -5px 9px 6px #555555;-webkit-box-shadow:0 -5px 9px 6px #555555;box-shadow:0 -5px 9px 6px #555555;min-height:0;border-bottom:0;}
.s3d-fixed-container .s3d-container-shadow-left, .s3d-container-shadow-right {background:url("/dev/images/container_shadow_left.png") no-repeat scroll 0 0 transparent;height:346px;position:absolute;width:5px;margin-left:-5px;}
.s3d-container-shadow-right{background: url("/dev/images/container_shadow_right.png") no-repeat scroll 0 0 transparent;float: right;margin-left:960px;}

/* CSS THAT OVERWRITES MAIN CSS */
.s3d-main-container {padding: 0px !important;}
.fixed-container.s3d-main-container{width:960px;}
.s3d-twocolumn{background-color:#fff;}
.requireUser, .requireAnon {background: url("/dev/images/grey_bg.png") repeat-x scroll left -91px #f2f2f2 !important;}
.s3d-header .fixed-container {padding:0 !important; width:960px;}
.s3d-header .s3d-fixed-container .s3d-decor-left {margin-left:0;}
.s3d-header .s3d-fixed-container .s3d-decor {margin-right:0;}
.s3d-header .s3d-fixed-container .s3d-decor-left {background: url("/dev/images/pageHeader_tl.png") no-repeat scroll 0 0 transparent;}
.s3d-header .s3d-fixed-container .s3d-decor {background: url("/dev/images/pageHeader_tr.png") no-repeat scroll 0 0 transparent;}
.s3d-header .s3d-navigation-container{min-width:960px;}

/* Page titles */
.s3d-contentpage-title {border-bottom:5px solid #E1E1E1; color:#424242; font-size:1.25em; padding:8px 0; margin-bottom: 15px;}

/* Page bottom */
.s3d-bottom-spacer {clear: both; padding-bottom: 40px;}

/*
 * Licensed to the Sakai Foundation (SF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The SF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */

require(["jquery","sakai/sakai.api.core"], function($, sakai) {

    sakai_global.acknowledgements = function() {

        var pubdata = {
            "structure0": {
                "featured": {
                    "_ref": "id1",
                    "_title": "Featured",
                    "_order": 0,
                    "main": {
                        "_ref": "id2",
                        "_order": 0,
                        "_title": "Featured"
                    }
                },
                "ui": {
                    "_ref": "id2",
                    "_title": "UI Technologies",
                    "_order": 1,
                    "main": {
                        "_ref": "id2",
                        "_order": 0,
                        "_title": "UI Technologies"
                    }
                },
                "nakamura": {
                    "_title": "Back-end Technologies",
                    "_ref": "id3",
                    "_order": 2,
                    "main": {
                        "_ref": "id3",
                        "_order": 0,
                        "_title": "Back-end Technologies"
                    }
                }
            },
            "id1": {
                "rows": [
                    {
                        "id": "id2414417",
                        "columns": [
                            {
                                "width": 1,
                                "elements": [{
                                    "type": "htmlblock",
                                    "id": "id4"
                                }]
                            }
                        ]
                    }
                ],
                "id4": {
                    "htmlblock": {
                        "content": $("#acknowledgements_featured").html()
                    }
                }
            },
            "id2": {
                "rows": [
                    {
                        "id": "id3562190",
                        "columns": [
                            {
                                "width": 1,
                                "elements": [{
                                    "type": "htmlblock",
                                    "id": "id5"
                                }]
                            }
                        ]
                    }
                ],
                "id5": {
                    "htmlblock": {
                        "content": $("#acknowledgements_uitech").html()
                    }
                }
            },
            "id3": {
                "rows": [
                    {
                        "id": "id6521849",
                        "columns": [
                            {
                                "width": 1,
                                "elements": [{
                                    "type": "htmlblock",
                                    "id": "id6"
                                }]
                            }
                        ]
                    }
                ],
                "id6": {
                    "htmlblock": {
                        "content": $("#acknowledgements_backendtech").html()
                    }
                }
            }
        };

        var generateNav = function(){
            $(window).trigger("lhnav.init", [pubdata, {}, {}]);
        };

        var renderEntity = function(){
            $(window).trigger("sakai.entity.init", ["acknowledgements"]);
        };

        $(window).bind("lhnav.ready", function(){
            generateNav();
        });

        $(window).bind("sakai.entity.ready", function(){
            renderEntity();
        });

        generateNav();
        renderEntity();

    };

    sakai.api.Widgets.Container.registerForLoad("acknowledgements");
});

/*
 * Licensed to the Sakai Foundation (SF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The SF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */

require(["jquery","sakai/sakai.api.core"], function($, sakai) {

    sakai_global.category = sakai_global.category || {};

    sakai_global.category = function() {

        var originalTitle = document.title;
        var pubdata = {};
        var privdata = {};

        // Containers
        var $exploreNavigation = $("#explore_navigation");
        var toplevelId = "";

        // Templates
        var exploreNavigationTemplate = "explore_navigation_template";

        /**
         * Create the breadcrumb data and render on screen
         * @param {Object} dirData Object that contains children for the category
         * @param {Array} bbqData Array of IDs fetched with bbq to help identify correct children
         */
        var createBreadcrumb = function(dirData, bbqData){
            if (!dirData){
                sakai.api.Security.send404();
                return false;
            }
            // Create top level breadcrumb
            var breadcrumb = [];
            breadcrumb.push({
                "title": sakai.api.i18n.getValueForKey("ALL_CATEGORIES"),
                "id": bbqData[0],
                "link": true,
                "url": "/categories"
            });
            breadcrumb.push({
                "title": dirData.title,
                "id": dirData.id,
                "link": bbqData.length - 1
            });
            bbqData.splice(0,1);

            // Create children level breadcrumb
            var children = dirData.children[bbqData[0]];
            $.each(bbqData, function(index, item){
                breadcrumb.push({
                    "title": children.title,
                    "id": item,
                    "link": bbqData.length - 1 - index
                });
                if (children.children) {
                    children = children.children[bbqData[index]];
                }
            });

            $exploreNavigation.html(sakai.api.Util.TemplateRenderer(exploreNavigationTemplate,{"breadcrumb": breadcrumb}));
            document.title = originalTitle + " " + dirData.title;
        };

        /**
         * Generate the navigation object and pass it to the left hand navigation widget
         * @param {Object} navData Contains all data from the category the user is currently viewing
         */
        var generateNav = function(navData){

            toplevelId = navData.id;

            pubdata = {
                "structure0": {}
            };
            privdata = {
                "structure0": {}
            };

            var rnd =  sakai.api.Util.generateWidgetId();
            privdata["structure0"][navData.id] = {
                "_order": 0,
                "_ref": rnd,
                "_title": navData.title
            };

            // featuredcontent, featured people and featuredworld random numbers
            var fcRnd = sakai.api.Util.generateWidgetId();
            var fpRnd = sakai.api.Util.generateWidgetId();
            var fwRnd = sakai.api.Util.generateWidgetId();
            privdata[rnd] = {
                "rows": [{
                    "id": sakai.api.Util.generateWidgetId(),
                    "columns": [{
                        "width": 1,
                        "elements": [
                            {
                                "id": fcRnd,
                                "type": "featuredcontent"
                            },
                            {
                                "id": fpRnd,
                                "type": "featuredpeople"
                            },
                            {
                                "id": fwRnd,
                                "type": "featuredworlds"
                            }
                        ]
                    }]
                }]
            };
            privdata[rnd][fcRnd] = {
                category: navData.id,
                title: navData.title
            };
            privdata[rnd][fpRnd] = {
                category: navData.id,
                title: navData.title
            };
            privdata[rnd][fwRnd] = {
                category: navData.id,
                title: navData.title
            };

            var count = 0;
            $.each(navData.children, function(index, item){
                var rnd = sakai.api.Util.generateWidgetId();
                pubdata["structure0"][navData.id + "-" + index] = {
                    "_ref": rnd,
                    "_order": count,
                    "_title": item.title,
                    "main": {
                        "_ref": rnd,
                        "_order": 0,
                        "_title": item.title
                    }
                };

                // featuredcontent, featured people and featuredworld random numbers
                var fcRnd = sakai.api.Util.generateWidgetId();
                var fpRnd = sakai.api.Util.generateWidgetId();
                var fwRnd = sakai.api.Util.generateWidgetId();
                pubdata[rnd] = {
                    "rows": [{
                        "id": sakai.api.Util.generateWidgetId(),
                        "columns": [{
                            "width": 1,
                            "elements": [
                                {
                                    "id": fcRnd,
                                    "type": "featuredcontent"
                                },
                                {
                                    "id": fpRnd,
                                    "type": "featuredpeople"
                                },
                                {
                                    "id": fwRnd,
                                    "type": "featuredworlds"
                                }
                            ]
                        }]
                    }]
                };
                pubdata[rnd][fcRnd] = {
                    category: navData.id + "-" + index,
                    title: navData.title + " » " + item.title
                };
                pubdata[rnd][fpRnd] = {
                    category: navData.id + "-" + index,
                    title: navData.title + " » " + item.title
                };
                pubdata[rnd][fwRnd] = {
                    category: navData.id + "-" + index,
                    title: navData.title + " » " + item.title
                };

                count++;
            });
            $(window).trigger("lhnav.init", [pubdata, privdata, {}]);
        };

        /**
         * Get the category out of the URL and give it back
         * @return {Array} Array of strings representing the selected hierarchy
         */
        var getCategory = function(){
            var category = $.bbq.getState("l");
            if (category) {
                category = category.split("-");
            }
            return category;
        };

        var doInit = function(){
            var category = getCategory();
            if (!$.isArray(category) || !sakai.config.Directory[category[0]]){
                sakai.api.Security.send404();
                return false;
            }
            sakai.config.Directory[category[0]].id = category[0];
            generateNav(sakai.config.Directory[category[0]]);
            createBreadcrumb(sakai.config.Directory[category[0]], category);
        };

        $(window).bind("lhnav.ready", function(){
            doInit();
        });

        $(window).bind("hashchange", function(e, data){
            var category = getCategory();
            createBreadcrumb(sakai.config.Directory[category[0]], category);
        });

    };

    sakai.api.Widgets.Container.registerForLoad("category");
});

/*
 * Licensed to the Sakai Foundation (SF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The SF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */

require(["jquery","sakai/sakai.api.core"], function($, sakai) {

    sakai_global.content_profile = function(){

        var previous_content_path = false;
        var content_path = ""; // The current path of the content
        var ready_event_fired = 0;
        var list_event_fired = false;
        var intervalId;

        var showPreview = true;
        var collectionID = false;
        var collectionName = false;
        var isCollection = false;

        ///////////////////////////////
        // PRIVATE UTILITY FUNCTIONS //
        ///////////////////////////////

        /**
         * Load the content profile for the current content path
         * @param {Boolean} ignoreActivity Flag to also update activity data or not
         */
        var loadContentProfile = function(callback, ignoreActivity){
            // Check whether there is actually a content path in the URL
            if (content_path) {
                // Get the content information, the members and managers and version information
                sakai.api.Content.loadFullProfile(content_path, function(success, data){
                    if (success) {
                        if (data.results.hasOwnProperty(0)) {
                            var contentInfo = false;
                            if (data.results[0]["status"] === 404){
                                sakai.api.Security.send404();
                                return;
                            } else if (data.results[0]["status"] === 403){
                                sakai.api.Security.send403();
                                return;
                            } else {
                                contentInfo = $.parseJSON(data.results[0].body);
                                if (contentInfo["_mimeType"] && contentInfo["_mimeType"] === "x-sakai/document" || contentInfo["_mimeType"] && contentInfo["_mimeType"] === "x-sakai/collection"){
                                    showPreview = false;
                                } else {
                                    switchToOneColumnLayout(false);
                                }

                                var collectionId = $.bbq.getState("collectionId");
                                var collectionName = $.bbq.getState("collectionName");
                                var currentPath = $.bbq.getState("p");
                                if(collectionId && collectionName && currentPath){
                                    // Show go back to collection link
                                    $("#back_to_collection_button #collection_title").text(collectionName);
                                    $("#back_to_collection_button").attr("href", "/content#p=" + collectionId + "/" + sakai.api.Util.safeURL(collectionName) + "&item=" + currentPath.split("/")[0]);
                                    $("#back_to_collection_container").show("slow");
                                } else {
                                    $("#back_to_collection_container").hide("slow");
                                }
                            }
                        }

                        sakai.api.Content.parseFullProfile(data.results, function(parsedData){
                            parsedData.mode = "content";
                            sakai_global.content_profile.content_data = parsedData;
                            $(window).trigger("ready.contentprofile.sakai", sakai_global.content_profile.content_data);
                            if ($.isFunction(callback)) {
                                callback(true);
                            }
                            initEntityWidget();

                            if (!showPreview){
                                renderSakaiDoc(parsedData.data);
                            }
                        });
                    }
                });
            } else {
                sakai.api.Security.send404();
            }
        };

        var initEntityWidget = function(){
            if (sakai_global.content_profile.content_data) {
                var context = "content";
                if (sakai.data.me.user.anon) {
                    type = "content_anon";
                } else if (sakai_global.content_profile.content_data.isManager) {
                    type = "content_managed";
                } else if (sakai_global.content_profile.content_data.isViewer) {
                    type = "content_shared";
                } else {
                    type = "content_not_shared";
                }
                $(window).trigger("sakai.entity.init", [context, type, sakai_global.content_profile.content_data]);
            }
        };

        $(window).bind("sakai.entity.ready", function(){
            initEntityWidget();
        });

        $(window).bind("load.content_profile.sakai", function(e, callback) {
            loadContentProfile(callback);
        });

        var handleHashChange = function() {
            content_path = $.bbq.getState("p") || "";
            content_path = content_path.split("/");
            content_path = "/p/" + content_path[0];

            if (content_path != previous_content_path) {
                previous_content_path = content_path;
                globalPageStructure = false;
                loadContentProfile(function(){
                    // The request was successful so initialise the entity widget
                    if (sakai_global.entity && sakai_global.entity.isReady) {
                        $(window).trigger("render.entity.sakai", ["content", sakai_global.content_profile.content_data]);
                    }
                    else {
                        $(window).bind("ready.entity.sakai", function(e){
                            $(window).trigger("render.entity.sakai", ["content", sakai_global.content_profile.content_data]);
                            ready_event_fired++;
                        });
                    }
                    // The request was successful so initialise the relatedcontent widget
                    if (sakai_global.relatedcontent && sakai_global.relatedcontent.isReady) {
                        $(window).trigger("render.relatedcontent.sakai", sakai_global.content_profile.content_data);
                    }
                    else {
                        $(window).bind("ready.relatedcontent.sakai", function(e){
                            $(window).trigger("render.relatedcontent.sakai", sakai_global.content_profile.content_data);
                            ready_event_fired++;
                        });
                    }
                    // The request was successful so initialise the relatedcontent widget
                    if (sakai_global.contentpreview && sakai_global.contentpreview.isReady) {
                        if (showPreview) {
                            $(window).trigger("start.contentpreview.sakai", sakai_global.content_profile.content_data);
                        }
                    }
                    else {
                        $(window).bind("ready.contentpreview.sakai", function(e){
                            if (showPreview) {
                                $(window).trigger("start.contentpreview.sakai", sakai_global.content_profile.content_data);
                                ready_event_fired++;
                            }
                        });
                    }
                    // The request was successful so initialise the metadata widget
                    if (sakai_global.contentmetadata && sakai_global.contentmetadata.isReady) {
                        $(window).trigger("render.contentmetadata.sakai");
                    }
                    else {
                        $(window).bind("ready.contentmetadata.sakai", function(e){
                            $(window).trigger("render.contentmetadata.sakai");
                            ready_event_fired++;
                        });
                    }
                    sakai.api.Security.showPage();

                    if(sakai_global.content_profile.content_data.data._mimeType === "x-sakai/collection"){
                        $(".collectionviewer_carousel_item.selected").click();
                    }

                    // rerender comments widget
                    $(window).trigger("content_profile_hash_change");
                });
            }
            showPreview = true;
        };

        $("#entity_content_share").live("click", function(){
            $(window).trigger("init.sharecontent.sakai");
            return false;
        });

        $("#entity_content_add_to_library").live("click", function(){
            sakai.api.Content.addToLibrary(sakai_global.content_profile.content_data.data["_path"], sakai.data.me.user.userid, false, function(){
                $("#entity_content_add_to_library").hide();
                sakai.api.Util.notification.show($("#content_profile_add_library_title").html(), $("#content_profile_add_library_body").html());
            });
        });

        ////////////////////
        // Initialisation //
        ////////////////////

        /**
         * Initialise the content profile page
         */
        var init = function(){
            // Bind an event to window.onhashchange that, when the history state changes,
            // loads all the information for the current resource
            $(window).bind('hashchange', function(){
                handleHashChange();
            });
            handleHashChange();
        };

        // //////////////////////////
        // Dealing with Sakai docs //
        /////////////////////////////

        var globalPageStructure = false;

        var generateNav = function(pagestructure){
            if (pagestructure) {
                $(window).trigger("lhnav.init", [pagestructure, {}, {
                    parametersToCarryOver: {
                        "p": sakai_global.content_profile.content_data.content_path.replace("/p/", "")
                    }
                }, sakai_global.content_profile.content_data.content_path]);
            }
        };

        $(window).bind("lhnav.ready", function(){
            generateNav(globalPageStructure);
        });

        var getPageCount = function(pagestructure){
            var pageCount = 0;
            for (var tl in pagestructure["structure0"]){
                if (pagestructure["structure0"].hasOwnProperty(tl) && tl !== "_childCount"){
                    pageCount++;
                    if (pageCount >= 3){
                        return 3;
                    }
                    for (var ll in pagestructure["structure0"][tl]){
                        if (ll.substring(0,1) !== "_"){
                            pageCount++;
                            if (pageCount >= 3){
                                return 3;
                            }
                        }
                    }
                }
            }
            return pageCount;
        };

        $(window).bind("sakai.contentauthoring.needsTwoColumns", function(){
            switchToTwoColumnLayout(true);
        });

        $(window).bind("sakai.contentauthoring.needsOneColumn", function(){
            switchToOneColumnLayout(true);
        });

        var setManagerProperty = function(structure, value){
            for (var i in structure){
                if (structure.hasOwnProperty(i)){
                    structure[i]._canEdit = value;
                    structure[i]._canSubedit = value;
                }
            }
            return structure;
        };

        var renderSakaiDoc = function(pagestructure){
            pagestructure = sakai.api.Content.Migrators.migratePageStructure(sakai.api.Server.cleanUpSakaiDocObject(pagestructure), sakai_global.content_profile.content_data.isManager ? content_path : false);
            pagestructure.structure0 = setManagerProperty(pagestructure.structure0, sakai_global.content_profile.content_data.isManager);
            if (getPageCount(pagestructure) >= 3){
                switchToTwoColumnLayout(true);
            } else {
                switchToOneColumnLayout(true);
            }
            globalPageStructure = pagestructure;
            generateNav(pagestructure);
        };

        var switchToTwoColumnLayout = function(isSakaiDoc){
            $("#content_profile_left_column").show();
            $("#content_profile_main_container").addClass("s3d-twocolumn");
            $("#content_profile_right_container").addClass("s3d-page-column-right");
            $("#content_profile_right_container").removeClass("s3d-page-fullcolumn-nopadding");
            $("#content_profile_right_metacomments").removeClass("fl-container-650");
            $("#content_profile_right_metacomments").addClass("fl-container-450");
            if (isSakaiDoc){
                $("#content_profile_preview_container").hide();
                $("#content_profile_contentauthoring_container").show();
            } else {
                $("#content_profile_preview_container").show();
                $("#content_profile_contentauthoring_container").hide();
            }
        };

        var switchToOneColumnLayout = function(isSakaiDoc){
            $("#content_profile_left_column").hide();
            $("#content_profile_main_container").removeClass("s3d-twocolumn");
            $("#content_profile_right_container").removeClass("s3d-page-column-right");
            $("#content_profile_right_container").addClass("s3d-page-fullcolumn-nopadding");
            $("#content_profile_right_metacomments").addClass("fl-container-650");
            $("#content_profile_right_metacomments").removeClass("fl-container-450");
            if (isSakaiDoc){
                $("#content_profile_preview_container").hide();
                $("#content_profile_contentauthoring_container").show();
            } else {
                $("#content_profile_preview_container").show();
                $("#content_profile_contentauthoring_container").hide();
            }
        };

        // Initialise the content profile page
        init();

    };

    sakai.api.Widgets.Container.registerForLoad("content_profile");
});

/*
 * Licensed to the Sakai Foundation (SF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The SF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */

require(["jquery","sakai/sakai.api.core"], function($, sakai) {

    sakai_global.createnew = function() {

        var pubdata = {
            "structure0": {}
        };

        for (var i = 0; i < sakai.config.worldTemplates.length; i++){
            var category = sakai.config.worldTemplates[i];
            var rnd = sakai.api.Util.generateWidgetId();
            pubdata.structure0[category.id] = {
                "_order": i,
                "_title": sakai.api.i18n.getValueForKey(category.title),
                "_ref": rnd
            };
            pubdata[rnd] = {
                "rows": [{
                    "id": sakai.api.Util.generateWidgetId(),
                    "columns": [{
                        "width": 1,
                        "elements": [
                            {
                                "id": category.id,
                                "type": "selecttemplate"
                            }
                        ]
                    }]
                }]
            };
        }

        var generateNav = function(){
            $(window).trigger("lhnav.init", [pubdata, {}, {}]);
        };

        var renderCreateGroup = function(){
            $(window).trigger("sakai.newcreategroup.init");
        };

        $(window).bind("lhnav.ready", function(){
            generateNav();
        });

        $(window).bind("newcreategroup.ready", function(){
            renderCreateGroup();
        });

        generateNav();

    };

    sakai.api.Widgets.Container.registerForLoad("createnew");
});

/*
 * Licensed to the Sakai Foundation (SF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The SF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */

require(["jquery","sakai/sakai.api.core"], function($, sakai) {

    sakai_global.search = function() {
        var worldsOrderIncrement = 3;
        var searchButton = "#form .s3d-search-button";
        var searchInput = "#form .s3d-search-inputfield";
        var searchUrl = sakai.config.URL.SEARCH_URL;
        var pubdata = {
            "structure0": {
                "all": {
                    "_ref": "id9574379429432",
                    "_order": 0,
                    "_title": sakai.api.i18n.getValueForKey("ALL_TYPES"),
                    "_url": searchUrl,
                    "main": {
                        "_ref": "id9574379429432",
                        "_order": 0,
                        "_title": sakai.api.i18n.getValueForKey("ALL_TYPES"),
                        "_url": searchUrl
                    }
                },
                "content": {
                    "_ref": "id6573920372",
                    "_order": 1,
                    "_title": sakai.api.i18n.getValueForKey("CONTENT"),
                    "_url": searchUrl,
                    "main": {
                        "_ref": "id6573920372",
                        "_order": 0,
                        "_title": sakai.api.i18n.getValueForKey("CONTENT"),
                        "_url": searchUrl
                    }
                },
                "people": {
                    "_title": sakai.api.i18n.getValueForKey("PEOPLE"),
                    "_ref": "id49294509202",
                    "_order": 2,
                    "_url": searchUrl,
                    "main": {
                        "_ref": "id49294509202",
                        "_order": 0,
                        "_title": sakai.api.i18n.getValueForKey("PEOPLE"),
                        "_url": searchUrl
                    }
                }
            },
            "id9574379429432": {
                "rows": [
                    {
                        "id": "id4382631",
                        "columns": [
                            {
                                "width": 1,
                                "elements": [
                                    {
                                        "id": "id8403845",
                                        "type": "searchall"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            },
            "id6573920372": {
                "rows": [
                    {
                        "id": "id1813095",
                        "columns": [
                            {
                                "width": 1,
                                "elements": [
                                    {
                                        "id": "id9436392",
                                        "type": "searchcontent"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            },
            "id49294509202": {
                "rows": [
                    {
                        "id": "id152530",
                        "columns": [
                            {
                                "width": 1,
                                "elements": [
                                    {
                                        "id": "id1187051",
                                        "type": "searchpeople"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }
        };

        for (var c = 0; c < sakai.config.worldTemplates.length; c++) {
            var category = sakai.config.worldTemplates[c];
            var refId = sakai.api.Util.generateWidgetId();
            var title = sakai.api.i18n.getValueForKey(category.titlePlural);
            pubdata.structure0[category.id] = {
                "_title": title,
                "_ref": refId,
                "_order": (c + worldsOrderIncrement),
                "_url": searchUrl,
                "main": {
                    "_ref": refId,
                    "_order": 0,
                    "_title": title,
                    "_url": searchUrl
                }
            };
            var searchWidgetId = sakai.api.Util.generateWidgetId();
            pubdata[refId] = {
                "rows": [
                    {
                        "id": sakai.api.Util.generateWidgetId(),
                        "columns": [
                            {
                                "width": 1,
                                "elements": [
                                    {
                                        "id": searchWidgetId,
                                        "type": "searchgroups"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            };
            pubdata[refId][searchWidgetId] = {
                "category": category.id
            };
        }

        var fireSearch = function(){
            $.bbq.pushState({
                "q": $(searchInput).val(),
                "cat": "",
                "refine": $.bbq.getState("refine")
            }, 0);
        };

        ///////////////////
        // Event binding //
        ///////////////////

        var eventBinding = function(){
            $(searchInput).on("keydown", function(ev){
                if (ev.keyCode === 13) {
                    fireSearch();
                }
            });

            $(searchButton).on("click", function(ev){
                fireSearch();
            });
        };

        var generateNav = function(){
            $(window).trigger("lhnav.init", [pubdata, {}, {}]);
        };

        var renderEntity = function(){
            $(window).trigger("sakai.entity.init", ["search"]);
        };

        $(window).bind("sakai.entity.ready", function(){
            renderEntity();
        });

        $(window).bind("lhnav.ready", function(){
            generateNav();
        });

        renderEntity();
        generateNav();
        eventBinding();

    };

    sakai.api.Widgets.Container.registerForLoad("search");
});

/*
 * Licensed to the Sakai Foundation (SF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The SF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */

require(["jquery","sakai/sakai.api.core"], function($, sakai) {

    sakai_global.profile = sakai_global.profile || {};
    sakai_global.profile.main = sakai_global.profile.main || {};
    $.extend(true, sakai_global.profile.main, {
        config: sakai.config.Profile.configuration.defaultConfig,
        data: {},
        mode: {
            options: ["view", "edit"],
            value: "view"
        }
    });

    sakai_global.user = function() {

        var privdata = false;
        var pubdata = false;
        var privurl = false;
        var puburl = false;
        var messageCounts = false;
        var isMe = false;
        var entityID = false;
        var isContact = false;

        var contextType = false;
        var contextData = false;

        var setupProfileSection = function( title, section ) {
            var ret = {
                _ref: sakai.api.Util.generateWidgetId(),
                _order: section.order,
                _altTitle: section.label,
                _title: section.label,
                _nonEditable: true,
                _view: section.permission
            };
            // _reorderOnly is only true for the basic profile
            ret._reorderOnly = title === "basic";
            return ret;
        };

        var setupProfile = function( structure, isMe ) {
            var firstWidgetRef = "";
            var profilestructure = {
                _title: structure.structure0.profile._title,
                _altTitle: structure.structure0.profile._altTitle,
                _order: structure.structure0.profile._order
            };
            if ( isMe ) {
                profilestructure["_canEdit"] = true;
                profilestructure["_nonEditable"] = true;
                profilestructure["_reorderOnly"] = true;
                profilestructure["_canSubedit"] = true;
            }
            var newProfile = true;
            $.each( structure.structure0.profile, function( key, section ) {
                if ( $.isPlainObject( section ) ) {
                    newProfile = false;
                }
            });
            if ( newProfile ) {
                structure.structure0.profile = {};
            }
            var initialProfilePost = [];
            var paths = [];
            var permissions = [];
            var updateStructure = false;
            $.each(sakai.config.Profile.configuration.defaultConfig, function(title, section) {
                var widgetUUID = sakai.api.Util.generateWidgetId();
                if ( !newProfile && structure.structure0.profile.hasOwnProperty( title ) ) {
                    profilestructure[ title ] = structure.structure0.profile[ title ];
                } else if ( newProfile || !structure.structure0.profile.hasOwnProperty( title )) {
                    profilestructure[ title ] = setupProfileSection( title, section );
                    if (title !== "basic"){
                        paths.push("/~" + sakai.data.me.user.userid + "/public/authprofile/" + title);
                        permissions.push(section.permission);
                    }
                    if (section.order === 0) {
                        firstWidgetRef = profilestructure[ title ]._ref;
                    }
                    initialProfilePost.push({
                        "url": "/~" + sakai.data.me.user.userid + "/public/authprofile/" + title,
                        "method": "POST",
                        "parameters": {
                            "init": true
                        }
                    });
                }
                // Don't need to use these from the profile, gives us more flexibility on the profile itself
                structure[profilestructure[ title ]._ref] = {
                    rows: [
                        {
                            "id": sakai.api.Util.generateWidgetId(),
                            "columns": [
                                {
                                    "width": 1,
                                    "elements": [
                                        {
                                            "id": widgetUUID,
                                            "type": "displayprofilesection"
                                        }
                                    ]
                                }
                            ]
                        }
                    ]
                };
                structure[profilestructure[ title ]._ref][widgetUUID] = {
                    sectionid: title
                };
            });

            // Eliminate extra sections in the profile that are hanging around
            $.each( structure.structure0.profile, function( section_title, section_data ) {
                if ( $.isPlainObject( section_data ) && !profilestructure.hasOwnProperty( section_title ) ) {
                    initialProfilePost.push({
                        "url": "/~" + sakai.data.me.user.userid + "/public/authprofile/" + section_title,
                        "method": "POST",
                        "parameters": {
                            ":operation": "delete"
                        }
                    });
                }
            });

            if ( isMe && initialProfilePost.length ) {
                updateStructure = true;
                sakai.api.Server.batch(initialProfilePost, function(success, data){
                    if (success) {
                        sakai.api.Content.setACLsOnPath(paths, permissions, sakai.data.me.user.userid, function(success){
                            if (!success){
                                debug.error("Error setting initial profile ACLs");
                            }
                        });
                    } else {
                        debug.error("Error saving initial profile fields");
                    }
                });
            }

            structure.structure0.profile = profilestructure;
            structure.structure0.profile._ref = firstWidgetRef;
            return updateStructure;
        };

        var continueLoadSpaceData = function(userid){
            var publicToStore = false; var requiresPublicMigration = false;
            var privateToStore = false; var requirePrivateMigration = false;

            // Load public data from /~userid/private/pubspace
            sakai.api.Server.loadJSON(puburl, function(success, data){
                if (!success){
                    pubdata = $.extend(true, {}, sakai.config.defaultpubstructure);
                    var refid = {"refid": sakai.api.Util.generateWidgetId()};
                    pubdata = sakai.api.Util.replaceTemplateParameters(refid, pubdata);
                } else {
                    pubdata = data;
                    pubdata = sakai.api.Content.Migrators.migratePageStructure(sakai.api.Server.cleanUpSakaiDocObject(pubdata), isMe ? puburl : false);
                }
                if (!isMe){
                    pubdata.structure0 = setManagerProperty(pubdata.structure0, false);
                    for (var i in pubdata.structure0) {
                        if (pubdata.structure0.hasOwnProperty(i)){
                            pubdata.structure0[i] = determineUserAreaPermissions(pubdata.structure0[i]);
                        }
                    }
                }
                if ( pubdata.structure0.profile && setupProfile( pubdata, isMe ) ) {
                    publicToStore = $.extend(true, {}, pubdata);
                }
                if (isMe){
                    sakai.api.Server.loadJSON(privurl, function(success2, data2){
                        if (!success2){
                            privdata = $.extend(true, {}, sakai.config.defaultprivstructure);
                            var refid = {"refid": sakai.api.Util.generateWidgetId()};
                            privdata = sakai.api.Util.replaceTemplateParameters(refid, privdata);
                            privateToStore = $.extend(true, {}, privdata);
                        } else {
                            privdata = data2;
                            privdata = sakai.api.Content.Migrators.migratePageStructure(sakai.api.Server.cleanUpSakaiDocObject(privdata), privurl);
                        }
                        if (publicToStore) {
                            if ($.isPlainObject(publicToStore.structure0)) {
                                publicToStore.structure0 = $.toJSON(publicToStore.structure0);
                            }
                            sakai.api.Server.saveJSON(puburl, publicToStore);
                        }
                        if (privateToStore) {
                            if ($.isPlainObject(privateToStore.structure0)) {
                                privateToStore.structure0 = $.toJSON(privateToStore.structure0);
                            }
                            sakai.api.Server.saveJSON(privurl, privateToStore);
                        }
                        pubdata.structure0 = setManagerProperty(pubdata.structure0, true);
                        generateNav();
                    });
                } else {
                    generateNav();
                }
            });
        };

        var loadSpaceData = function(){
            var userid;
            if (!entityID || entityID == sakai.data.me.user.userid) {
                isMe = true;
                userid = sakai.data.me.user.userid;
            } else {
                userid = entityID;
            }
            privurl = "/~" + sakai.api.Util.safeURL(userid) + "/private/privspace";
            puburl = "/~" + sakai.api.Util.safeURL(userid) + "/public/pubspace";
            if (isMe){
                sakai.api.Communication.getUnreadMessagesCountOverview("inbox", function(success, counts){
                    messageCounts = counts;
                    continueLoadSpaceData(userid);
                });
            } else {
                continueLoadSpaceData(userid);
            }

        };

        var addCounts = function(){
            if (pubdata && pubdata.structure0) {
                if (contextData && contextData.profile && contextData.profile.counts) {
                    addCount(pubdata, "library", contextData.profile.counts["contentCount"]);
                    addCount(pubdata, "memberships", contextData.profile.counts["membershipsCount"]);
                    if (isMe) {
                        var contactCount = 0;
                        // determine the count of contacts to list in lhnav
                        if (sakai.data.me.contacts.ACCEPTED && sakai.data.me.contacts.INVITED){
                            contactCount = sakai.data.me.contacts.ACCEPTED + sakai.data.me.contacts.INVITED;
                        } else if (sakai.data.me.contacts.ACCEPTED){
                            contactCount = sakai.data.me.contacts.ACCEPTED;
                        } else if (sakai.data.me.contacts.INVITED){
                            contactCount = sakai.data.me.contacts.INVITED;
                        }
                        addCount(pubdata, "contacts", contactCount);
                        addCount(privdata, "messages", sakai.data.me.messages.unread);
                        if (messageCounts && messageCounts.count && messageCounts.count.length) {
                            for (var i = 0; i < messageCounts.count.length; i++) {
                                if (messageCounts.count[i].group && messageCounts.count[i].group === "message") {
                                    addCount(privdata, "messages/inbox", messageCounts.count[i].count);
                                }
                                if (messageCounts.count[i].group && messageCounts.count[i].group === "invitation") {
                                    addCount(privdata, "messages/invitations", messageCounts.count[i].count);
                                }
                            }
                        }
                    } else {
                        addCount(pubdata, "contacts", contextData.profile.counts["contactsCount"]);
                    }
                }
            }
        };

        var determineUserAreaPermissions = function(structure){
            var permission = structure._view || "anonymous";
            if (permission === "contacts" && isContact) {
                structure._canView = true;
            } else if (permission === "everyone" && !sakai.data.me.user.anon) {
                structure._canView = true;
            } else if (permission === "anonymous") {
                structure._canView = true;
            } else {
                structure._canView = false;
            }
            for (var i in structure) {
                if (structure.hasOwnProperty(i) && i.substring(0, 1) !== "_") {
                    structure[i] = determineUserAreaPermissions(structure[i]);
                }
            }
            return structure;
        };

        var setManagerProperty = function(structure, value){
            for (var i in structure){
                if (structure.hasOwnProperty(i) && i.substring(0, 1) !== "_" && typeof structure[i] === "object") {
                    structure[i]._canEdit = value;
                    structure[i]._canSubedit = value;
                    structure[i] = setManagerProperty(structure[i], value);
                }
            }
            return structure;
        };

        var addCount = function(pubdata, pageid, count){
            if (pageid.indexOf("/") !== -1) {
                var split = pageid.split("/");
                if (pubdata.structure0 && pubdata.structure0[split[0]] && pubdata.structure0[split[0]][split[1]]) {
                    pubdata.structure0[split[0]][split[1]]._count = count;
                }
            } else {
                if (pubdata.structure0 && pubdata.structure0[pageid]) {
                    pubdata.structure0[pageid]._count = count;
                }
            }
        };

        var getUserPicture = function(profile, userid){
            var picture = "";
            if (profile.picture) {
                var picture_name = $.parseJSON(profile.picture).name;
                picture = "/~" + sakai.api.Util.safeURL(userid) + "/public/profile/" + picture_name;
            }
            return picture;
        };

        var determineContext = function(){
            entityID = sakai.api.Util.extractEntity(window.location.pathname);
            if (entityID && entityID !== sakai.data.me.user.userid){
                sakai.api.User.getUser(entityID, getProfileData);
            } else if (!sakai.data.me.user.anon){
                if (entityID){
                    document.location = "/me" + window.location.hash;
                    return;
                }
                sakai.api.Security.showPage();
                contextType = "user_me";
                // Set the profile data object
                sakai_global.profile.main.data = $.extend(true, {}, sakai.data.me.profile);
                sakai_global.profile.main.mode.value = "edit";
                contextData = {
                    "profile": sakai.data.me.profile,
                    "displayName": sakai.api.User.getDisplayName(sakai.data.me.profile),
                    "userid": sakai.data.me.user.userid,
                    "picture": getUserPicture(sakai.data.me.profile, sakai.data.me.user.userid),
                    "addArea": "user"
                };
                document.title = document.title + " " + sakai.api.Util.Security.unescapeHTML(contextData.displayName);
                renderEntity();
                loadSpaceData();
            } else {
                sakai.api.Security.sendToLogin();
            }
        };

        var getProfileData = function(exists, profile){
            if (!profile) {
                sakai.api.Security.sendToLogin();
            } else {
                sakai.api.Security.showPage();
                // Set the profile data object
                sakai_global.profile.main.data = $.extend(true, {}, profile);
                contextData = {
                    "profile": profile,
                    "displayName": sakai.api.User.getDisplayName(profile),
                    "userid": entityID,
                    "altTitle": true,
                    "picture": getUserPicture(profile, entityID)
                };
                document.title = document.title + " " + sakai.api.Util.Security.unescapeHTML(contextData.displayName);
                if (sakai.data.me.user.anon) {
                    contextType = "user_anon";
                    renderEntity();
                    loadSpaceData();
                } else {
                    sakai.api.User.getContacts(checkContact);
                }
            }
        };

        var checkContact = function(){
            var contacts = sakai.data.me.mycontacts;
            var isContactInvited = false;
            var isContactPending = false;
            for (var i = 0; i < contacts.length; i++){
                if (contacts[i].profile.userid === entityID){
                    if (contacts[i].details["sakai:state"] === "ACCEPTED") {
                        isContact = true;
                    } else if (contacts[i].details["sakai:state"] === "INVITED"){
                        isContactInvited = true;
                    } else if (contacts[i].details["sakai:state"] === "PENDING"){
                        isContactPending = true;
                    }
                }
            }
            if (isContact){
                contextType = "contact";
            } else if (isContactInvited){
                contextType = "contact_invited";
            } else if (isContactPending){
                contextType = "contact_pending";
            } else {
                contextType = "user_other";
            }
            renderEntity();
            loadSpaceData();
        };

        var generateNav = function(){
            addCounts();
            sakai_global.user.pubdata = pubdata;
            if (contextType && contextType === "user_me" && contextData && pubdata && privdata) {
                $(window).trigger("lhnav.init", [pubdata, privdata, contextData, puburl, privurl]);
            } else if (contextType && contextType !== "user_me" && contextData && pubdata) {
                $(window).trigger("lhnav.init", [pubdata, false, contextData, puburl, privurl]);
            }
        };

        var renderEntity = function(){
            if (contextType && contextData) {
                $(window).trigger("sakai.entity.init", ["user", contextType, contextData]);
            }
        };

        var showWelcomeNotification = function(){
            var querystring = new Querystring();
            if (querystring.contains("welcome") && querystring.get("welcome") === "true" && !sakai.data.me.user.anon){
                sakai.api.Util.notification.show(sakai.api.i18n.getValueForKey("WELCOME") + " " + sakai.data.me.profile.basic.elements.firstName.value,sakai.api.i18n.getValueForKey("YOU_HAVE_CREATED_AN_ACCOUNT"));
            }
        };

        $(window).bind("sakai.addToContacts.requested", function(ev, userToAdd){
            $('.sakai_addtocontacts_overlay').each(function(index) {
                if (entityID && entityID !== sakai.data.me.user.userid){
                    contextType = "contact_pending";
                    renderEntity();
                }
            });
        });

        $("#entity_user_accept_invitation").live("click", function(){
            sakai.api.User.acceptContactInvite(contextData.userid);
            contextType = "contact";
            renderEntity();
        });

        $(window).bind("sakai.entity.ready", function(){
            renderEntity();
        });

        $(window).bind("lhnav.ready", function(){
            generateNav();
        });

        $(window).bind("updated.counts.lhnav.sakai", function(){
            sakai.api.User.getUpdatedCounts(sakai.data.me, function(success){
                renderEntity();
                generateNav();
            });
        });

        $(window).bind("done.newaddcontent.sakai", function(e, data, library) {
            if (isMe && data && data.length && library === sakai.data.me.user.userid) {
                $(window).trigger("lhnav.updateCount", ["library", data.length]);
            }
        });

        $(window).bind("updated.messageCount.sakai", function(){
            if (isMe){
                sakai.api.Communication.getUnreadMessagesCountOverview("inbox", function(success, counts){
                    messageCounts = counts;
                    var totalCount = 0;
                    // The structure of these objects make for O(n^2) comparison :(
                    $.each(messageCounts.count, function(index, countObj){
                        var pageid = "messages/";
                        if (countObj.group === "message"){
                            pageid += "inbox";
                        } else if (countObj.group === "invitation"){
                            pageid += "invitations";
                        }
                        totalCount += countObj.count;
                        $(window).trigger("lhnav.updateCount", [pageid, countObj.count, false]);
                    });
                    $(window).trigger("lhnav.updateCount", ["messages", totalCount, false]);
                }, false);
            }
        });

        determineContext();
        renderEntity();
        generateNav();
        showWelcomeNotification();

    };

    sakai.api.Widgets.Container.registerForLoad("user");
});

/**
 * AddOnManager.js
 *
 * Copyright 2009, Moxiecode Systems AB
 * Released under LGPL License.
 *
 * License: http://tinymce.moxiecode.com/license
 * Contributing: http://tinymce.moxiecode.com/contributing
 */

(function(tinymce) {
	var Dispatcher = tinymce.util.Dispatcher, each = tinymce.each;

	/**
	 * This class handles the loading of themes/plugins or other add-ons and their language packs.
	 *
	 * @class tinymce.AddOnManager
	 */
	tinymce.create('tinymce.AddOnManager', {
		AddOnManager : function() {
			var self = this;

			self.items = [];
			self.urls = {};
			self.lookup = {};
			self.onAdd = new Dispatcher(self);
		},

		/**
		 * Fires when a item is added.
		 *
		 * @event onAdd
		 */

		/**
		 * Returns the specified add on by the short name.
		 *
		 * @method get
		 * @param {String} n Add-on to look for.
		 * @return {tinymce.Theme/tinymce.Plugin} Theme or plugin add-on instance or undefined.
		 */
		get : function(n) {
			if (this.lookup[n]) {
				return this.lookup[n].instance;
			} else {
				return undefined;
			}
		},

		dependencies : function(n) {
			var result;
			if (this.lookup[n]) {
				result = this.lookup[n].dependencies;
			}
			return result || [];
		},

		/**
		 * Loads a language pack for the specified add-on.
		 *
		 * @method requireLangPack
		 * @param {String} n Short name of the add-on.
		 */
		requireLangPack : function(n) {
			var s = tinymce.settings;

			if (s && s.language && s.language_load !== false)
				tinymce.ScriptLoader.add(this.urls[n] + '/langs/' + s.language + '.js');
		},

		/**
		 * Adds a instance of the add-on by it's short name.
		 *
		 * @method add
		 * @param {String} id Short name/id for the add-on.
		 * @param {tinymce.Theme/tinymce.Plugin} o Theme or plugin to add.
		 * @return {tinymce.Theme/tinymce.Plugin} The same theme or plugin instance that got passed in.
		 * @example
		 * // Create a simple plugin
		 * tinymce.create('tinymce.plugins.TestPlugin', {
		 *     TestPlugin : function(ed, url) {
		 *         ed.onClick.add(function(ed, e) {
		 *             ed.windowManager.alert('Hello World!');
		 *         });
		 *     }
		 * });
		 *
		 * // Register plugin using the add method
		 * tinymce.PluginManager.add('test', tinymce.plugins.TestPlugin);
		 *
		 * // Initialize TinyMCE
		 * tinyMCE.init({
		 *    ...
		 *    plugins : '-test' // Init the plugin but don't try to load it
		 * });
		 */
		add : function(id, o, dependencies) {
			this.items.push(o);
			this.lookup[id] = {instance:o, dependencies:dependencies};
			this.onAdd.dispatch(this, id, o);

			return o;
		},
		createUrl: function(baseUrl, dep) {
			if (typeof dep === "object") {
				return dep
			} else {
				return {prefix: baseUrl.prefix, resource: dep, suffix: baseUrl.suffix};
			}
		},

		/**
	 	 * Add a set of components that will make up the add-on. Using the url of the add-on name as the base url.
		 * This should be used in development mode.  A new compressor/javascript munger process will ensure that the
		 * components are put together into the editor_plugin.js file and compressed correctly.
		 * @param pluginName {String} name of the plugin to load scripts from (will be used to get the base url for the plugins).
		 * @param scripts {Array} Array containing the names of the scripts to load.
	 	 */
		addComponents: function(pluginName, scripts) {
			var pluginUrl = this.urls[pluginName];
			tinymce.each(scripts, function(script){
				tinymce.ScriptLoader.add(pluginUrl+"/"+script);
			});
		},

		/**
		 * Loads an add-on from a specific url.
		 *
		 * @method load
		 * @param {String} n Short name of the add-on that gets loaded.
		 * @param {String} u URL to the add-on that will get loaded.
		 * @param {function} cb Optional callback to execute ones the add-on is loaded.
		 * @param {Object} s Optional scope to execute the callback in.
		 * @example
		 * // Loads a plugin from an external URL
		 * tinymce.PluginManager.load('myplugin', '/some/dir/someplugin/editor_plugin.js');
		 *
		 * // Initialize TinyMCE
		 * tinyMCE.init({
		 *    ...
		 *    plugins : '-myplugin' // Don't try to load it again
		 * });
		 */
		load : function(n, u, cb, s) {
			var t = this, url = u;

			function loadDependencies() {
				var dependencies = t.dependencies(n);
				tinymce.each(dependencies, function(dep) {
					var newUrl = t.createUrl(u, dep);
					t.load(newUrl.resource, newUrl, undefined, undefined);
				});
				if (cb) {
					if (s) {
						cb.call(s);
					} else {
						cb.call(tinymce.ScriptLoader);
					}
				}
			}

			if (t.urls[n])
				return;
			if (typeof u === "object")
				url = u.prefix + u.resource + u.suffix;

			if (url.indexOf('/') != 0 && url.indexOf('://') == -1)
				url = tinymce.baseURL + '/' + url;

			t.urls[n] = url.substring(0, url.lastIndexOf('/'));

			if (t.lookup[n]) {
				loadDependencies();
			} else {
				tinymce.ScriptLoader.add(url, loadDependencies, s);
			}
		}
	});

	// Create plugin and theme managers
	tinymce.PluginManager = new tinymce.AddOnManager();
	tinymce.ThemeManager = new tinymce.AddOnManager();
}(tinymce));

/**
 * TinyMCE theme class.
 *
 * @class tinymce.Theme
 */

/**
 * Initializes the theme.
 *
 * @method init
 * @param {tinymce.Editor} editor Editor instance that created the theme instance.
 * @param {String} url Absolute URL where the theme is located.
 */

/**
 * Meta info method, this method gets executed when TinyMCE wants to present information about the theme for example in the about/help dialog.
 *
 * @method getInfo
 * @return {Object} Returns an object with meta information about the theme the current items are longname, author, authorurl, infourl and version.
 */

/**
 * This method is responsible for rendering/generating the overall user interface with toolbars, buttons, iframe containers etc.
 *
 * @method renderUI
 * @param {Object} obj Object parameter containing the targetNode DOM node that will be replaced visually with an editor instance.
 * @return {Object} an object with items like iframeContainer, editorContainer, sizeContainer, deltaWidth, deltaHeight.
 */

/**
 * Plugin base class, this is a pseudo class that describes how a plugin is to be created for TinyMCE. The methods below are all optional.
 *
 * @class tinymce.Plugin
 * @example
 * // Create a new plugin class
 * tinymce.create('tinymce.plugins.ExamplePlugin', {
 *     init : function(ed, url) {
 *         // Register an example button
 *         ed.addButton('example', {
 *             title : 'example.desc',
 *             onclick : function() {
 *                  // Display an alert when the user clicks the button
 *                  ed.windowManager.alert('Hello world!');
 *             },
 *             'class' : 'bold' // Use the bold icon from the theme
 *         });
 *     }
 * });
 *
 * // Register plugin with a short name
 * tinymce.PluginManager.add('example', tinymce.plugins.ExamplePlugin);
 *
 * // Initialize TinyMCE with the new plugin and button
 * tinyMCE.init({
 *    ...
 *    plugins : '-example', // - means TinyMCE will not try to load it
 *    theme_advanced_buttons1 : 'example' // Add the new example button to the toolbar
 * });
 */

/**
 * Initialization function for the plugin. This will be called when the plugin is created.
 *
 * @method init
 * @param {tinymce.Editor} editor Editor instance that created the plugin instance.
 * @param {String} url Absolute URL where the plugin is located.
 * @example
 * // Creates a new plugin class
 * tinymce.create('tinymce.plugins.ExamplePlugin', {
 *     init : function(ed, url) {
 *         // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample');
 *         ed.addCommand('mceExample', function() {
 *             ed.windowManager.open({
 *                 file : url + '/dialog.htm',
 *                 width : 320 + ed.getLang('example.delta_width', 0),
 *                 height : 120 + ed.getLang('example.delta_height', 0),
 *                 inline : 1
 *             }, {
 *                 plugin_url : url, // Plugin absolute URL
 *                 some_custom_arg : 'custom arg' // Custom argument
 *             });
 *         });
 *
 *         // Register example button
 *         ed.addButton('example', {
 *             title : 'example.desc',
 *             cmd : 'mceExample',
 *             image : url + '/img/example.gif'
 *         });
 *
 *         // Add a node change handler, selects the button in the UI when a image is selected
 *         ed.onNodeChange.add(function(ed, cm, n) {
 *             cm.setActive('example', n.nodeName == 'IMG');
 *         });
 *     }
 * });
 *
 * // Register plugin
 * tinymce.PluginManager.add('example', tinymce.plugins.ExamplePlugin);
 */

/**
 * Meta info method, this method gets executed when TinyMCE wants to present information about the plugin for example in the about/help dialog.
 *
 * @method getInfo
 * @return {Object} Returns an object with meta information about the plugin the current items are longname, author, authorurl, infourl and version.
 * @example
 * // Creates a new plugin class
 * tinymce.create('tinymce.plugins.ExamplePlugin', {
 *     // Meta info method
 *     getInfo : function() {
 *         return {
 *             longname : 'Example plugin',
 *             author : 'Some author',
 *             authorurl : 'http://tinymce.moxiecode.com',
 *             infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example',
 *             version : "1.0"
 *         };
 *     }
 * });
 *
 * // Register plugin
 * tinymce.PluginManager.add('example', tinymce.plugins.ExamplePlugin);
 *
 * // Initialize TinyMCE with the new plugin
 * tinyMCE.init({
 *    ...
 *    plugins : '-example' // - means TinyMCE will not try to load it
 * });
 */

/**
 * Gets called when a new control instance is created.
 *
 * @method createControl
 * @param {String} name Control name to create for example "mylistbox"
 * @param {tinymce.ControlManager} controlman Control manager/factory to use to create the control.
 * @return {tinymce.ui.Control} Returns a new control instance or null.
 * @example
 * // Creates a new plugin class
 * tinymce.create('tinymce.plugins.ExamplePlugin', {
 *     createControl: function(n, cm) {
 *         switch (n) {
 *             case 'mylistbox':
 *                 var mlb = cm.createListBox('mylistbox', {
 *                      title : 'My list box',
 *                      onselect : function(v) {
 *                          tinyMCE.activeEditor.windowManager.alert('Value selected:' + v);
 *                      }
 *                 });
 *
 *                 // Add some values to the list box
 *                 mlb.add('Some item 1', 'val1');
 *                 mlb.add('some item 2', 'val2');
 *                 mlb.add('some item 3', 'val3');
 *
 *                 // Return the new listbox instance
 *                 return mlb;
 *         }
 *
 *         return null;
 *     }
 * });
 *
 * // Register plugin
 * tinymce.PluginManager.add('example', tinymce.plugins.ExamplePlugin);
 *
 * // Initialize TinyMCE with the new plugin and button
 * tinyMCE.init({
 *    ...
 *    plugins : '-example', // - means TinyMCE will not try to load it
 *    theme_advanced_buttons1 : 'mylistbox' // Add the new mylistbox control to the toolbar
 * });
 */

/**
 * ControlManager.js
 *
 * Copyright 2009, Moxiecode Systems AB
 * Released under LGPL License.
 *
 * License: http://tinymce.moxiecode.com/license
 * Contributing: http://tinymce.moxiecode.com/contributing
 */

(function(tinymce) {
	// Shorten names
	var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each, extend = tinymce.extend;

	/**
	 * This class is responsible for managing UI control instances. It's both a factory and a collection for the controls.
	 * @class tinymce.ControlManager
	 */
	tinymce.create('tinymce.ControlManager', {
		/**
		 * Constructs a new control manager instance.
		 * Consult the Wiki for more details on this class.
		 *
		 * @constructor
		 * @method ControlManager
		 * @param {tinymce.Editor} ed TinyMCE editor instance to add the control to.
		 * @param {Object} s Optional settings object for the control manager.
		 */
		ControlManager : function(ed, s) {
			var t = this, i;

			s = s || {};
			t.editor = ed;
			t.controls = {};
			t.onAdd = new tinymce.util.Dispatcher(t);
			t.onPostRender = new tinymce.util.Dispatcher(t);
			t.prefix = s.prefix || ed.id + '_';
			t._cls = {};

			t.onPostRender.add(function() {
				each(t.controls, function(c) {
					c.postRender();
				});
			});
		},

		/**
		 * Returns a control by id or undefined it it wasn't found.
		 *
		 * @method get
		 * @param {String} id Control instance name.
		 * @return {tinymce.ui.Control} Control instance or undefined.
		 */
		get : function(id) {
			return this.controls[this.prefix + id] || this.controls[id];
		},

		/**
		 * Sets the active state of a control by id.
		 *
		 * @method setActive
		 * @param {String} id Control id to set state on.
		 * @param {Boolean} s Active state true/false.
		 * @return {tinymce.ui.Control} Control instance that got activated or null if it wasn't found.
		 */
		setActive : function(id, s) {
			var c = null;

			if (c = this.get(id))
				c.setActive(s);

			return c;
		},

		/**
		 * Sets the dsiabled state of a control by id.
		 *
		 * @method setDisabled
		 * @param {String} id Control id to set state on.
		 * @param {Boolean} s Active state true/false.
		 * @return {tinymce.ui.Control} Control instance that got disabled or null if it wasn't found.
		 */
		setDisabled : function(id, s) {
			var c = null;

			if (c = this.get(id))
				c.setDisabled(s);

			return c;
		},

		/**
		 * Adds a control to the control collection inside the manager.
		 *
		 * @method add
		 * @param {tinymce.ui.Control} Control instance to add to collection.
		 * @return {tinymce.ui.Control} Control instance that got passed in.
		 */
		add : function(c) {
			var t = this;

			if (c) {
				t.controls[c.id] = c;
				t.onAdd.dispatch(c, t);
			}

			return c;
		},

		/**
		 * Creates a control by name, when a control is created it will automatically add it to the control collection.
		 * It first ask all plugins for the specified control if the plugins didn't return a control then the default behavior
		 * will be used.
		 *
		 * @method createControl
		 * @param {String} n Control name to create for example "separator".
		 * @return {tinymce.ui.Control} Control instance that got created and added.
		 */
		createControl : function(n) {
			var c, t = this, ed = t.editor;

			each(ed.plugins, function(p) {
				if (p.createControl) {
					c = p.createControl(n, t);

					if (c)
						return false;
				}
			});

			switch (n) {
				case "|":
				case "separator":
					return t.createSeparator();
			}

			if (!c && ed.buttons && (c = ed.buttons[n]))
				return t.createButton(n, c);

			return t.add(c);
		},

		/**
		 * Creates a drop menu control instance by id.
		 *
		 * @method createDropMenu
		 * @param {String} id Unique id for the new dropdown instance. For example "some menu".
		 * @param {Object} s Optional settings object for the control.
		 * @param {Object} cc Optional control class to use instead of the default one.
		 * @return {tinymce.ui.Control} Control instance that got created and added.
		 */
		createDropMenu : function(id, s, cc) {
			var t = this, ed = t.editor, c, bm, v, cls;

			s = extend({
				'class' : 'mceDropDown',
				constrain : ed.settings.constrain_menus
			}, s);

			s['class'] = s['class'] + ' ' + ed.getParam('skin') + 'Skin';
			if (v = ed.getParam('skin_variant'))
				s['class'] += ' ' + ed.getParam('skin') + 'Skin' + v.substring(0, 1).toUpperCase() + v.substring(1);

			id = t.prefix + id;
			cls = cc || t._cls.dropmenu || tinymce.ui.DropMenu;
			c = t.controls[id] = new cls(id, s);
			c.onAddItem.add(function(c, o) {
				var s = o.settings;

				s.title = ed.getLang(s.title, s.title);

				if (!s.onclick) {
					s.onclick = function(v) {
						if (s.cmd)
							ed.execCommand(s.cmd, s.ui || false, s.value);
					};
				}
			});

			ed.onRemove.add(function() {
				c.destroy();
			});

			// Fix for bug #1897785, #1898007
			if (tinymce.isIE) {
				c.onShowMenu.add(function() {
					// IE 8 needs focus in order to store away a range with the current collapsed caret location
					ed.focus();

					bm = ed.selection.getBookmark(1);
				});

				c.onHideMenu.add(function() {
					if (bm) {
						ed.selection.moveToBookmark(bm);
						bm = 0;
					}
				});
			}

			return t.add(c);
		},

		/**
		 * Creates a list box control instance by id. A list box is either a native select element or a DOM/JS based list box control. This
		 * depends on the use_native_selects settings state.
		 *
		 * @method createListBox
		 * @param {String} id Unique id for the new listbox instance. For example "styles".
		 * @param {Object} s Optional settings object for the control.
		 * @param {Object} cc Optional control class to use instead of the default one.
		 * @return {tinymce.ui.Control} Control instance that got created and added.
		 */
		createListBox : function(id, s, cc) {
			var t = this, ed = t.editor, cmd, c, cls;

			if (t.get(id))
				return null;

			s.title = ed.translate(s.title);
			s.scope = s.scope || ed;

			if (!s.onselect) {
				s.onselect = function(v) {
					ed.execCommand(s.cmd, s.ui || false, v || s.value);
				};
			}

			s = extend({
				title : s.title,
				'class' : 'mce_' + id,
				scope : s.scope,
				control_manager : t
			}, s);

			id = t.prefix + id;

			function useNativeListForAccessibility(ed) {
				return ed.settings.use_accessible_selects && !tinymce.isGecko
			}

			if (ed.settings.use_native_selects || useNativeListForAccessibility(ed))
				c = new tinymce.ui.NativeListBox(id, s);
			else {
				cls = cc || t._cls.listbox || tinymce.ui.ListBox;
				c = new cls(id, s, ed);
			}

			t.controls[id] = c;

			// Fix focus problem in Safari
			if (tinymce.isWebKit) {
				c.onPostRender.add(function(c, n) {
					// Store bookmark on mousedown
					Event.add(n, 'mousedown', function() {
						ed.bookmark = ed.selection.getBookmark(1);
					});

					// Restore on focus, since it might be lost
					Event.add(n, 'focus', function() {
						ed.selection.moveToBookmark(ed.bookmark);
						ed.bookmark = null;
					});
				});
			}

			if (c.hideMenu)
				ed.onMouseDown.add(c.hideMenu, c);

			return t.add(c);
		},

		/**
		 * Creates a button control instance by id.
		 *
		 * @method createButton
		 * @param {String} id Unique id for the new button instance. For example "bold".
		 * @param {Object} s Optional settings object for the control.
		 * @param {Object} cc Optional control class to use instead of the default one.
		 * @return {tinymce.ui.Control} Control instance that got created and added.
		 */
		createButton : function(id, s, cc) {
			var t = this, ed = t.editor, o, c, cls;

			if (t.get(id))
				return null;

			s.title = ed.translate(s.title);
			s.label = ed.translate(s.label);
			s.scope = s.scope || ed;

			if (!s.onclick && !s.menu_button) {
				s.onclick = function() {
					ed.execCommand(s.cmd, s.ui || false, s.value);
				};
			}

			s = extend({
				title : s.title,
				'class' : 'mce_' + id,
				unavailable_prefix : ed.getLang('unavailable', ''),
				scope : s.scope,
				control_manager : t
			}, s);

			id = t.prefix + id;

			if (s.menu_button) {
				cls = cc || t._cls.menubutton || tinymce.ui.MenuButton;
				c = new cls(id, s, ed);
				ed.onMouseDown.add(c.hideMenu, c);
			} else {
				cls = t._cls.button || tinymce.ui.Button;
				c = new cls(id, s, ed);
			}

			return t.add(c);
		},

		/**
		 * Creates a menu button control instance by id.
		 *
		 * @method createMenuButton
		 * @param {String} id Unique id for the new menu button instance. For example "menu1".
		 * @param {Object} s Optional settings object for the control.
		 * @param {Object} cc Optional control class to use instead of the default one.
		 * @return {tinymce.ui.Control} Control instance that got created and added.
		 */
		createMenuButton : function(id, s, cc) {
			s = s || {};
			s.menu_button = 1;

			return this.createButton(id, s, cc);
		},

		/**
		 * Creates a split button control instance by id.
		 *
		 * @method createSplitButton
		 * @param {String} id Unique id for the new split button instance. For example "spellchecker".
		 * @param {Object} s Optional settings object for the control.
		 * @param {Object} cc Optional control class to use instead of the default one.
		 * @return {tinymce.ui.Control} Control instance that got created and added.
		 */
		createSplitButton : function(id, s, cc) {
			var t = this, ed = t.editor, cmd, c, cls;

			if (t.get(id))
				return null;

			s.title = ed.translate(s.title);
			s.scope = s.scope || ed;

			if (!s.onclick) {
				s.onclick = function(v) {
					ed.execCommand(s.cmd, s.ui || false, v || s.value);
				};
			}

			if (!s.onselect) {
				s.onselect = function(v) {
					ed.execCommand(s.cmd, s.ui || false, v || s.value);
				};
			}

			s = extend({
				title : s.title,
				'class' : 'mce_' + id,
				scope : s.scope,
				control_manager : t
			}, s);

			id = t.prefix + id;
			cls = cc || t._cls.splitbutton || tinymce.ui.SplitButton;
			c = t.add(new cls(id, s, ed));
			ed.onMouseDown.add(c.hideMenu, c);

			return c;
		},

		/**
		 * Creates a color split button control instance by id.
		 *
		 * @method createColorSplitButton
		 * @param {String} id Unique id for the new color split button instance. For example "forecolor".
		 * @param {Object} s Optional settings object for the control.
		 * @param {Object} cc Optional control class to use instead of the default one.
		 * @return {tinymce.ui.Control} Control instance that got created and added.
		 */
		createColorSplitButton : function(id, s, cc) {
			var t = this, ed = t.editor, cmd, c, cls, bm;

			if (t.get(id))
				return null;

			s.title = ed.translate(s.title);
			s.scope = s.scope || ed;

			if (!s.onclick) {
				s.onclick = function(v) {
					if (tinymce.isIE)
						bm = ed.selection.getBookmark(1);

					ed.execCommand(s.cmd, s.ui || false, v || s.value);
				};
			}

			if (!s.onselect) {
				s.onselect = function(v) {
					ed.execCommand(s.cmd, s.ui || false, v || s.value);
				};
			}

			s = extend({
				title : s.title,
				'class' : 'mce_' + id,
				'menu_class' : ed.getParam('skin') + 'Skin',
				scope : s.scope,
				more_colors_title : ed.getLang('more_colors')
			}, s);

			id = t.prefix + id;
			cls = cc || t._cls.colorsplitbutton || tinymce.ui.ColorSplitButton;
			c = new cls(id, s, ed);
			ed.onMouseDown.add(c.hideMenu, c);

			// Remove the menu element when the editor is removed
			ed.onRemove.add(function() {
				c.destroy();
			});

			// Fix for bug #1897785, #1898007
			if (tinymce.isIE) {
				c.onShowMenu.add(function() {
					// IE 8 needs focus in order to store away a range with the current collapsed caret location
					ed.focus();
					bm = ed.selection.getBookmark(1);
				});

				c.onHideMenu.add(function() {
					if (bm) {
						ed.selection.moveToBookmark(bm);
						bm = 0;
					}
				});
			}

			return t.add(c);
		},

		/**
		 * Creates a toolbar container control instance by id.
		 *
		 * @method createToolbar
		 * @param {String} id Unique id for the new toolbar container control instance. For example "toolbar1".
		 * @param {Object} s Optional settings object for the control.
		 * @param {Object} cc Optional control class to use instead of the default one.
		 * @return {tinymce.ui.Control} Control instance that got created and added.
		 */
		createToolbar : function(id, s, cc) {
			var c, t = this, cls;

			id = t.prefix + id;
			cls = cc || t._cls.toolbar || tinymce.ui.Toolbar;
			c = new cls(id, s, t.editor);

			if (t.get(id))
				return null;

			return t.add(c);
		},

		createToolbarGroup : function(id, s, cc) {
			var c, t = this, cls;
			id = t.prefix + id;
			cls = cc || this._cls.toolbarGroup || tinymce.ui.ToolbarGroup;
			c = new cls(id, s, t.editor);

			if (t.get(id))
				return null;

			return t.add(c);
		},

		/**
		 * Creates a separator control instance.
		 *
		 * @method createSeparator
		 * @param {Object} cc Optional control class to use instead of the default one.
		 * @return {tinymce.ui.Control} Control instance that got created and added.
		 */
		createSeparator : function(cc) {
			var cls = cc || this._cls.separator || tinymce.ui.Separator;

			return new cls();
		},

		/**
		 * Overrides a specific control type with a custom class.
		 *
		 * @method setControlType
		 * @param {string} n Name of the control to override for example button or dropmenu.
		 * @param {function} c Class reference to use instead of the default one.
		 * @return {function} Same as the class reference.
		 */
		setControlType : function(n, c) {
			return this._cls[n.toLowerCase()] = c;
		},

		/**
		 * Destroy.
		 *
		 * @method destroy
		 */
		destroy : function() {
			each(this.controls, function(c) {
				c.destroy();
			});

			this.controls = null;
		}
	});
})(tinymce);