( 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 :"(Brochure)2008/10/06",
            link :"publications/news20081006.html"
        }
        
		var p2obj = {
            label :"(Brochure)2008/09/03",
            link :"publications/news20080903.html"
        }
		
		var p3obj = {
            label :"(Article)2008/09/02",
            link :"publications/news20080902.html"
        }

        var p4obj = {
            label :"(Article)2008/08/30",
            link :"publications/news20080830.html"
        }
		
		var p5obj = {
            label :"(Article)2008/08/28",
            link :"publications/news20080828.html"
        }
		
		var p6obj = {
            label :"(Brochure)2008/07/30",
            link :"publications/news20080730.html"
        }

        var p1 = new YAHOO.widget.TextNode(p1obj, root, false);
        var p2 = new YAHOO.widget.TextNode(p2obj, root, false);
	    var p3 = new YAHOO.widget.TextNode(p3obj, root, false);
        var p4 = new YAHOO.widget.TextNode(p4obj, root, false);
		var p5 = new YAHOO.widget.TextNode(p5obj, root, false);
		var p6 = new YAHOO.widget.TextNode(p6obj, root, true);

        // 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);
})();