(function($){
	
	//	simple item gallery
	$(document).ready(function(){
		$('div.gallery').each(function(){
			var
				$this = $(this),
				zoom =  $this.children('img.zoom'),
				thumbs = $this.children('ul.thumbs').children().children().click(function(){
					var $this = $(this);
					$this.parent().addClass('active').siblings('.active').removeClass('active');
					zoom.attr('src', $this.attr('href'));
					return false;
				});
		});
	});
	
	//	catalog items filter
	$(document).ready(function(){
		var generateUrl = function(){
			var
				uls = $('.wizard ul:visible:has(li.active)'),
				folders = [],
				obj = [],
				str = '';
			
			uls.each(function(){
				var
					ul = $(this),
					rel = ul.attr('rel').split(':'),
					type = rel[0];
				
				if(type == 'folder'){
					folders[rel[1]-1] = ul.children('.active').attr('rel');
				}
				
				if(type == 'obj'){
					obj.push(rel[1]+':{'+ul.children('.active').attr('rel')+'}');
				}
			});
			
			str += folders.join('/') + '/';
			if(obj.length)
				str += 'find({'+obj.join(',')+'})/';
			return(str);
		};
		
		$('ul.wizard-tabs > li > a').click(function(){
			var
				$this = $(this),
				parent = $this.parent();
			if(parent.is('.active')) return false;
			
			parent.siblings().andSelf().removeClass('active-prev').removeClass('active-next').removeClass('active');
			parent.prev().addClass('active-prev');
			parent.addClass('active');
			parent.next().addClass('active-next');
			
			var
				options = $('.wizard-options'),
				optionsBox = options.children().eq($('ul.wizard-tabs > li').index(parent[0]));
			
			optionsBox.show().siblings('.wizard-options-container').hide();
			
			return false;
		});
		
		$('.wiz-opts > li > a').click(function(){
			var
				$this = $(this),
				li = $this.parent();
			
			if(li.is('.active')) 
				li.removeClass('active');
			else
				li.addClass('active').siblings('.active').removeClass('active');
			
			return false;
		});
		
		$('#wizard-find').click(function(){
			document.location.href = '/catalog/'+generateUrl();
		});
	});
	
	$(document).ready(function(){
		var
			visual = $('.visual'),
			overlay = $('.visual-overlay');
		
		//	preload visual images
		for(var i = 1; i <= 6; i++){
			var img = new Image();
			img.src = '/res/i/visual-'+i+'.jpg';
		}
			
		$('ul.top-menu > li > a').click(function(){
			var
				$this = $(this),
				li = $this.parent(),
				active = li.siblings('.active'),
				activeIndex = li.parent().children().index(active[0]) + 1,
				thisIndex = li.parent().children().index(li[0]) + 1,
				span = li.children('span');
				
			li.addClass('active');
			active.removeClass('active');
			
			overlay.fadeIn(500, function(){
				visual.removeClass('visual-'+ activeIndex).addClass('visual-'+thisIndex);
			});
			overlay.fadeOut(500);
			
			return false;
		});
	});
})(jQuery);
