// page init
$(function(){
	initCufon();
	initInputs();
	initNavigation();
});

// cufon init
function initCufon() {
	Cufon.replace('.tag', { fontFamily: 'gothic'});
	Cufon.replace('#nav a', {hover: true,  fontFamily: 'gothic'});
	Cufon.replace('.services h2', { fontFamily: 'gothic'});
	Cufon.replace('.services a', { fontFamily: 'gothic', hover: true });
	Cufon.replace('.promo .visual .text', { fontFamily: 'gothic'});
	Cufon.replace('#content h1', { fontFamily: 'gothic'});
	Cufon.replace('#sidebar h3', { fontFamily: 'gothic'});
	Cufon.replace('.box a strong', { fontFamily: 'gothic'});
}

// clear inputs onfocus
function initInputs() {
	var _focusClass = 'parent-focus';
	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(){
				_input.parent().addClass(_focusClass);
				if(_input.val() == _val) _input.val('');
			});
			_input.blur(function(){
				_input.parent().removeClass(_focusClass);
				if(!_input.val().length) _input.val(_val);
			});
		}
	});
}

// sliding navigation
function initNavigation() {
	var _hoverClass = 'hover';
	var _animSpeed = 300;
	var _stayTime = 20;

	// main navigation
	$('#nav > ul > li').each(function(){
		var _opener = $(this).css({position:'relative'});
		var _dropHolder = _opener.find('>div');
		if(_dropHolder.length) {
			var _drop = _dropHolder.find('>div.drop-slide');
			var _dropHeight;
			var _timer;

			_dropHolder.show().css({overflow:'hidden'});
			_dropHeight = _drop.outerHeight();
			_drop.css({marginTop:-_dropHeight});

			_opener.hover(function(){
				_opener.addClass(_hoverClass);
				if(_timer) clearTimeout(_timer);
				if($.browser.msie) {
					_drop.css({marginTop:0});
					setTimeout(function(){Cufon.refresh('#nav a')},50)
				} else {
					_timer = setTimeout(function(){
						_drop.animate({marginTop:0},{duration:_animSpeed,queue:false});
						Cufon.refresh('#nav a');
					},_stayTime);
				}
			},function(){
				_opener.removeClass(_hoverClass);
				if(_timer) clearTimeout(_timer)
				if($.browser.msie) {
					_drop.css({marginTop:-_dropHeight});
					setTimeout(function(){Cufon.refresh('#nav a')},50)
				} else {
					_timer = setTimeout(function(){
						_drop.animate({marginTop:-_dropHeight},{duration:_animSpeed,queue:false});
						Cufon.refresh('#nav a');
					},_stayTime);
				}
			})
		} else {
			_opener.hover(function(){
				_opener.addClass(_hoverClass);
				setTimeout(function(){Cufon.refresh('#nav a')},50)
			},function(){
				_opener.removeClass(_hoverClass);
				setTimeout(function(){Cufon.refresh('#nav a')},50)
			})
		}
	});

	// side navigation
	$('div.services > ul > li').each(function(){
		var _opener = $(this).css({position:'relative'});
		var _dropHolder = _opener.find('>div');
		if(_dropHolder.length) {
			var _drop = _dropHolder.find('>div.drop-slide');
			var _dropWidth;
			var _timer;

			_dropHolder.show().css({overflow:'hidden'});
			_dropWidth = _drop.outerWidth();
			_drop.css({marginLeft:-_dropWidth});

			_opener.hover(function(){
				_opener.addClass(_hoverClass);
				if(_timer) clearTimeout(_timer)
				_timer = setTimeout(function(){
					_drop.animate({marginLeft:0},{duration:_animSpeed,queue:false});
					Cufon.refresh('.services a');
				},_stayTime);
			},function(){
				_opener.removeClass(_hoverClass);
				if(_timer) clearTimeout(_timer)
				_timer = setTimeout(function(){
					_drop.animate({marginLeft:-_dropWidth},{duration:_animSpeed,queue:false});
					Cufon.refresh('.services a');
				},_stayTime);
			})
		} else {
			_opener.hover(function(){
				_opener.addClass(_hoverClass);
				setTimeout(function(){Cufon.refresh('.services a')},50)
			},function(){
				_opener.removeClass(_hoverClass);
				setTimeout(function(){Cufon.refresh('.services a')},50)
			})
		}
	});
}
