/* 1.1 */

var parts = location.href.split('#!', 2);
if(parts.length == 2) window.location.href = parts[1]; // redirect anchor

var qc_arr = {
	'Action':false,
	'Puzzles':false,
	'Shooting':false,
	'Strategy':false,
	'Adventure':false
};

var qs = 'Date';
var qo = 'Desc';

function pills_setup()
{
	for(cat in s_cats)
	{
		qc_arr[s_cats[cat]] = true;
	}
	
	qs = s_sort;
	qo = s_order;
	
	update_pills();
}

function update_pills()
{
	// categories
	for(cat in qc_arr)
	{
		if(!qc_arr[cat]) // don't toggleClass
		{
			$('#qc-'+cat).addClass('pill-dark');
		}
		else
		{
			$('#qc-'+cat).removeClass('pill-dark');
		}
	}

	// sorters
	if(qs == 'Date')
	{
		$('#qs-Date').removeClass('pill-dark');
		$('#qs-Name').addClass('pill-dark');
	}
	else
	{
		$('#qs-Date').addClass('pill-dark');
		$('#qs-Name').removeClass('pill-dark');
	}

	// orderers
	if(qo == 'Desc')
	{
		$('#qo-Desc').removeClass('pill-dark');
		$('#qo-Asc').addClass('pill-dark');
	}
	else
	{
		$('#qo-Desc').addClass('pill-dark');
		$('#qo-Asc').removeClass('pill-dark');
	}
}

function loader_fadeout()
{
	$('#load-4').addClass('loaded');
	
	$('#loader-bar').fadeTo(500, 0, function()
	{
		$('#loader-bar li').removeClass('loaded');
	});
}

function load_results()
{
	$('#loader-bar').css({opacity:1});
	$('#load-1').addClass('loaded');
	
	update_pills();

	var qcats = '';

	for(cat in qc_arr)
	{
		if(qc_arr[cat])
		{
			qcats += ',' + cat;
		}
	}
	
	qcats = qcats.substr(1);
	
	var qdata = {
		category: qcats,
		sort: qs,
		order: qo
	};
	
	$('#load-2').addClass('loaded');
	
	$.getJSON("query.php", qdata, function(json)
	{
		$('#search-results ul').html('');
		
		$('#load-3').addClass('loaded');
		
		if(json.length == 0)
		{
			$('#empty-search').show();
			
			loader_fadeout();
		}
		else
		{
			$('#empty-search').hide();
			
			for(row in json)
			{
				var game = json[row];
				$('#search-results ul').append(
					"<li><a href=\"/"+game.slug+"/\"><img src=\"/f.loc/icons/"+game.slug+"."+game.icon_file_type+"\" alt=\""+game.name+"\" width=\"100\" height=\"100\" /><div class=\"result-content\"></a><a href=\"/"+game.slug+"/\"><strong>"+game.name+"</strong></a><p>"+game.description+"</p></div><div class=\"clear\"></div></li>");
			}
			
			loader_fadeout();
		}
	});
}

$(function()
{
	pills_setup();
	
	$('#query-pills a').click(function()
	{
		var qparts = $(this).attr('id').split('-');
		
		switch(qparts[0])
		{
			case 'qc':
			{
				qc_arr[qparts[1]] = !qc_arr[qparts[1]];
			}
			break;
			case 'qs':
			{
				qs = qparts[1];
			}
			break;
			case 'qo':
			{
				qo = qparts[1];
			}
			break;
		}
		
		load_results();
		
		var qc_str = '';
		
		for(cat in qc_arr)
		{
			if(qc_arr[cat])
			{
				qc_str += ',' + cat;
			}
		}
		
		qc_str = qc_str.substr(1);
		
		window.location.href = '#!?category='+qc_str+'&sort='+qs+'&order='+qo;
		
		return false;
	});
});
