// Talk Pagination
var gotTalk = function(o) {
	var json = eval("(" + o.responseText + ")") ;

	var nList		= json['l'];
	var nDate		= json['d'];
	var nHref		= json['h'];
	var nClass		= json['c'];
	var nPage		= Number(json['p']);
	var num_pages	= Number(json['n']);

	var lis="";
	var i=0;
	for(i=0; i<nList.length; i++) {
		lis += "<li class=\"" + nClass[i] + "\"><a href=\"" + nHref[i] + "\">" + nList[i] + "<br />\n";
		lis += "<span class=\"date\">" + nDate[i] + "</span></a></li>\n";
	}

	var ul = document.getElementById('talk-list');
	ul.innerHTML = lis;

	var prev_page	= (nPage <= 1) ? 1 : nPage-1;
	var next_page	= (nPage >= num_pages) ? num_pages : nPage+1;

	var pl = document.getElementById('talk-list_prev-link');
	var nl = document.getElementById('talk-list_next-link');

	pl.href = pl.href.replace(/\/page\/\d+/, "/page/"+prev_page);
	nl.href = nl.href.replace(/\/page\/\d+/, "/page/"+next_page);

	if (nPage <= 1) {
		YAHOO.util.Dom.addClass(pl, "disabled");
	} else if (YAHOO.util.Dom.hasClass(pl, "disabled")) {
		YAHOO.util.Dom.removeClass(pl, "disabled");
	}

	if (nPage >= num_pages) {
		YAHOO.util.Dom.addClass(nl, "disabled");
	} else if (YAHOO.util.Dom.hasClass(nl, "disabled")) {
		YAHOO.util.Dom.removeClass(nl, "disabled");
	}
}

var talkNavigationHandler = function(e) {
	var page = this.href.match(/\/page\/(\d+)/);
	var url = "/assets/scripts/talk_page.php?page="+page[1];
	
	if (this.href.match(/admin|edit|add/)) {
		url += "&admin=true";
	}
	
	YAHOO.util.Connect.asyncRequest('GET', url, talkCallback, null);
	YAHOO.util.Event.preventDefault(e);
	return false;
}

var talkCallback = {
	success: gotTalk,
	failure: function() {}
}

// Work Pagination
var gotWork = function(o) {
	var json = eval("(" + o.responseText + ")") ;

	var wList		= json['l'];
	var wDate		= json['d'];
	var wHref		= json['h'];
	var wClass		= json['c'];
	var wPage		= json['p'];
	var num_pages	= json['n'];
	
	var lis="";
	var i=0;
	for(i=0; i<wList.length; i++) {
		lis += "<li class=\"" + wClass[i] + "\"><a href=\"" + wHref[i] + "\">" + wList[i] + "<br />\n";
		lis += "<span class=\"date\">" + wDate[i] + "</span></a></li>\n";
	}

	var ul = document.getElementById('work-list');
	ul.innerHTML = lis;

	var prev_page	= (wPage <= 1) ? 1 : Number(wPage)-1;
	var next_page	= (wPage >= num_pages) ? num_pages : Number(wPage)+1;

	var pl = document.getElementById('work-list_prev-link');
	var nl = document.getElementById('work-list_next-link');

	pl.href = pl.href.replace(/\/page\/\d+/, "/page/"+prev_page);
	nl.href = nl.href.replace(/\/page\/\d+/, "/page/"+next_page);

	if (wPage <= 1) {
		YAHOO.util.Dom.addClass(pl, "disabled");
	} else if (YAHOO.util.Dom.hasClass(pl, "disabled")) {
		YAHOO.util.Dom.removeClass(pl, "disabled");
	}
	
	if (wPage >= num_pages) {
		YAHOO.util.Dom.addClass(nl, "disabled");
	} else if (YAHOO.util.Dom.hasClass(nl, "disabled")) {
		YAHOO.util.Dom.removeClass(nl, "disabled");
	}
}

var workNavigationHandler = function(e) {
	var page = this.href.match(/\/page\/(\d+)/);
	var url = "/assets/scripts/work_page.php?page="+page[1];
	
	if (this.href.match(/admin|edit|add/)) {
		url += "&admin=true";
	}
	
	YAHOO.util.Connect.asyncRequest('GET', url, workCallback, null);
	YAHOO.util.Event.preventDefault(e);
	return false;
}

var workCallback = {
	success: gotWork,
	failure: function() {}
}

// Gallery Pagination
var gotGallery = function(o) {
	var json = eval("(" + o.responseText + ")") ;

	var gList		= json['l'];
	var gHref		= json['h'];
	var gClass		= json['c'];
	var gPage		= json['p'];
	var num_pages	= json['n'];
	
	var lis="";
	var i=0;
	for(i=0; i<gList.length; i++) {
		lis += "<li class=\"" + gClass[i] + "\"><a href=\"" + gHref[i] + "\">" + gList[i] + "<br />\n";
	}

	var ul = document.getElementById('gallery-list');
	ul.innerHTML = lis;

	var prev_page	= (gPage <= 1) ? 1 : Number(gPage)-1;
	var next_page	= (gPage >= num_pages) ? num_pages : Number(gPage)+1;

	var pl = document.getElementById('gallery-list_prev-link');
	var nl = document.getElementById('gallery-list_next-link');

	pl.href = pl.href.replace(/\/page\/\d+/, "/page/"+prev_page);
	nl.href = nl.href.replace(/\/page\/\d+/, "/page/"+next_page);

	if (gPage <= 1) {
		YAHOO.util.Dom.addClass(pl, "disabled");
	} else if (YAHOO.util.Dom.hasClass(pl, "disabled")) {
		YAHOO.util.Dom.removeClass(pl, "disabled");
	}
	
	if (gPage >= num_pages) {
		YAHOO.util.Dom.addClass(nl, "disabled");
	} else if (YAHOO.util.Dom.hasClass(nl, "disabled")) {
		YAHOO.util.Dom.removeClass(nl, "disabled");
	}
}

var galleryNavigationHandler = function(e) {
	var page = this.href.match(/\/page\/(\d+)/);
	var url = "/assets/scripts/gallery_page.php?page="+page[1];
	
	if (this.href.match(/admin|edit|add/)) {
		url += "&admin=true";
	}
	YAHOO.util.Connect.asyncRequest('GET', url, galleryCallback, null);
	YAHOO.util.Event.preventDefault(e);
	return false;
}

var galleryCallback = {
	success: gotGallery,
	failure: function() {}
}

YAHOO.util.Event.addListener(['talk-list_prev-link', 'talk-list_next-link'], 'click', talkNavigationHandler);
YAHOO.util.Event.addListener(['work-list_prev-link', 'work-list_next-link'], 'click', workNavigationHandler);
YAHOO.util.Event.addListener(['gallery-list_prev-link', 'gallery-list_next-link'], 'click', galleryNavigationHandler);
