var SwitchableStorageContent=function(object){
    minTimeout=5000;
    maxTimeout=10000;
    fadeOutDuration=500;
    fadeInDuration=500;
    var _this=this;

    var availableContent=null;
    this.getAvailableContent=function(){
        availableContent=null;
        var objs=$$('#storageContentContainer .switchedStorageContent');
        for(var x=0;x<objs.length;x++){
            if(!objs[x].reserved){
                availableContent=objs[x];
                objs[x].reserved=true;
                return;
            }
        }
    }
    this.switchContent=function(){
        _this.getAvailableContent();
        if(availableContent){
            new Fx.Styles(object,{duration:fadeOutDuration}).start({'opacity':0}).chain(function(){
                    var fx=new Fx.Styles(availableContent,{duration:fadeInDuration});
                    fx.set({'opacity':0});

                    availableContent.injectBefore(object);
                    object.inject($('storageContentContainer'));

                    fx.start({'opacity':1});


                    availableContent.className=availableContent.className.replace('switchedStorageContent','switchableStorageContent');
                    object.className=object.className.replace('switchableStorageContent','switchedStorageContent');

                    object=availableContent;
                    object.reserved=false;
            });
        }
        this.delay(Math.round(Math.random()*(maxTimeout-minTimeout)+minTimeout));
    }
    this.switchContent.delay(Math.round(Math.random()*(maxTimeout-minTimeout)+minTimeout));
}

window.addEvent('domready',function(){
//    if(document.location.search != '?test')return;
    $$('.switchableStorageContent').each(function(elm){
        new SwitchableStorageContent(elm);
    });
})