var libTimer=null;
var libSearchPath="/main/libsearch.php";
var librarianPath=window.location.pathname; // only used and valid for librarian page
var lastBook=1;
try { var cal=new CalendarPopup('cal'); } catch (e) { };

function init() {
  libForm("books");
  };

function handleArrowKeys(evt) {
  evt = (evt) ? evt : ((window.event) ? event : null);
  if (evt) {
    //alert ('KEY:'+evt.keyCode);
    switch (evt.keyCode) {
      // page up
      case 33: bookPick('+'); break;    
      case 34: bookPick('-'); break;    
      };
    };
  };

document.onkeyup=handleArrowKeys;

function validateSearch () {
  // validate fields...
  var URL = libSearchPath+"?frm=RESULTS";
  URL += "&by="+choiceValue('by');
  URL += "&searchText="+escape(id('searchText').value);
  //alert('URL: '+URL);
  var waitMsg='<p class="redtext"><em>SEARCHING ... Please wait.</em></p>';
  id('results').innerHTML=waitMsg;
  simpleAJAX(URL,"results");
  return false;
  };

function resetSearch () {
  // clear search form and results
  id('stext').value='';
  id('by').selectedIndex=0;
  id('results').innerHTML='';
  return false;
  };

function libForm(frm) {
  var pass='';
  if (frm=='search') {
    //alert("libForm: "+libSearchPath+"?frm="+frm);
    simpleAJAX(libSearchPath+"?frm="+frm,"frmLib",clrResults);
    }
  else {
    //alert("libForm: "+librarianPath+"?frm="+frm);
    simpleAJAX(librarianPath+"?frm="+frm,"frmLib",clrResults);
    };
  return false;
  };

function POPUP(i) {
  alert("POPUP["+i+"]: "+id(i).innerHTML);
  };

function popCal(dField,anchor,format) {
  format=format||'MM/dd/yyyy';
  cal.select(document.getElementById(dField),anchor,format); 
  return false;
  };

function clrResults() {
  id('results').innerHTML='';
  focusID('id');
  };

function bookCheck(method) {
  var URL = librarianPath+"?frm=BOOKS";
  if (method=='REFRESH') {   
    URL += "&id="+id('id').value;
    simpleAJAX(URL,"frmLib"); 
    return false;
    };
  URL += "&do=CHECK";
  URL += "&id="+id('id').value;
  URL += "&reader="+id('who').value;
  URL += "&method="+method;
  URL += "&status="+chkd('ckStat');
  switch (method) {
    case 'OUT':
      URL += "&odate="+id('odate').value;
      break;
    case 'RENEW':
      URL += "&odate="+id('odate').value;
    case 'IN':
      URL += "&cID="+id('cID').innerHTML;
      URL += "&idate="+id('idate').value;
      break;
    };
  URL += "&memo="+escape(id('memo').value);
  var waitMsg='<p class="redtext"><em>Updating database ... please wait.</em></p>';
  id('results').innerHTML=waitMsg;
  //alert('URL: '+URL);
  simpleAJAX(URL,"results",setTimeout("bookCheck('REFRESH')",250));
  return false;
  };

function bookCommit() {
  // validate fields...
  var URL = librarianPath+"?frm=BOOKS&do=COMMIT";
  if (chkd('ckNew')=='') {
    URL += "&id="+id('id').value;
    }
  else {
    URL += "&id=0";
    };
  URL += "&tag="+chkd('ckTag');
  URL += "&umw="+chkd('ckUMW');
  URL += "&loc="+choiceValue('loc');
  URL += "&dewey="+id('dewey').value;
  URL += "&author="+id('author').value;
  URL += "&initials="+id('initials').value;
  URL += "&title="+escape(id('title').value);
  URL += "&subj="+escape(id('subj').value);
  URL += "&isbn="+id('isbn').value;
  URL += "&media="+choiceValue('media');
  URL += "&pub="+escape(id('pub').value);
  URL += "&copy="+id('copy').value;
  URL += "&pdate="+id('pdate').value;
  URL += "&cost="+id('cost').value;
  URL += "&note="+escape(id('note').value);
  var waitMsg='<p class="redtext"><em>Updating database ... please wait.</em></p>';
  id('results').innerHTML=waitMsg;
  //alert('URL: '+URL);
  simpleAJAX(URL,"frmLib",clrResults);
  return false;
  };

function bookGet (index) {
  if ((index || '')!='') {
    clearTimeout(libTimer);
    var URL = librarianPath+"?frm=BOOKS&id="+index;
    var waitMsg='<p class="redtext"><em>Retrieving information from database ... please wait.</em></p>';
    id('results').innerHTML=waitMsg;
    simpleAJAX(URL,"frmLib",clrResults);
    return false;
    }
  else {
    if (libTimer) { clearTimeout(libTimer); };
    libTimer=setTimeout("bookGet("+id('id').value+")", 1000);
    };
  };

function bookPick(action){
  var current = parseInt(id('id').value);
  var max = parseInt(id('newBookID').innerHTML)-1;
  if (current!=0) { lastBook=current; };
  switch (action) {
    case "+": // increment ...
      if (current<max) {
	    bookGet(current+1);
		}
	  else {
	    bookGet(1);
		};
      break;
    case "-": // decrement ...
      if (id('id').value>1) { 
	    bookGet(current-1); 
		}
	  else {
	    bookGet(max);
		};
      break;
    case "NEW": // new ...
      if (chkd('ckNew')=='NEW') {
        bookGet('0');			// forces form load empty
        }
      else {
        bookGet(lastBook);
        };
      break;
    default:
      bookGet(lastBook);
    };
  };

