/*---- clear inputs ---*/
function clearInputs(){
	jQuery('input:text, input:password, textarea').each(function(){
		var _el = jQuery(this);
		_el.data('val', _el.val());
		_el.bind('focus', function(){
			if(_el.val() == _el.data('val')) _el.val('');
		}).bind('blur', function(){
			if(_el.val() == '') _el.val(_el.data('val'));
		});
	});
}
/*--- page gallery ---*/
function pageGallery(){
	var fade_speed = 500;
	var move_speed = 300;
	jQuery('div.gallery-box').each(function(){
		var _hold = jQuery(this);
		var img_hold = _hold.find('ul.img-list');
		var _img = img_hold.children();
		
		var btn_prev = _hold.find('div.tools a.btn-prev');
		var btn_next = _hold.find('div.tools a.btn-next');
		var list_hold = _hold.find('div.thumbnails-list > ul');
		var _list = list_hold.children();
		var hold_w = list_hold.parent().width();
		var list_w = _list.outerWidth(true)*_list.length;
		var _step = _list.outerWidth(true);
		var _a = 0, _m = 0;
		
		_img.removeClass('active').css('opacity', 0).eq(_a).addClass('active').css('opacity', 1);
		_list.removeClass('active').eq(_a).addClass('active');
		list_hold.css('left', -_m);
		
		btn_prev.click(function(){
			moveList(false);
			return false;
		});
		btn_next.click(function(){
			moveList(true);
			return false;
		});
		_list.click(function(){
			changeEl(_list.index(this));
			return false;
		});
		
		function moveList(_f){
			if(_f){
				if(list_w - _m > hold_w) _m += _step;
				else _m = 0;
			}
			else{
				if(_m > 0) _m -= _step;
				else _m = Math.ceil((list_w - hold_w)/_step)*_step;
			}
			list_hold.animate({left:-_m},{queue:false, duration: move_speed});
		}
		function changeEl(_ind){
			if(_ind != _a){
				_list.eq(_a).removeClass('active');
				_list.eq(_ind).addClass('active');
				
				img_hold.stop().height(img_hold.height()).animate({height: _img.eq(_ind).outerHeight()}, fade_speed/2, function(){ jQuery(this).height('auto');});
				_img.eq(_a).removeClass('active').animate({opacity: 0},{queue:false, duration:fade_speed});
				_img.eq(_ind).addClass('active').animate({opacity: 1},{queue:false, duration:fade_speed});
				
				_a = _ind;
			}
		}
	});
}
/*--- home gallery ---*/
function homeGallery(){
	var stay_time = 5000; //in ms
	var change_speed = 500; //in ms
	
	jQuery('div.home-gallery').each(function(){
		var _hold = jQuery(this);
		var _list = _hold.children('img');
		var _t, _f = true;
		var _a = (_list.index(_list.filter('.active:eq(0)')) != -1)?(_list.index(_list.filter('.active:eq(0)'))):(0);
		
		_list.removeClass('active').css('opacity', 0).eq(_a).addClass('active').css('opacity', 1);
		if(_f){
			_t = setTimeout(function(){
				if(_a < _list.length - 1) changeEl(_a + 1);
				else changeEl(0);
			}, stay_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});
				_a = _ind;
			}
			if(_f){
				_t = setTimeout(function(){
					if(_a < _list.length - 1) changeEl(_a + 1);
					else changeEl(0);
				}, stay_time+change_speed);
			}
		}
	});
}
jQuery(document).ready(function(){
	clearInputs();
	homeGallery();
	pageGallery();
});
