/*--- IE6 hover ---*/
function ieHover(h_list){
	if($.browser.msie && $.browser.version < 7){
		$(h_list).hover(function(){
			$(this).addClass('hover');
		}, function(){
			$(this).removeClass('hover');
		});
	}
}
/*--- clear inputs onfocus ---*/
function initInputs() {
	var _inputs = $('input[type="text"],input[type="password"],textarea');
	_inputs.each(function(){
		var _input = $(this);
		var _val = _input.val();
		if(_val.length) {
			_input.focus(function(){
				if(_input.val() == _val) _input.val('');
			});
			_input.blur(function(){
				if(!_input.val().length) _input.val(_val);
			});
		}
	});
}
/*--- slide blocks ---*/
function boxSlide(){
	$('div.slide-block').each(function(){
		var _hold = $(this);
		var _box = _hold.find('div.block');
		var _btn = _hold.find('a.open-close');
		var _h = _box.height();
		if(_hold.hasClass('active')){
			_box.show();
			_btn.text('Close');
		}
		else{
			_box.hide();
			_btn.text('Read More');
		}
		_btn.click(function(){
			if(_hold.hasClass('active')){
				_hold.removeClass('active');
				_btn.text('Read More');
				_box.stop().animate({height:0}, 500, function(){$(this).css({display:'none', height:'auto'});});
			}
			else{
				_hold.addClass('active');
				_btn.text('Close');
				if(_box.is(':hidden')){
					_box.show();
					_h = _box.height();
					_box.height(0);
				}
				_box.stop().animate({height: _h}, 500, function(){ $(this).height('auto');});
			}
			return false;
		});
	});
	$('#main div.sidebar div.slide-form').each(function(){
		var _t;
		var _f = true;
		var _hold = $(this);
		var _box = _hold.find('div.form-slide').hide();
		var _h = _box.height;
		_hold.find('input:text, input:password, textarea, select').focus(function(){
			if(_t) clearTimeout(_t);
			openBox();
			_f = false;
		}).blur(function(){
			if(_t) clearTimeout(_t);
			_t = setTimeout(function(){
				closeBox();
			}, 300);
			_f = true;
		});
		_hold.mouseenter(function(){
			if(_t) clearTimeout(_t);
			_t = setTimeout(function(){
				openBox();
			}, 300);
		}).mouseleave(function(){
			if(_f && _box.is(':visible')){
				if(_t) clearTimeout(_t);
				_t = setTimeout(function(){
					closeBox();
				}, 300);
			}
		});
		function closeBox(){
			_box.stop().animate({height:0}, 300, function(){
				$(this).css({display:'none', height:'auto'});
			});
		}
		function openBox(){
			if(_box.is(':hidden')){
				_box.show();
				_h = _box.height();
				_box.height(0);
			}
			_box.stop().animate({height:_h}, 300, function(){
				$(this).height('auto');
			});
		}
	});
	$('#footer div.slide-form').each(function(){
		var _t;
		var _f = true;
		var _hold = $(this);
		var _box = _hold.find('div.form-slide').hide();
		var _h = _box.height;
		_hold.find('input:text, input:password, textarea, select').focus(function(){
			if(_t) clearTimeout(_t);
			openBox();
			_f = false;
		}).blur(function(){
			if(_t) clearTimeout(_t);
			_t = setTimeout(function(){
				closeBox();
			}, 300);
			_f = true;
		});
		_hold.mouseenter(function(){
			if(_t) clearTimeout(_t);
			_t = setTimeout(function(){
				openBox();
			}, 300);
		}).mouseleave(function(){
			if(_t) clearTimeout(_t);
			if(_f && _box.is(':visible')){
				_t = setTimeout(function(){
					closeBox();
				}, 300);
			}
		});
		function closeBox(){
			_box.stop().animate({height:0}, 300, function(){
				$(this).css({display:'none', height:'auto'});
			});
			_hold.stop().animate({marginTop:0}, 300);
		}
		function openBox(){
			if(_box.is(':hidden')){
				_box.show();
				_h = _box.height();
				_box.height(0);
			}
			_box.stop().animate({height:_h}, 300, function(){
				$(this).height('auto');
			});
			_hold.stop().animate({marginTop:-_h}, 300);
		}
	});
}
/*--- gallery function ---*/
function initGall(){
	var stay_time = 8000; //in ms
	var change_speed = 800; //in ms
	var _hold = $('#gallery');
	if(_hold.length){
		var list_hold = _hold.find('div.gallery-holder > ul');
		var _list = list_hold.children();
		if(_list.length > 1){
			var _t;
			var _f = true;
			var _step = _list.outerWidth(true);
			var _a = _list.index(_list.filter('.active:eq(0)'));
			if(_a == -1) _a = 0;
			_list.removeClass('active').eq(_a).addClass('active');
			
			$('<a class="btn-prev" href="#">prev</a>').appendTo(_hold).click(function(){
				if(_a > 0) changeEl(_a - 1);
				else changeEl(_list.length - 1);
				return false;
			});
			$('<a class="btn-next" href="#">next</a>').appendTo(_hold).click(function(){
				if(_a < _list.length - 1) changeEl(_a + 1);
				else changeEl(0);
				return false;
			});
			var btn_list = $('<div class="paging"><div class="paging-holder"><a href="#" class="link-prev"><span>prev</span></a><ul></ul><a href="#" class="link-next"><span>next</span></a></div></div>');
			for(var i = 0; i < _list.length; i++){
				btn_list.find('ul').append('<li><a href="#">'+(i+1)+'</a></li>');
			}
			btn_list.appendTo(_hold);
			var _btn = btn_list.find('ul a');
			_btn.click(function(){
				changeEl(_btn.index(this));
				return false;
			}).eq(_a).addClass('active');
			btn_list.find('a.link-prev').click(function(){
				if(_a > 0) changeEl(_a - 1);
				else changeEl(_list.length - 1);
				return false;
			});
			btn_list.find('a.link-next').click(function(){
				if(_a < _list.length - 1) changeEl(_a + 1);
				else changeEl(0);
				return false;
			});
			_hold.mouseenter(function(){
				if(_t) clearTimeout(_t);
				_f = false;
			}).mouseleave(function(){
				if(_t) clearTimeout(_t);
				_f = true;
				_t = setTimeout(function(){
					if(_a < _list.length - 1) changeEl(_a + 1);
					else changeEl(0);
				}, stay_time);
			});
			if(_f){
				_t = setTimeout(function(){
					if(_a < _list.length - 1) changeEl(_a + 1);
					else changeEl(0);
				}, stay_time);
			}
		}
		
		function changeEl(_ind){
			if(_ind != _a){
				if(_t) clearTimeout(_t);
				_btn.eq(_a).removeClass('active');
				_btn.eq(_ind).addClass('active');
				_list.eq(_a).removeClass('active');
				_list.eq(_ind).addClass('active');
				list_hold.animate({left: -_ind*_step}, {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);
				}
			}
		}
	}
}
$(document).ready(function(){
	ieHover('#nav > li');
	boxSlide();
	initGall();
	initInputs();
});
