/*
================================================================================
Website:	South Dakota Flavor
Author:	BIT Development
Date:	Monday, November 1, 2010
Notes:	N/A
================================================================================
*/

/*
================================================================================
Rotating images
================================================================================
*/

var rotatingImages = {};

function $(i) {
	return document.getElementById(i);
}

function $$(e, p) {
	p = p || document;
	return p.getElementsByTagName(e);
}

rotatingImages.showImages = function(n) {
	this.infoSpeed = this.imgSpeed = this.speed = 10;
	this.thumbOpacity = this.navHover = 70;
	this.navOpacity = 25;
	this.scrollSpeed = 5;
	this.letterbox = "#000000";
	this.n = n;
	this.c = 0;
	this.a = [];
};

rotatingImages.showImages.prototype = {
	init:function(s, z, b, f, q) {
	s = $(s);
	var m = $$("li",s);
	var i = 0;
	var w = 0;
	this.l = m.length;
	this.q = $(q);
	this.f = $(z);
	this.r = $(this.info);
	this.o = parseInt(rotatingImages.style.val(z, "width"));
	
	if (this.thumbs) {
		var u = $(this.left);
		var r = $(this.right);
		u.onmouseover = new Function("rotatingImages.scroll.init('" + this.thumbs + "', -1, " + this.scrollSpeed + ")");
		u.onmouseout = r.onmouseout = new Function("rotatingImages.scroll.cl('" + this.thumbs + "')");
		r.onmouseover = new Function("rotatingImages.scroll.init('" + this.thumbs + "', 1, " + this.scrollSpeed + ")");
		this.p = $(this.thumbs);
	}
	
	for (i; i < this.l; i++) {
		this.a[i] = {};
		var h = m[i];
		var a = this.a[i];
		a.t = $$("h3", h)[0].innerHTML;
		a.d = $$("p", h)[0].innerHTML;
		a.l = $$("a", h)[0] ? $$("a", h)[0].href : "";
		a.p = $$("span", h)[0].innerHTML;
		if (this.thumbs) {
			var g = $$("img", h)[0];
			this.p.appendChild(g);
			w += parseInt(g.offsetWidth);
			if (i !=this.l -1) {
				g.style.marginRight = this.spacing + "px";
				w += this.spacing;
			}
			
			this.p.style.width = w + "px";
			g.style.opacity = this.thumbOpacity / 100;
			g.style.filter = "alpha(opacity = " + this.thumbOpacity + ")";
			g.onmouseover = new Function("rotatingImages.alpha.set(this, 100, 5)");
			g.onmouseout = new Function("rotatingImages.alpha.set(this, " + this.thumbOpacity + ", 5)");
			g.onclick = new Function(this.n + ".pr(" + i + ", 1)");
		}
	}
		if (b && f) {
			b = $(b);
			f = $(f);
			b.style.opacity = f.style.opacity = this.navOpacity / 100;
			b.style.filter = f.style.filter = "alpha(opacity=" + this.navOpacity + ")";
			b.onmouseover = f.onmouseover = new Function("rotatingImages.alpha.set(this, " + this.navHover + ", 5)");
			b.onmouseout = f.onmouseout = new Function("rotatingImages.alpha.set(this, " + this.navOpacity + ", 5)");
			b.onclick = new Function(this.n + ".mv(-1, 1)");
			f.onclick = new Function(this.n + ".mv(1, 1)");
		}
		this.auto ? this.is(0, 0) : this.is(0, 1);
	},
	mv:function(d, c) {
		var t = this.c+d;
		this.c = t = t < 0 ? this.l - 1 : t > this.l - 1 ? 0 : t;
		this.pr(t, c);
	},
	pr:function(t, c) {
		clearTimeout(this.lt);
		if (c) {
			clearTimeout(this.at);
		}
		this.c = t;
		this.is(t, c);
	},
	is:function(s, c) {
		if (this.info) {
			rotatingImages.height.set(this.r, 1, this.infoSpeed / 2, -1)
		}
		var i = new Image();
		i.style.opacity = 0;
		i.style.filter = "alpha(opacity = 0)";
		this.i = i;
		i.onload = new Function(this.n + ".le(" + s + ", " + c + ")");
		i.src = this.a[s].p;
		
		if (this.thumbs) {
			var a = $$("img", this.p);
			var l = a.length;
			var x = 0;
			for (x; x < l; x++) {
				a[x].style.borderColor = x != s ? "" : this.active;
			}
		}
	},
	le:function(s, c) {
		this.f.appendChild(this.i);
		var w = this.o - parseInt(this.i.offsetWidth);
		
		if (w > 0) {
			var l = Math.floor(w / 2);
			this.i.style.borderLeft = l + "px solid " + this.letterbox;
			this.i.style.borderRight = (w - l) + "px solid " + this.letterbox;
		}
		rotatingImages.alpha.set(this.i, 100, this.imgSpeed);
		var n = new Function(this.n + ".nf(" + s + ")");
		this.lt = setTimeout(n, this.imgSpeed * 100);
		if (!c) {
			this.at = setTimeout(new Function(this.n + ".mv(1, 0)"), this.speed * 1000)
		}
		if (this.a[s].l != "") {
			this.q.onclick = new Function("window.location = '" + this.a[s].l + "'");
			this.q.onmouseover = new Function("this.className='" + this.link + "'");
			this.q.onmouseout = new Function("this.className=''");
			this.q.style.cursor = "pointer";
		} else {
			this.q.onclick = this.q.onmouseover = null;
			this.q.style.cursor = "default";
		}
		
		var m = $$("img", this.f);
		if (m.length > 2) {
			this.f.removeChild(m[0]);
		}
	},
	nf:function(s) {
		if (this.info) {
			s = this.a[s];
			$$("h3", this.r)[0].innerHTML = s.t;
			$$("p", this.r)[0].innerHTML = s.d;
			this.r.style.height = "auto";
			var h = parseInt(this.r.offsetHeight);
			this.r.style.height = 0;
			rotatingImages.height.set(this.r, h, this.infoSpeed, 0);
		}
	}
};

