// AFFECTE UNE FONCTION A UN OBJET POUR UN EVENEMENT SPECIFIE
function ajoutEvenement(objet,type,fonction)
{
	if(!objet) debug(type+'/'+fonction);
	if (objet.addEventListener) objet.addEventListener(type,fonction,false); //TOUS NAVIGATEURS SAUF...
	else if (objet.attachEvent)	objet.attachEvent('on'+type,fonction); //IE
}

// AFFECTE UNE FONCTION A UN OBJET POUR UN EVENEMENT SPECIFIE
function retraitEvenement(objet,type,fonction)
{
	if (objet.removeEventListener) objet.removeEventListener(type,fonction,false); //TOUS NAVIGATEURS SAUF...
	else if (objet.detachEvent) objet.detachEvent('on'+type,fonction); //IE
}


// RENVOIT TOUS LES ELEMENTS D'UNE CLASSE SOUS FORME DE TABLEAU
// CETTE FONCTION EST NATIVE SOUS FIREFOX, MAIS PAS SOUS IE
function recupElementsParClasse(classe,node,tag)
{
	var tab = new Array();
	var liste;
	
	if (!node) node=document;
	if (!tag) tag="*";
	
	if (node.getElementsByClassName)
	{
		liste = node.getElementsByClassName(classe);
		
		if (liste.length>0)
		{
			for (i=0;i<liste.length;i++) tab.push(liste.item(i));
		}
	}
	else
	{
		liste = node.getElementsByTagName(tag);
		
		if (liste.length>0)
		{
		    for(i=0;i<liste.length;i++)
			{
		        if (liste[i].className == classe) tab.push(liste[i]);
			}
		}
	}

    return tab;
}

function affiche_googlemap(query)
{
	var iframe = document.createElement('iframe');
	iframe.src = "http://maps.google.fr/maps?q="+query+"&amp;ie=UTF8&amp;ll=48.896888,2.330132&amp;spn=0.027085,0.054932&amp;z=14&amp;iwloc=A&amp;source=embed";
	iframe.setAttribute('width','425');
	iframe.setAttribute('height','350');
	iframe.setAttribute('frameborder',0);
	iframe.setAttribute('scrolling','no');
	iframe.setAttribute('marginheight',0);
	iframe.setAttribute('marginwidth',0);
	
	affiche_boite(iframe);
}

////////////////////////////////////////
//FENETRE DE DEBUGAGE
function debug(contenu,replace)
{
	texte = document.createTextNode(contenu);
	retour_chariot = document.createElement("br");
	
	if (div = document.getElementById("debug"))
	{
		if (replace)
		{
			while (child = div.firstChild) div.removeChild(div.firstChild);
			div.appendChild(texte);
		}
		else
		{
			div.appendChild(texte);
			div.appendChild(retour_chariot);
		}
	}
	else
	{	
		div = document.createElement("div");
		div.setAttribute("id","debug");
		
		document.documentElement.appendChild(div);
		
		div.style.position = "absolute";
		div.style.left = "0px";
		div.style.top = "0px";
		div.style.zIndex = 50;
		div.style.backgroundColor = 'pink';
		div.style.opacity = '0.5';
		div.appendChild(texte);
		div.appendChild(retour_chariot);
	}	
}

////////////////////////////////////////
// EFFET D'AFFICHAGE
function opacite(objet)
{		
	// TROP DE CHOSES POUR LE PAUVRE IE...
	if (navigator.appName != "Microsoft Internet Explorer")  
	{		
		ChangeOpac(objet.id,0);	
				
		for(i = 0; i <= 100; i++) window.setTimeout("ChangeOpac(" + objet.id + ",'" + i + "')",i*4);
	}	
}

function ChangeOpac(objet,opacity)
{
	if (typeof(objet) == 'string') objet = document.getElementById(objet);
	objet.style.filter = "alpha(opacity=" + opacity + ")"; //IE 6 et 7
	objet.style.opacity = (opacity / 100);
}


function ChangeTaille(largeur,hauteur,id)
{
	objet = document.getElementById(id);
	objet.style.width = largeur+'px';
	objet.style.height = hauteur+'px';
}

function fadein(objet)
{
	ChangeOpac(objet,0);
	objet.style.visibility = 'visible';
	objet.style.display = 'block';
	
	var interval = 4;
	
	if (navigator.appName == "Microsoft Internet Explorer") interval = 2;
	
	for (i=1;i<=100;i++)
	{
		setTimeout("ChangeOpac('"+objet.id+"',"+i+")",i*interval);
	}
}


function fadeout(objet)
{
	var interval = 4;
	
	if (navigator.appName == "Microsoft Internet Explorer") interval = 2;

	for (i=1;i<=100;i+=2)
	{
		setTimeout("ChangeOpac('"+objet.id+"',"+(100-i)+")",i*interval);
	}
}

// RECUPERE LA POSITION X D'UN OBJET, MEME S'IL EST PLACE EN RELATIF
function PosX(obj)
{
	var curleft = 0;

	if (obj.offsetParent)
	{
		do { curleft += obj.offsetLeft;	}
		while (obj = obj.offsetParent);
	}
		
	return curleft;
}

// RECUPERE LA POSITION Y D'UN OBJET, MEME S'IL EST PLACE EN RELATIF
function PosY(obj)
{
	var curtop = 0;
	
	if (obj.offsetParent)
	{
		do { curtop += obj.offsetTop; }
		while (obj = obj.offsetParent);
	}
	
	return curtop;
}

