PageSourceSearch

https://ohiosenate.gov/js/application/utilities.js

js ohiosenate.gov collected 2026-10-02 05:18:14 UTC 8,742 bytes, 354 lines download raw bytes

1function clearField(elementId)
2{
3	document.getElementById(elementId).value = '';
4}
5
6function showElement(elementId)
7{
8	document.getElementById(elementId).style.display = "block";
9}
10
11function hideElement(elementId)
12{
13	document.getElementById(elementId).style.display = "none";
14}
15
16function toggleVisibility(elementId)
17{
18	if (document.getElementById(elementId).style.display === 'none')
19		document.getElementById(elementId).style.display = "block";
20	else
21		document.getElementById(elementId).style.display = "none";
22}
23
24function togglePanel(toggledDiv, controlDiv, showText, hideText)
25{
26	if (document.getElementById(toggledDiv).style.display === "block")
27	{
28		document.getElementById(toggledDiv).style.display = "none";
29		document.getElementById(controlDiv).innerHTML = showText;
30	}
31	else
32	{
33		document.getElementById(toggledDiv).style.display = "block";
34		document.getElementById(controlDiv).innerHTML = hideText;
35	}
36}
37
38function isValidDate(date)
39{
40	return (new Date(date) !== "Invalid Date") && !isNaN(new Date(date));
41}
42
43function checkboxToggle(checkbox, element)
44{
45	if (document.getElementById(checkbox).checked)
46		document.getElementById(element).style.display = 'block';
47	else
48		document.getElementById(element).style.display = 'none';
49}
50
51function checkAll(name)
52{
53	let checkboxes = document.getElementsByName(name);
54
55	for (let i = 0, n = checkboxes.length; i < n; i++)
56		checkboxes[i].checked = true;
57}
58
59function getRadioChoiceValue(radioChoiceElement)
60{
61	let selectedValue = null;
62	let radioChoice = document.getElementsByName(radioChoiceElement);
63
64	for (let i = 0, length = radioChoice.length; i < length; i++)
65	{
66		if (radioChoice[i].checked)
67			selectedValue = radioChoice[i].value;
68	}
69
70	return selectedValue;
71}
72
73function getInputValue(elementId)
74{
75	return document.getElementById(elementId).value;
76}
77
78function getSelectValue(selectElementId)
79{
80	let selectElement = document.getElementById(selectElementId);
81
82	return selectElement.options[selectElement.selectedIndex].value;
83}
84
85function getSelectAttributeValue(selectElementId, attributeName)
86{
87	let selectElement = document.getElementById(selectElementId);
88
89	return selectElement.options[selectElement.selectedIndex].getAttribute(attributeName);
90}
91
92function getSelectLabel(selectElementId)
93{
94	let selectElement = document.getElementById(selectElementId);
95
96	return selectElement.options[selectElement.selectedIndex].text;
97}
98
99function uncheckAll(name)
100{
101	let checkboxes = document.getElementsByName(name);
102
103	for (let i = 0, n = checkboxes.length; i < n; i++)
104		checkboxes[i].checked = false;
105}
106
107function itemIsInList(itemList, item, delimiter)
108{
109	let itemListArray = itemList.split(delimiter);
110	let itemFound = false;
111
112	for (let i = 0; i < itemListArray.length; i++)
113	{
114		if (itemListArray[i] !== item)
115			continue;
116
117		itemFound = true;
118		break;
119	}
120
121	return itemFound;
122}
123
124function addItemToList(itemList, item, delimiter)
125{
126	let items = itemList.split(delimiter);
127
128	if (items.indexOf(item) === -1)
129		items.push(item);
130
131	let updatedList = items.join(delimiter);
132	updatedList = updatedList.replace(/^,/, '');
133
134	return updatedList;
135}
136
137function removeItemFromList(itemList, item, delimiter)
138{
139	let items = itemList.split(delimiter);
140
141	for (let i = 0; i < items.length; i++)
142	{
143		if (items[i] === item)
144		{
145			items.splice(i, 1);
146			return items.join(delimiter);
147		}
148	}
149
150	return itemList;
151}
152
153function setDateTimeField(fieldName)
154{
155	let dateTimeField = document.getElementById(fieldName);
156	let dateField = document.getElementById(fieldName + '-date');
157	let timeField = document.getElementById(fieldName + '-time');
158	let timeValue = '12:00 AM';
159
160	if (timeField.value !== '')
161		timeValue = timeField.value;
162
163	if (timeField.value !== '')
164		timeValue = timeField.value;
165
166	if (dateField.value === '')
167		dateTimeField.value = '';
168	else
169		dateTimeField.value = dateField.value + ' ' + timeValue;
170}
171
172function setDateAndTimeFields(fieldName)
173{
174	let dateTimeField = document.getElementById(fieldName);
175	let dateField = document.getElementById(fieldName + '-date');
176	let timeField = document.getElementById(fieldName + '-time');
177
178	if (dateTimeField.value !== '')
179	{
180		let dateTimeFieldParts = dateTimeField.value.split(' ');
181
182		dateField.value = dateTimeFieldParts[0];
183
184		if (!dateTimeFieldParts[1])
185			timeField.value = ' 12:00 AM';
186		else
187			timeField.value = dateTimeFieldParts[1] + ' ' + dateTimeFieldParts[2];
188	}
189}
190
191function closePanelControls()
192{
193	$(".panel-control-body").hide("slide", {direction: "up"}, 10);
194
195	let arrow = $('.panel-control-header .indicator .arrow');
196	arrow.removeClass("spin-open");
197	arrow.removeClass("spin-close");
198	arrow.addClass("spin-close-instant");
199}
200
201function clearPanelControl(controlName, optionId)
202{
203	let checks = document.querySelectorAll('#' + controlName + ' input[type="checkbox"]');
204
205	for (let i = 0; i < checks.length; i++)
206	{
207		let check = checks[i];
208
209		if (check.id !== optionId && !check.disabled)
210			check.checked = false;
211	}
212}
213
214function clearRadioPanelControl(controlName, optionId)
215{
216	let checks = document.querySelectorAll('#' + controlName + ' input[type="radio"]');
217
218	for (let i = 0; i < checks.length; i++)
219	{
220		let check = checks[i];
221
222		if (check.id !== optionId && !check.disabled)
223			check.checked = false;
224	}
225}
226
227function configurePanelControl(controlName)
228{
229	let filterTransitionTime = 100;
230
231	let control = $('#' + controlName);
232	let controlHeader = $('#' + controlName + ' .panel-control-header');
233	let controlBody = $('#' + controlName + ' .panel-control-body');
234	let arrow = $('#' + controlName + ' .panel-control-header .indicator .arrow');
235
236	$(controlHeader).on("click", function ()
237	{
238		if (controlBody.is(":visible"))
239		{
240			controlBody.hide("slide", {direction: "up"}, filterTransitionTime);
241			arrow.addClass("spin-close");
242			arrow.removeClass("spin-open");
243			arrow.removeClass("spin-close-instant");
244		}
245		else
246		{
247			controlBody.show("slide", {direction: "up"}, filterTransitionTime);
248			arrow.addClass("spin-open");
249			arrow.removeClass("spin-close");
250			arrow.removeClass("spin-close-instant");
251		}
252	});
253
254	$(document).on("mouseup", function (event)
255	{
256		let clickedOutsideOfControl = !control.is(event.target) && control.has(event.target).length === 0;
257		let clickedInsideDatePicker = false;
258		let datePicker = $('#ui-datepicker-div');
259
260		if (datePicker.length)
261			clickedInsideDatePicker = datePicker.has(event.target).length > 0;
262
263		if (clickedOutsideOfControl && !clickedInsideDatePicker)
264		{
265			controlBody.hide("slide", {direction: "up"}, filterTransitionTime);
266			arrow.addClass("spin-close");
267			arrow.removeClass("spin-open");
268			arrow.removeClass("spin-close-instant");
269		}
270	});
271
272}
273
274function configureExpandablePanels()
275{
276	let expandablePanels = getExpandablePanels();
277
278	for (let i = 0; i < expandablePanels.length; i++)
279		configureExpandablePanel(expandablePanels[i].id);
280}
281
282function getExpandablePanels()
283{
284	return document.querySelectorAll('.expandable-panel');
285}
286
287function configureExpandablePanel(panelId)
288{
289	let arrow = $('#' + panelId + ' button.panel-header' + ' .indicator .arrow');
290	let closedText = $('#' + panelId + ' button.panel-header' + ' .closed-text');
291	let openedText = $('#' + panelId + ' button.panel-header' + ' .opened-text');
292	let link = $('#' + panelId + ' button.panel-header');
293	let panelBody = $('#' + panelId + ' .panel-body');
294
295	if(!link[0].hasAttribute('listenerOnClick'))
296	{
297		link.click(function ()
298		{
299			let panelBodyIsOpen = panelBody.is(":visible");
300
301			if (panelBodyIsOpen)
302			{
303				panelBody.slideUp(150);
304				arrow.addClass("expandable-panel-spin-close");
305				arrow.removeClass("expandable-panel-spin-open");
306				panelBody.attr('aria-hidden', 'true');
307				panelBody.attr('aria-expanded', 'false');
308				closedText.show();
309				openedText.hide();
310			}
311			else
312			{
313				panelBody.slideDown(150);
314				arrow.addClass("expandable-panel-spin-open");
315				arrow.removeClass("expandable-panel-spin-close");
316				panelBody.attr('aria-hidden', 'false');
317				panelBody.attr('aria-expanded', 'true');
318				closedText.hide();
319				openedText.show();
320			}
321		});
322
323		link[0].setAttribute('listenerOnClick', 'true');
324	}
325}
326
327function configureSimplePanelControl(controlName)
328{
329	let control = $('#' + controlName);
330	let controlHeader = $('#' + controlName + ' .simple-panel-control-header');
331	let controlBody = $('#' + controlName + ' .simple-panel-control-body');
332
333	$(controlHeader).on("click", function ()
334	{
335		let isDisabled = control.attr('data-disabled');
336
337		if (isDisabled === 'false')
338		{
339			if (controlBody.is(":visible"))
340				controlBody.hide();
341			else
342				controlBody.show();
343		}
344	});
345
346	$(document).on("mouseup", function (event)
347	{
348		let clickedOutsideOfControl = !control.is(event.target) && control.has(event.target).length === 0;
349
350		if (clickedOutsideOfControl)
351			controlBody.hide();
352	});
353
354}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.