// code from json_server.js Drupal.service = function(method, parameters, success) { if (!this.servicesClient) { return new Drupal.service(method, parameters, success); } parameters.method = method; parsed = this.parse(parameters); if (Drupal.Openquest.crossdomain) { this.ajaxc(parsed, success); } else { this.ajax(parsed, success); } } Drupal.service.prototype = { servicesClient: true, parse: function(parameters) { return $.param(this._parse([], [], parameters)); }, _parse: function(currentData, currentNesting, parameters) { for (index in parameters) { data = parameters[index]; currentNesting.push(encodeURIComponent(index)); if (typeof data == 'object') { currentData = this._parse(currentData, currentNesting, data); } else { currentData.push({name: this._makeURI(currentNesting), value: encodeURIComponent(data) }); } currentNesting.pop(); } return currentData; }, _makeURI: function(data) { output = data.shift(); for (i in data) { output += '['+ data[i] +']'; } return output; }, ajax: function(data, success) { $.ajax({ url: Drupal.Openquest.services_url, type: "POST", data: data, success: function(result) { parsed = Drupal.parseJson(result); success(parsed['status'], parsed['data']); } }); }, ajaxc: function(data, success) { $.getJSON(Drupal.Openquest.services_url, data, function(result) { success(result.status, result.data); }); } }; // captcha Drupal.attachCaptcha = function() { $('fieldset.captcha').each(function() { var form_id = '#' + $(this).parents('form').id(); // transform fieldset into simple DIV $(this).children('legend').remove(); $(this).replaceWith( '