var tree;

function makeTree(selected)
{
        
    $(document).ready(function() {
        var name = "#row_" + selected;
        
        $(name).fadeIn(1000);        
    });
}

function clickTree(id_item, selected, language, id_sitemap, id_sitemap_previous)
{
    hideAll(this.tree);
    greyOutImages(this.tree, id_item);
        
    var item = getItem(this.tree, id_item);
    
    var id_item2 = item['item'];
    var parent = item['parent'];
    var name = "#row_" + parent + "_" + id_item2;
    var img = "#img_" + parent + "_" + id_item2;
    $(name).css("display", "block");
    $(img).fadeTo("1", "1");    
            
    while (parent > 0)
    {
        item = getItem(this.tree, parent);
        id_item2 = item['item'];
        parent = item['parent'];
        
        var name = "#row_" + parent + "_" + id_item2;
        var img = "#img_" + parent + "_" + id_item2;
        $(name).css("display", "block");
        $(img).fadeTo("1", "1");        
    }
    
    if (id_sitemap_previous > 0)
    {
        var url = "extract.pl?id_sitemap=" + id_sitemap_previous + "&language=" + language;
        $("#ui-dialog #current").load(url);        
    }
    else
    {
       $("#ui-dialog #current").html(""); 
    }
    
    if (id_sitemap > 0)
    {
        var url = "extract.pl?id_sitemap=" + id_sitemap + "&language=" + language;
        $("#ui-dialog #previous").load(url);        
    }
    else
    {
        $("#ui-dialog #previous").html("");
    }
    
    if (id_sitemap_previous > 0 || id_sitemap > 0)
    {
        $.ui.dialog.defaults.bgiframe = true;
        $("#ui-dialog").dialog({resizable: true, position: 'top', width: 500, 
                                    close: function(event, ui)
                                    {
                                        $("#ui-dialog").html("<div id='previous'><p><img src='../content/images/dialog/ajax-loader.gif'>&nbsp;loading content...<br></p></div><div id='current'><p><img src='../content/images/dialog/ajax-loader.gif'>&nbsp;loading content...</p></div>");
                                    }        
        });
        $("#ui-dialog").dialog('open');
    }
}

function initializeTree(arr)
{
    this.tree = arr;
}

function hideAll(arr)
{
    for (x in arr)
    {
        var obj = arr[x];
        
        var children = obj['children'];        
        var parent = obj['parent'];
        var item = obj['item'];
        
        var name = "#row_" + parent + "_" + item;
        
        $(name).css("display", "none");
        
        hideAll(children);
    }
}

function greyOutImages(arr, id_item)
{
    for (x in arr)
    {
        var obj = arr[x];
        
        var children = obj['children'];        
        var parent = obj['parent'];
        var item = obj['item'];
                
        var name = "#img_" + parent + "_" + item;        
        
        if (id_item != item)
        {
            $(name).fadeTo("1", "0.3");            
        }
        else
        {
            $(name).fadeTo("1", "1");
        }
        
        if (id_item != item)
        {
            greyOutImages(children, id_item);
        }
        else
        {
            removeGreyImages(children, id_item);
        }
    }
}

function removeGreyImages(arr, id_item)
{
    for (x in arr)
    {
        var obj = arr[x];
        
        var children = obj['children'];        
        var parent = obj['parent'];
        var item = obj['item'];
        
        var name = "#img_" + parent + "_" + item;
        
        $(name).fadeTo("1", "1");
        
        removeGreyImages(children, id_item);
    }
}

function getItem(arr, id_item)
{    
    for (x in arr)
    {
        var obj = arr[x];
        
        var children = obj['children'];        
        var parent = obj['parent'];
        var id_item2 = obj['item'];        
        
        if (id_item == id_item2)
        {
            return obj;
        }
        else
        {
            var item = getItem(children, id_item);
            if (item)
            {
                return item;
            }
        }
    }
    return 0;
}

function showRow(selected)
{
    
}
