<!--
/****************************************************
*			    	General Routines
*             ==================
*            Please edit with care...
*****************************************************/


/*****************************************************************************************************************/

function doShadow(fid,tid,x,y,col) {
	var f=getObject(fid);
	var t=getObject(tid);
	t.innerHTML=f.innerHTML;
	off=(document.all)?0:1;// alert(off);
	t.style.left=(objLeft(fid)+parseInt(x,10)+off)+"px";
	t.style.top =(objTop(fid) +parseInt(y,10)+off)+"px";
	t.style.color=col;
}

// "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

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;
	getObject(el).style.color="rgb("+r+","+g+","+b+")";
}

// function KW_c(a,b,s,i) { return Math.floor(a*((s-i)/s)+b*(i/s)) }
function KW_c(a,b,s,i) { return Math.floor(a+(b-a)*(i/s))}	// faster


// fades colour (rgb) of object (o) to (enl) at speed (s)
function KW_fade(r,g,b,e,n,l,s,o){
    for(i=0;i<s+1;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(x) {
	var m=""
	m+='<div class="footer">Copyright &copy; Randy Ray 2007';
	if(x) m+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Website by <a target="_blank" href="http://www.woodsgood.ca/fwebdesign.htm" class="w">WoodsGood</a>';
	m+='</div>';
	document.write(m);
}

//
// Object Functions see http://javascript.about.com/library/blobj2.htm
// copyright Stephen Chapman, 4th Jan 2005
/* calls include width, height, left, right, top, bottom, layer and visible
 		objWidth("test") : 412
 		objHeight("test") : 34
 		objLeft("test") : 0
 		objRight("test") : 412
 		objTop("test") : 183
 		objBottom("test") : 217
 		objLayer("test") : 0
 		objVisible("test") : visible
*/
function objWidth(objectID) {
	var obj = xDOM(objectID,0); 
	if(obj.offsetWidth) return  obj.offsetWidth; 
	if (obj.clip) return obj.clip.width;
	return 0;
}        
function objHeight(objectID) {
	var obj = xDOM(objectID,0); 
	if(obj.offsetHeight) return  obj.offsetHeight; 
	if (obj.clip) return obj.clip.height;
	return 0;
}    
function objLeft(objectID) {
	var obj = xDOM(objectID,0);
	var objs = xDOM(objectID,1); 
	if(objs.left) return objs.left; 
	if (objs.pixelLeft) return objs.pixelLeft; 
	if (obj.offsetLeft) return obj.offsetLeft;
	return 0;
} 
function objTop(objectID) {
	var obj = xDOM(objectID,0);
	var objs = xDOM(objectID,1); 
	if(objs.top) return objs.top; 
	if (objs.pixelTop) return objs.pixelTop; 
	if (obj.offsetTop) return obj.offsetTop; 
	return 0;
}
function objRight(objectID) {
	return objLeft(objectID)+objWidth(objectID);
} 
function objBottom(objectID) {
	return objTop(objectID)+objHeight(objectID);
}
function objLayer(objectID) {
	var objs = xDOM(objectID,1); 
	if(objs.zIndex) return objs.zIndex;
	return 0;
}
function objVisible(objectID) {
	var objs = xDOM(objectID,1); 
	if(objs.visibility == 'hide' || objs.visibility == 'hidden') return 'hidden';
	return 'visible';
}

// Cross Browser DOM
// copyright Stephen Chapman, 4th Jan 2005
var aDOM = 0, ieDOM = 0, nsDOM = 0; var stdDOM = document.getElementById;
if (stdDOM) aDOM = 1; else {ieDOM = document.all; if (ieDOM) aDOM = 1; else {
var nsDOM = ((navigator.appName.indexOf('Netscape') != -1)
&& (parseInt(navigator.appVersion) ==4)); if (nsDOM) aDOM = 1;}}

function xDOM(objectId, wS) {
	if (stdDOM) return wS ? document.getElementById(objectId).style:document.getElementById(objectId);
	if (ieDOM) return wS ? document.all[objectId].style: document.all[objectId];
	if (nsDOM) return document.layers[objectId];
}                  
                    
-->

