{% load i18n l10n admin_static %}

{% block extrastyle %}
<link rel="stylesheet" href="{% static "djangocms_text_ckeditor/css/cms.ckeditor.css" %}" />
{% endblock %}

{% block extrahead %}
<script>window.CKEDITOR_BASEPATH = "{{ CKEDITOR_BASEPATH }}";</script>
<script src="{% static "cms/js/modules/cms.base.js" %}"></script>
<script src="{% static "djangocms_text_ckeditor/ckeditor/ckeditor.js" %}"></script>
<script src="{% static "djangocms_text_ckeditor/js/cms.ckeditor.js" %}"></script>
{% endblock %}

<script>
(function($) {
// CMS.$ will be passed for $
$(document).ready(function () {
	function initCMSCKEditor{{ ckeditor_function }}() {
		if ($('#{{ ckeditor_selector }}:visible').length > 0) {
			$('#{{ ckeditor_selector }}:visible').each(function() {
				$(this).hide();

				var container = $(this).attr('id');
				CMS.CKEditor.init(container, {{ settings|safe }}, {
					'static_url': '{{ STATIC_URL }}djangocms_text_ckeditor',
					'add_plugin_url': '{{ placeholder.get_add_url }}',
					'placeholder_id': {{ placeholder.pk|default:"''"|unlocalize }},
					'plugin_id': {{ plugin_pk|default:"''"|unlocalize }},
					'plugin_language': '{{ plugin_language }}',
					'lang': {
						'toolbar': '{% filter escapejs %}{% trans "CMS Plugins" %}{% endfilter %}',
						'add': '{% filter escapejs %}{% trans "Add CMS Plugin" %}{% endfilter %}',
						'edit': '{% filter escapejs %}{% trans "Edit CMS Plugin" %}{% endfilter %}',
						'aria': '{% filter escapejs %}{% trans "CMS Plugins" %}{% endfilter %}',
						'link': '{% filter escapejs %}{% trans "Link" %}{% endfilter %}'
					},
					'plugins': [
						{% regroup installed_plugins by module as module_list %}
						{% for module in module_list %}
							{ group: '{% filter escapejs %}{% if module.grouper %}{{ module.grouper|capfirst }}{% else %}{% trans "Standard Plugins" %}{% endif %}{% endfilter %}', items: [
								{% for plugin in module.list %}
									{ 'title': '{% filter escapejs %}{{ plugin.name }}{% endfilter %}', 'type': '{% filter escapejs %}{{ plugin.value }}{% endfilter %}' }{% if not forloop.last %},{% endif %}
								{% endfor %}
							]}{% if not forloop.last %},{% endif %}
						{% endfor %}
					]{% if not placeholder %},
					'toolbar': 'HTMLField'
					{% endif %}
				});
			});
		}
	}

	// initialize ckeditor only if the container exists and is ready
	initCMSCKEditor{{ ckeditor_function }}();

	// initialize ckeditor in admin inline for "add-row" link
	var addButtons{{ ckeditor_function }} = $('.add-row a');
	if (addButtons{{ ckeditor_function }}.length > 0) {
		if (addButtons{{ ckeditor_function }}.data('isInitCMSCKEditor') !== 'yes') {
			addButtons{{ ckeditor_function }}.click(function () {
				initCMSCKEditor{{ ckeditor_function }}();
			});
			addButtons{{ ckeditor_function }}.data('isInitCMSCKEditor', 'yes');
		}
	}
	//initialize ckeditor when a collapsed row is extended
	$("fieldset.collapse a.collapse-toggle").click(function(e) {
		var $this = $(this);
		if (!$this.closest("fieldset").hasClass("collapsed") && $this.data('isInitCMSCKEditor') != 'yes') {
			// Show
			initCMSCKEditor{{ ckeditor_function }}();
			$this.data('isInitCMSCKEditor', 'yes');
		}
	});
});
})(CMS.$);
</script>
