
  
  
//This js sends form infromation to our Action
function emailFormET() {
    var subscribeButton = document.getElementById('subscribeButton');
    if(subscribeButton != null){
        subscribeButton.onclick=function(){
            var formOk = checkForm();
            if (formOk == true){
                httpRequest = getHttpRequest();

                var u = document.subscribeForm.actionCall.value;
                httpRequest.open('POST', u, false);
                var boundaryString = 'AaB03x';
                var boundary = '--' + boundaryString;
                httpRequest.setRequestHeader("Content-Type", "multipart/form-data; boundary=" + boundaryString);

                var f = assembleFormData(boundary);
                f += "Content-Disposition: form-data; name=\"";
                f += "saveOnly";
                f += "\"";
                f += "\n";
                f += "\n";
                f += "true";
                f += "\r\n";
                f += boundary;
                f += "\n";
                httpRequest.send(f);
                var res = (httpRequest.responseText).split("\n");
                var errorFlag = false;
                for (var i = 0; i < res.length; i++) {
                  var line = trim(res[i]);
                  if(line == 'answer:com.valtira.cms.client.action.ValidationException: Please answer the question correctly.') {
                    alert("Please answer the question correctly");
                    errorFlag = true;
                  }

                  if(line == 'phoneIllegal:com.valtira.cms.client.action.ValidationException: Please enter a numeric phone number.') {
                    alert("Please enter a numeric phone number");
                    errorFlag = true;
                  }
                }


                if(!errorFlag) {
                  var infoPacket = document.getElementById('info-packet');
                  if(infoPacket != null){

                      inputField = document.getElementById('thx');
                      if(infoPacket.checked){
                          inputField.value = "http://www.minneapolis.org/page/1/visitor-info-thank-you.jsp";

                      }   else{
                           inputField.value = "http://www.minneapolis.org/page/1/contact-us-thank-you.jsp";
                          }
                  }
                  document.subscribeForm.submit();
                } else {
                  window.location.reload();
                }
            }
        }
    }
}
//Go through all form elements and add them to a string to be sent to ET
function assembleFormData(b) {
    var str = b;
    str += "\n";
    var form = document.subscribeForm;
    for (var i = 0; i < form.elements.length; i++) {

        if (form.elements[i].type == 'radio' && !form.elements[i].checked) {
            continue;
        }else if (form.elements[i].type == 'checkbox' && !form.elements[i].checked) {
            continue;
        }else if (form.elements[i].name == '' || form.elements[i].value == '') {
            continue;
        }
        else if (form.elements[i].name == 'First Name' ) {
            str += "Content-Disposition: form-data; name=\"";
            str += 'firstName';
        }
        else if (form.elements[i].name == 'State Or Province' ) {
            str += "Content-Disposition: form-data; name=\"";
            str += 'state';
        }  else if (form.elements[i].name == 'Zip Code' ) {
            str += "Content-Disposition: form-data; name=\"";
            str += 'zip';
        }else if (form.elements[i].name == 'Email Address' ) {
            str += "Content-Disposition: form-data; name=\"";
            str += 'email';
        }else if (form.elements[i].name == 'Email Address Confirm' ) {
            str += "Content-Disposition: form-data; name=\"";
            str += 'confirm';
        }else if (form.elements[i].name == 'Birthday Month' ) {
            str += "Content-Disposition: form-data; name=\"";
            str += 'month';
        }else if (form.elements[i].name == 'Birthday Year' ) {
            str += "Content-Disposition: form-data; name=\"";
            str += 'year';
        }else if (form.elements[i].name == 'Gender' ) {
            str += "Content-Disposition: form-data; name=\"";
            str += 'gender';
        }else if (form.elements[i].name == 'Email Type' ) {
            str += "Content-Disposition: form-data; name=\"";
            str += 'emailType';
        }else if (form.elements[i].name == 'Best of the Buzz' ) {
            str += "Content-Disposition: form-data; name=\"";
            str += 'newsletter1';
        }else if (form.elements[i].name == 'Entertainment Buzz' ) {
            str += "Content-Disposition: form-data; name=\"";
            str += 'newsletter2';
        }else if (form.elements[i].name == 'Food Wine Buzz' ) {
            str += "Content-Disposition: form-data; name=\"";
            str += 'newsletter3';
        } else if (form.elements[i].name == 'Shopping Buzz' ) {
            str += "Content-Disposition: form-data; name=\"";
            str += 'newsletter4';
        }else if (form.elements[i].name == 'The Outburst' ) {
             str += "Content-Disposition: form-data; name=\"";
            str += 'newsletter6';
        }else if (form.elements[i].name == 'Meeting Buzz' ) {
            str += "Content-Disposition: form-data; name=\"";
            str += 'newsletter7';
        }else if (form.elements[i].name == 'American Express Cardmember' ) {
            str += "Content-Disposition: form-data; name=\"";
            str += 'amEx';
        }else if (form.elements[i].name == 'Visitor Guide' ) {
            str += "Content-Disposition: form-data; name=\"";
            str += 'info-packet';
        }else if (form.elements[i].name == 'Travel Month' ) {
            str += "Content-Disposition: form-data; name=\"";
            str += 'travelMonth';
        }else{
            str += "Content-Disposition: form-data; name=\"";
            str += form.elements[i].name;
        }
        str += "\"";
        str += "\n";
        str += "\n";
        str += form.elements[i].value;
        str += "\r\n";
        str += b;
        str += "\n";

    }

   return str;

}

function getHttpRequest() {
    try {
        req = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            req = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e2) {
            req = false;
        }
    }
    if (!req && typeof XMLHttpRequest != 'undefined') {
        req = new XMLHttpRequest();
    }
    return req;
}

addEvent(window, 'load', emailFormET, false);

function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
