// diaporama
var Count = 0;
var Pause = false;
var Fading = true;
var Opacity = 1;
var Down = false;
var speed = 3;

var DiapoImages = new Array();
function loadDiapo() { 
	for (i = 0; i < photosList.length; i++) { 
		DiapoImages[i] = new Image();
		DiapoImages[i].src = "./content/diaporama/"+photosList[i]['name']+"."+photosList[i]['imgtype'];
	}
}

function launchDiapo(id,fading) {
    Pause = false;
    Fading = fading;
    moveDiapo(0,0,id);
}
function diaporama(p,c,id) {
    if (c==Count) { // pour viter de refaire une opration dj faite
        Count++; // compteur d'operations
        iH = "<div id='diaporamaContent' style='opacity:0;'>"+
                "<div id='diaporamaImgContainer'>" +
                    "<img src='./content/diaporama/"+photosList[p]['name']+"."+photosList[p]['imgtype']+"' id='diaporamaImage' alt='"+photosList[p]['name']+"' />" +
                "</div>"+
                "<p>"+photosList[p]['caption']+"</p>"+
             "</div>"+
             "<div id='diaporamaNav'>"+
                "<a href='javascript:diaporama("+(p>0 ? (p-1) : (photosList.length-1))+","+Count+",\\\""+id+"\\\");' class='navigation'><img src='./layout/rewind_off.gif' onmouseover='rollon(this)' onmouseout='rolloff(this)' /></a>"+
                "<a href='javascript:pauseDiapo("+p+",\\\""+id+"\\\");' class='navigation'>&nbsp;&nbsp;&nbsp;<img src='./layout/pause_off.gif' onmouseover='rollon(this)' onmouseout='rolloff(this)' />&nbsp;&nbsp;&nbsp;</a>"+
                "<a href='javascript:diaporama("+(p<(photosList.length-1) ? (p+1) : 0)+","+Count+",\\\""+id+"\\\");' class='navigation'><img src='./layout/forward_off.gif' onmouseover='rollon(this)' onmouseout='rolloff(this)' /></a>"+
             "</div>";
        if (Fading) {
            fadeDiapo(id,iH);
        } else {
            document.getElementById(id).innerHTML = iH;
            document.getElementById("diaporamaContent").style.opacity = 1;
        }
        
        if (p < photosList.length-1) {
            p++;
        } else {
            p = 0;
        }
        string = "moveDiapo("+p+","+Count+",'"+id+"');";
        setTimeout(string,4000);
    }
}
function fadeDiapo(id,iH) {
    var timer = 0;
    for(i = 0; i <= 100; i++) {
        setTimeout("changeOpac(" + (100-i) + ",'diaporamaContent')",(timer * speed));
        timer++;
    }
    setTimeout("loadHtml('"+id+"',\""+iH+"\")", (timer * speed));
    timer++;
    for(i = 0; i <= 100; i++) {
        setTimeout("changeOpac(" + i + ",'diaporamaContent')",(timer * speed));
        timer++;
    }
}
function loadHtml(id,iH) {
    document.getElementById(id).innerHTML = iH;
}
/*function fadeDiapo(id,iH) {
    if (!Down) {
        var timer = 0;
        for(i = 0; i <= 100; i++) {
            setTimeout("changeOpac(" + (100-i) + ",'diaporamaContent')",(timer * speed));
            timer++;
        }
        Down = true;
    }
    if (Opacity > 0) {
        setTimeout("fadeDiapo("+id+","+iH+")",0);
    } else {
        document.getElementById(id).innerHTML = iH;
        var timer = 0;
        for(i = 0; i <= 100; i++) {
            setTimeout("changeOpac(" + i + ",'diaporamaContent')",(timer * speed));
            timer++;
        }
        Down = false;
    }
}*/
function moveDiapo(p,c,id) {
    if (!Pause) {
        if (DiapoImages[p].complete) { // checks if loading of next image is done
            diaporama(p,c,id);
        } else { // waits for another 10 ms if not
            string = "moveDiapo("+p+","+c+",'"+id+"');";
            setTimeout(string,10);
        }
    }
}
function pauseDiapo(p,id) {
    if (Pause) {
        Pause = false;
        if (p < photosList.length-1) { // quand deblocage, on passe au projet suivant immediatement
            p++;
        } else {
            p = 0;
        }
        diaporama(p,Count,id);
    } else {
        Pause = true;
    }
}
function exitDiapo() {
    window.close();
}

function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
    Opacity = object.opacity;
}

