
$(document).ready(function() {

	// Si le navigateur a javascript le body a une classe js (css)
	$('body').addClass('js');


/*
Gestion du menu minisites
Rollover, et changement d’adresse au clic
*/
	$minis = $('#minisites li');
	// Element completement cliquable
	$minis.click(function() {
		window.location = $(this).find('a').attr('href');
	});
	
	// Gestion RollOver + focus pour IE tte versions
	if ($.browser.msie) {
		$minis.hover(function() {
			$(this).toggleClass('jshover');
		}, function() {
			$(this).toggleClass('jshover');
		});
	};


/*
SuperLabel sur le champ de recherche
*/
	labelForm("#recherche");

/*
Liste repliable
*/
        $("h2.jstoggle").click(function(){
		$(this).next(".jsclose").slideToggle();
	});
	
/*
Initialisation de jquery carousel sur le bloc partenaires
*/

	$("#partenaires").carousel( { dispItems: 5 } );



/*
Affichage de la suite des actualités au cli sur
les boutons «suite de l’article». Accueil
*/

	$articles = $('#actualites .article');
	var intituleOn = ["Suite de l’article","Déployer la suite de l’article : "];
	var intituleOff = ["Réduire l’article","Résumer l’article : "];


	$articles.each(function(index) {

		$artTitre = $(this).find('.titre').text(); // Titre de l’article
		$artMore = $(this).find('.more'); // Suite de l'article
		$artTools = $(this).find('.liens'); // Bloc de liens
		$moreLink = $(this).find('.next'); // Lien d’ouverture

		// id unique pour le bloc contenant plus d’infos
		$artMore
			.attr('id', 'more' + index)
			.css('opacity', '0')
			.hide();

		if ($artMore.length) {
			// Gestion des boutons «Suite de l’article» si la suite existe
			$artTools
					// Ajout du bouton
					.prepend('<li><a href="#" class="next" title="'+ intituleOn[1] + $artTitre + '">' + intituleOn[0] + '</a></li>')

					// Ajout de l’attribut unique
					.find(".next")
					.attr('rel', 'more' + index)

					// Au clic j’affiche ou je masque la suite de l’article correspondante (test sur state)
					.click(function() {
							$myMore = "#" + $(this).attr('rel');// Recuperation de l’ID de l’élément a afficher
							
							if ($($myMore).is(':hidden')) {

								$($myMore)
									.animate({opacity: 1}, 200)
									.show()
									.fixIEType();

								$(this)
									.text(intituleOff[0])
									.attr('title', intituleOff[1] + $artTitre)
									.addClass('up');

							} else {

								$(this)
									.text(intituleOn[0])
									.attr('title', intituleOn[1] + $artTitre)
									.removeClass('up');
								$($myMore)
									.css({'opacity': '0'})
									.hide()
									.fixIEType();
							}

							return false;
			});			
			
		};


		}); // each

	
});



/*
Affichage les label en superposition du champ concerné
@param champ : Le container du groupe champ + label
*/

	function labelForm(champ){
		
		var $champ = $(champ);
		var $chLabel = $champ.find('label');
		var $chText = $champ.find('input');

		if ($chText.val() != "") {
			$chLabel.hide();
		};
		$chText.keypress(function() {
			$chLabel.hide();
		});

		$chText.focus(function() {
			if ($(this).val() == "") {
				$chLabel.fadeTo("fast", 0.3);
			} else {
				$chLabel.hide();
			}
		});

		$chText.blur(function() {
			if ($(this).val() == "") {
				$chLabel.fadeTo("fast", 1);
			} else {
				$chLabel.hide();
			}
		});   
	}

/*
Fix le bug d’IE
Ajoute un fond sur les objets afin de rétablir la clarté de la typo
*/
	jQuery.fn.fixIEType = function(){
		if ($.browser.msie) {
			this.css('backgroundColor', '#fff');
		}
	}
