/* <![CDATA[ */

var timeout_iv;

var last_parent_int = 0;

var structure_prefix_string = 'structure_';
var structure_suffix_string = '_div';

//  -----------------------------------------------------------------------

function getX(obj)
{
   return (obj.offsetParent) ? obj.offsetLeft + getX(obj.offsetParent) : obj.offsetLeft;
}


function getY(obj)
{
   return (obj.offsetParent) ? obj.offsetTop + getY(obj.offsetParent) : obj.offsetTop;
}

function getWidth(obj)
{
   return obj.offsetWidth;
}

//  -----------------------------------------------------------------------

function setCollapse(timeout_bool)
{
    if (timeout_bool)
    {
        last_parent_int = 0;
    }

    var div_array = document.getElementsByTagName('div');

    for(var i_int = 0; i_int < div_array.length; i_int++)
    {
        if (div_array[i_int].id.substring(0, structure_prefix_string.length) == structure_prefix_string)
        {
            var part_array = div_array[i_int].id.split('_');

            if (part_array[1] > last_parent_int)
            {
                div_array[i_int].style.visibility = 'hidden';
            }
        }
    }
}

//  -----------------------------------------------------------------------

function setOver(current_object, parent_int, child_int)
{
    var link_array = current_object.getElementsByTagName('a')

    link_array[0].className = link_array[0].className.replace('out', 'over');
    current_object.className = current_object.className.replace('out', 'over');

    if (last_parent_int == parent_int)
    {
        setCollapse();
    }
    else if (parent_int < last_parent_int)
    {
        last_parent_int = parent_int;

        setCollapse();
    }
    else
    {
        last_parent_int = parent_int;
    }

    if (timeout_iv)
    {
        clearInterval(timeout_iv);
    }

    if (child_int)
    {
        var child_object = document.getElementById(structure_prefix_string + child_int + structure_suffix_string);

        child_object.style.visibility = 'visible';

        child_object.style.top = getY(current_object) + 'px';
        child_object.style.left = (getX(current_object) + getWidth(current_object)) + 'px';
    }
}

function setOut(current_object)
{
    var link_array = current_object.getElementsByTagName('a')

    link_array[0].className = link_array[0].className.replace('over', 'out');
    current_object.className = current_object.className.replace('over', 'out');

    timeout_iv = setInterval('setCollapse(' + 1 + ')', 400);
}

function setLink(location_string)
{
	document.location.href=location_string;
}

/* ]]> */
