$(document).ready(function() {
	
	/***************************************************************************
	*** Utilisé sur la home pour le défilement des programmes
	****************************************************************************/
	
	$('#moteur').tabs({cookie: {
		expires: 180 // 180 jours
	}}) ;
	
	$('.a_la_une_container').each(function() {
		// Initialisation
		var self = $(this) ;
		var total = self.find('li').length ;
		var numero = Math.floor(Math.random() * total) ;
		self.find('li:not(:nth('+numero+'))').hide() ;
		self.data('total', total) ;
		self.data('numero', numero) ;
		
		// Fonction de changement
		self.bind('slide.next', function() {
			var self = $(this) ;
			var numero = self.data('numero') ;
			var total  = self.data('total' ) ;
			self.find('li:nth('+numero+')').fadeOut(1000, function() {
				numero = (numero+1) % total ;
				self.find('li:nth('+numero+')').fadeIn(1000, function() {
					self.data('numero', numero) ;
				}) ;
			}) ;
		}) ;
		self.bind('slide.prev', function() {
			var self = $(this) ;
			var numero = self.data('numero') ;
			var total  = self.data('total' ) ;
			self.find('li:nth('+numero+')').fadeOut(1000, function() {
				numero = (numero+total-1) % total ;
				self.find('li:nth('+numero+')').fadeIn(1000, function() {
					self.data('numero', numero) ;
				}) ;
			}) ;
		}) ;
		self.bind('slide.clearinterval', function() {
			var interval = $(this).data('interval') ;
			clearInterval(interval) ;
			$(this).data('interval', null) ;
		}) ;
		
		// Déclaration
		if (total > 1) {
			self.data('interval', setInterval(function() {
				self.trigger('slide.next') ;
			}, 9000)) ;
			self.find('.prev').click(function() {
				self.trigger('slide.clearinterval');
				self.trigger('slide.prev') ;
			}) ;
			self.find('.next').click(function() {
				self.trigger('slide.clearinterval');
				self.trigger('slide.next') ;
			}) ;
		} else {
			self.find('.prev, .next').hide() ;
		}
		
	}) ;
	
	/***************************************************************************
	*** Menu horizontal
	****************************************************************************/
	
	//les timer
	var ctn, ntc ;
	//latence
	var len = 900 ;
	
	menu = $("div#en-tete-menu") ;
	
	//menu js
	$.each( $("div#en-tete-menu ul.select"), function(i,data) {
		$("a:first",this).addClass("normal");
	});
	
	currentToNormal = function() {
		//transform current en normal
		var current = $("ul.current", $(menu)) ;
		$("li a", current).addClass("normal");
		$("li", current).append($("ul.sub_active", $(menu)).attr("class", "sub")) ;
		$(current).removeClass("current").addClass("select") ;
	} ;
	
	normalToCurrent = function(el) {
		//transform this en current
		if( el == 0 ) {
			parent = $("#origine-menu") ;
		} else {
			var parent = $(el).parent("li").parent("ul.select") ;
		}
		$(parent).after( $("ul.sub",parent).attr("class","sub_active") ) ;
		$("ul.sub", parent).remove() ;
		$("a",parent).removeAttr("class") ;
		$(parent).removeClass("select").addClass("current") ;
	} ;
	
	$("ul.select li a.normal", $(menu)).live("mouseover", function(){
		clearTimeout(ctn);
		clearTimeout(ntc);
		currentToNormal() ;
		normalToCurrent(this) ;
	});
	
	$("a").focus(function(){
		if( $(this).hasClass("normal") ) {
			currentToNormal() ;
			normalToCurrent(this) ;
		} else if( $(this).parents("ul").hasClass("sub_active") ) {
			$(this).parent("li").attr("class","current_sub") ;
		} else if( $(this).parents("ul").hasClass("onglet") ) {
			if( window['switchForm'] ) {
				if( switchForm( $(this).attr("href") ) ) {
					$("li.select").removeAttr("class") ;
					$(this).parent("li").attr("class","select") ;
				}
			} else {
				$("li.select").removeAttr("class") ;
				$(this).parent("li").attr("class","select") ;
			}
		} else {
			$(this).addClass("hover") ;
		}
	});
	$("a").blur(function(){
		$("a.hover").removeClass("hover") ;
		$("li.current_sub").removeAttr("class") ;
	});

	$('ul.current a').live('mouseout',function() {
		clearTimeout(ctn);
		clearTimeout(ntc);
		
		if( $(this).attr('id') != "origine-menu" ) {
			ctn = setTimeout("currentToNormal()", len);
			ntc = setTimeout("normalToCurrent(0)", len);
		}
	});
	
	$("ul.sub_active a").live('mouseover',function() {
		clearTimeout(ctn);
		clearTimeout(ntc);
	});
	
	$("ul.sub_active a").live('mouseout',function() {
		if( $(this).attr('id') != "origine-sous-menu" ) {
			clearTimeout(ctn);
			clearTimeout(ntc);
			ctn = setTimeout("currentToNormal()", len);
			ntc = setTimeout("normalToCurrent(0)", len);
		}
	});

	
	/*****************************************************************************
	*** Pour la recherche
	****************************************************************************/
	
	$('.zoom-delottement').dialog({
		autoOpen : false,
		width    : 400,
		position : [($(window).width()-320-400)/2, 'center'],
		resizable: false,
		modal    : true,
		buttons  : {
			"Fermer": function() {
				$(this).dialog('close') ;
			}
		}
	}) ;
	
	$('.zoom-delottement-link').click(function() {
		$($(this).attr('href')).dialog('open') ;
		return false;
	}) ;
	
	
	/****************************************************************************
	*** Divers
	*****************************************************************************/
	
	// init
	$.metadata.setType("class") ;
	
	
	// carte en flash
	$('.carte_flash').each(function(){
		swfobject.embedSWF("/images/cartes/" + $(this).metadata().carte_url, $(this).metadata().carte_flash_content, $(this).metadata().carte_width, $(this).metadata().carte_height, "8", "", {}, {wmode:"opaque", bgColor:"#fff"}, {alt:$(this).metadata().carte_alt}) ;
	}) ;
	
	// toggle des éléments
	$('.hide').hide() ;
	
	// sur le clic, on déplie ou on ferme
	$('.toggler').click(function(){
		$('#'+ $(this).metadata().toggled_id).slideToggle() ;
	}) ;
	
});

