var project = 0;
var animator = new HB_Animator;
var project_pos = 0;
var project_reset = 3;
var project_status = [0, 1, 2];
var project_max = 0;

function setup_rotation() {
    
    while (document.getElementById('project0_' + project_max)) {
        project_max++;
    }
    project_max--;
    
    setInterval(function() {
        log('project' + project_pos + '_' + project);
        document.getElementById('project' + project_pos + '_' + project).style.opacity = 1.0;
        animator.animate({
            target: document.getElementById('project' + project_pos + '_' + project),
            property: 'style.opacity',
            handler: set_opacity,
            end_value: 0.0,
            duration: 500,
            callback: function() {
                
                log('Done hiding project ' + project);
                
                document.getElementById('project' + project_pos + '_' + project).style.display = 'none';
                
                project = project_reset;
                log('Start showing project ' + project);
                if (!document.getElementById('project' + project_pos + '_' + project)) {
                    project = 0;
                    log(' ... no wait, ' + project);
                }
                
                var table = document.getElementById('project' + project_pos + '_' + project);
                
                table.style.filter = 'alpha(opacity=0.0)';
                table.style.opacity = 0.0;
                table.style.display = 'block';
                
                project_status[project_pos] = project;
                
                log('7');
                
                log('Project status: ' + project_status + ', pos = ' + project_pos);
                
                animator.animate({
                    target: table,
                    property: 'style.opacity',
                    handler: set_opacity,
                    end_value: 0.99,
                    duration: 500,
                    callback: function() {
                        
                        log('Done showing ' + project);
                        
                        project_pos++;
                        if (project_pos == 3) {
                            project_pos = 0;
                        }
                        
                        if (project == project_max) {
                            project_reset = 0;
                        } else {
                            project_reset = project + 1;
                        }
                        
                        project = project_status[project_pos];
                        
                        log('Next, will hide: ' + project);
                        log('Project status: ' + project_status + ', pos = ' + project_pos);
                        
                    }
                });
            }
        });
    }, 2000);
}

function set_opacity(opacity) {
    var target = document.getElementById('project' + project_pos + '_' + project);
    target.style.opacity = opacity;
    target.style.filter = 'alpha(opacity=' + parseInt(100 * opacity) + ')';
}

function log(msg) {
    //setTimeout('throw("' + msg + '");', 0);
    /*var div = document.getElementById('log');
    if (!div) {
        div = document.getElementsByTagName('body')[0].appendChild(document.createElement('div'));
        div.setAttribute('id', 'log');
        div.setAttribute('style', 'font: 10px courier new;' +
                                  'white-space: pre;' +
                                  'position: absolute;' +
                                  'width: 200px;' +
                                  'height: 300px;' +
                                  'top: 10px;' +
                                  'right: 10px;' +
                                  'overflow: auto;');
    }
    div.innerHTML += msg + "\n";*/
}
