/*
 * Adds more/less buttons to the layered navigation
 *
 * Use: new SpringNav(NavWrapperId, Max List Items to display)
 */
 
function SpringNav(pWrapperId, pMaxItems) {
	var self = this;
	self.wrapperId = pWrapperId;
	self.maxItems = pMaxItems;

	self.initialize = function() {
		$(self.wrapperId).select('ol').each(function(ol) {
			if ($(ol).select('li').length > self.maxItems) {
				var it = 0;
				$(ol).select('li').each(function(li) {
					if (++it > self.maxItems) {
						$(li).addClassName('close').hide();
					}
					else {
						$(li).addClassName('open');
					}
				});
				new Insertion.Bottom($(ol), '<li class="more"><a href="#">More<\/a><\/li>');
			}
		});
		$(self.wrapperId).select('li.more a').each(function(more) {
			$(more).observe('click', function(e) {
				self.toggleList(more);
				Event.stop(e);
			});
		});
	},
	self.toggleList = function(more) {
		if ($(more).up().hasClassName('open')) {
			$(more).up().up().select('li.close').each(function(li) {
				$(li).slideUp('120');
			});
			$(more).innerHTML = 'More';
			$(more).up().removeClassName('open');
		}
		else {
			$(more).up().up().select('li.close').each(function(li) {
				$(li).slideDown('120');
			});
			$(more).innerHTML = 'Less';
			$(more).up().addClassName('open');
		}
	}
	self.initialize();
};


