/*--- header gallery ---*/
function topGallery(){
	var stay_time = 4000; //in ms or 'false' if not needed
	var change_speed = 600; //in ms
	var _hold = $('#top-gallery');
	if(_hold.length){
		var _f = true;
		var _t;
		var _list = _hold.find('div.graphic > div');
		var _a = _list.index(_list.filter('.active:eq(0)'));
		if(_a == -1) _a = 0;
		var _btn = $('<ul></ul>');
		for(var i = 0; i < _list.length; i++){
			_btn.append('<li><a href="#">'+(i+1)+'</a></li>');
		}
		$('<div class="navigator"><div class="n1"></div></div>').appendTo(_hold).find('.n1').append(_btn);
		_btn = _btn.find('a');
		_btn.removeClass('active').eq(_a).addClass('active');
		_list.removeClass('active').css('opacity', 0).eq(_a).addClass('active').css('opacity', 1);
		
		_btn.click(function(){
			changeEl(_btn.index(this));
			return false;
		});
		_hold.mouseenter(function(){
			_f = false;
			if(_t) clearTimeout(_t);
		}).mouseleave(function(){
			_f = true;
			if(_f && stay_time){
				_t = setTimeout(function(){
					if(_a < _list.length - 1) changeEl(_a+1);
					else changeEl(0);
				}, stay_time);
			}
		});
		if(_f && stay_time){
			_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){
				_btn.eq(_a).removeClass('active');
				_btn.eq(_ind).addClass('active');
				_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 && stay_time){
				_t = setTimeout(function(){
					if(_a < _list.length - 1) changeEl(_a+1);
					else changeEl(0);
				}, stay_time+change_speed);
			}
		}
	}
}
/*--- portfolio gallery ---*/
function portfolioGallery(m_hold){
	var stay_time = 6000; //in ms or 'false' if not needed
	var change_speed = 600; //in ms
	if(!m_hold) m_hold = $('body');
	m_hold.find('div.portfolio-gallery').each(function(){
		if(!this._f){
			this._f = true;
			var _hold = $(this);
			var _f = true;
			var _t;
			var _list = _hold.find('ul.portfolio-list > li');
			var _a = _list.index(_list.filter('.active:eq(0)'));
			if(_a == -1) _a = 0;
			var _btn = $('<ul class="portfolio-navigator"></ul>');
			for(var i = 0; i < _list.length; i++){
				_btn.append('<li><a href="#">'+(i+1)+'</a></li>');
			}
			_hold.append(_btn);
			_btn = _btn.find('a');
			_btn.removeClass('active').eq(_a).addClass('active');
			_list.removeClass('active').css('opacity', 0).eq(_a).addClass('active').css('opacity', 1);
			
			_btn.click(function(){
				changeEl(_btn.index(this));
				return false;
			});
			_hold.mouseenter(function(){
				_f = false;
				if(_t) clearTimeout(_t);
			}).mouseleave(function(){
				_f = true;
				if(_f && stay_time){
					_t = setTimeout(function(){
						if(_a < _list.length - 1) changeEl(_a+1);
						else changeEl(0);
					}, stay_time);
				}
			});
			if(_f && stay_time){
				_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){
					_btn.eq(_a).removeClass('active');
					_btn.eq(_ind).addClass('active');
					_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 && stay_time){
					_t = setTimeout(function(){
						if(_a < _list.length - 1) changeEl(_a+1);
						else changeEl(0);
					}, stay_time+change_speed);
				}
			}
		}
	});
}
/*--- ajax loading ---*/
function ajaxContent(){
	var _speed = 800;
	var _btn = $('#portfolio-nav ul a');
	var box_hold1 = $('#portfolio-info');
	var box_hold2 = $('#portfolio-content');
	if(_btn.length && box_hold1.length && box_hold2.length){
		var _loader = $('<div class="loader">Loading...</div>');
		_loader.hide();
		box_hold1.append(_loader);
		
		var ajax_f = false;
		var _a = _btn.index(_btn.filter('.active:eq(0)'));
		if(_a == -1) _a = 0;
		_btn.removeClass('active').eq(_a).addClass('active');
		for(var i = 0; i < _btn.length; i++){
			if(_btn.eq(i).attr('href').length > 1) _btn.eq(i).data('url', _btn.eq(i).attr('href'));
			else _btn.eq(i).data('url', false);
			_btn.eq(i).data('box1', false);
			_btn.eq(i).data('box2', false);
		}
		if(_btn.eq(_a).data('url')){
			$.ajax({
				url: _btn.eq(_a).data('url'),
				dataType: 'html',
				success: function(_html){
					_btn.eq(_a).data('box1', $(_html).children('div.portfolio-holder'));
					_btn.eq(_a).data('box2', $(_html).children('div.box'));
					_btn.eq(_a).data('box1').addClass('active');
					_btn.eq(_a).data('box2').addClass('active');
					box_hold1.append(_btn.eq(_a).data('box1'));
					box_hold2.append(_btn.eq(_a).data('box2'));
					portfolioGallery(_btn.eq(_a).data('box1'));
					ajax_f = true;
				}
			});
		}
		else{
			ajax_f = true;
		}
		
		_btn.click(function(){
			changeEl(_btn.index(this));
			return false;
		});
		
		function changeEl(_ind){
			if(ajax_f && _a != _ind && _btn.eq(_ind).data('url')){
				ajax_f = false;
				_btn.eq(_a).removeClass('active');
				_btn.eq(_ind).addClass('active');
				box_hold1.stop().height(box_hold1.height());
				box_hold2.stop().height(box_hold2.height());
				_btn.eq(_a).data('box1').stop().removeClass('active').animate({opacity:0}, _speed, function(){ $(this).hide();});
				_btn.eq(_a).data('box2').stop().removeClass('active').animate({opacity:0}, _speed, function(){ $(this).hide();});
				
				if(_btn.eq(_ind).data('box1')){
					_btn.eq(_ind).data('box1').stop().show().addClass('active').animate({opacity:1}, _speed);
					_btn.eq(_ind).data('box2').stop().show().addClass('active').animate({opacity:1}, _speed);
					box_hold1.animate({height: _btn.eq(_ind).data('box1').outerHeight()}, _speed, function(){ $(this).height('auto');});
					box_hold2.animate({height: _btn.eq(_ind).data('box2').outerHeight()}, _speed, function(){ $(this).height('auto');});
					_a = _ind;
					ajax_f = true;
				}
				else{
					_loader.show();
					$.ajax({
						url: _btn.eq(_ind).data('url'),
						dataType: 'html',
						success: function(_html){
							_btn.eq(_ind).data('box1', $(_html).children('div.portfolio-holder'));
							_btn.eq(_ind).data('box2', $(_html).children('div.box'));
							_btn.eq(_ind).data('box1').css({display:'none', opacity: 0});
							_btn.eq(_ind).data('box2').css({display:'none', opacity: 0});
							box_hold1.append(_btn.eq(_ind).data('box1'));
							box_hold2.append(_btn.eq(_ind).data('box2'));
							portfolioGallery(_btn.eq(_ind).data('box1'));
							_btn.eq(_ind).data('box1').stop().show().addClass('active').animate({opacity:1}, _speed);
							_btn.eq(_ind).data('box2').stop().show().addClass('active').animate({opacity:1}, _speed);
							box_hold1.animate({height: _btn.eq(_ind).data('box1').outerHeight()}, _speed, function(){ $(this).height('auto');});
							box_hold2.animate({height: _btn.eq(_ind).data('box2').outerHeight()}, _speed, function(){ $(this).height('auto');});
							_loader.hide();
							_a = _ind;
							ajax_f = true;
						}
					});
				}
			}
		}
	
	}
	
}
/*---- clear inputs ---*/
function clearInputs(){
	$('input:text, input:password, textarea').each(function(){
		var _el = $(this);
		var _val = _el.val();
		_el.bind('focus', function(){
			if(this.value == _val) this.value = '';
		}).bind('blur', function(){
			if(this.value == '') this.value = _val;
		});
	});
}
$(document).ready(function(){
	topGallery();
	clearInputs();
	ajaxContent();
	portfolioGallery();
});