/**
* Sets up initial onclick functions for article body pagination
*/
function initArticleBodyPaging() {
	if ($(".articlepage").length < 2) {
		// no article body pagination
		if ($(".paging").length > 0) {
		    $(".paging")[0].className = "paging singlePage";
	    }
		return;
	}
	
	// get page value
	var pageStr = getURLQueryParameter("page");
	var page = parseInt(pageStr);
	if (!page || page < 1 || page > $(".articlepage").length) {
		// page is NaN or out of range, so set to 1
		page = 1;
	}
	
	gotoArticleBodyPage(page);
}

/**
* Show page and update pagination utility
* @param page
*/
function gotoArticleBodyPage(page) {
	var i;

	var articlePages = $(".articlepage");
	numOfPages = articlePages.length;
	
	// create base url
	var loc = window.location;
	var baseURL = loc.protocol + "//" + loc.hostname + loc.pathname
	var nameValDict = getURLQueryParameters();
	var search = "";
	jQuery.each(nameValDict, function(i, val) {
		if (i != "page") {
			search += i + "=" + val + "&"
		}
	});
	baseURL += "?" + search + "page=";
	
	// create and insert current page text
	if ($(".currPage").length > 0) {
		$(".currPage")[0].innerHTML = "page " + page + " of " + numOfPages;
	}
	
	// create and insert new pagination
	var paginationHTML = "<ul>";
	if (page != 1) {
		paginationHTML += "<li><a href=\"" + baseURL + (page - 1) + "\">&lt; Prev</a></li>";
	}
	for (i = 1; i <= numOfPages; i++) {
		if (page != i) {
			paginationHTML += "<li><a href=\"" + baseURL + i + "\">" + i + "</a></li>";
		} else {
			paginationHTML += "<li class=\"active\">" + i + "</li>";
		}
	}
	if (page != numOfPages) {
		paginationHTML += "<li><a href=\"" + baseURL + (page + 1) + "\">Next &gt;</a></li>";
	}
	paginationHTML += "</ul><br class=\"clear\" />";
	if ($(".paging").length > 0) {
		$(".paging")[0].innerHTML = paginationHTML;
	}
	
	// show article body page
	jQuery.each(articlePages, function () {
		$(this).addClass("hide");
	});
	$(articlePages[page - 1]).removeClass("hide");
}
