// {{{
function loadMenu()
{
  //*** var oArticle = new Article("corps-page");
  //*** ConsultService = new HistoryService("article-light.php3", "historyElement");

  // Traitement que depuis l'élément HTML #menu-rubrique
  if( !$('menu-rubrique') ) return ;

  // On sélectionne tous les liens vers des articles (attribut : rel="link-article")
  $('menu-rubrique').getElementsBySelector('[rel="link-article"]').each( function( _link_ )
  {
    if( _link_.href != '' )
    {
      _link_.onclick = function()
      {
        if( $('menu-rubrique') )
          $('menu-rubrique').getElementsByClassName('select').each( function(p) { p.removeClassName('select'); });
          
        if( $('p_'+this.id) )
          $('p_'+this.id).addClassName('select');
        
        var _params = $H(this.href.toQueryParams()) ;
        
        // Mise à jour du chemin de fer
        new Ajax.Updater( 'fils-menu', 'fils-rubrique.php3',
        {
          method: 'get',
          evalScripts: true,
          parameters: _params.toQueryString()
        });
        
        // Mise à jour de la section du corps d'article
        new Ajax.Updater( 'corps-page', 'article-light.php3',
        {
          method: 'get',
          evalScripts: true,
          parameters: _params.toQueryString(),
          onLoading: function()
          {
            $('lo').innerHTML = 'Chargement en cours...';
            Element.hide('lo');
            Effect.Appear('lo',{duration:0});
          },
          onComplete: function(requester)
          {
            //updLink('fiche-programme','[rel="link-document"]');
            $('lo').innerHTML = 'Chargement terminé.';
            if( Element.visible('lo') ) Effect.Fade('lo',{delay:1,duration:0.3});
            
            var _btnSubmit = $('soumettre');
            if( _btnSubmit )
            {
              _btnSubmit.onclick = validerFormulaire ;
            }
          }
        });
        
        //*** ConsultService.getArticle(_infoArticle.id_article,_infoArticle.id_rubrique);
        return false;
      }
    }
  });

  // On sélectionne tous les liens vers un formulaire (attribut : rel="link-formulaire")
  $('menu-rubrique').getElementsBySelector('[rel="link-formulaire"]').each( function( _link_ )
  {
    if( _link_.href != '' )
    {
      _link_.onclick = function()
      {
        if( ! $('formulaire') ) return false ;
        
        var _params = $H(this.href.toQueryParams()) ;
        
        if( $('formulaire').style.display != 'none' )
        {
          $('formulaire').innerHTML = '&nbsp;';
          $('formulaire').hide();
          return false;
        }
        $('formulaire').show();
        
        // Mise à jour de la section du corps d'article
        new Ajax.Updater( 'formulaire', 'article-light.php3',
        {
          method: 'get',
          evalScripts: true,
          parameters: _params.toQueryString()
        });
        
        return false;
      }
    }
  });      

  //*** ConsultService.registerRequest("receiveArticle", { responseText : $('corps-page').innerHTML });
  //*** ConsultService.addEventListener("receiveArticle", oArticle.receiveUpdateHandle);
}
// }}}

// {{{ updLink
function updLink(idParent,selector,titre)
{
  // Remplacement des liens sur des documents
  if( ! $(idParent) ) return false;

  $(idParent).getElementsBySelector(selector).each( function( _link_ )
  {
    if( _link_.getAttribute('href') )
    {
      _link_.onclick = function ()
      {
        var _titre = ( this.title ) ? this.title : this.href.split('/').last().split('&').first() ;
        
        var _filename = this.href.split('/').last().split('&').first() ;
        var _extension = ( _filename ) ? _filename.split('.').last() : '' ;
        
        var query = $H( this.href.parseQuery() ) ;
        
        var _popup = new Window (
        {
          className: "alphacube",
          maximizable: true,
          resizable: true,
          closable: true,
          minimizable: false,
          draggable: false,
          showEffect: Effect.Appear,
          destroyOnClose: true,
          url: ( _extension != "pdf" ) ? this.href : 'loadPDF.php?file='+this.href.escapeHTML(),
          title: ( titre ) ? titre : _titre,
          width: 900,
          height: ( window.innerHeight ? window.innerHeight : document.body.offsetHeight )-80,
          recenterAuto: false
        }) ;
        
        _popup.setConstraint(true, {left:5, right:5, top: 5, bottom:5})
        _popup.showCenter(false) ;

        return false ;
      }
    }
  }) ;
}
// }}}

