1/** 2 * @file 3 * Javascript for Draggable Captcha. 4 */ 5 6(function ($) { 7 Drupal.behaviors.draggable_captcha_mini = { 8 attach: function(context) { 9 $(document).ready(function($) { 10 $('.captchaWrapper-mini .draggable').draggable({ containment: 'parent', snap: '.target', snapMode: 'inner', snapTolerance: 35, revert: 'invalid', opacity: 0.75}); 11 $('.captchaWrapper-mini .target').droppable({ accept: '.draggable', tolerance: 'intersect' }); 12 13 //On drop of draggable object 14 $('.captchaWrapper-mini .target').bind('drop', function(event, ui) { 15 $('#edit-captcha-response').val($(ui.draggable).attr('id')); 16 $('#captchaWrapper-mini').find('.draggable').draggable('disable'); 17 $('#captchaWrapper-mini').find('.draggable').unbind('click'); 18 $('#captchaWrapper-mini').find('.targetWrapper').children('.target').hide(); 19 20 //Check captcha answer 21 $.post(Drupal.settings.basePath + 'draggable-captcha-mini/'+Drupal.settings.draggable_captcha_mini.captcha_sid+'/verify', { action: 'verify', captcha: $(ui.draggable).attr('id') }, function(data) { 22 if (data.status == "success") { 23 $('#captchaWrapper-mini').find('.targetWrapper').addClass('captchaSuccess').hide().fadeIn('slow'); 24 } else { 25 $('#captchaWrapper-mini').find('.targetWrapper').addClass('captchaFail').hide().fadeIn('slow'); 26 } 27 }, 'json'); 28 }); 29 30 //On double-click of object 31 $('#captchaWrapper-mini').find('.draggable').unbind('click'); 32 $('.captchaWrapper-mini .draggable').bind('click', function(event, ui) { 33 $('#edit-captcha-response').val($(this).attr('id')); 34 $('#captchaWrapper-mini').find('.draggable').draggable('disable'); 35 // $('#captchaWrapper-mini').find('.draggable').unbind('click'); 36 $('#captchaWrapper-mini').find('.targetWrapper').children('.target').hide(); 37 $(this).removeClass('draggable'); 38 $(this).addClass('target'); 39 $('#captchaWrapper-mini').find('.targetWrapper').html($(this)); 40 41 //Check captcha answer 42 $.post(Drupal.settings.basePath + 'draggable-captcha-mini/'+Drupal.settings.draggable_c
42aptcha_mini.captcha_sid+'/verify', { action: 'verify', captcha: $(this).attr('id') }, function(data) { 43 if (data.status == "success") { 44 $('#captchaWrapper-mini').find('.targetWrapper').addClass('captchaSuccess').hide().fadeIn('slow'); 45 } else { 46 $('#captchaWrapper-mini').find('.targetWrapper').addClass('captchaFail').hide().fadeIn('slow'); 47 } 48 }, 'json'); 49 }); 50 51 }); 52 } 53 } 54})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.