YAHOO.widget.vestEffect.prototype.expandList = function() {
	var list = this.oEl.parentNode.getElementsByTagName('ul')[0];

	this.oEl.src = '/css/images/exp-minus.gif';
	var that = this.oEl;

	$D.setStyle(list, 'display', 'block');
	$E.removeListener(that, 'click');
	$E.on(that, 'click', function() {
		var contract = new YAHOO.widget.vestEffect(this);
		contract.contractList();
	});
};

YAHOO.widget.vestEffect.prototype.contractList = function() {
	var list = this.oEl.parentNode.getElementsByTagName('ul')[0];
	this.oEl.src = '/css/images/exp-plus.gif';
	var that = this.oEl;

	$D.setStyle(list, 'display', 'none');
	$E.removeListener(that, 'click');
	$E.on(that, 'click', function() {
		var expand = new YAHOO.widget.vestEffect(this);
		expand.expandList();
	});
};

YAHOO.expandables = function() {
	return {
		init : function() {
			var plus = new Image();
			var minus = new Image();
			plus.src = '/css/images/exp-plus.gif';
			minus.src = '/css/images/exp-minus.gif';
			
			var listItems = $('expandable').getElementsByTagName('li');
			var lists = new Array();
			for(var i = 0; i < listItems.length; i++) {
				if(listItems[i].getElementsByTagName('li')[0]) {
					var expImg = document.createElement('img');
					$D.addClass(expImg, 'exp');
					$D.addClass(listItems[i].getElementsByTagName('a')[0], 'exp');
					expImg.src = plus.src;

					$D.setStyle(listItems[i], 'list-style-image', 'none');
					listItems[i].insertBefore(expImg, listItems[i].getElementsByTagName('a')[0]);
					
					var collapseUl = listItems[i].getElementsByTagName('ul')[0];
					$D.setStyle(collapseUl, 'display', 'none');
				}
			}
			
			var expImgs = $D.getElementsByClassName('exp', 'img', 'expandable');
			$E.on(expImgs, 'click', function() {
				var expand = new YAHOO.widget.vestEffect(this);
				expand.expandList();
			});
		}
	}
}();
$E.onAvailable('expandable', YAHOO.expandables.init, YAHOO.expandables, true);