function initScrollTop(){
		jQuery.extend( jQuery.easing, // from the jquery.easing plugin
	{easeInOutExpo: function (x, t, b, c, d) {
			if (t==0) return b;
			if (t==d) return b+c;
			if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
			return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
		}
	});
	var change_speed = 800;
	var _btn = $('ul.navigation a');
	_btn.click(function(){
		var _differ = 0;
		if($(this).attr('rel')){
			_differ = $(this).attr('rel')*1;
		}
		else{
			_differ = 0;
		}
		var _top = $($(this).attr('href')).position().top;
		if(!$.browser.opera){
			$('body').animate({scrollTop: _top + _differ}, {queue:false, easing:'easeInOutExpo', duration:change_speed});
		}
		$('html').animate({scrollTop: _top + _differ}, {queue:false,easing:'easeInOutExpo', duration:change_speed});
		return false;
	});
}
$(document).ready(function(){
	fadeGall();
	initScrollTop();
	initSlide();

});
function fadeGall(){
	var wait_time = 2000; // in ms
	var change_speed = 900; // in ms
	var _hold = $('div.gallery, div.home-gallery');
	_hold.each(function(){
		if(_hold.length){
		_hold = $(this);
		var _t;
		var _f = true;
		var _list = _hold.find('ul.fader > li, ul.home-fader > li');
		var _prev = _hold.find('a.prev');
		var _next = _hold.find('a.next');
		var _btn = $('<ul class="paging"></ul>');
		_list.each(function(_i){
			_btn.append('<li><a href="#">'+(_i+1)+'</a></li>');
		});
		_btn = _hold.find('ul.switcher').find('a');
		var _a = _list.index(_list.filter('.active:eq(0)'));
		if(_a == -1) _a = 0;
		
		_list.removeClass('active').css('opacity', 0).eq(_a).addClass('active').css('opacity', 1);
		_btn.eq(_a).parent('li').addClass('active');
		_btn.click(function(){
			changeEl(_btn.index(this));
			return false;
		});
		
		_prev.click(function(){
			if(_a <= 0) changeEl(_list.length-1);
			else changeEl(_a-1);
			return false;
		});
		_next.click(function(){
			if(_a < _list.length - 1) changeEl(_a + 1);
			else changeEl(0);
			return false;
		});
		
		_hold.mouseenter(function(){
			_f = false;
			if(_t) clearTimeout(_t);
		}).mouseleave(function(){
			_f = true;
			if(_t) clearTimeout(_t);
			if(_f && wait_time){
				_t = setTimeout(function(){
					if(_a < _list.length - 1) changeEl(_a + 1);
					else changeEl(0);
				}, wait_time);
			}
		});
		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){
				_list.eq(_a).removeClass('active').animate({opacity: 0}, {queue:false, duration:change_speed});
				_list.eq(_ind).addClass('active').animate({opacity: 1}, {queue:false, duration:change_speed});
				_btn.eq(_a).parent('li').removeClass('active');
				_btn.eq(_ind).parent('li').addClass('active');
				_a = _ind;
			}
			if(_f && wait_time){
				_t = setTimeout(function(){
					if(_a < _list.length - 1) changeEl(_a + 1);
					else changeEl(0);
				}, wait_time);
			}
		}
	}
	});
}
function initSlide(){
	var _duration = 400; //in ms
	$('div#footer').each(function(){
		var _hold = $(this);
		var _box = _hold.find('div.footer-container');
		var _btn = _hold.find('a.button');
		var _h = _box.height();
		if(_hold.hasClass('opened')) _box.show();
		else _box.hide();
		
		_btn.click(function(){
			if(_hold.hasClass('opened')){
				_hold.removeClass('opened');
				_box.stop().animate({height:0}, _duration, function(){
					$(this).css({display:'none', height:'auto'});
				});
			}
			else{
				_hold.addClass('opened');
				if (_box.is(':hidden')) {
					_box.show();
					_h = _box.height();
					_box.height(0);
				}
				_box.stop().animate({height: _h}, {queue:false,duration:_duration, complete:function(){
					if(!$.browser.opera){
						$('body').animate({scrollTop: $('#wrapper').outerHeight()}, {queue:false, easing:'easeInOutExpo', duration:_duration});
					}
					$('html').animate({scrollTop: $('#wrapper').outerHeight()}, {queue:false,easing:'easeInOutExpo', duration:_duration});
					$(this).height('auto');
				}});
			}
			return false;
		});
		
	});
}

