if(window.document.body)
{
   var BodyWidth =window.document.body.clientWidth;
   var BodyHeight=window.document.body.clientHeight;
}
else
{
   var BodyWidth =window.innerWidth;
   var BodyHeight=window.innerHeight;
}
function createXmlHttpRequestObject()
{
   // enregistrer la référence de l'objet XMLHttpRequest;
   var xmlHttp;
   // fonctionnement avec tous les navigateurs exception IE6 et d'autres plus anciens
   try
   {
      // essai de créer l'objet XMLHttpRequest
      xmlHttp=new XMLHttpRequest();
   }
   catch(e)
   {
      // Suppose IE6 ou d'autres navigateurs plus anciens
      var XmlHttpVersions=new Array('MSXML2.XMLHTTP.6.0',
                                    'MSXML2.XMLHTTP.5.0',
                                    'MSXML2.XMLHTTP.4.0',
                                    'MSXML2.XMLHTTP.3.0',
                                    'MSXML2.XMLHTTP',
                                    'Microsoft.XMLHTTP');
      // essai chaque prog id jusqu'à ce que UN fonctionne
      for(var i=0;i<XmlHttpVersions.length && !xmlHttp;i++)
      {
         try
         {
            // essai de créer l'objet XMLHttpRequest
            xmlHttp=new ActiveXObject(XmlHttpVersions[i]);
         }
         catch(e) { }
      }
   }
   // retourne l'objet créé ou affiche un message d'erreur
   if(!xmlHttp)
   {
      window.alert('Error creating the XMLHttpRequest object.');
   }
   else
   {
      return xmlHttp;
   }
}
function ChangeRight(ModuleCode,ProfileID)
{
   var xmlHttp=createXmlHttpRequestObject();
   if(xmlHttp)
   {
      try
      {
         xmlHttp.open('POST','./index.php',true);
         xmlHttp.onreadystatechange=function()
         {
            if(xmlHttp.readyState==4)
            {
               if(xmlHttp.status==200)
               {
                  try
                  {
                     if(xmlHttp.responseText=='rw')
                     {
                        window.document.getElementById('img_'+ModuleCode+'_'+ProfileID).src='./media/picto/active/y.gif';
                     }
                     else if(xmlHttp.responseText=='ro')
                     {
                        window.document.getElementById('img_'+ModuleCode+'_'+ProfileID).src='./media/action/view.gif';
                     }
                     else if(xmlHttp.responseText=='na')
                     {
                        window.document.getElementById('img_'+ModuleCode+'_'+ProfileID).src='./media/picto/active/n.gif';
                     }
                  }
                  catch(e)
                  {
                     window.alert(e);
                  }
               }
               else
               {
                  window.alert('Error : '+xhr.status);
               }
            }
         }
         xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
         xmlHttp.send('module=admin&action=profile.update&ModuleCode='+ModuleCode+'&ProfileID='+ProfileID);
      }
      catch(e)
      {
         window.alert('Can\'t connect to server\n'+e.toString());
      }
   }
}
function ResourceAttachmentDelete(AttachmentID)
{
   if(window.confirm('Etes-vous sûr(e) de vouloir supprimer ce document ?\n\nCette opération est irréversible !'))
   {
      var xmlHttp=createXmlHttpRequestObject();
      if(xmlHttp)
      {
         try
         {
            xmlHttp.open('POST','./index.php',true);
            xmlHttp.onreadystatechange=function()
            {
               if(xmlHttp.readyState==4)
               {
                  if(xmlHttp.status==200)
                  {
                     try
                     {
                        if(xmlHttp.responseText=='-1')
                        {
                           window.alert('Vous n\'avez pas l\'autorisation de supprimer un fichier.');
                        }
                        else
                        {
                           ResourceSelectNode(xmlHttp.responseText);
                        }
                     }
                     catch(e)
                     {
                        window.alert(e);
                     }
                  }
                  else
                  {
                     window.alert('Error : '+xhr.status);
                  }
               }
            }
            xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
            xmlHttp.send('module=resource&action=attachment.delete&aid='+AttachmentID);
         }
         catch(e)
         {
            window.alert('Can\'t connect to server\n'+e.toString());
         }
      }
   }
   else
   {
      return false;
   }
}
function ResourceDirectoryDelete()
{
   if(tree.getSelectedItemId()>1 && window.confirm('Etes-vous sûr(e) de vouloir supprimer ce dossier ?\n\nCette opération est irréversible et supprimera TOUS les sous-dossiers ainsi que TOUS les fichiers de ce dossier !!!'))
   {
      var xmlHttp=createXmlHttpRequestObject();
      if(xmlHttp)
      {
         try
         {
            xmlHttp.open('POST','./index.php',true);
            xmlHttp.onreadystatechange=function()
            {
               if(xmlHttp.readyState==4)
               {
                  if(xmlHttp.status==200)
                  {
                     tree.refreshItem(xmlHttp.responseText);
                  }
                  else
                  {
                     window.alert('Error : '+xhr.status);
                  }
               }
            }
            xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
            xmlHttp.send('module=resource&action=directory.delete&nodeID='+tree.getSelectedItemId());
         }
         catch(e)
         {
            window.alert('Can\'t connect to server\n'+e.toString());
         }
      }
   }
}
function ResourceDirectoryNew()
{
   if(tree.getSelectedItemId().length==0)
   {
      window.alert('Vous devez d\'abord sélectionner le repertoire parent');
   }
   else
   {
      var name=window.prompt('Entrez le nom du dossier à créer :','Nouveau dossier');
      if(name && name.length>0)
      {
         var xmlHttp=createXmlHttpRequestObject();
         if(xmlHttp)
         {
            try
            {
               xmlHttp.open('POST','./index.php',true);
               xmlHttp.onreadystatechange=function()
               {
                  if(xmlHttp.readyState==4)
                  {
                     if(xmlHttp.status==200)
                     {
                        try
                        {
                           if(xmlHttp.responseText=='-1')
                           {
                              window.alert('Vous n\'avez pas l\'autorisation pour créer un dossier !');
                           }
                           else if(xmlHttp.responseText=='-2')
                           {
                              window.alert('Ce dossier existe déjà, saisissez un autre nom.');
                           }
                           else
                           {
                              tree.refreshItem(tree.getSelectedItemId());
                           }
                        }
                        catch(e)
                        {
                           window.alert(e);
                        }
                     }
                     else
                     {
                        window.alert('Error : '+xhr.status);
                     }
                  }
               }
               xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
               xmlHttp.send('module=resource&action=directory.new&name='+name+'&parent='+tree.getSelectedItemId());
            }
            catch(e)
            {
               window.alert('Can\'t connect to server\n'+e.toString());
            }
         }
      }
   }
}
function ResourceDirectoryRename()
{
   var tab=window.document.getElementById('where_am_i').innerHTML.split(' » ');
   var name=window.prompt('Entrez le nouveau nom du dossier :',tab[tab.length-1]);
   if(name && name.length>0)
   {
      var xmlHttp=createXmlHttpRequestObject();
      if(xmlHttp)
      {
         try
         {
            xmlHttp.open('POST','./index.php',true);
            xmlHttp.onreadystatechange=function()
            {
               if(xmlHttp.readyState==4)
               {
                  if(xmlHttp.status==200)
                  {
                     try
                     {
                        if(xmlHttp.responseText=='-1')
                        {
                           window.alert('Vous n\'avez pas l\'autorisation pour renommer un dossier.');
                        }
                        else if(xmlHttp.responseText=='-2')
                        {
                           window.alert('Ce dossier existe déjà, saisissez un autre nom.');
                        }
                        else
                        {
                           tree.refreshItem(0);
                           ResourceSelectNode(1);
                        }
                     }
                     catch(e)
                     {
                        window.alert(e);
                     }
                  }
                  else
                  {
                     window.alert('Error : '+xhr.status);
                  }
               }
            }
            xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
            xmlHttp.send('module=resource&action=directory.rename&DirectoryID='+tree.getSelectedItemId()+'&name='+name);
         }
         catch(e)
         {
            window.alert('Can\'t connect to server\n'+e.toString());
         }
      }
   }
}
function ResourceSelectNode(nodeID)
{
   window.document.getElementById('list_of_files').innerHTML='<div style="padding:5em; text-align:center;">Chargement des documents...</div>';
   var xmlHttp=createXmlHttpRequestObject();
   if(xmlHttp)
   {
      try
      {
         xmlHttp.open('POST','./index.php',true);
         xmlHttp.onreadystatechange=function()
         {
            if(xmlHttp.readyState==4)
            {
               if(xmlHttp.status==200)
               {
                  try
                  {
                     var xmlRoot=xmlHttp.responseXML.documentElement;
                     window.document.getElementById('where_am_i').innerHTML=xmlRoot.getElementsByTagName('directory')[0].firstChild.data;

                     var CodeHTML='';
                     var ListElements=xmlRoot.getElementsByTagName('files')[0].getElementsByTagName('file');
                     for(var i=0;i<ListElements.length;i++)
                     {
                        CodeHTML+='<div class="resource_file bg'+(i%2)+'">';
                        CodeHTML+='<div><a href="./index.php?module=resource&amp;action=attachment.download&amp;aid='+ListElements[i].getAttribute('id')+'">'+ListElements[i].getAttribute('name')+'</a></div>';
                        CodeHTML+='<div class="info">Taille : '+locale_size(ListElements[i].getAttribute('size'))+'</div>';
                        CodeHTML+='<div class="info">Auteur : '+ListElements[i].getAttribute('author')+'</div>';
                        if(xmlRoot.getAttribute('profile')==1)
                        {
                           CodeHTML+='<div class="info">Statut : ';
                           if(ListElements[i].getAttribute('confirmed')=='w')
                           {
                              CodeHTML+='<span><img src="./media/picto/active/w.gif" alt="en attente" style="vertical-align:middle;" />en attente</span>';
                           }
                           else
                           {
                              CodeHTML+='<a href="javascript:void(0);" onclick="javascript:ResourceSetStatus(\''+ListElements[i].getAttribute('id')+'\',\'w\');"><img src="./media/picto/active/w-off.gif" alt="en attente" />en attente</a>';
                           }
                           if(ListElements[i].getAttribute('confirmed')=='y')
                           {
                              CodeHTML+='<span><img src="./media/picto/active/y.gif" alt="valid&eacute;" style="vertical-align:middle;" />valid&eacute;</span>';
                           }
                           else
                           {
                              CodeHTML+='<a href="javascript:void(0);" onclick="javascript:ResourceSetStatus(\''+ListElements[i].getAttribute('id')+'\',\'y\');"><img src="./media/picto/active/y-off.gif" alt="valider" />valider</a>';
                           }
                           if(ListElements[i].getAttribute('confirmed')=='n')
                           {
                              CodeHTML+='<span><img src="./media/picto/active/n.gif" alt="refus&eacute;" style="vertical-align:middle;" />refus&eacute;</span>';
                           }
                           else
                           {
                              CodeHTML+='<a href="javascript:void(0);" onclick="javascript:ResourceSetStatus(\''+ListElements[i].getAttribute('id')+'\',\'n\');"><img src="./media/picto/active/n-off.gif" alt="refuser" />refuser</a>';
                           }
                           CodeHTML+='<a href="javascript:void(0);" onclick="javascript:ResourceAttachmentDelete(\''+ListElements[i].getAttribute('id')+'\');" style="margin-left:2em; color:red;"><img src="./media/action/delete.gif" alt="supprimer" />supprimer</a>';
                           CodeHTML+='<a href="javascript:void(0);" onclick="javascript:window.open(\'./index.php?module=resource&amp;action=attachment.diffusion&amp;aid='+ListElements[i].getAttribute('id')+'&amp;parent='+ListElements[i].getAttribute('parent')+'\',\'Diffusion\',\'top=0,left=0,width=640,height=480,scrollbars=1,resizable=1\');" style="color:indigo;"><img src="./media/action/view.gif" alt="diffusion" />diffusion</a>';
                           CodeHTML+='</div>';
                        }
                        else
                        {
                           CodeHTML+='<div class="info">Statut : ';
                           if(ListElements[i].getAttribute('confirmed')=='w')
                           {
                              CodeHTML+='<span>en attente</span>';
                           }
                           else if(ListElements[i].getAttribute('confirmed')=='y')
                           {
                              CodeHTML+='<span>valid&eacute;</span>';
                           }
                           else if(ListElements[i].getAttribute('confirmed')=='n')
                           {
                              CodeHTML+='<span>refus&eacute;</span>';
                           }
                           CodeHTML+='</div>';
                        }
                        CodeHTML+='</div>';
                     }
                     if(ListElements.length==0)
                     {
                        //CodeHTML='<div style="padding:5em; text-align:center;">Il n\'y a aucun document <u>dans ce r&eacute;pertoire</u>.<br /><br /><strong style="font-size:1.1em;">Vous pouvez parcourir d\'autres r&eacute;pertoires dans l\'arborescence &agrave; gauche</strong>.</div>';
                        CodeHTML='';
                     }

                     window.document.getElementById('list_of_files').innerHTML=CodeHTML;
                  }
                  catch(e)
                  {
                     window.alert(e);
                  }
               }
               else
               {
                  window.alert('Error : '+xhr.status);
               }
            }
         }
         xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
         xmlHttp.send('module=resource&action=directory.read&nodeID='+nodeID);
      }
      catch(e)
      {
         window.alert('Can\'t connect to server\n'+e.toString());
      }
   }
}
function ResourceSetStatus(AttachmentID,AttachmentStatus)
{
   var xmlHttp=createXmlHttpRequestObject();
   if(xmlHttp)
   {
      try
      {
         xmlHttp.open('POST','./index.php',true);
         xmlHttp.onreadystatechange=function()
         {
            if(xmlHttp.readyState==4)
            {
               if(xmlHttp.status==200)
               {
                  try
                  {
                     if(xmlHttp.responseText=='-1')
                     {
                        window.alert('Vous n\'avez pas les autorisations nécessaires pour changer le statut de ce document.');
                     }
                     else if(xmlHttp.responseText=='-2')
                     {
                        window.alert('Le document n\'existe pas.');
                     }
                     else
                     {
                        ResourceSelectNode(xmlHttp.responseText);
                     }
                  }
                  catch(e)
                  {
                     window.alert(e);
                  }
               }
               else
               {
                  window.alert('Error : '+xhr.status);
               }
            }
         }
         xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
         xmlHttp.send('module=resource&action=attachment.setstatus&AttachmentID='+AttachmentID+'&AttachmentStatus='+AttachmentStatus);
      }
      catch(e)
      {
         window.alert('Can\'t connect to server\n'+e.toString());
      }
   }
}
function locale_size(sizeNumber)
{
   if(sizeNumber/1024>1)
   {
      sizeNumber=sizeNumber/1024;
      if(sizeNumber/1024>1)
      {
         sizeNumber=sizeNumber/1024;
         if(sizeNumber/1024>1)
         {
            return (sizeNumber/1024).toFixed(1)+' gio';
         }
         else
         {
            return sizeNumber.toFixed(1)+' mio';
         }
      }
      else
      {
         return sizeNumber.toFixed(1)+' kio';
      }
   }
   else
   {
      return sizeNumber+' octets';
   }
}