/*--- gallery function ---*/
function initGall(){
	var _hold = $('#slide-gallery');
	var move_speed = 10;
	var slide_speed = 300; 
	var fade_speed = 200;
	if(_hold.length){
		var list_hold = _hold.children('ul');
		var btn_prev = _hold.children('a.btn-left');
		var btn_next = _hold.children('a.btn-right');
		var _list = list_hold.children();
		var list_w = _list.length * _list.outerWidth();
		var hold_w = list_hold.parent().width();
		var _m = 0, k_speed = 0;
		if(list_w > hold_w){
			_m = list_w;
			list_hold.append(_list.clone()).append(_list.clone()).css('left', -_m);
		}
		else{
			btn_prev.hide();
			btn_next.hide();
		}
		btn_prev.mouseenter(function(){
			_move(false);
		}).mouseleave(function(){
			list_hold.stop();
		});
		btn_next.mouseenter(function(){
			_move(true);
		}).mouseleave(function(){
			list_hold.stop();
		});
		/*--- ---*/
		function _move(_flag){
			_m = -list_hold.position().left;
			if(_flag){
				if(_m > list_w*2 - hold_w){
					_m -= list_w;
					list_hold.css('left', -_m);
				}
				_m += list_w;
			}
			else{
				if(_m < list_w){
					_m += list_w;
					list_hold.css('left', -_m);
				}
				_m -= list_w;
			}
			k_speed = Math.abs(_m + list_hold.position().left) * move_speed;
			list_hold.animate({left: -_m}, k_speed, 'linear', function(){
				_move(_flag);
			});
		}
		
		/*--- in elements ---*/
		list_hold.children().each(function(){
			var _el = $(this);
			_el.data('img_hold', _el.children('div.img-hold'));
			_el.data('alt_img', _el.data('img_hold').children('img.alt'));
			_el.data('box', _el.children('div.submenu'));
			if(_el.data('box').length == 0) _el.data('box', false);
			
			if(_el.data('box')){
				var _h = _el.data('box').outerHeight();
				_el.data('box').hide();
			}
			_el.mouseenter(function(){
				_el.addClass('active').data('alt_img').animate({opacity: 0}, {queue:false, duration: fade_speed});
				if(_el.data('box')){
					if(_el.data('box').is(':hidden')){
						_el.data('box').show();
						_h = _el.data('box').outerHeight();
						_el.data('box').height(0);
					}
					_el.data('box').stop().animate({height: _h}, slide_speed, function(){ $(this).height('auto');});
				}
			}).mouseleave(function(){
				_el.removeClass('active').data('alt_img').animate({opacity: 1}, {queue:false, duration: fade_speed});
				if(_el.data('box')){
					_el.removeClass('active').data('box').stop().animate({height: 0}, slide_speed, function(){ $(this).css({display:'none', height:'auto'});});
				}
			});
		});
	}
}
$(document).ready(function(){
	initGall();
});