What to Buy

WHAT TO BUY

Save Time and Let Us

Do the Research

RECOMMENDED PRODUCTS – PRODUCTIVITY – ORGANIZING – GIFT IDEAS – THRIFTING – SHOPPING LISTS – FREE PRINTABLES

Shopping just got even more fun!

favorite products

You are a click away from some of our favorite products, groceries, gifts, and freebies!

Make the best of all your occasions with our list of must-have gifts. Save time, energy, money, and resources with our tried-and-true recommendations.

cute gardening gifts

The Best Gifts for Gardeners

Check out this refreshing list of gifts for gardeners. Get your loved one that perfect gift that they will appreciate for years to come!
garden shed greenhouse supplies

Our List of Must-Have Greenhouse Supplies

Find all the greenhouse supplies you will need to be a successful gardener this year! These are our favorite picks for quality and price.
healthy products non toxic

Don’t Buy Toxic Brands! Switch to These Healthy Products Instead

Stop buying the same old brands out of habit if they are full of harmful toxins! This list of clean and healthy products is all you need.

amzn_assoc_ad_type = “banner”;
amzn_assoc_marketplace = “amazon”;
amzn_assoc_region = “US”;
amzn_assoc_placement = “assoc_banner_placement_default”;
amzn_assoc_campaigns = “topgiftideas”;
amzn_assoc_banner_type = “category”;
amzn_assoc_isresponsive = “true”;
amzn_assoc_banner_id = “0D4RWFY28JQA0H12NC82”;
amzn_assoc_tracking_id = “tfh063-20”;
amzn_assoc_linkid = “79d4ddb9ab9664f2a598b44649985dc6”;


all free printables
free pdfs

TFH articles
Fence Ideas for Vegetable Garden

How Much Does It Cost To Start A Garden?

vegetable garden accessories

21 Vegetable Garden Accessories Every Gardener Needs

food that grows on trees

Expand Your Garden with Food That Grows on Trees

Fence Ideas for Vegetable Garden

Beautiful Fence Ideas for Vegetable Gardens

Home and Garden

HOME & GARDEN

Healthy Home = Healthy Life

HOME – GARDEN – GROWING FOOD – GARDEN PROJECTS – HOMESTEADING

SELF-SUFFICIENCY – THRIFTING – HOME DECOR – ORGANIZING – DIY

create a healthy home place for you and your loved ones

make a healthy home

Home is where we spend most of our lives.

Keeping an inspiring, clean and safe environment at home is vital to your health and longevity.

Learn tips to keep your home healthy, organized, and sustainably-styled.

  • All
  • Autoimmune
  • Chronic Disease
  • Health Tips
  • Natural Living
  • Recommended Products
  • Minimalism
  • Homesteading
  • Self-sufficiency
  • Sustainable
healthy products non toxic

Don’t Buy Toxic Brands! Switch to These Healthy Products Instead

Stop buying the same old brands out of habit if they are full of harmful toxins! This list of clean and healthy products is all you need.
healthy environment

How to Create a Healthy Environment at Home

When it comes to healthy living, we focus on diet and exercise. But what about the rest? Create a healthy environment at home with us!

40 Smart Self-sufficient Living Tips

The best way to begin your journey to sustainable living is first to learn self-sufficiency. Here are 40 smart self-sufficient living tips!

Improve your gardening skills, learn new ones, and find the best gardening inspiration

Gardening is a great way to become healthier, more sustainable, and self-sufficient!

Discover amazing ideas you cannot live without! Whether you are an aspiring gardener, a beginner, or well-seasoned, you will find some awesome inspiration below.

Just how important is learning how to grow your own food? Read why Staying healthy depends on whether we take steps towards a more sustainable lifestyle or not.

  • All
  • Garden Projects
  • Growing Food
  • Homesteading
  • Self-sufficiency
Fence Ideas for Vegetable Garden

How Much Does It Cost To Start A Garden?

How much does it cost to start a garden? Find out and learn how to create a budget-friendly and fruitful vegetable garden.
vegetable garden accessories

21 Vegetable Garden Accessories Every Gardener Needs

Whether you’re a seasoned gardener or a beginner, having the right gear can make all the difference. In this post, we’ve compiled a list of 25 must-have vegetable garden accessories.
food that grows on trees

