/*--- fade gallery ---*/
function fadeGall(){
	var stay_time = 3000; //in ms
	var _hold = $('#fade-gallery');
	if(_hold.length){
		var _list = _hold.find('ul.list > li');
		var _a = _list.index(_list.filter('.active:eq(0)'));
		if(_a == -1) _a = 0;
		var _t;
		var _f = true;
		if(_list.length > 1){
			_list.removeClass('active').css('opacity', 0).eq(_a).addClass('active').css('opacity', 1);
			if(jQuery.browser.msie) _list.eq(_a).css('opacity', 'auto');
			var nav_hold = $('<ul class="gall-nav"></ul>');
			for(var i = 0; i < _list.length; i++){
				nav_hold.append('<li><a href="#">'+(i+1)+'</a></li>');
			}
			var _btn = nav_hold.find('a');
			_btn.eq(_a).addClass('active');
			_hold.append(nav_hold);
			_btn.click(function(){
				changeEl(_btn.index(this));
				return false;
			});
			if(_f){
				_t = setTimeout(function(){
					if(_a < _list.length - 1) changeEl(_a + 1);
					else changeEl(0);
				}, stay_time);
			}
			_hold.mouseenter(function(){
				_f = false;
				if(_t) clearTimeout(_t);
			}).mouseleave(function(){
				if(_t) clearTimeout(_t);
				_f = true;
				_t = setTimeout(function(){
					if(_a < _list.length - 1) changeEl(_a + 1);
					else changeEl(0);
				}, stay_time);
			});
		}
		var _flag = true;
		function changeEl(_ind){
			if(_t) clearTimeout(_t);
			if(_ind != _a && _flag){
				_flag = false;
				var _ind = _ind;
				_btn.eq(_a).removeClass('active');
				_btn.eq(_ind).addClass('active');
				if(jQuery.browser.msie){
					_list.eq(_a).children('div.comment:eq(0)').animate({marginBottom: -_list.eq(_a).children('div.comment:eq(0)').outerHeight()}, 300, function(){
						$(this).parent().removeClass('active').animate({opacity: 0}, 600);
						_list.eq(_ind).addClass('active').animate({opacity: 1}, 600, function(){
							_list.eq(_ind).css('opacity', 'auto').children('div.comment:eq(0)').animate({marginBottom: 0}, 300);
							_a = _ind;
							_flag = true;
						});
						_list.eq(_ind).children('div.comment:eq(0)').css({marginBottom: -_list.eq(_ind).children('div.comment:eq(0)').outerHeight()});
					});
				}
				else{
					_list.eq(_a).children('div.comment:eq(0)').animate({marginBottom: -_list.eq(_a).children('div.comment:eq(0)').outerHeight(), opacity: 0}, 300, function(){
						$(this).parent().removeClass('active').animate({opacity: 0}, 600);
						_list.eq(_ind).addClass('active').animate({opacity: 1}, 600, function(){
							_list.eq(_ind).children('div.comment:eq(0)').animate({marginBottom: 0, opacity: 1}, 300);
							_a = _ind;
							_flag = true;
						});
						_list.eq(_ind).children('div.comment:eq(0)').css({marginBottom: -_list.eq(_ind).children('div.comment:eq(0)').outerHeight(), opacity: 0});
					});
				}
				
			}
			if(_f){
				_t = setTimeout(function(){
					if(_a < _list.length - 1) changeEl(_a + 1);
					else changeEl(0);
				}, stay_time);
			}
		}
	}
}
/*--- info gallery ---*/
function infoGall(){
	var _hold = $('#info-gallery');
	if(_hold.length){
		var _btn = _hold.find('ul.gallery-hotel a');
		var img_hold = _hold.find('div.visual-top');
		var _title = _hold.find('h2.image-title'); 
		var _a = _btn.index(_btn.filter('.active:eq(0)'));
		if(_a == -1) _a = 0;
		_btn.removeClass('active').eq(_a).addClass('active');
		var _loader = $('<div class="loader">Loading...</div>');
		_loader.css('opacity', 0);
		img_hold.append(_loader);
		_btn.each(function(_i){
			var _el = this;
			_el._src = _el.href;
			_el._img = false;
			if(_i == _a){
				_el._img = new Image();
				$(_el._img).addClass('active');
				_el._img.src = _el._src;
				_el._img = $(_el._img);
				img_hold.append(_el._img);
				_title.text($(_el).attr('rel'));
			}
			_el.onclick = function(){
				if(_i != _a){
					_btn.eq(_a).removeClass('active');
					$(this).addClass('active');
					_title.text($(_el).attr('rel'));
					_a = _i;
					_loader.css('opacity', 0);
					img_hold.find('img').removeClass('active').animate({opacity: 0}, {queue:false, duration:700});
					if(_el._img){
						_el._img.addClass('active').animate({opacity: 1}, {queue:false, duration:700});
					}
					else{
						_loader.animate({opacity: 1}, {queue:false, duration:200});
						_el._img = new Image();
						$(_el._img).addClass('active').css('opacity', 0);
						_el._img.onload = function(){
							_loader.animate({opacity: 0}, {queue:false, duration:200});
							$(this).animate({opacity: 1}, {queue:false, duration:700});
						}
						_el._img.src = _el._src;
						_el._img = $(_el._img);
						img_hold.append(_el._img);
					}
				}
				return false;
			}
		});
	}
}
/*--- tabs ---*/
function initTabs(){
	$('ul.tabset').each(function(){
		var btn_h = $(this);
		var _btn = $(this).find('a.tab');
		var _a = _btn.index(_btn.filter('.active:eq(0)'));
		if(_a == -1) _a = 0;
		_btn.removeClass('active').eq(_a).addClass('active');
		_btn.each(function(_i){
			this._box = this.href.substr(this.href.indexOf("#") + 1);
			if(this._box){
				this._box = $('#'+this._box);
				if(_i == _a) this._box.show();
				else this._box.hide();
			}
			this.onclick = function(){
				changeTab(_i);
				return false;
			}
		});
		function changeTab(_ind){
			if(_ind != _a){
				if(_btn.get(_a)._box) _btn.get(_a)._box.hide();
				if(_btn.get(_ind)._box) _btn.get(_ind)._box.show();
				_btn.eq(_a).removeClass('active');
				_btn.eq(_ind).addClass('active');
				_a = _ind;
			}
		}
	});
}
$(document).ready(function(){
	fadeGall();
	infoGall();
	initTabs();
});