function fetchElement()
 {
     global $smartslidercontroller, $ss2sliderafterform;
     $this->_value = htmlspecialchars($this->_form->get($this->_name, $this->_default), ENT_QUOTES);
     $this->_form->set($this->_name, $this->_value);
     $html = '<div style="display:none;">' . parent::fetchElement() . '</div>';
     $slider = null;
     $params = new NextendData();
     if (nextendIsJoomla()) {
         nextendimportsmartslider2('nextend.smartslider.joomla.slider');
         $module = new stdClass();
         $module->id = 0;
         $params->loadArray(array('slider' => intval($_GET['sliderid'])));
         $slider = new NextendSliderJoomla($module, $params, dirname(__FILE__), true);
     } else {
         if (nextendIsWordpress()) {
             nextendimportsmartslider2('nextend.smartslider.wordpress.slider');
             $slider = new NextendSliderWordpress(intval($_GET['sliderid']), $params, dirname(__FILE__), true);
         } else {
             if (nextendIsMagento()) {
                 nextendimportsmartslider2('nextend.smartslider.magento.slider');
                 $slider = new NextendSliderMagento(intval($_GET['sliderid']), $params, dirname(__FILE__), true);
             }
         }
     }
     ob_start();
     echo "<div id='smartslider-adjust-height' style='overflow:auto; margin: 5px; padding: 5px;'>";
     $slider->render();
     echo "</div>";
     echo "<div id='smart-slider-layer-dummy' class='smart-slider-layer'></div>";
     echo '<div class="smartslider-slide-advanced-layers" style="min-width: 1600px;"></div>';
     $ss2sliderafterform = ob_get_clean();
     $css = NextendCss::getInstance();
     $css->addCssLibraryFile('jqueryui/jquery.ui.resizable.css');
     $css->addCssFile(NEXTEND_SMART_SLIDER2_ASSETS . 'admin/css/layer.css');
     $js = NextendJavascript::getInstance();
     $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.core.min.js');
     $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.widget.min.js');
     $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.mouse.min.js');
     $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.resizable.min.js');
     $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.draggable.min.js');
     $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.sortable.min.js');
     $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.droppable.min.js');
     $js->addLibraryJsFile('jquery', NEXTENDLIBRARYASSETS . 'js' . DIRECTORY_SEPARATOR . 'base64.js');
     $js->addLibraryJsFile('jquery', NEXTENDLIBRARYASSETS . 'js' . DIRECTORY_SEPARATOR . 'sortable.js');
     $js->addLibraryJsFile('jquery', NEXTEND_SMART_SLIDER2_ASSETS . 'admin' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'console.js');
     $js->addLibraryJsFile('jquery', NEXTEND_SMART_SLIDER2_ASSETS . 'admin' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'slide.js');
     $js->addLibraryJsFile('jquery', NEXTEND_SMART_SLIDER2_ASSETS . 'admin' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'slide.layer.js');
     $js->addLibraryJsFile('jquery', NEXTEND_SMART_SLIDER2_ASSETS . 'admin' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'slide.item.js');
     $js->addLibraryJsFile('jquery', NEXTEND_SMART_SLIDER2_ASSETS . 'admin' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . 'slide.layout.js');
     $js->addLibraryJs('jquery', "\r\n            njQuery(document).ready(function(){\r\n                var el = \$('#smartslider-adjust-height');\r\n                el.height(el[0].scrollHeight+10);\r\n                \$(window).trigger('resize');\r\n            });\r\n            ndojo.addOnLoad(function(){\r\n                SmartSliderAdminSlide('" . $slider->getId() . "','" . $slider->_activeSlide . "','" . $this->_id . "', '" . $smartslidercontroller->route('controller=layouts&action=create') . "');\r\n            });\r\n        ");
     if (NextendSmartSliderSettings::get('slideeditoralert', 1)) {
         $js->addLibraryJs('jquery', "\r\n                njQuery(window).on('beforeunload', function() {\r\n                    if (njQuery.now()-window.nextendtime > 60000 && !window.nextendsave) { // 1 min\r\n                        return '" . NextendText::_('Your_slide_settings_has_not_been_submitted_yet') . "';\r\n                    } else {\r\n                        return;\r\n                    }\r\n                });\r\n            ");
     }
     return $html;
 }
    ?>

    <div style="clear:both;height: 10px; width:100%"></div>
</div>
<?php 
}
?>


</form>

<h2>Preview</h2>
<div style="overflow: auto; padding: 10px;">
    <?php 
$slider->_replaceSlider = $fakeslider;
$slider->render();
?>

</div>
<?php 
if (NextendRequest::getInt('fontset', 0) == 0) {
    ?>

<div class="box" style="width: 50%">
    <h3>Missing fonts?</h3>
    <p>These layouts need custom font set to display properly. If font set have not loaded yet, you should load them.<br />
    Note: This action will clear the current font set on this slider.</p>
    <a href="<?php 
    echo $this->route('controller=sliders&view=sliders_slider&action=changedynamiclayout&loadfontset=1&fontset=1&sliderid=' . $sliderid . '&layout=' . NextendRequest::getVar('layout'));
    ?>
" style="margin-top: 10px;" class="button b">Load font set</a>