/**
*
* slideBoxes.js
*
* @author Reimar Servas <reimar.servas@gmx.de>
* @copyright Reimar Servas, 2008
* @version 1.0
*
* @description slides marked containers in/out
* 
* Anchors to trigger boxes need class="trigger" plus
* rel="#whatever" to refer to the ID of the element to slide.
* class="in"/class="out" is triggered to visually indicate
* the state of trigger.
*
**/

function initSlideBoxes() {
	// get all elements that have "trigger"-class
	var slideTriggers = $$('.trigger');
	// add event on each trigger
	for (var i=0; i < slideTriggers.length; i++) {
		var slideTrigger = slideTriggers[i];
		// get trigger target-box
		var slideTarget = slideTrigger.getAttribute('rel');
		// create slide function
		var elem = $(slideTarget);
		slideTrigger.slideFx = new Fx.Slide(slideTarget);
		if(elem.className != 'slideOut') { slideTrigger.slideFx.hide(); }
		// assign onclick event to triggers
		slideTrigger.addEvent('click', function(e) {
			slideTarget = this.getAttribute('rel');
			e = new Event(e).stop();
			this.slideFx.toggle();
			// toggle class name
			this.toggleClass('out');
			// toggle trigger text
			var triggerSpan = $(this.getElementsByTagName('span')[0]);
			if (triggerSpan.get('text') == 'personal profile') {
				triggerSpan.set('text', 'close');
			} else {
				triggerSpan.set('text', 'personal profile');
			}
		});
	}
}

window.addEvent('domready', function() {
    // initialize
	initSlideBoxes();
});