function showGFI(lien)
{
	// si le conteneurGFI n'est présent ou si le lien est vide, aucun action n'est faite
  if( $('#conteneur_gfi').length > 0 && lien != ""){
    
    //alert($('#conteneur_gfi').css('top'));
    if($('#conteneur_gfi').css('top') != '0px'){
      $('#conteneur_gfi').css('top' , 0);
    }
    
    // si la barre de défilement à été utilisé nous ajustons les positions
    if($('html').scrollTop() > 0){
      $('#conteneur_gfi').css('top' , $('html').scrollTop());
    }
    
    $('#conteneur_gfi').show();
    $('#contenu_gfi').show();
    $('#fade').show();
    
    $('select').map(function () { $(this).css('display', 'none'); });
    
    loadPage(lien);
  }
}


function showMAP()
{
  /* HACK IE 6 OUHHHHHH*/
  // récupération des tailles de l'élément contenu_gfi
  if($.browser.msie && $.browser.version == '6.0'){
    var hauteur = $('#contenu_gfi').find('div:first').height() + 8;
    var largeur = $('#contenu_gfi').find('div:first').width() + 16;
    
    $('#fadeMap').css('width', largeur);
    $('#fadeMap').css('height', hauteur);
    
    $('select').map(function () { $(this).css('display', 'none'); });
  }
  
  $('#map').show();
  $('#fadeMap').show();
}


//permet de cacher  le GFI
function hideGFI()
{
  // action uniquement si GFI présent
  if( $('#conteneur_gfi').length > 0){
    // suppression du conteneur GFI
    $('#conteneur_gfi').hide();
    
    // suppression du contenu du GFI pour éviter l"effet "clignotement"
    $("#contenu_gfi").empty();
    $('#contenu_gfi').hide();
    $('#fade').hide();
    
    // affichage de tous les éléments select
    $('select').map(function () { $(this).css('display', ''); });
  }
}