Expand Your Garden with Food That Grows on Trees

Dive into the world of food that grows on trees! Discover the nutritional benefits, popular fruit and nut tree varieties, permaculture practices, and more. Embark on a delightful culinary journey and explore nature’s bountiful offerings.

Simplify your garden plans with our amazing FREE Ultimate Garden Planting Guide.

Just click the button below to get yours delivered straight to your inbox free of charge!

#_form_1_ { font-size:14px; line-height:1.6; font-family:arial, helvetica, sans-serif; margin:0; }
#_form_1_ * { outline:0; }
._form_hide { display:none; visibility:hidden; }
._form_show { display:block; visibility:visible; }
#_form_1_._form-top { top:0; }
#_form_1_._form-bottom { bottom:0; }
#_form_1_._form-left { left:0; }
#_form_1_._form-right { right:0; }
#_form_1_ input[type=”text”],#_form_1_ input[type=”tel”],#_form_1_ input[type=”date”],#_form_1_ textarea { padding:6px; height:auto; border:#979797 1px solid; border-radius:4px; color:#000 !important; font-size:14px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; }
#_form_1_ textarea { resize:none; }
#_form_1_ ._submit { -webkit-appearance:none; cursor:pointer; font-family:arial, sans-serif; font-size:14px; text-align:center; background:#caa2a3 !important; border:0 !important; -moz-border-radius:4px !important; -webkit-border-radius:4px !important; border-radius:4px !important; color:#fff !important; padding:10px !important; }
#_form_1_ ._close-icon { cursor:pointer; background-image:url(‘https://d226aj4ao1t61q.cloudfront.net/esfkyjh1u_forms-close-dark.png’); background-repeat:no-repeat; background-size:14.2px 14.2px; position:absolute; display:block; top:11px; right:9px; overflow:hidden; width:16.2px; height:16.2px; }
#_form_1_ ._close-icon:before { position:relative; }
#_form_1_ ._form-body { margin-bottom:30px; }
#_form_1_ ._form-image-left { width:150px; float:left; }
#_form_1_ ._form-content-right { margin-left:164px; }
#_form_1_ ._form-branding { color:#fff; font-size:10px; clear:both; text-align:left; margin-top:30px; font-weight:100; }
#_form_1_ ._form-branding ._logo { display:block; width:130px; height:14px; margin-top:6px; background-image:url(‘https://d226aj4ao1t61q.cloudfront.net/hh9ujqgv5_aclogo_li.png’); background-size:130px auto; background-repeat:no-repeat; }
#_form_1_ .form-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); border:0; }
#_form_1_ ._form-label,#_form_1_ ._form_element ._form-label { font-weight:bold; margin-bottom:5px; display:block; }
#_form_1_._dark ._form-branding { color:#333; }
#_form_1_._dark ._form-branding ._logo { background-image:url(‘https://d226aj4ao1t61q.cloudfront.net/jftq2c8s_aclogo_dk.png’); }
#_form_1_ ._form_element { position:relative; margin-bottom:10px; font-size:0; max-width:100%; }
#_form_1_ ._form_element * { font-size:14px; }
#_form_1_ ._form_element._clear { clear:both; width:100%; float:none; }
#_form_1_ ._form_element._clear:after { clear:left; }
#_form_1_ ._form_element input[type=”text”],#_form_1_ ._form_element input[type=”date”],#_form_1_ ._form_element select,#_form_1_ ._form_element textarea:not(.g-recaptcha-response) { display:block; width:100%; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; font-family:inherit; }
#_form_1_ ._field-wrapper { position:relative; }
#_form_1_ ._inline-style { float:left; }
#_form_1_ ._inline-style input[type=”text”] { width:150px; }
#_form_1_ ._inline-style:not(._clear) + ._inline-style:not(._clear) { margin-left:20px; }
#_form_1_ ._form_element img._form-image { max-width:100%; }
#_form_1_ ._form_element ._form-fieldset { border:0; padding:0.01em 0 0 0; margin:0; min-width:0; }
#_form_1_ ._clear-element { clear:left; }
#_form_1_ ._full_width { width:100%; }
#_form_1_ ._form_full_field { display:block; width:100%; margin-bottom:10px; }
#_form_1_ input[type=”text”]._has_error,#_form_1_ textarea._has_error { border:#f37c7b 1px solid; }
#_form_1_ input[type=”checkbox”]._has_error { outline:#f37c7b 1px solid; }
#_form_1_ ._error { display:block; position:absolute; font-size:14px; z-index:10000001; }
#_form_1_ ._error._above { padding-bottom:4px; bottom:39px; right:0; }
#_form_1_ ._error._below { padding-top:4px; top:100%; right:0; }
#_form_1_ ._error._above ._error-arrow { bottom:0; right:15px; border-left:5px solid transparent; border-right:5px solid transparent; border-top:5px solid #f37c7b; }
#_form_1_ ._error._below ._error-arrow { top:0; right:15px; border-left:5px solid transparent; border-right:5px solid transparent; border-bottom:5px solid #f37c7b; }
#_form_1_ ._error-inner { padding:8px 12px; background-color:#f37c7b; font-size:14px; font-family:arial, sans-serif; color:#fff; text-align:center; text-decoration:none; -webkit-border-radius:4px; -moz-border-radius:4px; border-radius:4px; }
#_form_1_ ._error-inner._form_error { margin-bottom:5px; text-align:left; }
#_form_1_ ._button-wrapper ._error-inner._form_error { position:static; }
#_form_1_ ._error-inner._no_arrow { margin-bottom:10px; }
#_form_1_ ._error-arrow { position:absolute; width:0; height:0; }
#_form_1_ ._error-html { margin-bottom:10px; }
.pika-single { z-index:10000001 !important; }
#_form_1_ input[type=”text”].datetime_date { width:69%; display:inline; }
#_form_1_ select.datetime_time { width:29%; display:inline; height:32px; }
#_form_1_ input[type=”date”].datetime_date { width:69%; display:inline-flex; }
#_form_1_ input[type=”time”].datetime_time { width:29%; display:inline-flex; }
@media all and (min-width:320px) and (max-width:667px) { ::-webkit-scrollbar { display:none; }
#_form_1_ { margin:0; width:100%; min-width:100%; max-width:100%; box-sizing:border-box; }
#_form_1_ * { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; font-size:1em; }
#_form_1_ ._form-content { margin:0; width:100%; }
#_form_1_ ._form-inner { display:block; min-width:100%; }
#_form_1_ ._form-title,#_form_1_ ._inline-style { margin-top:0; margin-right:0; margin-left:0; }
#_form_1_ ._form-title { font-size:1.2em; }
#_form_1_ ._form_element { margin:0 0 20px; padding:0; width:100%; }
#_form_1_ ._form-element,#_form_1_ ._inline-style,#_form_1_ input[type=”text”],#_form_1_ label,#_form_1_ p,#_form_1_ textarea:not(.g-recaptcha-response) { float:none; display:block; width:100%; }
#_form_1_ ._row._checkbox-radio label { display:inline; }
#_form_1_ ._row,#_form_1_ p,#_form_1_ label { margin-bottom:0.7em; width:100%; }
#_form_1_ ._row input[type=”checkbox”],#_form_1_ ._row input[type=”radio”] { margin:0 !important; vertical-align:middle !important; }
#_form_1_ ._row input[type=”checkbox”] + span label { display:inline; }
#_form_1_ ._row span label { margin:0 !important; width:initial !important; vertical-align:middle !important; }
#_form_1_ ._form-image { max-width:100%; height:auto !important; }
#_form_1_ input[type=”text”] { padding-left:10px; padding-right:10px; font-size:16px; line-height:1.3em; -webkit-appearance:none; }
#_form_1_ input[type=”radio”],#_form_1_ input[type=”checkbox”] { display:inline-block; width:1.3em; height:1.3em; font-size:1em; margin:0 0.3em 0 0; vertical-align:baseline; }
#_form_1_ button[type=”submit”] { padding:20px; font-size:1.5em; }
#_form_1_ ._inline-style { margin:20px 0 0 !important; }
}
#_form_1_ { position:relative; text-align:left; margin:25px auto 0; padding:20px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; *zoom:1; background:#fff !important; border:0px solid #b0b0b0 !important; max-width:500px; -moz-border-radius:0px !important; -webkit-border-radius:0px !important; border-radius:0px !important; color:#000 !important; }
#_form_1_._inline-form,#_form_1_._inline-form ._form-content,#_form_1_._inline-form input,#_form_1_._inline-form ._submit { font-family:”IBM Plex Sans”, Helvetica, sans-serif; }
#_form_1_ ._form-title { font-size:22px; line-height:22px; font-weight:600; margin-bottom:0; }
#_form_1_:before,#_form_1_:after { content:” “; display:table; }
#_form_1_:after { clear:both; }
#_form_1_._inline-style { width:auto; display:inline-block; }
#_form_1_._inline-style input[type=”text”],#_form_1_._inline-style input[type=”date”] { padding:10px 12px; }
#_form_1_._inline-style button._inline-style { position:relative; top:27px; }
#_form_1_._inline-style p { margin:0; }
#_form_1_._inline-style ._button-wrapper { position:relative; margin:27px 12.5px 0 20px; }
#_form_1_ ._form-thank-you { position:relative; left:0; right:0; text-align:center; font-size:18px; }
@media all and (min-width:320px) and (max-width:667px) { #_form_1_._inline-form._inline-style ._inline-style._button-wrapper { margin-top:20px !important; margin-left:0 !important; }
}
#_form_1_ .iti.iti–allow-dropdown.iti–separate-dial-code { width:100%; }
#_form_1_ .iti input { width:100%; height:32px; border:#979797 1px solid; border-radius:4px; }
#_form_1_ .iti–separate-dial-code .iti__selected-flag { background-color:#fff; border-radius:4px; }
#_form_1_ .iti–separate-dial-code .iti__selected-flag:hover { background-color:rgba(0, 0, 0, 0.05); }
#_form_1_ .iti__country-list { border-radius:4px; margin-top:4px; min-width:460px; }
#_form_1_ .iti__country-list–dropup { margin-bottom:4px; }
#_form_1_ .phone-error-hidden { display:none; }
#_form_1_ .phone-error { color:#e40e49; }
#_form_1_ .phone-input-error { border:1px solid #e40e49 !important; }

