// FEATURES

var f = 0;
var featureTimer;
var navItems = new Array();
var	navLinks = new Array();

var numberOfFeatures = 5;
var fadeTime = 0.5;
var displayTime = 10000;

var folderPath;

var wrapperID = 'featured-wrapper';
var wrapperHoverClass = 'featured-hover';
var containerID = 'featured-items';
var featureLinkID = 'featured-link';
var navID = 'featured-nav';
var activeLinkClass = 'active';
var descriptionClass = 'featured-description';
var ajaxURL = '/includes/features.php';
	
function buildFeaturesNav() {
	navList = document.createElement('ul');
	navList.setAttribute('id',navID);
	$(wrapperID).appendChild(navList);
	for (i = 0; i < numberOfFeatures; i++) {
		pageNumber = i+1;
		navItems[i] = document.createElement('li');
		navLinks[i] = document.createElement('a');
		//navLinks[i].setAttribute('href','#');
		navLinks[i].innerHTML = pageNumber;
		navLinks[i].onclick = goToPage.bindAsEventListener(this,i,pageNumber); 
		navItems[i].appendChild(navLinks[i]);
		navList.appendChild(navItems[i]);
	}
}

function showActiveLink(activeLink) {
	navLinks = $(navID).select('a');
	for (i = 0; i < navLinks.length; i++) {
		navLinks[i].className = '';
	}
	navLinks[activeLink].className = activeLinkClass;
}

function goToPage(e,activeLink,pageNumber) { 
	clearTimeout(featureTimer);
	showActiveLink(activeLink);
	f = pageNumber-1;
	featureFader();
	return false;
}

function featureFader() {
	new Effect.Fade(containerID,{duration:fadeTime,afterFinish:getFeature});	
}

function makeClickable() {
	$(containerID).onmouseover = function() {
		$(wrapperID).className = wrapperHoverClass;
		clearTimeout(featureTimer);
	};
	$(containerID).onmouseout = function() {
		$(wrapperID).className = '';
		startTimer();
	};
	$(containerID).onclick = function() {
		featureLink = $(featureLinkID);
		featureLink = featureLink.getAttribute('href');
		window.location.href = featureLink;
	};	
}

function getFeature() {
	f++;
	if (f > numberOfFeatures) f = 1;
	new Ajax.Updater(containerID,ajaxURL+'?f='+f+'&p='+folderPath,{
		onComplete:function(){ 
			new Effect.Appear(containerID,{duration:fadeTime});
			makeClickable();
			}
		});	
	if (numberOfFeatures > 1) {
		activeLink = f-1;
		showActiveLink(activeLink);
		clearTimeout(featureTimer);
		startTimer();
	}
}

function startTimer() {
	featureTimer = setTimeout(featureFader,displayTime);
}

// ONLOAD

function initFeatures() {
	if (numberOfFeatures > 1) {
		buildFeaturesNav();
	}
	getFeature();
}
