var itemArray = new Array();
var itemPointer = new Array();

var timer;
var holdSec = 8;
var transSec = 2;

function autoTransition()
{
    for( var x = 0; x < autoTransition.arguments.length; x++ )
    {
        var itemParent = $( autoTransition.arguments[ x ][0] );
        itemArray[ x ] = new Array();
        var childCounter = 0;
        itemPointer[ x ] = 0;

        for( var y = 0; y < itemParent.childNodes.length; y ++ )
        {
            if( itemParent.childNodes[ y ].className == autoTransition.arguments[ x ][1] )
            {
                itemArray[ x ][ childCounter++ ] = itemParent.childNodes[ y ];
            }
        }
    }
        
    timer = setInterval( 'execTransition()', 1000 * ( holdSec + transSec ) );
}

function execTransition()
{
    for( var x = 0; x < itemArray.length; x++ )
    {
        if( itemArray[x].length > 1 )
        {
            var previousItem = itemPointer[ x ]++;
            if( itemPointer[ x ] >= itemArray[ x ].length )
            {
                itemPointer[ x ] = 0;
            }
            var nextItem = itemPointer[ x ];
        
            itemArray[ x ][ previousItem ].style.zIndex = 5;
            itemArray[ x ][ nextItem ].style.zIndex = 10;
        
            Effect.Appear( itemArray[ x ][ nextItem ], { duration: transSec } );
            Effect.Fade( itemArray[ x ][ previousItem ], { duration: 0, delay: transSec } );
        }
    }
}
