/*##fx*/
function setOpacity(element,value){
	if(document.all)element.style.filter='progid:DXImageTransform.Microsoft.Alpha(opacity = '+value+')';
	else element.style.MozOpacity = value/100;
}

function toggleDisplay(ele,state1,state2,ie1,ie2){
	/*@cc_on
		if(ie1!=undefined)state1 = ie1;
		if(ie2!=undefined)state2 = ie2;
	@*/
	ele.style.display = (ele.style.display==state1?state2:state1);
}


/*##fade*/
function fadeEngine(element,up,target,timeout,step,callFunc){
	var opacity;
	if(document.all)opacity = element.filters.alpha.opacity;
	else opacity = Math.round(element.style.MozOpacity * 100);
	if((up==false && opacity>target) || (up==true && opacity<target)){
		if(up==false)setOpacity(element,opacity-step);
		else setOpacity(element,opacity+step);
		fe = function(){fadeEngine(element,up,target,timeout,step,callFunc);};
		setTimeout("fe()",timeout);
	}else if(callFunc!=undefined)callFunc();
}

function fade(element,target,time,callFunc){
	var step_size=2;
	var opacity;
	if(document.all){
		if(element.filters.alpha)opacity = element.filters.alpha.opacity;
		else{setOpacity(element,100);opacity=100;}
	}else{
		if(element.style.MozOpacity)opacity = Math.round(element.style.MozOpacity * 100);
		else{setOpacity(element,100);opacity=100;}
	}
	
	if(target<opacity){
		steps = (opacity-target)/step_size;
		step_time = Math.round(time/steps);
		fadeEngine(element,false,target,step_time,step_size,callFunc);
	}else{
		steps = (target-opacity)/step_size;
		step_time = Math.round(time/steps);
		fadeEngine(element,true,target,step_time,step_size,callFunc);
	}
}
