var xmlHTTPRequest;

function getRateLookup() {
    xmlHTTPRequest = getXmlHttpRequestObject();
    var number = document.getElementById("number").value;
    
    if(number == null || number.length < 1) {
        fplAlert(enter_number, true);
        return;
    }

    if(!/^\d+$/.test(number)) {
        fplAlert(enter_number, true);
        return;
    }

    var url = "rateLookup";
    
    if(xmlHTTPRequest != null) {
        xmlHTTPRequest.onreadystatechange = showPrice;
        xmlHTTPRequest.open("POST", url, true);
        xmlHTTPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlHTTPRequest.send('number=' + encodeURI(number));
    } else {
        fplAlert(error_no_ajax, true);
    }
}

function showPrice() {
    var rateLookup = document.getElementById("rateLookup");
    
    if (xmlHTTPRequest.readyState == 4 && xmlHTTPRequest.status == 200) {
        var data = xmlHTTPRequest.responseText;

        if(data == "0") {
            rateLookup.style.display = 'none';
            fplAlert(invalid_request, true);
            return;
        }
        if(data == "1") {
            rateLookup.style.display = 'none';
            fplAlert(invalid_number, true);
            return;
        }
        if(data == "2") {
            rateLookup.style.display = 'none';
            fplAlert(error_processing_request, true);
            return;
        }

        rateLookup.innerHTML = data;
        rateLookup.style.display = '';
    } else {
        rateLookup.style.display = '';
        rateLookup.innerHTML = searching;
    }
}

function findRate(e164Number) {
    var numberControl = document.getElementById("number");
    numberControl.value = e164Number;
}
