var numberOfPage = 10;
var totalPage;
var startPage = 1;
var endPage = 10;
var curPage;
// This function must be called before using other functions
function init(sPage, nPage, tPage, cPage) 
{
	startPage = sPage;
	numberOfPage = nPage;
	totalPage = tPage;
	curPage = cPage;
	endPage = startPage + numberOfPage - 1;
	if (endPage > totalPage)
		endPage = totalPage;
	
	if (totalPage > 1)	checkPage();
}
function gotoPage(page)
{
	if (page == startPage)	return;
	startPage = page;
	for (var i = 1; i <= numberOfPage; i++)
	{
		var t = document.getElementById(i);
		if (t == null)
			break;
		if (page <= totalPage) {
			t.innerHTML = "&nbsp;" + page;
		}
		else {
			t.innerHTML = "";
		}
		
		page++;
	}
	endPage = page - 1;
	if (endPage > totalPage)	endPage = totalPage;
	
	checkPage();
}

function checkPage() {
	if (startPage > 1) {
		document.getElementById('first').style.textDecoration = 'underline';
		document.getElementById('previous').style.textDecoration = 'underline';
	}
	else {
		document.getElementById('first').style.textDecoration = 'none';
		document.getElementById('previous').style.textDecoration = 'none';
	}
	if (endPage < totalPage) {
		document.getElementById('next').style.textDecoration = 'underline';
		document.getElementById('last').style.textDecoration = 'underline';
	}
	else {
		document.getElementById('next').style.textDecoration = 'none';
		document.getElementById('last').style.textDecoration = 'none';
	}
	for (var i = startPage; i <= endPage; i++) {
		if (i == curPage)
			document.getElementById(i - startPage + 1).style.fontWeight = 'bold';
		else
			document.getElementById(i - startPage + 1).style.fontWeight = 'normal';
	}
}
function nextPage()
{
	if (endPage == totalPage)	return;
	gotoPage(endPage + 1);
}
function previousPage()
{
	if (startPage == 1) return;
	if (startPage > numberOfPage)
		gotoPage(startPage - numberOfPage);
	else
		gotoPage(1);
}
function toStartPage()
{
	gotoPage(1);
}
function toEndPage()
{
	if (totalPage <= numberOfPage)
		return;
	gotoPage(totalPage - numberOfPage + 1)
}
