﻿/************************************
	<id>M-DVD:TopicsFilter</id>
	<name>Topics Filter</name>
	<version>3.0</version>
	<type>modification</type>
*************************************/

function LettersPreload(sLetAll)
{
	return new Array (sLetAll, '#', '0-9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
}

function TopicsFilter(oOptions)
{
	this.opt = oOptions;
}

function TopicsFilterSelect(select_var)
{
	if (!select_var)
		return '';
	string = '						<select name="filter_' + select_var[0] + '" onchange="oTopicsFilter.go(this)">\n';
	string += '							<option value="" disabled="disabled"' + (select_var[1] == '0' ? ' selected="selected" style="font-weight: bold"' : '') + '>' + select_var[2] + '</option>\n';
	for (x in select_var[3])
		{
		string += '							<option value="' + x + '"' + (x == select_var[1] && x != '0' ? ' selected="selected"' : '') + (x == select_var[1] ? ' style="font-weight: bold"' : '') + '>' + select_var[3][x] + '</option>\n';
		}
	string += '						</select>\n';
	return string;
}

TopicsFilter.prototype.go = function (element)
{
	filterType = element.name;
	filterValue = filterType == "filter_reset"  ? element.value : element.options[element.selectedIndex].value;
	if (filterValue != "")
		location = smf_scripturl + '?board=' + this.opt.iBoardId + '.0;' + filterType + '=' + filterValue;
}

TopicsFilter.prototype.load = function ()
{
	filterXHTML = '\n'
			+ '					<form id="TopicsFilter" name="TopicsFilter" action="" method="post">\n'
			+ TopicsFilterSelect(this.opt.aFilterLetter)
			+ TopicsFilterSelect(this.opt.aFilterDate)
			+ TopicsFilterSelect(this.opt.aFilterReplies)
			+ TopicsFilterSelect(this.opt.aFilterPages)
			+ '						<input type="button" name="filter_reset" value="' + this.opt.sReset + '" onclick="oTopicsFilter.go(this);" />\n'
			+ '					</form>\n'
			+ '					';

	document.getElementById('filterTopics').innerHTML = filterXHTML;
	return false;
}