function loadGamePage(page){
	
	var handler = function(data){
		jQuery("#pageContent").html(data.html);
		var pagination = "";
		
		var content = "<span id=\"pagelinks\">";
		for ( var i = 0; i < data.total_pages; i++) {

			var cur_page = i + 1;
			var class_name = (i == data.current_page) ? "highlighted" : "normal";
			content += "<a href=\"#\" class=\"" + class_name
					+ "\" onclick=\"loadGamePage(" + i + "); return false;\">"
					+ cur_page + "</a>\n";
			if (i < data.total_pages - 1) {
				content += " | ";
			}
			
		}
		content += "</span>";
		jQuery("#pagination").html(content);
		
	}
	var data = {
		'action':'load_game_page',
		'page':page
	};
	jQuery.post('includes/handler.php',data,handler,'json');
	
}

function switchCategory(id, catId, genreId, query) {

	jQuery(".cat_results").hide();
	jQuery("#"+id).show();
	
	var genreSelect = $("genreSelect"+catId);
	var selectedGenre = genreId;
	var genreLabel = "";
	
	jQuery("#bc_category").html(id.toUpperCase());
	
	if (id == "All"){
		selectedGenre = 0;
		genreLabel = "All Genres";
		jQuery('#genreLabel'+catId).html(genreLabel);
		jQuery('#genreLabel1'+catId).html(genreLabel);
		
		if (genreSelect){
			genreSelect.genre_id.selectedIndex = 0;
		}
		
		jQuery(".tab").css("background","url(images/tab_green.png) center no-repeat");
		jQuery("#cellAll").css("background","url(images/tab_orange.png) center no-repeat");
		jQuery("#bc_genre").html(genreLabel.toUpperCase());
		
	} else if (genreSelect){
		
		genreLabel = genreSelect.genre_id[genreSelect.genre_id.selectedIndex].id;
		selectedGenre = getSelectValue(genreSelect.genre_id);
		
		jQuery('#genreLabel'+catId).html(genreLabel);
		jQuery('#genreLabel1'+catId).html(genreLabel);
		
		jQuery(".tab").css("background","url(images/tab_green.png) center no-repeat");
		jQuery("#cell"+catId).css("background","url(images/tab_orange.png) center no-repeat");
		jQuery("#bc_genre").html(genreLabel.toUpperCase());
		
	} else {
		jQuery(".tab").css("background","url(images/tab_green.png) center no-repeat");
		jQuery("#cell"+catId).css("background","url(images/tab_orange.png) center no-repeat");
	}
	
	loadPage(catId, selectedGenre, query, 0);

}

function genreSelectOnChange(form) {
	var genre_id = form.genre_id[form.genre_id.selectedIndex].value;
	var genre_label = form.genre_id[form.genre_id.selectedIndex].id;
	var category_id = form.category_id.value;
	var query = form.query.value;
	var page = 0;
	loadPage(category_id, genre_id, query, page);
	jQuery('#genreLabel'+category_id).html(genre_label);
	jQuery('#genreLabel1'+category_id).html(genre_label);
	jQuery("#bc_genre").html(genre_label.toUpperCase());
	
}

var activePages = Array();
var activeGenres = Array();

function loadPage(catId, genreId, searchQuery, page) {

	if (genreId) {
		activeGenres[catId] = genreId;
	}

	if (!activePages[catId]) {
		activePages[catId] = 0;
	}
	
	if (!page){
		page = 0;
	}
	activePages[catId] = page;

	function pageLoaded(transport) {

		var json = transport.responseText.evalJSON();
		$('pageDisplay' + catId).innerHTML = json["html"];

		var item_count = json["item_count"];
		var page_count = json["page_count"];
		var current_page = json["current_page"];
		var show_disclaimer = (json["show_disclaimer"] == 'true') ? true:false;

		var num_links = 10;
		
		var start = current_page - (num_links / 2);
		start = (start < 0) ? 0 : start;
		var stop = start + num_links;
		stop = (stop > page_count) ? page_count : stop;
		
		// Display Pagination
		var content = "<span id=\"pagelinks\">";
		for ( var i = start; i < stop; i++) {

			var cur_page = i + 1;
			var class_name = (i == current_page) ? "highlighted" : "normal";
			content += "<a href=\"#\" class=\"" + class_name
					+ "\" onclick=\"loadPage(" + "'" + catId + "','" + genreId + "',"
					+ "'" + searchQuery + "'," + i + "); return false;\">"
					+ cur_page + "</a>";
			if (i < stop - 1) {
				content += " | ";
			}
			
		}
		content += "</span>";
		
		$('pagination' + catId).innerHTML = content;
		
		$('pagination1' + catId).innerHTML = content;
		
		if (show_disclaimer) {
			jQuery('#disclaimer'+catId).html('* Artist names are only shown as a reference.');
		}

	}

	$("pageDisplay" + catId).innerHTML = "<br><br><strong>Loading...</strong>";
	
	var request = new Object();
	request.action = "load_search_result_page";
	request.category_id = catId;
	request.genre_id = genreId;
	request.page = activePages[catId];
	request.query = (searchQuery != null) ? searchQuery : "";
	var jsonreq = Object.toJSON(request);

	new Ajax.Request("includes/handler.php", {
		method :'post',
		parameters : {
			jsondata :jsonreq
		},
		onSuccess : function(transport) {
			pageLoaded(transport);
		}
	});

}
