// JavaScript Document

var bannerMgr = new Object();

bannerMgr.currImage=0;
bannerMgr.imgList=[];
bannerMgr.timer=-1;

bannerMgr.initBanner = function (containerId,interval,leftButtonId,rightButtonId, imageList,altList) {
	
	this.imageContainer = document.getElementById(containerId);
	if(this.imageContainer == null) {
		return;
	}
	
	this.imgList = imageList;
	this.altList = altList;
	
	if(null!= document.getElementById(leftButtonId)) {
		document.getElementById(leftButtonId).onclick = function () {
			bannerMgr.switchPrevImage();
		}
	}
	
	if(null!= document.getElementById(rightButtonId)) {
		document.getElementById(rightButtonId).onclick = function () {
			bannerMgr.switchNextImage();
		}
	}
	
	this.timer = setInterval(delegate(this,this.switchNextImage),interval);
}

bannerMgr.switchNextImage = function () {
	this.currImage++;
	if(this.currImage >= this.imgList.length) {
		this.currImage=0;
	}
	var currFilename = this.imgList[this.currImage];
	var currAlt = this.altList[this.currImage];
	this.loadImage(currFilename,currAlt);
}

bannerMgr.switchPrevImage = function () {
	this.currImage--;
	if(this.currImage < 0 ) {
		this.currImage=this.imgList.length - 1;
	}
	var currFilename = this.imgList[this.currImage];
	var currAlt = this.altList[this.currImage];
	this.loadImage(currFilename,currAlt);
}

bannerMgr.loadImage = function (url,alt) {
	
	var tempImage = new Image();	
	tempImage.cachedURL = url;
	//alert("about to load:  "+tempImage.cachedURL);
	tempImage.cachedAlt = alt;
	tempImage.imageContainer = this.imageContainer;
	tempImage.onload = this.imageReplacement;
	tempImage.src = url;
}

bannerMgr.imageReplacement = function () {
	//alert("imr: "+this.cachedAlt+" "+this.cachedURL);
	this.imageContainer.src=this.cachedURL;
	this.imageContainer.alt=this.cachedAlt;
	this.imageContainer.title=this.cachedAlt;
}
	

function delegate( that, thatMethod ) {
    return function() { 
		return thatMethod.call(that); 
	}
}
