jQuery(function(){
	jQuery('div.navigation').each(function(){
		if(jQuery(this).find('a').length == 0) jQuery(this).remove();
	});
	jQuery('#menu > ul > li:first').addClass('first');
	jQuery('#menu > ul > li:last').addClass('last');
	jQuery('#breadcrumbs li:not(:has("a"))').wrapInner('<span></span>');
	clearInputs();
	homeGallery();
	/*
	jQuery('ul.accordion').acc({
		speed: 400,
		active: 'selected',
		list: '.children()',
		opener: '.opener',
		slide: '.hold'
	});
	*/
	jQuery('input:text, input:password, textarea').live('focus', function(){
		jQuery(this).parents('div:eq(0)').addClass('focused');
	}).live('blur', function(){
		jQuery(this).parents('div:eq(0)').removeClass('focused');
	});
});
/*--- home gallery ---*/
function homeGallery(){
	var stay_time = 5000; //in ms
	var change_speed = 500; //in ms
	jQuery('#visual div.images').each(function(){
		var _hold = jQuery(this);
		var _list = _hold.find('img');
		var _a = _list.index(_list.filter('.active:eq(0)')) != -1 ? _list.index(_list.filter('.active:eq(0)')) : 0;
		var _f = true, _t;
		_list.removeClass('active').css('opacity', 0).eq(_a).addClass('active').css('opacity', 1);
		if(_list.length < 2) _f = false;
		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);
			}
		}
	});
}
/*---- 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'));
		});
	});
}
/*--- accordion ---*/
jQuery.fn.acc = function(_options){
	var _options = jQuery.extend({
		speed: 400,
		active: 'active',
		list: '.children()',
		opener: 'a.opener',
		slide: 'div.slide'
	}, _options);
	return this.each(function(){
		var _list = eval('jQuery(this)' + _options.list);
		var _active = _options.active;
		var _speed = _options.speed;
		var _a = _list.index(_list.filter('.' + _active + ':eq(0)'));
		if(_a != -1) _list.removeClass(_active).eq(_a).addClass(_active);
		for(var i = 0; i < _list.length; i++){
			_list.eq(i).data('btn', _list.eq(i).find(_options.opener));
			_list.eq(i).data('box', _list.eq(i).find(_options.slide));
			if(i == _a) _list.eq(i).data('box').css('display', 'block');
			else _list.eq(i).data('box').css('display', 'none');
			_list.eq(i).data('btn').data('ind', i);
			_list.eq(i).data('btn').click(function(){
				if(_list.eq(jQuery(this).data('ind')).data('box').length){
					changeEl(jQuery(this).data('ind'));
					return false;
				}
			});
		}
		var anim_f = true;
		var a_h, ind_h, _k;
		function changeEl(_ind){
			if(anim_f){
				anim_f = false;
				if(_a == _ind){
					_list.eq(_a).removeClass(_active).data('box').animate({height: 0}, {
						duration: _speed,
						complete: function(){
							jQuery(this).css({display:'none', height:'auto'});
							_a = -1;
							anim_f = true;
						}
					});
				}
				else{
					_list.eq(_ind).data('box').css('display', 'block');
					ind_h = _list.eq(_ind).data('box').outerHeight();
					_list.eq(_ind).data('box').height(0);
					if(_a != -1){
						a_h = _list.eq(_a).removeClass(_active).data('box').outerHeight();
						_k = a_h/ind_h;
					}
					_list.eq(_ind).addClass(_active).data('box').animate({height: ind_h}, {
						duration: _speed,
						step: function(t_h){
							if(_a != -1) _list.eq(_a).data('box').height(a_h - t_h*_k);
						},
						complete: function(){
							_list.eq(_ind).data('box').height('auto');
							if(_a != -1) _list.eq(_a).data('box').css({display:'none', height: 'auto'});
							_a = _ind;
							anim_f = true;
						}
					});
				}
			}
		}
	});
}
jQuery(document).ready(function(){
	
});
