function textCounter( field, spanId, maxlimit ) { if ( field.value.length > maxlimit ) { field.value = field.value.substring( 0, maxlimit ); alert( 'Textarea value can only be ' + maxlimit + ' characters in length.' ); return false; } else { jQuery('#'+spanId).text('' + (maxlimit - field.value.length) + ' characters remaining'); } } jQuery(document).ready(function(){ jQuery.validator.addMethod( "phoneUS", function(phone_number, element) { phone_number = phone_number.replace(/\s+/g, ""); return this.optional(element) || phone_number.length > 9 && phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/); }, "Please specify a valid phone number" ); jQuery('#SubmitButton').click(function(evt) { var isValid = jQuery('form').valid(); evt.preventDefault(); if (isValid) { jQuery("div.error").hide(); /*jQuery("body").append(''); jQuery("#form-to-submit").html(jQuery("#marketsharpmFieldSet").clone());*/ var textareaData = new Array(); jQuery.each(jQuery("#marketsharpmFieldSetDiv textarea"), function(index, value) { var cleanValue = escape(jQuery.trim(value.value)); if (cleanValue !== '') textareaData[value.name] = cleanValue; }); var selectData = new Array(); jQuery.each(jQuery("#marketsharpmFieldSetDiv select"), function(index, value) { var cleanValue = escape(jQuery.trim(value.value)); if (cleanValue !== '') selectData[value.name] = cleanValue; }); /*var values = jQuery("#form-to-submit").serialize();*/ var values = jQuery("#marketsharpmForm").serialize(); if (values == '') { jQuery("body").append(''); jQuery("#form-to-submit").html(jQuery("#marketsharpmFieldSet").clone()); values = jQuery("#form-to-submit").serialize(); } /*Perform manual check for Phone or Email (at least one is required)*/ var email = jQuery("#form-to-submit #MSM_email").val(); var homePhone = jQuery("#form-to-submit #MSM_homephone").val(); var cellPhone = jQuery("#form-to-submit #MSM_cellphone").val(); var workPhone = jQuery("#form-to-submit #MSM_workphone").val(); if(email === '' && homePhone === '' && cellPhone === '' && workPhone === '') { jQuery("div.error span").html("Phone or Email is required."); jQuery("div.error").show(); return false; //short-circuit } for(var keyName in selectData) { var regEx = new RegExp("&" + keyName + "=[^&]*", "gi"); var allSelectData = regEx.exec(values); values = values.replace(allSelectData, "&" + keyName + "=" + selectData[keyName]); } for(var keyName in textareaData) { var regEx = new RegExp("&" + keyName + "=[^&]*", "gi"); var allInterestData = regEx.exec(values); values = values.replace(allInterestData, "&" + keyName + "=" + textareaData[keyName]); } values = values.replace(/&/g, "&|&"); //console.log('values: ', JSON.stringify(values)); /*jQuery("#form-to-submit").remove();*/ jQuery.getJSON("https://haaws.marketsharpm.com/LeadCapture/MarketSharp/LeadCapture.ashx?callback=?", { "info": values, "version" : 2 }, function(data, msg) { jQuery("div.error span").html(""); if (data.errors.length > 0) { jQuery.each(data.errors, function() { jQuery("div.error span").append(this + "
"); }); jQuery("div.error span br:last").remove(); jQuery("div.error").show(); } else if (data.redirectUrl != '') { window.location.replace(data.redirectUrl); } else if (data.msg == 'success') { jQuery('#marketsharpmFieldSetDiv').html("
"); jQuery('#message').html("

Contact Information Submitted!

") .append("

We will be in touch soon.

") .hide() .fadeIn(1500, function() { jQuery('#message').append(""); }); } else { jQuery("div.error span").html("There was an unknown error submitting the form."); jQuery("div.error").show(); } } ); return false; } }); jQuery("form").validate({ onsubmit: false, invalidHandler: function(e, validator) { var errors = validator.numberOfInvalids(); if (errors) { var message = errors == 1 ? 'You missed 1 field. It has been highlighted below' : 'You missed ' + errors + ' fields. They have been highlighted below'; jQuery("div.error span").html(message); jQuery("div.error").show(); } else { jQuery("div.error").hide(); } }, onkeyup: false }); }); #marketsharpmFormDiv { width: 525px; } #marketsharpmFieldSetDiv { margin: 10px; } #marketsharpmFormDiv label { width: 9em; float: left; text-align: right; margin-right: 0.5em; display: block } #marketsharpmFormDiv input { border-spacing: 0px; margin: 0px; padding: 0px; space: 0px; } #marketsharpmFormDiv .submit { text-align: center; margin-left: 0em; } #marketsharpmFormDiv label.error { color: red; float: none; display: inline; margin-left: 0.5em; } #marketsharpmFormDiv p input.error { background-color: #FFFFD5; border-bottom-color: red; border-bottom-style: solid; border-bottom-width: 2px; border-left-color-ltr-source: physical; border-left-color-rtl-source: physical; border-left-color-value: red; border-left-style-ltr-source: physical; border-left-style-rtl-source: physical; border-left-style-value: solid; border-left-width-ltr-source: physical; border-left-width-rtl-source: physical; border-left-width-value: 2px; border-right-color-ltr-source: physical; border-right-color-rtl-source: physical; border-right-color-value: red; border-right-style-ltr-source: physical; border-right-style-rtl-source: physical; border-right-style-value: solid; border-right-width-ltr-source: physical; border-right-width-rtl-source: physical; border-right-width-value: 2px; border-top-color: red; border-top-style: solid; border-top-width: 2px; border-right-color: red; border-right-style: solid; border-right-width: 2px; border-left-color: red; border-left-style: solid; border-left-width: 2px; color: red; margin-bottom: 0; margin-left: 0; margin-right: 0; margin-top: 0; } #marketsharpmFormDiv div.error { text-align: center; color: red; } #marketsharpmFormDiv .hidden { display: none; }

Scroll to Top