window.addEvent('domready', initGalleryLink);

function initGalleryLink()
{
	var aLink = $$('a.lien-vignette');
	var iLink = aLink.length;
	for (var i = 0; i < iLink; i++)
	{
		aLink[i].addEvent ("mouseover", function(){
			//alert(get_element_id(this.id));
			var sId    = get_element_id(this.id);
			var sTitre = $("titre_"+sId).value;
			var sTexte = $("texte_"+sId).value;
			
			$("texte-survol-gallery").innerHTML = sTitre+"<br />"+sTexte;
		});
	}
	getXMLRealisation();
}
function get_element_id(sId){
	if (sId.length == 0) return false;
	var aSplit = sId.split("_");
	if (aSplit.length != 2){
		return false;
	}
	else{
		return aSplit[1];
	}
}
function showGalleyDetails(e){
	// Hack IE
	if (e.target){
		target = e.target;
	}
	else if (e.srcElement){
		target = e.srcElement;
	}
	else if (window.event.srcElement){
		target = window.event.srcElement;
	}
	alert(this.id);

}

//
var debug = false;
var docXML;								// document XML chargé
var lignesXML;							// document XML chargé
var nb_realisations = 0;				// Nombre de news à faire défiler
var current_num = 0;					// numéro de la news courant
var inter   = 2000;					// Intervalle entre changement 5s


// configuration des effets
var durationIn  = 1500; 					// durée du fadeIn
var durationOut = 1000; 					// durée du fadeOut
var fxFunction  = Fx.Transitions.linear;	// transition

var oFadeIn = {
			duration   : durationIn,
			wait       : false,
			transition : fxFunction
			};
var oFadeOut = {
			duration   : durationOut,
			wait       : false,
			transition : fxFunction
			};
// Charge le document XML
function getXMLRealisation()
{
	var sPath     = "http://" + http_host + racine_site;
	var sFile     = sPath + "includes/ajax/realisation_xml.php";
	var sMeth     = "get";
	var sEncoding = "utf-8";
	var sQuery    = 'lang='+lang;

	var request = new Request({
							method    : sMeth,
							url       : sFile,
							encoding  : sEncoding,
							onSuccess : function(responseText, responseXML){
									docXML  = responseXML;
									lignesXML = docXML.getElementsByTagName("realisation");
									nb_realisations = lignesXML.length;
									docText = responseText;
									do_slide_show();
								},
							onFailure : function(){
									if (debug){
										alert("HTTP REQUEST FAILED...");
									}
								}
							});
	request.send(sQuery);
}
function do_slide_show()
{
	
	current_num++;
	if (current_num >= nb_realisations){
		// correspond au dernier
		// retour au début
		current_num = 0;
	}
	get_realisation_informations();
	
}

// Lis les informations contenues dans le XML
function get_realisation_informations()
{
	var image_path = "http://" + http_host;
	if (nb_realisations == 0){
		// XML Vide
		if (debug){
			alert("XML vide");
		}
		return;
	}
	// Informations concernant la 1ère news
	for (i = 0; i < lignesXML[current_num].childNodes.length; i++)
	{
		if (lignesXML[current_num].childNodes[i].nodeType == 1)
		{
			var nodeName = lignesXML[current_num].childNodes[i].nodeName;
			if (nodeName == "id"){
				id_realisation = lignesXML[current_num].childNodes[i].firstChild.nodeValue;
			}
			else if (nodeName == "imageurl"){
				image_url_realisation = image_path + lignesXML[current_num].childNodes[i].firstChild.nodeValue;
			}
			else if (nodeName == "imagelink"){
				image_link_realisation = lignesXML[current_num].childNodes[i].firstChild.nodeValue;
			}
		}
	}
	// Chargement de l'image
	e_img_realisation = new Asset.image(image_url_realisation, {id      : 'visuel_news_1',
																border  : 0,
																onload  : function(){
																				fade_out();
																			},
																onerror : function(){
																				if (debug){
																					alert("impossible de charger l'image 1 => "+image_url_realisation);
																				}
																				return;
																			}
	});	
}
// gestion du changement de news
function change_news(element){
	// on supprime tous lse enfants
	remove_child_nodes($("slideshow_real"));
	var a_realisation = new Element ("a", {'href' : image_link_realisation});
	e_img_realisation.inject(a_realisation);
	a_realisation.inject($("slideshow_real"));
	fade_in.delay(500);
}
// supprime tous les enfants d'un élément
function remove_child_nodes(element){
	while (element.childNodes.length > 0){
		element.removeChild(element.firstChild);
	}
}
// lorsque l'image est chargée
// Gestion de l'effet Fade OUT
function fade_out(){
	var slide_show = $("slideshow_real");
	var fx = new Fx.Morph(slide_show, oFadeOut);
	fx.addEvent ("complete", function(){
		change_news();
	});
	fx.start({'opacity': 0});
}
// Gestion de l'effet Fade IN
function fade_in(){
	var slide_show = $("slideshow_real");
	var fx = new Fx.Morph(slide_show, oFadeIn);
	fx.addEvent ("complete", function(){
		// j'assigne un délai avant le prochain changement
		do_slide_show.delay (inter);
	});
	fx.start({'opacity': 1});
}