rotatingImages.scroll = function() {
	return {
		init:function(e, d, s) {
			e = typeof e == "object" ? e : $(e);
			var p = e.style.left || rotatingImages.style.val(e, "left");
			e.style.left = p;
			var l = d == 1 ? parseInt(e.offsetWidth) - parseInt(e.parentNode.offsetWidth) : 0;
			e.si = setInterval(function() { rotatingImages.scroll.mv(e, l, d, s) }, 20);
		},
		mv:function(e, l, d, s) {
			var c = parseInt(e.style.left);
			if (c == l) {
				rotatingImages.scroll.cl(e);
			} else {
				var i = Math.abs(l + c);
				i = i < s ? i : s;
				var n = c - i * d;
				e.style.left = n + "px";
			}
		},
		cl:function(e) {
			e = typeof e == "object" ? e : $(e);
			clearInterval(e.si);
		}
	}
}();

rotatingImages.height = function() {
	return {
		set:function(e, h, s, d) {
			e = typeof e == "object" ? e : $(e);
			var oh = e.offsetHeight;
			var ho = e.style.height || rotatingImages.style.val(e, "height");
			ho = oh - parseInt(ho);
			var hd = oh - ho > h ? -1 : 1;
			clearInterval(e.si);
			e.si = setInterval(function() { rotatingImages.height.tw(e, h, ho, hd, s) }, 20);
		},
		tw:function(e, h, ho, hd, s) {
			var oh = e.offsetHeight-ho;
			if (oh == h) {
				clearInterval(e.si);
			} else {
				if (oh != h) {
					e.style.height = oh + (Math.ceil(Math.abs(h - oh) / s) * hd) + "px";
				}
			}
		}
	}
}();

rotatingImages.alpha = function() {
	return {
		set:function(e, a, s) {
			e = typeof e == "object" ? e : $(e);
			var o = e.style.opacity || rotatingImages.style.val(e,"opacity");
			var d = a > o * 100 ? 1 : -1;
			e.style.opacity = o;
			clearInterval(e.ai);
			e.ai = setInterval(function(){ rotatingImages.alpha.tw(e, a, d, s) }, 20)
		},
		tw:function(e, a, d, s) {
			var o = Math.round(e.style.opacity * 100);
			if (o == a) {
				clearInterval(e.ai);
			} else {
				var n = o + Math.ceil(Math.abs(a - o) / s) * d;
				e.style.opacity = n / 100;
				e.style.filter = "alpha(opacity=" + n + ")";
			}
		}
	}
}();

rotatingImages.style = function() {
	return {
		val:function(e, p) {
			e = typeof e == "object" ? e : $(e);
			return e.currentStyle ? e.currentStyle[p] : document.defaultView.getComputedStyle(e, null).getPropertyValue(p);
		}
	}
}();

/*
================================================================================
*/

