1jQuery(document).ready(function ($) { 2 3 var $div = $("#cscf"); 4 5 var $form = $div.find("#frmCSCF"); 6 7 $form.find("#recaptcha_response_field").focus(function () { 8 9 $errele = $form.find("div[for='cscf_recaptcha']"); 10 $errele.html(''); 11 12 }); 13 14 $form.validate({ 15 16 errorElement: "span", 17 18 highlight: function (label, errorClass, validClass) { 19 $(label).closest('.form-group').removeClass('has-success').addClass('has-error'); 20 $(label).closest('.control-group').removeClass('success').addClass('error'); // support for bootstrap 2 21 22 }, 23 unhighlight: function (label, errorClass, validClass) { 24 $(label).closest('.form-group').removeClass('has-error').addClass('has-success'); 25 $(label).closest('.control-group').removeClass('error').addClass('success'); // support for bootstrap 2 26 } 27 }); 28 29 $form.submit(function (event) { 30 event.preventDefault(); 31 32 if ($form.validate().valid()) { 33 34 $button = $(this).find("#cscf_SubmitButton"); 35 $button.attr("disabled", "disabled"); 36 37 $.ajax({ 38 type: "post", 39 dataType: "json", 40 cache: false, 41 url: cscfvars.ajaxurl, 42 data: $($form).serialize() + "&action=cscf-submitform", 43 success: function (response, strText) { 44 if (response.valid === true) { 45 //show sent message div 46 $formdiv = $div.find(".cscfForm"); 47 $formdiv.css('display', 'none'); 48 $messagediv = $div.find(".cscfMessageSent"); 49 if (response.sent === false) { 50 $messagediv = $div.find(".cscfMessageNotSent"); 51 } 52 53 $messagediv.css('display', 'block'); 54 55 if (isScrolledIntoView($div) == false) { 56 jQuery('html,body') 57 .animate({ 58 scrollTop: jQuery($div.selector) 59 .offset().top 60 }, 'slow'); 61 } 62 } 63 64 else { 65 $.each(response.errorlist, function (name, value) { 66 $errele = $form.find("div[for='cscf_" + name + "']"); 67 $errele.html(value); 68 $errele.closest('.form-group').removeClass('has-success').addClass('has-error'); 69 $errele.closest('.control-group').removeClass('success').addClass('error'); // support for bootstrap 2 70 }); 71 $button.removeAttr("disabled"); 72 } 73 }, 74 error: function (XMLHttpRequest, textStatus, errorThrown) { 75 if (window.console) { 76 console.log("Status: " + textStatus + "Error: " + errorThrown + "Response: " + XMLHttpRequest.responseText); 77 } 78 $button.removeAttr("disabled"); 79 80 } 81 82 }); 83 84 } 85 ; 86 }); 87 88}); 89 90 91function isScrolledIntoView(elem) { 92 var docViewTop = jQuery(window).scrollTop(); 93 var docViewBottom = docViewTop + jQuery(window).height(); 94 95 var elemTop = jQuery(elem).offset().top; 96 var elemBottom = elemTop + jQuery(elem).height(); 97 98 return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop)); 99}
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.