function toggle_content_visibility(event) {
  var elem = Event.element(event);
  elem_content = elem.up('li').down('ul');
  if (elem_content){
		if (elem_content.visible()) {
	    new Effect.BlindUp(elem_content, {duration : 0.5});
	  } else {
	    new Effect.BlindDown(elem_content, {duration : 0.5});
			close_others(elem);
	  }
	}
}

function close_others(elem) {
  $$('.squeezebox li.parent > ul').each(function(ul) {
		if(!elem.ancestors().include(ul) && (elem.up('li.parent').down('ul') != ul)) {
			new Effect.BlindUp(ul, {duration : 0.5});
		}
  });
}

document.observe('dom:loaded', function() {
 	$$('.squeezebox li.parent > span, .squeezebox li.parent > a span').each( function(e) {
   	Event.observe(e, 'click', toggle_content_visibility);
   	return false;
 	});
	$$('.squeezebox li.parent > ul').each(function(ul) {  
   	if(ul.select('li.select').size() == 0) {
			ul.hide()
		}
 	});
});
