summaryrefslogtreecommitdiffstats
path: root/htdocs/js/filters.js
blob: d8596ea1967c351758fb136f630380a13999b26f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78

var available_filters = new Array();

function Filter(param, input_html, fn)
{
	this.param = param;
	this.input_html = input_html;
	this.fn = fn;
}

function add_filter_change(input)
{
	index = input.selectedIndex - 1;

	if (index < 0 || index >= available_filters.length)
		return;

	filter = available_filters[index];

	value_element = document.getElementById("addfiltervalue");
	value_element.innerHTML = filter.input_html;
}

function filter_form_submit(form)
{
	filter_index = form.filtertype.selectedIndex - 1;

	if (filter_index < 0 || filter_index >= available_filters.length)
		return false;

	filter = available_filters[filter_index];

	value = filter.fn(form);
	updated = false;

	form = document.forms.filterparams;

	for (x = 0; x < form.elements.length; x++) {
		if (form.elements[x].name == filter.param) {
			form.elements[x].value = value;
			updated = true;
		}
	}

	if (!updated && value) {
		form.innerHTML = form.innerHTML +
			'<input type="hidden" name="' + filter.param +
			'" value="' + value + '"/>';
	}

	form.submit();

	return false;
}


var submitter_input_prev_value = '';

function submitter_input_change(input)
{
	value = input.value;

	if (value.length < 3)
		return;

	if (value == submitter_input_prev_value)
		return;

	div = document.getElementById('submitter_complete');
	div.innerHTML = value;
	div.style.display = 'block';
	div.style.position = 'relative';
	div.style.top = '4em';
	div.style.width = '15em';
	div.style.background = '#f0f0f0';
	div.style.padding = '0.2em';
	div.style.border = 'thin solid red';
}