function updateMetroList(http_request) {
    var oldPlace = document.getElementById('metroPlaceField');
    if (oldPlace) {
        oldPlace.innerHTML = http_request.responseText;
    } else {
        var insertHere = document.getElementById('ratingField');
        newField = document.createElement('td');
        newField.id = 'metroPlaceField';
        newField.innerHTML = http_request.responseText;
        insertHere.parentNode.insertBefore(newField,insertHere);
        newField = document.createElement('td');
        newField.id = 'metroSpace';
        newField.innerHTML = '&nbsp;';
        insertHere.parentNode.insertBefore(newField,insertHere);
    }
}

function displayMetroResult(http_request) {
    var xmldoc = http_request.responseXML.documentElement;
    var metroCount = xmldoc.getElementsByTagName('result')[0].firstChild.data;
    

    if (metroCount > 1) {
        var regionId = xmldoc.getElementsByTagName('regionId')[0].firstChild.data;
        makeRequest('ajax.php?action=metroList&regionId='+regionId, updateMetroList);
    } else {
        var field = document.getElementById('metroPlaceField');
        if (field) {
            space = document.getElementById('metroSpace');
            field.parentNode.removeChild(field);
            space.parentNode.removeChild(space);
        }
    }
    //var root_node = xmldoc.getElementsByTagName('result');
    //alert(root_node.firstChild.data);
    /*if (root_node.firstChild.data > 1) {
    alert('has Metros');
    } else {
    alert("hasn't Metros");
    }*/
    //alert(root_node.firstChild.data);
}

function checkMetro(regionObj) {
    var regionId = regionObj.options[regionObj.selectedIndex].value;
    makeRequest('ajax.php?action=checkMetro&regionId='+regionId, displayMetroResult);
}

function makeRequest(url, displayResponse) {

    var http_request = false;

    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
            // See note below about this line
        }
    } 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) {
        alert('Giving up :( Cannot create an XMLHTTP instance');
        return false;
    }
    http_request.onreadystatechange = function() { alertContents(http_request, displayResponse); };
    http_request.open('GET', '/'+url, true);
    http_request.send(null);

}

function alertContents(http_request, displayResponse) {

    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            displayResponse(http_request);
            //document.getElementById('metroPlace').innerHTML = http_request.responseText;
            //alert(http_request.responseText);
        } else {
            alert('There was a problem with the request.');
        }
    }

}
