/*--- slide function ---*/
function initSlide(){
	var _parentSlide = 'div.slide-block';
	var _linkSlide = 'a.open-close';
	var _slideBlock = 'div.block';
	var _openClassS = 'active';
	var _textOpenS = 'click to EXPAND';
	var _textCloseS = 'click to HIDE';
	var _durationSlide = 500;
	
	$(_parentSlide).each(function(){
		if (!$(this).is('.'+_openClassS)) {
			$(this).find(_slideBlock).css('display','none');
		}
	});
	$(_linkSlide,_parentSlide).click(function(){
		if ($(this).parents(_parentSlide).is('.'+_openClassS)) {
			$(this).parents(_parentSlide).removeClass(_openClassS);
			$(this).parents(_parentSlide).find(_slideBlock).slideUp(_durationSlide);
			$(this).text(_textOpenS);
		} else {
			$(this).parents(_parentSlide).addClass(_openClassS);
			$(this).parents(_parentSlide).find(_slideBlock).slideDown(_durationSlide);
			$(this).text(_textCloseS);
		}
		return false;
	});
}
/*--- IE6 hover ---*/
function ieHover(h_list){
	if ($.browser.msie && $.browser.version < 7){
		$(h_list).live('mouseover', function(){
			$(this).addClass('hover');
		}).live('mouseout', function(){
			$(this).removeClass('hover');
		});
	}
}
/*--- gallery function ---*/
function initGall(){
	var _hold = $('#gallery');
	if(_hold.length){
		function changeText(_ind){
			if(text_a != _ind){
				_list.eq(text_a).removeClass('active');
				_list.eq(_ind).addClass('active');
				_list.get(text_a)._box.stop().removeClass('active').animate({opacity: 0}, 400, function(){ $(this).hide();});
				text_a = _ind;
				if(!_list.get(_ind)._box){
					_list.get(_ind)._box = $('<div class="info-box">'+_list.eq(_ind).children('div.hidden-info').html()+'</div>').css('opacity', 0);
					info_text.append(_list.get(_ind)._box);
					if(typeof(infoTitleRepl) == 'function') infoTitleRepl();
				}
				_list.get(_ind)._box.stop().addClass('active').show().animate({opacity: 1}, 400, function(){
					if($.browser.msie) $(this).css('opacity','auto');
				});
				if(_list.eq(text_a).position().left - _l*_k < 0){
					_l = (_list.eq(text_a).position().left-1)/_k;
					gallList();
				}
				else if(_list.eq(text_a).position().left + _list.eq(text_a).outerWidth() > hold_w + _l*_k){
					_l = (_list.eq(text_a).position().left + _list.eq(text_a).outerWidth() - hold_w)/_k;
					gallList();
				}
			}
		}
		function gallList(){
			if(_l < 0) _l = 0;
			else if(_l+slider_w > slider_hold_w) _l = slider_hold_w - slider_w;
			_slider.css('left', _l);
			list_hold.css('left', -_l*_k);
			if(_ttt) clearTimeout(_ttt);
			_ttt = setTimeout(function(){
				if(_list.eq(text_a).position().left - _l*_k < 0){
					for(var i = text_a; i < _list.length; i++){
						if(_list.eq(i).position().left - _l*_k >= 0){
							changeText(i);
							break;
						}
					}
				}
				else if(_list.eq(text_a).position().left + _list.eq(text_a).outerWidth() > hold_w + _l*_k){
					for(var i = text_a; i >= 0; i--){
						if(_list.eq(i).position().left + _list.eq(i).outerWidth() <= hold_w + _l*_k){
							changeText(i);
							break;
						}
					}
				}
			}, 40);
		}
		
		function autoMove(){
			if(aMove_t) clearTimeout(aMove_t);
			if(aMove_f) _l += 1/_k;
			else _l -= 1/_k;
			gallList();
			aMove_t = setTimeout(function(){
				if(aMove_t) clearTimeout(aMove_t);
				if(_l == 0){
					if(aMove_t) clearTimeout(aMove_t);
					aMove_t = setTimeout(function(){
						if(text_a > 0){
							changeText(text_a - 1);
							autoMove();
						}
						else{
							aMove_f = true;
							autoMove();
						}
					}, 3000);
				}
				else if(_l == slider_hold_w - slider_w){
					if(aMove_t) clearTimeout(aMove_t);
					aMove_t = setTimeout(function(){
						if(text_a < _list.length - 1){
							changeText(text_a + 1);
							autoMove();
						}
						else{
							aMove_f = false;
							autoMove();
						}
					}, 3000);
				}
				else{
					autoMove();
				}
				
			}, 60);
		}
		
		
		
		var list_hold = _hold.find('div.gallery > ul');
		var _list = list_hold.children();
		var slider_hold = _hold.find('div.scroll-track');
		var _slider = slider_hold.find('div.slider');
		
		var list_w = _list.length * _list.outerWidth();
		var hold_w = list_hold.parent().width();
		var slider_w = _slider.width();
		var slider_hold_w = slider_hold.width();
		var _ttt, aMove_t;
		var aMove_f = true;
		
		var info_text = $('#gallery-info');
		var text_a = _list.index(_list.filter('.active:eq(0)'));
		if(text_a == -1) text_a = 0;
		_list.removeClass('active').eq(text_a).addClass('active');
		_list.get(text_a)._box = $('<div class="info-box">'+_list.eq(text_a).children('div.hidden-info').html()+'</div>');
		_list.get(text_a)._box.addClass('active');
		info_text.html(_list.get(text_a)._box);
		if(typeof(infoTitleRepl) == 'function') infoTitleRepl();
		_list.click(function(){
			if(aMove_t) clearTimeout(aMove_t);
			changeText(_list.index(this));
			return false;
		});
		
		if(list_w > hold_w){
			var _k = (list_w-hold_w)/(slider_hold_w - slider_w);
			var _l = 0;
			var t_x = 0;
			var _f1 = false;
			
			_slider.mousedown(function(e){
				if(aMove_t) clearTimeout(aMove_t);
				t_x = e.pageX - $(this).position().left;
				_f1 = true;
			}).mouseup(function(){
				_f1 = false;
			}).click(function(){
				if(aMove_t) clearTimeout(aMove_t);
				return false;
			});
			slider_hold.click(function(e){
				if(aMove_t) clearTimeout(aMove_t);
				_l = e.pageX - slider_hold.offset().left - slider_w/2;
				 gallList();
			});
			$(document).mousemove(function(e){
				if(_f1){
					 _l = e.pageX - t_x;
					 gallList();
				}
			}).mouseup(function(){
				_f1 = false;
			});
			document.body.onselectstart = function(){ if(_f1) return false;}
			slider_hold.css({'-moz-user-select':'none', '-khtml-user-select': 'none', 'user-select':'none'});
			_l = (text_a)*_list.outerWidth();
			if(_l >= hold_w) _l = (_l+1)/_k;
			else _l = 0;
			gallList();
			autoMove();
		}
		else{
			_slider.hide();
		}
		
		
	}
}

function initPage(){
	
}
if (window.addEventListener) window.addEventListener("load", initPage, false);
else if (window.attachEvent && !window.opera) window.attachEvent("onload", initPage);
$(document).ready(function(){
	ieHover('#header li, .dates-box tr');
	initSlide();
	initGall();
});