//
//
// Cross Fade DIV script by Giovanni Caturano
// courtesy SpinVector
//
//

function setOpacity(obj, o) {
	obj.style.opacity = (o / 100);
	obj.style.MozOpacity = (o / 100);
	obj.style.KhtmlOpacity = (o / 100);
	obj.style.filter = 'alpha(opacity=' + o + ')';
}

function myFadeIn()
{
    var div = this.divs[this.curDiv];
    this.divOp += 3;
    if (this.divOp > 100) {
        this.divOp = 100;
    }
    setOpacity(div, this.divOp);
    if (this.divOp == 100) {
        this.setTimeout("nextDiv()", this.divTimes[this.curDiv]);
    } else {
        this.setTimeout("fadeIn()", this.frameTime);
    }
}

function myFadeOut()
{
    var div = this.divs[this.curDiv];
    this.divOp -= 3;
    if (this.divOp < 0) {
        this.divOp = 0;
        div.style.display = "none";
        this.curDiv = 0;
        this.setTimeout("nextDiv()", this.divTimes[this.curDiv]);
    } else {
        setOpacity(div, this.divOp);
        this.setTimeout("fadeOut()", this.frameTime);
    }
}

function myNextDiv()
{
    this.curDiv++;
    if (this.curDiv < this.divs.length) {
        setOpacity(this.divs[this.curDiv], 0);
        this.divOp = 0;
        this.divs[this.curDiv].style.display = "block";
        this.setTimeout("fadeIn()", this.frameTime);
    } else {
        var iDiv = 1;
        for (; iDiv < (this.divs.length - 1); iDiv++) {
            this.divs[iDiv].style.display = "none";
        }
        this.curDiv--;
        this.setTimeout("fadeOut()", this.frameTime);
    }
}

function myFirstDiv()
{
    this.curDiv = 0;
    var div = this.divs[this.curDiv];
    this.divOp = 100;
    setOpacity(div, this.divOp);
    this.divs[this.curDiv].style.display = "block";
    this.setTimeout("nextDiv()", this.divTimes[this.curDiv]);
}

var g_id_ad = 0;

function GetTimeFromString(strTime)
{
    if (strTime) {
        var underscorePos = strTime.lastIndexOf('_');
        if (underscorePos >= 0) {
            return strTime.slice(underscorePos + 1);
        }
    } else {
        return 0;
    }
}

function mySetDivTime(idDiv)
{
    this.divTimes[idDiv] = this.stillTime;
    var div = this.divs[idDiv];
    var time = GetTimeFromString(div.id);
    if (time > 0) {
        this.divTimes[idDiv] = parseInt(time);
    }
}

function SpinAd(divid, speed, pause) {
    this.divOp = 0;
    this.curDiv = 0;
    this.divs = new Array();
    this.divTimes = new Array();
    this.stillTime = 1000;
    this.frameTime = 100;
    this.id = "spinAdRoll" + g_id_ad++;
    window[this.id] = this;
    this.setTimeout = mySetTimeout;
    this.nextDiv = myNextDiv;
    this.fadeIn = myFadeIn;
    this.fadeOut = myFadeOut;
    this.setDivTime = mySetDivTime;
    this.firstDiv = myFirstDiv;
    if (speed != null) {
        this.frameTime = speed;
    }
    if (pause != null) {
        this.stillTime = pause;
    }
    var idDiv = 0;
    var adDiv = document.getElementById(divid);
    if (adDiv) {
        var time = GetTimeFromString(adDiv.id);
        if (time > 0) {
            this.stillTime = time;
        }
        var o = adDiv.firstChild;
        while(o && o.tagName != 'DIV' && o.tagName != 'SPAN') {
           o = o.nextSibling;
        }
        this.divs[idDiv] = o;
        this.setDivTime(idDiv);
        if (this.divs[idDiv]) {
            var sib = o;
            do {
                sib = sib.nextSibling;
                while(sib && sib.tagName != 'DIV' && sib.tagName != 'SPAN') {
                   sib = sib.nextSibling;
                }
                if (sib) {
                    this.divs[++idDiv] = sib;
                    this.setDivTime(idDiv);
                }
            } while (sib)
        }
        if (this.divs.length > 0) {
            this.curDiv = -1;
            this.firstDiv();
        }
    }    
}

function mySetTimeout (f,t)
{
    var timeoutCall = "window." + this.id + "." + f;
    setTimeout(timeoutCall, t);
}

var g_ads = new Array;

function adFade()
{
    var iAd = 0;
    allDivs = document.getElementsByTagName("div"); 
    for( var i = 0; i < allDivs.length; i++ ) 
    { 
        if( allDivs[i].className == 'spinAdRoll' ) {
            g_ads[iAd++] = new SpinAd(allDivs[i].id, 80, 1000);
        }
    }
}

function StartPageFx()
{
    adFade();
}
