+ }
+});
+
+var PseudoChecker = {
+ req: null,
+ exists: {},
+ currentvalue: null,
+ messageelt: null,
+ throbber: null,
+
+ message: function(str, status, throbber) {
+ var row;
+ if (!this.messageelt) {
+ row = new Element('tr');
+ // we can't use row.update('<td></td><td><div></div></td>')
+ // because gecko would mangle the <td>s
+ row.insert(new Element('td'))
+ .insert((new Element('td')).update(new Element('div')));
+
+ $("user_pseudo").up('tr').insert({after: row});
+ this.messageelt = new Element('span');
+ this.throbber = new Element("img", { src: "icons/pseudo-throbber.gif"});
+ row.down('div').insert(this.throbber).insert(this.messageelt);
+ }
+ if (throbber) {
+ this.throbber.show();
+ } else {
+ this.throbber.hide();
+ }
+ this.messageelt.up().setStyle({visibility: ''});
+ this.messageelt.className = status;
+ this.messageelt.update(str);
+ },
+
+ availableMessage: function(available) {
+ var message = available ? SyjStrings.availablePseudo: SyjStrings.unavailablePseudo,
+ status = available ? "success": "warn";
+ this.message(message, status, false);
+ },
+
+ reset: function() {
+ if (this.req) {
+ this.req.abort();
+ this.req = this.currentvalue = null;
+ }
+ if (this.messageelt) {
+ this.messageelt.up().setStyle({visibility: 'hidden'});
+ }