/* Remplace les liens externe par des liens en AJAX */
function Lien_en_Ajax (Id)
{
	var Cible = (Id) ? Id : 'body';
	
	// On récupère les lien à convertir
	var Tab_Liens = $(Cible).select('.en_ajax');
	
	// On parcours
	for (var i = 0; i < Tab_Liens.length; ++i)
	{
		// On conserve le lien
		Tab_Liens[i].Lien = Tab_Liens[i].href;
		Tab_Liens[i].Titre = Tab_Liens[i].readAttribute('title');
		
		// On supprimer le lien
		Tab_Liens[i].href = '#page='+ Tab_Liens[i].readAttribute('id');
		
		// On "observe" le click
		Tab_Liens[i].observe('click', function (Evenement)
																	{
																		// On change la page
																		Change_Page (this.Lien, this.Titre);
																	});
	} // for
} // Lien_en_Ajax ()

// Change le title de la page
function Change_Title (Titre)
{
	document.title = Titre + ' - Renaud Lerognon';
} // Change_Title ()

// Change la page en AJAX
// @Lien : Lien vers la page, paramètre compris
function Change_Page (Lien, Titre)
{
	// On récupère le lien et les paramètres
	var Tab = Lien.split('?');

	// Variables contenant le lien et les paramètres
	var Lien 	= Tab[0];
	var Param = (undefined == Tab[1]) ? '' : Tab[1];
	Param += (('' == Param) ? '' : '&') + 'TYPE_APPEL=AJAX';

	// alert (Lien +'?'+ Param);
	// alert (Titre);

	if (null != Titre)
	{
		// Changement du titre
		Change_Title (Titre);
	} // if
	
	// On change le contenu
	AJAX.Contenu ('GET', Lien, Param, 'contenu', 'Fin_Chargement()');
} // Change_Page ()

// Récupère les paramètres de l'adresse (ancre comprise (#))
function Recupere_Param ()
{
	// Expression régulière pour récupèrer les paramètres
	var Reg_Url = new RegExp("^[^\?]*[?]?([^#]*)#([0-9a-zA-Z_.=-]+)$","g");
	
	// Adresse
	var Url = Reg_Url.exec(window.location.href);
	
	if (null == Url)
	{
		return null;
	} // if
	
	// alert (Url[1] +' , '+ Url[2] +' , '+ Url[3]);
	
	// Tableau a retourner
	var Tab_Resultat = new Array (Url[1], Url[2]);
	
	// On renvoie le tableau
	return Tab_Resultat;
} // Recupere_Param ()

// Charge la page selon l'adresse et l'ancre
function Charge_Page (Langue)
{
	// On récupère les paramètres
	var Tab_Params = Recupere_Param ();
	
	// S'il en sont pas nulle
	if (null != Tab_Params)
	{
		// Expression régulière décrivant la page demandé
		var Reg_Page = new RegExp("page=([0-9a-zA-Z_.-]+)","g");
		 
		// alert (Tab_Url[0] +':'+ Tab_Url[1]);
		// On parcours les paramètres jusqu'à ce que l'expression régulière soit vérifié
		// On commence par la fin, par probablité de precence
		var i = Tab_Params.length;
		// On teste une première fois
		var Page = Reg_Page.exec(Tab_Params[i]);
		// Tant que page est null
		while (null == Page)
		{
			// On teste l'expression régulère
			Page = Reg_Page.exec(Tab_Params[i]);
			// On passe à l'élément suivant (précendent dans ce cas)
			i--;
		} // while
		
		// L'idenfiant de la page est la valeur de page=
		var Id_Page = Page[1];
		
		// On change la page en Ajax
		Change_Page ('../'+ Langue +'/page.php?page='+ Id_Page);
	} // if
} // Charge_Page ()

