' + errors[i] + '
' + '\n'; } } else { for(var i = 0; i < errors.length; i++) { errorMessage += errors[i] + '\n'; } } return errorMessage; } // Make an AJAX post to the page that handles the data function SubmitData(submitButton) { var validationFailed = false; var url = ''; var errors = []; // Check for errors for(var i = 0; i < elementsByID.length; i++) { if(elementsByID[i].required) { element = document.getElementById(elementsByID[i].id); if((element != null)) { if(element.type == 'select-one') { if(!(element.selectedIndex > 0)) { validationFailed = true; AppendError(errors, elementsByID[i].error); } } else if(element.type == 'select-multiple') { var optionSelected = false; for (var j = 0; j < element.options.length; j++) { if (element.options[j].selected) { optionSelected = true; } } if(!optionSelected) { validationFailed = true; AppendError(errors, elementsByID[i].error); } } else if(element.type == 'text') { if(!(element.value.length > 0)) { validationFailed = true; AppendError(errors, elementsByID[i].error); } } else { //alert('problem processing form\n' + element.type + ' - ' + elementsByID[i] + ' - ' + element.value); } } } } // Because checkbox lists and radio button lists go off names, they have a separate check for (var i = 0; i < elementsByName.length; i++) { if(elementsByName[i].required) { var names = document.getElementsByName(elementsByName[i].name); var optionSet = false; for(var j = 0; j < names.length; j++) { if(names[j].checked) { optionSet = true; } } if(!optionSet) { validationFailed = true; AppendError(errors, elementsByName[i].error); } } } // Check any regex for(var i = 0; i < regexList.length; i++) { var element = document.getElementById(regexList[i].id); var result = regexList[i].regex.test(element.value); if(!result) { validationFailed = true; AppendError(errors, regexList[i].error); } } // Collect the form data for (var i = 0; i < elementsByID.length; i++) { element = document.getElementById(elementsByID[i].id); if ((element != null)) { if (element.type == 'select-one') { url += '&' + elementsByID[i].id + '=' + escape(element.options[element.selectedIndex].value); } else if (element.type == 'select-multiple') { var optionSelected = false; url += '&' + elementsByID[i].id + '='; for (var j = 0; j < element.options.length; j++) { if (element.options[j].selected) { if(optionSelected) url += ','; url += escape(element.options[j].value); optionSelected = true; } } } else if ((element.type == 'text') || (element.type == 'hidden')) { url += '&' + elementsByID[i].id + '=' + escape(element.value); } else if ((element.type == 'submit') || (element.type == 'reset')) { // Don't do anything } else { // TODO: Remove // alert('problem processing form\n' + element.type + ' - ' + elementsByID[i] + ' - ' + element.value); } } } // Because checkbox lists and radio button lists go off names, they have a separate check for (var i = 0; i < elementsByName.length; i++) { var names = document.getElementsByName(elementsByName[i].name); for(var j = 0; j < names.length; j++) { if(names[j].checked) { url += '&' + names[j].id + '=' + escape(names[j].value); } } } var ImpressionID = document.getElementById('FormControl_Field_ImpressionID'); if (ImpressionID != null) { url += '&ImpressionID=' + ImpressionID.value; } var WFAUserID = document.getElementById('FormControl_Field_WFAUserID'); if (WFAUserID != null) { url += '&WFAUserID=' + WFAUserID.value; } var WFASessionUserID = document.getElementById('FormControl_Field_WFASessionUserID'); if (WFASessionUserID != null) { url += '&WFASessionUserID=' + WFASessionUserID.value; } if(validationFailed) { alert(FormatError(errors, false)); return false; } var url = 'http://bostonpods.leads.wakefly.com/Services/WebFormAJAXProcessor.aspx?CampaignURLID=3&ValidCallback=AJAXStateChanged&ErrorCallback=AJAXStateChangedError' + url; // Disable the button to prevent multiple submissions submitButton.disabled = true; MakeHttpRequest(url, AJAXStateChanged, false); } function AJAXStateChanged() { // Handle success... window.location = 'http://www.worcester-storage.com/WorcestorStorageQuickForm/tabid/146/Default.aspx'; } function AJAXStateChangedError() { alert('There was an error submitting your data, please try again later. We are currently working to correct the issue. Thank you for your patience.'); } var http_request; function MakeHttpRequest(url, callback_function, return_xml) { parentElement.appendChild(CreatePostScriptTag(url)); //var response, i; //var activex_ids = [ //'MSXML2.XMLHTTP.3.0', //'MSXML2.XMLHTTP', //'Microsoft.XMLHTTP' //]; //if (window.XMLHttpRequest) //{ // // Mozilla, Safari, IE7+... // http_request = new XMLHttpRequest(); //} //else if (window.ActiveXObject) //{ // // IE6 and older // for (i = 0; i < activex_ids.length; i++) // { // try // { // http_request = new ActiveXObject(activex_ids[i]); // } // catch (e) // { // } // } //} //if (!http_request) //{ // alert('Please upgrade to a newer browser. Your browser is not currently supported by our form.'); // return false; //} //http_request.onreadystatechange = AjaxCallback(callback_function, return_xml); //if(http_request.overrideMimeType) //{ // http_request.overrideMimeType('text/html'); //} //http_request.open('GET', url, true); //http_request.send(null); } function AjaxCallback(callback, return_xml) { var localCallback = callback; var localReturnXML = return_xml; var x = function() { if (http_request.readyState !== 4) { // not ready yet return; } if (http_request.status !== 200) { // ready, but not OK alert('There was a problem with the request.(Code: ' + http_request.status + ')'); return; } if (localReturnXML) { response = http_request.responseXML; } else { response = http_request.responseText; } // invoke the callback localCallback(response); } return x; }; // Get the body element var parentElement = document.getElementsByTagName('body'); parentElement = parentElement[0]; function readCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; } // Main function to be run when the page is ready function Run() { // Get the body element var parentElement = document.getElementById('LPM_QuickForm'); // Create the form element var form = document.createElement('div'); form.setAttribute('id', 'FormControl_Wakefly_Form'); form.setAttribute('class', 'Wakefly_form'); form.setAttribute('action', ''); /* document.createElement('form'); form.setAttribute('id', 'mainForm'); form.setAttribute('name', 'mainForm'); form.setAttribute('action', ''); form.setAttribute('onsubmit', 'return false;'); form.setAttribute('enctype', 'multipart/form-data'); form.setAttribute('style', 'position: relative'); parentElement.appendChild(form); */ parentElement.appendChild(form); RegisterFieldName('FormControl_Field_16', true, 'Residential, Business, or Government');var container_16 = CreateFormRowContainerDiv('16', '0', '0', true); var innerContainer_16 = CreateFormControlContainerDiv('16', 'RadioButtonList'); container_16.appendChild(CreateLabel('16', '', '')); innerContainer_16.appendChild(CreateRadioButton('16_565', 'FormControl_Field_16', '', 'Residential')); innerContainer_16.appendChild(CreateInputListLabel('16', 'FormControl_Field_16_565', 'Residential')); innerContainer_16.appendChild(CreateRadioButton('16_566', 'FormControl_Field_16', '', 'Business')); innerContainer_16.appendChild(CreateInputListLabel('16', 'FormControl_Field_16_566', 'Business')); innerContainer_16.appendChild(CreateRadioButton('16_567', 'FormControl_Field_16', '', 'Government')); innerContainer_16.appendChild(CreateInputListLabel('16', 'FormControl_Field_16_567', 'Government')); form.appendChild(container_16); container_16.appendChild(innerContainer_16); form.appendChild(CreateTextBox('17', 'First Name', '', true, 'First Name is required', '0', '30', 'First Name', null)); form.appendChild(CreateTextBox('18', 'Last Name', '', true, 'Last Name is required', '0', '60', 'Last Name', null)); form.appendChild(CreateTextBox('19', 'Phone', '', true, 'Phone number is required.', '0', '90', 'Phone', null)); form.appendChild(CreateTextBox('20', 'E-mail', '', true, 'E-mail is required', '0', '120', 'E-mail', /^((\"[^\"\f\n\r\t\v\b]+\")|([\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/)); form.appendChild(CreateSubmitButton('24', 'Submit', '', '0', '150')); form.appendChild(CreateHiddenField('ImpressionID', 'ImpressionID', '', '0', '0', '17225')); var _userID = "3"; var wfac1 = readCookie("wfac1"); var wfac2 = readCookie("wfac2"); form.appendChild(CreateHiddenField('WFAUserID', 'WFAUserID', '', '0', '0', wfac1.split('.')[1])); form.appendChild(CreateHiddenField('WFASessionUserID', 'WFASessionUserID', '', '0', '0', wfac2.split('.')[2])); } // Add functions to be run when the page is done loading. function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { func(); if (oldonload != null) { oldonload(); } }; } } // Add the main function to be run when the page is done loading addLoadEvent(Run); var wfHost = (("https:" == document.location.protocol) ? "https://" : "http://"); document.write(unescape("%3Cscript src='" + wfHost + "stats.wakefly.com/analyticsmin.js' type='text/javascript'%3E%3C/script%3E"));