(function($){
	$.ajaxSetup({
		cache: false
	});
	var ajaxURL				=	'ajax.php',
		idTabs				=	'#tabsList',
		idProducts			=	'#products',
		idCategoryTitle		=	idProducts+' .contentw h2.title',
		idCategoryContents	=	idProducts+' .contentw .content',
		idLoadingBar		=	'#loadingbar';
	function cacheIDs()
	{
		idTabs				=	$(idTabs);
		idCategoryTitle		=	$(idCategoryTitle);
		idCategoryContents	=	$(idCategoryContents);
		idLoadingBar		=	$(idLoadingBar);
	}
	$(document).ready(function()
	{
		cacheIDs();
		var tabs		=	idTabs.find('a'),
			msgBarTxt	=	idLoadingBar.text();
		tabs.each(function(objIndex)
		{
			$(this).click(function(e)
			{
				e.preventDefault();
				if(!$(this).hasClass('active'))
				{
					var activeTab	=	idTabs.find('a.active'),
						clickedTab 	=	$(this);

					idCategoryContents.html('');
					idLoadingBar
						.text(msgBarTxt)
						.removeClass('infoMsg')
						.addClass('loadingMsg')
						.fadeIn(300)
						.removeClass('hide');
					
					activeTab.removeClass('active');
					clickedTab
						.fadeOut(1, function()
						{
							$(this)
								.addClass('active')
								.fadeIn(200);
						});
					
					idCategoryTitle
						.addClass('unopened')
						.delay(100)
						.queue(function(next)
						{
							$(this)
								.removeClass('unopened')
								.text(clickedTab.text());
							next();
						});
					$.getJSON(ajaxURL, {cmd: 0, cid: clickedTab.attr('id')}, function(ret)
					{
						idLoadingBar.fadeOut(300, function()
						{
							if(ret.success)
							{
								idCategoryContents
									.removeClass('hide')
									.html(ret.c);
								$(this).addClass('hide');
								shopReinit();
							}
							else
							{
								idCategoryContents.addClass('hide');
								$(this)
									.removeClass('loadingMsg')
									.addClass('infoMsg')
									.text('No products')
									.fadeIn(200, function()
									{
										$(this).removeClass('hide');
									});
							}
						});
					});
				}
			});			
		});
	});
})(jQuery);
