/**	Ajout de la fonction findPos à jQuery	**/
jQuery.fn.extend({
	findPos : function() {
		obj = $(this).get(0);
		var curleft = obj.offsetLeft || 0;
		var curtop = obj.offsetTop || 0;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
		return {x:curleft,y:curtop};
	}
});

function getCookieVal(offset) {
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1)
      		endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}
function getCookie (name) {
	var arg=name+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while (i<clen) {
		var j=i+alen;
		if (document.cookie.substring(i, j)==arg)
                        return getCookieVal (j);
                i=document.cookie.indexOf(" ",i)+1;
                        if (i==0) break;}
	return null;
}

var rep_templates = getCookie('rep_templates');
if(rep_templates	==	null)
	rep_templates	=	'templates';

/**	Gestion de la suggestion de pseudos	**/
function suggestion_pseudo(id_champ) {
	$('#suggestion_masculin').remove();
	$('#suggestion_feminin').remove();
	
	$('#'+id_champ).after('<a href="#" id="suggestion_masculin">Pseudo masculin</a><a href="#" id="suggestion_feminin">Pseudo féminin</a>');
	$('#suggestion_masculin').click(function() {affiche_pseudo('m', id_champ);});
	$('#suggestion_feminin').click(function() {affiche_pseudo('f', id_champ);});
}

function affiche_pseudo(sexe, id_champ) {
	$('#suggestion_pseudo').remove();
	//	Position gauche et haut
	var pos = $('#suggestion_masculin').findPos();
	var gauche = pos.x;
	var haut = pos.y +25;
	
	//	Largeur totale = position gauche de l'élément bouton féminin + largeur de l'élément bouton féminin - position gauche de l'élément masculin
	var pos2 = $('#suggestion_feminin').findPos();
	var gauche2 = pos2.x;
	var width = $('#suggestion_feminin').width();
	var largeur = gauche2+width-gauche;
	//alert(width);
	$('#suggestion_pseudo #suggestion_contenu').remove();
	$('body').append('<div id="suggestion_pseudo"><div id="suggestion_contenu" class="loading"></div></div>');
	
	var debut = $('#'+id_champ).val();
	$.get(
		'../'+rep_templates+'/lib/check/nouveau_pseudo.php',
		{
			sexe: sexe,
			debut: debut
		},
		function(data) {
			$('#suggestion_contenu').removeClass('loading');
			$('#suggestion_contenu').append(data);
			$('#suggestion_contenu a').click(function() {
				$('#'+id_champ).val($(this).text());
				$('#suggestion_pseudo').fadeOut('slow');
				$('#suggestion_pseudo').remove();
				return false;
			});
		}
	);
	//$('#suggestion_pseudo').append('<a href="#">'+debut+'</a>');
	
	$('#suggestion_pseudo').append('<a href="#" class="pop_fermer" id="sp_fermer">fermer</a>');
	$('#sp_fermer').click(function() {
		$('#suggestion_pseudo').fadeOut('slow');
		$('#suggestion_pseudo').remove();
	});
	
	
	$('#suggestion_pseudo').css({top: haut+'px', left: gauche+'px', width: largeur+'px'});
	$('#suggestion_pseudo').fadeIn('slow');
	return false;
}

function agrandir_centrale() {
	//	On détermine la position de la colonne de gauche (toujours présente)
	var pos_gauche = $('#menu_gauche').offset();
	var gauche = pos_gauche.top+$('#menu_gauche').height();
	var max = gauche;	//	Le menu le plus grand est celui de gauche, par défaut
	
	//	On détermine la position de la colonne centrale (toujours présente)
	var pos_centre = $('#contenu').offset();
	var pos_centre = pos_centre.top;
	var hauteur_centre = $('#contenu').height();
	
	//	On détermine la position de la colonne de droite (facultative)
	if($('#menu_droite').length) {
		var pos_droite = $('#menu_droite').offset();
		var droite = pos_droite.top+$('#menu_droite').height();
		if(droite > gauche)
			var max = droite;
	}
	
	//	On ajoute 10 pixels de débordement sur la hauteur maximale, pour l'effet graphique
	var max = max+10;
	
	//	Si la colonne centrale est plus courte que le menu le plus long, on l'allonge
	if(pos_centre+hauteur_centre < max)
		$('#contenu').height(max-pos_centre);
}

