var Site = {

start: function(){
if($('vertical')) Site.vertical();
if($('horizontal')) Site.horizontal();
if($('accordion')) Site.accordion();
},

vertical: function(){
var list = $$('#vertical div.element');
var headings = $$('#vertical h3.toggler');
var collapsibles = new Array();

headings.each( function(heading, i) {

var collapsible = new Fx.Slide(list[i], { 
duration: 500, 
transition: Fx.Transitions.linear,
onComplete: function(request){ 
var open = request.getStyle('margin-top').toInt();
if(open >= 0) new Fx.Scroll(window).toElement(headings[i]);
}
});

collapsibles[i] = collapsible;

heading.onclick = function(){
var span = heading.getElement('span');

if(span){
var newHTML = span.innerHTML == '+' ? '-' : '+';
span.set('html', newHTML);
}

collapsible.toggle();
return false;
}

collapsible.hide();

});

$('collapse-all').onclick = function(){
headings.each( function(heading, i) {
collapsibles[i].hide();
var span = heading.getElement('span');
if(span) span.set('html', '+');
});
return false;
}

$('expand-all').onclick = function(){
headings.each( function(heading, i) {
collapsibles[i].show();
var span = heading.getElement('span');
if(span) span.set('html', '-');
});
return false;
}

},

horizontal: function(){
var list = $$('#horizontal div.element');
var headings = $$('#horizontal h3.toggler');
var collapsibles = new Array();

headings.each( function(heading, i) {

var collapsible = new Fx.Slide(list[i], { 
duration: 500, 
transition: Fx.Transitions.linear
});

collapsibles[i] = collapsible;

heading.onclick = function(){
var span = heading.getElement('span');

if(span){
var newHTML = span.innerHTML == '+' ? '-' : '+';
span.set('html', newHTML);
}

collapsible.toggle('horizontal');
return false;
}

});

$('slideout-all').onclick = function(){
headings.each( function(heading, i) {
collapsibles[i].hide('horizontal');
var span = heading.getElement('span');
if(span) span.set('html', '+');
});
return false;
}

$('slidein-all').onclick = function(){
headings.each( function(heading, i) {
collapsibles[i].show('horizontal');
var span = heading.getElement('span');
if(span) span.set('html', '-');
});
return false;
}

},

accordion: function(){
	
	var list = $$('#accordion div.element');
	var headings = $$('#accordion h3.toggler');
	var collapsibles = new Array();
	var spans = new Array();

	headings.each( function(heading, i) {

		var collapsible = new Fx.Slide(list[i], { duration: 500, transition: Fx.Transitions.quadIn });
		collapsibles[i] = collapsible;
		spans[i] = heading.getElement('span');
		
		heading.onclick = function(){
			
			var span = heading.getElement('span');

			if(span){
				var newHTML = span.innerHTML == '+' ? '-' : '+';
				span.set('html', newHTML);
			}

			/*			
			for(var j = 0; j < collapsibles.length; j++){
				if(j!=i) {
					collapsibles[j].slideOut();
					if(spans[j]) spans[j].set('html', '+');
				}
			}
			*/

			collapsible.toggle();
			return false;
		}
		
	if(i != 0 && i != 1 && i != 4 && i < 6) collapsible.hide();
	
	});
}
};
window.addEvent('domready', Site.start);