/*
 * fancyHistory
 * 
 * Fonction gérant l'historique de la fancy box au sein d'un même site
 *
 * Ce que permettent ces fonctions :
 *  - Changer le contenu d'une fancybox en mémorisant au choix l'historique des différents écrans
 *     au sein d'un cookie
 *
 * Ce que ne permettent pas ces fonctions :  
 *  - Garder l'historique de la fancybox contenant un iframe 
 *    (ex: <a class="iframe" href="http://www.google.lv/webhp?ie=UTF-8">monlien</a> )
 *    En ce cas, simplement appeler l'iframe en ajoutant la class iframe au lien. L'historique de la navigation   
 *    au sein de la fancybox est alors le même que sur un navigateur classique (CTRL + flèche gauche pour revenir
 *    en arrière)
 
 * Important :
 * La page doit contenir les éléments suivants :
 * CSS fancybox : <link rel="stylesheet" type="text/css" href="/js/fancybox/jquery.fancybox.css" media="screen" />
 * Appels à jquery ........ (http://jquery.com/), 
 *          jquery easing . (http://gsgd.co.uk/sandbox/jquery/easing/),
 *          jquery cookie . (http://plugins.jquery.com/project/cookie), 
 *          jquery fancybox (http://fancybox.net/)
 *	<script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script>
 *	<script type="text/javascript" src="/js/jquery.easing.1.3.js"></script>
 *	<script type="text/javascript" src="/js/fancybox/jquery.fancybox-1.2.1.pack.js"></script>
 *	<script type="text/javascript" src="/js/fancybox/fancyHistory.js"></script>
 *
 * 	RAPPEL pour instancier une fancybox :
 *  dans le header : 
 *  $(function() {
 *  	$('a[class="fancy"]').fancybox();
 *  });
 *  dans le body :
 *  <a class='fancy' href='monURL.com?param1=valeur' title='nom de la fancybox' alt='nom de la fancybox'>mon lien<a>
 *
 *
 */

// Constante myCookie (utilisée aussi par le plug in fancybox modifié - clic sur le bouton de fermeture)
myCookie='fancyHistory';

// Décrémente le fil d'Ariane lors des clics sur le bouton fermer de la fancybox (fonction appelée par le
// bouton de fermeture de la fancybox
function unLead(){
	newA="";
	b=$.cookie(myCookie);
	b=b.split(/\|\|/gi);
	cB=(b.length)-2;
	if(cB>0){
		for(j=0;j<cB;j++){
			newA=newA+b[j]+"||";
		}
	}
	$.cookie(myCookie, newA);
}

// Fonction modifiant le contenu d'une fancybox et le cas échéant enregistrant 
// le fil d'Ariane des différentes URL successives
//
// exemples d'utilisation :
// <a href="javascript:changeFancyTools('moncontenu.php?param=value', 'ma nouvelle fancy', true)" alt="mon lien">mon lien</a>
// Ouvre une "nouvelle" fancybox et mémorise son url. A la fermeture, le contenu précédent sera affiché.
//
// <a href="javascript:changeFancyTools('moncontenu.php?param=value', 'ma nouvelle fancy')" alt="mon lien">mon lien</a>
// Ouvre une "nouvelle" fancybox et efface le fil d'ariane. A la fermeture, la fancybox disparait.
 
function changeFancyTools(url, title, history){
	myCookie='fancyHistory';
	// si history==true, ajoute l'URL dans le cookie fancyHistory sinon vide ce même cookie
	if(history){
		a=$.cookie(myCookie);
		a=a+url+"||";
		$.cookie(myCookie,a);
	} else {
		$.cookie(myCookie,'');
	}
	// vérifie la présence de paramètres dans l'URL. Le cas échant la splite en deux variables url et link
	// sinon instancie ces deux variables, url étant alors l'URL telle que soumise à la fonction et link un string vide
	if(title.match(/\?/gi)){
		param=url.split(/\?/gi);
		url=param[0];
		link=param[1];
	} else {
		url=title;
		link='';
	}
	// modifie le titre de la fancybox (variable title) 
	$('td[id="fancy_title_main"] div').text(fancyTitle);
	// récupère en ajax le contenu à afficher
	$.ajax({
		type: "POST",
		url:  url, 
		data: link,
		async: false,
		success: function(datas){
			data=datas;
		}
	});
	// affiche le contenu
	$('div[id="fancy_ajax"]').html(data);
	// redimensionne automatiquement la fancybox en fonction du nouveau contenu
	$.fn.fancybox.autoResize();
}


// Vide le fil d'Ariane
function deleteFancyCookie(){
	$.cookie(myCookie,'');
}

// Vide le fil d'Ariane et ferme la fancybox
function closeFancy(){
	$.cookie(myCookie,'');
	$.fn.fancybox.close;
}