/*La fonction pour déplier les objets du menu*/
function deplier(titre)
{
	titre.parentNode.lastChild.style.display = (titre.parentNode.lastChild.style.display == "none")?"block":"none";
	return false;
}
/*Pour afficher des blocs avec leur id (cf resultats.php)*/
function afficher(id)
{
	$('#'+id).toggle('fast');
	return false;
}

//Fait en sorte que tous les éléments label d'un fieldset aient la même largeur pour aligner les champs inputs
function alignerInputs()
{
	$('fieldset.aligne').each(function(){
		var maxSize = 0;
		$(this).find('label').each(function(){
			if($(this).width() > maxSize)
			{
				maxSize = $(this).width();
			}
		});
		if(maxSize > 0)
		{
			maxSize += 5;
			$(this).find('label').each(function(){
				$(this).css({'display':'inline-block', 'width':maxSize+'px'});
			});
		}
	});
}

function Get_NbrCR(txt_){
	var NbrCR = 0;
	var Pos = txt_.indexOf("\r\n");
	while( Pos > -1){
		Pos = txt_.indexOf("\r\n", Pos+2);
		NbrCR ++;
	}
	return(NbrCR);
}

function Ajout_texte(ident, texte){
  var Obj = document.getElementById(ident);
  if(Obj){
    Obj.focus();
    if(typeof Obj.selectionStart != "undefined"){
      var PosDeb  = Obj.selectionStart;
      var PosFin  = Obj.selectionEnd;
      //Recup. des Chaines
      var Chaine  = Obj.value;
      var szAvant = Chaine.substring( 0 , PosDeb);
      var szApres = Chaine.substring( PosFin, Obj.textLength );
      //Recup. texte selectionne
      var szSelect = Chaine.substring( PosDeb, PosFin);
      //Insertion du texte
      Obj.value = szAvant + texte + szApres;
      //Replace le curseur
      Obj.setSelectionRange(  szAvant.length + texte.length, szAvant.length + texte.length );
      //Replace le Focus
      Obj.focus();
    }else{ // IE and consort
      //Recup. de la selection
      var szSelect = document.selection.createRange().text;
      //Si du Texte est selectionne on le remplace
      if( szSelect.length > 0){
        var Chaine = document.selection.createRange();
        Chaine.text = texte ;
        Chaine.collapse();
        Chaine.select();
      }
      else{
        var Chaine = Obj.value;
        var szMark ="~~";
        //Cree un double et insert la Mark ou est le curseur
        var szTmp = document.selection.createRange().duplicate();
        szTmp.text = szMark;
        //Recup. la position du curseur
        var PosDeb = Obj.value.search(szMark);
        //Recup. des Chaines
        var szAvant = Chaine.substring( 0 , PosDeb);
        var szApres = Chaine.substring( PosDeb, Obj.textLength );
        //Insertion du texte
        Obj.value = szAvant + texte + szSelect + szApres;
        //Repositionne le curseur
        PosDeb += texte.length;
        //-(*)- Supprime les retours Chariot
        PosDeb -= Get_NbrCR( szAvant);
        //Recup de la Chaine
        Chaine = Obj.createTextRange();
        //Deplace le Debut de la chaine
        Chaine.moveStart('character', PosDeb);
        //Deplace le curseur
        Chaine.collapse();
        Chaine.select();
      }
    }
  }
}

function Insert_Tag(ident, tagdeb_, tagfin_){
  var Obj = document.getElementById(ident);
  if( Obj){
    Obj.focus();
    if(typeof Obj.selectionStart != 'undefined'){
      //Position du curseur
      var PosDeb = Obj.selectionStart;
      var PosFin = Obj.selectionEnd;
      //Recup. des Chaines
      var Chaine  = Obj.value;
      var szAvant = Chaine.substring( 0 , PosDeb);
      var szApres = Chaine.substring( PosFin, Obj.textLength );
      //Recup. texte selectionne
      var szSelect = Chaine.substring( PosDeb, PosFin);
      //Insertion des tags
      Obj.value = szAvant + tagdeb_ + szSelect + tagfin_ + szApres;
      //Replace le curseur
      PosDeb = szAvant.length + tagdeb_.length +szSelect.length;
      PosFin = PosDeb;
      Obj.setSelectionRange(  PosDeb, PosFin);
      //Replace le Focus
      Obj.focus();
    }
    else{ // IE and consort
      var Decal;
      //Recup. de la selection
      var Chaine   = document.selection.createRange();
      var szSelect = Chaine.text;
      Chaine.text  = tagdeb_ + szSelect + tagfin_;
      Chaine = document.selection.createRange();
      //Replace le curseur avant balise fin
      if( szSelect.length > 0){
        //Le curseur est en debut de chaine
        Decal = tagdeb_.length + szSelect.length;
        //-(*)- Supprime les retours Chariot
        Decal -= Get_NbrCR( szSelect);
      }
      else{
        //Le curseur est en fin de chaine
        Decal = -tagfin_.length;
      }
      //Deplace le curseur
      Chaine.move('character', Decal);
      Chaine.collapse();
      Chaine.select();
    }
  }
}

function couleur(caseCouleur, ident){
	var code = caseCouleur.style.backgroundColor;
	Insert_Tag(ident, '<span style="color:'+code+'">', '</span>')
}

/*Animation page d'accueil*/
var left;
var right;
var timerNext;
var timeout = 5000;
var vitesseAnimation = 1000;
var block = 0;

function loadAccueil(){
	left  = 0;
	right = 0;
	leftCount = $('#contenuGauche div').length;
	rightCount = $('#contenuDroite div').length;

	if(leftCount > 0 || rightCount > 0)
	{
		timerNext = setTimeout("goNext()", timeout);
	}
}

function goNext()
{
	if(leftCount > 0)
	{//Si c'est un tableau
		$('div#acc_gauche_'+left).fadeOut(vitesseAnimation, function(){
			left = (++left)%leftCount;
			$('div#acc_gauche_'+left).fadeIn(vitesseAnimation);
		});
	}
	if(rightCount > 0)
	{//Si c'est un tableau
		$('div#acc_droite_'+right).fadeOut(vitesseAnimation, function(){
			right = (++right)%rightCount;
			$('div#acc_droite_'+right).fadeIn(vitesseAnimation);
		});
	}
	timerNext = setTimeout("goNext()", timeout);
}

//Effets de surlignage
$('.ui-state-default').live('mouseover', function(){
		$(this).addClass('ui-state-hover')
	}).live('mouseout', function(){
		$(this).removeClass('ui-state-hover')
	}).live('mousedown', function(){
		$(this).addClass('ui-state-active')
	}).live('mouseup', function(){
		$(this).removeClass('ui-state-active')
	});

//Elements redimensionnables
$(function() {
	$(".ui-resizable").resizable({
		handles: "se"
	});
	//Config par défaut des datepcker
	$.datepicker.setDefaults($.datepicker.regional['fr']);
});

//Apellé quand la page est chargée
$(window).load(alignerInputs);