/* Remplace les liens par des liens en AJAX */
function Lien_PopIn ()
{
	// On récupère les lien à convertir
	// var Tab_Liens = $('a.popin');
	var Tab_Liens = $('body').select('a.popin')
	
	// On parcours
	for (var i = 0; i < Tab_Liens.length; ++i)
	{
		// On ajoute le paramètre en Ajax
		Tab_Liens[i].href = Ajout_Param_Url (Tab_Liens[i].href, 'TYPE_APPEL', 'AJAX');
	} // for

	jQuery(document).ready(function() 
	{
		jQuery('a.popin').nyroModal(
		{
			openSelector: '.popin',
			endShowContent: Fin_Chargement
		});
	});
} // Lien_PopIn ()

function Alert()
{
	alert ('Quelque chose');
} 

// Ajoute le paramètre et sa valeur à l'adresse
function Ajout_Param_Url (Lien, Parametre, Valeur)
{
	// On ajoute le paramètre, soit avec un ? (si aucun autre paramètre), soit un & pour mettre à la suite
	Lien += (-1 != (Lien.indexOf('?', 0)) ? '&' : '?') + Parametre +'='+ Valeur;
	
	// On renvoie
	return Lien;
} // Ajout_Param_Url ()

/* Rajoute une confirm js sur les boutons supprimer */
function Lien_Suppression ()
{
	// On récupère les lien à convertir
	// var Tab_Liens = $('a.popin');
	var Tab_Liens = $('body').select('a.suppression')
	
	// On parcours
	for (var i = 0; i < Tab_Liens.length; ++i)
	{
		// On conserve le lien
		Tab_Liens[i].Lien = Tab_Liens[i].href;
		
		// On supprimer le lien
		Tab_Liens[i].href = '#';
		
		// On "observe" le click
		Tab_Liens[i].observe('click', function (Evenement)
																	{
																		if (confirm ('Est-tu sur de vouloir supprimer ?'))
																		{
																			window.location.href = this.Lien
																		} // if																		
																	});
	} // for
} // Lien_Suppression ()

// Fonction exécuté après le chargement de la page en Ajax
function Fin_Chargement ()
{
	// alert ('Chargement'); 
	Lien_Suppression ();
	Set_Calendar ();
	Lien_Externe ();
	Lien_Zoom ();
	Lien_ToolTips ();
	Lien_Galerie ();
	Menu_Accordeon ();
	Lien_Pdf ();
	Lien_Mail ();
	Lien_en_Ajax ('contenu'); 
	Lien_PopIn ();
	Fondu_Realisation ();
	// Editeur_Wyswyg ();
} // Fin_Chargement ()

// Défini les calendriers dynamiques des formulaires
function Set_Calendar ()
{
	// On récupère les lien à convertir
	var Tab_Liens = $('body').select('.calendar');
	
	// On parcours
	for (var i = 0; i < Tab_Liens.length; ++i)
	{
		// alert (Tab_Liens[i].readAttribute('id'));
		var Id = '#'+ Tab_Liens[i].readAttribute('id');
		// alert (Id);
		jQuery(Id).datepick();	
	} // for	
} // Set_Calendar ()

/* Remplace les liens dits externes par des liens avec création d'une nouvelle fenêtre */
function Lien_Externe ()
{
	// On récupère les lien à convertir
	// var Tab_Liens = $('a.popin');
	var Tab_Liens = $('body').select('a.externe')
	
	// On parcours
	for (var i = 0; i < Tab_Liens.length; ++i)
	{
		// On ajoute le paramètre en Ajax
		Tab_Liens[i].writeAttribute ('target', '_blank');
	} // for
} // Lien_Externe ()

/* Liens images zoom */
function Lien_Zoom ()
{
	jQuery(document).ready(function()
	{
		var options = 
		{
	    title: false,
			zoomType: 'reverse',
			xOffset: 10,
			yOffset: 0,
			zoomWidth: 304,
			zoomHeight: 206,
			showEffect: 'fadein',
			hideEffect: 'fadeout',
			position: 'right' //and MORE OPTIONS
		};
		jQuery('.zoom').jqzoom(options);
	});
} // Lien_Zoom ()

