
function Set_Opacity_To (Id,opacity)
  {
  var obj=document.getElementById(Id);
  obj.style.opacity = (opacity / 100);
  obj.style.MozOpacity = (opacity / 100);
  obj.style.KhtmlOpacity = (opacity / 100);
  obj.style.filter = "alpha(opacity=" + opacity + ")";
  }

function Set_Size_To (Id,W,H)
  {
  var obj=document.getElementById(Id);
  obj.style.width = W;
  obj.style.height = H;
  }

/*  APEAR Class */

function Add_Apear_Blending_To(id,min,max,dchange)
{
var obj=document.getElementById(id);
obj.Apear = new Apear_Object(id);
obj.Apear.MaxOpacity = max;
obj.Apear.MinOpacity = min;
obj.Apear.DisplayChange = dchange;
obj.Apear.DoBlending = true;
obj.Apear.ParentStyle=obj.style;
}

function Add_Apear_Resizing_To(id,minW,maxW,Wstep,minH,maxH,Hstep,dchange)
{
var obj=document.getElementById(id);
obj.Apear = new Apear_Object(id);
obj.Apear.WidthStep = Wstep;
obj.Apear.MaxWidth = maxW;
obj.Apear.MinWidth = minW;
obj.Apear.HeightStep = Hstep;
obj.Apear.MaxHeight = maxH;
obj.Apear.MinHeight = minH;
obj.Apear.DisplayChange = dchange;
obj.Apear.DoResizing = true;
obj.Apear.ParentStyle=obj.style;
}

// CLASS
function Apear_Object(id)
{
  //public
  this.status=""; // "shown","showing","hiding"
  this.TimeStep=150;
  this.DisplayChange=true; //change style.display to block or to none
  this.busy=false;

  this.ShowingStep=20;
  this.HidingStep=20;
  this.Opacity=100;
  this.MaxOpacity=99;
  this.MinOpacity=0;
  this.DoBlending=false;

  this.Width=0;
  this.WidthStep=0;
  this.MaxWidth=0;
  this.MinWidth=0;
  this.Height=0;
  this.HeightStep=0;
  this.MaxHeight=0;
  this.MinHeight=0;
  this.OldOverflow="";
  this.DoResizing=false;

  //private
  this.Id = id;
  this.fn = "";
  this.Interval = false;

  this.setOpacity = function (opacity)
  {
  this.Opacity=opacity;
  this.ParentStyle.opacity = (opacity / 100);
  this.ParentStyle.MozOpacity = (opacity / 100);
  this.ParentStyle.KhtmlOpacity = (opacity / 100);
  this.ParentStyle.filter = "alpha(opacity=" + opacity + ")";
  }

  this.setSize = function (W,H)
  {
   if (this.Width != W) {this.ParentStyle.width = W+"px"; this.Width = W }
   if (this.Height != H) {this.ParentStyle.height = H+"px"; this.Height = H}
  }

  this.Hide = function (then)
  {
    this.status="hiding";
    if (this.Interval) clearInterval(this.Interval);
    this.fn=then;
    if (this.DoResizing) {this.OldOverflow = this.ParentStyle.overflow; this.ParentStyle.overflow = "hidden";}
   // this.Hiding();
    this.Interval=setInterval("document.getElementById('"+this.Id+"').Apear.Hiding()",this.TimeStep);
  }

  this.Hiding = function ()
  {
  if (!this.busy) { this.busy = true;
  if (this.DoBlending)
   if (this.Opacity-this.HidingStep>this.MinOpacity) { this.setOpacity(this.Opacity-this.HidingStep); }
      else if (this.Interval)
      {
      clearInterval(this.Interval);
      this.setOpacity(this.MinOpacity)
      this.status="hidden";
      if (this.DisplayChange) this.ParentStyle.display="none";
      if (this.fn!="") eval(this.fn);
      }
  if (this.DoResizing)
   {
   var W = this.Width-this.WidthStep;
   var H = this.Height-this.HeightStep;
   this.setSize( (W>this.MinWidth) ? W : this.MinWidth , (H>this.MinHeight) ? H : this.MinHeight )
   if ( ( (this.Width==this.MinWidth)&&(this.WidthStep>0))||( (this.Height==this.MinHeight)&&(this.HeightStep>0) ) )
      {
      clearInterval(this.Interval);
      this.status="hidden";
      if (this.DisplayChange) this.ParentStyle.display="none";
      if (this.fn!="") eval(this.fn);
      }
   }
  this.busy = false; }
  }

  this.Show = function (then)
  {
    this.status="showing";
    if (this.DisplayChange) this.ParentStyle.display="block";
    if (this.Interval) clearInterval(this.Interval);
    //this.Showing;
    this.Interval=setInterval("document.getElementById('"+this.Id+"').Apear.Showing()",this.TimeStep);
    this.fn=then;
  }

  this.Showing = function ()
  {
  if (!this.busy) { this.busy = true;
  if (this.DoBlending)
   if (this.Opacity+this.ShowingStep<this.MaxOpacity) { this.setOpacity(this.Opacity+this.ShowingStep); }
    else if (this.Interval)
      {
      this.setOpacity(this.MaxOpacity)
      clearInterval(this.Interval);
      this.status="shown";
      if (this.fn!="") eval(this.fn);
      }
  if (this.DoResizing)
   {
   var W = this.Width+this.WidthStep;
   var H = this.Height+this.HeightStep;
   this.setSize( (W<this.MaxWidth) ? W : this.MaxWidth , (H<this.MaxHeight) ? H : this.MaxHeight );
   if ( ( (this.Width==this.MaxWidth)&&(this.WidthStep>0))||( (this.Height==this.MaxHeight)&&(this.HeightStep>0) ) )
      {
      clearInterval(this.Interval);
      this.status="shown";
      if (this.OldOverflow != "") this.ParentStyle.overflow = this.OldOverflow;
      if (this.fn!="") eval(this.fn);
      }
   }
  this.busy = false; }
  }


} //end




// CLASS
function Hide_and_Show_Objects(id1,id2)
{
  this.Id1=id1;
  this.Id2=id2;

  this.Hide1_when_Show2 = function ()
  {
  document.getElementById(this.Id1).AutoOpacity.Hide("");
  document.getElementById(this.Id2).AutoOpacity.Show("");
  }

  this.Show1_when_Hide2 = function ()
  {
  document.getElementById(this.Id2).AutoOpacity.Hide("");
  document.getElementById(this.Id1).AutoOpacity.Show("");
  }

  this.Hide1_then_Show2 = function ()
  {
  document.getElementById(this.Id1).AutoOpacity.Hide("document.getElementById('"+this.Id2+"').AutoOpacity.Show('');");
  }

  this.Show1_then_Hide2 = function ()
  {
  document.getElementById(this.Id1).AutoOpacity.Show("document.getElementById('"+this.Id2+"').AutoOpacity.Hide('');");
  }

} //end








