/**
 * $Id: pagination.js 6309 2010-10-04 09:20:22Z florian $
 **/

/**
 * Pagination functions
 */

// JS Code for "go to given page" input onchange
function goToPage(pageNumber, url) {
	if (isNaN(pageNumber)) {
		alert(error_invalidParameters);
		return;
	}
	url = url.replace(/\{\$page\}/gi, pageNumber);
	document.location = url;
}

// Get key press
function getEnterKeyPress(myfield, e, paginationId, paginationUri, dec) {
	// Get Enter key press to "go to given page"
	if (e.keyCode == 13) {
		goToPage(document.getElementById('currentPage' + paginationId).value, paginationUri);
	}
	// Enable number only
	var key;
	var keychar;

	if (window.event) {
		key = window.event.keyCode;
	} else if (e) {
		key = e.which;
	} else {
		return true;
	}
	keychar = String.fromCharCode(key);

	// control keys
	if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27)) {
		return true;
	}
	// numbers
	else if ((("0123456789").indexOf(keychar) > -1)) {
		return true;
	}
	// decimal point jump
	else if (dec && (keychar == ".")) {
		myfield.form.elements[dec].focus();
		return false;
	} else {
		return false;
	}
}
