// variables
// ecart minimal entre l image et les bords haut et bas de fenetre
var marg_delta = 30;

function show_img (event)
{
	
	var lien = event.findElement('img');
	if(!lien) return;
	event.stop();
	var img_src = lien.src;
	var img_alt = lien.alt;
	var regexp = /uploads\/mini\/(.*)/;
	var resexp = regexp.exec(img_src);
	var regexp2= /\_(.*)\_/;
	var resexp = resexp[1].replace(regexp2, "_");
	var req = new Ajax.Request('scripts/img_get_size.php',
							{
								method:'get',
								parameters: {
											img_src: resexp
											
											},
								onSuccess: function(t)	{
															// traitement de la reponse
															regexp = /<w>(.*)<\/w><h>(.*)<\/h>/;
															var ch = regexp.exec(t.responseText);
															var img_w = ch[1];
															var img_h = ch[2];
															// destruction de l'ancienne image et construction de la nouvelle
															if ($('img_show')) {$('img_show').remove();}
															if ($('img_txt')) {$('img_txt').remove();}
															$('photo_in_cadre').insert({bottom:'<img id="img_show" src="uploads/'+resexp+'" alt="'+img_alt+'"/>'});
															$('photo_in_cadre').insert({after:'<div id="img_txt">'+img_alt+'</div>'});
															// hauteur fenetre
															var h_fe = document.viewport.getHeight();
															var h_max = h_fe - 2*marg_delta;
															if (h_max < img_h)
															{
																// Image plus haute que la fenetre d affichage -> on redimensionne
																img_w = (img_w*h_max)/img_h;
																img_h = h_max;		
															}	
															Element.setStyle('img_show', {width: img_w+'px', height: img_h+'px'});
															Element.setStyle('photo_in_cadre',{width: img_w+'px', height: img_h+'px'});
															//position du cadre
															var bord_l =  parseInt($('photo_cadre').getStyle('borderLeftWidth'));
															var bord_t =  parseInt($('photo_cadre').getStyle('borderTopWidth'));
															var m_left = -bord_l-img_w/2;
															var m_top = -bord_t-img_h/2;
															Element.setStyle('photo_cadre', {marginTop: m_top+'px', marginLeft: m_left+'px'});
															// affichage
															Element.setStyle('photo_fond', {opacity: 0.4});
															$('photo_fond').show();
															new Effect.Opacity('photo_fond', {duration: 0.3, from: 0.4, to: 0.8});
															Element.setStyle('photo_cadre', {opacity: 0});
															$('photo_cadre').show();
															new Effect.Opacity('photo_cadre', {duration: 0.5, from: 0, to: 1});
														}			
							});
	
	
}
function hide_img (event)
{
	
	new Effect.Opacity('photo_cadre', {	duration: 0.3, from: 1, to: 0,
										afterFinish:function(){
																$('photo_cadre').hide();
																$('photo_fond').hide();
																}
										});
	
}
function initObs ()
{
	$('texte').observe('click', show_img);
	$('photo_cadre').observe('click', hide_img);
}
document.observe('dom:loaded', initObs);
