/**
 * Callback function from the flash.
 * 
 * @param uri
 * @return boolean false.
 */
function launchPopup(uri)
{
    jQuery('#dialog').dialog('open');
    jQuery('#dialog').load(uri, function(data){
        //alert(jQuery(this));
        // Gestion des miniatures de la popup
        var nbthumbs = jQuery('#infoMap .thumbs img').length;
        if(nbthumbs > 1) {
            jQuery('#infoMap .thumbs').append('<div id="navigation"></div>')
            jQuery('#infoMap .thumbs img').each(function (i) {
                jQuery('#infoMap #navigation').append('<div class="thumb_'+(i+1)+'"><a href="#">'+(i+1)+'</a></div>');
            });
            jQuery('#infoMap #navigation>div:first').addClass('actif');
        }
        
        jQuery('#infoMap #navigation a').bind('click', function(){
            jQuery('#infoMap #navigation .actif').removeClass('actif');
            var item = jQuery(this).parent().attr('class');
            jQuery(this).parent().addClass('actif');
            jQuery('#infoMap .thumb').addClass('hidden');
            jQuery('#'+item).removeClass('hidden');
        });
     });
    
    return false;
}

jQuery.noConflict();
jQuery(function($) {

	// Gestion de la navigation	
	$("div#nav > ul > li:has(div.sMenu) > a").bind("click", function(){
		$('#nav li.actif').removeClass('actif');
		$(this).parent().addClass('actif');
		$('#nav .sMenu:visible').slideUp('fast');
		$('#nav .actif .sMenu:hidden').slideDown('fast');
		return false;
	});
    
    // Gestion du carousel
    $('.newCarousel').each(function(){
        var animationActive = false;
        var idCarousel = '#'+$(this).attr('id')+' ';

        var elementWidth = $(idCarousel + '.carousel li').width();
        var numberElements = $(idCarousel + '.carousel li').length;
		var c;
		var d;
        $(idCarousel + '.carousel').css('width', (numberElements*2)*elementWidth).wrap(document.createElement('div')).parent().addClass('jcarousel-clip');
        
        // Gestion de defilement arriere
        $(idCarousel + '.carouselPrev a').bind('click', function(){
            if(animationActive != true) {
                animationActive = true;
                
                $(idCarousel + '.carousel li:last').clone().insertBefore(idCarousel + '.carousel li:last');
                $(idCarousel + '.carousel li:last').insertBefore(idCarousel + '.carousel li:first');
                
                var marginEnd = ($(idCarousel + '.carousel').css('marginLeft'));
                var marginBegin = marginEnd.replace(/px/, '');
                marginBegin = marginBegin-elementWidth;
                marginBegin = marginBegin+'px';
                
                $(idCarousel + '.carousel').css('marginLeft', marginBegin);
                $(idCarousel + '.carousel').stop().animate({'marginLeft': marginEnd}, 'slow', function() {
                    $(idCarousel + '.carousel li:last').remove();
                    animationActive = false
                });
            }

			$('.navCarousel li.hidden').removeClass('hidden');
			$('.navCarousel ul li:last]').clone().insertBefore('.navCarousel ul li:first');
			$('.navCarousel ul li:last]').insertBefore('.navCarousel ul li:first');			
			$('.navCarousel ul li:last]').addClass('hidden');
            return false;
        });
        
        // Gestion de defilement avant
        $(idCarousel + '.carouselNext a').bind('click', function(){
            if(animationActive != true) {
                animationActive = true;
                
                $(idCarousel + '.carousel li:first').clone().insertAfter(idCarousel + '.carousel li:first');
				$(idCarousel + '.carousel li:first').insertAfter(idCarousel + '.carousel li:last');
                
                var marginEnd = ($(idCarousel + '.carousel').css('marginLeft'));
                var marginBegin = marginEnd.replace(/px/, '');
                marginBegin = marginBegin-elementWidth;
                marginBegin = marginBegin+'px';
                
                $(idCarousel + '.carousel').stop().animate({'marginLeft': marginBegin}, 'slow', function() {
                    $(idCarousel + '.carousel').css('marginLeft', marginEnd);
                    $(idCarousel + '.carousel li:first').remove();
                    animationActive = false
                });
            }
			
            return false;
        });
		
		
		// Gère l'affichage des item de la navigation du carousel
		$('.navCarousel ul li a').click(function(){
			var idNav = $(this).attr('href');
			if($('.navCarousel ul li').hasClass('hidden')){
				$('.navCarousel ul li').removeClass('hidden');
			}
			$(this).parent().addClass('hidden');
			$(this).parent().insertAfter('.navCarousel ul li:last');
			$(idCarousel + ".carousel " + idNav).insertBefore(idCarousel + '.carousel li:first');
			
			return false;
		});	
		
        
        // Autoslide
        if ($(this).is('.autoSlide')){
			var a=0;
			var b;
			var c;
            var interval = setInterval(function() {
                $(idCarousel + '.carouselNext a').click();
				b = $('.newCarousel ul li:eq(1)').attr('id');
				$('.navCarousel li').removeClass('hidden');
				$('.navCarousel ul li a[href$="'+b+'"]').parent().addClass('hidden').insertAfter('.navCarousel ul li:last');
            }, 4000);
			$(idCarousel + '.carousel').bind('mouseover', function(){ clearInterval(interval); });
			$('.navCarousel').bind('mouseover', function(){ clearInterval(interval); });		  
        };		
	});

    // Roulement infini du carousel
	function navCarouselUpdate(){
		b = $('.newCarousel ul li:eq(0)').attr('id');
		$('.navCarousel li').removeClass('hidden');
		$('.navCarousel ul li a[href$="'+b+'"]').parent().addClass('hidden').insertAfter('.navCarousel ul li:last');
	}
    
    // Gestion des miniatures de la popup
    var nbthumbs = $('#infoMap .thumbs img').length;
    if(nbthumbs > 1) {
        $('#infoMap .thumbs').append('<div id="navigation"></div>')
        $('#infoMap .thumbs img').each(function (i) {
            $('#infoMap #navigation').append('<div class="thumb_'+(i+1)+'"><a href="#">'+(i+1)+'</a></div>');
        });
        $('#infoMap #navigation>div:first').addClass('actif');
    }
    
    $('#infoMap #navigation a').bind('click', function(){
        $('#infoMap #navigation .actif').removeClass('actif');
        var item = $(this).parent().attr('class');
        $(this).parent().addClass('actif');
        $('#infoMap .thumb').addClass('hidden');
        $('#'+item).removeClass('hidden');
    });

    // Dialog conf
    $('#dialog.patrimoine').dialog({
        autoOpen: false,
        buttons: false,
        height: 750,
        modal: true,
        resizable: false,
        title: false,
        width: 650
    });

    $('#dialog.projet').dialog({
        autoOpen: false,
        buttons: false,
        height: 800,
        modal: true,
        resizable: false,
        title: false,
        width: 580
    });
    
});