var inGo=false;

function Go(cmd)
{
 inGo=true;
 var frm = document.frmQueryBox;
 var sel = frm.db;
 frm.cmd.value = cmd;
 var q = frm.action;
 frm.action = q.substring(0, q.indexOf('?'))+'?CMD='+escape(cmd)+'&DB='+sel.value;
 frm.submit();
 inGo=false;
}

function KeyPress(cmd,e)
{
 var nav = ( navigator.appName == "Netscape" ) ? true : false;
 var msie = ( navigator.appName.indexOf("Microsoft") != -1 ) ? true : false;
 var k = 0;
 if( nav ) { k = e.which; }
 else if( msie ) { k = e.keyCode; }
 if( k==13 ) Go(cmd);
}

function DbChange(sel)
{
 if( sel.form.filters != null ) {
  var hidden = sel.options[sel.selectedIndex].value + 'Filters';
  if( sel.form.elements[hidden] != null ) { sel.form.filters.checked = true; }
  else { sel.form.filters.checked = false; }
 }
 if( sel.options[sel.selectedIndex].value != sel.form.orig_db.value &&
	 sel.form.cmd_current.value != '' ) {
  sel.form.cmd.value = sel.form.cmd_current.value;
  Go(sel.form.cmd.value);
 }
}

function AddTerm(sel,op,term,field,search)
{
 var f=field[field.selectedIndex].value;
 var q=(f=='Author Name')?'':'"';
 if( sel.selectedIndex < 0 && search.value!='') {
  var v=q+search.value+q+'['+f+']';
  search.value='';
  if(term.value=='') term.value=v; else term.value+=' '+op+' '+v;
 }
 else if(sel.selectedIndex >= 0){
  var count=0;
  var vv='';
  for(i=0; i<sel.options.length; ++i) {
   if(sel.options[i].selected) {
    count++;
    vv=vv+(vv!=''?' OR ':'');
	vv=vv+q+sel.options[i].value+q+'['+f+']';
	sel.options[i].selected=false;
   }
  }
  if(count>1)vv='('+vv+')';
  if(term.value=='') term.value=vv; else term.value+=' '+op+' '+vv;
  search.value='';
 }
}

function UpdateDetails(cmd)
{
 if( document.frmQueryBox.details_term != null ) {
  KillNewLines(document.frmQueryBox.details_term);
 }
 Go(cmd);
}

function ShowURL(cmd)
{
 if( document.frmQueryBox.details_term != null ) {
  var frm=document.frmQueryBox;
  KillNewLines(frm.details_term);
  var sel = frm.db;
  var pos = window.location;
  var newUrl=pos.protocol+"//"+pos.host+pos.pathname;
  newUrl+="?cmd="+cmd+"&db="+sel.options[sel.selectedIndex].value;
  newUrl+="&details_term="+escape(frm.details_term.value);
  window.location = newUrl;
 }
}

function KillNewLines(field)
{
 var spc=0,v1='',v2='',s = field.value;
 for(i=0; i<s.length; ++i) {
  if(s.charAt(i) == '\n' || s.charAt(i) == '\r') v1+=' ';
  else v1+=s.charAt(i);
 }
 for(i=0; i<v1.length; ++i) {
  if(v1.charAt(i) != ' ') {
   if(spc == 1) v2+=' ';
   spc=0; v2+=v1.charAt(i);
  }
  else if(spc == 0)
   spc=1;
 }
 field.value = v2;
}
