/* vim: set expandtab sw=4 ts=4 sts=4: */ /** * Functions used in Setup configuration forms */ // show this window in top frame if (top != self) { window.top.location.href = location; } // ------------------------------------------------------------------ // Messages // // stores hidden message ids var hiddenMessages = []; $(function() { var hidden = hiddenMessages.length; for (var i = 0; i < hidden; i++) { $('#'+hiddenMessages[i]).css('display', 'none'); } if (hidden > 0) { var link = $('#show_hidden_messages'); link.click(function(e) { e.preventDefault(); for (var i = 0; i < hidden; i++) { $('#'+hiddenMessages[i]).show(500); } $(this).remove(); }); link.html(link.html().replace('#MSG_COUNT', hidden)); link.css('display', ''); } }); // // END: Messages // ------------------------------------------------------------------ // ------------------------------------------------------------------ // Form validation and field operations // /** * Automatic form submission on change. */ $('.autosubmit').live('change', function(e) { e.target.form.submit(); }); $.extend(true, validators, { // field validators _field: { /** * hide_db field * * @param {boolean} isKeyUp */ hide_db: function(isKeyUp) { if (!isKeyUp && this.value != '') { var data = {}; data[this.id] = this.value; ajaxValidate(this, 'Servers/1/hide_db', data); } return true; }, /** * TrustedProxies field * * @param {boolean} isKeyUp */ TrustedProxies: function(isKeyUp) { if (!isKeyUp && this.value != '') { var data = {}; data[this.id] = this.value; ajaxValidate(this, 'TrustedProxies', data); } return true; } }, // fieldset validators _fieldset: { /** * Validates Server fieldset * * @param {boolean} isKeyUp */ Server: function(isKeyUp) { if (!isKeyUp) { ajaxValidate(this, 'Server', getAllValues()); } return true; }, /** * Validates Server_login_options fieldset * * @param {boolean} isKeyUp */ Server_login_options: function(isKeyUp) { return validators._fieldset.Server.apply(this, [isKeyUp]); }, /** * Validates Server_pmadb fieldset * * @param {boolean} isKeyUp */ Server_pmadb: function(isKeyUp) { if (isKeyUp) { return true; } var prefix = getIdPrefix($(this).find('input')); var pmadb_active = $('#' + prefix + 'pmadb').val() != ''; if (pmadb_active) { ajaxValidate(this, 'Server_pmadb', getAllValues()); } return true; } } }); /** * Calls server-side validation procedures * * @param {Element} parent input field in