/*
	Roku.Pagination
*/

if(typeof(Roku) == "undefined")
    Roku = { classes : [] };

Roku.Pagination = {};

Roku.classes.push(Roku.Pagination);

Roku.Pagination.jump_to_page = function(event)
{
	if(!event)
		return;

	var charCode = event.keyCode ? event.keyCode : event.which;
	if(charCode != 13)
		return;
									
	var index = parseInt(document.form.page.value);
	
	var maxPageElement = document.getElementById("max_page");
	var maxPage = maxPageElement ? parseInt(maxPageElement.innerHTML) : -1;
	
	if(isNaN(index) || (index < 1) || (!isNaN(maxPage) && (0 < maxPage) && (maxPage < index)))
	{
		Roku.Util.eventCancel(event);		// invalid numeric value or out of range
		return;
	}
	else
		document.form.page.value = index;	// set validated value

	document.form.submit();
}

Roku.Pagination.jump_to_page_ex = function(event, pageId, max_pageId)
{
	if(!event)
		return;

	var charCode = event.keyCode ? event.keyCode : event.which;
	if(charCode != 13)
		return;

	var page = document.getElementById(pageId);
									
	var index = parseInt(page.value);
	
	var maxPageElement = document.getElementById(max_pageId);
	var maxPage = maxPageElement ? parseInt(maxPageElement.innerHTML) : -1;
	
	if(isNaN(index) || (index < 1) || (!isNaN(maxPage) && (0 < maxPage) && (maxPage < index)))
	{
		Roku.Util.eventCancel(event);		// invalid numeric value or out of range
		return;
	}
	else
		page.value = index;	// set validated value

	document.form.submit();
}

