/**
 * @author christopher
 * 
 * slide:
 		[url]
 		[label]
 		[image]
 */
var SlideShow = {
	
	btn_img_path: "/media/structure/widgets/SlideShow/btns/",
	overlay_image: "/media/structure/widgets/SlideShow/overlay.png",
	clickmask_image: "/media/structure/clear.gif",
	preload: true,
	
	slides: new Array(),
	ui:0,
	image: 0,
	overlay: 0,
	clickmask: 0,
	clickmask_anchor: 0,
	label:0,
	navbar: 0,
	buttons: new Array(),
	index: -1,
	interval: 10000,
	interval_id: 0,
	
	init: function() {
		getElement("front_feature_overlay_img").src = this.overlay_image;
		this.image = getElement("front_feature");
		this.overlay = getElement("front_feature_overlay");
		this.clickmask = getElement("front_feature_ui_clickmask");
		this.clickmask_anchor = getElement("front_feature_ui_clickmask_anchor");
		var clickable_image = FilledElement("img",this.clickmask_image);
		clickable_image.setAttribute("border","0");
		this.clickmask_anchor.appendChild(clickable_image);
		this.label = getElement("front_feature_ui_title");
		this.navbar = getElement("front_feature_ui_nav");
		this.ui = getElement("front_feature_ui");
		//this.move_ui();
		//setInterval("SlideShow.move_ui()",500);
	},
	
	move_ui: function() {
		var pos = Position.topLeft("front_feature");
		this.ui.style.top = pos.y + "px";
		this.ui.style.left = pos.x + "px";
	},
	
	add_slide: function(s) {
		var slidenum = this.slides.length;
		this.slides.push(s);
		if(this.preload !== false) {
			Element("img").src = s.image;
		}
		var b = Element("img");
		b.setAttribute("border","0");
		b.src = this.btn_img_path + this.slides.length + ".png";
		var a = FilledElement("a",b);
		a.setAttribute("href","javascript:SlideShow.show_slide(" + slidenum + ")");
		b.setAttribute("title",s.label);
		this.navbar.appendChild(a);
		this.buttons.push(b);
	},
	
	cycle: function() {
		this.index = (this.index + 1) < this.slides.length ? this.index + 1 : 0;
		this.show_slide(this.index);
	},
	
	show_slide: function(p) {
		if(p < this.slides.length && p >=0) {
			var slide = this.slides[p];
			this.image.style.backgroundImage = "url(" + slide.image + ")";
			this.clickmask_anchor.setAttribute("href",slide.url);
			this.clickmask_anchor.setAttribute("title",slide.label);
			this.label.innerHTML = slide.label;
			this.turn_buttons_off();
			this.index = p;
			this.turn_button_on(this.index);
			this.reset_interval();
		}
	},
	
	/* ON AND OFF ICONS HAVE BEEN FLIPFLOPPED at 2008-02-24 15:18*/
	turn_buttons_off: function() {
		for (var i = 0; i < this.buttons.length; i++) {
			this.buttons[i].src = this.btn_img_path + "on/" + (i + 1) + ".png";
		}
	},
	
	turn_button_on: function(p) {
		if(p < 0) { return; }
		this.buttons[p].src = this.btn_img_path + "" + (p+1) + ".png";
	},
	
	reset_interval: function() {
		clearInterval(this.interval_id);
		this.interval_id = setInterval("SlideShow.cycle()",this.interval);
	}
	
}