//fonction permettant de charger
function loadPage(lien)
{
  var sep = '?';
  
  // traitement du lien, détection du symbole ? s'il est présent nous ajoutons le paramètre avec le symbole esperluette (&)
  if(lien.indexOf(sep) >= 0){
    sep = '&';
  }
  
  // construction de l'url, ajout de l'attribut layout=no qui permet d'afficher la page brute
  lien += sep + 'layout=no';
  
  // chargement de la page
  $.ajax({
    url: lien,
    cache: false,
    success: function(html){
      $("#contenu_gfi").empty();
      $("#contenu_gfi").append(html);
      
      $('a[rel=loadPage]').map(function () { $(this).click( function(){
                                                  loadPage($(this).attr("href"));
                                                  return false;
                                                  });
                                            });
      
      $('area[rel=loadPage]').map(function () { $(this).click( function(){
                                                  loadPage($(this).attr("href"));
                                                  return false;
                                                  });
                                            });
      
      listeDivCloseGFI = $('a[rel=closegfi]').map(function () { $(this).click( function(){
                                                  hideGFI();
                                                  return false;
                                                  });
                                            });
      
      listeDivMAP = $('a[rel=map]').map(function () { $(this).click( function(){
                                                  showMAP();
                                                  return false;
                                                  });
                                            });
      
      // si des slides sont trouvés on les ferme
      listePSlide = $('p[rel=slide]');
      
      if(listePSlide.length > 0){
        $('p[rel=slide]').map(function () {
	  
				// fermeture des slides
				//$(this).parent().parent().find('.liste_diplome').css('display', 'none');
				$(this).parent().parent().find('.liste_diplome').map(function () {
				      
				  if($(this).attr("id") != "liste_diplome_0"){
				      
				    $(this).css('display', 'none');
				      
				  }	
				    
				});
				
                                // gestion du click sur le P
                                $(this).click(
                                        function(){
                                          // récupération des options de la balise P
                                          var objetJQ = $(this).parent().parent().find('#'+$(this).attr('option'));
                                          
                                          // animation de la DIV
                                          slide(objetJQ);
                                          
                                          // récupération de l'objet IMG, image représentant l'onglet > \/
                                          var picture = $(this).parent().find('img[@rel=slide]');
                                          
                                          var source = "/images/boutons/";
                                          var classCSS = "";
                                          var previousClassCSS = "";
					  var img_height = "";
					  var img_width = "";
                                          
                                          // selon l'état de la balise DIV, attribution de la bonne classe CSS et de la source pour la IMG
                                          if(objetJQ.css('height') == '1px'){
                                            source += 'deroule.png';
                                            classCSS = 'curseur_deroule';
                                            previousClassCSS = 'curseur_enroule';
					    img_height = 14;
					    img_width = 18;
                                          } else {
                                            source += 'enroule.png';
                                            classCSS = 'curseur_enroule';
                                            previousClassCSS = 'curseur_deroule';
					    img_height = 18;
					    img_width = 14;
                                          }
                                          
                                          // attribution des données classe CSS et source
                                          picture.attr('src', source);
					  picture.attr('height', img_height);
					  picture.attr('width', img_width);
                                          $(this).parent().find("." + previousClassCSS).attr('class', classCSS);
                                        });
                              });
      }
      
      listeIMGSlide = $('img[rel=slide]');
      
      if(listeIMGSlide.length > 0){
        $('img[rel=slide]').map(function () {
		              
                                
                                // attribution des images onglets
                                var source = $(this).attr("src").substr(0,$(this).attr("src").lastIndexOf("/"));
                                
				// si c'est la premiere ligne (1er valideur)
				if($(this).attr("option") == 'liste_diplome_0') {
				  
				  source += "/deroule.png";
				  
				  $(this).attr('src', source);
				  $(this).parent().attr('class', 'curseur_deroule');
				  $(this).attr('height', 14);
				  $(this).attr('width', 18);
				  
				}else{  
				
				  source += "/enroule.png";
				  
				  $(this).attr('src', source);
				  $(this).parent().attr('class', 'curseur_enroule');
				  $(this).attr('height', 18);
				  $(this).attr('width', 14);
				  
				}  
                                
                                // gestion du click sur l'image
                                $(this).click(
                                          function(){
                                            // récupération des options de la balise IMG
                                            var objetJQ = $(this).parent().parent().parent().find('#'+$(this).attr('option'));
                                            
                                            // animation de la DIV
                                            slide(objetJQ);
                                            
                                            var source = "/images/boutons/";
                                            var classCSS = "";
					    var img_height = "";
					    var img_width = "";
                                            
                                            // selon l'état de la balise DIV, attribution de la bonne classe CSS et de la source pour la IMG
                                            if(objetJQ.css('height') == '1px'){
                                              source += 'deroule.png';
                                              classCSS = 'curseur_deroule';
					      img_height = 14;
					      img_width = 18;
                                            } else {
                                              source += 'enroule.png';
                                              classCSS = 'curseur_enroule';
					      img_height = 18;
					      img_width = 14;
                                            }
                                            
                                            // attribution des données classe CSS et source
                                            $(this).attr('src', source);
					    $(this).attr('height', img_height);
					    $(this).attr('width', img_width);
                                            $(this).parent().attr('class', classCSS);
                                          });
                                
                                });
      }
      
      /*****************/
			/** SURBRILLANCE **/
			/*****************/
      // récupération des éléments TR utilisant la surbrillance
      var listeElementHL = $("[rel='highlights']");
      
      if(listeElementHL.length > 0){
        $("[rel='highlights']").map(function(){
                                    // gestion de l'événement hover
                                    $(this).hover(
                                      function(){
                                        // si l'élément est un TR alors nous regardons si le premier fils, le premier TD, contient l'attribut 'rowspan' si oui,
                                        // alors nous diffusons l'événement aux autres TR
                                        if(this.tagName == 'TR'){
                                          // test de la présence du mot clé 'cible'
                                          // s'il est présent on récupère l'ensemble des éléments qui correspondent à cette cible
                                          if($(this).attr('cible')){
                                            $('[cible=' + $(this).attr('cible') + ']').attr('class', $(this).attr('hover'));
                                          }
                                        }
                                        
                                        $(this).attr("class", $(this).attr('hover'));
                                      },
                                      function(){
                                        // si l'élément est un TR alors nous regardons si le premier fils, le premier TD, contient l'attribut 'rowspan' si oui,
                                        // alors nous diffusons l'événement aux autres TR
                                        if(this.tagName == 'TR'){
                                          // test de la présence du mot clé 'cible'
                                          // s'il est présent on récupère l'ensemble des éléments qui correspondent à cette cible
                                          if($(this).attr('cible')){
                                            $('[cible=' + $(this).attr('cible') + ']').attr('class', $(this).attr('out'));
                                          }
                                        }
                                        
                                        $(this).attr("class", $(this).attr('out'));
                                      }
                                    );
                                  });
      }
      
      /*****************/
			/** SURBRILLANCE DYNAMIQUE **/
			/*****************/
			var listeElementHLD = $("[rel='highlightsDynamique']");
      
      if(listeElementHLD.length > 0){
        $("[rel='highlightsDynamique']").map(function(){
                                    // gestion de l'événement hover
                                    $(this).hover(
                                      function(){
                                        // si l'élément est un TR alors nous regardons si le premier fils, le premier TD, contient l'attribut 'rowspan' si oui,
                                        // alors nous diffusons l'événement aux autres TR
                                        if(this.tagName == 'TR'){
                                          // test de la présence du mot clé 'cible'
                                          // s'il est présent on récupère l'ensemble des éléments qui correspondent à cette cible
                                          if($(this).attr('cible')){
                                            $('[cible=' + $(this).attr('cible') + ']').attr('style', 'background-color:' + $(this).attr('hover'));
                                          }
                                        }
                                        
                                        $(this).attr("style", 'background-color:' + $(this).attr('hover'));
                                      },
                                      function(){
                                        // si l'élément est un TR alors nous regardons si le premier fils, le premier TD, contient l'attribut 'rowspan' si oui,
                                        // alors nous diffusons l'événement aux autres TR
                                        if(this.tagName == 'TR'){
                                          // test de la présence du mot clé 'cible'
                                          // s'il est présent on récupère l'ensemble des éléments qui correspondent à cette cible
                                          if($(this).attr('cible')){
                                            $('[cible=' + $(this).attr('cible') + ']').attr('style', 'background-color:' + $(this).attr('out'));
                                          }
                                        }
                                        
                                        $(this).attr("style", 'background-color:' + $(this).attr('out'));
                                      }
                                    );
                                  });
      }
    }
  });
}

// fonction permettant l'animation verticale
function slide(objetJQ)
{
	$(objetJQ).slideToggle("slow");
}
