var ltie7 = ($.browser.msie && $.browser.version < 7);
var ltie9 = ($.browser.msie && $.browser.version < 9);

$(function(){

	$.ifixpng('/extension/concours-sedif/design/concours-sedif/images/pixel.gif');
	$('img[src$=.png]').ifixpng();

	$('a.switch').each(function(){$(this).switchImage("","> img");});

	$('li.itemRub').each(function(){$(this).switchImage("","a.switch_top > img");});

	/*/ Aligner verticalement le bloc globalContainer /*/
	$("#homePage").vAlign();
	$("#homePage").hAlign();

	$('#liste_scene li').adjustSize({periode:5});
	$('#liste_scene li .texte_explicatif').adjustSize({periode:5});

	$(".container_visuel_projet .visuel_projet .photo_projet").vAlign();
	$(".container_visuel_projet .visuel_projet .photo_projet").hAlign();

	if (ltie7) {
		$('img[usemap]').css('border','none');
		$('input[type="radio"], input[type="checkbox"], input[type="file"], input[type="image"]').css('border','none');
	}

	gestionMenuTop.init();


	$('#bloc_content,#bloc_image').adjustSize({});
		var height_content = $('#bloc_content').height();
		/* Ajout Margin top appliqué sur le bloc image */
		height_content+=27;
		$('#bloc_image').css('height',height_content);

	/* Reduction du margin-top pour le premier h3 */
	//$('.description_item h3:first').css('margin-top','10px');

	$('#classe').change(function(){

		if($('#classe').val()!='0' && $('#prenom').val() && $.trim($('#prenom').val()).length !=0)
		{
			$('#f_inscription_quizz').attr('action','/'+$('#classe').val()+'/(Name)/'+$('#prenom').val());
		}
	})

	//form reponse quiz
	$("#f_quiz").submit(function(){
		var nbquestion = $('.show').size();
		var nbquestionrepondu = $(".show input[type='radio']:checked").size();
		if (nbquestion!=nbquestionrepondu)
		{
			alert('Vous devez répondre a toutes les questions');
			return false;
		}
		else
		{
			return true;
		}

	});

	$("#frm_concour_quiz .line_item input[type='radio']").click(function(){
		//alert($(this).attr('name')+"---"+$(this).val());
		var rep     = "";
		var prev    = $("#rep").val();
		var new_val = "";
		var $nbr    = "";
		var prev_not= "";

		//alert($('.show').size());
		if($("#reponse_"+$(this).attr('name')+"").val() == $(this).val())
		{
			if(prev.indexOf($(this).attr('name'),0)==-1)
			{
				$("#rep").val(prev+"*"+$(this).attr('name'));
				nbr = parseInt($("#nbr_reponse").val())+1;
				$("#nbr_reponse").val(nbr);
			}
		}
		else
		{
			if($("#rep_not").val().indexOf($(this).attr('name'),0)==-1)
			{
				if(prev.indexOf($(this).attr('name'),0)==-1)
				{
					//alert('not exist');
				}
				else
				{
					var reg = new RegExp($(this).attr('name'),"g");
					$("#rep").val(prev.replace(reg,""));
					nbr     = parseInt($("#nbr_reponse").val())-1;
					$("#nbr_reponse").val(nbr);
				}
				prev_not = $("#rep_not").val();
				$("#rep_not").val(prev+"*"+$(this).attr('name'));
			}
			else
			{
				if(prev.indexOf($(this).attr('name'),0)==-1)
				{
					//alert("deja faux");
				}
				else
				{
					var reg = new RegExp($(this).attr('name'),"g");
					$("#rep").val(prev.replace(reg,""));
					nbr     = parseInt($("#nbr_reponse").val())-1;
					$("#nbr_reponse").val(nbr);
				}
			}
		}

	});

	//form quiz concour
	$("#valider_reponse").click(function(){

		var nbquestion = $('.show').size();
		var nbquestionrepondu = $(".show input[type='radio']:checked").size();

		if (nbquestion!=nbquestionrepondu)
		{
			alert('Vous devez répondre a toutes les questions');
			return false;
		}
		else
		{
			$("#quiz_etape_1").addClass("hidden");
			$("#quiz_etape_2").removeClass("hidden");
			$("#question_sub").text("- question subsidaire");
			$(".introduction").text("Vous êtes prêt ? Voici la question subsidiaire qui va nous aider à vous départager ! Réfléchissez-bien, vous avez certainement croisé la réponse dans les dossiers des ressources pédagogiques…");
			/*$.post(	"/formulaires/rate",{id_qz:$('#id_qz').val(),ville:$('#ville').val(),ecole:$('#ecole').val(),classe:$('#classe').val(),nbr_reponse:$('#nbr_reponse').val(),action:"SaveAnswers"},function(data){
				//alert('yessss')
			});
			*/
		}
		return false;
	});

	$("#frm_concour_quiz").submit(function(){


		$("#temp_reponse").val($("#compteur_quiz .time #newPage").text());

		if($.trim($('#question_subsidiaire .question_sub').val()).length ==0)
		{
			alert('La réponse à la question subsidaire est obligatoire');
			$("#question_subsidiaire .question_sub").addClass("error_form");
			return false;
		}
		else
		{
			$.post(	"/formulaires/rate",{id_qz:$('#id_qz').val(),ville:$('#ville').val(),ecole:$('#ecole').val(),classe:$('#classe').val(),temp_reponse:$("#temp_reponse").val(),nbr_reponse:$('#nbr_reponse').val(),action:"SaveAnswers"},function(data){

			});
			return true;
		}
	});

	//form quiz
	$("#f_inscription_quizz").submit(function(){
		var tab_errors    = new Array();
		var errors        = "";
		var ind           = 0;

		if($.trim($('#prenom').val()).length ==0)
		{
			errors 			+= 'Champ Prénom Obligatoire\n';
			tab_errors[ind] = "prenom";
			ind 			+=1;
		}
		else
		{
			$("#prenom").removeClass("error_form");
		}

		if($("#classe").val()=='0')
		{
			errors 				+= 'Vous devez sélectionner un quiz\n';
			tab_errors[ind] 	= "classe";
			ind 				+=1;
		}
		else
		{
			$("#classe").removeClass("error_form");
		}

		if( errors !='')
		{
			alert(errors);

			for(i=0;i< tab_errors.length; i++)
			{
				$("#"+tab_errors[i]+"").addClass("error_form");
			}
			return false;
		}
		else
		{
			return true;
		}
	});

	$.post(	"/formulaires/rate",{Project_Node_Id:""+$('#id_node_projet').val()+"",action:"GetNote"},function(data){
		if(data=='step1')
		{
			$('#note_gloable').html("Soyez le premier à noter ce projet");
		}
		else
		{
			$('#note_projet').html(data);
		}
	});

	//formulaire de vote
	$('#form_fiche_projet').submit(function(){

		if($('#f_note_message').val()==0||$('#f_note_originalite').val()==0||$('#f_note_general').val()==0)
		{
			alert('Vous devez noter le projet!');
			if($('#f_note_message').val()==0)
			{
				$("#f_note_message").addClass("error_form");
			}
			else
			{
				$("#f_note_message").removeClass("error_form");
			}

			if($('#f_note_originalite').val()==0)
			{
				$("#f_note_originalite").addClass("error_form");
			}
			else
			{
				$("#f_note_originalite").removeClass("error_form");
			}

			if($('#f_note_general').val()==0)
			{
				$("#f_note_general").addClass("error_form");
			}
			else
			{
				$("#f_note_general").removeClass("error_form");
			}
		}
		else
		{

			$.post(	"/formulaires/rate", {Project_Node_Id:""+$('#id_node_projet').val()+"", f_note_message: ""+$('#f_note_message').val()+"",f_note_originalite:""+$('#f_note_originalite').val()+"",f_note_general:""+$('#f_note_general').val()+""},function(data){

				if(data=='no')
				{
					alert('Vous ne pouvez voter que 3 fois!');
				}
				else
				{
					$('#note_gloable').html('<span id="text_note">Note globale&nbsp;:&nbsp;<span class="note_projet" id="note_projet">'+data+'</span>/20</span>');
					//$('#note_gloable').html(data);
					alert('Merci d\'avoir voter pour ce projet ');
					$("#f_note_general").removeClass("error_form");
					$("#f_note_originalite").removeClass("error_form");
					$("#f_note_message").removeClass("error_form");
				}
			});
		}

		return false;
	});


	//formulaire d'inscription
	$('#ville').change(function(){

		var indice = parseInt($("#ville").val());
		if(indice>=0)
		{
			$("#ezcoa-214_cp").val($("input[name='zip[]']").eq(indice).val());
			$("#ezcoa-243_ville").val($("#ville option:selected").text());
		}
	});

	if( $("#categorie_concour").val()=="ecole" )
	{
		$("#ezcoa-224_flag_concours").val('0');
	}
	else if( $("#categorie_concour").val()=="public" )
	{
		$("#ezcoa-224_flag_concours").val('1');
	}
	else
	{
		$("#ezcoa-224_flag_concours").val('2');
	}

	$("#f_inscription").submit( function (){
		var id_civilite  = $("#id_attribute_civilite").val();
		var tab_civilite = $('input[name="ContentObjectAttribute_select_data_enumelement_'+id_civilite+'[]"]:checked').val();
		var ind          = parseInt($("#ville").val());
		var error        = "";
		var tab_error    = new Array();
		var indice       = 0;

		if($("#categorie_concour").val()=="ecole")
		{
			if(ind==-1)
			{
				error 				+= "Vous devez sélectionner votre ville\n";
				tab_error[indice] 	= "ville";
				indice 				+=1;
			}
			else
			{
				$("#ville").removeClass("error_form");
			}
		}
		else
		{
			if($("#ville").val()=="")
			{
				error 				+= "Champ Ville Obligatoire\n";
				tab_error[indice] 	= "ezcoa-243_ville";
				indice 				+=1;
			}
			else
			{
				$("ezcoa-243_ville").removeClass("error_form");
			}
		}

		if(tab_civilite==null)
		{
			error 				+= "Champ Civilité Obligatoire\n";
		}

		if($("#ezcoa-205_last_name").val()=='')
		{
			error 			 	+= "Champ Nom Obligatoire\n";
			tab_error[indice] 	= "ezcoa-205_last_name";
			indice 				+=1;
		}
		else
		{
			$("#ezcoa-205_last_name").removeClass("error_form");
		}

		if($("#ezcoa-206_first_name").val()=='')
		{
			error 			 	+= "Champ Prénom Obligatoire\n";
			tab_error[indice] 	= "ezcoa-206_first_name";
			indice 				+=1;
		}
		else
		{
			$("#ezcoa-206_first_name").removeClass("error_form");
		}

		if($("#ezcoa-214_cp").val()=='')
		{
			error 			 	+= "Champ CP Obligatoire\n";
			tab_error[indice] 	= "ezcoa-214_cp";
			indice 				+=1;
		}
		else
		{

			if($("#ezcoa-214_cp").val().length!=5)
			{
				error 			 	+= "Ce concours est ouvert aux habitants des départements de l'Ile de France (75, 77, 78, 91, 92, 93, 94, 95)\n";
				tab_error[indice] 	= "ezcoa-214_cp";
				indice 				+=1;
			}
			else
			{
				var verifCP = new RegExp('^(75|77|78|91|92|93|94|95)[0-9]+$','i');
				if(verifCP.test($("#ezcoa-214_cp").val()))
				{
					$("ezcoa-214_cp").removeClass("error_form");
				}
				else
				{
					error 			 	+= "Ce concours est ouvert aux habitants des départements de l'Ile de France (75, 77, 78, 91, 92, 93, 94, 95)\n";
					tab_error[indice] 	= "ezcoa-214_cp";
					indice 				+=1;
				}
			}
		}


		if($("#ezcoa-211_adresse").val()=='')
		{
			error 			 	+= "Champ Adresse Obligatoire\n";
			tab_error[indice] 	= "ezcoa-211_adresse";
			indice 				+=1;
		}
		else
		{
			$("#ezcoa-211_adresse").removeClass("error_form");
		}

		if($("#email").val()=='')
		{
			error 			 	+= "Champ Email Obligatoire\n";
			tab_error[indice] 	= "email";
			indice 				+=1;
		}
		else
		{
			var verif = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9_.-]{2,}[.][a-zA-Z]{2,4}$/;
			if(verif.exec($("#email").val())== null)
			{
				error 			 	+= "Vérifiez le format de votre adresse mail\n";
				tab_error[indice] 	= "email";
				indice 				+=1;
			}
			else
			{
				$("#email").removeClass("error_form");
				$("#login").val($("#email").val());
			}
		}

		if($("#pwd").val()=='')
		{
			error 			 	+= "Champ Mot de Passe Obligatoire\n";
			tab_error[indice] 	= "pwd";
			indice 				+=1;
		}
		else
		{
			$("#pwd").removeClass("error_form");
		}

		if($("#pwd_confirm").val()=='')
		{
			error 			 	+= "Champ Confirmation Obligatoire\n";
			tab_error[indice] 	= "pwd_confirm";
			indice 				+=1;
		}
		else
		{
			$("#pwd_confirm").removeClass("error_form");
		}

		if(($("#pwd_confirm").val()!=$("#pwd").val()) && ($("#pwd").val()!='') && ($("#pwd_confirm").val()!=''))
		{
			error 			 	+= "les champs Mot de passe et Confirmation doivent être les mêmes\n";
			tab_error[indice] 	= "pwd";
			indice 				+=1;
			tab_error[indice] 	= "pwd_confirm";
			indice 				+=1;

		}
		else
		{
			$("#pwd").removeClass("error_form");
			$("#pwd_confirm").removeClass("error_form");
		}

		if($("#pwd_confirm").val().length<3)
		{
			error 			 	+= "Confirmation doit contenir au moins 3 caractères\n";
			tab_error[indice] 	= "pwd_confirm";
			indice 				+=1;
		}
		else
		{
			$("#pwd_confirm").removeClass("error_form");
		}

		if($("#pwd").val().length<3)
		{
			error 			 	+= "mot de passe doit contenir au moins 3 caractères\n";
			tab_error[indice] 	= "pwd";
		}
		else
		{
			$("#pwd").removeClass("error_form");
		}

		if( error !='')
		{
			alert(error);

			for(i=0;i< tab_error.length; i++)
			{
				$("#"+tab_error[i]+"").addClass("error_form");
			}
			return false;
		}
		else
		{
			return true;
		}
	});

});

