﻿// JScript File

function imgfadingBanner(elem,both,a)
{
	var me=elem;
	me.transitionBoth=both;
	me.swapTime=7000;
	me.transTime=1000;
	me.transSteps=20;
	me.a=a;
	me.arrpos=0;
	function setOpacity(element,opac)
	{
		element.style.opacity=opac;
		element.style.filter="alpha(opacity="+opac*100+")";
		element.style.mozopacity=opac;
	}

	me.showElement=function()
	{
		me.childNodes[me.visibleItem].style.display='block';
		if (me.oldItem){
			me.childNodes[me.oldItem].style.zIndex=0;
		}
		me.childNodes[me.visibleItem].style.zIndex=1;
		setOpacity(me.childNodes[me.visibleItem],1);
		for (i=0;i<me.childNodes.length;i++)
		{
			if (i==me.visibleItem)
			{

			}else{
				me.childNodes[i].style.display='none';
				me.childNodes[i].style.zIndex=0;
				setOpacity(me.childNodes[i],0);
			}
		}
	}

	me.swapNext=function()
	{
		if (me.transTimer)
		clearInterval(me.transTimer);
		if (me.startTransTimer)
		clearTimeout(me.startTransTimer);
		me.oldItem=me.visibleItem;
		if(me.arrpos==me.a.length-1) me.arrpos=0;
		else me.arrpos++;
		//alert(me.childNodes[me.oldItem]);
		me.childNodes[me.oldItem].src=me.a[me.arrpos];
		me.visibleItem=(me.visibleItem+1)%me.childNodes.length;
		me.showElement();
		me.startTransTimer=setTimeout(me.startTransition,me.swapTime-me.transTime);
		me.swapTimer=setTimeout(me.swapNext,me.swapTime);
	}

	me.doTransition=function()
	{
		if (me.transStep<me.transSteps)
		{
			me.transStep++;
		}
		setOpacity(me.childNodes[me.nextItem],me.transStep/me.transSteps);
		if(me.transitionBoth) setOpacity(me.childNodes[me.visibleItem],1.0-me.transStep/me.transSteps);
	}

	me.startTransition=function()
	{
		me.transStep=0;
		me.nextItem=(me.visibleItem+1)%me.childNodes.length;
		setOpacity(me.childNodes[me.nextItem],0);
		me.childNodes[me.nextItem].style.display='block';
		me.childNodes[me.nextItem].style.zIndex=2;
		if (me.transTimer) clearInterval(me.transTimer);
		me.transTimer=setInterval(me.doTransition,me.transTime/me.transSteps);
	}

	me.setTimes=function(swap,trans,step)
	{
		me.swapTime=swap;
		me.transTime=trans;
		me.transSteps=step;
		clearTimeout(me.swapTimer);
		clearTimeout(me.startTransTimer);
		me.swapTimer=setTimeout(me.swapNext,me.swapTime);
		me.startTransTimer=setTimeout(me.startTransition,me.swapTime-me.transTime);
	}

	me.visibleItem=me.childNodes.length-1;
	me.nextItem=0;
	me.showElement();
	me.swapTimer=setTimeout(me.swapNext,me.swapTime);
	me.startTransTimer=setTimeout(me.startTransition,me.swapTime-me.transTime);
	return me;
}
