/*
Open source under the BSD License.
Copyright (c) 2001 Robert Penner
JavaScript version copyright (C) 2006 by Philippe Maegerman
All rights reserved.
*/
OpacityTween.prototype = new Tween();
OpacityTween.prototype.constructor = Tween;
OpacityTween.superclass = Tween.prototype;

function OpacityTween(obj,func,fromOpacity,toOpacity,duration){
    this.targetObject = obj;
    this.init(new Object(),'x',func,fromOpacity,toOpacity,duration);
    this.opacity = this.getOpacityProperty();
}
var o = OpacityTween.prototype;
o.targetObject = {};
o.onMotionChanged = function( evt )
{

  var v =  Math.round(evt.target._pos);
  var t = this.targetObject;

  if (this.opacity=="filter")  // Internet Exploder 5.5+
  {
    var oAlpha = t.filters['DXImageTransform.Microsoft.alpha'] || t.filters.alpha;
    if( oAlpha ) 
        oAlpha.opacity = v;
    else 
        t.style.filter += "progid:DXImageTransform.Microsoft.Alpha(opacity="+v+")";
  }
  else
    t.style[this.opacity] = v / 100;
}
o.getOpacityProperty = function()
{
  if (typeof document.body.style.opacity == 'string') // CSS3 compliant (Moz 1.7+, Safari 1.2+, Opera 9)
    return 'opacity';
  else if (typeof document.body.style.MozOpacity == 'string') // Mozilla 1.6, Firefox 0.8 
    return 'MozOpacity';
  else if (typeof document.body.style.KhtmlOpacity == 'string') // Konqueror 3.1, Safari 1.1
    return 'KhtmlOpacity';
  else if (document.body.filters && navigator.appVersion.match(/MSIE ([\d.]+);/)[1]>=5.5) // Internet Exploder 5.5+
    return 'filter';

  return false;
}