$(document).ready(function() {
	new com.ag.MoreFilters().init();
});

com.ag.MoreFilters = function() {
	this.init = function() {
		this.attachMoreCloseEvents();
	};
	
	this.populateMoreFilters = function() {
		var parentObject = this;
		
		var numCols = 7;
		var currentColumn = 0;
		$('#moreFilters').append('<div id="moreFiltersLabel">TAGS:</div><div id="moreFiltersCols"></div>');
		$('#moreFilters').append('<div id="moreFiltersOtherSections">'+
		                         '   OTHER SECTIONS:<br/>'+
		                         '   <p><a href="/game/upload.jsp">Submit a Game</a></p>'+
		                         '   <p><a href="/embeddable-games/index.jsp">Free Games for Your Site</a></p>'+
		                         '</div>');
		for (var i=0; i<numCols; i++){
			$('#moreFiltersCols').append($('<div id="moreFiltersCol'+i+'" class="moreFilterCol clearfix"></div>'));
		}
		
		$.getJSON('/static/frag/filters/filters.js', function(data){
			$.each(data.filters, function(i, filter){
				var dom = $('<div class="moreFilter"><a href="/filters/'+filter.url+'">'+filter.title+'</a></div>');
				$('#moreFiltersCol'+currentColumn).append(dom);
				currentColumn = (currentColumn + 1) % numCols;
			});
		
			parentObject.show();
		});
	};
	
	this.attachMoreCloseEvents = function() {
		var parentObject = this;
		$('#subnav_toggle_link, #moreArrow').click(function(event){
			if ($('#moreFilters').css('display') == 'none') {
			    /*
				if ($('#moreFilters').children().length <= 0) {
					parentObject.populateMoreFilters();
				} else {
				*/
					parentObject.show();
				/* } */
			} else {
				parentObject.hide();
			}
			event.preventDefault();
		});
	};
	this.show = function() {
		$('#moreFilters').show();
		$('#subnav_toggle_link').text('CLOSE');
		$('#subnav_toggle_link, #moreArrow').removeClass('subnav_more').addClass('subnav_close');
	};
	this.hide = function() {
		$('#moreFilters').hide();
		$('#subnav_toggle_link').text('MORE');
		$('#subnav_toggle_link, #moreArrow').removeClass('subnav_close').addClass('subnav_more');
	};
};
