/**
 * Starts the slider and its configuration
 * @param string $id accordion Id
 * @param array() $configurations Array. See the options and events in
 *        http://jqueryui.com/demos/slider/#options
 *        http://jqueryui.com/demos/slider/#events
 * @param string $html_attributes Additional options parameter (html attributes)
 */
function ui_slider_create($id, $configurations = array(), $html_attributes = null)
{
    $configurations = get_default_widget_configuration('app_ys_jquery_ui_slider_defaults', $configurations);
    $pattern = _ui_slider_pattern($configurations);
    init_ui_widget('slider', $pattern, $id, $configurations);
    echo '<div id="' . $id . '" ' . $html_attributes . '></div>';
}
/**
 * Starts the accordion and its configuration
 * @param string $selector jQuery Selector
 * @param array() $configurations Array. See the options and events in
 *        http://jqueryui.com/demos/accordion/#options
 *        http://jqueryui.com/demos/accordion/#events
 * @param string $html_attributes Additional options parameter (html attributes)
 */
function ui_accordion_init($selector, $configurations = array(), $html_attributes = null)
{
    $configurations = get_default_widget_configuration('app_ys_jquery_ui_accordion_defaults', $configurations);
    $pattern = _ui_accordion_pattern($configurations);
    init_ui_widget('accordion', $pattern, $selector, $configurations);
    echo '<div id="' . $selector . '" ' . $html_attributes . '>';
}
/**
 * Starts the tab panel and its configuration
 * @param string $id tab panel Id
 * @param array() $configurations Array. See the options and events in
 *        http://jqueryui.com/demos/tabs/#options
 *        http://jqueryui.com/demos/tabs/#events
 * @param string $html_attributes Additional options parameter (html attributes)
 */
function ui_tabs_init_panel($id, $configurations = array(), $html_attributes = null)
{
    $configurations = get_default_widget_configuration('app_ys_jquery_ui_tabs_defaults', $configurations);
    $pattern = _ui_tabs_pattern($configurations);
    init_ui_widget('tabs', $pattern, $id, $configurations);
    echo '<div id="' . $id . '" ' . $html_attributes . '>';
}
/**
 * Starts the datepicker and its configuration
 * @param string $selector jQuery Selector
 * @param array() $configurations Array. See the options and events in
 *        http://jqueryui.com/demos/datepicker/#options
 *        http://jqueryui.com/demos/datepicker/#events
 * @param string $html_attributes Additional options parameter (html attributes)
 */
function ui_datepicker_create($selector, $configurations = array(), $html_attributes = null)
{
    $configurations = get_default_widget_configuration('app_ys_jquery_ui_datepicker_defaults', $configurations);
    $pattern = _ui_datepicker_pattern($configurations);
    init_ui_widget('datepicker', $pattern, $selector, $configurations);
    if (isset($configurations['inLine']) && $configurations['inLine'] == true) {
        echo '<div id="' . $selector . '" ' . $html_attributes . '></div>';
    } else {
        echo '<input type="text" id="' . $selector . '" ' . $html_attributes . '>';
    }
    if (is_array($configurations) && isset($configurations['i18n'])) {
        echo ui_datepicker_regional('#' . $selector, $configurations['i18n'], false);
    }
}
/**
 * Starts the dialog and its configuration
 * @param string $id dialog Id
 * @param array() $configurations Array. See the options and events in
 *        http://jqueryui.com/demos/dialog/#options
 *        http://jqueryui.com/demos/dialog/#events
 * @param string $html_attributes Additional options parameter (html attributes)
 */
function ui_dialog_init($id, $configurations = array(), $html_attributes = null)
{
    $configurations = get_default_widget_configuration('app_ys_jquery_ui_dialog_defaults', $configurations);
    $pattern = _ui_dialog_pattern($configurations);
    init_ui_widget('dialog', $pattern, $id, $configurations);
    if (isset($configurations['listener'])) {
        $listener = $configurations['listener'];
        if ((isset($listener['event']) || isset($listener['oneEvent'])) && isset($listener['selector'])) {
            $dialogId = '#' . $id;
            $event = isset($listener['oneEvent']) ? $listener['oneEvent'] : $listener['event'];
            echo jquery_execute(ui_dialog_open($dialogId), $listener['selector'], $event);
        }
    }
    echo '<div id="' . $id . '" ' . $html_attributes . '>';
}