var country_url = new Object();

function countryLink(country_name){
  //alert(country_name + " = " + country_url[country_name]);

  if (country_url[country_name] != null) {
    window.open(country_url[country_name], "_blank");
  }

}

function xml_read(xml_url) {
    var http_obj = false;
    try {
        if (window.XMLHttpRequest) {
            http_obj = new XMLHttpRequest();
            http_obj.overrideMimeType('text/xml');
        } else if (window.ActiveXObject) {
            try {
                http_obj = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_obj = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
    } catch (e) {}

    if (!http_obj) {
        alert("cannot use javascript/xml");
        return false;
    } 

    http_obj.open("GET", xml_url , true);
    http_obj.onreadystatechange = function() {
        if ((http_obj.readyState == 4) && (http_obj.status == 200)) {
            var obj_xml = http_obj.responseXML;
            var obj_country = obj_xml.getElementsByTagName("office");

            for (var idx = 0; idx < obj_country.length; idx++) {
                var country = parse_node(obj_country[idx].childNodes);
                if ((country["office_url"] != null) && (country["office_url"] != "null")) {
                    var name = country["office_name"];
                    if (name.indexOf(" ") == 0) {
                        name = name.substring(1, name.length - 1);
                    }
                    if (name.indexOf(" ") == name.length - 1) {
                        name = name.substring(0, name.length - 1);
                    }
                    country_url[name] = country["office_url"];
                }
            }
        }
    };
    http_obj.send("");
}


function parse_node(node) {
    var result = new Object();
    for (var idx = 0; idx < node.length; idx++) {
        var node_name = node[idx].tagName;
        if ((node_name != null) && (node[idx].firstChild != null)) {
            result[node_name] = node[idx].firstChild.nodeValue;
        }
    }
    return result;
}
