this.sitemapstyler = function(){
	var sitemap = document.getElementById("sitemap")
	if(sitemap){
		this.listItem = function(li){
		 if(li.getElementsByTagName("ul").length > 0){
        var ul = li.getElementsByTagName("ul")[0];
        ul.style.display = "none";
				var span = document.createElement("span");
				span.className = "collapsed";
			  span.onclick = function(){
					ul.style.display = (ul.style.display == "none") ? "block" : "none";
					this.className = (ul.style.display == "none") ? "collapsed" : "expanded";
          if (this.className == "expanded") {
            ScreenState.add(li.id);
          } else { 
            ScreenState.remove(li.id);
          }
				};
				li.appendChild(span);
			};
		};
		
		var items = sitemap.getElementsByTagName("li");
		for(var i=0;i<items.length;i++){
			listItem(items[i]);
		};
    var has_path = location.pathname.length > 0 && location.pathname.match(/^[/]?$/g) == null;
    var has_search = location.search.length > 0 && location.search.match(/^[?]?$/g) == null;
    ScreenState.load('', function(id) {
      var li = document.getElementById(id);
      var ul = li.getElementsByTagName("ul")[0];  // the above code ensures      
      var spans = li.getElementsByTagName("span") // both ul and
      var span = spans[spans.length-1]            // span to exist. 
      ul.style.display = "block";
			span.className = "expanded";
    }, has_path || has_search);
	};
};

