var nr_projects = 0;
var project_nr = 0;
var headerImages = new Array();
var headerLinks = new Array();

var executer = "";

function changeProject() {
    if(nr_projects > 1) {
        if(project_nr == nr_projects) {
            project_nr = 1;
        }
        else {
            project_nr++;
        }
        preload = new ImagePreloader(new Array(headerImages[project_nr-1]), changeHeaderImage);
    }
}

function changeHeaderImage(allImgs, loadedImgs) {
    if(allImgs.length == loadedImgs) {
        headerImgDiv = document.getElementById('project-image');
        if(headerLinks[project_nr-1].length > 0)
        {
        	preImage = '<a href="'+headerLinks[project_nr-1]+'">';
        	postImage = '</a>';
        }
        else
        {
        	preImage = '';
        	postImage = '';
        }
	imageTag = '<img style="background: #000000 none;" src="' + allImgs[0].src  +'"  width="945px;" height="230px"; onMouseOver="showInfobox('+project_nr+');" onmouseout="hideInfobox('+project_nr+');">';
        new Effect.Opacity("project-image", {from: 1.0, to: 0.5, duration: 0.3});
        code = preImage + imageTag + postImage;
        window.setTimeout("swapImage(code);", 350);
    }
    else {
        // Fallback -> Display next project
        changeProject();
    }
}

function swapImage(code) {
    $("project-image").innerHTML = code;
    new Effect.Opacity("project-image", {from: 0.5, to: 1.0, duration: 0.3});
    
    // hide info box if open
    if(project_nr == 1) {
        $("infobox-" + nr_projects).hide();
    }
    else {
        $("infobox-" + (project_nr-1)).hide();
    }
}

function updateHeaderImage() {
    if(project_nr == 1) {
        $("project-"+ nr_projects).fade({duration: 0.3});
    }
    else if(project_nr > 1) {
        $("project-"+ (project_nr-1)).fade({duration: 0.3});
    }
    window.setTimeout('$("project-"+project_nr).appear({duration: 0.3});', 300);
}


function showInfobox(nr) {
    $('infobox-' + nr).show();
}

function hideInfobox(nr) {
    $('infobox-' + nr).hide();
}

function stopFading() {
    if(executer) {
        executer.stop();
        executer = "";
    }
}

function startFading() {
    if(executer == "") {
        executer = new PeriodicalExecuter(changeProject, 5);
    }
}


function changeMainImage(src, stable) {
    var mI = $('mainImage');
    var mIA = mI.childElements();
    var mII = mIA[0].childElements();
    mII[0].writeAttribute('src', src);
    if (stable == true) mainSrc=src;
    return false;
}