// POUR RENDRE LES OBJETS NON SELECTIONNABLES (SANS CELA, LE DRAG&DROP NE MARCHE PAS AVEC IE°
// FONCTION INUTILE POUR FIREFOX
function unselectable(evt)
{
	var target = evt.target || evt.srcElement;
	target.unselectable = "on";
}

function joue_mp3(mp3)
{
	var flashvars = {};
	var params = {bgcolor: "#000000"};
	var attributes = {};

	swfobject.embedSWF("swf/37FR_Soundplayer_v02.swf?song=mp3/"+mp3+"&autostart=1&loop=false", "mp3player", "190", "20", "9.0.0","swf/expressInstall.swf",flashvars,params,attributes);
}


var progress;
function affiche_select(selected)
{
	clearTimeout(progress);
	var boite = document.getElementById('boite_htmlplus');
	boite.parentNode.removeChild(boite);

	var req = false;
	if (window.XMLHttpRequest)
	{
		req = new XMLHttpRequest();
		if (req.overrideMimeType) req.overrideMimeType('text/xml');
	}
	else if (window.ActiveXObject)
	{
		try {req = new ActiveXObject('Msxml2.XMLHTTP');}
		catch (e) 
		{
			try { req = new ActiveXObject('Microsoft.XMLHTTP');}
			catch (e) {}
		}
	}

	if (!req) { alert('Abandon :( Impossible de créer une instance XMLHTTP');return false; }

	//req.onreadystatechange = function() { resultat_edition_31692(req); };
	req.open('GET','affiche_select.php?', false);
	req.send(null);
	
	var contenu = req.responseText;
	
	var champs = contenu.split(',');
	
	var select = document.getElementById('select_mp3');
	
	while (option = select.options[0]) select.removeChild(option);
	
	var option = new Option('','',false,true);		
	select.options[0] = option;
	
	for (var i=0;i<champs.length;i++)
	{
		var bool;
		if (selected && champs[i] == selected) bool = true;
		else bool = false;
		
		var option = new Option(champs[i],champs[i],false,bool);		
		select.options[select.length] = option;
 	}
}




function fadeintaille(objet)
{
	changeopac(objet,0);
	objet.style.visibility = 'visible';
	
	var larg = objet.offsetWidth;
	var haut = objet.offsetHeight;
	
	var interval = 4;
	
	if (navigator.appName == "Microsoft Internet Explorer") interval = 2;
	
	for (i=1;i<=100;i+=4)
	{
		setTimeout("ChangeOpac('"+objet.id+"',"+i+");ChangeTaille('"+objet.id+"',"+(larg*i/100)+","+(haut*i/100)+")",i*interval);
	}
}

function ChangeTaille(objet,larg,haut)
{
	if (typeof (objet) == 'string') objet = document.getElementById(objet);
	objet.style.width = Math.round(larg)+"px";
	objet.style.height = Math.round(haut)+"px";
}

var survole;
var quitte;

function survole_image(evt)
{
	var img = evt.target || evt.srcElement;
	
	var larg = img.getAttribute('larg');
	var haut = img.getAttribute('haut');
	
	var interval = 15;
	
	if (navigator.appName == "Microsoft Internet Explorer") interval = 7;
	
	window.clearTimeout(quitte);
	
	for (i=1;i<=15;i+=1)
	{
		survole = setTimeout("ChangeTaille('"+img.id+"',"+(parseInt(larg)+i)+","+(parseInt(haut)+i)+")",i*interval);
	}
}

function quitte_image(evt)
{
	var img = evt.target || evt.srcElement;

	var larg = img.getAttribute('larg');
	var haut = img.getAttribute('haut');
	
	var interval = 15;
	
	if (navigator.appName == "Microsoft Internet Explorer") interval = 7;
	
	window.clearTimeout(survole);
	
	for (i=1;i<=15;i+=2)
	{
		quitte = setTimeout("ChangeTaille('"+img.id+"',"+(parseInt(larg)+15-i)+","+(parseInt(haut)+15-i)+")",i*interval);
	}
}

function affiche_image(ind,descript) 
{
	document.getElementById('descript').innerHTML = descript;
	
	var img = image_chargee[ind];

	var old = document.getElementById('image');
	old.parentNode.replaceChild(img,old);
	
	img.id = 'image';
	img.style.width = img.width+"px";
	img.style.height = img.height+"px";

	fadeintaille(img);
}

function survole_lien(evt)
{
	var target = evt.target || evt.srcElement;
		
	for (i=0;i<8;i++)
	{
		setTimeout("ChangePadding('"+target.id+"',"+Math.round(8/(8-i))+")",i*30);
	}
}

function ChangePadding(id,padding)
{
	try
	{
		document.getElementById(id).style.padding = '0px '+(16-padding)+'px 0px '+padding+'px';
	}
	catch(e) {};
}

window.onload = function()
{
	var contenu = document.getElementById('corps');
	contenu.style.visibility = 'visible';
	fadein(contenu);
	
	var menu = document.getElementById("menu");
	
	var liens = document.getElementsByTagName("A");
	
	for (var i=0;i<liens.length;i++)
	{
		var lien = liens.item(i);
		if (lien.tagName != 'A') continue;
				
		if(!lien.id) lien.id = lien.firstChild.nodeValue;

		if (lien.firstChild.tagName == 'IMG')
		{
			var img = lien.firstChild;
			img.setAttribute('larg',img.offsetWidth);
			img.setAttribute('haut',img.offsetHeight);
						
			ajoutEvenement(lien.firstChild,'mouseover',survole_image);
			ajoutEvenement(lien.firstChild,'mouseout',quitte_image);
		}
		else if (lien.style.padding!==false) ajoutEvenement(lien,'mouseover',survole_lien);
	}	
}
