jQuery.noConflict(),function(e){e.fn.proofreader=function(t,o){var n=this,r={initialized:!1,selectionObject:{},scripts:[]},i=e.extend({loadFormUrl:null,messagesContainerSelector:"#proofreader_messages_container",typoContainerSelector:"#proofreader_typo_container",typoTextElementSelector:"#proofreader_typo_text",typoPrefixElementSelector:"#proofreader_typo_prefix",typoSuffixElementSelector:"#proofreader_typo_suffix",highlightClass:"proofreader_highlight",messageErrorClass:"proofreader_message_error",overlayClass:"proofreader_overlay",popupClass:"proofreader_popup",popupCloseClass:"proofreader_popup_close",popupMessageClass:"proofreader_popup_message",popupMessageErrorClass:"proofreader_popup_message_error",popupMessageSuccessClass:"proofreader_popup_message_success",popupDelay:4e3,floatingButtonClass:"proofreader_mouse",floatingButtonOffset:15,floatingButtonDelay:2e3,highlightTypos:!1,selectionMaxLength:100,showWordsBefore:10,showWordsAfter:10,handlerType:"keyboard"},t),s=e.extend({reportTypo:"Report a typo",thankYou:"Thank you for reporting the typo!",browserIsNotSupported:"Your browser does not support selection handling.",selectionIsTooLarge:"You have selected too large text block!"},o);return r.init=function(){r.clearSelectionObject(),n.find("form").length&&(n.show(),r.initForm()),("keyboard"===i.handlerType||"both"===i.handlerType)&&r.addKeyboardEvents(),("mouse"===i.handlerType||"both"===i.handlerType)&&r.addSelectionEvents(),r.wrapPopup(n,r.hideProofreader),r.createMessagePopup()},r.initForm=function(){r.$form=n.find("form").first(),r.$form.length&&(r.$form.on("click",function(e){return r.isSubmitButtonClick(e)}).on("submit",function(e){return r.submitForm(),!1}),r.$messagesContainer=e(i.messagesContainerSelector),r.$typoContainer=e(i.typoContainerSelector),r.$typoTextElement=e(i.typoTextElementSelector),r.$typoPrefixElement=e(i.typoPrefixElementSelector),r.$typoSuffixElement=e(i.typoSuffixElementSelector),r.$submitButton=r.$form.find('button[type="submit"],input[type="submit"]').first(),r.initialized=!0)},r.loadForm=function(t){var o=i.loadFormUrl,n={page_url:window.location.href,page_title:e(document).find("title").text()};e.ajax({type:"GET",url:o,dataType:"json",data:n,success:function(e){r.isValidFormResponse(e.form)?(r.replaceForm(e.form),r.injectScripts(e.scripts,e.script).done(function(){void 0!==t&&t()})):r.hideProofreader()},error:function(){r.hideProofreader()}})},r.addKeyboardEvents=function(){var t=!1;e(document).keyup(function(e){17===e.which&&(t=!1)}).keydown(function(e){return 27===e.which?(n.is(":visible")?r.hideProofreader():r.$messagePopup.is(":visible")&&r.resetMessagePopup(),!1):(17===e.which&&(t=!0),t!==!0||13!==e.which||n.is(":visible")?void 0:(r.removeFloatingButton(),r.refreshSelectionObject(),r.showProofreader(),!1))})},r.addSelectionEvents=function(){e("body").on("mouseup",function(e){r.isSubmitButtonClick(e)||(r.removeFloatingButton(),r.refreshSelectionObject(),r.canShowProofreader()&&r.createFloatingButton(e))})},r.injectScript=function(t){e("head").append(e("