

    function populateCountryList(lang) {
      var url = "/includes/php/rpc.php/countrylist/"+lang+"/xml";
      ajaxCountryList(url);
    }



    function ajaxCountryList(url) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
            // set type accordingly to anticipated content type
            http_request.overrideMimeType('text/xml'); /**** XML ****/
         }
      } 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('Cannot create XMLHTTP instance');
         return false;
      }

      http_request.open('GET', url, true);

      http_request.onreadystatechange = function() {
          if (http_request.readyState == 4) {
             if (http_request.status == 200) {
               result = http_request.responseXML;
               var countries = result.getElementsByTagName("country");
               if(!countries.length || countries.length==0) {
                 alert("Empty result set");
                 return;
               }
               /* dirty method (build some html with strings instead of using DOM */

               // check if a select element was already selected
               if(trim(document.getElementById('countryIndex').innerHTML)!='') {
                 var cValue = trim(document.getElementById('countryIndex').innerHTML);
               } else {
                 var cValue = "";
               }

               var options = '<option value="" SELECTED>'+ document.getElementById("pays-select-default").innerHTML+"</option>\n";
               for(c=0;c<countries.length;c++) {

                 var cName  = trim(countries[c].firstChild.nodeValue); // get label
                 var cAttr  = trim(countries[c].getAttribute('id'));   // get id

                 if (cAttr == cValue) {
                   var selected = 'selected="selected"';
                 } else {
                   var selected = '';
                 }
                 if(cName!='' && cName!=undefined) {
                   options+='<option value="'+cAttr+'" '+ selected + '>'+cName+"\n";
                 }
               }
               var selectMenu = '<select name="pays" tabindex="12" id="pays-select">'+"\n"+options+"</select>\n";
               document.getElementById('countrySelector').innerHTML = selectMenu;
             } else {
               alert(document.getElementById('problem-with-countrylist').innerHTML);
             }
          }
      };
      http_request.send(null);
    }
