var content = '';
var current = 0;
var total = 0;
var mod = 0;

function setPager() {
	if(current == 0) {
		$("#prev").addClass("dim").removeAttr("href");
		$("#next").removeClass("dim").attr("href","javascript:next()");
	} else if(current == total - 1) {
		$("#prev").removeClass("dim").attr("href","javascript:prev()");
		$("#next").addClass("dim").removeAttr("href");
	} else {
		$("#prev").removeClass("dim").attr("href","javascript:prev()");
		$("#next").removeClass("dim").attr("href","javascript:next()");
	}
	$("ul.linklist li").removeClass("lit");
	$("#link-"+Math.floor(current)).addClass("lit");
}

function transition() {
	$("#page-"+mod).hide();
	$("#page-"+(mod + 1)%2).html(content).fadeIn();
	mod = (mod+1)%2;
}

function next(skipBio) {
// cache has been loaded
if($("#nextPage div[@name = front-"+Math.floor(current+1)+"]").text() != "") {
	if(skipBio) {
		content = $("#nextPage").html();
		transition();
		loadCache(Math.floor(current)+1);
		current = Math.floor(current)+1;
	} else if (current % 1 == 0) {
		content = $("#currBio").html();
		transition();
		loadCache(Math.floor(current+.5));
		current = current+.5;
	} else {
		content = $("#nextPage").html();
		transition();
		loadCache(current+.5);
		current = current+.5;
	}
	setPager();
}
}

function prev(skipBio) {
if($("#prevPage div[@name = front-"+Math.floor(current-1)+"]").text() !="") {
	if(skipBio) {
		content = $("#prevPage").html();
		transition();
		loadCache(Math.floor(current)-1);
		current = Math.floor(current)-1;
	} else if (current % 1 == 0) {
		content = $("#prevBio").html();
		transition();
		loadCache(Math.floor(current-.5));
		current = current-.5;
	} else {
		content = $("#currPage").html();
		transition();
		loadCache(current-.5);
		current = current-.5;
	}
	setPager();
}
}

function loadPage(pageNum) {
	// next, use cache
	if(pageNum == Math.floor(current)+1) {
		next(1);
	// prev, use cache
	} else if (Math.floor(pageNum) == Math.floor(current)-1) {
		prev(1);
	} else {
		$("#page-"+mod).hide();
		loadCache(pageNum,1);
	}
	current = pageNum;
	setPager();
}

function loadCache(pageNum, current) {
	$.get("http://www.truthmove.org/resources/data-911voices/"+pageNum,
		function(data) {
			var prev = $("#"+(pageNum-1)+"/div[@name=pic]",data).html();
			var next = $("#"+(pageNum+1)+"/div[@name=pic]",data).html();
			content = $("#"+pageNum+"/div[@name=pic]",data).html();
			var bio = $("#"+pageNum+"/div[@name=bio]",data).html();
			var nextbio = $("#"+(pageNum+1)+"/div[@name=bio]",data).html();
			var prevbio = $("#"+(pageNum-1)+"/div[@name=bio]",data).html();
			$("#prevPage").html(prev);
			$("#nextPage").html(next);
			$("#currPage").html(content);
			$("#nextBio").html(nextbio);
			$("#prevBio").html(prevbio);
			$("#currBio").html(bio);
			if(current==1) {
				transition();
			}				
			total = parseInt($("#page-total",data).text());
		}
	);
}

$(document).ready(
	function(){
		loadPage(parseInt($("#handle-id").html()));
	}
);
