<!--
/****************************************************
*			    	General Routines
*             ==================
*            Please edit with care...
*****************************************************/


/*****************************************************************************************************************/
// "within-page" navigation; one book <DIV> (of id "objid") is displayed while making previous book invisible.
var objDiv = null;										// old (or previous) book
function doShow(objid) {
	if (objDiv) objDiv.style.display="none";	// blank any book that is displayed
	objDiv=getObject(objid);							// get referenced object
	objDiv.style.display = "block";					// display it
}

// "within-page" navigation; one book <DIV> (of id "objid") is displayed while making previous book invisible.
var objBook = null;										// old (or previous) book
function doShowBook(objid) {
	if (objBook) objBook.style.display="none";	// blank any book that is displayed
	objBook=getObject(objid)							// get referenced object
	objBook.style.display = "block";					// display it
}

// returns the "name" Object
function getObject(name) {
	return (document.getElementById?document.getElementById(name):document.all?document.all[name]:document.layers?eval("document.layers[\"" + name + "\"]"):null);
}


// used in body as <... onLoad="MM_preloadImages('/images/xxx.jpg','/images/yyy.jpg',...">

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

// used in <... onMouseOut="MM_swapImgRestore()">

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

// used in <... onMouseOver="MM_swapImage('image_name_and_ID','','swap_image_source',1)">

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// Used to fade between one colour (rgb_start) and another (rgb_final).
// To create an effect of a link changing between colours, use: <a href="...". id="unique_id" onMouseOver="KW_fade(r_start,g_start,b_start,r_final,g_final,b_final,speed,this.id)" onMouseOut="KW_fade(r_final,g_final,b_final,r_start,g_start,b_start,speed,this.id)"
// speed is ~20?  don't know the units.

function KW_s(r, g, b, el) {
// changes colour of element (el) to hex value of rgb
    d=document;hr=r.toString(16);hg=g.toString(16);hb=b.toString(16);
	hr=(hr.length==1)?"0"+hr:hr;hg=(hg.length==1)?"0"+hg:hg;hb=(hb.length==1)?"0"+hb:hb;
	if (d.getElementById) d.getElementById(el).style.color="#"+hr+hg+hb;
}

function KW_c(a,b,s,i) { return Math.floor(a*((s-i)/s)+b*(i/s)) }

function KW_fade(r,g,b,e,n,l,s,o){
// fades colour (rgb) of object (o) to (enl) at speed (s)

    for(i=0;i<=s;i++)setTimeout("KW_s("+KW_c(r,e,s,i)+","+KW_c(g,n,s,i)+","+KW_c(b,l,s,i)+",'"+o+"');",i*s);
}

// writes the copyright information on page
function doCopy() {
	document.write('<div class="footer">Copyright (c) Michael Rose 2008.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(site by <a target="_blank" href="http://www.woodsgood.ca/fwebdesign.htm"><span class="woodsgood">WoodsGood</span></a>)</div>');
}

-->

