

var ajax;


function ru(obj,id)
{
   ajax = new sack();
   ajax.requestFile = 'sessrec.php?phpsessid=' + get_cookie('PHPSESSID') + '&id=' + id + '&status=' + obj.checked;
   ajax.runAJAX();
}


function gopage(p)
{
   var keyp = document.createElement('input');
   keyp.id = "page";
   keyp.name = "page";
   keyp.type = "hidden";
   keyp.value = p;
   document.searchform.appendChild(keyp);
   document.searchform.submit();
}


function showres()
{
   var keyp = document.createElement('input');
   keyp.id = "toggle_resdisp";
   keyp.name = "toggle_resdisp";
   keyp.type = "hidden";
   keyp.value = "1";
   document.searchform.appendChild(keyp);
   document.searchform.submit();
}


function delete_history(sid)
{
   var keyp = document.createElement('input');
   keyp.id = "delhist";
   keyp.name = "delhist";
   keyp.type = "hidden";
   keyp.value = sid;
   document.deletehist.appendChild(keyp);
   document.deletehist.submit();
}


function chk_search_text(f)
{
/*
   var txt;

   txt = trim(f.search_text.value);
   if (txt == '') {
      alert('Enter search string.');
      return false;
   }
*/
   return true;
}


function nocr(event)
{
   var k = 0;

   if (navigator.userAgent.indexOf('MSIE') < 0)
      k = event.which;
   else if (window.event)
      k = window.event.keyCode;

   return (k == 13) ? false : true;
}


function oncr(event)
{
   var k = 0;

   if (navigator.userAgent.indexOf('MSIE') < 0)
      k = event.which;
   else if (window.event)
      k = window.event.keyCode;

/*
   if (k == 13 && check_filter(''))
      document.searchform.submit();
*/
   if (k == 13)
      document.searchform.filter.click();

   return true;
}


function get_result_type(f)
{
   for (var i = 0;i < f.length;i++) {
      if (f.elements[i].name + 'results' && f.elements[i].checked)
         return f.elements[i].value;
   }
   return '';
}


function refworks()
{
   var f,results;

   f = document.export_results;
   results = get_result_type(f);
   f.url.value = f.refwurl.value + 'pid=' + f.pid.value + '&sid=' + f.sid.value + '&results=' + results + '&page=' + f.page.value;
   showHide('close');

   return true;
}


function check_filter(f)
{
   var elem,i,filt = 0,mess = '',p1,p2;

   f = document.searchform;
   if ((elem = document.getElementById('searchstr')) && elem.innerHTML == '') {
      mess = (select_obj_value(f.show_results) == 'marked') ? 'Sorry, you can\'t apply filter to marked results.\n' :
                                                              'No results to refine.\n';
   } else if (trim(f.search_text.value) == '') {
      for (i = filt = 0;i < f.length && !filt;i++) {
         if ((f.elements[i].type == 'checkbox' && f.elements[i].name.substr(0,2) == 'dt' && f.elements[i].checked) ||
             (f.elements[i].name.substr(0,7) == 'pubyear' && trim(f.elements[i].value) != '')) {
            filt = 1;
         }
      }
      if (!filt)
         mess = 'Missing filter parameters.\n';
   }
   p1 = trim(f.pubyear1.value);
   p2 = trim(f.pubyear2.value);
   if ((p1 != '' && p1.match(/^[0-9]{4}$/) == null) || (p2 != '' && p2.match(/^[0-9]{4}$/) == null))
      mess += 'Please use 4 digit year.\n';
   if (mess != '') {
      alert(mess);
      return false;
   }
   return true;
}


function send_result()
{
   var f,url,results;

   f = document.mail_results;
   results = get_result_type(f);
   url = 'ivyasuserecs.php?send_results=1&pid=' + f.pid.value + '&sid=' + f.sid.value + '&results=' + results + '&email=' + f.email.value;
   if (f.page.value != '')
      url += '&page=' + f.page.value;
   ajax = new sack();
   ajax.requestFile = url;
   ajax.runAJAX();
   showHide('close');

   return false;
}


function backButtonOverride()
{
   // Work around a Safari bug that sometimes produces a blank page
   setTimeout("backButtonOverrideBody()", 1);
}


function backButtonOverrideBody()
{
   // Works if we backed up to get here
   try {
      history.forward();
   } catch (e) {
      // OK to ignore
   }
   // Every quarter-second, try again. The only guaranteed method for Opera, Firefox, and Safari, which don't always call
   // onLoad but *do* resume any timers when returning to a page
   setTimeout("backButtonOverrideBody()",500);
}

