// Bibliothèque qui permet de charger du code HTML dans une div "container"  (via HTTP request)
// IMPORTANT : La div "container" doit avoir pour suffixe d'id : "_container"
//
//        -> fillContainer (
//                  sel_val                                             1er paramètre passé dans la query string
//                  container_prefixe_id_name        prefixe de l'element "container"
//                  url                                                    url relative du script serveur appelé (PHP))
//                  parameters                                      éventuels autres parametres passés dans la query string
//          )
//
//      ou à partir d'un élement de formulaire :
//
//         -> FfillContainer (
//                  field_control_id_name                 Id de l'element de formulaire dont on veut récupérer la value (qui sera envoyée en 1er paramètre de la query string )
//                  container_prefixe_id_name        prefixe de l'element "container"
//                  url                                                    url relative du script serveur appelé (PHP))
//                  parameters                                      éventuels autres parametres passés dans la query string
//          )
//
// utilisation :
//
// 1) Inclure ces fichiers js dans le source HTML de la page :
//
// <script type="text/javascript" src="../s00_commun/scriptaculous/lib/prototype.js"></script>
// <script type="text/javascript" src="../s00_commun/scriptaculous/src/scriptaculous.js"></script>
// <script type="text/javascript" src="../s00_commun/scriptaculous/plugins/fillContainer.js"></script>
//
//  2)  Inclure ce code dans le source HTML
//
//          modifier les valeur "xxxxxname", "yyyyyvalue" et "zzzzzurl_script_php" (script générant le code complet du <select> qui sera inséré dans la div "yyyyyname_container")
//          le champ parameters sert à préciser d'éventuels autres paramères dans la querystring (du type : 'param1=toto&param2=titi')
//
//           <select id="field_id" name="field_name" onchange="FfillContainer('field_id', 'prefixe', 'mon_script_php', '')">
//            <option value="0" >-----------</option>
//            <option value="1">a</option>
//            <option value="2">b</option>
//            <option value="3">c</option>
//          </select>
//          <div id="prefixe_container"></div>


function fillContainer(sel_val, container_prefixe_id_name, url, parameters, complete_function)
{
  var container_id_name = container_prefixe_id_name + '_container';

  if(sel_val.length>0){
    var pars;

    if(parameters.length>0) pars = 'sel_val='+sel_val + '&' + parameters;
    else pars = 'sel_val='+sel_val;

    if (complete_function == "")
      var myAjax = new Ajax.Updater(container_id_name, url, {method: 'get', parameters: pars, onFailure: reportError});
    else
      eval("var myAjax = new Ajax.Updater(container_id_name, url, {method: 'get', parameters: pars, onFailure: reportError, onComplete: " + complete_function + " });");
  }
}

function FfillContainer(field_control_id_name, container_prefixe_id_name, url, parameters)
{
  var sel_val = $F(field_control_id_name);

  if (FfillContainer.arguments.length > 4) complete_function = FfillContainer.arguments[4];
  else                                     complete_function = "";

  fillContainer(sel_val, container_prefixe_id_name, url, parameters, complete_function)
}


function reportError(request)
{
  alert('Sorry. There was an error.');
}
