window.onload = function() {
	privacyPolicy();
	formValidation();
}

/* Privacy Policy link behavior */
var privacyPolicy = function() {
	var policyLink = document.getElementById('policy-link');
	var privacyPolicy = document.getElementById('privacy-policy');
	var closePolicy = document.getElementById('close-policy');
	
	policyLink.onclick = function() {
		privacyPolicy.style.display = "block";
		return false;
	}
	
	closePolicy.onclick = function() {
		privacyPolicy.style.display = "none";
		return false;
	}
}

/* Form validation */
var formValidation = function() {
	/* FREE ESTIMATE FORM */
	// Name
	if (document.getElementById('name')) {
		var name = new LiveValidation( "name", { validMessage: "OK" } );
		name.add( Validate.Presence, { failureMessage: "Please enter your full name." } );
	}
	// Email
	if (document.getElementById('email')) {
		var email = new LiveValidation( "email", { validMessage: "OK" } );
		email.add( Validate.Presence, { failureMessage: "Please enter your email." } );
		email.add( Validate.Email );
	}
	// Phone Number
	if (document.getElementById('phone')) {
		var phone = new LiveValidation( "phone", { validMessage: "OK" } );
		phone.add( Validate.Presence, { failureMessage: "Please enter your phone number." } );
		phone.add( Validate.Numericality, { onlyInteger: true } );
		phone.add( Validate.Length, { minimum: 10 } );
	}
	// Message
	if (document.getElementById('message')) {
		var message = new LiveValidation( "message", { validMessage: "OK" } );
		message.add( Validate.Presence, { failureMessage: "Please enter your message for us." } );
	}
	/* HELP FORM */
	// Name
	if (document.getElementById('helpname')) {
		var helpname = new LiveValidation( "helpname", { validMessage: "OK" } );
		helpname.add( Validate.Presence, { failureMessage: "Please enter your full name." } );
	}
	// Email
	if (document.getElementById('helpemail')) {
		var helpemail = new LiveValidation( "helpemail", { validMessage: "OK" } );
		helpemail.add( Validate.Presence, { failureMessage: "Please enter your email." } );
		helpemail.add( Validate.Email );
	}
	// Message
	if (document.getElementById('helpmessage')) {
		var helpmessage = new LiveValidation( "helpmessage", { validMessage: "OK" } );
		helpmessage.add( Validate.Presence, { failureMessage: "Please enter your message for us." } );
	}
	/* CONTACT FORM */
	// Name
	if (document.getElementById('contactname')) {
		var contactname = new LiveValidation( "contactname", { validMessage: "OK" } );
		contactname.add( Validate.Presence, { failureMessage: "Please enter your full name." } );
	}
	// Address
	if (document.getElementById('address')) {
		var address = new LiveValidation( "address", { validMessage: "OK" } );
		address.add( Validate.Presence, { failureMessage: "Please enter your address." } );
	}
	// City
	if (document.getElementById('city')) {
		var city = new LiveValidation( "city", { validMessage: "OK" } );
		city.add( Validate.Presence, { failureMessage: "Please enter your city." } );
	}
	// State
	if (document.getElementById('state')) {
		var state = new LiveValidation( "state", { validMessage: "OK" } );
		state.add( Validate.Presence, { failureMessage: "Please enter your state." } );
		state.add( Validate.Length, { is: 2 } );
	}
	// Zip Code
	if (document.getElementById('zip')) {
		var zip = new LiveValidation( "zip", { validMessage: "OK" } );
		zip.add( Validate.Presence, { failureMessage: "Please enter your zip code." } );
		zip.add( Validate.Numericality, { onlyInteger: true } );
		zip.add( Validate.Length, { is: 5 } );
	}
	// Email
	if (document.getElementById('contactemail')) {
		var contactemail = new LiveValidation( "contactemail", { validMessage: "OK" } );
		contactemail.add( Validate.Presence, { failureMessage: "Please enter your email." } );
		contactemail.add( Validate.Email );
	}
	// Phone Number
	if (document.getElementById('contactphone')) {
		var contactphone = new LiveValidation( "contactphone", { validMessage: "OK" } );
		contactphone.add( Validate.Presence, { failureMessage: "Please enter your phone number." } );
		contactphone.add( Validate.Numericality, { onlyInteger: true } );
		contactphone.add( Validate.Length, { minimum: 10 } );
	}
	// Square Footage
	if (document.getElementById('squarefootage')) {
		var squarefootage = new LiveValidation( "squarefootage", { validMessage: "OK" } );
		squarefootage.add( Validate.Presence, { failureMessage: "Please enter the square footage." } );
	}
	// Message
	if (document.getElementById('comments')) {
		var comments = new LiveValidation( "comments", { validMessage: "OK" } );
		comments.add( Validate.Presence, { failureMessage: "Please enter your message for us." } );
	}
}

/* Contact Us Page */
jQuery(document).ready(function () {

	// If the 'Type of Usage' dropdown menu exists...
	if (jQuery('#usagetype').length) {
	
		// The 'Type of Usage' dropdown menu
		$type = jQuery('#usagetype');
		
		// When it's value is changed...
		$type.change(function () {
		
			// If it has a value of 'Other'
			if ($type.val() == 'Other') {
			
				// Create a textbox to allow for a custom usage type
				jQuery('<p><input type="text" name="otherusage" id="otherusage" /></p>').insertAfter($type.parent());
			
			} else if (jQuery('#otherusage').length) {
			
				// Remove the custom textbox
				jQuery('#otherusage').remove();
			
			}
		
		});
		
	}

});
