function xtext_spoiler_process(parent){
	($type(parent) == 'element' || $type(parent) == 'document'
		? parent.getElements
		: $$
	)('.spoiler').each(function(spoiler){
		if(spoiler.hasClass('spoiler-ready')){
			return;
		}
		var title = spoiler.getFirst('.spoiler-title');
		var title_html = title.get('html');
		title.set('html', '');
		var body = title.getNext('.spoiler-body');
		var link = new Element('a',{
			'href': '#',
			'html': title_html,
			'events': {
				'click': function(event){
					event.preventDefault();
					this.getParent().toggleClass('spoiler-title-close');
					body.toggleClass('spoiler-body-hide');
				}
			}
		}).inject(title)
		spoiler.addClass('spoiler-ready');
	});
}

function xtext_spoiler_init(panel_rules){
	xtext_add_panel_button(
		panel_rules,
		'lsPanel.putTagAround($textarea$, \'spoiler title=""\', \'spoiler\');',
		'tag/spoiler/spoiler-panel-icon.gif',
		xtext_lang_get('xtext_spoiler_panel_title')
	);
}