var gestionMenuTop = function () {

function init () 	{
	$('#menu_top li .container_sous_menu').css({left: '-9999px'});
	/* traitement evenement hover, focus et blur sur les rubriques dans menu */
	$('#menu_top li').hover(
		function(){
			displayItems($(this).find('.container_sous_menu'));
		},
		function(){
			hideItems($(this).find('.container_sous_menu'));
		}).add('a').focus(function(){
			displayItems($(this).parents('li.itemRub').find('.container_sous_menu'));
		}).blur(function(){
			hideItems($(this).parents('li.itemRub').find('.container_sous_menu'));
		});
	/* traitement evenement hover, focus et blur sur les rubriques dans menu */

	}
	function hideItems (elmt){
		elmt.css({left: '-9999px'});
	};
	function displayItems (elmt){
			if(elmt.parent().is('#menu_top_67')){ elmt.css({left: '-1px'}); }
			else{ elmt.css({left: '-7px'}); }
	};

	return {init:init}
}();


// Nouvelle fonction jquery de centrage horizontal et vertical
// du container dans la fenetre

$.fn.vAlign = function() {
	return this.each(function(i){
	var h = $(this).height();
	var oh = $(this).outerHeight();
	var mt = (h + (oh - h)) / 2;
	$(this).css("margin-top", "-" + mt + "px");
	$(this).css("top", "50%");
	$(this).css("position", "absolute");
	});
};

