﻿function Opacity(id, millisec, callback)
{
	if (id)
	{
		this.object = id;
    	this.opacity = 100;
    	this.style = id.style;
    	this.timer = null;
    	this.speed = (millisec) ? Math.round(millisec / 100) : 7;
    	this.callback = callback;
	}
	else
	{
	}
}
Opacity.prototype.setOpacity = function(value)
{
	this.style.opacity = (value / 100);
    this.style.MozOpacity = (value / 100);
    this.style.KhtmlOpacity = (value / 100);
    this.style.filter = "alpha(opacity=" + value + ")";
}
Opacity.prototype.Stop = function()
{
	clearInterval(this.timer);
    if(this.opacity > 0)
    {
        this.setOpacity(100);
    }
    if (this.callback)
    	this.callback();
    
}
Opacity.prototype.FadeIn = function()
{
	this.opacity = 0;
    var _this = this;
    this.timer = window.setInterval(function() { _this.FadeInTimer(); }, _this.speed);
}
Opacity.prototype.FadeInTimer = function()
{
	if(this.opacity <100) {		
        this.opacity = this.opacity + 2;
        this.setOpacity(this.opacity);
        return false;
    } else {    	
    	this.Stop();
        return true;
    }
}
Opacity.prototype.FadeOut = function()
{
	this.opacity = 100;
	var _this = this;
    this.timer = window.setInterval(function() { _this.FadeOutTimer(); }, _this.speed);
}
Opacity.prototype.FadeOutTimer = function()
{
	if(this.opacity> 0) {
        this.opacity = this.opacity-2;
        this.setOpacity(this.opacity);
        return false;
    } else {
    	this.Stop();
        return true;
    }
}
