// JavaScript Document
var JQ = jQuery.noConflict();

JQ(document).ready(function() {
	JQ.ajax({
		type: "GET",
		url: "homeXml.php",
		dataType: "xml",
		success: parseXml
	});
});

var currentBook = 0;
var currentMovie = 0;
var currentPub = 0;

var books = new Array();
var movies = new Array();
var pubs = new Array();

// interval in milliseconds
var ROTATION_INTERVAL = 15000;
var FADE_SPEED = 600;
var GAP = 500;
var FADE_IN_DELAY = 500;

function parseXml(xml) {
	JQ(xml).find("book").each(function() {
		var name = JQ(this).attr("name");
		var author = JQ(this).attr("author");
		var comment = JQ(this).attr("comment");
		var href = JQ(this).attr("link");
		
		newBook = removeSlashes(name + ", " + author);
		
		if(comment != null && comment != "") {
			newBook += "<br/><a href='" + href + "'>" + removeSlashes("&quot;" + comment + "&quot;") + "</a>";
		}
		
		books[books.length] = newBook;
	});
	
	JQ(xml).find("movie").each(function() {
		var name = JQ(this).attr("name");
		var comment = JQ(this).attr("comment");
		var href = JQ(this).attr("link");
		
		newMovie = removeSlashes(name);
		
		if(comment != null && comment != "") {
			newMovie += "<br/><a href='" + href + "'>" + removeSlashes("&quot;" + comment + "&quot;") + "</a>";
		}
		
		movies[movies.length] = newMovie;
	});
	
	JQ(xml).find("pub").each(function() {
		var name = JQ(this).attr("name");
		var loc = JQ(this).attr("location");
		var href = JQ(this).attr("link");
		
		pubs[pubs.length] = "Recommended Keeper of the Flame Pub<br/><a href='" + href + "'>" + removeSlashes(name + ", " + loc) + "</a>";
	});	
	
	//setTimeout("fadeOutLinks()", ROTATION_INTERVAL);
	setTimeout("fadeOutLinks()", ROTATION_INTERVAL);
}

// fade out all links
function fadeOutLinks() {
	JQ("#selectedBook").fadeOut(FADE_SPEED);
	JQ("#selectedMovie").fadeOut(FADE_SPEED);
	JQ("#selectedPub").fadeOut(FADE_SPEED);

	setTimeout("fadeInBookLink()", FADE_IN_DELAY);
	setTimeout("fadeInMovieLink()", GAP + FADE_IN_DELAY);
	setTimeout("fadeInPubLink()", 2*GAP + FADE_IN_DELAY);
}

function fadeInBookLink() {	
	// change text
	JQ("#selectedBook").html(books[currentBook]);
	
	// fade it in
	JQ("#selectedBook").fadeIn(FADE_SPEED);
	
	// reset/increment the counter
	if(currentBook == books.length-1) {
		currentBook = 0;
	}
	else {
		currentBook++;
	}
}

function fadeInMovieLink() {
	JQ("#selectedMovie").html(movies[currentMovie]);
	JQ("#selectedMovie").fadeIn(FADE_SPEED);
	
	if(currentMovie == movies.length-1) {
		currentMovie = 0;
	}
	else {
		currentMovie++;
	}
}

function fadeInPubLink() {
	JQ("#selectedPub").html(pubs[currentPub]);
	JQ("#selectedPub").fadeIn(FADE_SPEED);
	
	// set up next rotation
	setTimeout("fadeOutLinks()", ROTATION_INTERVAL);
	
	if(currentPub == pubs.length-1) {
		currentPub = 0;
	}
	else {
		currentPub++;
	}
}

function removeSlashes(s) {
	if(s.indexOf("\\") > -1) {
		return s.split("\\").join("");
	}
	else {
		return s;
	}
}