1/* 2Name: View - Contact 3Written by: Okler Themes - (http://www.okler.net) 4Theme Version: 5.7.2 5*/ 6 7(function($) { 8 9 'use strict'; 10 11 /* 12 Contact Form: Basic 13 */ 14 $('#contactForm').validate({ 15 submitHandler: function(form) { 16 var $form = $(form), 17 $messageSuccess = $('#contactSuccess'), 18 $messageError = $('#contactError'), 19 $submitButton = $(this.submitButton), 20 $errorMessage = $('#mailErrorMessage'); 21 22 $submitButton.button('loading'); 23 24 // Ajax Submit 25 $.ajax({ 26 type: 'POST', 27 url: $form.attr('action'), 28 data: { 29 name: $form.find('#name').val(), 30 email: $form.find('#emailcontato').val(), 31 phone: $form.find('#phone').val(), 32 subject: $form.find('#subject').val(), 33 message: $form.find('#message').val() 34 } 35 }).always(function(data, textStatus, jqXHR) { 36 $errorMessage.empty().hide(); 37 data = eval("(" + data + ")"); 38 39 if (data.response == 'success') { 40 $messageSuccess.removeClass('hidden'); 41 $messageError.addClass('hidden'); 42 43 // Reset Form 44 $form.find('.form-control') 45 .val('') 46 .blur() 47 .parent() 48 .removeClass('has-success') 49 .removeClass('has-error') 50 .find('label.error') 51 .remove(); 52 53 if (($messageSuccess.offset().top - 80) < $(window).scrollTop()) { 54 $('html, body').animate({ 55 scrollTop: $messageSuccess.offset().top - 80 56 }, 300); 57 } 58 59 $submitButton.button('reset'); 60 61 return; 62 63 } else if (data.response == 'error' && typeof data.errorMessage !== 'undefined') { 64 $errorMessage.html(data.errorMessage).show(); 65 } else { 66 $errorMessage.html(data.responseText).show(); 67 } 68 69 $messageError.removeClass('hidden'); 70 $messageSuccess.addClass('hidden'); 71 72 if (($messageError.offset().top - 80) < $(window).scrollTop()) { 73 $('html, body').animate({ 74 scrollTop: $messageError.offset().top - 80 75 }, 300); 76 } 77 78 $form.find('.has-success') 79 .removeClass('has-success'); 80 81 $submitButton.button('reset'); 82 83 }); 84 } 85 }); 86 87 /* 88 Contact Form: Advanced 89 */ 90 $('#contactFormAdvanced').validate({ 91 onkeyup: false, 92 onclick: false, 93 onfocusout: false, 94 rules: { 95 'captcha': { 96 captcha: true 97 }, 98 'checkboxes[]': { 99 required: true 100 }, 101 'radios': { 102 required: true 103 } 104 }, 105 errorPlacement: function(error, element) { 106 if (element.attr('type') == 'radio' || element.attr('type') == 'checkbox') { 107 error.appendTo(element.parent().parent()); 108 } else { 109 error.insertAfter(element); 110 } 111 } 112 }); 113 114}).apply(this, [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.