function getStyleClass (className) {
	for (var s = 0; s < document.styleSheets.length; s++)
	{
		if(document.styleSheets[s].rules)
		{
			for (var r = 0; r < document.styleSheets[s].rules.length; r++)
			{
				if (document.styleSheets[s].rules[r].selectorText == '.' + className)
				{
					return document.styleSheets[s].rules[r];
				}
			}
		}
		else if(document.styleSheets[s].cssRules)
		{
			for (var r = 0; r < document.styleSheets[s].cssRules.length; r++)
			{
				if (document.styleSheets[s].cssRules[r].selectorText == '.' + className)
					return document.styleSheets[s].cssRules[r];
			}
		}
	}
	
	return null;
}

function setClassOpacity(className,opacity) {
        var elm=getStyleClass(className);
	if (elm) {
		elm.style.opacity=opacity/100;
		elm.style.filter='alpha(opacity='+opacity+')';
	}
}

var opacityanimation;
var currentclass="nonexistent";
var currenttarget=100;

function animateClassOpacity(className,newopacity, targetopacity) {
	clearTimeout(opacityanimation);
	setClassOpacity(currentclass,currenttarget);
	currentclass=className;
	currenttarget=targetopacity;
	animateClassOpacity1(className,newopacity, targetopacity);
}

function animateClassOpacity1(className,newopacity, targetopacity) {
var step=5;
var time=12;
	setClassOpacity(className,newopacity);

	if (targetopacity>newopacity) {
		//increasing opacity
		if ((targetopacity-newopacity)>step) {
			newopacity=newopacity+step;
		} else {
		        newopacity=targetopacity;
		}	
		opacityanimation=setTimeout("animateClassOpacity1('"+className+"',"+newopacity+", "+targetopacity+")",time);
	} else {
		if (newopacity>targetopacity) {
	 	//lowering opacity
			if ((newopacity-targetopacity)>step) {
				newopacity=newopacity-step;
			} else {
			        newopacity=targetopacity;                                                                        
			}
			opacityanimation=setTimeout("animateClassOpacity1('"+className+"',"+newopacity+", "+targetopacity+")",time);
	 	} else {
			clearTimeout(opacityanimation)
		}
	}
}
