var currDiv;
var divCount = 1;
var fadeTimer;
var appearTimer;
var changeTimer;

function setOpacity(elem, opacity) {
    if(elem.style.opacity || elem.style.opacity == "") {
        elem.style.opacity = opacity;
    }
    else {
        op = parseInt(100* opacity, 10);
        elem.style.filter = "alpha(opacity="+op+")";
    }
}

function appear(element) {
    var opacity = 0.0;
    appearTimer = setInterval(makeAppear, 150);

    function makeAppear() {
        if(opacity >= 1) {
            setOpacity(element, "1");
            clearInterval(appearTimer);
        } 
        else {
            opacity += 0.1;
            setOpacity(element, opacity);
        }
    }
}

function fade(element, opacity)
{
    fadeTimer = setInterval(makeFade, 130);

    function makeFade() {
        if(opacity <= 0) {
            setOpacity(element,"0");
            clearInterval(fadeTimer);
        } 
        else {
            opacity -= 0.1;
            setOpacity(element, opacity);
        }
    }
}

function changeItem(x, opacity)
{
    var elem = document.getElementById("d" + currDiv);
    var inc = parseInt(x);
    fade(elem, opacity);

    currDiv += inc;
    if(currDiv > divCount){
        currDiv = 1;
    }
    else if(currDiv < 1){
        currDiv = divCount;
    }

    appear(document.getElementById("d" + currDiv));
}

function callChangeItem(){
    changeItem(1, 1);
}

function nextItem(x){
    var elem;
    clearInterval(fadeTimer);
    clearInterval(appearTimer);
    clearInterval(changeTimer);
    for(var i = 1; i <= divCount; i++){
        elem = document.getElementById("d" + i);
        setOpacity(elem, "0");
    }
    i = parseInt(x);
    changeItem(i, 0);
    if(divCount > 1){
        changeTimer = setInterval(callChangeItem, 10000);
    }
    else if(divCount === 1){
        elem = document.getElementById("d1");
        setOpacity(elem, "1");
    }
    document.oncontextmenu = new Function("return false");
}

window.onload = function () {
    var e;
    while(1) {
        e = document.getElementById("d" + divCount);
        if(!e) 
            break;
        
        setOpacity(e,"0");
        divCount++;
    }
    divCount--;
    currDiv = divCount;

    if(divCount > 1) {
        changeTimer = setInterval(callChangeItem, 10000);
        changeItem(1, 1);
    }
    else if (divCount == 1) {
        setOpacity(document.getElementById("d1"), "1");
    }
};

