summaryrefslogblamecommitdiff
path: root/src/js/index.js
blob: 0697b5166af8cdb45897dba2727dcb83c3056213 (plain) (tree)
1
2
3
4
5
6



                                                                        

                                                                                                          















                                                                                                                 








                                                                     
                                                           

















                                                                                      











                                                                     


                                           

                      
                                                






                     
/*
 * Adds an event listener to all burgers to toggle navbar menu on click.
 */
document.addEventListener('DOMContentLoaded', function () {
	const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);

	if ($navbarBurgers.length > 0) {
		// add a click event on each of them
		$navbarBurgers.forEach(function(el) {
			el.addEventListener('click', function () {
				// get the target from the 'data-target' attribute
				const target = el.dataset.target;
				const $target = document.getElementById(target);

				// toggle the 'is-active' class on both the 'navbar-burger' and the 'navbar-menu'
				el.classList.toggle('is-active');
				$target.classList.toggle('is-active');
			});
		});
	}
});

const disableErrorBox = function() {
	document.getElementById("errorBox").style.display = "none";
}

const disableSuccessBox = function() {
	document.getElementById("successBox").style.display = "none";
}

const enableErrorBox = function(message) {
	let errorBox = document.getElementById("errorBox");
	let aTag = document.createElement('a');
	aTag.setAttribute("href", "mailto:amy@carpentertutoring.com");
	aTag.innerText = message + " Click here to send through your mail client.";
	while (errorBox.hasChildNodes()) { errorBox.removeChild(errorBox.lastChild); }
	errorBox.appendChild(aTag);
	errorBox.style.display = "block";
}

const enableSuccessBox = function() {
	document.getElementById("successBox").style.display = "block";
}

/*
 * Adds mail sender to form submit.
 */
document.forms.inquiry.onsubmit = function() {
	disableErrorBox();
	disableSuccessBox();
	let form = document.forms.inquiry;
	let name = form.elements.name.value;
	let fromEmail = form.elements.from.value;
	let body = form.elements.body.value;

	Email.send({
		SecureToken : "cec9bc04-de48-48fd-b1ad-a95cffb41468",
		To : "atc@53hor.net",
		From : fromEmail,
		Subject : "Inquiry: " + name,
		Body : body,
	}).then( message => {
		if (message == "OK") {
			form.reset();
			enableSuccessBox();
		}
		else {
			enableErrorBox(message);
		}
	}
	);

	return false;
}