function collapse(){
    $('.imgzoom, .description').toggle('blind');
    $('.collapse').toggleClass('checked');
}

function copyToClipboardIE2(sElementId)
{
   // Récupération de l'objet représentant le champ de formulaire.
   var oElement = document.getElementById(sElementId);
   // Création du TextRange.
   var oRange = oElement.createTextRange();
   // Copie du contenu du champ dans le presse-papier.
   oRange.execCommand('Copy');
   // On ne veut pas suivre le lien après le clic.
   return false;
}

function copyToClipboardFF(sText)
{
   try
   {
      // On test si la configuration permet l'accès au presse-papier.
      netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
   }
   catch (e)
   {
      alert("Impossible d'accéder au presse-papier.");
   }
   // Initialisation du composant fournit par Mozilla.
   var gClipboardHelper =
      Components.classes["@mozilla.org/widget/clipboardhelper;1"]
      .getService(Components.interfaces.nsIClipboardHelper);
   // Copie du texte dans le presse papier.
   gClipboardHelper.copyString(sText);
   // On ne veut pas suivre le lien après le clic.
   return false;
}

function copyToClipboard(sText){
   // Cas où on a accès à l'objet clipboardData.
   if (window.clipboardData) {
      return copyToClipboardIE2(sText);
   }
   // Cas où on peut tester la configuration de Firefox sur
   else if (typeof(netscape) == 'object' && typeof(Components) == 'object') {
      return copyToClipboardFF(sText);
   } else {
      alert("Cette fonctionnalité n'est pas disponible pour votre navigateur.");
   }
   return false;
}

$(document).ready(function() {
    if(!jQuery.browser.msie && jQuery.browser.version!="6.0"){
        jQuery('#menu .menu').slidingMenu({'backgroundClass':'hover'});
    }

    $('#quickmenu').hover(function(){
       $('#quickmenu ul').css('display','block');
       $('#quickmenu .bouton').addClass('hover');
    });
    $('#quickmenu').mouseleave(function(){
       $('#quickmenu ul').css('display','none');
       $('#quickmenu .bouton').removeClass('hover');
    });

    $('.options').click(function(){
        $('.options_menu').toggleClass('hidden');
        $('.options').toggleClass('active');
        return false;
    });
    $('.options_menu a').click(function(){
        $('.options_menu').toggleClass('hidden');
        $('.options').toggleClass('active');
    });

    $(document).click(function(){
        $('.options_menu').addClass('hidden');
        $('.options').removeClass('active');
        $('#result').hide();
    });

    $(".article .imgzoom a").each(function(i,e){
       $(e).hover(function(){
           $('<div class="zoom hidden"><span></span><img src="'+$(this).attr('rev')+'" alt="détail"/></div>').insertAfter(this).fadeIn(400);
       });
       $(e).mouseleave(function(){
           $(this).parent().children('.zoom').fadeOut(300).remove();
       });
    });

   $('.help .icon').hover(function(){
       $(this).parent().children('strong').css('display','block');
   }).mouseleave(function(){
       $(this).parent().children('strong').css('display','none');
   });

   $(".copy").click(function(){
      var txt = $(this).next('div').text();
      copyToClipboard(txt);
   });

    $('.accordion').accordion({'header':'.header'});

    $('#search_keywords').keyup(function(key) {
        if (this.value.length >= 3) {
            $('#result').load(
                $(this).parents('form').attr('action'),
                {
                    query: this.value
                },
                function(responseText,textStatus,XMLHttpRequest) {
                    if(responseText){
                        $('#result').show();
                    } else {
                        $('#result').hide();
                    }
                }
            );
        } else {
            $('#result').hide();
        }
    });
    
		// TODO Ne pas recharger inutilement une URL toutes les 2 secondes !!!
		// En attendant ne connaissant pas la raison de ceci, j'ai limité le nombre de rechargements à 5 fois (M.B.)
		var msg_max = 4, msg_num = 0;
    var stupid_thread = setInterval(function() {
        jQuery.ajax({
            type:'POST',
            dataType:'html',
            success:function(data, textStatus){
                if(data!=""){
                    var li = $("<li></li>");
                    li.append(data);
                    $('#messages ul').append(li);
                    $(li).fadeIn(1000);
                    setTimeout(function(){$(li).fadeOut(1000);},4000);
                }
            },
            url:'/afficher-messages'
        })
				msg_num++;
				if (msg_num>msg_max) clearInterval(stupid_thread);
    }, 2000);

    $('#messages li').each(function(i,e){
        $(e).fadeIn(1000);
        setTimeout(function(){$(e).fadeOut(1000);},4000);
    });

		// Gallery
		//$('.gallery').gallery();
		$('.gallery').jqGalScroll({
			ease: 'linear',
			speed:600,
			width: 620,
			height: 274,
			titleOpacity : 1,
			direction : 'horizontal'
		});

		// Map areas et items
		var carte = $('#carte');
		if (carte.length>0){
			var areas = carte.find('area');
			var items = carte.find('li').filter(function(){
				var item = $(this);
				item.area = $('area[href="#'+item.attr('id')+'"]').eq(0);
				return (item.area.length>0);
			}).hide();
			areas.each(function(){
				var area = $(this);
				area.item = $(area.attr('href'));
				area.bind('mouseover',function(){
					items.hide();
					area.item.fadeIn();
					return false;
				});
			});
		}

		// Shadowbox
		Shadowbox.init();

		// Bouton full screen pour le flipping book (non implémenté dans flipingbook.js car n'utilise pas de framework...)
		var fbFullScreen = $('#fbFullScreenButton');
		var fbWrapper = $('#fbWrapper');
		if (fbFullScreen && fbWrapper){
			fbFullScreen.css({cursor:'pointer'});
			fbFullScreen.bind('click',function(){
				fbFullScreen.enabled = !fbFullScreen.enabled;
				if (fbFullScreen.enabled){
					fbWrapper.css({position:'absolute',top:0,left:0,width:'100%',height:'100%','z-index':20000,'margin-top':0});
				}else{
					fbWrapper.removeAttr('style');
				}
				//$(document).trigger("keypress", [{keyCode:16}]); // Bascule en mode plein écran (ne fonctionne pas...)
			});
		}
});

