/**
 * Copyright 2007 LinuxMagic Inc
 * All Rights Reserved.
 */

var http = getXHR();

function getXHR() {
    var xmlHttp = null;
    try {
        // Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
    }
    catch (e) {
        // Internet Explorer
        try {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}

function removeAddressFromDyna() {
    var ip = escape(document.getElementById('address').value);
    var captcha = escape(document.getElementById('captcha').value);
    http.open('POST', 'remove.php', true);
    http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    http.onreadystatechange = handleDynaRemovalResponse;
    http.send('from=dyna&ip=' + ip + '&captcha=' + captcha);

    var dynaDisplay = document.getElementById('dyna-response');
    dynaDisplay.className = 'loading';
    dynaDisplay.innerHTML = 'Loading';
    return false;
}

function handleDynaRemovalResponse(event) {
    if (http.readyState == 4) {
        if (http.status == 200) {
            var dynaDisplay = document.getElementById('dyna-response');
            var dynaResponse = http.responseXML.getElementsByTagName('response');
            var responseStr = dynaResponse[0].firstChild.nodeValue;
            var dynaSuccess = http.responseXML.getElementsByTagName('success');
            dynaSuccess = dynaSuccess[0].firstChild.nodeValue;
            if (dynaSuccess == '1') {
                dynaDisplay.className = 'confirmed';
            } else {
                dynaDisplay.className = 'error';
            }
            dynaDisplay.innerHTML = responseStr;
            document.getElementById('captcha-image').src="captcha.php?" + (new Date()).getTime();
        }
    }
}

function removeAddressFromNoPtr() {
    var ip = escape(document.getElementById('address').value);
    var captcha = escape(document.getElementById('captcha').value);
    http.open('POST', 'remove.php', true);
    http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    http.onreadystatechange = handleNoPtrRemovalResponse;
    http.send('from=noptr&ip=' + ip + '&captcha=' + captcha);

    var noPtrDisplay = document.getElementById('noptr-response');
    noPtrDisplay.className = 'loading';
    noPtrDisplay.innerHTML = 'Loading';
    return false;
}

function handleNoPtrRemovalResponse(event) {
    if (http.readyState == 4) {
        var noPtrDisplay = document.getElementById('noptr-response');

        var noPtrResponse = http.responseXML.getElementsByTagName('response');
        var responseStr = noPtrResponse[0].firstChild.nodeValue;

        var noPtrSuccess = http.responseXML.getElementsByTagName('success');
        noPtrSuccess = noPtrSuccess[0].firstChild.nodeValue;

        if (noPtrSuccess == '1') {
            noPtrDisplay.className = 'confirmed';
        } else {
            noPtrDisplay.className = 'error';
        }
        noPtrDisplay.innerHTML = responseStr;
        document.getElementById('captcha-image').src="captcha.php?" + (new Date()).getTime();
    }
}

function removeAddressFromSpam() {
    var ip = escape(document.getElementById('address').value);
    var captcha = escape(document.getElementById('captcha').value);
    http.open('POST', 'remove.php', true);
    http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    http.onreadystatechange = handleSpamRemovalResponse;
    http.send('from=spam&ip=' + ip + '&captcha=' + captcha);

    var spamDisplay = document.getElementById('spam-response');
    spamDisplay.className = 'loading';
    spamDisplay.innerHTML = 'Loading';
    return false;
}

function handleSpamRemovalResponse(event) {
    if (http.readyState == 4) {
        var spamDisplay = document.getElementById('spam-response');

        var spamResponse = http.responseXML.getElementsByTagName('response');
        var responseStr = spamResponse[0].firstChild.nodeValue;

        var spamSuccess = http.responseXML.getElementsByTagName('success');
        spamSuccess = spamSuccess[0].firstChild.nodeValue;

        if (spamSuccess == '1') {
            spamDisplay.className = 'confirmed';
        } else {
            spamDisplay.className = 'error';
        }
        spamDisplay.innerHTML = responseStr;
        document.getElementById('captcha-image').src="captcha.php?" + (new Date()).getTime();
    }
}
