/**
 * Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or http://ckeditor.com/license
 */

// Tool scripts for the sample pages.
// This file can be ignored and is not required to make use of CKEditor.

(function () {
    CKEDITOR.on('instanceReady', function (ev) {
        // Check for sample compliance.
        var editor = ev.editor,
            meta = CKEDITOR.document.$.getElementsByName('ckeditor-sample-required-plugins'),
            requires = meta.length ? CKEDITOR.dom.element.get(meta[0]).getAttribute('content').split(',') : [],
            missing = [],
            i;

        if (requires.length) {
            for (i = 0; i < requires.length; i++) {
                if (!editor.plugins[requires[i]])
                    missing.push('<code>' + requires[i] + '</code>');
            }

            if (missing.length) {
                var warn = CKEDITOR.dom.element.createFromHtml(
                    '<div class="warning">' +
                    '<span>To fully experience this demo, the ' + missing.join(', ') + ' plugin' + ( missing.length > 1 ? 's are' : ' is' ) + ' required.</span>' +
                    '</div>'
                );
                warn.insertBefore(editor.container);
            }
        }

        // Set icons.
        var doc = new CKEDITOR.dom.document(document),
            icons = doc.find('.button_icon');

        for (i = 0; i < icons.count(); i++) {
            var icon = icons.getItem(i),
                name = icon.getAttribute('data-icon'),
                style = CKEDITOR.skin.getIconStyle(name, ( CKEDITOR.lang.dir == 'rtl' ));

            icon.addClass('cke_button_icon');
            icon.addClass('cke_button__' + name + '_icon');
            icon.setAttribute('style', style);
            icon.setStyle('float', 'none');

        }
    });
})();