function lightbox_auto() {
	//	Active le comportement lightBox sur tous les liens menant à des images
	//	2010-01-25	-	On ajoute également la première image rencontrée en médaillon du texte
	var premiere_image	=	false;
	$('#contenu a').each(function() {
		var lien	=	$(this);
		//	On détermine s'il s'agit d'images
		var url = $(this).attr('href');
		var reg = new RegExp('.(gif|png|jpe?g)$', 'i');
		if(reg.test(url)) {
			//	On vérifie l'absence de balise title
			var title = $(this).attr('title');
			if(title == undefined || title == '') {
				$(this).attr('title', $(this).text());
				title	=	$(this).text();
			}
			
			$(this).attr('class', 'lightbox');
			
			//	Si la première image n'est pas encore affichée, on active le clic sur le médaillon
			if(!premiere_image) {
				premiere_image	=	true;
				$('.medaillon').css('cursor', 'pointer').click(function() {
					lien.click();
				});
				/*
				//	On récupère l'url de la vignette de l'image
				$.get(
					'/'+rep_templates+'/lib/AJAX/vignette.php',
					{
						url:	url
					},
					function(data) {
						if(data)
							$('#contenu p:first').prepend('<img src="'+data+'" title="'+title+'" class="medaillon">');
							$('.medaillon').css('cursor', 'pointer');
							//	On rend le médaillon cliquable : on active le clic comme sur le premier lien
							$('.medaillon').click(function() {
								lien.click();
							});
							//	On détecte la position basse de l'image, et on la compare à la position haute de la liste prec_suiv
							var pos			=	$('.medaillon').findPos();
							var pos_bas		=	pos.y;
							var height		=	$('.medaillon').height();
							var bas_image	=	pos_bas+height;
							var pos			=	$('#prec_suiv').findPos();
							pos				=	pos.y;
							if(pos < bas_image) {
								$('#prec_suiv').css('margin-top', bas_image+30-pos+'px');
							}
					}
				);
				*/
			}
		}
	});
	$('.lightbox').lightBox();
}

function liens_figurants() {
	$('a.figurant').hover(function() {
		var titre = $(this).attr('title');
		if(titre) {
			$(this).removeAttr('title');
			$(this).attr('old-title', titre);
			//	On détecte la position du lien
			var position	=	$(this).offset();
			var width		=	$(this).width();
			var height		=	$(this).height();
			var titre_x		=	position.left+width;
			var titre_y		=	position.top+height;
			$('body').append('<div id="titre_figurant">'+titre+'</div>');
			$('#titre_figurant').css('left', titre_x+'px');
			$('#titre_figurant').css('top', titre_y+'px');
		}
	}, function() {
		$(this).attr('title', $(this).attr('old-title'));
		$(this).removeAttr('old-title');
		$('#titre_figurant').remove();
	});
}function liens_notes() {	$('a.note[name]').hover(function() {		var id		=	$(this).attr('id');		var retour	=	id.replace('retour', 'commentaire');		var contenu	=	$('#'+retour).text();		//	On supprime le retour du contenu		var reg_crochets	=	/(\[[0-9]+\])/;		var contenu	=	contenu.replace(reg_crochets, '');				//	On détecte la position du lien		var position	=	$(this).offset();		var width		=	$(this).width();		var height		=	$(this).height();		var titre_x		=	position.left+width;		var titre_y		=	position.top+height;		$('body').append('<div id="div_note">'+contenu+'</div>');		$('#div_note').css('left', titre_x+'px');		$('#div_note').css('top', titre_y+'px');	}, function() {		$('#div_note').remove();	});}

$(document).ready(function() {
	if($('#f_pseudo').size()) {
		$('#f_pseudo').after('<a href="#" id="lien_sugg">Suggestion de pseudo</a>');
		$('#lien_sugg').click(function() {
			$('#div_personnes').remove();
			suggestion_pseudo('f_pseudo');
		});
		//suggestion_pseudo('f_pseudo');
	}
	//	On arrondit le menu de droite
	$('#menu_droite').corner('tr br');
	
	//	On rend l'avatar cliquable
	$('#avatar img').wrap('<a href="'+$('#avatar a').attr('href')+'"></'+'a>');
	
	//	On rend les avatars des commentaires cliquables
	$('#commentaires li').each(function() {
		$(this).find('.avatar').wrap('<a href="'+$(this).find('h3 a').attr('href')+'"></a>');
	});
	
	//	On rend les avatars de la liste de membres cliquables
	$('#liste_membres li').each(function() {
		$(this).find('img').wrap('<a href="'+$(this).find('a').attr('href')+'"></a>');
	});
	
	//	On rend le texte du rêve aléatoire cliquable
	if($('#derniers').size()) {
		var lien = $('#derniers h3 a').attr('href');
		$('#derniers p:first').wrapInner('<a href="'+lien+'"></a>');
	}
	
	//	On agrandit la colonne centrale, si besoin
	agrandir_centrale();
	
	//	On active les lightbox sur les liens menant à des images
	lightbox_auto();
	
	//	On active le hover sur les liens de figurants
	liens_figurants();		//	On active le hover sur les liens de notes	liens_notes();
});

