function Menu_image(balise,sens,type,pourcent)
{	
	var img_tags;
	this.nom = balise
	this.pourcent = pourcent;
	this.width = new Array();
	this.height = new Array();
	img_tags = getElem("id",balise,null).getElementsByTagName('img') ; 
	for(i=0 ; i<img_tags.length ; i++) // pour chaque images
	{
		this.width[i] = img_tags[i].offsetWidth;
		this.height[i] = img_tags[i].offsetHeight;
	}
	if (sens == "vertical") {
		if (type == "sinuzoid") add_event("id",balise,null,"mousemove","sinuzoid_y");
		if (type == "sinuzoid_y") add_event("id",balise,null,"mousemove","sinuzoid_y_only");
		if (type == "lineaire") add_event("id",balise,null,"mousemove","lineaire_y");
		if (type == "lineaire_y") add_event("id",balise,null,"mousemove","lineaire_y_only");
	}	
	else if (sens == "horizontal") {	
		if (type == "sinuzoid") add_event("id",balise,null,"mousemove","sinuzoid_x");
		if (type == "sinuzoid_x") add_event("id",balise,null,"mousemove","sinuzoid_x_only");
		if (type == "lineaire") add_event("id",balise,null,"mousemove","lineaire_x");
		if (type == "lineaire_x") add_event("id",balise,null,"mousemove","lineaire_x_only");
	}	
	add_event("id",balise,null,"mouseout","init_img");
}

function init_img(e) {
	var img_tags;
	if (!is_in_box("id",this.id,null,get_mouse_x_abs(e),get_mouse_y_abs(e))) {
		img_tags = this.getElementsByTagName('img') ; 
		for(i=0 ; i<img_tags.length ; i++) // pour chaque images
		{
			img_tags[i].style.width = eval(this.id).width[i] ;
			img_tags[i].style.height = eval(this.id).height[i] ;
		}
	}	
}

function sinuzoid_x(e)
{	
	var Min_l,Min_h,Max_l,Max_h;
	var p = eval(this.id).pourcent/100;
	var x = get_mouse_x_abs(e);
	x -= get_x_div("id",this.id,null) ; // on modifie la coordonnée pour quelle soit relatif au div et non à la fenetre.
	img_tags = new Array();
	img_tags = this.getElementsByTagName('img') ; // les images contenus dans le div
	for(i=0 ; i<img_tags.length ; i++) // pour chaque images
	{	
		Min_l = eval(this.id).width[i];
		Min_h = eval(this.id).height[i];
		Max_l = Min_l+(Min_l*p);
		Max_h = Min_h+(Min_h*p);
		millieu = img_tags[i].offsetLeft + Min_l /2 ;
		delta = millieu - x +30 ;
		coef=0;
		if (Math.abs(delta) < 100)
		{
			coef = Math.abs(Math.cos(delta/70)) * Max_l;
			if (coef < Min_l) coef = Min_l ;
			img_tags[i].style.width=coef;
			coef = Math.abs(Math.cos(delta/70)) * Max_h;
			if (coef < Min_h) coef = Min_h ;
			img_tags[i].style.height=coef;
		}
		else // ne rien faire
		{
			img_tags[i].style.width=Min_l ;
			img_tags[i].style.height=Min_h ;
		}
	}	
}

function sinuzoid_y(e)
{	
	var Min_l,Min_h,Max_l,Max_h;
	var p = eval(this.id).pourcent/100;
	var y = get_mouse_y_abs(e);

	y -= get_y_div("id",this.id,null) ; // on modifie la coordonnée pour quelle soit relatif au div et non à la fenetre.

	img_tags = new Array();
	img_tags = this.getElementsByTagName('img') ; // les images contenus dans le div

	for(i=0 ; i<img_tags.length ; i++) // pour chaque images
	{
	
		Min_l = eval(this.id).width[i];
		Min_h = eval(this.id).height[i];
		Max_l = Min_l+(Min_l*p);
		Max_h = Min_h+(Min_h*p);

		millieu = img_tags[i].offsetTop + Min_h /2 ;
		delta = millieu - y +30 ;

		coef=0;
		if (Math.abs(delta) < 100)
		{
			coef = Math.abs(Math.cos(delta/70)) * Max_l;
			if (coef < Min_l) coef = Min_l ;
			img_tags[i].style.width=coef;
			coef = Math.abs(Math.cos(delta/70)) * Max_h;
			if (coef < Min_h) coef = Min_h ;
			img_tags[i].style.height=coef;
		}
		else // ne rien faire
		{
			img_tags[i].style.width=Min_l ;
			img_tags[i].style.height=Min_h ;
		}
	}	
}

