/*
    FIZ-Technik

    js/widget.js                2007-04-18  (c) e.sens.e GmbH
*/


function _widget_find_element(e)
{
    for (; e; e = e.parentNode)
        if (elementIsClass(e, 'widget'))
            return e;
    return false;
}

function widget_collapse(e)
{
    elementAddClass(_widget_find_element(e), 'widget_collapsed');
}

function widget_expand(e)
{
    elementRemoveClass(_widget_find_element(e), 'widget_collapsed');
}

function widget_hide(e)
{
    elementAddClass(_widget_find_element(e), 'widget_hidden');
}

function widget_show(e)
{
    elementRemoveClass(_widget_find_element(e), 'widget_hidden');
}

function widget_close(e)
{
    elementAddClass(_widget_find_element(e), 'widget_closed');
}

function widget_open(e)
{
    elementRemoveClass(_widget_find_element(e), 'widget_closed');
}

function widget_select_tab(e, tab_index)
{
    var tabs = Array(), i, class_name;

    tabs = elementGetChildNodesByClassName(elementGetChildNodesByClassName(
        _widget_find_element(e), 'widget_tabs')[0], 'widget_tab');

    contents = elementGetChildNodesByClassName(elementGetChildNodesByClassName(
        elementGetChildNodesByClassName(elementGetChildNodesByClassName(
        _widget_find_element(e), 'widget_body')[0], 'widget_inner')[0],
        'widget_content')[0], 'widget_tab_content');

    for (i = 0; i < tabs.length; i++)
    {
        class_name = (i == 0) ? 'widget_tab_first_current' :
            'widget_tab_current';
        if (i == tab_index)
        {
            elementAddClass(tabs[i], class_name);
            elementAddClass(contents[i], 'widget_tab_content_current');
        }
        else
        {
            elementRemoveClass(tabs[i], class_name);
            elementRemoveClass(contents[i], 'widget_tab_content_current');
        }
    }
}

function _miniwidget_find_element(e)
{
    for (; e; e = e.parentNode)
        if (elementIsClass(e, 'miniwidget'))
            return e;
    return false;
}

function miniwidget_collapse(e)
{
    elementAddClass(_miniwidget_find_element(e), 'miniwidget_collapsed');
}

function miniwidget_expand(e)
{
    elementRemoveClass(_miniwidget_find_element(e), 'miniwidget_collapsed');
}

