
//------------ globals
var autoBanners=null;
var autoBannerId='';

// ----------- banner

var s = 500;
var currIndex= -1;
function doChange() {
    showBanner(++currIndex);
}
function onStart() {
    document.getElementById(autoBannerId).style.backgroundImage= 'url('+ autoBanners[0].img+')';
    changeOpac(100, autoBannerId);
    setTimeout('updateNav(0)', 0);
    currIndex=0;
    changeTimerId=setTimeout('startBannerTimer()', first_stepspd);
}
function updateNav(index) {
    document.getElementById(autoBannerId).setAttribute('href', autoBanners[index].link);
    document.getElementById(autoBannerId).title =autoBanners[index].title;
}
function showBanner(index) {
    if(typeof(index)!='undefined')
        currIndex=index;
    else
        currIndex=currIndex+1;
    
    if(currIndex>=autoBanners.length)
        currIndex=0;

		opacity(autoBannerId, 100, 0, 100, function() 
			{
				document.getElementById(autoBannerId).style.backgroundImage= 'url('+autoBanners[currIndex].img+')';
					opacity(autoBannerId, 0, 100, s, function(){ updateNav(currIndex); }   );
			}
		);
}

var changeTimerId=0;
function chooseBanner(index){
	showBanner(index);
	stopBannerTimer();
	if(changeTimerId>0)
		clearTimeout(changeTimerId);
		
	changeTimerId=setTimeout('startBannerTimer()', first_stepspd);
}


// ----------- timers
	var timerId=0;
	var stepspd=7000;
	var first_stepspd=4000;
	function startBannerTimer() {
		if(timerId==0)
			timerId=setTimeout('timerHandler()', stepspd);
		else
			stopBannerTimer();
	}
	function timerHandler(){
		if(timerId>0) {
			doChange();
			timerId=setTimeout('timerHandler()', stepspd);
		}
	}
	function stopBannerTimer() {
		if (timerId>0) {
			clearTimeout(timerId);
			timerId=0;
		}
	}
	
// ----------- transparency
function opacity(id, opacStart, opacEnd, millisec, callback) {
    var speed = Math.round(millisec / 100);
    var timer = 0;
    var opacityIterator=0;

    if(opacStart > opacEnd) {
        for(opacityIterator = opacStart; opacityIterator >= opacEnd; opacityIterator--) {
            setTimeout("changeOpac(" + opacityIterator + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(opacityIterator = opacStart; opacityIterator <= opacEnd; opacityIterator++) {
            setTimeout("changeOpac(" + opacityIterator + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
    if(typeof(callback)== 'function')
        setTimeout(callback,1);
}

function shiftOpacity(id, millisec) {
    if(document.getElementById(id).style.opacity == 0) {
        opacity(id, 0, 100, millisec);
    } else {
        opacity(id, 100, 0, millisec);
    }
} 

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 + ")";
}
function blendimage(divid, imageid, imagefile, millisec) {
    var speed = Math.round(millisec / 10);
    var timer = 0;
    var opacityIterator= 0;
    
    document.getElementById(divid).style.backgroundImage = document.getElementById(imageid).style.backgroundImage;
    
    changeOpac(0, imageid);
    
    document.getElementById(imageid).style.backgroundImage = 'url('+imagefile+')';

    //fade in image
    for(opacityIterator = 0; opacityIterator <= 10; opacityIterator++) {
        setTimeout("changeOpac(" + opacityIterator + ",'" + imageid + "')",(timer * speed));
        timer++;
    }
} 
	