function sinuzoid_x_only(e)
{	
	var Min_l,Min_h,Max_l,Max_h;
	var p = eval(this.id).pourcent/100;
	var x = get_mouse_x_abs(e);
	x -= get_x_div("id",this.id,null) ; // on modifie la coordonnée pour quelle soit relatif au div et non à la fenetre.
	img_tags = new Array();
	img_tags = this.getElementsByTagName('img') ; // les images contenus dans le div
	for(i=0 ; i<img_tags.length ; i++) // pour chaque images
	{	
		Min_l = eval(this.id).width[i];
		Max_l = Min_l+(Min_l*p);
		millieu = img_tags[i].offsetLeft + Min_l /2 ;
		delta = millieu - x +30 ;
		coef=0;
		if (Math.abs(delta) < 100)
		{
			coef = Math.abs(Math.cos(delta/70)) * Max_l;
			if (coef < Min_l) coef = Min_l ;
			img_tags[i].style.width=coef;
		}
		else // ne rien faire
		{
			img_tags[i].style.width=Min_l ;
		}
	}	
}

function sinuzoid_y_only(e)
{	
	var Min_l,Min_h,Max_l,Max_h;
	var p = eval(this.id).pourcent/100;
	var y = get_mouse_y_abs(e);
	y -= get_y_div("id",this.id,null) ; // on modifie la coordonnée pour quelle soit relatif au div et non à la fenetre.
	img_tags = new Array();
	img_tags = this.getElementsByTagName('img') ; // les images contenus dans le div
	for(i=0 ; i<img_tags.length ; i++) // pour chaque images
	{
		Min_h = eval(this.id).height[i];
		Max_h = Min_h+(Min_h*p);
		millieu = img_tags[i].offsetTop + Min_h /2 ;
		delta = millieu - y +30 ;
		coef=0;
		if (Math.abs(delta) < 100)
		{
			coef = Math.abs(Math.cos(delta/70)) * Max_h;
			if (coef < Min_h) coef = Min_h ;
			img_tags[i].style.height=coef;
		}
		else // ne rien faire
		{
			img_tags[i].style.height=Min_h ;
		}
	}	
}

function lineaire_x(e) {
	var Min_l,Min_h,Max_l,Max_h;
	var p = eval(this.id).pourcent/100;
	var REACTION = 1.2 ; // réaction des icons par rapport à la souris. plus grand --> plus d'icons qui réagissent
	var A;
	var x = get_mouse_x_abs(e);
	x -= get_x_div("id",this.id,null) ; // on modifie la coordonnée pour quelle soit relatif au div et non à la fenetre.
	img_tags = this.getElementsByTagName('img') ; // les images contenus dans le div
	for(i=0 ; i<img_tags.length ; i++) // pour chaque images
	{
		Min_l = eval(this.id).width[i];
		Min_h = eval(this.id).height[i];
		Max_l = Min_l+(Min_l*p);
		Max_h = Min_h+(Min_h*p);
		Ax = ((Min_l-Max_l)/(Max_l * REACTION)) ; 
		Ay = ((Min_h-Max_h)/(Max_h * REACTION)) ; 
		millieu = img_tags[i].offsetLeft + parseInt(img_tags[i].style.width)/2 ;
		delta = millieu - x ;
		if (delta < 0) delta *= -1 ;
		coef = Ax * delta + Max_l ;
		if (coef < Min_l) coef = Min_l ;
		else if (coef > Max_l) coef = Max_l ;
		img_tags[i].style.width=coef;
		coef = Ay * delta + Max_h ;
		if (coef < Min_h) coef = Min_h ;
		else if (coef > Max_h) coef = Max_h;
		img_tags[i].style.height=coef;
	}	
}

