// Fonction d'initialisation des scripts au DomReady
function initialiserScripts(){
	initialiserOutils();
	initialiserMenu();
	initialiserRotations();
}

/* Paramètres pour la taille du texte */
var titleAugmenterTexte = 'Augmenter la taille du texte';
var altAugmenterTexte = 'Augmenter';
var texteAugmenterTexte = 'Taille du texte';
var imageAugmenterTexte = 'images/outils/taille-texte-plus.gif';
var titleDiminuerTexte = 'Diminuer la taille du texte';
var altDiminuerTexte = 'Diminuer';
var texteDiminuerTexte = 'Taille du texte';
var imageDiminuerTexte = 'images/outils/taille-texte-moins.gif';

/* Paramètres pour l'impression */
var titleImprimer = 'Imprimer la page';
var texteImprimer = 'Imprimer';
var imageImprimer = 'images/outils/imprimer.gif';

/* Ajoute les outils ne fonctionnant qu'avec JavaScript (taille de texte et Imprimer) */
function initialiserOutils(){
	/* Taille de texte */
	var liAugmenter = new Element('li', {'id':'menu-outils-augmenter'});
	var liDiminuer = new Element('li', {'id':'menu-outils-diminuer'});
	var aAugmenter = new Element('a', {'title': titleAugmenterTexte, 'href':'#', 'events': {'click': function(e){e.preventDefault(); setActiveStyleSheet('grand');}}, 'html': '<img src="'+imageAugmenterTexte+'" alt="'+altAugmenterTexte+'" /><span>'+texteAugmenterTexte+'</span>'});
	var aDiminuer = new Element('a', {'title': titleDiminuerTexte, 'href':'#', 'events': {'click': function(e){e.preventDefault(); setActiveStyleSheet('normal');}}, 'html': '<img src="'+imageDiminuerTexte+'" alt="'+altDiminuerTexte+'" /><span>'+texteDiminuerTexte+'</span>'});
	aAugmenter.inject(liAugmenter);
	aDiminuer.inject(liDiminuer);
	/* Imprimer */
	var liImprimer = new Element('li');
	var aImprimer = new Element('a', {'title': titleImprimer, 'href':'#', 'events': {'click': function(e){e.preventDefault(); print();}}, 'html': '<img src="'+imageImprimer+'" alt="" /><span>'+texteImprimer+'</span>'});
	aImprimer.inject(liImprimer);
	/* Ajoute les outils au code */
	liImprimer.inject($$('#menu-outils ul')[0], 'top');
	liDiminuer.inject($$('#menu-outils ul')[0], 'top');
	liAugmenter.inject($$('#menu-outils ul')[0], 'top');
}

// Permet au menu principal de s'ouvrir et se fermer
var menuPrincipalOuvert = false;

function initialiserMenu(){
	var parents = $$('#menu-principal ul')[0].getChildren('li.ouvrable')
	
	parents.each(function(el, index){
		el.addEvent('mouseenter', menuAfficherSurvol);
		el.addEvent('mouseleave', menuCacherSurvol);
	})
}

function menuAfficherSurvol(){
	$clear(this.delayFermer);
	this.delayOuvrir = _menuAfficherSurvol.delay(200, this);
}
function _menuAfficherSurvol(){
	if(menuPrincipalOuvert){
		_menuCacherSurvol.bind(menuPrincipalOuvert)()
	}
	menuPrincipalOuvert = this;
	this.delayOuvrir = false
	this.addClass('survol')
	var sousmenu = this.getChildren('ul');
	$$('#contenu-page form').each(function(el){
	  
	  coord = sousmenu.getCoordinates()
	  
	  //if((coord.top + coord.height) > el.getCoordinates().top){
	    el.setStyle('visibility', 'hidden');
	 // }
	})
}

function menuCacherSurvol(){
	if(this.delayOuvrir){
		$clear(this.delayOuvrir);
		this.delayOuvrir = false
	}else{
		this.delayFermer = _menuCacherSurvol.delay(400, this);
	}
}
function _menuCacherSurvol(){
	$clear(this.delayFermer);
	this.removeClass('survol');
	var sousmenu = this.getChildren('ul');
	$$('#contenu-page form').each(function(el){
	 // if(sousmenu.getCoordinates().top + sousmenu.getCoordinates().height > el.getCoordinates().top){
	    el.setStyle('visibility', 'visible');
	 // }
	})
	
}



// Rotation d'images
function initialiserRotations(){
	rotations = $$('.rotationJavascript');
	
	rotations.each(creerRotation);
}


function creerRotation(el){
	imgs = el.getElements('img');
	
	if(imgs.length > 1){
	   rot = new Rotator(el, imgs, 6);
	}
	
}

Rotator = new Class({
										
	images: [],
	chrono: null,
	actuel: 0,
	
	initialize: function(conteneur, imgs, vitesse){
		
		this.images = imgs;
		conteneur.setStyle('position','relative')
		actuel = this.actuel;	h = 0;
		imgs.each(function(el, no){
			if(el.getSize().y > h){
				h = el.getSize().y
			}
			if(no != actuel){
				el.dispose();
				el.fade('hide');
			}
			
			el.setStyle('position','absolute');
			el.setStyle('top','0');
			el.setStyle('display','block');
		})
		
		conteneur.setStyle('height', h)
		this.changerImage.periodical(vitesse * 1000, this);
	},
	
	changerImage:function(){
		next = this.actuel + 1
		
		if(next >= this.images.length){next = 0}
		surnext = next+1
		if(surnext >= this.images.length){surnext = 0}
		
		
		this.images[this.actuel].getParent().adopt(this.images[next]);
		this.images[next].fade('in');
		this.images[surnext].fade('hide');
		
		this.actuel = next
	}
	
})




// initialise des scripts lorsque la page est prête
window.addEvent('domready', initialiserScripts);


/* Styleswitcher */
/* Source: http://www.alistapart.com/articles/alternate/ */
/* Modifié pas Maxime Lafontaine pour ajouter une classe au body (mootools obligatoire) */

function setActiveStyleSheet(title) {
	$$('body').removeClass('tailletextenormal');
	$$('body').removeClass('tailletextegrand');
	$$('body').addClass('tailletexte'+title);
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

function getPreferredStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")
       ) return a.getAttribute("title");
  }
  return null;
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

window.onload = function(e) {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
}

window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie("style", title, 365);
}

var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);


