PageSourceSearch

https://members.nbrea.ca/js/views/view.contact.js

js nbrea.ca collected 2026-09-25 04:23:35 UTC 2,483 bytes, 115 lines download raw bytes

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