function lineaire_y(e) {
	var Min_l,Min_h,Max_l,Max_h;
	var p = eval(this.id).pourcent/100;
	var REACTION = 1.2 ; // réaction des icons par rapport à la souris. plus grand --> plus d'icons qui réagissent
	var A;
	var y = get_mouse_y_abs(e);
	y -= get_y_div("id",this.id,null) ; // on modifie la coordonnée pour quelle soit relatif au div et non à la fenetre.
	img_tags = this.getElementsByTagName('img') ; // les images contenus dans le div
	for(i=0 ; i<img_tags.length ; i++) // pour chaque images
	{
		Min_l = eval(this.id).width[i];
		Min_h = eval(this.id).height[i];
		Max_l = Min_l+(Min_l*p);
		Max_h = Min_h+(Min_h*p);
		Ax = ((Min_l-Max_l)/(Max_l * REACTION)) ; 
		Ay = ((Min_h-Max_h)/(Max_h * REACTION)) ; 
		millieu = img_tags[i].offsetTop + parseInt(img_tags[i].style.width)/2 ;
		delta = millieu - y ;
		if (delta < 0) delta *= -1 ;
		coef = Ax * delta + Max_l ;
		if (coef < Min_l) coef = Min_l ;
		else if (coef > Max_l) coef = Max_l ;
		img_tags[i].style.width=coef;
		coef = Ay * delta + Max_h ;
		if (coef < Min_h) coef = Min_h ;
		else if (coef > Max_h) coef = Max_h;
		img_tags[i].style.height=coef;
	}	
}

function lineaire_x_only(e) {
	var Min_l,Min_h,Max_l,Max_h;
	var p = eval(this.id).pourcent/100;
	var REACTION = 1.2 ; // réaction des icons par rapport à la souris. plus grand --> plus d'icons qui réagissent
	var A;
	var x = get_mouse_x_abs(e);
	x -= get_x_div("id",this.id,null) ; // on modifie la coordonnée pour quelle soit relatif au div et non à la fenetre.
	img_tags = this.getElementsByTagName('img') ; // les images contenus dans le div
	for(i=0 ; i<img_tags.length ; i++) // pour chaque images
	{
		Min_l = eval(this.id).width[i];
		Max_l = Min_l+(Min_l*p);
		A = ((Min_l-Max_l)/(Max_l * REACTION)) ; 
		millieu = img_tags[i].offsetLeft + parseInt(img_tags[i].style.width)/2 ;
		delta = millieu - x ;
		if (delta < 0) delta *= -1 ;
		coef = A * delta + Max_l ;
		if (coef < Min_l) coef = Min_l ;
		else if (coef > Max_l) coef = Max_l ;
		img_tags[i].style.width=coef;
	}	
}

function lineaire_y_only(e) {
	var Min_l,Min_h,Max_l,Max_h;
	var p = eval(this.id).pourcent/100;
	var REACTION = 1.2 ; // réaction des icons par rapport à la souris. plus grand --> plus d'icons qui réagissent
	var A;
	var y = get_mouse_y_abs(e);
	y -= get_y_div("id",this.id,null) ; // on modifie la coordonnée pour quelle soit relatif au div et non à la fenetre.
	img_tags = this.getElementsByTagName('img') ; // les images contenus dans le div
	for(i=0 ; i<img_tags.length ; i++) // pour chaque images
	{
		Min_h = eval(this.id).height[i];
		Max_h = Min_h+(Min_h*p);
		A = ((Min_h-Max_h)/(Max_h * REACTION)) ; 
		millieu = img_tags[i].offsetTop + parseInt(img_tags[i].style.width)/2 ;
		delta = millieu - y ;
		if (delta < 0) delta *= -1 ;
		coef = A * delta + Max_h ;
		if (coef < Min_h) coef = Min_h ;
		else if (coef > Max_h) coef = Max_h;
		img_tags[i].style.height=coef;
	}	
}
