/* Merged Plone Javascript file
 * This file is dynamically assembled from separate parts.
 * Some of these parts have 3rd party licenses or copyright information attached
 * Such information is valid for that section,
 * not for the entire composite file
 * originating files are separated by ----- filename.js -----
 */

/* ----- getHTTPObject.js ----- */
function getHTTPObject()
{
  var xmlhttp = false;

  /* Compilation conditionnelle d'IE */
  /*@cc_on
  @if (@_jscript_version >= 5)
     try
     {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
     }
     catch (e)
     {
        try
        {
           xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (E)
        {
           xmlhttp = false;
        }
     }
  @else
     xmlhttp = false;
  @end @*/

  /* on essaie de cré l'objet si ce n'est pas dé fait */
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
  {
     try
     {
        xmlhttp = new XMLHttpRequest();
     }
     catch (e)
     {
        xmlhttp = false;
     }
  }

  return xmlhttp;
}


/* ----- load_institutions.js ----- */
if (window.addEventListener) window.addEventListener("load",loadInstitutionsInit,false);

function loadInstitutionsInit ()
{
    if (document.getElementById('country_id')) {
        document.getElementById('country_id').addEventListener("change", loadInstitutions, false);
    }
}

function loadInstitutions ()
{
    var country_id = "";

    if (document.getElementById('country_id')) {
        country_id = document.getElementById('country_id').value;
    }

    var absolute_url = location.href;
    var url_array = absolute_url.split("/");
    var method_url = "";

    for(i=0; i < url_array.length-1; i++) {
        method_url+=url_array[i]+"/";
    }
    method_url+="get_list_institutions_per_country"

    var parameters = "country_id="+country_id;

    xmlhttp=getHTTPObject();

    if (xmlhttp==null) {
        alert ("Browser does not support HTTP Request");
        return;
    } 

    xmlhttp.onreadystatechange=stateChanged;
    xmlhttp.open("GET",method_url+"?"+parameters,true);
    xmlhttp.send(null);
}

function stateChanged() 
{ 
    if (xmlhttp.readyState==4 || xmlhttp.readyState=="complete") { 
        handleResponse(xmlhttp.responseText);
    } 
} 

function handleResponse(string) {
    // Parse the response
    var list_unis       = string.split("\n");
    var list_uni_ids    = new Array();
    var list_uni_names  = new Array();

    // Collect uni_ids and uni_names
    for(var i=0; i < list_unis.length; i++) {
        uni_item          = list_unis[i].split('|');
        list_uni_ids[i]   = uni_item[0];
        list_uni_names[i] = uni_item[1];
    }

    selectBox=document.getElementById('institution_name');

    // Empty the list of institutions
    selectBox.innerHTML='';

    opt = document.createElement("option");
    opt.setAttribute('value','');

    if (list_unis[0]) {
        var content = 'Choose an institution'
    }
    else {
        var content = 'No institution available';
    }

    var txt = document.createTextNode(content);
    opt.appendChild(txt);

    selectBox.appendChild(opt);

    if(list_unis[0]) {
        for (i = 0 ; i < list_uni_ids.length; i++ ) {
            opt = document.createElement("option");
            opt.setAttribute('value',list_uni_ids[i]);

            var txt = document.createTextNode(list_uni_names[i]);
            opt.appendChild(txt);

            selectBox.appendChild(opt);
        }
    }
}

