/*
 * Ajax library to allow list paging without reloading whole web page
 *
 * Requires: layer.js, ajax.js
 */
var def_ajaxPageScroll = "V1.0";								// The version of ajaxPageScroll.js

/*
 * Should be overwritten in page to point to correct values for list being displayed
 */
var holderId     = "formListHolder";								// Container for all that is generated by the remote call
var listId       = "formList";									// Container to be blanked out
var pageUrlBase  = "/forms/formlist.jsp?pageNum=";						// URL to have page number added

/*
 * Can be overwritten in page for site-specific loading image
 */
var loadingImage = "/art/arrows.gif";								// URL of loading image to display
var imageHeight  = 64;										// Height of loading image

/*
 * Must be set as onclick of links in the following manner so return values work correctly
 *
 * onclick="return moveToPage(1)"
 */
function moveToPage( pageNum )
{
  if( !testAjax() )										// Test for ajax capability
  {
    return true;										// Return true so href of link is followed
  }

  var t = getlayertop( listId ) - getlayertop( holderId );
  var l = getlayerleft( listId ) - getlayerleft( holderId );
  var w = getlayerwidth( listId );
  var h = Math.max( getlayerheight( listId ), imageHeight );
  var o = ( h - imageHeight ) / 2;

  t += ( getlayerheight( listId ) - h );							// Account for container with less height than the image

  getElt( holderId ).innerHTML += '<div id="darkBack" style="top:' + t + 'px;left:' + l + 'px;width:' + w + 'px;height:' + h + 'px"><img style="margin-top:' + o + 'px" src="' + loadingImage + '"/></div>';

  callRemote( pageUrlBase + pageNum, showPage );

  return false;											// Return false so href is not followed
}

/*
 * Back-end call must return all HTML to be put into holderId page element
 */
function showPage( data )
{
  getElt( holderId ).innerHTML = data;
}

