function show(id) {
	if (document.getElementById('e' + id).style.display == 'none') {
		document.getElementById('e' + id).style.display = '';
	} else {
		document.getElementById('e' + id).style.display = 'none';
	}
}

function filterArtist(pattern) {
	var tables = document.getElementsByTagName('table');
	for (i = 0; (2*i+2) < (tables.length); i++) {
		if (tables[2*i+1].getElementsByTagName('tr')[0].firstChild.firstChild.firstChild.nodeValue.match(pattern)) {
			tables[2*i+1].style.display = '';
		} else {
			if (tables[2*i+1].getElementsByTagName('tr')[0].firstChild.firstChild.firstChild.nodeValue.substr(0,7) == 'Various') {
				tracks = tables[2*i+2].getElementsByTagName('tr');
				var totaltracks = tracks.length;
				var have_match = 0;
				if (tables[2*i+2].getElementsByTagName('tr')[0].childNodes[2].firstChild.nodeType == 1) {
					for (j = 0; (j < totaltracks && !have_match); j++) {
						if (tracks[j].childNodes[2].firstChild.firstChild.nodeValue.match(pattern)) {
							tables[2*i+1].style.display = '';
							have_match = 1;
						}
					}
				}
				if (!have_match) {
					tables[2*i+2].style.display = 'none';
					tables[2*i+1].style.display = 'none';
				}
			} else 	{		
				tables[2*i+2].style.display = 'none';
				tables[2*i+1].style.display = 'none';
			}
		}
	}
	document.getElementById('freset').style.display = '';
}

function resetFilters() {
	var tables = document.getElementsByTagName('table');
	for (i=0; (2*i+2) < (tables.length); i++) {
		tables[2*i+2].style.display = 'none';
		tables[2*i+1].style.display = '';
	}
}

function filterStyle(pattern) {
	var tables = document.getElementsByTagName('table');
	for (var i = 0; (2*i+2) < (tables.length); i++) {
		var have_match = 0;
		var stags = tables[2*i+1].getElementsByTagName('tr')[0].childNodes[2].getElementsByTagName('a');
		var ttags = stags.length;
		for (var j = 0; (j < ttags) && !have_match; j++) {
			if (stags[j].firstChild.nodeValue.match(pattern)) {
				have_match = 1;
				tables[2*i+1].style.display = '';
			}
		}
		if (!have_match) {
			tables[2*i+2].style.display = 'none';
			tables[2*i+1].style.display = 'none';
		}
	}
	document.getElementById('freset').style.display = '';
}

function resetFilters() {
	var tables = document.getElementsByTagName('table');
	for (var i = 0; (2*i+2) < (tables.length); i++) {
		tables[2*i+1].style.display = '';	
	}
	document.getElementById('freset').style.display = 'none';
}