/* Liens tooltips */
function Lien_ToolTips ()
{
	jQuery(document).ready(function()
	{
		jQuery('.tooltip').tooltip(
		{ 
			track: true, 
			delay: 0, 
			showURL: false, 
			fade: 250 
		});
	});
} // Lien_ToolTips ()

/* Liens galeries */
function Lien_Galerie ()
{
	jQuery(function() 
	{
		jQuery('.galerie').lightBox(
		{
			fixedNavigation:true,
			imageLoading: '../Modules/lightbox-0.5/images/lightbox-ico-loading.gif',
			imageBtnPrev: '../Modules/lightbox-0.5/images/lightbox-btn-prev.gif',
			imageBtnNext: '../Modules/lightbox-0.5/images/lightbox-btn-next.gif',
			imageBtnClose: '../Modules/lightbox-0.5/images/lightbox-btn-close.gif',
			imageBlank: '../Modules/lightbox-0.5/images/lightbox-blank.gif',
			txtImage: 'Photo',
			txtOf: 'sur',
			
		});
	});
} // Lien_Galerie ()

/* Menu Accordéon */
function Menu_Accordeon ()
{
	jQuery(document).ready(function()
	{
		jQuery("#cv").accordion(
		{
			header: '.titre_cv',
			autoheight: false,
			active: 0,
			animated: 'bounceslide'
		});
		
		jQuery("#cadre_travail").accordion(
		{
			header: '.niveau1',
			autoheight: false,
			active: 0,
			animated: 'bounceslide'
		});
	});
} // Menu_Accordeon ()

/* Remplace les liens vers des pdf */
function Lien_Pdf ()
{
	// On récupère les lien à convertir
	// var Tab_Liens = $('a.popin');
	var Tab_Liens = $('body').select('a.pdf')
	
	// On parcours
	for (var i = 0; i < Tab_Liens.length; ++i)
	{
		// On ajoute le paramètre en Ajax
		Tab_Liens[i].writeAttribute ('target', '_blank');
	} // for
} // Lien_Pdf ()

/* Remplace les liens mail par des liens cliquable */
function Lien_Mail ()
{
	jQuery(document).ready(function()
	{
		// Replaces all the matching elements with a <a href="mailto:..> tag.
		jQuery('span.mailme').mailme();
	});
} // Lien_Mail ()

/* Editeur WYSWYG */
function Editeur_Wyswyg ()
{
	//set all the FCKeditor configuration here and pass it to the editable
	var oFCKeditor = new FCKeditor( 'editor1') ;
	oFCKeditor.BasePath = "../Modules/ipwe/fckeditor/" ;

	jQuery('.editeur_wyswyg').editable(
	{
		type: 'wysiwyg',
		editor: oFCKeditor,
		onSubmit:function submitData(content)
		{
			alert(content.current)
		}
	});
} // Editeur_Wyswyg ()

// Effet de fondu pour les réalisations
function Fondu_Realisation ()
{
	jQuery(function()
	{
		jQuery(".fiche_realisation").hide();
		
		jQuery(".fiche_realisation").mouseover(function()
		{
			jQuery(".fiche_realisation:not(:hover)").fadeOut('slow');
			jQuery(this).show();			
		});
		
		jQuery(".bloc_realisation").mouseover(function()
		{			
			var Cible = this;
			var Enfants = jQuery(Cible).children(".fiche_realisation");
			jQuery(Enfants).fadeIn("slow");
		});

		/*
		jQuery(".fiche_realisation").hide();
		
		jQuery(".bloc_realisation").mouseover(function()
		{
			var Enfants = jQuery(this).children(".fiche_realisation");
			jQuery(Enfants).fadeIn("slow");
		});
		
		jQuery(".fiche_realisation").mouseout(function()
		{
			jQuery(this).fadeOut("fast");
		});
		*/
	});
} // Fondu_Realisation ()