/**
 * @author Andrew Welch, Aurora Public Library
 * Created: 27-Jun-2007; Revised: 04-Feb-2008
 * Purpose: Uses AJAX to load other pages (eventSrc) into a div (divID)
 * on the current page.
 */
function getEvent(eventSrc, divID) { // superceded by loadSnip, 2/1/08.
var ajaxOK = createAjaxObj();
	if (!ajaxOK) {}
	else if (ajaxOK) {
		var obj = document.getElementById(divID);
		ajaxOK.open("GET", eventSrc);
		ajaxOK.onreadystatechange = function() {
			if (ajaxOK.readyState == 4 &&
			ajaxOK.status == 200) {
				obj.innerHTML = ajaxOK.responseText;
			}
		}
		ajaxOK.send(null);	
	}
}

// **********************************************
// loadSnip() - created by Andrew Welch, Aurora Public Library.
// Uses AJAX to load a portion of another page (snipSrc) into a div
// on the current page (divID). To load only a portion of the page,
// srcWrap must be specified and the portion must be bracketed by HTML
// comment tags in a specific form. E.g., if srcWrap = 'storytimes',
// the tags would be <!-- Start storytimes --> and <!-- End storytimes -->.
// To load the entire page (snipSrc), use "" for srcWrap.
function loadSnip(snipSrc, srcWrap, divID) {
var ajaxOK = createAjaxObj();
	if (!ajaxOK) {}
	else if (ajaxOK) {
		var obj = document.getElementById(divID);
		ajaxOK.open("GET", snipSrc);
		
		ajaxOK.onreadystatechange = function() {
			if (ajaxOK.readyState == 4 &&
			ajaxOK.status == 200) {
				var doc = ajaxOK.responseText;
				if (srcWrap != "") {
					var snipStart = doc.indexOf("<!-- Start " + srcWrap);
					var snipEnd = doc.indexOf("<!-- End " + srcWrap);
					var snipDiv = doc.slice(snipStart,snipEnd);
					obj.innerHTML += snipDiv;
				}
				else { obj.innerHTML += doc; }
			}
		}
		ajaxOK.send(null);	
	}
}

function getCatRec(catSrc, divID) { //superceded by getBooklist(), 2/4/08.
// Pulls a record (by its record num only) into divID. Display
// shows Title, Author, Publication, Item table and a 'Request it' button.
var ajaxOK = createAjaxObj();
	if (!ajaxOK) {}
	else if (ajaxOK) {
		var obj = document.getElementById(divID);
		ajaxOK.open("GET", catSrc);
		ajaxOK.onreadystatechange = function() {
			if (ajaxOK.readyState == 4 &&
			ajaxOK.status == 200) {
				var doc = ajaxOK.responseText;
				var bibStart = doc.indexOf("<!-- Begin bibInfo");
				var bibEnd = doc.indexOf("<!-- End bibInfo");
				var itemStart = doc.indexOf("<!-- Begin items");
				var itemEnd = doc.indexOf("<!-- End items");
				if (!bibStart && !itemStart) {} // bail out; there's no bib info.
				var bibDiv = doc.slice(bibStart,bibEnd);
				var itemDiv = doc.slice(itemStart,itemEnd);
				var catrec = catSrc.slice(-7);
				var reqBut = "http://auroralibrary.org:2082/search?/.b" + catrec + "/.b" + catrec + "/1,1,1,B/request~b" + catrec;
				var newDiv = document.createElement("div");
				newDiv.className = "topDiv";
				var newBut = document.createElement("a");
				var newButTxt = document.createTextNode("Request It");
				newBut.appendChild(newButTxt);
				newBut.setAttribute("href",reqBut);
				newDiv.appendChild(newBut);
				obj.innerHTML = ajaxOK.responseText;
				obj.innerHTML = bibDiv + itemDiv;
				obj.appendChild(newDiv);
			}
		}
		ajaxOK.send(null);	
	}
}

function getBooklist(catSrc, divID, rowCt) {
// Creates an on-the-fly briefcit or bib display that loads into divID.
// Examples:
// To retrieve 3 briefcit rows from a "javascript" keyword search:
//   getBooklist('/search/X?SEARCH=javascript&searchscope=2&sortdropdown=-','testDiv','3');
// To retrieve the bib information for an individual record:
//   getBooklist('/record=b1399842','testDiv');
//   Display shows Title, Author, Publication, Item table and a 'Request it' button.
var ajaxOK = createAjaxObj();
var itemStart, itemEnd, itemDiv;
	if (!ajaxOK) {}
	else if (ajaxOK) {
		var obj = document.getElementById(divID);
		ajaxOK.open("GET", catSrc);	
		ajaxOK.onreadystatechange = function() {
			if (ajaxOK.readyState == 4 && ajaxOK.status == 200) {
				var doc = ajaxOK.responseText;
				if (rowCt != "" && rowCt !== null && rowCt !== undefined) {
					rowCt = rowCt + 1;
					var docStr = doc.split("briefcitRow");
					for (var i=0; i<rowCt; i++) {
						if (docStr.length == 0) {}
						else {
							itemStart = docStr[i].indexOf("<!-- Begin briefcitDetail");
							itemEnd = docStr[i].indexOf("<!-- End briefcitDetail");
							itemDiv = docStr[i].slice(itemStart,itemEnd);
							obj.innerHTML += itemDiv;
						}
					}
				}
				else {
					var bibStart = doc.indexOf("<!-- Begin bibInfo");
					var bibEnd = doc.indexOf("<!-- End bibInfo");
					itemStart = doc.indexOf("<!-- Begin items");
					itemEnd = doc.indexOf("<!-- End items");
					if (!bibStart && !itemStart) {} // bail out; there's no bib info.
					else {
						var bibDiv = doc.slice(bibStart,bibEnd);
						itemDiv = doc.slice(itemStart,itemEnd);
						var catrec = catSrc.slice(-7);
						var reqBut = "http://auroralibrary.org:2082/search?/.b" + catrec + "/.b" + catrec + "/1,1,1,B/request~b" + catrec;
						var newDiv = document.createElement("div");
						newDiv.className = "topDiv";
						var newBut = document.createElement("a");
						var newButTxt = document.createTextNode("Request It");
						newBut.appendChild(newButTxt);
						newBut.setAttribute("href",reqBut);
						newDiv.appendChild(newBut);
						obj.innerHTML = ajaxOK.responseText;
						obj.innerHTML = bibDiv + itemDiv;
						obj.appendChild(newDiv);
					}				
				}
			}
		}
		ajaxOK.send(null);	
	}
} //end getBooklist()
