window.addEvent('domready', function(){
// gallery code
	var _imgList = $$('div.content ul.thumbnail li');
	var _imgNumList = $$('div.numbers ul li');
	var _liIMG = $$('div.gallery div.frame li');
	var _next = $$('div.gallery div.frame').getElement('a.next-arrow');
	var _prev = $$('div.gallery div.frame').getElement('a.prev-arrow');
	var _imgSRC = [];
	// set Fx
	_liIMG.each(function(el, i){
		el.fxFadeOut = new Fx.Tween(el, {
			duration:300,
			onComplete: function(el) {
				el.setStyle('display','none');
				el.set('class','next');
			}
		});
		el.fxFadeIn = new Fx.Tween(el, {
			duration:300,
			onComplete: function(el) {
				el.set('class','active');
			}
		});
	});	
	// image preload for gallery
	_imgList.each(function(el,i){
		_imgSRC[i] = new Image()
		_imgSRC[i].src = el.getElement('a').get('href');
	});
	// thumbnail click
	_imgList.each(function(el,i){
		el.getElement('a').addEvent('click', function(){
			_imgList.removeClass('active');
			el.addClass('active');
			$$('div.description-column').getElement('p').set('text',this.title);
			
			var _index = findIndex(_imgList, _imgList.filter('.active')[0]);
			_imgNumList.filter('.active')[0].removeClass('active');
			_imgNumList[_index].addClass('active');
			
			fade(this.href);
			return false;
		});
	});
	function fade(_href) {
		_liIMG.filter('.next')
			.setStyles({'opacity':0, 'display':'block'})
			.getElement('img')
			.set('src', _href);
		_liIMG.filter('.active')[0].fxFadeOut.start('opacity',0);
		_liIMG.filter('.next')[0].fxFadeIn.start('opacity',1);
	}
	// next/prev
	_next.addEvent('click', function(){
		if (_imgList.filter('.active')[0].getNext('li')) {
			_prev.removeClass('disable-prev');
			_imgList.filter('.active')[0].removeClass('active').getNext().addClass('active');
			
			var _index = findIndex(_imgList, _imgList.filter('.active')[0]);
			_imgNumList.filter('.active')[0].removeClass('active');
			_imgNumList[_index].addClass('active');
			if (_index == _imgList.length-1) this.addClass('disable-next');
			else this.removeClass('disable-next');
			$$('div.description-column').getElement('p').set('text',_imgList.filter('.active')[0].getElement('a').get('title'));
			fade(_imgList.filter('.active')[0].getElement('a').get('href'));
		} 
		return false;
	});

	_prev.addEvent('click', function(){
		if (_imgList.filter('.active')[0].getPrevious('li')) {
			_next.removeClass('disable-next');
			_imgList.filter('.active')[0].removeClass('active').getPrevious().addClass('active');
			
				var _index = findIndex(_imgList, _imgList.filter('.active')[0]);
				_imgNumList.filter('.active')[0].removeClass('active');
				_imgNumList[_index].addClass('active');
				if (_index == 0) this.addClass('disable-prev');
				else this.removeClass('disable-prev');				
				$$('div.description-column').getElement('p').set('text',_imgList.filter('.active')[0].getElement('a').get('title'));
				fade(_imgList.filter('.active')[0].getElement('a').get('href'));
		}
		return false;
	});
});

function findIndex (_obj, _el) {
	var _i = false;
	_obj.each(function(_item, i){
		if (_item == _el) _i = i;
	});
	return _i;
}

