
function fadeGall(){
	var wait_time = false; // in ms
	var _dur = 700; // in ms
	var _hold = $$('.gallery');
	_hold.each(function(_fg){
		var _t, _f = true;
		var _last;
		var _list = _fg.getElements('ul.photo > li ');
		var _n = 3;
		/*_btn = _fg.getElements('div.carusel-nav')[0];
		_btn.innerHTML = '<ul>';
		for(var i=0; i<_list.length; i++) {
			_btn.getElementsByTagName('ul')[0].innerHTML +=  '<li><a href="#">'+(i+1)+'</a></li>';
		}*/
		var _holder = _fg.getElements('div.thumbnails .holder')[0];
		var _slider = _holder.getElements('ul')[0];
		_btn = _slider.getElements('li');
		var _d = _btn[1].getSize().x+1;
		var _a = _last = -1;
		for(var i = 0; i < _btn.length; i++){
			if(_btn[i].hasClass('active') && _a == -1) _a = i;
			_btn[i].removeClass('active');
			_btn[i]._i = i;
			_btn[i].onclick = function(){
				changeEl(this._i);
				return false;
			}
		}
		var actEl;
		_btn.each(function(item, i){
			item.addEvents({
				mouseenter: function(){
					actEl = _btn.filter('.active');
					_btn.removeClass('active');
				},
				mouseleave: function(){
					actEl.addClass('active');
				}
			});
		});
		_fg.getElements('div.thumbnails .next')[0].onclick = function(){
			if (_a < _list.length - 1) {
				var _i = _a+1;
				changeEl(_i);
			}
			return false;
		};
		_fg.getElements('div.thumbnails .prev')[0].onclick = function(){
			if (_a > 0) {
				var _i = _a-1;
				changeEl(_i);
			}
			return false;
		};

		if(_a == -1) _a = 0;
		_btn[_a].addClass('active');
		for(var i = 0; i < _list.length; i++){
			_list[i].removeClass('active');
			_list[i].setStyles({
				display:'none',
				opacity:0
			});
			if(i == _a){
				_list[i].addClass('active');
				_list[i].setStyles({
					display:'block',
					opacity:1
				});
			}
			_list[i].fade = new Fx.Tween(_list[i],{property: 'opacity', duration: _dur, link : 'cancel'});
			_list[i].fade.addEvent('complete',function(){
				_list[_last].setStyle('display','none');
			});
		}
		slide = new Fx.Tween(_slider,{property: 'marginLeft', duration: _dur, link : 'cancel'});

		if(_f && wait_time){
			_t = setTimeout(function(){
				if(_a < _list.length - 1) changeEl(_a + 1);
				else changeEl(0);
			}, wait_time);
		}
		function changeEl(_ind){
			if(_t) clearTimeout(_t);
			if(_ind != _a){
				_btn[_a].removeClass('active');
				_btn[_ind].addClass('active');
				_list[_a].removeClass('active');
				_list[_ind].addClass('active');
				_list[_a].fade.start(0);
				_list[_ind].setStyles({
					display:'block',
					opacity:0
				});
				if (_ind < _list.length - _n+1){
					slide.start(-_ind*_d);
				}else{slide.start(-(_list.length - _n)*_d);}
				
				_list[_ind].fade.start(1);
				_last = _a;
				_a = _ind;
			}
			if(_f && wait_time){
				_t = setTimeout(function(){
					if(_a < _list.length - 1) changeEl(_a + 1);
					else changeEl(0);
				}, wait_time);
			}
		}
	});
}

window.addEvent('load', function () {
    fadeGall();
    var _hold = $$('.gallery')[0];
    var _btn = $$('.btn')[0];
    var _hmin = _hold.getSize().y;
    var _hmax = _hold.getElements('.photo img')[0].getSize().y;
    
    if (_hmax == 0)     // in caso di mancato recupero della dimensione max
        _hmax = 915;

    var oс = new Fx.Tween(_hold, { property: 'height', duration: 300, link: 'cancel' });
    var _f = true;
    var _wrap = $('wrapper');
    _btn.onclick = function () {
        if (_f) {
            _f = false;
            oс.start(_hmax);
            _wrap.addClass('opened');
        } else {
            _f = true;
            oс.start(_hmin);

            _wrap.removeClass('opened');
        }
        return false;
    };
});

