var togglers = new Class({
	options: {
		togglers: [],
		toggleds: []

	},

	initialize: function(options) {
		this.setOptions(options);
		this.options.togglers.each(function(toggler,index) {
			toggler.addEvent('click', this.toggle.bindAsEventListener(this,index));
			if (toggler.hasClass('active')) {this.active=index} else {this.options.toggleds[index].addClass('hidden')}; 
		}, this);
	},
	toggle: function(event,index) {
		var event=new Event(event);
		if (this.active!=index)
		{
			if(this.options.togglers[this.active] != null) {
				this.options.togglers[this.active].removeClass('active');
				this.options.toggleds[this.active].addClass('hidden');
			}
			this.options.togglers[index].addClass('active');
			this.options.toggleds[index].removeClass('hidden');
			this.active=index;
		}
		else {
			this.options.togglers[index].addClass('active');
			this.options.toggleds[index].removeClass('hidden');
		}
		event.preventDefault();
		return false;
	}
});


togglers.implement(new Options, new Events);

window.addEvent('domready', function(){
	if ($('togglers'))
	{		
		var el=$('togglers');
		pattern_togglers = new togglers({
			togglers: $ES('a',el),
			toggleds: $ES('.toggled')
		});
	}
	if ($('togglers_alt_lg'))
	{		
		var el=$('togglers_alt_lg');
		pattern_togglers = new togglers({
			togglers: $ES('a',el),
			toggleds: $ES('.toggled_alt_lg')
		});
	}
	if ($('togglers_alt_sm'))
	{		
		var el=$('togglers_alt_sm');
		pattern_togglers = new togglers({
			togglers: $ES('a',el),
			toggleds: $ES('.toggled_alt_sm')
		});
	}
	if ($ES('.colorSwitchers'))
	{		
			pattern_togglers=[];
			var els = $ES('.colorSwitchers');
			var swatches = $ES('.colorSwitched');
			els.each(function(el,index) {
				pattern_togglers[index] = new togglers({
					togglers: $ES('a',els[index]),
					toggleds: $ES('div',swatches[index])
				});
			});
	}
});