$.fn.hAlign = function() {
	return this.each(function(i){
	var w = $(this).width();
	var ow = $(this).outerWidth();
	var ml = (w + (ow - w)) / 2;
	$(this).css("margin-left", "-" + ml + "px");
	$(this).css("left", "50%");
	$(this).css("position", "absolute");
	});
};


//ltie7 : $.browser.msie && /MSIE\s(5\.5|6\.)/.test(navigator.userAgent),
// Nouvelle fonction jquery de retaillage de blocks
$.fn.adjustSize=function(options) {
	var settings = {
		periode: 2,
		mode: 'height',
		minHeight: 0,
		minWidth: 0
	};
	var ltie7 = $.browser.msie && /MSIE\s(5\.5|6\.)/.test(navigator.userAgent);
	if (options) {
		jQuery.extend(settings, options);
	}
	var totalSize = $(this).size();
	var nbPeriodes = Math.ceil(totalSize/settings.periode);
	var index = 0;
	if (settings.mode == 'height' || settings.mode == 'both') {
		var maxTotalHeightArray = new Array();
		$(this).each(function(){
			var blockId = Math.floor(index/settings.periode);
			if (!maxTotalHeightArray[blockId]) maxTotalHeightArray[blockId]=0;
			var blockTotalHeight = $(this).height();
			if (blockTotalHeight > maxTotalHeightArray[blockId]) {
				if (settings.minHeight && settings.minHeight > blockTotalHeight) blockTotalHeight = settings.minHeight;
				maxTotalHeightArray[blockId] = blockTotalHeight;
			}
			index++;
		});
		var index = 0;
		$(this).each(function(){
			var blockId = Math.floor(index/settings.periode);
			var blockComputedHeight = maxTotalHeightArray[blockId];
			if (ltie7) $(this).height(blockComputedHeight+'px');
			else $(this).css('minHeight',blockComputedHeight+'px');
			index++;
		});
	}
	if (settings.mode == 'width' || settings.mode == 'both') {
		var maxTotalWidthArray = new Array();
		$(this).each(function(){
			var blockId = Math.floor(index/settings.periode);
			if (!maxTotalWidthArray[blockId]) maxTotalWidthArray[blockId]=0;
			var blockTotalWidth = $(this).width() ? $(this).width() : $(this).attr('offsetWidth') ;
			if (blockTotalWidth > maxTotalWidthArray[blockId]) {
				if (settings.minWidth && settings.minWidth > blockTotalHeight) blockTotalWidth = settings.minWidth;
				maxTotalWidthArray[blockId] = blockTotalWidth;
			}
			index++;
		});
		var index = 0;
		$(this).each(function(){
			var blockId = Math.floor(index/settings.periode);
			var blockComputedWidth = maxTotalWidthArray[blockId];
			if (ltie7) $(this).width(blockComputedWidth+'px');
			else $(this).css('minWidth',blockComputedWidth+'px');
			index++;
		});
	}

	return this;
}

