﻿/**
 * emailsubscribe.js
 *
 * Functions for the e-mail subscription link in the navigation menu
 */

var DefaultSubscribeText = 'e-mail address';
var InvalidAddressText = 'Invalid address';

function subscribe(emailAddress) {
    var http_request;
    
    if (emailAddress.length == 0 || emailAddress == DefaultSubscribeText)
        return;
        
    if (emailAddress.indexOf('@') < 0) {
        subscribeTextBox = document.getElementById('subscribeTextbox');
        subscribeTextBox.value = InvalidAddressText;
        subscribeTextBox.className = 'subscribeErrorText';
        return;
    }
        
    if (window.XMLHttpRequest) {
        http_request = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (http_request) {
        var soap = '<?xml version="1.0" encoding="utf-8"?>\
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">\
  <soap:Body>\
    <Add xmlns="http://1st-class-wedding-invitations.com/">\
      <emailAddress>' + emailAddress + '</emailAddress>\
    </Add>\
  </soap:Body>\
</soap:Envelope>';

        http_request.open('POST', '/subscribe.asmx', true);
        
        http_request.onreadystatechange = function() {
	        if (http_request.readyState == 4 && http_request.status == 200) { 
		        alert("Thank you!  Your e-mail address has been added to our mailing list.");
	        }
        }
	
        http_request.setRequestHeader("Content-type", "text/xml; charset=utf-8");
        http_request.setRequestHeader("Content-length", soap.length);
        http_request.setRequestHeader("Connection", "close");
        http_request.send(soap);
    }
}

function subscribe_checkSubmit(event) {
    if (event.keyCode == 13) {
        subscribe(document.getElementById('subscribeTextbox').value);
        return false;
    }
    
    return true;
}