// {{{ validerFormulaire
function validerFormulaire()
{
  new Ajax.Updater( 'corps-page', $('frm_documentation').action,
  {
    method: 'post' ,
    evalScripts: true,
    parameters: Form.serialize('frm_documentation') ,
    onLoading: function()
    {
      $('lo').innerHTML = 'Validation en cours...';
      Element.show('lo');
      $('soumettre').value = 'Validation en cours...';
      $('soumettre').disable();
    },
    onComplete: function (requester)
    {
      $('lo').innerHTML = 'Opération terminé.';
      Effect.Fade('lo',{delay:1});
      
      if( $('soumettre') ) $('soumettre').onclick = validerFormulaire ;
      if( $('btnValider') )
      {
        //document.location.href='/gambetta/article-light.php3?id_rubrique=37&_contact_&page=contact';
        var reg = new RegExp("href = \"(.*)\"","g");
        var _url = reg.exec($('btnValider').onclick.toString())[1] ;
        var _params = $H(_url.toQueryParams()) ;
        
        $('btnValider').onclick = function ()
        {
          new Ajax.Updater( 'corps-page', _url.split('?').first(),
          {
            method: 'get' ,
            parameters: $H({id_rubrique: _params.id_rubrique}).toQueryString(),
            evalScripts: true,
            onLoading: function()
            {
              $('lo').innerHTML = 'Chargement en cours...';
              Element.show('lo');
            },
            onComplete: function (requester)
            {
              $('lo').innerHTML = 'Chargement terminé.';
              Effect.Fade('lo',{delay:1});
              
              if( $('soumettre') ) $('soumettre').onclick = validerFormulaire ;
              if( $('valider') ) $('valider').onclick = retourForumulaire ;
            }
          });
          return false;
        }
      }
    }
  });
  return false;
}
// }}}

// {{{ validerFormulaireProjet
function validerFormulaireProjet()
{
  $('lo').innerHTML = 'Validation en cours...';
  Element.show('lo');
  $('soumettre').value = 'Validation en cours...';
  $('soumettre').disable();
  $('frm_documentation').submit();
  return false;   
}    

// {{{ loadPage
function loadPage()
{

  var query = document.location.href.toQueryParams();

  // Mise à jour des liens dans la bandeau verticale de gauche
  if( query.id_rubrique )
  {
    loadMenu() ;
    updLink('fiche-programme','[rel="link-document"]');
  }
  else
  {
    //if( $('tbl-bandeau') ) $('tbl-bandeau').remove();
  }

  // Diaporama des images d'une fiche projet en cours
  if( $('diaporama') )
  {
    var diapo_prog_encours = new Diaporama(
    {
      effect: 1,
      id_diapo:'diaporama',
      id_nav:'nav',
      by_classname:'image',
      time: 3000,
      compteur: false,
      start: false,
      imgNav: {
        previous: 'IMG/precedent.gif',
        previousOn: 'IMG/precedent2.gif',
        play: 'IMG/play.gif',
        playOn: 'IMG/play2.gif',
        pause: 'IMG/pause.gif',
        pauseOn: 'IMG/pause2.gif',
        next: 'IMG/suivant.gif',
        nextOn: 'IMG/suivant2.gif',
        width: '265px',
        display: 'all',
        refresh: true
      }
    }) ;
    diapo_prog_encours.init();
  }

  // Diaporama des programmes réalisés
  if( $('tbl-prog_realise') && false )
  {
    var diapo_prog_realise = new Diaporama(
    {
      id_diapo:'tbl-prog_realise',
      id_nav:'nav-realise',
      by_classname:'prog_realise',
      time: 3000,
      compteur: false,
      start: false,
      imgNav: {
        previous: 'IMG/precedent.gif',
        previousOn: 'IMG/precedent2.gif',
        play: 'IMG/play.gif',
        playOn: 'IMG/play2.gif',
        pause: 'IMG/pause.gif',
        pauseOn: 'IMG/pause2.gif',
        next: 'IMG/suivant.gif',
        nextOn: 'IMG/suivant2.gif',
        width: '300px',
        display: 'all',
        refresh: false
      }
    }) ;
    diapo_prog_realise.init();
  }
  
  if( $('tbl-prog_realise2') )
  {
    var diapo_prog_realise = new Slideshow(
    {
    });
    
    diapo_prog_realise.init();
  }

  // Menu page d'accueil
  if( $('main-menu') && $('root') )
  {
    var mainMenu = new Menu( 'root', {
      tagMenuContainer: 'ul',
      classMenuContainer: 'menuContainer' ,
      tagMenuItem: 'li',
      classMenuItem: 'menuItem' ,
      collapseBorders: false
    } ) ;
  }
  // Menu page d'accueil instit
  if($('instit'))
  {
    var mainMenu = new Menu( 'instit', {
      tagMenuContainer: 'ul',
      classMenuContainer: 'menuContainer' ,
      tagMenuItem: 'li',
      classMenuItem: 'menuItem' ,
      collapseBorders: false
    } ) ;
  }
  
  
   if( $('soumettre') && $('fiche_proj') ) $('soumettre').onclick = validerFormulaireProjet ;

}
// }}}

Event.observe( window, "load", loadPage, false ) ;

