public function library($sLibrary)
    {
        switch (strtoupper($sLibrary)) {

            case 'CKEDITOR':

                $this->load(
                    [
                        'ckeditor/ckeditor.js',
                        'ckeditor/adapters/jquery.js',
                    ],
                    'NAILS-BOWER'
                );
                break;

            case 'JQUERYUI':

                $this->load(
                    [
                        'jquery-ui/jquery-ui.min.js',
                        'jquery-ui/themes/smoothness/jquery-ui.min.css',
                        'jqueryui-timepicker-addon/dist/jquery-ui-timepicker-addon.min.js',
                        'jqueryui-timepicker-addon/dist/jquery-ui-timepicker-addon.css',
                    ],
                    'NAILS-BOWER'
                );

                $this->load(
                    'jquery.ui.extra.css',
                    'NAILS'
                );
                break;

            case 'CMSWIDGETEDITOR':

                $this->library('JQUERYUI');
                $this->load(
                    [
                        'mustache.js/mustache.js',
                        'jquery-serialize-object/dist/jquery.serialize-object.min.js',
                    ],
                    'NAILS-BOWER'
                );
                break;

            case 'UPLOADIFY':

                $this->load(
                    [
                        'uploadify/uploadify.css',
                        'uploadify/jquery.uploadify.min.js',
                    ],
                    'NAILS-PACKAGE'
                );
                break;

            case 'CHOSEN':

                $this->load(
                    [
                        'chosen/chosen.min.css',
                        'chosen/chosen.jquery.min.js',
                    ],
                    'NAILS-BOWER'
                );
                break;

            case 'SELECT2':

                $this->load(
                    [
                        'select2/select2.css',
                        'select2/select2.min.js',
                    ],
                    'NAILS-BOWER'
                );
                break;

            case 'ZEROCLIPBOARD':

                $this->load(
                    [
                        'zeroclipboard/dist/ZeroClipboard.min.js',
                    ],
                    'NAILS-BOWER'
                );
                break;

            case 'KNOCKOUT':

                $this->load(
                    [
                        'knockout/dist/knockout.js',
                    ],
                    'NAILS-BOWER'
                );
                break;

            case 'MUSTACHE':

                $this->load(
                    [
                        'mustache.js/mustache.js',
                    ],
                    'NAILS-BOWER'
                );
                break;

            case 'MOMENT':

                $this->load(
                    [
                        'moment/moment.js',
                    ],
                    'NAILS-BOWER'
                );
                break;
        }

        return $this;
    }