function showHideForm(form) {
	var frm = document.getElementById(form);
	var lbl = document.getElementById(form+'_label');

	frm.style.display = (frm.style.display == 'none') ? 'block' : 'none';
	lbl.innerHTML = (frm.style.display == 'none') ? '<a href="javascript:showHideForm(\''+form+'\');">Show Form [+]</a>' : '<a href="javascript:showHideForm(\''+form+'\');">Hide Form [-]</a>';
}

var Shared = new Class({

	initialize: function() {
		if ($('register')) $('register').addEvent('click', function() { document.location.href='index.html?mod=dregistration&id=1'; });
	
		this.addHoverClick($$('div.article'));
		this.addHoverClick($$('div.event'));
		this.addHoverClick($$('div.university'));
		this.addHoverClick($$('div.float_box'));
		
		if ($$('div.accordion')) {
			$$('div.accordion').each(function(el) {
				this.addAccordion(el.getElements('h4.acc_toggler'), el.getElements('div.acc_content'), el);
			}.bind(this));
		}
		
		var selectUtils = $$('div.selectutil');
		selectUtils.each(function(util) {
			this.addSelectUtil(util.getProperty('id'));
		}.bind(this));
		
		var tooltips = $$('a.tooltip');
		if (tooltips.length) this.addTooltips(tooltips);
	},
	
	addAccordion: function(togglers, contents, container) {
		var acc = new Accordion(togglers, contents, {
			opacity: false,
			onActive: function(toggler, element) {
				toggler.addClass('acc_toggler_active');
			},
			onBackground: function(toggler, element) {
				toggler.removeClass('acc_toggler_active');
			}
		}, $(container));
	},
	
	addHoverClick: function(divs) {
		divs.each(function(div) {
			if (div.getElement('a')) {
				div.addEvent('mouseover', function() {
					div.addClass('hover');
				});
				div.addEvent('mouseout', function() {
					div.removeClass('hover');
				});
				div.addEvent('click', function() {
					document.location.href = div.getElement('a').get('href');
				});
			}
		});
	},

	addSelectUtil: function(utilId) {
		var utilAvailable = $(utilId+'_available');
		var utilSelected = $(utilId+'_selected');
		
		$(utilId+'_btn_add').addEvent('click', function(e) {
			new Event(e).stop();
			var selecteds = utilAvailable.getSelected();
			if (selecteds.length <= utilSelected.get('size')-utilSelected.getElements('option').length) {
				selecteds.each(function(el) {
					el.inject(utilSelected);
				});
			} else alert('Unable to move the specified people - '+(parseInt(utilSelected.get('size'))-utilSelected.getElements('option').length)+' spaces remaining.');
		});
		$(utilId+'_btn_remove').addEvent('click', function(e) {
			new Event(e).stop();
			utilSelected.getSelected().each(function(el) {
				el.inject(utilAvailable);
			});
		});
		
		var forms = $$('form');
		if (forms.length == 1) {
			forms[0].addEvent('submit', function() {
				utilSelected.getChildren().each(function(el) {
					el.setProperty('selected', 'true');
				});
			});
		} else alert('multiple forms for SelectUtil!');
	},

	addTooltips: function(tooltips) {
		tooltips.each(function(el) {  
			var content = el.get('title').split('::');  
			el.store('tip:title', content[0]);  
			el.store('tip:text', content[1]);  
		}); 
		
		new Tips(tooltips, {className: 'tooltip'});
	}

});

var shared;
window.addEvent('domready', function() {
    shared = new Shared();
});