/* the good old write range dropdown menu  -- jjones



   requires: writeRange_perPage
             writeRange_totalResults
	     a previously created writeRangeForm object
	     called writeRangeSearchParams, with properties
	     containing the form options


   create the objects above and then call

   writeRange (document,writeRange_perPage,writeRange_totalResults);

   from within a form tag.

   the script writes a select box of class "writeRangeSelect"


 */

// search results functions -- jjones

function writeRangeNew( d, start, maxResults, maxCount )
{
  var target = document.getElementById('rangeBlock');
  if ( (!target) || (start == null) ) { return false } 


  clean(target);

  var select = document.createElement('select');
  select.name='page';

  addEvent(select,'change', submit );
  target.appendChild(select);

  var counter = 1;
  var page = 1;

  for ( 1; counter <= maxCount; counter = counter + maxResults )
  {
    var exit = ( counter + maxResults ) - 1;
    if ( exit >= maxCount ) { exit = maxCount }

    var opt = new Option( counter + ' to ' + exit, page );
    if ( counter == exit ) opt = new Option( counter, page );
    

    select.options[select.options.length] = opt;
    if ( page == start )
    {
        select.options[page -1].selected = true;
    }
	page++;
  }

}

function submit(e)
{
    var targ;
    if (!e) var e = window.event;
    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;
    else targ = e;
    if (targ.nodeType == 3) // defeat Safari bug
        targ = targ.parentNode;

   targ.form.submit();
}

range_init = false;

addEvent( document, 'load', init_range );
addEvent( window, 'load', init_range );


function init_range()
{
   if ( range_init ) { return true }
   range_init = true;

   writeRange( document,  writeRange_perPage, writeRange_totalResults );

}


function writeRangeForm () { ; }

function writeRange (d, perPage, myTotalResults) {
    var thisQUE = new String (d.location.href.substr(d.location.href.indexOf('?')+1));
    var thisQAR = thisQUE.split("&");
    var thisBAS = 0;
    for (var i=0; i<thisQAR.length && thisBAS==0; ++i) {
	var thisPair = thisQAR[i].split('=');
	if (thisPair[0] == 'page') thisBAS = parseInt(thisPair[1]);
    }
    thisBAS = current_page;
    writeRangeNew(d, thisBAS, perPage, myTotalResults);
    return;
}

