function teaser( elm, selfRef )
{
  this.teaserData = document.getElementById( elm );
  this.ref = selfRef;
  this.opacity = 100;
  this.teaserData.style.filter = 'Alpha(opacity=' + this.opacity + ')';
  this.teaserData.style.MozOpacity = this.opacity / 100;
  this.teaserData.style.opacity = this.opacity / 100;
  this.teaserData.style.KHTMLOpacity = this.opacity / 100;
  this.interval = '';
  this.step = 2;
  this.timer = 50;
  this.fadeTo = 0;
  this.dir = "out";

  this.fade = function()
  {
    if ( ( this.opacity >= this.fadeTo && this.dir == "in" ) || ( this.opacity <= this.fadeTo && this.dir == "out" ) )
    {
      clearInterval( this.interval );
			if ( this.dir == "out" )
			  {
				  nextImg();
			  }
    }
    else
    {
      if ( this.dir == "in" ) 
      {
        if ( this.opacity + this.step > this.fadeTo ) this.opacity = this.fadeTo;
        else this.opacity += this.step;
      }
      else this.opacity -= this.step;

      this.teaserData.style.filter = 'Alpha(opacity=' + this.opacity + ')';
      this.teaserData.style.MozOpacity = this.opacity / 100;
      this.teaserData.style.opacity = this.opacity / 100;
      this.teaserData.style.KHTMLOpacity = this.opacity / 100;
    }
  }

  this.fadeIn = function()
  {
    this.fadeTo = 99;
    this.dir = "in";
    clearInterval( this.interval );
    this.interval = setInterval( '' + this.ref + '.fade();', this.timer );
  }

  this.fadeOut = function()
  {
    this.fadeTo = 0;
    this.dir = "out";
    clearInterval( this.interval );
    this.interval = setInterval( '' + this.ref + '.fade();', this.timer );
  }

}