/*--- IE6 hover ---*/
function ieHover(h_list, h_class){
	if(jQuery.browser.msie && jQuery.browser.version < 7){
		if(!h_class) var h_class = 'hover';
		jQuery(h_list).mouseenter(function(){
			jQuery(this).addClass(h_class);
		}).mouseleave(function(){
			jQuery(this).removeClass(h_class);
		});
	}
}
/*---- 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'));
		});
	});
}
/*--- ajax tabs function ---*/
function initAjaxGall(){
	jQuery('div.main-gallery').each(function(){
		var _hold = jQuery(this);
		var _btn = _hold.find('ul.tabthumbs a');
		var btn_prev = _hold.find('a.btn-prev');
		var btn_next = _hold.find('a.btn-next');
		var box_hold = _hold.find('div.albums-hold').addClass('albums-hold-js');
		var _a = _btn.index(_btn.filter('.active:eq(0)'));
		var anim_f = true, btn_f = false;
		if(_a != -1){
			_btn.eq(_a).data('box', box_hold.children('div').addClass('active-box'));
			smallGall(_btn.eq(_a).data('box'));
		}
		else{
			anim_f = false;
			_a = 0;
			_btn.eq(_a).addClass('active');
			jQuery.ajax({
				url: _btn.eq(_a).attr('href'),
				type: 'POST',
				data: 'id='+_btn.eq(_a).attr('rel'),
				success:function(_html){
					_btn.eq(_a).data('box', jQuery(_html).addClass('active-box'));
					box_hold.append(_btn.eq(_a).data('box'));
					smallGall(_btn.eq(_a).data('box'));
					anim_f = true;
				}
			});
		}
		if(jQuery.browser.msie){
			btn_prev.hide();
			btn_next.hide();
		}
		else{
			btn_prev.css({opacity:0, display:'block'});
			btn_next.css({opacity:0, display:'block'});
		}
		box_hold.mouseenter(function(){
			if(jQuery.browser.msie){
				btn_prev.show();
				btn_next.show();
			}
			else{
				btn_prev.animate({opacity:1}, {queue:false, duration: 200});
				btn_next.animate({opacity:1}, {queue:false, duration: 200});
			}
		});
		box_hold.mouseleave(function(){
			if(jQuery.browser.msie){
				btn_prev.hide();
				btn_next.hide();
			}
			else{
				btn_prev.animate({opacity:0}, {queue:false, duration: 200});
				btn_next.animate({opacity:0}, {queue:false, duration: 200});
			}
		});
		btn_prev.click(function(){
			btn_f = true;
			changeEl(false);
			return false;
		});
		btn_next.click(function(){
			btn_f = true;
			changeEl(true);
			return false;
		});
		_btn.click(function(){
			_change(_btn.index(this));
			return false;
		});
		function smallGall(_box){
			_box.data('btn', _box.find('div.switcher li'));
			_box.data('a', 0);
			_box.data('list_hold', _box.find('div.aside2 > ul'));
			_box.data('step', _box.data('list_hold').parent().width());
			_box.data('btn').removeClass('active').eq(_box.data('a')).addClass('active');
			_box.data('btn').click(function(){
				if(_box.data('a') != _box.data('btn').index(this)){
					_box.data('btn').eq(_box.data('a')).removeClass('active');
					_box.data('a', _box.data('btn').index(this));
					_box.data('btn').eq(_box.data('a')).addClass('active');
					_box.data('list_hold').animate({left: -_box.data('step')*_box.data('a')},{queue:false, duration: 500});
				}
				return false;
			});
		}
		function changeEl(_f){
			if(_f){
				if(_btn.eq(_a).data('box').data('a') < _btn.eq(_a).data('box').data('btn').length - 1){
					_btn.eq(_a).data('box').data('btn').eq(_btn.eq(_a).data('box').data('a')+1).trigger('click');
					btn_f = false;
				}
				else{
					if(_a < _btn.length - 1) _change(_a + 1);
					else _change(0);
				}
			}
			else{
				if(_btn.eq(_a).data('box').data('a') > 0){
					_btn.eq(_a).data('box').data('btn').eq(_btn.eq(_a).data('box').data('a')-1).trigger('click');
					btn_f = false;
				}
				else{
					if(_a > 0) _change(_a - 1);
					else _change(_btn.length - 1);
				}
			}
		}
		function _change(_ind){
			if(anim_f && _a != _ind){
				anim_f = false;
				box_hold.height(box_hold.height());
				_btn.eq(_a).removeClass('active');
				_btn.eq(_ind).addClass('active');
				_btn.eq(_a).data('box').stop().removeClass('active-box').animate({opacity:0}, 500, function(){
					jQuery(this).hide();
				});
				if(_btn.eq(_ind).data('box')){
					if(((_ind < _a && _ind != 0) || (_a == 0 && _ind == _btn.length - 1)) && btn_f){
						btn_f = false;
						_btn.eq(_ind).data('box').data('btn').removeClass('active').eq(_btn.eq(_ind).data('box').data('btn').length - 1).addClass('active');
						_btn.eq(_ind).data('box').data('a', _btn.eq(_ind).data('box').data('btn').length - 1);
						_btn.eq(_ind).data('box').data('list_hold').css('left', -_btn.eq(_ind).data('box').data('step')*_btn.eq(_ind).data('box').data('a'));
					}
					_btn.eq(_ind).data('box').stop().addClass('active-box').show().animate({opacity: 1}, 500, function(){
						box_hold.height('auto');
						_btn.eq(_a).data('box').data('btn').removeClass('active').eq(0).addClass('active');
						_btn.eq(_a).data('box').data('list_hold').css('left', 0);
						_btn.eq(_a).data('box').data('a', 0);
						_a = _ind;
						anim_f = true;
					});
				}
				else{
					jQuery.ajax({
						url: _btn.eq(_ind).attr('href'),
						type: 'POST',
						data: 'id='+_btn.eq(_ind).attr('rel'),
						success:function(_html){
							_btn.eq(_ind).data('box', jQuery(_html));
							box_hold.append(_btn.eq(_ind).data('box').css({opacity: 0}));
							smallGall(_btn.eq(_ind).data('box'));
							if(((_ind < _a && _ind != 0) || (_a == 0 && _ind == _btn.length - 1)) && btn_f){
								btn_f = false;
								_btn.eq(_ind).data('box').data('btn').removeClass('active').eq(_btn.eq(_ind).data('box').data('btn').length - 1).addClass('active');
								_btn.eq(_ind).data('box').data('a', _btn.eq(_ind).data('box').data('btn').length - 1);
								_btn.eq(_ind).data('box').data('list_hold').css('left', -_btn.eq(_ind).data('box').data('step')*_btn.eq(_ind).data('box').data('a'));
							}
							_btn.eq(_ind).data('box').stop().addClass('active-box').show().animate({opacity: 1}, 500, function(){
								box_hold.height('auto');
								_btn.eq(_a).data('box').data('btn').removeClass('active').eq(0).addClass('active');
								_btn.eq(_a).data('box').data('list_hold').css('left', 0);
								_btn.eq(_a).data('box').data('a', 0);
								_a = _ind;
								anim_f = true;
							});
						}
					});
				}
				
			}
		}
	});
}
/*--- home page gallery ---*/
function homeGallery(){
	var stay_time = 5000; //in ms
	var change_speed = 900; //in ms
	jQuery('div.scroll-gallery').each(function(){
		var _hold = jQuery(this);
		var list_hold = _hold.find('ul');
		var _list = list_hold.children();
		var hold_w = list_hold.parent().width();
		var list_w = _list.length * _list.outerWidth();
		var _t, _f = true, _m = 0, _step = hold_w;
		if(list_w > hold_w){
			list_hold.append(_list.clone()).append(_list.clone());
			_m = list_w;
			list_hold.css('left', -_m);
			
			if(_f){
				_t = setTimeout(function(){
					moveList(true);
				}, stay_time);
			}
		}
		function moveList(_flag){
			if(_t) clearTimeout(_t);
			if(_flag){
				if(_m + _step > list_w*3 - hold_w){
					_m -= list_w;
					list_hold.css('left', -_m);
				}
				_m += _step;
			}
			else{
				if(_m - _step < 0){
					_m += list_w;
					list_hold.css('left', -_m);
				}
				_m -= _step;
			}
			list_hold.animate({left: -_m}, change_speed);
			if(_f){
				_t = setTimeout(function(){
					moveList(true);
				}, stay_time+change_speed);
			}
		}
	});
}
jQuery(document).ready(function(){
	homeGallery();
	ieHover('div.aside2');
	initAjaxGall();
	clearInputs();
});
