var SilasWidgetFlickr = {
    widget: null,
    imgs: null,
    timer: null,
    randOld : 0,
    randNew: 0,
    delay: 4000,
    numDisplayed: 7,
    initialize: function() {
        this.widget = document.getElementById('flickr-photos');
        if (!this.widget) return;
        this.imgs = this.widget.getElementsByTagName('div');
        for (var i=0; i<this.numDisplayed; i++) {
            new Effect.Appear('photo-'+this.imgs[i].id, {
                delay: 0.2*i,
                //queue:{position:'end', scope:'init'},
                afterFinish: function() {
                    if (SilasWidgetFlickr.timer) clearTimeout(SilasWidgetFlickr.timer)
                    SilasWidgetFlickr.timer = setTimeout("SilasWidgetFlickr.animate()", SilasWidgetFlickr.delay*2);
                }
            });
        }
        
    },
    animate: function() {
        this.randOld = Math.floor(Math.random()*this.numDisplayed);
        this.randNew = Math.floor(Math.random()*(this.imgs.length-this.numDisplayed)) + this.numDisplayed;
        var imgOld = document.getElementById('photo-'+this.imgs[this.randOld].id);
        var imgNew = this.imgs[this.randNew].removeChild(document.getElementById('photo-'+this.imgs[this.randNew].id));
        this.imgs[this.randOld].appendChild(imgNew);
        new Effect.Fade(imgOld, {
            afterFinish: function(obj) {
                var tmp = SilasWidgetFlickr.imgs[SilasWidgetFlickr.randOld].removeChild(obj.element)
                SilasWidgetFlickr.imgs[SilasWidgetFlickr.randNew].appendChild(tmp)
            }
        });
        /*
        new Effect.MoveBy(imgOld, 50, 0, {
            afterFinish: function(obj) {
                obj.element.style.top = 0;
                obj.element.style.left = 0;
                
            }
        });
        */
        
        new Effect.Appear(imgNew, {
            afterFinish: function() {
                var tmp = SilasWidgetFlickr.imgs[SilasWidgetFlickr.randOld].id
                SilasWidgetFlickr.imgs[SilasWidgetFlickr.randOld].id = SilasWidgetFlickr.imgs[SilasWidgetFlickr.randNew].id
                SilasWidgetFlickr.imgs[SilasWidgetFlickr.randNew].id = tmp
                if (SilasWidgetFlickr.timer) clearTimeout(SilasWidgetFlickr.timer);
                SilasWidgetFlickr.timer = setTimeout("SilasWidgetFlickr.animate()", SilasWidgetFlickr.delay);
            }
        });
    }
    
}
if (typeof SilasPage == "function") SilasPage.addOnLoad(function () { SilasWidgetFlickr.initialize(); } )