Grab the PDF for FREE!

window.cfields = [];
window._show_thank_you = function(id, message, trackcmp_url, email) {
var form = document.getElementById(‘_form_’ + id + ‘_’), thank_you = form.querySelector(‘._form-thank-you’);
form.querySelector(‘._form-content’).style.display = ‘none’;
thank_you.innerHTML = message;
thank_you.style.display = ‘block’;
const vgoAlias = typeof visitorGlobalObjectAlias === ‘undefined’ ? ‘vgo’ : visitorGlobalObjectAlias;
var visitorObject = window[vgoAlias];
if (email && typeof visitorObject !== ‘undefined’) {
visitorObject(‘setEmail’, email);
visitorObject(‘update’);
} else if (typeof(trackcmp_url) != ‘undefined’ && trackcmp_url) {
// Site tracking URL to use after inline form submission.
_load_script(trackcmp_url);
}
if (typeof window._form_callback !== ‘undefined’) window._form_callback(id);
};
window._show_error = function(id, message, html) {
var form = document.getElementById(‘_form_’ + id + ‘_’), err = document.createElement(‘div’), button = form.querySelector(‘button’), old_error = form.querySelector(‘._form_error’);
if (old_error) old_error.parentNode.removeChild(old_error);
err.innerHTML = message;
err.className = ‘_error-inner _form_error _no_arrow’;
var wrapper = document.createElement(‘div’);
wrapper.className = ‘_form-inner’;
wrapper.appendChild(err);
button.parentNode.insertBefore(wrapper, button);
document.querySelector(‘[id^=”_form”][id$=”_submit”]’).disabled = false;
if (html) {
var div = document.createElement(‘div’);
div.className = ‘_error-html’;
div.innerHTML = html;
err.appendChild(div);
}
};
window._load_script = function(url, callback) {
var head = document.querySelector(‘head’), script = document.createElement(‘script’), r = false;
script.type = ‘text/javascript’;
script.charset = ‘utf-8’;
script.src = url;
if (callback) {
script.onload = script.onreadystatechange = function() {
if (!r && (!this.readyState || this.readyState == ‘complete’)) {
r = true;
callback();
}
};
}
head.appendChild(script);
};
(function() {
if (window.location.search.search(“excludeform”) !== -1) return false;
var getCookie = function(name) {
var match = document.cookie.match(new RegExp(‘(^|; )’ + name + ‘=([^;]+)’));
return match ? match[2] : null;
}
var setCookie = function(name, value) {
var now = new Date();
var time = now.getTime();
var expireTime = time + 1000 * 60 * 60 * 24 * 365;
now.setTime(expireTime);
document.cookie = name + ‘=’ + value + ‘; expires=’ + now + ‘;path=/; Secure; SameSite=Lax;’;// cannot be HttpOnly
}
var addEvent = function(element, event, func) {
if (element.addEventListener) {
element.addEventListener(event, func);
} else {
var oldFunc = element[‘on’ + event];
element[‘on’ + event] = function() {
oldFunc.apply(this, arguments);
func.apply(this, arguments);
};
}
}
var _removed = false;
var form_to_submit = document.getElementById(‘_form_1_’);
var allInputs = form_to_submit.querySelectorAll(‘input, select, textarea’), tooltips = [], submitted = false;

var getUrlParam = function(name) {
var params = new URLSearchParams(window.location.search);
return params.get(name) || false;
};

for (var i = 0; i < allInputs.length; i++) {
var regexStr = "field\[(\d+)\]";
var results = new RegExp(regexStr).exec(allInputs[i].name);
if (results != undefined) {
allInputs[i].dataset.name = window.cfields[results[1]];
} else {
allInputs[i].dataset.name = allInputs[i].name;
}
var fieldVal = getUrlParam(allInputs[i].dataset.name);

if (fieldVal) {
if (allInputs[i].dataset.autofill === "false") {
continue;
}
if (allInputs[i].type == "radio" || allInputs[i].type == "checkbox") {
if (allInputs[i].value == fieldVal) {
allInputs[i].checked = true;
}
} else {
allInputs[i].value = fieldVal;
}
}
}

var remove_tooltips = function() {
for (var i = 0; i < tooltips.length; i++) {
tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);
}
tooltips = [];
};
var remove_tooltip = function(elem) {
for (var i = 0; i < tooltips.length; i++) {
if (tooltips[i].elem === elem) {
tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);
tooltips.splice(i, 1);
return;
}
}
};
var create_tooltip = function(elem, text) {
var tooltip = document.createElement('div'), arrow = document.createElement('div'), inner = document.createElement('div'), new_tooltip = {};
if (elem.type != 'radio' && elem.type != 'checkbox') {
tooltip.className = '_error';
arrow.className = '_error-arrow';
inner.className = '_error-inner';
inner.innerHTML = text;
tooltip.appendChild(arrow);
tooltip.appendChild(inner);
elem.parentNode.appendChild(tooltip);
} else {
tooltip.className = '_error-inner _no_arrow';
tooltip.innerHTML = text;
elem.parentNode.insertBefore(tooltip, elem);
new_tooltip.no_arrow = true;
}
new_tooltip.tip = tooltip;
new_tooltip.elem = elem;
tooltips.push(new_tooltip);
return new_tooltip;
};
var resize_tooltip = function(tooltip) {
var rect = tooltip.elem.getBoundingClientRect();
var doc = document.documentElement, scrollPosition = rect.top – ((window.pageYOffset || doc.scrollTop) – (doc.clientTop || 0));
if (scrollPosition < 40) {
tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _below';
} else {
tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _above';
}
};
var resize_tooltips = function() {
if (_removed) return;
for (var i = 0; i < tooltips.length; i++) {
if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]);
}
};
var validate_field = function(elem, remove) {
var tooltip = null, value = elem.value, no_error = true;
remove ? remove_tooltip(elem) : false;
if (elem.type != 'checkbox') elem.className = elem.className.replace(/ ?_has_error ?/g, '');
if (elem.getAttribute('required') !== null) {
if (elem.type == 'radio' || (elem.type == 'checkbox' && /any/.test(elem.className))) {
var elems = form_to_submit.elements[elem.name];
if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) {
no_error = elem.checked;
}
else {
no_error = false;
for (var i = 0; i < elems.length; i++) {
if (elems[i].checked) no_error = true;
}
}
if (!no_error) {
tooltip = create_tooltip(elem, "Please select an option.");
}
} else if (elem.type =='checkbox') {
var elems = form_to_submit.elements[elem.name], found = false, err = [];
no_error = true;
for (var i = 0; i < elems.length; i++) {
if (elems[i].getAttribute('required') === null) continue;
if (!found && elems[i] !== elem) return true;
found = true;
elems[i].className = elems[i].className.replace(/ ?_has_error ?/g, '');
if (!elems[i].checked) {
no_error = false;
elems[i].className = elems[i].className + ' _has_error';
err.push("Checking %s is required".replace("%s", elems[i].value));
}
}
if (!no_error) {
tooltip = create_tooltip(elem, err.join('
‘));
}
} 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 || (elem.options[i].value.match(/n/g)))) {
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.id == 'field[]' || elem.id == 'ca[11][v]')) {
if (elem.className.includes('phone-input-error')) {
elem.className = elem.className + ' _has_error';
no_error = false;
}
}
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(/^dddd-dd-dd$/)) {
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) {
if(el.getAttribute('required') !== null){
return true
}
if(el.name === 'email' && el.value !== ""){
return true
}

if((el.id == 'field[]' || el.id == 'ca[11][v]') && el.className.includes('phone-input-error')){
return true
}

return false
};
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 == 'tel') {
addEvent(input, 'blur', function() {
this.value = this.value.trim();
validate_field(this, true);
});
}
if (input.type == 'text' || input.type == 'number' || input.type == 'time') {
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 31 && (charCode 57) && charCode !== 8) {
e.preventDefault();
}
});
};

