function removeButton() {
	var ff = localStorage.getItem('forum_filter');
	if (ff) {
		//var re = new RegExp('\\' + $(this).text() + "," + $(this).attr('rel') + ";");
		var str = $(this).text() + "," + $(this).attr('rel') + ";";
		ff = ff.replace(str, '');
		localStorage.setItem('forum_filter', ff);

		var inp = '';
		$.each(ff.split(";"), function(d, o) {
			if (o != str) {
				var arr = o.split(",", 2); 
				inp += arr[1] + ";";
			}
		});
		document.getElementsByName("ignore")[0].value = inp;
		if (inp.length) {
			$(this).slideUp();
		} else {
			$('#ignored-forums').slideUp();
		}
	}
}

function showIgnoredForums() {
	if (localStorage) {
		var forum_filter = localStorage.getItem('forum_filter');
		if (forum_filter) {
			var boxes = document.getElementById('boxes'); 
			boxes.innerHTML = "";

			var str = "";
			$.each(forum_filter.split(";"), function(d, o) {
				if (o.length) {
					var arr = o.split(",", 2); 
					str += arr[1] + ";";
					var div = document.createElement('div');
					div.className = 'ignored-forum';
					div.appendChild(document.createTextNode(arr[0]));
					div.setAttribute('rel', arr[1]);
					boxes.appendChild(div);
					$(div).click(removeButton);
				}
			});
			$("ignore-label").css("display", forum_filter.length > 0 ? '' : 'none');
			$('#ignored-forums').fadeIn();
			document.getElementsByName("ignore")[0].value = str;
		} else {
			document.getElementsByName("ignore")[0].value = '';
		}
	}
}

function addIgnoreButtons() {
	if (localStorage) {
		$('td.f > span.filter-out').click(function() {
			var o = $(this);
			var forum = o.attr('class').match(/(forum-\d+)/)[1];
			var name = $(this.parentNode).text();
			//alert("Ignoring results from " + name);
			//document.
			//var ret = confirm("Hide posts from \"" + $(this.parentNode).text() + "\" ("+forum+")\nin the future?");
			var sel = "tr." + forum;
			//$(sel).animate( {backgroundColor:'#FFF', color:'#DDD'}, 1800 );

			$(sel).each(function(i) {
				this.style.backgroundColor = '#DDD';
				$.each(this.getElementsByTagName('a'), function(i, o) {
					o.style.color = "#555";
				});
				//$(this).fadeOut('slow');
				//$(this).animate( {backgroundColor:'#FFF', color:'#DDD'}, 1800 );
			});
			setTimeout(function() {
				$(sel).each(function(i) {
					$(this).hide();
				});
				showIgnoredForums();
			}, 700);

			var num = forum.substring(forum.indexOf('-'));
			$.get('/set/session-var', {forum_filter:num});

			var forum_filter = localStorage.getItem('forum_filter');
			if (!forum_filter) forum_filter = "";
			forum_filter += name + "," + num + ";";
			localStorage.setItem('forum_filter', forum_filter);
		});
	}
}

$(document).ready(function() {
	if (localStorage) {
		//localStorage.removeItem('forum_filter');
		addIgnoreButtons();
		showIgnoredForums();
	}
});
