var req;

function addSubscription(email) {
    // Input mode
    var xmlURL = url + "xml/xml_newsletter.jsp?email=" + email;
    news_loadXMLDoc(xmlURL);
}

function returnSubscription(message, image) {
    // Response mode
    document.getElementById('news_message').innerHTML = '<img src="images/' + image + '.png" border="0" class="news">' + message;
    document.getElementById('news_1').style.display = "none";
    document.getElementById('news_2').style.display = "block";
}

function resetSubscription() {
    // Response mode
    document.getElementById('news_1').style.display = "block";
    document.getElementById('news_2').style.display = "none";
}

function news_loadXMLDoc(url) {
    //var values = url.substring(url.indexOf("?")+1, url.length);
    //url = url.substring(0, url.indexOf("?"));

    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = news_processReqChange;
        //req.open('POST', url, true);
        //req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        //req.send(values);
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = news_processReqChange;
            //req.open('POST', url, true);
            //req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            //req.send(values);
            req.open("GET", url, true);
            req.send();
        }
    }
}

function news_processReqChange() {
    // only if req shows "complete"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            // ...processing statements go here...
            response  = req.responseXML.documentElement;
            method    = response.getElementsByTagName('method')[0].firstChild.data;
            message   = response.getElementsByTagName('message')[0].firstChild.data;
            image    = response.getElementsByTagName('image')[0].firstChild.data;
            eval(method + "(message, image)");
        } else {
            alert("There was a problem retrieving the XML data...\nError: " + req.status + "\nDescription: " + req.statusText);
        }
    }
}