YAHOO.namespace('POTISCOM.cms');

(function() {
	
	var jsPath = 'libs/potiscomcms/js/';

	YAHOO.POTISCOM.cms.addModulesToLoader = function(loader) {
		
        loader.addModule({
            name: 'POTISCOM.cms.components.structure.SiteModule',
            type: 'js',
            requires: ['POTISCOM.components.structure.ApplicationModule'],
            fullpath: jsPath+'components/structure/SiteModule.js'
        });

        loader.addModule({
            name: 'POTISCOM.cms.components.structure.AdminModule',
            type: 'js',
            requires: ['POTISCOM.components.structure.ApplicationModule', 'history'],
            fullpath: jsPath+'components/structure/AdminModule.js'
        });

        loader.addModule({
            name: 'POTISCOM.cms.components.structure.NoContentModule',
            type: 'js',
            requires: ['POTISCOM.components.structure.Module'],
            fullpath: jsPath+'components/structure/NoContentModule.js'
        });

        loader.addModule({
            name: 'POTISCOM.cms.components.structure.CategoryEditorModule',
            type: 'js',
            requires: ['POTISCOM.components.structure.Module', 'stylesheet'],
            fullpath: jsPath+'components/structure/CategoryEditorModule.js'
        });

        loader.addModule({
            name: 'POTISCOM.cms.components.structure.plugins.ElementEditorPlugin',
            type: 'js',
            requires: ['POTISCOM.components.structure.Module', 'menu'],
            fullpath: jsPath+'components/structure/plugins/ElementEditorPlugin.js'
        });

        loader.addModule({
            name: 'POTISCOM.cms.components.structure.UserManagementModule',
            type: 'js',
            requires: ['POTISCOM.components.structure.Module', 'button'],
            fullpath: jsPath+'components/structure/UserManagementModule.js'
        });

        loader.addModule({
            name: 'POTISCOM.cms.components.structure.plugins.MainMenuPlugin',
            type: 'js',
            requires: ['POTISCOM.components.structure.plugins.MainMenuPlugin'],
            fullpath: jsPath+'components/structure/plugins/MainMenuPlugin.js'
        });

        loader.addModule({
            name: 'POTISCOM.cms.components.structure.plugins.CategoryPropertiesPlugin',
            type: 'js',
            requires: ['POTISCOM.components.structure.Plugin'],
            fullpath: jsPath+'components/structure/plugins/CategoryPropertiesPlugin.js'
        });

        loader.addModule({
            name: 'POTISCOM.cms.components.structure.plugins.DereferPlugin',
            type: 'js',
            requires: ['POTISCOM.components.structure.Plugin'],
            fullpath: jsPath+'components/structure/plugins/DereferPlugin.js'
        });

        loader.addModule({
            name: 'POTISCOM.cms.components.structure.plugins.CategoryContentPlugin',
            type: 'js',
            requires: ['button', 'POTISCOM.components.structure.Plugin'],
            fullpath: jsPath+'components/structure/plugins/CategoryContentPlugin.js'
        });

        loader.addModule({
            name: 'POTISCOM.cms.components.structure.plugins.CategoryTreePlugin',
            type: 'js',
            requires: ['button', 'POTISCOM.components.structure.Plugin', 'POTISCOM.components.datastructures.Tree'],
            fullpath: jsPath+'components/structure/plugins/CategoryTreePlugin.js'
        });

        loader.addModule({
            name: 'POTISCOM.cms.components.structure.plugins.LayoutAreaPlugin',
            type: 'js',
            requires: ['button', 'POTISCOM.components.structure.Plugin'],
            fullpath: jsPath+'components/structure/plugins/LayoutAreaPlugin.js'
        });


        
        // DIALOGS
        loader.addModule({
            name: 'POTISCOM.cms.components.dialogs.CreateCategoryDialog',
            type: 'js',
            requires: ['POTISCOM.components.genericdialogs.AbstractDialog'],
            fullpath: jsPath+'components/dialogs/CreateCategoryDialog.js'
        });

        loader.addModule({
            name: 'POTISCOM.cms.components.dialogs.CreateElementDialog',
            type: 'js',
            requires: ['POTISCOM.components.genericdialogs.AbstractDialog'],
            fullpath: jsPath+'components/dialogs/CreateElementDialog.js'
        });

        loader.addModule({
            name: 'POTISCOM.cms.components.dialogs.ElementPropertiesDialog',
            type: 'js',
            requires: ['POTISCOM.components.genericdialogs.AbstractDialog', 'POTISCOM.cms.components.widgets.HyperlinkWidget'],
            fullpath: jsPath+'components/dialogs/ElementPropertiesDialog.js'
        });

        loader.addModule({
            name: 'POTISCOM.cms.components.dialogs.ElementLibraryDialog',
            type: 'js',
            requires: ['POTISCOM.components.genericdialogs.AbstractDialog'],
            fullpath: jsPath+'components/dialogs/ElementLibraryDialog.js'
        });

        loader.addModule({
            name: 'POTISCOM.cms.components.dialogs.usermanagement.CreateUserDialog',
            type: 'js',
            requires: ['POTISCOM.components.genericdialogs.AbstractDialog'],
            fullpath: jsPath+'components/dialogs/usermanagement/CreateUserDialog.js'
        });

        loader.addModule({
            name: 'POTISCOM.cms.components.dialogs.usermanagement.CreateGroupDialog',
            type: 'js',
            requires: ['POTISCOM.components.genericdialogs.AbstractDialog'],
            fullpath: jsPath+'components/dialogs/usermanagement/CreateGroupDialog.js'
        });





        loader.addModule({
            name: 'POTISCOM.cms.components.richtexteditor.plugins.SimpleLinkPlugin',
            type: 'js',
            requires: ['POTISCOM.components.richtexteditor.Editor'],
            fullpath: jsPath+'components/richtexteditor/plugins/SimpleLinkPlugin.js'
        });






        loader.addModule({
            name: 'POTISCOM.cms.components.widgets.HyperlinkWidget',
            type: 'js',
            requires: [],
            fullpath: jsPath+'components/widgets/HyperlinkWidget.js'
        });



	};
	
})();


