+
+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 '';
+}
+
+function set_cursor_position(n) {
+ $('[name=' + n + ']').focus();
+}
+
+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 getElementByIndirectName(name){
+ var e = document.getElementsByName(name)[0];
+ if (e) return document.getElementsByName(e.value)[0];
+}
+
+function focus_by_name(name){
+ var f = getElementByIndirectName(name);
+ if (focussable(f)) {
+ set_cursor_position(f.name);
+ return true;
+ }
+ return false;
+}
+
+function open_jqm_window(params) {
+ params = params || { };
+ var url = params.url;
+ var id = params.id ? params.id : 'jqm_popup_dialog';
+
+ if (params.data) {
+ var data = typeof params.data === "string" ? params.data : $.param(params.data);
+ url += (/\?/.exec(url) ? "&" : "?") + data;
+ }
+
+ $('#' + id).remove();
+ var div = $('<div id="' + id + '" class="jqmWindow jqModal_overlay ' + (params.class || '') + '"></div>').hide().appendTo('body');
+ var close = $('<div class="close"></div>').appendTo(div);
+ var content = $('<div class="overlay_content"></div>').appendTo(div);
+ div.jqm({ modal: true });
+ div.jqmShow();
+ $.ajax({ url: url, success: function(new_html) { $(content).html(new_html); } });
+ $(close).click(function() {
+ div.jqmClose();
+ });
+
+ return true;
+}
+
+$(document).ready(function () {
+ // initialize all jQuery UI tab elements:
+ $(".tabwidget").each(function(idx, element) { $(element).tabs(); });
+
+ $('input').focus(function(){
+ if (focussable(this)) window.focused_element = this;
+ });
+ // legacy. sone forms install these
+ if (typeof fokus == 'function') { fokus(); return; }
+ if (focus_by_name('cursor_fokus')) return;
+ set_cursor_to_first_element();
+});
+
+$('form').submit(function(){
+ if (window.focused_element)
+ document.forms[0].cursor_fokus.value = window.focused_element.name;
+});