function init() {
	pics=document.getElementsByTagName("a");
	display=document.getElementById("display");
	for (i=0;i<pics.length;i++)
	{
		current=pics[i];
		if (current.className.indexOf("BM_DP")!=-1)
		{
			if (current.addEventListener)
			{
				current.addEventListener('mouseout', my_onmouseout , false);
				current.addEventListener('mouseover', my_onmouseover , false);
				current.addEventListener('mousemove', my_onmouseover , false);
				current.addEventListener('click',no_click, false);
			} else if (current.attachEvent)
			{
				current.attachEvent('onmouseout', my_onmouseout);
				current.attachEvent('onmouseover', my_onmouseover);
				current.attachEvent('onmousemove', my_onmouseover);
				current.attachEvent('onclick',no_click, false);
			}
		}
		if (current.className.indexOf("BM_DF")!=-1)
		{
			if (current.addEventListener)
			{
				current.addEventListener('mouseover', my_onmouseoverfixed , false);
				current.addEventListener('click',no_click, false);
			} else if (current.attachEvent)
			{
				current.attachEvent('onmouseover', my_onmouseoverfixed);
				current.attachEvent('onclick',no_click, false);
			}
		}
		if (current.className.indexOf("BM_DFI")!=-1)
		{
			div=document.createElement("div");	
			div.id="bm_image_display";
			document.getElementById("bm_df_div").appendChild(div);
			img=document.createElement("img");
			img.src=current.href;
			div.appendChild(img);
		}
	}
}

function no_click(e) {
	e=getStandardEvent(e);
	return false;
}

function my_onmouseoverfixed(e) {
	e=getStandardEvent(e);
	div=document.getElementById('bm_image_display');
	if (!div)
	{
		div=document.createElement("div");	
		div.id="bm_image_display";
		document.getElementById("bm_df_div").appendChild(div);
	}
	if (!div.hasChildNodes())
	{
		img=document.createElement("img");
		div.appendChild(img);
	} else {
		imgs=div.getElementsByTagName("img");
		img=imgs[0];
	}
	if (this.href)
		{
			my_src=this.href;
		} else {
			my_src=e.srcElement.parentNode.href;
		}

	img.src=my_src;
	
	return (false);


}

function my_onmouseover(e) {
	e=getStandardEvent(e);
	div=document.getElementById('bm_image_display');
	if (!div)
	{
		div=document.createElement("div");	
		div.id="bm_image_display";
		div.style.position="absolute";
		document.body.appendChild(div);
	}
	if (!div.hasChildNodes())
	{
		img=document.createElement("img");
		if (this.href)
		{
			img.src=this.href;
		} else {
			img.src=e.srcElement.parentNode.href;
		}
		
		div.appendChild(img);
	}
	

	xdecal=-img.width-5;
	var x,y;
	if (e.pageX || e.pageY) 	{
		x = e.pageX+xdecal;
		y = e.pageY+5;
	}
	else if (e.clientX || e.clientY) 	{
		x = e.clientX+xdecal;
		y = e.clientY+5;
	}
	if (x<0)
	{
		x=0;
	}
	if (x>document.body.clientWidth-img.width)
	{
		x=document.body.clientWidth-img.width;
	}
	if (y<0)
	{
		y=0;
	}
	//if (y>document.body.clientHeight-img.height-300)
	//{
	//	y=document.body.clientHeight-img.height-300;
	//}

	div.style.left=x+"px";
	div.style.top=y+"px";
	
	
	return (false);


}

function my_onmouseout(e) {
	e=getStandardEvent(e);
	div=document.getElementById('bm_image_display');
	if (div)
	{
		div.parentNode.removeChild(div);
	}

	return (false);
}

function getStandardEvent(e)

{

 // abstraction pour recuperer un objet standard pour l'evenement en cours 

 // comprend le modele DOM standard et le modele proprietaire de MSIE

 // e : parametre recu lors de l'appel du gestionnaire d'evenement 

 // retour : objet d'evenement standard

 if (e == null && window.event) {

   // cas particulier de MSIE pour recuperer l'evenement en cours

   e = window.event ;

 }

 if (e.target == null && e.srcElement) {

   // cas particulier de MSIE pour recuperer la balise DOM cible

   e.target = e.srcElement ;

 }

 if (! e.preventDefault ){

   // cas particulier de MSIE pour empecher l'action par defaut du navigateur

   e.preventDefault = function () { this.returnValue = false ; } ;

 }

 return e ;

}

