function accordion(el) {
	var elup;
	var eldown = el.parentNode.id+'-body';
	var apanels = document.getElementsByClassName('slide-main',el.parentNode.parentNode);
	for (var i=0;i<apanels.length;i++){
		if (Element.hasClassName(apanels[i].parentNode.id+'-body','visible'))
		  	var elup = apanels[i].parentNode.id+'-body';
	}
	if(elup){
		if(el.parentNode.hasClassName('selected')){
			new Effect.Parallel([ new Effect.SlideUp(elup), new Effect.SlideUp(eldown) ], {duration: 0.5});
			 Element.removeClassName(elup,'visible');
			 Element.removeClassName(eldown,'visible');
			 el.parentNode.removeClassName('selected');
		} else{
			new Effect.Parallel([ new Effect.SlideUp(elup), new Effect.SlideDown(eldown) ], {duration: 0.5});
			el.parentNode.addClassName('selected');
			var _sel = document.getElementsByClassName('visible');
			_sel[0].parentNode.removeClassName('selected');
			Element.removeClassName(elup,'visible');
			Element.addClassName(eldown,'visible');
		}
	} else {
		//DNA: Added for when no panels are open.
		new Effect.SlideDown(eldown, {duration: 0.5});
		Element.addClassName(eldown,'visible');
		el.parentNode.addClassName('selected');
	}  
}

//pass in ID of container element that has all instances of apanels
function accordion_init(id) {
	var apanels = document.getElementsByClassName('slide-main',id);
	for (var i=0;i<apanels.length;i++){
		apanels[i].style.display = 'none';
	}
	var velems = document.getElementsByClassName('visible');
	for (var i=0;i<velems.length;i++){
		$(velems[i]).style.display = 'block';
	}
}

function accordion_init_all() {
	var apanels = document.getElementsByClassName('slide-main');
	for (var i=0;i<apanels.length;i++){
		apanels[i].style.display = 'none';
	}
	var velems = document.getElementsByClassName('visible');
	for (var i=0;i<velems.length;i++){
		$(velems[i]).style.display = 'block';
	}
}


function carousel_init_all(){
	var _hold = $('carousel');
	var _controls = $('swicher-holder');
	var _next = $('next');
	var _speed = 300;
	var _timer = 6000;
	var _wrap = _hold.getElementsByClassName('slides');
	var _el = _wrap[0].getElementsByClassName('slide');
	var _count = _el.length-1;
	var _w = _el[0].offsetWidth;
	var _wrapHolderW = Math.ceil((_wrap[0].parentNode.offsetWidth)/_w);
	var _active = 0;
	
	/*
	Modified by Aymeric, new version below
	
	var _btn = new Element('ul', { 'class': 'swicher'});
	_controls.insert(_btn);
	for (var _i=0; _i<_el.length; _i++) {
		var _link = new Element('a', { 'class': 'control', href: '#' }).update(_i+1);
		var _sw = new Element('li', {});
		_sw.insert(_link)
		_btn.insert(_sw);
	};
	_btn = _btn.getElementsByClassName('control');
	*/
	
	var _btnLeft = new Element('a', { 'class': 'control_left', href: '#'}).update('left');
	var _btnRight = new Element('a', { 'class': 'control_right', href: '#'}).update('right');
	_controls.insert(_btnLeft);
	_controls.insert(_btnRight);
	
	
	function runTimer(){
		_t = setInterval(function(){
			_active++;
			if (_active > (_count - _wrapHolderW + 1)) _active = 0;
			scrollEl();
		}, _timer);
	}
	runTimer();
	

	/*
	Modified by Aymeric, new version below
	
	for (var _i = 0; _i < _btn.length; _i++) {
			_btn[_i].parentNode.removeClassName('active');
		}
	_btn[_active].parentNode.addClassName('active');
		
	for (var _i=0; _i<_btn.length; _i++) {
		_btn[_i].i = _i;
		_btn[_i].onclick = function(){
			_active = this.i;
			if (_active > (_count - _wrapHolderW + 1)) _active = 0;
			scrollEl();
			return false;
		};
	};
	
	2 1
	*/
	
	for (var _i=0; _i<_el.length; _i++) {
		_btnLeft.i = _i;
		_btnLeft.onclick = function(){
			if(_active == 0) {
				_active = _count;
			} else if(_active > 0) _active--;
			scrollEl();
			clearInterval(_t);
			return false;
		};
		_btnRight.i = _i;
		_btnRight.onclick = function(){
			_active++;
			if (_active > (_count - _wrapHolderW + 1)) _active = 0;
			scrollEl();
			clearInterval(_t);
			return false;
		};
	};
	
	
	function scrollEl(){
		new Effect.Move(_wrap[0], { x: -(_w* _active), y: 0, mode: 'absolute' });
		/*
		Removed by Aymeric
		
		for (var _i = 0; _i < _btn.length; _i++) {
			_btn[_i].parentNode.removeClassName('active');
		}
		_btn[_active].parentNode.addClassName('active');
		*/
	}
}
window.onload = carousel_init_all;
