var xhr;

function get_Xhr() {
	if(window.XMLHttpRequest) {
		xhr = new XMLHttpRequest();
	}
	else if(window.ActiveXOject) {
		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e) {
			try {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(el) {
				xhr = null;
			}
		}
	}
}

/*****

Image Cross Fade Redux
Version 1.0
Last revision: 02.15.2006
steve@slayeroffice.com

Please leave this notice intact. 

Rewrite of old code found here: http://slayeroffice.com/code/imageCrossFade/index.html


*****/
// Enhanced for Sintel by JE ISEP

var d=document, current=0;
var timer;
var debutT;
var reste; // millisecondes restantes;
function Slide(src,time,id,url) {
	this.img;
	this.type;
	this.time = time;
	this.url = url;
	this.id = id;
	
	this.div = d.createElement("div");
	var type = src.split('.');
	this.type = type[type.length - 1];
	
	if(this.type == "swf" || this.type == "SWF") {
		if(document.all	&& !window.opera) {
			var i = d.createElement("div");
			i.setAttribute("id","flash_"+id);
			
			swfobject.embedSWF(src, "flash_"+id, "970", "197", "9.0.0");
		} else {
			var i = d.createElement("object");
			
			i.setAttribute("type","application/x-shockwave-flash");
			i.setAttribute("data",src);
			i.setAttribute("width","970");
			i.setAttribute("height","197");
			var param1 = d.createElement("param");
			param1.setAttribute("name","movie");
			param1.setAttribute("value",src);
			
			var param2 = d.createElement("param");
			param2.setAttribute("name","quality");
			param2.setAttribute("value","high");
			
			/*
			var param3 = d.createElement("param");
			param3.setAttribute("name","wmode");
			param3.setAttribute("value","transparent");
			i.appendChild(param3);	*/
			
			i.appendChild(param1);
			i.appendChild(param2);
		}
	}
	else {
		var i = d.createElement("img");
		i.src = src;
		i.onclick = function () {
			window.location.replace(url);
		}
	}
	this.div.style.display="none";
	this.div.style.position="absolute";
	this.div.style.left="0";
	
	this.img = this.div;
	this.div.appendChild(i);
	d.getElementById("imageContainer").appendChild(this.div);

}

window.addEventListener?window.addEventListener("load",so_init,false):window.attachEvent("onload",so_init);

function slowMarquee() {
	document.getElementById("scroller").setAttribute("scrollamount","2");
}

