'));}} else if (elem.tagName == 'SELECT') {var selected = true;if (elem.multiple) {selected = false;for (var i = 0; i < elem.options.length; i++) {if (elem.options[i].selected) {selected = true;break;}}} else {for (var i = 0; i < elem.options.length; i++) {if (elem.options[i].selected && !elem.options[i].value) {selected = false;}}}if (!selected) {elem.className = elem.className + ' _has_error';no_error = false;tooltip = create_tooltip(elem, "Please select an option.");}} else if (value === undefined || value === null || value === '') {elem.className = elem.className + ' _has_error';no_error = false;tooltip = create_tooltip(elem, "This field is required.");}}if (no_error && elem.name == 'email') {if (!value.match(/^[\+_a-z0-9-'&=]+(\.[\+_a-z0-9-']+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/i)) {elem.className = elem.className + ' _has_error';no_error = false;tooltip = create_tooltip(elem, "Enter a valid email address.");}}if (no_error && /date_field/.test(elem.className)) {if (!value.match(/^\d\d\d\d-\d\d-\d\d$/)) {elem.className = elem.className + ' _has_error';no_error = false;tooltip = create_tooltip(elem, "Enter a valid date.");}}tooltip ? resize_tooltip(tooltip) : false;return no_error;};var needs_validate = function(el) {return el.name == 'email' || el.getAttribute('required') !== null;};var validate_form = function(e) {var err = form_to_submit.querySelector('._form_error'), no_error = true;if (!submitted) {submitted = true;for (var i = 0, len = allInputs.length; i < len; i++) {var input = allInputs[i];if (needs_validate(input)) {if (input.type == 'text') {addEvent(input, 'blur', function() {this.value = this.value.trim();validate_field(this, true);});addEvent(input, 'input', function() {validate_field(this, true);});} else if (input.type == 'radio' || input.type == 'checkbox') {(function(el) {var radios = form_to_submit.elements[el.name];for (var i = 0; i < radios.length; i++) {addEvent(radios[i], 'click', function() {validate_field(el, true);});}})(input);} else if (input.tagName == 'SELECT') {addEvent(input, 'change', function() {validate_field(this, true);});} else if (input.type == 'textarea'){addEvent(input, 'input', function() {validate_field(this, true);});}}}}remove_tooltips();for (var i = 0, len = allInputs.length; i < len; i++) {var elem = allInputs[i];if (needs_validate(elem)) {if (elem.tagName.toLowerCase() !== "select") {elem.value = elem.value.trim();}validate_field(elem) ? true : no_error = false;}}if (!no_error && e) {e.preventDefault();}resize_tooltips();return no_error;};addEvent(window, 'resize', resize_tooltips);addEvent(window, 'scroll', resize_tooltips);window._old_serialize = null;if (typeof serialize !== 'undefined') window._old_serialize = window.serialize;_load_script("//d3rxaij56vjege.cloudfront.net/form-serialize/0.3/serialize.min.js", function() {window._form_serialize = window.serialize;if (window._old_serialize) window.serialize = window._old_serialize;});var form_submit = function(e) {e.preventDefault();if (validate_form()) {// use this trick to get the submit button & disable it using plain javascriptdocument.querySelector('#_form_1_submit').disabled = true;var serialized = _form_serialize(document.getElementById('_form_1_'));var err = form_to_submit.querySelector('._form_error');err ? err.parentNode.removeChild(err) : false;_load_script('https://zenhabits.activehosted.com/proc.php?' + serialized + '&jsonp=true');}return false;};addEvent(form_to_submit, 'submit', form_submit);})();