var http_request = false;
var functionStatusError;
var functionStatusSuccess;

function subscribeNewsletter(emailInputFieldName, 
    handlerFunctionStatusError, handlerFunctionStatusSuccess) {

    http_request = false;
    functionStatusError = handlerFunctionStatusError;
    functionStatusSuccess = handlerFunctionStatusSuccess;
    
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!http_request) {
        return false;
    }

    email = document.getElementById(emailInputFieldName).value;
    
    http_request.onreadystatechange = getResult;
    http_request.open('GET', '/newsletter.do?email=' + email, true);
    http_request.send(null);
}

function getResult() {
    if (http_request.readyState == 4) {
        if(http_request.status == 10000) {
            if(typeof(functionStatusError ) === "function") {
                functionStatusError();
            }
        }
        if(http_request.status == 10001) {
            if(typeof(functionStatusSuccess) === "function") {
                functionStatusSuccess();
            }
        }
    }
}
