var tetaS;
var tetaH;
var fadeInt    = null;
var showInt    = null;
var fadeElem   = null;
var showElem   = null;
var fadeUpTo   = null;
var doHide     = true;
var isIE       = null;
var currPageOn = null;
var showTime   = 5000;

if(document.all) isIE = true; else isIE = false;

var curr        = -1;
var usedIdStart = "newsBox";

function chainNext() {
	curr++;
	if(document.getElementById(usedIdStart+curr)){
		return document.getElementById(usedIdStart+curr);
	} else { 
		curr=0;
		return document.getElementById(usedIdStart+curr);
	}
}

function chainCurr() {
	return document.getElementById(usedIdStart+curr);
}

function setOpacity(elem, value){
	if(isIE){
		elem.style.filter  = "alpha(opacity="+(Math.ceil(value*100))+")";
		//window.status = elem.getAttribute("id");
	} else {
		elem.style.opacity = value;
	}
}

function getOpacity(elem){
	if(isIE){
		retVal = parseFloat(elem.style.filter.replace("alpha(opacity=", "").replace(")", ""))/100;
	} else {
		retVal = elem.style.opacity;
	}
	return retVal;
}

function fade(){
	opacity = getOpacity(fadeElem);
	if (opacity <= fadeUpTo){
		clearInterval(fadeInt);
		fadeInt = null;
		if(doHide) fadeElem.style.display = "none";
		startShow(chainNext());
	}
	setOpacity(fadeElem, Math.sin(tetaH));
	tetaH += 5*(Math.PI/180);
	
}

function startFade(elem, upto, hide){
	if(fadeInt == null){
		fadeElem   = elem;
		fadeUpTo   = upto;
		doHide     = hide;
		setOpacity(elem, 1);
		tetaH      = Math.PI/2;
		fadeInt = setInterval("fade();", 100);
	}
}	

function show(){
	opacity = getOpacity(showElem);
	if (opacity >= 1){
		clearInterval(showInt);
		setTimeout("startFade(chainCurr(), 0, true);", showTime);
		clearOpacity(showElem);
		showInt = null;
	} else {
		setOpacity(showElem, Math.sin(tetaS));
		tetaS +=  5*(Math.PI/180);
	}
}

function startShow(elem){
	if(elem){
		if(showInt == null){
			if(doHide){ elem.style.display = "block"; }
			showElem   = elem;
			setOpacity(elem, 0)
			elem.style.display = "";
			tetaS       = 0;
			showInt = setInterval("show();", 100);
		}
		var currPageOn = elem;
	}
}	

function clearOpacity(elem){
	if(isIE){
		elem.style.filter = "";
	} else {
		elem.style.opacity = "";
	}
}
