$(function ( )
{
    if ( !ACMS.Config.bg ) {
        return false;
    }
    var len = ACMS.Config.bg.length;
    if ( !len ) {
        return false;
    }
    var stack   = new Array();

    function fillStack ( ) {
        while ( stack.length < len ) {
            var i = Math.floor(Math.random() * len);
            if ( 0 <= $.inArray(i, stack) ) {
                continue;
            }
            stack.push(i);
        }
    }
    fillStack();

    var img = new Image();
    $(img).load(function ( )
    {
        setTimeout(function ( ) {
            var recursive   = arguments.callee;
            var $forward    = $('#bg-forward');
            var $back       = $('#bg-back');
            $forward.animate({opacity:0}, 1000, function ( )
            {
                $forward.css('z-index', 2);
                $back.css('z-index', 3);
                $forward.css('opacity', 1);
                var i   = stack.pop();
                if ( !stack.length ) {
                    fillStack();
                    while ( i === stack[len - 1] ) {
                        stack   = new Array();
                        fillStack();
                    }
                }
                $forward.empty();
                $forward.css('background-image', 'url("' + ACMS.Config.bg[i] + '")');
                $forward.attr('id', 'bg-back');
                $back.attr('id', 'bg-forward');
                if ( 2 <= len ) {
                    setTimeout(recursive, 15000);
                }
            });
        }, 0);
        $(img).remove();
    });
    var i   = stack.pop();
    $('#bg-back').css('background-image', 'url("' + ACMS.Config.bg[i] + '")');
    img.src = ACMS.Config.bg[i];
});