// Target est un sélecteur jQuery qui permet d'indiquer quel est l'élement (image ou input) qui doit changer.
// Sa valeur par défaut est '$myself', ce qui indique que l'objet est sa propre cible.
// Ex : $('#menu > li').each(function(){$(this).switchImage("","> a > img");});
$.fn.switchImage=function(eventTargetSelector, changeTargetSelector, options) {
	var eventTargetSelector, changeTargetSelector, eventTarget, changeTarget;
	if (!eventTargetSelector) eventTargetSelector = '?myself';
	if (!changeTargetSelector) changeTargetSelector = '?myself';
	var settings = {
		stringDefault: '_off',
		stringHover: '_on'
	};
	if (options) {
		jQuery.extend(settings, options);
	}

	if (eventTargetSelector == '?myself') eventTarget=$(this);
	else eventTarget = $(this).find(eventTargetSelector);
	if (changeTargetSelector == '?myself') changeTarget=$(this);
	else changeTarget = $(this).find(changeTargetSelector);

	eventTarget.filter(function(index){
		return (changeTarget.is("input[type=image][src]") || changeTarget.is("img[src]"));
	}).mouseover(function() {switchToHover(changeTarget)}).focus(function() {switchToHover(changeTarget)}).mouseout(function() {switchToDefault(changeTarget)}).blur(function() {switchToDefault(changeTarget)});

	function switchToHover(e) {
		e.each(function(){
			getSrcElmts.init($(this));
			if (getSrcElmts.fileName().indexOf(settings.stringDefault) != -1) {
				$(this).attr('src', getSrcElmts.filePath()+'/'+getSrcElmts.replaceFileName(settings.stringDefault, settings.stringHover));
				if ($.ifixpng && ltie7) $(this).ifixpng();
			}
		});
	}

	function switchToDefault(e) {
		e.each(function(){
			getSrcElmts.init($(this));
			if (getSrcElmts.fileName().indexOf(settings.stringHover) != -1) {
				$(this).attr('src', getSrcElmts.filePath()+'/'+getSrcElmts.replaceFileName(settings.stringHover, settings.stringDefault));
				if ($.ifixpng && ltie7) $(this).ifixpng();
			}
		});
	}

	var getSrcElmts = function() {
		var src,srcPathSplit, srcPathSplitLength;
		function init(e){
			if ($.ifixpng && ltie7) e.iunfixpng();
			src = e.attr('src');
			srcPathSplit = src.split('/');
			srcPathSplitLength = srcPathSplit.length;
		}
		function filePath(){
			if (srcPathSplitLength)	return srcPathSplit.slice(0,-1).join('/');
		}
		function fileName(){
			if (srcPathSplitLength)	return srcPathSplit[srcPathSplitLength-1];
		}
		function replaceFileName(stFrom,stTo){
			elemts=fileName().split(stFrom);
			end=elemts.pop();
			begin=elemts.join(stFrom);
			return begin+stTo+end;
		}
		return {init:init,filePath:filePath,fileName:fileName,replaceFileName:replaceFileName}
	}()

	changeTarget.each(function(){
		// preload
		getSrcElmts.init($(this));
		var preload = new Image;
		preload.src=getSrcElmts.filePath()+'/'+getSrcElmts.replaceFileName(settings.stringDefault, settings.stringHover);
		if ($.ifixpng && ltie7) $(this).ifixpng();
	});


	return this;
};

