1 //require <jquery.packed.js>
  2 (function(){
  3 
  4 	var $ = jQuery;
  5 	
  6 	if ( typeof(Xataface) == 'undefined' ) Xataface = {};
  7 	if ( typeof(Xataface.blocks) == 'undefined' ) Xataface.blocks = {};
  8 	if ( typeof(Xataface.blocks.collapsible_sidebar) ) Xataface.blocks.collapsible_sidebar = {};
  9 	
 10 	var treeExpandedURL = DATAFACE_URL+'/images/treeExpanded.gif';
 11 	var treeCollapsedURL = DATAFACE_URL+'/images/treeCollapsed.gif';
 12 	
 13 	Xataface.blocks.collapsible_sidebar.toggleCallback = function(){
 14 		// this : dom element
 15 		jQuery(this).toggleClass('Dataface_collapsible_sidebar-closed');
 16 		jQuery(this).toggleClass('closed');
 17 		var img = jQuery(this).prev().find('img').get(0);
 18 		if ( img.src == treeExpandedURL) img.src = treeCollapsedURL;
 19 		else img.src = treeExpandedURL;
 20 		
 21 		if ( jQuery(this).hasClass('closed') ){
 22 			var collapseCallback = this.parentNode.getAttribute('oncollapse');
 23 			
 24 			this.parentNode.oncollapse = function(){eval(collapseCallback);};
 25 			this.parentNode.oncollapse();	
 26 		} else {
 27 			var expandCallback = this.parentNode.getAttribute('onexpand');
 28 			this.parentNode.onexpand = function(){ eval(expandCallback);};
 29 			this.parentNode.onexpand();
 30 		}
 31 	
 32 	};
 33 	jQuery(document).ready(function($){
 34 		var handles = jQuery('.expansion-handle');
 35 		for ( var i=0; i<handles.length; i++ ){
 36 			jQuery(handles[i]).click(function(){
 37 				jQuery(this).parent().next().slideToggle("slow", Xataface.blocks.collapsible_sidebar.toggleCallback);
 38 			});
 39 		}
 40 		
 41 	});
 42 
 43 })();