var showPhoneInputError = function(inputId) {
var errorMessage = document.getElementById(“error-msg-” + inputId);
var input = document.getElementById(inputId);
errorMessage.classList.add(“phone-error”);
errorMessage.classList.remove(“phone-error-hidden”);
input.classList.add(“phone-input-error”);
};

var _form_serialize = function(form){if(!form||form.nodeName!==”FORM”){return }var i,j,q=[];for(i=0;i<form.elements.length;i++){if(form.elements[i].name===""){continue}switch(form.elements[i].nodeName){case"INPUT":switch(form.elements[i].type){case"tel":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].previousSibling.querySelector('div.iti__selected-dial-code').innerText)+encodeURIComponent(" ")+encodeURIComponent(form.elements[i].value));break;case"text":case"number":case"date":case"time":case"hidden":case"password":case"button":case"reset":case"submit":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"checkbox":case"radio":if(form.elements[i].checked){q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value))}break;case"file":break}break;case"TEXTAREA":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"SELECT":switch(form.elements[i].type){case"select-one":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"select-multiple":for(j=0;j<form.elements[i].options.length;j++){if(form.elements[i].options[j].selected){q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].options[j].value))}}break}break;case"BUTTON":switch(form.elements[i].type){case"reset":case"submit":case"button":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break}break}}return q.join("&")};
var form_submit = function(e) {
e.preventDefault();
if (validate_form()) {
// use this trick to get the submit button & disable it using plain javascript
document.querySelector('#_form_1_submit').disabled = true;
var serialized = _form_serialize(document.getElementById('_form_1_')).replace(/%0A/g, '\n');
var err = form_to_submit.querySelector('._form_error');
err ? err.parentNode.removeChild(err) : false;
_load_script('https://thefloreshouseblog.activehosted.com/proc.php?' + serialized + '&jsonp=true');
}
return false;
};
addEvent(form_to_submit, 'submit', form_submit);
})();


latest posts
Fence Ideas for Vegetable Garden

How Much Does It Cost To Start A Garden?

vegetable garden accessories

21 Vegetable Garden Accessories Every Gardener Needs

Back to Top
https://www.facebook.com/friendsoftfh
https://www.instagram.com/the.flores.house/
https://www.pinterest.com/thefloreshouse/
https://www.youtube.com/channel/UC_1ujfKa4_IENxe6W-thwvQ
Skip to content