function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

function insertAfter(newElement,targetElement) {
	var parent = targetElement.parentNode;
	if (parent.lastChild == targetElement) {
		parent.appendChild(newElement);
	} else {
		parent.insertBefore(newElement,targetElement.nextSibling);
	}
}

function getPageHeight() {
	// http://www.quirksmode.org/viewport/compatibility.php
	var test1 = document.body.scrollHeight;
	var test2 = document.body.offsetHeight;
	
	if (test1 > test2) { // all but Explorer Mac
		pageHeight = document.body.scrollHeight;
	} 
	else { // Explorer Mac; Would also work in Explorer 6 Strict, Mozilla and Safari
		pageHeight = document.body.offsetHeight;
	}
	return pageHeight;
}

function getScrollTop() {
	// http://www.quirksmode.org/viewport/compatibility.php
	var x;
	var y;
	
	if (self.pageYOffset) { // all except Explorer
		y = self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
		y = document.documentElement.scrollTop;
	}
	else if (document.body) { // all other Explorers
		y = document.body.scrollTop;
	}
	return y;
}


var currentDivId;

function prepareGallery() {
	
	// Pour detecter si c'est IE 5 Mac... alors on n'execute pas le reste de la fonction!
	if (!window.print) return false;
	
	if (!document.createElement) return false;
	if (!document.createTextNode) return false;
	if (!document.getElementsByTagName) return false;
	if (!document.getElementById) return false;
	if (!document.getElementById("contenu")) return false;
	if (!document.getElementById("grandes-photos")) return false;
	
	var pictures = document.getElementById("grandes-photos");
	pictures.style.padding = "0";
	
	var picturesDivs = pictures.getElementsByTagName("div");
	
	for (var i=0; i < picturesDivs.length; i++) {
		// changer les styles css
		picturesDivs[i].style.visibility= "hidden";
		picturesDivs[i].style.position= "absolute";
		picturesDivs[i].style.left= "0";
		picturesDivs[i].style.top = "0";
		picturesDivs[i].style.zIndex = "1100";
		
		// creer le lien pour fermer
		var closePara = document.createElement("p");
		closePara.setAttribute("class","fermer");
		
		var closeLink = document.createElement("a");
		closeLink.setAttribute("href","#");
		closeLink.onclick = function() {
			return closePicture(this);
		}
		var htmlElement = document.getElementsByTagName("html")[0];
		
		// déterminer le texte du bouton "fermer" selon la langue du document
		if (htmlElement.getAttribute("lang") == "fr") {
			var closeLinkText = document.createTextNode("Fermer");
		} else {
			var closeLinkText = document.createTextNode("Close");
		}
		closeLink.appendChild(closeLinkText);
		closePara.appendChild(closeLink);
		picturesDivs[i].appendChild(closePara);
		
		/*
		var paragraphs = picturesDivs[i].getElementsByTagName("p");
		for (var j=0; j < paragraphs.length; j++) {
			if (paragraphs[j].className.match("fermer")) {
				paragraphs[j].style.display = "none";
			}
		}
		*/
	}
	
	// attribuer les onclick sur les liens
	var content = document.getElementById("contenu");
	var links = content.getElementsByTagName("a");
	for (var i=0; i < links.length; i++) {
		if (links[i].className.match("agrandir")) {
			links[i].onclick = function() {
				return showPic(this);
			}
		}
		links[i].onkeypress = links[i].onclick;
	}
}

function showPic(whichpic) {

	// Trouver les infos propre à l'image...
	var linkHref = whichpic.href;
	linkHref = linkHref.split("#");
	var targetId = linkHref[1];
	currentDivId = targetId;
	var targetDiv = document.getElementById(targetId);
	var targetImage = new Image();
	targetImage.src = targetDiv.getElementsByTagName("img")[0].src;
	var targetImageWidth = targetImage.width;
	var pageWidth = 960;
	var targetDivLeftPosition = Math.round((pageWidth - targetImageWidth) / 2);
	if (targetDivLeftPosition <= 0) targetDivLefPosition = 0;
	
	// Cache les objets QuickTime
	toggleMovie();
	
	// Afficher le fond + la grande image...
	var backgroundDiv = document.getElementById("fond-photo");
	backgroundDiv.style.visibility = "visible";
	backgroundDiv.style.height = getPageHeight() + "px";
	targetDiv.style.visibility = "visible";
	targetDiv.style.left = targetDivLeftPosition + "px";
	targetDiv.style.top = (getScrollTop() + 10) + "px";
	
	return false;
	
}


function toggleMovie() {
	var movie;
	if (document.getElementsByTagName && document.getElementsByTagName("object").length != 0) {
		movie = document.getElementsByTagName("object")[0];
		if (movie.style.visibility == "hidden") {
			movie.style.visibility = "visible";
		} else {
			movie.style.visibility = "hidden";		
		}

	}
}

function closePicture(whichpic) {
	document.getElementById("fond-photo").style.visibility = "hidden";
	document.getElementById(currentDivId).style.visibility = "hidden";
	toggleMovie();
	return false;
}

// Dean Edwards/Matthias Miller/John Resig

function init() {
		// quit if this function has already been called
		if (arguments.callee.done) return;

		// flag this function so we don't do the same thing twice
		arguments.callee.done = true;

		// kill the timer
		if (_timer) clearInterval(_timer);

		// do stuff
		
		prepareGallery();
};

/* for Mozilla/Opera9 */
if (document.addEventListener) {
		document.addEventListener("DOMContentLoaded", init, false);
}

/* for Internet Explorer */
/*@cc_on @*/
/*@if (@_win32)
		document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
		var script = document.getElementById("__ie_onload");
		script.onreadystatechange = function() {
				if (this.readyState == "complete") {
						init(); // call the onload handler
				}
		};
/*@end @*/

/* for Safari */
if (/WebKit/i.test(navigator.userAgent)) { // sniff
		var _timer = setInterval(function() {
				if (/loaded|complete/.test(document.readyState)) {
						init(); // call the onload handler
				}
		}, 10);
}

/* for other browsers */
window.onload = init;

