var imageScroller = {
	imagesArray: Array(),
	imageElem: null,
	scrollContainer: null,
	imageNav: null,
	active: false,
	navLinks:Array(),
	
	setup: function(){
		if(this.scrollContainer){
			//create image element
			this.scrollContainer = $(this.scrollContainer);
			this.imageElem = document.createElement("img");
			this.scrollContainer.appendChild(this.imageElem);
			
			//setup navigation links
			this.imageNav = $(this.imageNav);
			if(this.imageNav.length <= 1){
				return;
			}
			for(var i = 0; i < this.imagesArray.length; i++){
				//preload images
				var preloadimage = document.createElement("img");
				preloadimage.style.display = "none";
				preloadimage.src = this.imagesArray[i];
				this.scrollContainer.appendChild(preloadimage);
				
				var listElem = document.createElement("li");
				var link = document.createElement("a");
				link.href= "#";
				link.innerHTML = i + 1;
				
				link.onclick = function(){
					imageScroller.showImage(this, true);
					return false;
				};
				
				this.navLinks[i] = link;
				listElem.appendChild(link);
				this.imageNav.appendChild(listElem);
			}
			
			//display first image
			this.showImage(this.navLinks[0], false);
			
		}
	},
	
	showImage: function(linkObj, fade){
		if(this.active){
			return;
		}
		if(fade){
			//this.imageElem.setStyle("visibility", "hidden");
			this.imageElem.style.visibility = "hidden";
		}
		index = parseInt(linkObj.innerHTML) - 1;
		for(var j = 0; j < this.imageNav.childNodes.length; j++){
			if(this.imageNav.childNodes[j].nodeName == "LI"){
				this.imageNav.childNodes[j].firstChild.className = "";
			}
		}								
		//linkObj.addClass("curr");
		linkObj.className = "curr";

		this.imageElem.src = this.imagesArray[index];
		if(fade){
			this.active = true;
			var effect = new Fx.Style(this.imageElem, "opacity", {duration: 1000, onComplete: function(){this.active = false}.bind(this)});
			effect.start(0, 1);
		}
		return true;
	}
}
