/*
Spotlight item functionality

Author: Travis Forden, Threespot
Version: 2007-06-03
Copyright: 2007 The Brookings Institution.
*/

/* Default variables */
var spotlightLength = 0;
var lower = 0;
var upper = 3;
var spotlightId = 'spotlightItems';
var backId = 'backward';
var forwId = 'forward';
var backImg = '/i/buttons/spotlight_back.gif';
var forwImg = '/i/buttons/spotlight_forw.gif';


function startSpotlight() {
	for (i=4; i<spotlightLength; i++) {
		var changeid = "spot_" + i;
		if (document.getElementById){
			var obj = document.getElementById(changeid);
			if (obj.style.display == "none"){
				obj.style.display = "";
			} else {
				obj.style.display = "none";
			}
		}
	}
	
	buildNav();
}

function spotlightUpdate(offset) {
	lower = lower + offset;
	upper = lower + 3;
	
	if ( upper < spotlightLength - 1 ) {
		if( lower < 0 ) {
			lower = 0;
			upper = 3;
		}
	}
	else {
		upper = spotlightLength - 1 ;
		lower = upper - 3;
	}
	
	// change spotlights and update nav
	switchSpots(lower, upper);
	updateNav(lower,upper);
} 

function switchSpots(lower, upper) {
	if (document.getElementById) {
		var spotlight = document.getElementById(spotlightId);
		var spots = spotlight.getElementsByTagName("DIV");
		for (i=0;i<spots.length;i++) {
			if( spots[i].className == "spot" ) {
				spots[i].style.display = "none";
				
			}
		}
		for(i=lower;i<=upper;i++) {
			spotid = "spot_" + i;
			spot = document.getElementById(spotid);
			spot.style.display = "block";
		}
	}
}

/* set up the backward/forward buttons containers */
function buildNav() {
	if(document.createElement) {
		spotlightNav = document.getElementById("spotNav");
		
		// backward button LI
		backBtn = document.createElement("LI");
		backBtn.setAttribute("id",backId);
		spotlightNav.appendChild(backBtn);
		
		// forward button LI
		forwBtn = document.createElement("LI");
		forwBtn.setAttribute("id", forwId);
		spotlightNav.appendChild(forwBtn);
		
		showButtons();
	}
}

function showButtons() {
	isInactive = false;
	
	if(document.createElement) {
		// backward img
		backBtnImg = document.createElement("IMG");
		backBtnImg.setAttribute("src", backImg);
		backBtnImg.setAttribute("name", "go_backward");
		backBtnImg.setAttribute("alt", "Go Back");
		
		if( lower == 0 ) isInactive = true;
		else isInactive = false;
		// backward link
		if(!isInactive) {
			// add class to image for hovering
			backBtnImg.className = "imgover";

			backBtnLnk = document.createElement("A");
			backBtnLnk.setAttribute("href", "javascript:spotlightUpdate(-1)");
			backBtnLnk.appendChild(backBtnImg);
			backBtn.appendChild(backBtnLnk);
		}
		else {
			backBtn.appendChild(backBtnImg);
		}
		
		// forward button img
		forwBtnImg = document.createElement("IMG");
		forwBtnImg.setAttribute("src", forwImg);
		forwBtnImg.setAttribute("name", "go_forward");
		forwBtnImg.setAttribute("alt", "Go Forward");
		
		if( upper == spotlightLength-1 ) isInactive = true;
		else isInactive = false;
		// forward link
		if(!isInactive) {
			// add class to image for hovering
			forwBtnImg.className = "imgover";
		
			forwBtnLnk = document.createElement("A");
			forwBtnLnk.setAttribute("href", "javascript:spotlightUpdate(1)");
			forwBtnLnk.appendChild(forwBtnImg);
			forwBtn.appendChild(forwBtnLnk);
		}
		else {
			forwBtn.appendChild(forwBtnImg);
		}
		
		initRollovers("imgover");
	}
}

function updateNav(lower, upper) {
	deleteAllChildren(document.getElementById(backId));
	deleteAllChildren(document.getElementById(forwId));
	
	showButtons();
	initRollovers("imgover");
}

function deleteAllChildren(elObj) {
	while (elObj.hasChildNodes()) elObj.removeChild(elObj.firstChild);
}