/*
$.fn.slideShow=function(options) {

	var settings = {
		imageListClass: 'slideShowListe',
		imageListSuffix: 'Liste',
		imageNavSuffix: 'Nav',
		duree: 5000,
		fadeDuree: 2000
	};
	if (options) {
		jQuery.extend(settings, options);
	}
	this.each(function(){
		var nav, aImages, ticker, nbImages, indexImageActuelle, newIndex, aAddress, image_actuelle;
		init($(this));

		function init(elmt){
			aImages=$('li',elmt);
			nbImages = aImages.size();
			if(nbImages == 0) return;
			var navWrapperClass=settings.imageListClass.replace(settings.imageListSuffix,settings.imageNavSuffix);
			nav=elmt.next('.'+navWrapperClass).find('li');
			if (!nav.size()) return;
			aImages.slice('1').hide(); // Cacher toutes les images sauf la première.
			indexImageActuelle=0;
			newIndex='';

			// Cas d'un id_document dans l'URL.
			image_actuelle = nav.filter('.on')
			if (image_actuelle.size() > 0) {
				newIndex=nav.index(image_actuelle.get(0));
				aImages.eq(0).hide().end().eq(newIndex).show();
			}

			if (newIndex === '') {
				nav.eq(0).addClass('on');
				start();
			}

			nav.click(function (){
				nav.removeClass('on');
				$(this).addClass('on');
				stop();
				aImages.hide()
				newIndex=nav.index(this);

				next();

				return false;
			});
		}

		function stop(){clearInterval(ticker);}
		function start(){ticker=window.setInterval(next, settings.duree);}
		function next(){
			aImages.eq(indexImageActuelle).hide();
			nav.eq(indexImageActuelle).removeClass('on');

			if (newIndex === '') {
				indexImageActuelle++;
			} else indexImageActuelle = newIndex;

			if (indexImageActuelle > nbImages-1) indexImageActuelle= 0;

			aImages.eq(indexImageActuelle).fadeIn(settings.fadeDuree);
			nav.eq(indexImageActuelle).addClass('on');
		}
	});

	return this;
};

var footerTicker = function() {
	var afpTicker, line, lineLength, lineTotalMoveToDo, moveDuration;
	var swapDelay=100;
	var moveDelay=30;
	var moveLength=2;
	var displayWindowSize=370;
	function init() {
		afpTicker = $('#afp_ticker');
		line = $(' > li:first',afpTicker);
		if (line.is('li')) lineMove(line);
	}

	function lineMove(line) {
		lineLength=getLineLength(line);
		lineTotalMoveToDo=lineLength+displayWindowSize*2;
		moveDuration=lineTotalMoveToDo*moveDelay/moveLength;

		afpTicker.hover(function(){line.stop();},function(){lineAnimate(line)}).find('>li:visible >a').focus(function(){line.css({left: '2px'}).stop();}).blur(function(){lineAnimate(line);});

		lineAnimate(line);
	}

	function lineSwap(line) {
		line.hide().css({left: displayWindowSize});
		afpTicker.unbind('mouseover',function(){line.stop();}).unbind('mouseout',function(){lineAnimate(line);}).find('>li:visible >a').unbind('focus',function(){line.css({left: '2px'}).stop();}).unbind('blur',function(){lineAnimate(line);});
		line=line.next().is('li')?line.next():line.prevAll().eq(0).is('li')?line.prevAll().eq(0):line;
		line.css({display: 'inline', left: displayWindowSize});
		lineMove(line);
	}

	function getLineLength(line) {return parseInt(line.width());}
	function lineAnimate(line){line.animate({left: -lineLength},moveDuration, function(){lineSwap($(this));})}

	return{init:init};
}();


var corriger_email_safari = function(){
	var aMailto;
	function init(){
		//if (navigator.appVersion.indexOf("Mac")==-1) return;
		aMailto=$('a[href^=mailto:]');
		aMailto.each(function(){
			var href=accentsReplace($(this).attr('href'));
			$(this).attr('href',href);
			alert($(this).attr('href'));
		});
	}

	function accentsReplace(string){
		string=string.replace(/%E1/g,'á');
		string=string.replace(/%E0/g,'à');
		string=string.replace(/%E2/g,'â');
		string=string.replace(/%E4/g,'ä');
		string=string.replace(/%E9/g,'é');
		string=string.replace(/%E8/g,'è');
		string=string.replace(/%EA/g,'ê');
		string=string.replace(/%EB/g,'ë');
		string=string.replace(/%ED/g,'í');
		string=string.replace(/%EC/g,'ì');
		string=string.replace(/%EF/g,'ï');
		string=string.replace(/%EE/g,'î');
		string=string.replace(/%F2/g,'ò');
		string=string.replace(/%F3/g,'ó');
		string=string.replace(/%F4/g,'ô');
		string=string.replace(/%F6/g,'ö');
		string=string.replace(/%F9/g,'ù');
		string=string.replace(/%FB/g,'û');
		string=string.replace(/%FC/g,'ü');
		string=string.replace(/%C1/g,'Á');
		string=string.replace(/%C0/g,'À');
		string=string.replace(/%C4/g,'Ä');
		string=string.replace(/%C2/g,'Â');
		string=string.replace(/%C9/g,'É');
		string=string.replace(/%C8/g,'È');
		string=string.replace(/%CB/g,'Ë');
		string=string.replace(/%CA/g,'Ê');
		string=string.replace(/%CC/g,'Ì');
		string=string.replace(/%CD/g,'Í');
		string=string.replace(/%CF/g,'Ï');
		string=string.replace(/%CE/g,'Î');
		string=string.replace(/%D2/g,'Ò');
		string=string.replace(/%D3/g,'Ó');
		string=string.replace(/%D4/g,'Ô');
		string=string.replace(/%D6/g,'Ö');
		string=string.replace(/%D9/g,'Ù');
		string=string.replace(/%DC/g,'Ü');
		string=string.replace(/%DB/g,'Û');
		return string;
	}

	return {init:init}
}();

$.fn.alternerRows = function(){
	var elmts=$(this);
	if (!$(this).is('table')) elmts=$(this).find('table');
	$(this).each(function(){
		var rows;
		if ($(this).find('tbody').size) rows=$(this).find('tbody').find('tr');
		else rows=$(this).find('tr');
		rows.filter(':odd').addClass('impair');
	});
	return this;
}

var headerRechInputText = function(){
	function init(){
		$('#headerRechText').each(function(){
			var elmt=$(this);
			inserLabelIntoInput(elmt.siblings('label'),elmt);
		});
	}
	return {init:init}
}();

function inserLabelIntoInput (label,input) {
	if (!input.val() && label.text()) {
		setDefaultValue(label,input);
		input.blur(function(){
			if (input.val()=='') setDefaultValue(label,input);
		});
	}
	function setDefaultValue(label,input){input.val(label.text()).addClass('defaultValue').one('click',function(){$(this).val('').removeClass('defaultValue');})}
}

*/