// $Id: mollom.js,v 1.2.2.13 2024/08/07 02:49:44 dries Exp $ (function ($) { /** * Open Mollom privacy policy link in a new window. * * Required for valid XHTML Strict markup. */ Drupal.behaviors.mollomPrivacy = function (context) { $('.mollom-privacy a', context).click(function () { this.target = '_blank'; }); }; /** * Attach click event handlers for CAPTCHA links. */ Drupal.behaviors.mollomCaptcha = function (context) { $('a.mollom-switch-captcha', context).click(getMollomCaptcha); }; /** * Fetch a Mollom CAPTCHA and output the image or audio into the form. */ function getMollomCaptcha() { // Get the current requested CAPTCHA type from the clicked link. var newCaptchaType = $(this).hasClass('mollom-audio-captcha') ? 'audio' : 'image'; var context = $(this).parents('form'); // Extract the Mollom session id from the form. var mollomSessionId = $('input.mollom-session-id', context).val(); // Retrieve a CAPTCHA: $.getJSON(Drupal.settings.basePath + 'mollom/captcha/' + newCaptchaType + '/' + mollomSessionId, function (data) { if (!(data && data.content)) { return; } // Inject new CAPTCHA. $('.mollom-captcha-content', context).parent().html(data.content); // Update session id. $('input.mollom-session-id', context).val(data.session_id); // Add an onclick-event handler for the new link. Drupal.attachBehaviors(context); // Focus on the CATPCHA input. $('input[name="mollom[captcha]"]', context).focus(); } ); return false; } })(jQuery);