var enable_sorting = true;

$(document).ready(function(){
	$('#byorder-button').click(function(){
		if (!enable_sorting)
			return;
		enable_sorting = false;
		sortProjects('order');

		$('#byorder-button').addClass('active');
		$('#interesting-button').removeClass('active');
	});

	$('#interesting-button').click(function(){
		if (!enable_sorting)
			return;
		enable_sorting = false;
		sortProjects('interesting');

		$('#byorder-button').removeClass('active');
		$('#interesting-button').addClass('active');
	});	
});

(function($)
{
$.fn.sorted = function(customOptions)
{
	var options = {
		reversed: false,
		by: function(a) { return a.text(); }
	};
	$.extend(options, customOptions);
	$data = $(this);
	arr = $data.get();
	arr.sort(function(a, b)
	{
		var valA = options.by($(a));
		var valB = options.by($(b));
		if (options.reversed)
			return (valA < valB) ? 1 : (valA > valB) ? -1 : 0;			
		else
        	return (valA < valB) ? -1 : (valA > valB) ? 1 : 0;
	});
	
	return $(arr);
};
})(jQuery);


function sortProjects(attr)
{
	var $filterSort = attr;
	
	var $projects = $('#projects-list');
	var $data = $projects.clone();
	
	var $filteredData = $data.find('div');
	
	if ($filterSort == 'order')
	{
		var $sortedData = $filteredData.sorted({
			reversed: true,
			by: function(v){
				return parseFloat($(v).attr('order'));
			}
		});
	}
	else
	{
		var $sortedData = $filteredData.sorted({
			reversed: true,
			by: function(v) {
				return parseFloat($(v).attr('interesting'));
			}
		});
	}
	
	$projects.quicksand($sortedData, {
		attribute: 'id'
	}, function(){
		enable_sorting = true;
	});
}