function bookSetPub() {
  var pub=choiceOption('pubList');
  id('pub').value=pub;
  };

function bookTag() {
  var URL = librarianPath+"?frm=NONE&do=TAG";
  URL+="&id="+id('id').value;
  URL+="&tag="+chkd('ckTag');
  simpleAJAX(URL,"results");
  };

function dbBackup(flag) {
  var URL = librarianPath+"?frm=DB";
  if (flag || '') {
    simpleAJAX(URL,"frmLib");
    }
  else {
    simpleAJAX(URL+"&do=BACKUP","results",setTimeout("dbBackup('REFRESH')",250));
    };
  return false;
  };

function dbCleanUp(flag) {
  var URL = librarianPath+"?frm=DB";
  if (flag || '') {
    simpleAJAX(URL,"frmLib");
    }
  else {
    URL += "&do=CLEANUP&files="+chkd('ckFile');
    simpleAJAX(URL,"results",setTimeout("dbCleanUp('REFRESH')",250));
    };
  return false;
  };

function dbExecute() {
  alert("SORRY, NOT WORKING!");
  return false;
  var URL = librarianPath+"?frm=NONE&do=EXECUTE";
  URL += "&query="+escape(id('eTxt').innerHTML);
  simpleAJAX(URL,"results");
  return false;
  };

function dbGet() {
  window.open(librarianPath+"?frm=NONE&do=DB");
  };

function dbQuery() {
  var URL = librarianPath+"?frm=NONE&do=QUERY&fields=query";
  URL += "&query="+choiceValue('qName');
  simpleAJAX(URL,"eTxt");
  return false;
  };

function queryCommit () {
  // validate fields...
  var URL = librarianPath+"?frm=QUERIES&do=COMMIT";
  if (chkd('ckNew')=='') {
    URL += "&id="+choiceValue('qName');
    }
  else {
    //if (!fieldIs('name','text',1)) { return false; };
    URL += "&id=0";
    URL += "&name="+escape(id('name').value);
    };
  URL += "&query="+escape(id('query').value);
  URL += "&cmt="+escape(id('cmt').value);
  var waitMsg='<p class="redtext"><em>Updating database ... please wait.</em></p>';
  id('results').innerHTML=waitMsg;
  //alert('URL: '+URL);
  simpleAJAX(URL,"frmLib",clrResults);
  return false;
  };

function queryGet () {
  var URL = librarianPath+"?frm=QUERIES&id="+choiceValue('qName');
  var waitMsg='<p class="redtext"><em>Retrieving information from database ... please wait.</em></p>';
  id('results').innerHTML=waitMsg;
  simpleAJAX(URL,"frmLib",clrResults);
  return false;
  };

function queryNew () {
  if (chkd('ckNew')!='') {
    elementHideAndShow('qName','name');
    }
  else {
    elementHideAndShow('name','qName');
    };
  return false;
  };

function reportCommit () {
  // validate fields...
  var URL = librarianPath+"?frm=REPORTS&do=COMMIT";
  if (chkd('ckNew')=='') {
    URL += "&id="+choiceValue('rName');
    }
  else {
    //if (!fieldIs('name','text',1)) { return false; };
    URL += "&id=0";
    URL += "&name="+escape(id('name').value);
    };
  URL += "&title="+escape(id('title').value);
  URL += "&template="+escape(id('template').value);
  URL += "&columnList="+escape(id('columnList').value);
  URL += "&query="+choiceValue('qName');
  URL += "&journal="+escape(id('journal').value);
  var waitMsg='<p class="redtext"><em>Updating database ... please wait.</em></p>';
  id('results').innerHTML=waitMsg;
  //alert('URL: '+URL);
  simpleAJAX(URL,"frmLib",clrResults);
  return false;
  };

function reportGet () {
  var URL = librarianPath+"?frm=REPORTS&id="+choiceValue('rName');
  var waitMsg='<p class="redtext"><em>Retrieving information from database ... please wait.</em></p>';
  id('results').innerHTML=waitMsg;
  simpleAJAX(URL,"frmLib",clrResults);
  return false;
  };

function reportQueryChange () {
  var URL = librarianPath+"?frm=NONE&do=QUERY&fields=comment|query";
  URL += "&query="+choiceValue('qName');
  simpleAJAX(URL,"queryInfo");
  return false;
  };

function reportNew () {
  if (chkd('ckNew')!='') {
    elementHideAndShow('rName','name');
    }
  else {
    elementHideAndShow('name','rName');
    };
  return false;
  };

function reportRun () {
  // validate fields...
  var URL = librarianPath+"?frm=REPORTS&do=RUN";
  URL += "&id="+choiceValue('rName');
  var waitMsg='<p class="redtext"><em>Updating database ... please wait.</em></p>';
  id('results').innerHTML=waitMsg;
  //alert('URL: '+URL);
  if (chkd('ckNew')!='') { 
    URL += "&window=1";
	window.open(URL);
	}
  else {	
    simpleAJAX(URL,"results");
	};
  return false;
  };
 