+function get_input_value(input_name) {
+ var the_input = document.getElementsByName(input_name);
+ if (the_input && the_input[0])
+ return the_input[0].value;
+ return '';
+}
+
+a_onfocus_functions["focus_listener"] = (function (event) {
+ if (focussable(event.target)) window.focused_element = event.target;
+});
+
+a_onsubmit_functions["get_cursor_position"] = (function () {
+ if (window.focused_element)
+ document.forms[0].cursor_fokus.value = window.focused_element.name;
+});
+
+function set_cursor_position(n) {
+ document.getElementsByName(n)[0].focus();
+}
+
+a_onload_functions["restore_cursor_position"] = (function () {
+ var e = document.getElementsByName('cursor_fokus')[0];
+ if (e) var f = document.getElementsByName(e.value)[0];
+ if (focussable(f)) set_cursor_position(f.name)
+ else set_cursor_to_first_element();
+});
+
+function focussable(e) {
+ return e && e.name && e.type != 'hidden' && e.type != 'submit' && e.disabled != true;
+}
+
+function set_cursor_to_first_element(){
+ var df = document.forms;
+ for (var f = 0; f < df.length; f++)
+ for (var i = 0; i < df[f].length; i++)
+ if (focussable(df[f][i]))
+ try { df[f][i].focus(); return } catch (er) { }
+}
+
+function add_event(e, type, fn, c) {
+ var ret = 0;
+ if (e.addEventListener) e.addEventListener(type, fn, c)
+ else if (e.attachEvent) e.attachEvent('on' + type, fn)
+ else e['on' + type] = fn;
+}
+
+function do_load_events() {
+ for (var name in window.a_onload_functions) add_event(window, "load", window.a_onload_functions[name], false);
+ for (var name in window.a_onsubmit_functions) add_event(window, "submit", window.a_onsubmit_functions[name], false);
+ for (var name in window.a_onfocus_functions) add_event(window, "focus", window.a_onfocus_functions[name], false);
+}
+do_load_events();