function categories()
{
	$('#categories > li a').unbind('click');
	$('#categories > li a').click(function()
	{
		//if this is already the selected category then we don't need to do anything.
		if ($(this).hasClass("selected") == false)
		{
			//Parse the url
			$_GET = urlToArray();
			//Clear the selected tags
			delete $_GET['tags'];
			
			//Get selected category_id
			var category_id = $(this).attr('category_id');
			//Get the correct json url based on category id
			json_url = jsonUrl(category_id);
			
			//Change selected category
			$('#categories li a').removeClass('selected');
			$(this).addClass('selected');
			
			//Reset displayed assets
			$('#search_feedback').html('');
			$('#featured_asset').html('');
			$('ul#asset_results').html('<div class="icon-loading">Please wait, loading new assets ...</div>');
			
			//Display new assets.
			displayAssets(json_url, category_id);
			
		}
		
	});
	
}

function jsonUrl(category_id)
{
	if (empty(category_id) != true)
	{
		if (category_id == 'all')
		{
			//get all assets
			return BASEURL+'assets/include/getCategory.php?category_id=all';
			//var json_url = CMSURL+'index.php/ajax/get_all/';
		}
		else if(category_id == 'featured')
		{
			//get only featured assets
			return BASEURL+'assets/include/getCategory.php?category_id=featured';
			//var json_url = CMSURL+'index.php/ajax/get_featured/';
		}
		else
		{
			//get assets by category id
			return BASEURL+'assets/include/getCategory.php?category_id=' + category_id;
			//var json_url = CMSURL+'index.php/ajax/assets/'+category_id+'/';
		}
	}
	else
	{
		return BASEURL+'assets/include/getCategory.php?category_id=all';
	}
}

function displayAssets(json_url, category_id)
{
	var count_featured = 0;
	$.getJSON(json_url,
		function(data){
		
		  $('ul#asset_results').html('');
		  
          $.each(data, function(i,item){
			
			//Are there any tags for this item?
			if ( item.tags != "" ) 
			{
				//Split the tags into an array!
				var tag_array = item.tags.split(',');
				//Prepare html markup
				var tag_output = '';
				for ( var i in tag_array )
				{
					tag_output += 'tag_'+tag_array[i] + ' ';
				}
				tag_output = jQuery.trim(tag_output); //get rid of the messy extra space
			}			
			
			var output = '';
			
			var asset_url = BASEURL + 'details/' + SITELANG + '/?asset_id=' + item.id;
			var download_url = BASEURL + 'request/' + SITELANG + '/?asset_id=' + item.id;
			
			var file_url = BASEURL + 'cms/' + item.path;
			var file_size = 'unknown';
			var stats = item.size;
					
			var format = item.path.split('.');
			var count = (format.length) - 1;
			//Make sure that a value was found
			if (format[count])
			{
				format = format[count].toUpperCase();
				if (SITELANG == 'fr')
				{
					stats += ', Format ' + format;
				}
				else
				{
					stats += ', ' + format + ' Format';
				}				
			}
			
			var thumb = str_replace("-preview.", "-thumb.", item.preview);
			
			if (category_id == 'all')
			{
				$('#featured_asset').html('');
				//$('#search_feedback').show();
			}
			else if(category_id == 'featured')
			{
				$('#featured_asset').html('');
				//$('#search_feedback').hide();
			}
			else
			{
				//$('#search_feedback').show();
				
				if (count_featured == 0)
				{
					var featured_output = '';
					if (item.featured == 1)
					{
						featured_output += '<h2>' + page_copy.featured_material + '</h2>';
					
						featured_output += '<div class="shadow">';
						featured_output += '	<div id="shadow_header" class="header"></div>';
						featured_output += '	<div class="content">';
						featured_output += '		<div class="border">';
						featured_output += '		<div class="image">';
						featured_output += '			<a href="' + asset_url + '">';
						featured_output += '			<img id="featured_image" src="'+CMSURL + 'uploads/' + item.preview + '"/> ';
						featured_output += '			</a>';
						featured_output += '		</div>';
						featured_output += '		</div>';
						featured_output += '	</div>';
						featured_output += '	<div id="shadow_footer" class="footer">';
						featured_output += '		<span class="border"></span>';
						featured_output += '	</div>';
						featured_output += '</div>';
						featured_output += '<div class="clearer"></div></div>';
					
						featured_output += '<div class="data"><div class="description">' + item.title;
						featured_output += '<br/>' + stats + '</div>';
						featured_output += '<div class="buttons"><a href="' + asset_url + '" class="button-preview float_left">preview</a>';
						featured_output += '<a href="' + download_url + '" class="button-download float_left margin_left">download</a></div>';
						featured_output += '<div class="clearer"></div></div>';
						
						$('#featured_asset').html(featured_output);
						$('#featured_asset').show();
						count_featured += 1;
					}
				}
			}
			
			output += '<li id="asset_' + item.id + '">';
			output += '<p class="searchtags">' + tag_output + '</p>';
			output += '<div class="thumbnail"><a href="' + asset_url + '"><img src="'+CMSURL+'uploads/' + thumb + '"/></a></div>';
			output += '<p class="title" id="asset_' + item.id + '">' + item.title + '</p>';
			output += '<p class="stats">' + stats + '</p>';
			output += '<p class="buttons"><a href="' + asset_url + '" class="button-preview float_left">' + global_copy.preview + '</a>';
			output += '<a href="' + download_url + '" class="button-download float_left margin_left">' + global_copy.download + '</a></p>';
			output += '</li>';
			
			$('ul#asset_results').append(output);
			
          });
		  
		  $('ul#asset_results').append('<div class="clearer"></div>');
		  
		  tagFilter();
		  
		  if (empty($_GET['tags']) != true)
		  {
		  	urlLoadTags();
		  }
		
			var shadow = $('#featured_asset .shadow').width();
			if (shadow != 49)
			{
				var frame_width = shadow - 49 + 'px';
				$('#shadow_header').css('width', frame_width);
				$('#shadow_footer').css('width', shadow);
				
				var margin_offset = (640 - shadow)/2;
				$('#featured_asset .shadow').css('margin-left', margin_offset);
			}
		
        });
}
