var hist;

function toOtherDoc (docfile, lnk) {
	 var path = frames.main.location.pathname.substring(1);

	 if (hist) {
		  var s = hist.length;
		  var isin = false;
		  for (var i = 0; i < s; i++) {
				if (hist[i][0] == path) {
					 isin = true;
					 break;
				}
		  }
		  if (!isin) {
				hist[s] = [path, lnk, frames.main.document.title];
		  }
	 } else {
		  hist = new Array();
		  hist[0] = [path, lnk, frames.main.document.title];
	 }

	 frames.main.location.href = '../' + docfile + '.html';
	 frames.botside.location.replace('../hist.html');

	 setTimeout("writeHist()",1000);
}
function backToDoc (docfile, lnk) {
	 frames.main.location.href = '../' + docfile + '#' + lnk;
	 setTimeout("frames.main.window.scrollBy(0,-100)", 500);
}

function loadHist () {
	 frames.botside.location.replace('../hist.html');
	 setTimeout("writeHist()",1000);
}

function writeHist () {
	 var s = hist.length;
	 if (bs_getElement('histlnks') != null) {
		  var str = '';
		  for (var i = 0; i < s; i++) {
				str += '<a href="javascript:parent.backToDoc(\'' + hist[i][0] + '\', \'' + hist[i][1] + '\');">' + hist[i][2] + '</a><br/>';
		  } 
		  var div = bs_getElement('histlnks');
		  div.innerHTML = str;
	 }
}

// used by the index page
function indexLoadDoc () {
  var query = location.search.substring(1);
  if (query.indexOf('=') != -1) {
    var pos = query.indexOf('=');
    var argnme = query.substring(0, pos);
    var vlue = query.substring(pos + 1);
    frames.sect.window.location = "sect.html?load=" + unescape(vlue);
  } else {
    frames.sect.window.location = "sect.html";
  }
}
 
// used by the section page
function checkArgs () {
   var query = location.search.substring(1);
   if (query.indexOf('=') != -1) {
      var pos = query.indexOf('=');
      var argnme = query.substring(0, pos);
      var vlue = query.substring(pos + 1);

		frames.main.location = unescape(vlue);
  } else {
      frames.main.location = "intro.html";
      frames.topside.location = "toc.html";
      frames.botside.location = "quotes.html";
  }
}


// used by the main toc
function loadToc (lnk) {
    frames.topside.location.replace(lnk);
}

// used by subtocs
function loadDoc (lnk) {
   frames.main.location = lnk;
   if (lnk.indexOf('#') == -1) {
      frames.botside.location.replace("../quotes.html");
   }
   frames.main.focus();
}

function loadDocLnk (doc, lnk) {
   frames.main.location = doc + '#' + lnk;
   frames.main.focus();
   toggleDisplay(lnk);
}

function toggleDisplay (str) {
   if (ts_getElement(str) != null) {
      var sty = ts_getElementStyle(str);
      if (sty.display == 'none') {
         sty.display = '';
      } else {
         sty.display = 'none';
      }
   }
}

function ts_getElement(elemID) {
	 if (frames.topside.document.layers != null) {
		  return eval('frames.topside.document.layers["' + elemID + '"]');
	 } else if (frames.topside.document.all != null) {
		  return eval('frames.topside.document.all.' + elemID + '');
	 } else {
		  return frames.topside.document.getElementById(elemID);
	 }
}
function bs_getElement(elemID) {
	 if (frames.botside.document.layers != null) {
		  return eval('frames.botside.document.layers["' + elemID + '"]');
	 } else if (frames.botside.document.all != null) {
		  return eval('frames.botside.document.all.' + elemID + '');
	 } else {
		  return frames.botside.document.getElementById(elemID);
	 }
}


function ts_getElementStyle(elemID) {
	 if (frames.topside.document.layers != null)
		  return eval('frames.topside.document.layers["' + elemID + '"]');
	 else if (frames.topside.document.all != null)
		  return eval('frames.topside.document.all.' + elemID + '.style');
	 else
		  return frames.topside.document.getElementById(elemID).style;
}
