<?php

View::asset('js', URL::get('vendor') . 'tinymce/tinymce.min.js');
View::asset('js', URL::get('library') . 'js/backend/tinymce/yflink/plugin.js');
View::asset('js', URL::get('library') . 'js/backend/tinymce/yfimage/plugin.js');
View::asset('template', '<script class="yf" name="tinymce-image-default" type="text/html">
<img align="left" data-id="{{id}}" src="{{src}}" alt="{{title}}" data-size="{{size}}" data-enlarge="{{enlarge}}" />
</script>');
?>
<!-- Text area -->
<span class="yf" data-use="backend.form.Tinymce" data-template="tinymce-image-default" data-settings='<?php 
echo json_encode(array('tinymce' => array('mode' => 'textareas', 'selector' => '', 'content_css' => URL::get('base') . 'style/css/default.css,' . URL::get('base') . 'style/css/style.css,' . URL::get('base') . 'style/css/wysiwyg.css', 'convert_urls' => FALSE, 'force_p_newlines' => FALSE, 'language' => $_language, 'paste_word_valid_elements' => 'b,strong,i,em,h1,h2', 'menubar' => 'edit, insert, view, format, table', 'valid_elements' => 'object[height|width|style|data|type],param[name|value|style],embed[src|type|allowscriptaccess|allowfullscreen|width|height],span[name|value|style],strong/b,em/i,u/underline,a[href|target|id|class|title|data-id|style],p[style],h2[style],h3[style],hr[style],br,ul[style],ol[style],li[style],img[src|alt|title|align|width|height|id|class|rel|data-size|data-id|data-enlarge|style],table[style|width|height],tr[width|height],td[width|height|rowspan|colspan],th,tbody,sub,sup,iframe[src|width|height|frameborder|style],pre[style],div[class|style],blockquote[class|style],code[class|style]', 'toolbar1' => 'undo redo | styleselect | bold italic | bullist numlist | yflink yfimage | code', 'width' => '100%', 'height' => 400, 'plugins' => 'paste,media,table,yfimage,yflink,code'), 'url_link' => URL::to((isset($element->controller_link) ? $element->controller_link : 'link') . '@{{action}}:{{id}}', array('viewport' => 'item', 'callback' => '{{callback}}')), 'title_link' => text('link:module.single'), 'url_image' => URL::to((isset($element->controller_image) ? $element->controller_image : 'image') . '@embed:{{id}}', array('viewport' => 'item', 'param1' => '{{size}}', 'callback' => '{{callback}}')), 'title_image' => text('image:module.single'), 'path_images' => URL::get('files') . 'images/'));
?>
'>
	
	<?php 
echo FormHTML::textarea($element->name, HTML::chars($element->value), $element->attributes, FALSE);
?>
</span>
<?php

// include js library
View::asset('js', URL::get('vendor') . 'jquery/sortable_nestable.js');
// create root
$root = Dom::node('ul', array('class' => 'yf tree', 'data-use' => 'backend.List,backend.list.Tree', 'data-settings' => json_encode(array('url_move' => URL::to($viewer->controller() . '@move:{{id}}', array('param1' => '{{after}}', 'param2' => '{{parent}}')), 'sortable' => $viewer->sortable()))));
// first parent is the root
$parent = $root;
//  stack of nested nodes
$stack = array();
// startdept: 0
$currentDepth = 0;
// add current parent to the stack
$stack[] = $parent;
// go through list
foreach ($viewer as $item) {
    // get depth
    $depth = $item->depth();
    // create li
    $li = Dom::node('li', array('class' => 'yf-list-item depth-' . $depth, 'data-id' => $item->id, 'data-depth' => $depth));
    // set movable
    if ($viewer->movable($item)) {
        $li->attribute('class', 'yf-movable', TRUE);
    }
    // set active
    if ($item->id === $viewer->active()) {
        $li->attribute('class', 'active', TRUE);
    }
    // content div
    $div = Dom::node('div', array('class' => 'content'));
    $li->append($div);