function imgpubbl (_img,contain,flag,immagini)
{
var GetObjById = document.getElementById?function(nome){return document.getElementById(nome)}:
    (document.all?function (nome){return document.all[nome];}:function (nome){return null;})
this.img=GetObjById(_img);
this.img.evnt=this;
this.contain=GetObjById(contain);
this.containstr= document.getElementById?'document.getElementById("'+contain+'")':(document.all?'document.all["'+contain+'"]':'')
this.c1=0;
this.c2=0;
this.img_on=0;
this.flag=flag;
this.contain.tic=this;
this.def_h_contain=this.contain.offsetHeight;
this.h_max=0;
var n=1;
if(immagini==undefined) immagini=new Array(this.img.src);
else if(immagini instanceof Array) n=immagini.length;
else immagini= new Array(immagini);
this.immagini= new Array(n);
while(n-->0)
	{
	this.immagini[n]= new Image(); 
	this.immagini[n].src=immagini[n];
	if(this.immagini[n].height>this.h_max) this.h_max=this.immagini[n].height;
	if(this.immagini[n].complete == undefined) 
		this.immagini[n].complete=1;
	}

this.img.src=this.immagini[0].src;
this.opacity_def=this.img.style.opacity!=undefined;
this.timer=-1;

this.tic0=function ()
	{
	this.c1=0;
	if(this.opacity_def) this.img.style.opacity =1;	//parseInt(n/10)
		else this.img.style.filter = "alpha(opacity=100)";
	setTimeout(this.containstr+'.tic.tic1a()',5000) ;
	}
this.tic1a=function ()
	{
	var tics=10;
	var n;
	if(this.c1++<tics)
		{
		n=(tics-this.c1)/tics;
		if(this.opacity_def) this.img.style.opacity = n;	
		else this.img.style.filter = "alpha(opacity="+parseInt(n*100)+")";
		setTimeout(this.containstr+'.tic.tic1a()',30) ;
		}
	else
		{
		if(++this.img_on >=this.immagini.length) this.img_on=0; 
		this.img.src=this.immagini[this.img_on].src;
		this.c1=0;
		this.tic1b();
		}
	}
this.tic1b=function ()
	{
	var tics=10;
	var n;
	if(this.c1++<tics)
		{
		n=this.c1/tics;
		if(this.opacity_def) this.img.style.opacity =n;	//parseInt(n/10)
		else this.img.style.filter = "alpha(opacity="+parseInt(n*100)+")";
		setTimeout(this.containstr+'.tic.tic1b()',30) ;
		}
	else
		this.tic0();
	}	



this.apri=function()
	{
	if(this.timer>=0) {clearTimeout(this.timer);this.timer=-1;}
	var h=this.contain.offsetHeight;
	var steps=10
	var si=(this.def_h_contain-this.img.offsetHeight)/steps/2;
	if(h < this.h_max)
		{
		h+=(this.h_max-this.def_h_contain)/steps;
		if(h>=this.h_max) 
			{
			this.contain.style.height=this.h_max+'px';
			this.img.style.top='0px';
			return;	
			}
		if(this.flag) this.img.style.top=(this.img.offsetTop-si<0?this.img.offsetTop-si:0)+'px';	
		this.contain.style.height=h+'px';
		if(this.timer<0) this.timer=setTimeout(this.containstr+'.tic.apri()',20) ;
		}
	}
this.chiudi=function()
	{
	if(this.timer>=0) {clearTimeout(this.timer);this.timer=-1;}
	var h=this.contain.offsetHeight;
	var steps=10
	var t;
	var top=(this.def_h_contain-this.img.offsetHeight)/2;
	if(h > this.def_h_contain)
		{
		h-=(this.h_max-this.def_h_contain)/steps;
		if(h<=this.def_h_contain) 
			{
			this.contain.style.height=this.def_h_contain+'px';
			if(this.flag) this.img.style.top=top;
			return;	
			}
		if(this.flag) this.img.style.top=((t=this.img.offsetTop+top/steps)>top?t:top)+'px';	
		this.contain.style.height=h+'px';
		if(this.timer<0) this.timer=setTimeout(this.containstr+'.tic.chiudi()',20) ;
		}
	}
	
if (this.img.addEventListener)
    {
    this.img.addEventListener("mouseout",function(event){event.target.evnt.chiudi();},false);
    this.img.addEventListener("mouseover",function(event){event.target.evnt.apri();},false);
   // if(this._links) this.img.addEventListener("click",function(event){menuClickMoz(event);},false);
    }
else if (this.img.attachEvent)
    {
    this.img.attachEvent("onmouseover",function(e){e.srcElement.evnt.apri();});
    this.img.attachEvent("onmouseout",function(e){e.srcElement.evnt.chiudi();});
    //if(this._links) this.img.attachEvent("onclick",function(e){menuClickIE(e);});
   }
  if(this.flag) this.img.style.top=((this.def_h_contain-this.img.offsetHeight)/2)+'px';	 
 if(this.immagini.length>1) this.tic0(); 
}
