addLoadEvent(function(){
	fadeInOut('banners', 0, 'in');
}
);

var i = 0;
function fadeInOut(containerId, waitTime, direction){
	if (!document.getElementById(containerId)) return;
	var container = document.getElementById(containerId);
	var fadeElements = getElementsByClassName(container, "div","banner");
	resetZindex(fadeElements);
	
	if (direction == 'in'){
		fadeElements[i].style.zIndex = 1;
		opacity(fadeElements[i], 0, 100, 50, 45, 1);	
		tFader = setTimeout("fadeInOut('"+containerId+"','"+waitTime+"','out')", 3500);
		
	
		if (fadeElements[i].getAttribute('id') == 'banner3'){
			fadeInOutBrBanner('banner3', 0, 'in');
		}
		else{
			setTimeout( "opacity(document.getElementById('homeText"+i+"'), 0, 100, 12, 45, 1)", 1000);
			setTimeout( "opacity(document.getElementById('homeText"+i+"'), 100, 0, 50, 45, 1)", 2000);
		}
	}
	else if (direction == 'out'){
		if (i == 3) return;
		opacity(fadeElements[i], 100, 0, 50, 45, 1);
		fadeElements[i].style.zIndex = 0;
		i = i + 1;
		tFader = setTimeout("fadeInOut('"+containerId+"','"+waitTime+"','in')", waitTime);	
	}
}
var j = 0;
function fadeInOutBrBanner(containerId, waitTime, direction){
	if (!document.getElementById(containerId)) return;
	var container = document.getElementById(containerId);
	
	//make this fadeElements array global for the set timeout resetOpacity
	fadeElements = container.getElementsByTagName('img');
	resetZindex(fadeElements);

	if (direction == 'in'){
		fadeElements[j].style.zIndex = 2;
		opacity(fadeElements[j], 0, 100, 12, 30, 1);
		j = (j + 1);
		if (j ==3){
			return;
		}	
		tFader = setTimeout("fadeInOutBrBanner('"+containerId+"','"+waitTime+"','in')", 1200);
		
	}
	
}

function resetOpacity(elements){
	for (var k=0; k<elements.length; k++){
		elements[k].style.opacity = 0;
		elements[k].style.filter = "alpha(opacity=0)";
	}
}

function resetZindex(elements){
	for (var i=0; i<elements.length; i++){
		elements[i].style.zIndex = 0;
	}
}

function opacity(image, opacStart, opacEnd, steps, intervals, powr){
    if (image.fading) window.clearInterval(image.fading);
    var thisStep = 0;
    image.fading = setInterval(fade, intervals);
     function fade(){
            image.currentOpacity =  easeInOut( opacStart, opacEnd, steps, thisStep, powr);
            image.style.opacity = (image.currentOpacity / 100);
            image.style.MozOpacity = (image.currentOpacity / 100);
            image.style.KhtmlOpacity = (image.currentOpacity / 100);
            image.style.filter = "alpha(opacity=" + image.currentOpacity + ")";
            thisStep++;
            if (thisStep > steps) window.clearInterval(image.fading);
     }
}

//generic value churner by Hesido (wwww.hesido.com)
function easeInOut( opacStart, opacEnd, steps, thisStep, powr ){
     var NumDifference = opacEnd - opacStart;
     var increaseStepAmt = opacStart + (Math.pow((( 1 / steps ) * thisStep), powr ) * NumDifference );
     return Math.ceil(increaseStepAmt);
}
