$(document).ready(function(){
	initNavigation();
	InitDrop();
	InitGallery();

});
function initNavigation(){
	$('#navigation li').hover(function(){
		$(this).addClass('hover');
	},
	function()	{
		$(this).removeClass('hover');
		setTimeout(function(){Cufon.refresh('ul.navigation > li > a')}, 10);
	});
};
function InitDrop(){
	var holder = $('.facilities-holder'),
		_speed = 250,
		_t;	
	holder.each(function (){
		var hold = $(this),
			opener = hold.find('>a'),
			slider = hold.find('ul'),
			_h = slider.height(),
			drop = hold.find('.drop-holder').height(_h).hide(),
			_lay = $('<div class="overlay"></div>').css({opacity:0, zIndex:drop.css('zIndex')-1}).appendTo($('body')).hide();
		_lay.css({height:$('body').height()});
		slider.css('marginTop',-_h);

		opener.mouseenter(function (){
			if (_t)clearTimeout(_t);
			drop.show();
			slider.animate({marginTop: 0}, {queue:false, duration:_speed});
			_lay.show().animate({opacity:0.7}, {queue:false, duration:_speed});
		});
		opener.mouseleave(function (){
			if (_t)clearTimeout(_t);
			_t = setTimeout(function(){
				slider.animate({marginTop: -_h}, {queue:false, duration:_speed, complete:function(){drop.hide()}});
				_lay.animate({opacity:0}, {queue:false, duration:_speed, complete:function(){$(this).hide();}});
			}, 20);
		});
		drop.mouseenter(function (){
			if (_t)clearTimeout(_t);
		});
		drop.mouseleave(function (){
			if (_t)clearTimeout(_t);
			_t = setTimeout(function(){
				slider.animate({marginTop: -_h}, {queue:false, duration:_speed, complete:function(){drop.hide()}});
				_lay.animate({opacity:0}, {queue:false, duration:_speed, complete:function(){$(this).hide();}});
			}, 20);
		});
	});
};
function InitGallery(){
	var _speed = 1200,
		_duration = 4000;	
	var _hold = $('.fade-block');
	var _list =_hold.find('ul.fade-holder>li');
	var _prev = _hold.find('a.prev');
	var _next = _hold.find('a.next');
	var _a = _list.index(_list.filter('.active:eq(0)'));
	if(_a == -1) {_a = 0;_list.eq(_a).addClass('active')}
	var _i, _old = _a, _t, _t1;
/*--------CREATING THUMBNAILS----------*/
	var _num = $('.switcher').empty();
	_list.each(function(i){
		$('<li><a href="#">'+(i+1)+'</a></li>').appendTo(_num);
	});
/*-------------------------------------------------*/
	_num.find('li:first').addClass('first');
	_num.find('li:last').addClass('last');
	var _thumb = _num.find('a');
	_thumb.eq(_a).addClass('active');
	if (jQuery.browser.msie && jQuery.browser.version < 6){		_list.hide().eq(_a).show();
	} else{		_list.hide().css({opacity:0}).eq(_a).show().css({opacity:1});	}
	Run(_a);
	function Run(_a){	
		_t = setTimeout(function(){
			_a++; if (_a >= _list.length){_a=0}
			ChangeFade(_a);
		}, _duration);
	};
	function ChangeFade(_new){
		if(jQuery.browser.msie && jQuery.browser.version < 6){
			_list.eq(_old).removeClass('active').hide();
			_list.eq(_new).addClass('active').show();
		}else{
			_list.eq(_old).removeClass('active').animate({opacity:0}, {queue:false, duration:_speed, complete:function(){$(this).hide();}});
			_list.eq(_new).addClass('active').show().animate({opacity:1}, {queue:false, duration:_speed});
		}
		_thumb.eq(_old).removeClass('active');
		_thumb.eq(_new).addClass('active');
		_old=_new;_a=_new;
		if(_t) clearTimeout(_t);
		if(_t1) clearTimeout(_t1);
		Run(_new);
	};
	_thumb.click(function(){
		if (_list.is(':animated')){
			_t1 = setTimeout(function(){
				_i = _thumb.index($(this));
				ChangeFade(_i);
				_a = _i;
			}, _speed);
		}else{
			_i = _thumb.index($(this));
			ChangeFade(_i);
			_a = _i;
		};return false;
	});
	_next.click(function(){
		if (_list.is(':animated')){
			_t1 = setTimeout(function(){
				_a++; if (_a == _list.length){_a=0}
				ChangeFade(_a);
			}, _speed);	
		}else{
			_a++; if (_a == _list.length){_a=0}
			ChangeFade(_a);
		};return false;
	});
	_prev.click(function(){
		if (_list.is(':animated')){
			_t1 = setTimeout(function(){
				_a--; if (_a == -1){_a=_list.length-1}
				ChangeFade(_a);
			}, _speed);
		}else{
			_a--; if (_a == -1){_a=_list.length-1}
			ChangeFade(_a);
		};return false;
	});
};