var taille;
function verifSize(idEl) {
	if(taille != document.getElementById(idEl).offsetHeight) {
		var contenuCentreHome = document.getElementById("contenuCentreHome") || document.getElementById("contenuCentre");
		taille = contenuCentreHome.offsetHeight;
		var divmarquee = document.getElementById("divmarquee");
		if(document.getElementById("conteneurDroite")) {
			var conteneurDroite = document.getElementById("conteneurDroite");
		}
		if(document.getElementById("ficheDroite")) {
			var conteneurDroite = document.getElementById("ficheDroite");
		}
		var reste = (contenuCentreHome.offsetHeight - conteneurDroite.offsetHeight);
		//reste += "px";
		reste += divmarquee.offsetHeight;
		divmarquee.style.height = reste + "px";
		
		//console.log("kikoo");
	}
}
function so_init() {
	if(!d.getElementById || !d.createElement)return;

    // Rien à voir avec le diapo, sert juste pour le menu en haut
	
	if(typeof(isCampagne) != "undefined") {
		document.getElementById("conteneurGlobalHome").style.backgroundImage = 'none';
		document.getElementById("conteneurCentreHome").style.backgroundImage = 'none';
		document.getElementById("contenuCentreHome").style.backgroundImage = 'none';
	}else {
		var blocLangue = document.getElementById("blocLangue");
		blocLangue.onclick = function() {
				window.location = "/";
		}
		blocLangue.onmouseover = function() {
			this.style.cursor = "pointer";
		}
		var blocBaseline = document.getElementById("blocBaseline");
		blocBaseline.onclick = function() {
			window.location = "/";
		}
		blocBaseline.onmouseover = function() {
			this.style.cursor = "pointer";
		}
    }
	

$(function() {	
		//cache the ticker
	var ticker = $("#ticker");

	//wrap dt:dd pairs in divs
	ticker.children().filter("a").each(function() {
	  var dt = $(this),
		container = $("<div>");
	  dt.next().appendTo(container);
	  dt.prependTo(container);
	  container.appendTo(ticker);
	});
	// Marquee
	if(document.getElementById("contenuCentreDescription")) {
		var contenuCentreHome = document.getElementById("contenuCentreDescription");
	}else {
		if(document.getElementById("contenuCentreHome")) {
			var contenuCentreHome = document.getElementById("contenuCentreHome");
		}
		if(document.getElementById("contenuCentre")) {
			var contenuCentreHome = document.getElementById("contenuCentre");
		}
	}
	if(contenuCentreHome) {
		var divmarquee = document.getElementById("ticker");
		if(document.getElementById("conteneurDroite")) {
			var conteneurDroite = document.getElementById("conteneurDroite");
		}
		if(document.getElementById("ficheDroite")) {
			var conteneurDroite = document.getElementById("ficheDroite");
		}
		if(conteneurDroite && divmarquee) {
			// Cumul représente le cumul des div dans le ticker
			var cumul = 0;
			var max = 0;
			var minimum = 175;
			var transition = 12;
			for(var i = 0;i<divmarquee.childNodes.length;++i) {
				max = Math.max(divmarquee.childNodes[i].offsetHeight,max);
				cumul += divmarquee.childNodes[i].offsetHeight + transition;
			}
			var reste = (contenuCentreHome.offsetHeight - conteneurDroite.offsetHeight);
			if(cumul < minimum) {
				// Si le cumul est plus petit que ce que l'on veut au minimum, on ne fait pas de transition
				// -transition pour que les transitions soient assurées
				var remplissage = document.getElementById("remplissage");
				divmarquee.style.height = cumul + "px";
				remplissage.style.height = (minimum - cumul - transition) + "px";
			}else {
				// Le cumul est plus grand que la taille minimal.
				// On peut donc agrandir le ticker un peu
				divmarquee.style.height = Math.min(divmarquee.offsetHeight + reste, cumul - max) + "px";
				// console.log(cumul - max);
				// console.log(min);
			}
		}
    }

	//hide the scrollbar
	ticker.css("overflow", "hidden");

	//animator function
	function animator(currentItem) {
	  //work out new anim duration
	  var distance = currentItem.height();
		duration = (distance + parseInt(currentItem.css("marginTop"))) / 0.025;
	  //animate the first child of the ticker
	  currentItem.animate({ marginTop: -distance }, duration, "linear", function() {
		//move current item to the bottom
		currentItem.appendTo(currentItem.parent()).css("marginTop", 0);
		//recurse
		animator(currentItem.parent().children(":first"));
	  }); 

	};

	//start the ticker
	animator(ticker.children(":first"));
	//set mouseenter
	ticker.mouseenter(function() {
	  //stop current animation
	  ticker.children().stop();
	});
	//set mouseleave

	ticker.mouseleave(function() {
	  //resume animation
	  animator(ticker.children(":first"));
	});
});
    // Fin du marquee
	if(typeof(ts) != "undefined") {
		for(i=0;i<ts.length;i++){
			ts[i].img.xOpacity = 0;
			if(ts[i].url != '') {
				ts[i].img.onmouseover = function() {
					this.style.cursor = "pointer";
					pause();
				}
				ts[i].img.onmouseout = function() {
					resume();
				}
			}
		}
		ts[0].img.style.display = "block";
		ts[0].img.xOpacity = .99;
		
		timer = setTimeout(so_xfade,1000);
	}
	
}
function pause() {
	clearTimeout(timer);
	reste = (new Date) - debutT;
}
function resume() {
	timer = setTimeout(so_xfade,reste);
}
function so_xfade() {
	cOpacity = ts[current].img.xOpacity;
	if(current+1 >= ts.length) {
		nIndex = 0;
	}
	else {
		nIndex = current + 1;
	}

	nOpacity = ts[nIndex].img.xOpacity;
	
	cOpacity-=.05; 
	nOpacity+=.05;
	
	ts[nIndex].img.style.display = "block";
	ts[current].img.xOpacity = cOpacity;
	ts[nIndex].img.xOpacity = nOpacity;
	
	setOpacity(ts[current].img); 
	setOpacity(ts[nIndex].img);
	
	debutT = new Date();
	if(cOpacity <= 0) {
		ts[current].img.style.display = "none";
		current = nIndex;
		affichage(affichage(ts[current].id));
		timer = setTimeout(so_xfade,ts[current].time);
	} else {
		timer = setTimeout(so_xfade,50);
	}
	function setOpacity(obj) {
		if(obj.xOpacity>.99) {
			obj.xOpacity = .99;
			return;
		}
		obj.style.opacity = obj.xOpacity;
		obj.style.MozOpacity = obj.xOpacity;
		obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
	}
	
}
function affichage(id) {
	if(id) {
		if(xhr == null) {
			get_Xhr();
		}
		xhr.open("POST", "/affichage.php", true);
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		//Envoie de la requete
		xhr.send("id="+id);
	}
}

// Pour le marquee

