var _fadeMode;
var _fadeElement;
var _fadeSpeed;

function fadeMozilla() {
	if(!_fadeElement.style.opacity) {
		if(_fadeMode == 1)
			_fadeElement.style.opacity = 0;
		else
			_fadeElement.style.opacity = 1;
	}
	var state = parseFloat(_fadeElement.style.opacity);

	if( (state == 0 && _fadeMode == -1 ) || (state == 1 && _fadeMode == 1)) {
		//alert ('state=' + state + '; _fadeMode=' + _fadeMode);
		return;
	}

	state = state + (_fadeMode * _fadeSpeed);
	_fadeElement.style.opacity = state;

	setTimeout('fadeMozilla()', 100);
}

function fadeIE() {
	if(!_fadeElement.style.filter) {
		if(_fadeMode == 1) 
			_fadeElement.style.filter = 'Alpha(opacity=0)';
		else
			_fadeElement.style.filter = 'Alpha(opacity=100)';
	}

	var state = _fadeElement.style.filter.replace(/\)/, '').split('=');
	state = parseInt(state[1]);

	if( (state == 0 && _fadeMode == -1 ) || (state == 100 && _fadeMode == 1)) {
		return;
	}
	state = state + (_fadeMode * (_fadeSpeed * 100));
	_fadeElement.style.filter = 'Alpha(opacity='+state+')';
	setTimeout('fadeIE()', 100);
}

function fade(element) {
	_fadeMode = 1;
	_fadeElement = element;
	_fadeSpeed = 0.1;

	this.fadeIn = function() {
		_fadeMode = 1;
	}

	this.fadeOut = function() {
		_fadeMode = -1;
	}

	this.start = function() {
		if(navigator.appVersion.indexOf('MSIE') > -1) {
			fadeIE();
		}
		else {
			fadeMozilla();
		}
	}


}
