( function() {
    var tree; // will hold our TreeView instance

    function treeInit() {
        // Hand off ot a method that randomly generates tree nodes:
        buildTextNodeTree();

        // handler for collapsing all nodes
        YAHOO.util.Event.on("collapse", "click", function(e) {
            tree.collapseAll();
            YAHOO.util.Event.preventDefault(e);
        });
    }

    function buildTextNodeTree() {
        tree = new YAHOO.widget.TreeView("treeDiv1");

        var root = tree.getRoot();

        var p1obj = {
            label :"Our Company",
            link :"aboutus/ourcompany.html"
        }

        var p1 = new YAHOO.widget.TextNode(p1obj, root, false);

        // setup the event listeners
        tree.subscribe("labelClick", function(node) {
            if (node.data.link != "#")
            {
                updateContents(node);
            }
        });


        // render default page
        // document.getElementById("contents").innerHTML =
        // YAHOO.util.Connect.asyncRequest("GET", o.data.link, callback);

        // render the tree
        tree.draw();
    }

    function updateContents(o) {
        var content = document.getElementById("contents");

        var callback = {
            success : function(a) {
                content.innerHTML = a.responseText;
                content.style.visibility = "visible";
            },
            failure : function(a) {
                content.innerHTML = "CONNECTION FAILED";
                content.style.visibility = "visible";
            }
        };

        var conn = YAHOO.util.Connect
        .asyncRequest("GET", o.data.link, callback);
    }

    //When the DOM is done loading, we can initialize our TreeView
    //instance:
    YAHOO.util.Event.onDOMReady(treeInit);
})();