function show_child_list(children_id) {

document.getElementById(children_id).style.height = '0px';
//document.getElementById(children_id).style.visibility = 'hidden';
document.getElementById(children_id).style.display = 'none';
//document.getElementById(children_id).style.position = 'absolute';
document.getElementById(children_id).style.left = '0px';

//alert (document.getElementById(children_id).clientHeight);


fncFesExpandShow(children_id);

}

function hide_child_list(children_id) {

//document.getElementById(children_id).style.display = 'block';
//document.getElementById(children_id).style.height = '0px';
//document.getElementById(children_id).style.position = 'relative';
//document.getElementById(children_id).style.left = '0px';

fncFesShrinkHide(children_id);

}

function GetAbsolutePosition(node)
{

    var element = node;
    var left = 0;
    var top = 0;

    while (element !== null)
    {
        left += element.offsetLeft;
        top += element.offsetTop;
        element = element.offsetParent;
    }

    return {left:left, top:top};

}

function hide_all_children(node,exception)
{
    if (node.id == exception) return;

    if (typeof(node) == 'string') node = document.getElementById(node);

    for (var item = node.firstChild; item; item = item.nextSibling) {

        if (item.hasChildNodes())
        {
            hide_all_children(item,exception);

        }

        if (item.tagName == 'UL')
        {
            item.style.display = 'none';
            item.style.height = '';

        }

    }

}

//for (var item = YAHOO.util.Dom.get('container').firstChild; item; item =
//item.nextSibling) {
//        if (item.id < slider.minVal) { ... }
//
//}

var pub_fes_slide_timer;

function fncFesLockMenu(prm_menuname)
{
    document.getElementById(prm_menuname).style.display = 'block';
    document.getElementById(prm_menuname).style.visibility = 'visible';
    document.getElementById(prm_menuname).fes_locked = 'true';
}

function fncFesExpandShow(prm_menuname,prm_delay)
{
    var menu = document.getElementById(prm_menuname);

    if (menu.fes_locked == 'true') return;

    if (typeof(prm_delay) == 'undefined')
    {
        if (typeof(menu.fes_current_height) == 'undefined') menu.fes_current_height = 0;

        var loc_visibility = menu.style.visibility
        menu.style.height = '';
        menu.style.visibility = 'hidden';
        menu.style.display = 'block';
        menu.style.position = 'relative';

        menu.fes_target_height = menu.clientHeight;

        if (loc_visibility == 'hidden')
        {
            menu.style.height = "0px";

        }
        else
        {
            menu.style.visibility = loc_visibility;

        }

        menu.style.visibility = 'visible'; // no sliding in this case

        clearTimeout(pub_fes_slide_timer);
        pub_fes_slide_timer = setTimeout('fncFesExpandShow("' + prm_menuname + '",10)',1000);
        return;

    }

    if (menu.fes_current_height < menu.fes_target_height)
    {
        menu.fes_current_height += Math.min(10,menu.fes_target_height - menu.fes_current_height);

        menu.style.height = menu.fes_current_height + "px";

        clearTimeout(pub_fes_slide_timer);
        pub_fes_slide_timer = setTimeout('fncFesExpandShow("' + prm_menuname + '",10)',1);

    }
    else
    {
        menu.style.visibility = 'visible';
        menu.style.height = '';

    }

}

function fncFesShrinkHide(prm_menuname,prm_delay)
{
    var menu = document.getElementById(prm_menuname);

    if (menu.fes_locked == 'true') return;

    if (typeof(prm_delay) == 'undefined')
    {
        menu.fes_current_height = menu.clientHeight;
        menu.fes_target_height = 0;

        clearTimeout(pub_fes_slide_timer);
        pub_fes_slide_timer = setTimeout('fncFesShrinkHide("' + prm_menuname + '",10)',1);
        return;

    }

    menu.style.visibility = 'hidden';

    if (menu.fes_current_height > menu.fes_target_height)
    {
        menu.fes_current_height -= Math.min(10,menu.fes_current_height - menu.fes_target_height);

        menu.style.height = menu.fes_current_height + "px";

        clearTimeout(pub_fes_slide_timer);
        pub_fes_slide_timer = setTimeout('fncFesShrinkHide("' + prm_menuname + '",10)',1);

    }
    else
    {
        menu.style.display = 'none';
        menu.style.height = '';

//        hide_all_children(menu);

    }

}