var urlCache = new Array();

$(document).ready(function(){

  var bindBehaviors = function(scope) {
	$(".toggleShowLink", scope).show().toggle(
	  function() {
		show($(this).attr("id"),urlCache);
	  },
	  function () {
		hide($(this).attr("id"),urlCache);
	  }
	);
  }

  bindBehaviors(this);

  function hide(this_id) {
	$("#" + this_id + "").text("Show").removeClass("toggleHideLink").addClass("toggleShowLink");
	$("#folder" + this_id + "").hide();	
  }

  function show(this_id,myUrlCache) {
	if ( myUrlCache[this_id] != "loaded" ) {
	  var this_url = $("#" + this_id + "").attr("url") + "?x-template=ajax.view&x-layout=ajaxblank";
	  $("#folder" + this_id + "").load(this_url, function(data){
	    myUrlCache[this_id] = "loaded";
	    bindBehaviors(this);
	  });
	}
	$("#" + this_id + "").text("Hide").removeClass("toggleShowLink").addClass("toggleHideLink");
	$("#folder" + this_id + "").show();	
  }

});
