var features = Array(4);
var currentFeature = 0;
var running = true;
var featureRotate = null;

function Feature(image, title, body, url, url_title, extra_urls, show_titlebar)
{
	this.image = image;
	this.title = title;
	this.body = body;
	this.url = url;
	this.url_title = url_title;
	this.extra_urls = extra_urls;
	
	this.load = function() {
		
		if(show_titlebar == 0){
		document.getElementById('feature_text').style.display = "none";
		}else{
		document.getElementById('feature_text').style.display = "block";
		}
		
		document.getElementById('feature').style.backgroundImage = "url("+this.image+")";
		document.getElementById('feature-title').innerHTML = this.title;
		document.getElementById('feature-body').innerHTML = this.body;
		document.getElementById('feature-link').innerHTML = '<a href="'+this.url+'">'+this.url_title+'</a>';
		document.getElementById('feature-extra').innerHTML = this.extra_urls;
	};
}

function nextFeature()
{
	currentFeature = currentFeature == 3 ? 0 : currentFeature + 1;
	loadFeature(currentFeature, true);
}

function rotatorStart()
{
	running = true;
	featureRotate = window.setInterval("nextFeature()", 7000);
	d=document.getElementById('feature-status');
	d.childNodes[0].src="http://network.djrythem.com/img/icons/loading.gif";
	CEvent.remove(d, "click", rotatorStart);
}

function rotatorStop()
{
	running = false;
	clearInterval(featureRotate);
	d=document.getElementById('feature-status');
	d.childNodes[0].src="http://network.djrythem.com/img/icons/play.png";
	CEvent.add(d, "click", rotatorStart);
}

function loadFeature(num, auto)
{
	if (!auto && running)
	{
		rotatorStop();
	}

	currentFeature = num;
	features[num].load();

	var tabRoot=document.getElementById("rotator-tabs");
	for(i=0;i<tabRoot.childNodes.length;i++) {
		node=tabRoot.childNodes[i];
		if(node.nodeName=="LI"){
			node.childNodes[0].className='';
		}
	}
	tabRoot.childNodes[num].childNodes[0].className='on';

	return false;
}

var CEvent = {
	Features: {
		EventListener: window.addEventListener,
		AttachEvent: window.attachEvent
	},
	add: function(obj, eventType, fn) {
		if (this.Features.EventListener) {
			obj.addEventListener(eventType, fn, false);
			return true;
		}
		else if (this.Features.AttachEvent) {
			return obj.attachEvent("on"+eventType, fn);
		}
		else {
			return false;
		}
	},
	remove: function(obj, eventType, fn) {
		if (this.Features.EventListener) {
			obj.removeEventListener(eventType, fn, false);
			return true;
		}
		else if (this.Features.AttachEvent) {
			return obj.detachEvent("on"+eventType, fn);
		}
		else {
			return false;
		}
	},
	get: function(e) {
		return (e) ? e : ((window.event) ? window.event : false);
	},
	getTarget: function(e) {
		return (e.target) ? e.target : e.srcElement;
	},
	cancelBubble: function(e) {
		e = CEvent.get(e);
		if (e.stopPropogation) {
			e.stopPropogation();
            e.preventDefault();
		}
		else {
			e.cancelBubble = true;
		}
	}
};
