/*

La fonction load_event est celle qui est appellée lorsque l'utilisateur a sélectionné un évènement depuis la liste déroulante.   Elle va afficher le formulaire de proposition/d'édition avec l'évènement chargé.

*/

/* Masque une DIV et en affiche une autre (principe du toggle).    Utilisé dans le fichier administrator\components\com_sportingevents\views\classement\tmpl\form.php */

function se_toggle(sDiv1, sDiv2) {

   div1 = document.getElementById('se_div_'+sDiv1);
   img1 = document.getElementById('se_img_'+sDiv1);
   div2 = document.getElementById('se_div_'+sDiv2);

   if (div1.style.display=='none') {
      div1.style.display='inline';
      div2.style.display='none';
      img1.src = se_img_collapse;
   } else {
      div1.style.display='none';
      div2.style.display='inline';
      img1.src = se_img_expand;
   }

   return true;

}


/*

Cette fonction va permettre de "déplier/fermer" une DIV.   Ainsi, dans l'écran de création d'un évènement, certaines rubriques sont par défaut "fermées".
C'est le cas de la zone Commentaire qui est une zone optionnelle.   Donc, afin de ne pas surcharger l'écran, cette zone ne sera dépliée que si l'utilisateur
le souhaite; ceci après avoir cliqué sur un bouton "+"

*/

function expand(sName, sExpand, sCollapse) {

   div = document.getElementById('se_div'+sName);
   img = document.getElementById('se_imgExpand'+sName);

   if (div.style.display=='none') {
      if (img!=undefined) img.src=sCollapse;
      div.style.display='inline';
   } else {
      if (img!=undefined) img.src=sExpand;
      div.style.display='none';
   }
}

/*

Cette fonction va charger l'image dont l'URL a été encodée.

Le premier paramètre est le nom de l'image (càd le nom défini dans l'attribut ID du tag IMG) tandis que le second paramètre le nom du champs INPUT (càd l'ID) où se trouve l'adresse URL
de l'image.

example:

   <img id="imgVignette" [...] />
   <input id="photo" onchange="loadimg('imgVignette','photo');"  [...] />

*/

function loadimg(sImgName, sLocation) {

  var img = document.getElementById(sImgName);

  img.setAttribute("src", document.getElementById(sLocation).value);
}

// -----------------------------------------------------------------------------------------------------------------------------
//
// Cette fonction est p.e. utilisée dans l'écran backend de gestion des paramètres.
//
// Permet d'afficher / cacher un "sous-écran".
//
// -----------------------------------------------------------------------------------------------------------------------------

function showframe(sDivName) {

   if ((sDivName != "") && ("se_frm_"+sDivName != se_old_active_frame)) {

      sURLName = "se_url_"+sDivName;
      sDivName = "se_frm_"+sDivName;

      var div = null;

      // Masque la précédente frame et affiche la nouvelle

     if (!(se_old_active_frame=='')) div = document.getElementById(se_old_active_frame);

     if (div != null) {
        div.style.display="none";

        div = document.getElementById(sDivName);
        if (div != null) div.style.display="inline";
     }

     se_old_active_frame = sDivName;

     // Désactive la précédente URL et active la nouvelle

     div = document.getElementById(se_old_active_url);

     if (div != null) {

        div.className="inactive";

        div = document.getElementById(sURLName);
        if (div != null) div.className="active";

     }

     se_old_active_url   = sURLName;

   } // if ((sDivName != "") && ("se_frm_"+sDivName != se_old_active_frame))

} // function showframe(sDivName)

// -----------------------------------------------------------------------------------------------------------------------------
//
// La fonction load_image est utilisée dans la fonction php DrawFields qui se trouve dans Utils.php.   L'objectif est de visualiser
// l'image qui a été cliquée depuis une liste déroulante.
//
// Trois paramètres :
//
//   Le folder où se situent les images
//   Le nom de la combobox sur laquelle l'utilisateur a cliqué
//   Le nom de l'image <img> afin de pouvoir en modifier le src
//
// -----------------------------------------------------------------------------------------------------------------------------

function load_image(sFolder, sCbx, sImg) {

   var cbx = document.getElementById(sCbx);
   var ndx = cbx.selectedIndex;

   var imgsrc = '';

   if (ndx!=0) imgsrc = cbx.options[ndx].value;

   if (imgsrc!='') {

      img = document.getElementById(sImg);
      img.src = sFolder + imgsrc;

   } else {

      img.src = '';
   }

} // function load_image(sFolder, sCbx, sImg)

function to_lower(str) {
   return str.toLowerCase();
}

// -----------------------------------------------------------------------------------------------------------------------------
//
// Retrouve un paramètre depuis le querystring
//
// http://www.bloggingdeveloper.com/post/JavaScript-QueryString-ParseGet-QueryString-with-Client-Side-JavaScript.aspx
//
// Exemple : alert(getQuerystring('debug'));
//
// -----------------------------------------------------------------------------------------------------------------------------

function getQuerystring(key, default_) {
  if (default_==null) default_="";
  key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
  var qs = regex.exec(window.location.href);
  if(qs == null)
    return default_;
  else
    return qs[1];
} // function getQuerystring(key, default_) {

// -----------------------------------------------------------------------------------------------------------------------------
//
// Gestionnaire générique pour afficher un message d'erreur
//
// -----------------------------------------------------------------------------------------------------------------------------

function show_failure(sTitle, sResponse) {

   // Affichage de l'erreur dès lors qu'on a activé le mode debug ou que l'on est en localhost

   if ((getQuerystring('debug',0)>=1) || (location.host=='127.0.0.1') || (location.host=='localhost')) {

      j = sTitle.length + 10;
      var str = "";
      for (var i = 0; i < j; i++){ str += "-"; }

      if (sTitle!='') { sTitle = str+'\n- '+sTitle+' -\n'+str+'\n\n'; }

      if (sResponse.responseText!=undefined) { sMsg = sResponse.responseText; } else { sMsg = sResponse; }

      alert('======> ERROR <======\n' + sTitle + '\n\n' + sMsg);
   }

   return true;

} // function show_failure(response)

