From: <Saved by Windows Internet Explorer 7>
Subject: My Student and the Calgary Board of Education
Date: Mon, 13 Dec 2010 17:21:26 -0700
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01CB9AEA.2C5824F0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2527

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01CB9AEA.2C5824F0
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD><TITLE>My Student and =
the Calgary Board of Education</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3DUTF-8">
<META http-equiv=3DX-UA-Compatible content=3DIE=3DEmulateIE7><LINK=20
href=3D"http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/css/CBE_Corpo=
rate.css"=20
type=3Dtext/css rel=3Dstylesheet>
<SCRIPT =
src=3D"http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/js/liquid.js" =

type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/js/swfobject.j=
s"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/js/flippingboo=
k.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/js/bookSetting=
s.js"=20
type=3Dtext/javascript></SCRIPT>

<META content=3D"MSHTML 6.00.5730.13" name=3DGENERATOR></HEAD>
<BODY>
<DIV id=3DfbContainer><A class=3Daltlink=20
href=3D"http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Vers=
ion=3DShockwaveFlash">
<DIV id=3Daltmsg>Download Adobe Flash Player.</DIV></A></DIV>
<DIV id=3DfbFooter>
<DIV id=3DfbContents><SELECT id=3DfbContentsMenu =
name=3DfbContentsMenu></SELECT> <SPAN=20
class=3DfbPaginationMinor>p.&nbsp;</SPAN> <SPAN =
id=3DfbCurrentPages>1</SPAN> <SPAN=20
class=3DfbPaginationMinor id=3DfbTotalPages></SPAN></DIV>
<DIV id=3DfbMenu><IMG id=3DfbZoomButton height=3D40=20
src=3D"http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/img/btnZoom.gi=
f"=20
width=3D32 border=3D0 name=3DfbZoomButton><IMG id=3DfbDownloadButton =
height=3D40=20
src=3D"http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/img/btnDownloa=
d.gif"=20
width=3D32 border=3D0><IMG height=3D40=20
src=3D"http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/img/btnDiv.gif=
"=20
width=3D13 border=3D0><IMG id=3DfbBackButton height=3D40=20
src=3D"http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/img/btnPreviou=
s.gif"=20
width=3D36 border=3D0><IMG id=3DfbForwardButton height=3D40=20
src=3D"http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/img/btnNext.gi=
f"=20
width=3D36 border=3D0></DIV></DIV></BODY></HTML>

------=_NextPart_000_0000_01CB9AEA.2C5824F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/img/btnZoom.gif

R0lGODlhIAAoALMAAAFmylK8F/3+/TSC0XbNQZjbbY256LHild7o8tTvxFVuhmeg3L3T5wdPmaqs
r+727SH5BAAAAAAALAAAAAAgACgAAAT/EMhJq7046827/+A0LAZiMswQUgvzPEmcvAKyhAMTFwdf
/IWZIOVZIA5IWeKwLBCCQ9Vm0YwhkcAfgZAYThO85RUL3G4fXswAfLVie1pCIFAQCAwYxo+Jfl3L
ZnNdAjcVCwdPBwJLQj1wTnJzijVSE3o/fjyKbIBzAQRodxQDTj+LmptkgZ6hCBQGkAUvQF1kkJFz
oQ+VDFtOijBdD45xuAGhhBKHn08EBy8wAsOAuKB2yQAGB8zNe1APpVuen9cPeNkOcmZZP4O343XX
hdqe60+00gWf44PShS3jzHR7MsgYgWvSpOQwKFBgDGPI0kgwkCAgt0DGAkySN+rBuDnq4MRljBeK
QYMKCCp+3LfyUx8aAxqcFDGsZctJJhAIcCBTJgUFi2zWG5TzgcmePiU0UIAGkTpmUKShYICAgQKk
M5WedGFHBjKjDhwkQODgKtIKSBU4cIHgQc6wa1GY7almgAK7SxXo3QtXr8+sF9oKxrrXL10OAwYY
EAUAa4OYEip1MLALgBFzKkrYAICiqmbJLEQNuLN4wWgDiweYWMxg8TkLVScKUOHZ1QBzsRHgiW2h
tLLZt1HvWvDACAMA5gDwHmVnaouciXOmMApAFPUKilGjBjDCgELUKhbc8J6tEIAIADs=

------=_NextPart_000_0000_01CB9AEA.2C5824F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/img/btnDownload.gif

R0lGODlhIAAoALMAAFC8FPz9/QJmy0CFy5nYc3XLQwxTnJa/67bjmqGmqs/svnaq47vLw93m77zW
8On14iH5BAAAAAAALAAAAAAgACgAAAT/UMhJq7046827/+C0HM4TBI1zhNTSPEqMxGawgkuJEDuy
EzxTY+BZPHoxhc9HKBAUKOLmoODJlsBsoQBtbBbV2fKn3W6hjsygURhbH3BYswAAEE7piwOIpZ3+
CFt1AFABCxYHgWRQCjWAgnV3J1ITDE5ZjUd/j3R1BX83EguBWQgwMZsngZ0ABTVeEgYHc0CFASa4
Jk2DdY5SA5ZOTo09TDwBc4Ouf4cCCwytW0+3cXEnyYOOzQu7ZsRjO40ErYOSJ80H0NGuRzMymXSs
CJvb6tFwSUmmD+O8jgFScvBypeBSlicFeZm7RckBq0+pNingBeBfHgGyJg6yleoBK0KpySgJGOBR
2cEyvOZtcmCgwoEHFGNSlPRikoGbFF7IlFmogU+AN4NOMHCr305zPl8kCIoz1s0GAaqYkaYSBQMG
SpkKdWogAdQT/6xevbpUawWtAxJg9ckggVu3V7W2xHBzwAC5S93aNfsljty7TD8MsGEXowHAv0IM
diDlZYoBKgSQWPOYw4ITK+weMORgSIrJDUJpgAzQBdQFg11cDp2CA5HBmw/AFvCgswAUC1BvWByA
sU8HNgQAX/HSAWPLB5oNyK17ecADsi1EAAA7

------=_NextPart_000_0000_01CB9AEA.2C5824F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/img/btnDiv.gif

R0lGODlhDQAoAIAAAABmywAAACH5BAAAAAAALAAAAAANACgAAAIUhI+py+0Po5y02ouz3rz7D4bi
yBUAOw==

------=_NextPart_000_0000_01CB9AEA.2C5824F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/img/btnPrevious.gif

R0lGODlhJAAoALMAAF2k3qzQ7QFmy/7//8zj9QFQnnq15ZXE6YaNlMzR1cDc8jlZebG0tu/0+eTl
597s+CH5BAAAAAAALAAAAAAkACgAAAT/UMhJq7046827/2BIGQfxNE9iAKIFKMOAPmc8OGwLBAMR
HL/fAdiIOUSAhgJooj0IBEXAwJPlOocGkAaVSgPgn6HY8BweB8VTEVW4w8PhePDgjA1dtt79jRtI
MXUZAA8GfHpdbXAHfwAEMQoZaAGHUJZtfYwrBjYGF4ZAlG6WAZeZjYQ2Fw1UYKMmBw4zinIAtjAx
ARUvraJQsXRgQKGatgc2ZRQJca5swHQODjENQqjHNlcCrEPNBwk24DLVKwCcnROOANyU3uHgD+PG
4LoSVH/c3kXugfHq8+gKynGbsy+QH1uO/tULUI5EKH3gGqAYRw7iAHoCEAS8F6qUjTXCymrJA3dg
Ah5bHEPhehMSVUJwV5IgTBmGWkhN5MyBqzDgAEqaxPy4fBAOo4RSM1PGkePyJbgFu3r+/HOPBFVy
tgKQ0ZfgAgyEU682IlelQbQiCwqoLUBBRs5ycLGSeyTj7AAEa9VSWCDDZ9yGqLQaSXD2QF69Etgi
KIIG7EzBMhJIjsbgMGIBaxd8C9SlxjQHDCQTrmy5Ql7NFj8nYMA6dAK8pS0cXrAAQWsEuHHfTpu3
w2zatWvn5s2WbYjTwGkbbyH7MvPn0KNTiAAAOw==

------=_NextPart_000_0000_01CB9AEA.2C5824F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/img/btnNext.gif

R0lGODlhJAAoALMAAF6l36zR7gFmyv7//wRPms7j9Xu25ZXE68Dc8mVxfZqjrMrMzuTm5+Ht+PH1
+KrC1SH5BAAAAAAALAAAAAAkACgAAAT/UMhJq7046827/xIgGgYAbsDBOM4wtANjnBXwvAUS7Ejh
vjPawdEIHAKIpO5gCMACJ0bjcCg0GoVcMsdEuBAeALaK1SZ3xl3TBeUwjFmlHE2lAryDw4Yb7/XP
O1QkYi5BFwYFB3JxWWaBTCUHPyYWAA5NSEqNDz2AgiWELxdGR4txUgFapIMAAT96FGKYmVlXCA0x
mYGskj8VTbOAOw8wDmhGrAA/A5QSDQZUPAcLKzDLC6ugBsttAgAF0NEBN8vlAwifIso/BRN3KUfD
5ssO6JAjyw0TTQDh8vNfsuH7oU+CAgT9oBkhN08HMlZ4XDjYFyBhHYZEfjhMJwIXu30Iy0n400Rs
QIFH9/qVAxOCwYhw8ZAQO0kq5Z1yhgQwe1nnGB2OKstVyPMSZrQ6QENprPCggTqRRutAVefjxY8E
NYw9hco1WSuJLM4REDB2wg1QRbmqE4HHAYMVAwjIlUthAdG1/dZq8/j27QAFc+lOIMDg3NOErAy0
ZUBtBeDAZcnKtXvuQF6LVWMs2Pz2MWQKcxNYu9LAmuYHmzd7DlwBcoIFpt0uUEBbQeoEkCNfcJ2g
t+/atHGz/sDbt2+6uk/kxpqcxm7n0KNL3xABADs=

------=_NextPart_000_0000_01CB9AEA.2C5824F0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/css/CBE_Corporate.css

HTML {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
12px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #ffffff; PADDING-TOP: =
0px; FONT-FAMILY: Arial, Helvetica, sans-serif; BACKGROUND-COLOR: =
#99ccff
}
BODY {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
12px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #ffffff; PADDING-TOP: =
0px; FONT-FAMILY: Arial, Helvetica, sans-serif; BACKGROUND-COLOR: =
#99ccff
}
#fbFooter {
	BACKGROUND-IMAGE: url(../img/footerBackground.gif); BACKGROUND-REPEAT: =
repeat-x; HEIGHT: 49px; BACKGROUND-COLOR: #0066cb
}
.fbPaginationMinor {
	MARGIN-LEFT: 10px; COLOR: #ffffff
}
#fbContents {
	MARGIN-TOP: 17px; FLOAT: left; MARGIN-LEFT: 15px
}
#fbMenu {
	MARGIN-TOP: 9px; FLOAT: right; MARGIN-RIGHT: 15px
}
#altmsg {
	PADDING-RIGHT: 20px; PADDING-LEFT: 20px; FILTER: alpha(opacity=3D60); =
PADDING-BOTTOM: 20px; PADDING-TOP: 20px; POSITION: absolute; =
BACKGROUND-COLOR: #000000; TEXT-ALIGN: center; opacity: 0.6
}
#altmsg:hover {
	FILTER: alpha(opacity=3D80); opacity: 0.8
}
A.altlink:link {
	COLOR: #ffffff
}
A.altlink:visited {
	COLOR: #dddddd
}
A.altlink:hover {
	COLOR: #ffffff
}

------=_NextPart_000_0000_01CB9AEA.2C5824F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/js/liquid.js

if( document.documentElement )
	bodyStyle =3D document.documentElement.style;
else if( document.body )
	bodyStyle =3D document.body.style;

bodyStyle.visibility =3D "hidden";

function sizeContent(){
	var windowHeight =3D getWindowHeight();
	var footerHeight =3D document.getElementById("fbFooter").offsetHeight;

	var contentHeight =3D windowHeight - footerHeight;
	document.getElementById("fbContainer").style.height =3D contentHeight + =
"px";
=09
	var altDiv =3D document.getElementById("altmsg");
=09
	if( altDiv ){	=09
		var altH =3D altDiv.offsetHeight;
		var altW =3D altDiv.offsetWidth;
		altDiv.style.top =3D (contentHeight / 2 - altH /2)+ "px";
		altDiv.style.left =3D (getWindowWidth() / 2 - altW /2)+ "px";
	}
=09
	if( bodyStyle )
		bodyStyle.visibility =3D "visible";
}

function addEvent( obj, type, fn )
{
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if (obj.attachEvent)
	{
		obj["e"+type+fn] =3D fn;
		obj.attachEvent( "on"+type, function() { obj["e"+type+fn](); } );
	}
}

function getWindowHeight() {
	var windowHeight=3D0;
	if ( typeof( window.innerHeight ) =3D=3D 'number' ) {
		windowHeight=3Dwindow.innerHeight;
	}
	else {
		if ( document.documentElement && =
document.documentElement.clientHeight) {
			windowHeight =3D document.documentElement.clientHeight;
		}
		else {
			if (document.body&&document.body.clientHeight) {
				windowHeight=3Ddocument.body.clientHeight;
			}
		}
	}
=09
	return windowHeight;
};

function getWindowWidth() {
	var ww =3D 0;
	if (self.innerWidth)
		ww =3D self.innerWidth;
	else if (document.documentElement && =
document.documentElement.clientWidth)
		ww =3D document.documentElement.clientWidth;
	else if (document.body)
		ww =3D document.body.clientWidth;
	return ww;
}

addEvent( window, "load", sizeContent);
addEvent( window, "resize", sizeContent );
------=_NextPart_000_0000_01CB9AEA.2C5824F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/js/swfobject.js

/*! SWFObject v2.1 <http://code.google.com/p/swfobject/>
	Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van =
der Sluis
	This software is released under the MIT License =
<http://www.opensource.org/licenses/mit-license.php>
*/

var swfobject =3D function() {
=09
	var UNDEF =3D "undefined",
		OBJECT =3D "object",
		SHOCKWAVE_FLASH =3D "Shockwave Flash",
		SHOCKWAVE_FLASH_AX =3D "ShockwaveFlash.ShockwaveFlash",
		FLASH_MIME_TYPE =3D "application/x-shockwave-flash",
		EXPRESS_INSTALL_ID =3D "SWFObjectExprInst",
	=09
		win =3D window,
		doc =3D document,
		nav =3D navigator,
	=09
		domLoadFnArr =3D [],
		regObjArr =3D [],
		objIdArr =3D [],
		listenersArr =3D [],
		script,
		timer =3D null,
		storedAltContent =3D null,
		storedAltContentId =3D null,
		isDomLoaded =3D false,
		isExpressInstallActive =3D false;
=09
	/* Centralized function for browser feature detection
		- Proprietary feature detection (conditional compiling) is used to =
detect Internet Explorer's features
		- User agent string detection is only used when no alternative is =
possible
		- Is executed directly for optimal performance
	*/=09
	var ua =3D function() {
		var w3cdom =3D typeof doc.getElementById !=3D UNDEF && typeof =
doc.getElementsByTagName !=3D UNDEF && typeof doc.createElement !=3D =
UNDEF,
			playerVersion =3D [0,0,0],
			d =3D null;
		if (typeof nav.plugins !=3D UNDEF && typeof =
nav.plugins[SHOCKWAVE_FLASH] =3D=3D OBJECT) {
			d =3D nav.plugins[SHOCKWAVE_FLASH].description;
			if (d && !(typeof nav.mimeTypes !=3D UNDEF && =
nav.mimeTypes[FLASH_MIME_TYPE] && =
!nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)) { // =
navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin =
indicates whether plug-ins are enabled or disabled in Safari 3+
				d =3D d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
				playerVersion[0] =3D parseInt(d.replace(/^(.*)\..*$/, "$1"), 10);
				playerVersion[1] =3D parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), =
10);
				playerVersion[2] =3D /r/.test(d) ? parseInt(d.replace(/^.*r(.*)$/, =
"$1"), 10) : 0;
			}
		}
		else if (typeof win.ActiveXObject !=3D UNDEF) {
			var a =3D null, fp6Crash =3D false;
			try {
				a =3D new ActiveXObject(SHOCKWAVE_FLASH_AX + ".7");
			}
			catch(e) {
				try {=20
					a =3D new ActiveXObject(SHOCKWAVE_FLASH_AX + ".6");
					playerVersion =3D [6,0,21];
					a.AllowScriptAccess =3D "always";	 // Introduced in fp6.0.47
				}
				catch(e) {
					if (playerVersion[0] =3D=3D 6) {
						fp6Crash =3D true;
					}
				}
				if (!fp6Crash) {
					try {
						a =3D new ActiveXObject(SHOCKWAVE_FLASH_AX);
					}
					catch(e) {}
				}
			}
			if (!fp6Crash && a) { // a will return null when ActiveX is disabled
				try {
					d =3D a.GetVariable("$version");	// Will crash fp6.0.21/23/29
					if (d) {
						d =3D d.split(" ")[1].split(",");
						playerVersion =3D [parseInt(d[0], 10), parseInt(d[1], 10), =
parseInt(d[2], 10)];
					}
				}
				catch(e) {}
			}
		}
		var u =3D nav.userAgent.toLowerCase(),
			p =3D nav.platform.toLowerCase(),
			webkit =3D /webkit/.test(u) ? =
parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // =
returns either the webkit version or false if not webkit
			ie =3D false,
			windows =3D p ? /win/.test(p) : /win/.test(u),
			mac =3D p ? /mac/.test(p) : /mac/.test(u);
		/*@cc_on
			ie =3D true;
			@if (@_win32)
				windows =3D true;
			@elif (@_mac)
				mac =3D true;
			@end
		@*/
		return { w3cdom:w3cdom, pv:playerVersion, webkit:webkit, ie:ie, =
win:windows, mac:mac };
	}();

	/* Cross-browser onDomLoad
		- Based on Dean Edwards' solution: =
http://dean.edwards.name/weblog/2006/06/again/
		- Will fire an event as soon as the DOM of a page is loaded (supported =
by Gecko based browsers - like Firefox -, IE, Opera9+, Safari)
	*/=20
	var onDomLoad =3D function() {
		if (!ua.w3cdom) {
			return;
		}
		addDomLoadEvent(main);
		if (ua.ie && ua.win) {
			try {	 // Avoid a possible Operation Aborted error
				doc.write("<scr" + "ipt id=3D__ie_ondomload defer=3Dtrue =
src=3D//:></scr" + "ipt>"); // String is split into pieces to avoid =
Norton AV to add code that can cause errors=20
				script =3D getElementById("__ie_ondomload");
				if (script) {
					addListener(script, "onreadystatechange", checkReadyState);
				}
			}
			catch(e) {}
		}
		if (ua.webkit && typeof doc.readyState !=3D UNDEF) {
			timer =3D setInterval(function() { if =
(/loaded|complete/.test(doc.readyState)) { callDomLoadFunctions(); }}, =
10);
		}
		if (typeof doc.addEventListener !=3D UNDEF) {
			doc.addEventListener("DOMContentLoaded", callDomLoadFunctions, null);
		}
		addLoadEvent(callDomLoadFunctions);
	}();
=09
	function checkReadyState() {
		if (script.readyState =3D=3D "complete") {
			script.parentNode.removeChild(script);
			callDomLoadFunctions();
		}
	}
=09
	function callDomLoadFunctions() {
		if (isDomLoaded) {
			return;
		}
		if (ua.ie && ua.win) { // Test if we can really add elements to the =
DOM; we don't want to fire it too early
			var s =3D createElement("span");
			try { // Avoid a possible Operation Aborted error
				var t =3D doc.getElementsByTagName("body")[0].appendChild(s);
				t.parentNode.removeChild(t);
			}
			catch (e) {
				return;
			}
		}
		isDomLoaded =3D true;
		if (timer) {
			clearInterval(timer);
			timer =3D null;
		}
		var dl =3D domLoadFnArr.length;
		for (var i =3D 0; i < dl; i++) {
			domLoadFnArr[i]();
		}
	}
=09
	function addDomLoadEvent(fn) {
		if (isDomLoaded) {
			fn();
		}
		else {=20
			domLoadFnArr[domLoadFnArr.length] =3D fn; // Array.push() is only =
available in IE5.5+
		}
	}
=09
	/* Cross-browser onload
		- Based on James Edwards' solution: =
http://brothercake.com/site/resources/scripts/onload/
		- Will fire an event as soon as a web page including all of its assets =
are loaded=20
	 */
	function addLoadEvent(fn) {
		if (typeof win.addEventListener !=3D UNDEF) {
			win.addEventListener("load", fn, false);
		}
		else if (typeof doc.addEventListener !=3D UNDEF) {
			doc.addEventListener("load", fn, false);
		}
		else if (typeof win.attachEvent !=3D UNDEF) {
			addListener(win, "onload", fn);
		}
		else if (typeof win.onload =3D=3D "function") {
			var fnOld =3D win.onload;
			win.onload =3D function() {
				fnOld();
				fn();
			};
		}
		else {
			win.onload =3D fn;
		}
	}
=09
	/* Main function
		- Will preferably execute onDomLoad, otherwise onload (as a fallback)
	*/
	function main() { // Static publishing only
		var rl =3D regObjArr.length;
		for (var i =3D 0; i < rl; i++) { // For each registered object element
			var id =3D regObjArr[i].id;
			if (ua.pv[0] > 0) {
				var obj =3D getElementById(id);
				if (obj) {
					regObjArr[i].width =3D obj.getAttribute("width") ? =
obj.getAttribute("width") : "0";
					regObjArr[i].height =3D obj.getAttribute("height") ? =
obj.getAttribute("height") : "0";
					if (hasPlayerVersion(regObjArr[i].swfVersion)) { // Flash plug-in =
version >=3D Flash content version: Houston, we have a match!
						if (ua.webkit && ua.webkit < 312) { // Older webkit engines ignore =
the object element's nested param elements
							fixParams(obj);
						}
						setVisibility(id, true);
					}
					else if (regObjArr[i].expressInstall && !isExpressInstallActive && =
hasPlayerVersion("6.0.65") && (ua.win || ua.mac)) { // Show the Adobe =
Express Install dialog if set by the web page author and if supported =
(fp6.0.65+ on Win/Mac OS only)
						showExpressInstall(regObjArr[i]);
					}
					else { // Flash plug-in and Flash content version mismatch: display =
alternative content instead of Flash content
						displayAltContent(obj);
					}
				}
			}
			else {	// If no fp is installed, we let the object element do its job =
(show alternative content)
				setVisibility(id, true);
			}
		}
	}
=09
	/* Fix nested param elements, which are ignored by older webkit engines
		- This includes Safari up to and including version 1.2.2 on Mac OS =
10.3
		- Fall back to the proprietary embed element
	*/
	function fixParams(obj) {
		var nestedObj =3D obj.getElementsByTagName(OBJECT)[0];
		if (nestedObj) {
			var e =3D createElement("embed"), a =3D nestedObj.attributes;
			if (a) {
				var al =3D a.length;
				for (var i =3D 0; i < al; i++) {
					if (a[i].nodeName =3D=3D "DATA") {
						e.setAttribute("src", a[i].nodeValue);
					}
					else {
						e.setAttribute(a[i].nodeName, a[i].nodeValue);
					}
				}
			}
			var c =3D nestedObj.childNodes;
			if (c) {
				var cl =3D c.length;
				for (var j =3D 0; j < cl; j++) {
					if (c[j].nodeType =3D=3D 1 && c[j].nodeName =3D=3D "PARAM") {
						e.setAttribute(c[j].getAttribute("name"), =
c[j].getAttribute("value"));
					}
				}
			}
			obj.parentNode.replaceChild(e, obj);
		}
	}
=09
	/* Show the Adobe Express Install dialog
		- Reference: =
http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=3D6a253b75
	*/
	function showExpressInstall(regObj) {
		isExpressInstallActive =3D true;
		var obj =3D getElementById(regObj.id);
		if (obj) {
			if (regObj.altContentId) {
				var ac =3D getElementById(regObj.altContentId);
				if (ac) {
					storedAltContent =3D ac;
					storedAltContentId =3D regObj.altContentId;
				}
			}
			else {
				storedAltContent =3D abstractAltContent(obj);
			}
			if (!(/%$/.test(regObj.width)) && parseInt(regObj.width, 10) < 310) {
				regObj.width =3D "310";
			}
			if (!(/%$/.test(regObj.height)) && parseInt(regObj.height, 10) < 137) =
{
				regObj.height =3D "137";
			}
			doc.title =3D doc.title.slice(0, 47) + " - Flash Player =
Installation";
			var pt =3D ua.ie && ua.win ? "ActiveX" : "PlugIn",
				dt =3D doc.title,
				fv =3D "MMredirectURL=3D" + win.location + "&MMplayerType=3D" + pt + =
"&MMdoctitle=3D" + dt,
				replaceId =3D regObj.id;
			// For IE when a SWF is loading (AND: not available in cache) wait =
for the onload event to fire to remove the original object element
			// In IE you cannot properly cancel a loading SWF file without =
breaking browser load references, also obj.onreadystatechange doesn't =
work
			if (ua.ie && ua.win && obj.readyState !=3D 4) {
				var newObj =3D createElement("div");
				replaceId +=3D "SWFObjectNew";
				newObj.setAttribute("id", replaceId);
				obj.parentNode.insertBefore(newObj, obj); // Insert placeholder div =
that will be replaced by the object element that loads =
expressinstall.swf
				obj.style.display =3D "none";
				var fn =3D function() {
					obj.parentNode.removeChild(obj);
				};
				addListener(win, "onload", fn);
			}
			createSWF({ data:regObj.expressInstall, id:EXPRESS_INSTALL_ID, =
width:regObj.width, height:regObj.height }, { flashvars:fv }, =
replaceId);
		}
	}
=09
	/* Functions to abstract and display alternative content
	*/
	function displayAltContent(obj) {
		if (ua.ie && ua.win && obj.readyState !=3D 4) {
			// For IE when a SWF is loading (AND: not available in cache) wait =
for the onload event to fire to remove the original object element
			// In IE you cannot properly cancel a loading SWF file without =
breaking browser load references, also obj.onreadystatechange doesn't =
work
			var el =3D createElement("div");
			obj.parentNode.insertBefore(el, obj); // Insert placeholder div that =
will be replaced by the alternative content
			el.parentNode.replaceChild(abstractAltContent(obj), el);
			obj.style.display =3D "none";
			var fn =3D function() {
				obj.parentNode.removeChild(obj);
			};
			addListener(win, "onload", fn);
		}
		else {
			obj.parentNode.replaceChild(abstractAltContent(obj), obj);
		}
	}=20

	function abstractAltContent(obj) {
		var ac =3D createElement("div");
		if (ua.win && ua.ie) {
			ac.innerHTML =3D obj.innerHTML;
		}
		else {
			var nestedObj =3D obj.getElementsByTagName(OBJECT)[0];
			if (nestedObj) {
				var c =3D nestedObj.childNodes;
				if (c) {
					var cl =3D c.length;
					for (var i =3D 0; i < cl; i++) {
						if (!(c[i].nodeType =3D=3D 1 && c[i].nodeName =3D=3D "PARAM") && =
!(c[i].nodeType =3D=3D 8)) {
							ac.appendChild(c[i].cloneNode(true));
						}
					}
				}
			}
		}
		return ac;
	}
=09
	/* Cross-browser dynamic SWF creation
	*/
	function createSWF(attObj, parObj, id) {
		var r, el =3D getElementById(id);
		if (el) {
			if (typeof attObj.id =3D=3D UNDEF) { // if no 'id' is defined for the =
object element, it will inherit the 'id' from the alternative content
				attObj.id =3D id;
			}
			if (ua.ie && ua.win) { // IE, the object element and W3C DOM methods =
do not combine: fall back to outerHTML
				var att =3D "";
				for (var i in attObj) {
					if (attObj[i] !=3D Object.prototype[i]) { // Filter out prototype =
additions from other potential libraries, like =
Object.prototype.toJSONString =3D function() {}
						if (i.toLowerCase() =3D=3D "data") {
							parObj.movie =3D attObj[i];
						}
						else if (i.toLowerCase() =3D=3D "styleclass") { // 'class' is an =
ECMA4 reserved keyword
							att +=3D ' class=3D"' + attObj[i] + '"';
						}
						else if (i.toLowerCase() !=3D "classid") {
							att +=3D ' ' + i + '=3D"' + attObj[i] + '"';
						}
					}
				}
				var par =3D "";
				for (var j in parObj) {
					if (parObj[j] !=3D Object.prototype[j]) { // Filter out prototype =
additions from other potential libraries
						par +=3D '<param name=3D"' + j + '" value=3D"' + parObj[j] + '" =
/>';
					}
				}
				el.outerHTML =3D '<object =
classid=3D"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + =
par + '</object>';
				objIdArr[objIdArr.length] =3D attObj.id; // Stored to fix object =
'leaks' on unload (dynamic publishing only)
				r =3D getElementById(attObj.id);=09
			}
			else if (ua.webkit && ua.webkit < 312) { // Older webkit engines =
ignore the object element's nested param elements: fall back to the =
proprietary embed element
				var e =3D createElement("embed");
				e.setAttribute("type", FLASH_MIME_TYPE);
				for (var k in attObj) {
					if (attObj[k] !=3D Object.prototype[k]) { // Filter out prototype =
additions from other potential libraries
						if (k.toLowerCase() =3D=3D "data") {
							e.setAttribute("src", attObj[k]);
						}
						else if (k.toLowerCase() =3D=3D "styleclass") { // 'class' is an =
ECMA4 reserved keyword
							e.setAttribute("class", attObj[k]);
						}
						else if (k.toLowerCase() !=3D "classid") { // Filter out IE =
specific attribute
							e.setAttribute(k, attObj[k]);
						}
					}
				}
				for (var l in parObj) {
					if (parObj[l] !=3D Object.prototype[l]) { // Filter out prototype =
additions from other potential libraries
						if (l.toLowerCase() !=3D "movie") { // Filter out IE specific =
param element
							e.setAttribute(l, parObj[l]);
						}
					}
				}
				el.parentNode.replaceChild(e, el);
				r =3D e;
			}
			else { // Well-behaving browsers
				var o =3D createElement(OBJECT);
				o.setAttribute("type", FLASH_MIME_TYPE);
				for (var m in attObj) {
					if (attObj[m] !=3D Object.prototype[m]) { // Filter out prototype =
additions from other potential libraries
						if (m.toLowerCase() =3D=3D "styleclass") { // 'class' is an ECMA4 =
reserved keyword
							o.setAttribute("class", attObj[m]);
						}
						else if (m.toLowerCase() !=3D "classid") { // Filter out IE =
specific attribute
							o.setAttribute(m, attObj[m]);
						}
					}
				}
				for (var n in parObj) {
					if (parObj[n] !=3D Object.prototype[n] && n.toLowerCase() !=3D =
"movie") { // Filter out prototype additions from other potential =
libraries and IE specific param element
						createObjParam(o, n, parObj[n]);
					}
				}
				el.parentNode.replaceChild(o, el);
				r =3D o;
			}
		}
		return r;
	}
=09
	function createObjParam(el, pName, pValue) {
		var p =3D createElement("param");
		p.setAttribute("name", pName);=09
		p.setAttribute("value", pValue);
		el.appendChild(p);
	}
=09
	/* Cross-browser SWF removal
		- Especially needed to safely and completely remove a SWF in Internet =
Explorer
	*/
	function removeSWF(id) {
		var obj =3D getElementById(id);
		if (obj && (obj.nodeName =3D=3D "OBJECT" || obj.nodeName =3D=3D =
"EMBED")) {
			if (ua.ie && ua.win) {
				if (obj.readyState =3D=3D 4) {
					removeObjectInIE(id);
				}
				else {
					win.attachEvent("onload", function() {
						removeObjectInIE(id);
					});
				}
			}
			else {
				obj.parentNode.removeChild(obj);
			}
		}
	}
=09
	function removeObjectInIE(id) {
		var obj =3D getElementById(id);
		if (obj) {
			for (var i in obj) {
				if (typeof obj[i] =3D=3D "function") {
					obj[i] =3D null;
				}
			}
			obj.parentNode.removeChild(obj);
		}
	}
=09
	/* Functions to optimize JavaScript compression
	*/
	function getElementById(id) {
		var el =3D null;
		try {
			el =3D doc.getElementById(id);
		}
		catch (e) {}
		return el;
	}
=09
	function createElement(el) {
		return doc.createElement(el);
	}
=09
	/* Updated attachEvent function for Internet Explorer
		- Stores attachEvent information in an Array, so on unload the =
detachEvent functions can be called to avoid memory leaks
	*/=09
	function addListener(target, eventType, fn) {
		target.attachEvent(eventType, fn);
		listenersArr[listenersArr.length] =3D [target, eventType, fn];
	}
=09
	/* Flash Player and SWF content version matching
	*/
	function hasPlayerVersion(rv) {
		var pv =3D ua.pv, v =3D rv.split(".");
		v[0] =3D parseInt(v[0], 10);
		v[1] =3D parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" =
instead of "9.0.0"
		v[2] =3D parseInt(v[2], 10) || 0;
		return (pv[0] > v[0] || (pv[0] =3D=3D v[0] && pv[1] > v[1]) || (pv[0] =
=3D=3D v[0] && pv[1] =3D=3D v[1] && pv[2] >=3D v[2])) ? true : false;
	}
=09
	/* Cross-browser dynamic CSS creation
		- Based on Bobby van der Sluis' solution: =
http://www.bobbyvandersluis.com/articles/dynamicCSS.php
	*/=09
	function createCSS(sel, decl) {
		if (ua.ie && ua.mac) {
			return;
		}
		var h =3D doc.getElementsByTagName("head")[0], s =3D =
createElement("style");
		s.setAttribute("type", "text/css");
		s.setAttribute("media", "screen");
		if (!(ua.ie && ua.win) && typeof doc.createTextNode !=3D UNDEF) {
			s.appendChild(doc.createTextNode(sel + " {" + decl + "}"));
		}
		h.appendChild(s);
		if (ua.ie && ua.win && typeof doc.styleSheets !=3D UNDEF && =
doc.styleSheets.length > 0) {
			var ls =3D doc.styleSheets[doc.styleSheets.length - 1];
			if (typeof ls.addRule =3D=3D OBJECT) {
				ls.addRule(sel, decl);
			}
		}
	}
=09
	function setVisibility(id, isVisible) {
		var v =3D isVisible ? "visible" : "hidden";
		if (isDomLoaded && getElementById(id)) {
			getElementById(id).style.visibility =3D v;
		}
		else {
			createCSS("#" + id, "visibility:" + v);
		}
	}

	/* Filter to avoid XSS attacks=20
	*/
	function urlEncodeIfNecessary(s) {
		var regex =3D /[\\\"<>\.;]/;
		var hasBadChars =3D regex.exec(s) !=3D null;
		return hasBadChars ? encodeURIComponent(s) : s;
	}
=09
	/* Release memory to avoid memory leaks caused by closures, fix hanging =
audio/video threads and force open sockets/NetConnections to disconnect =
(Internet Explorer only)
	*/
	var cleanup =3D function() {
		if (ua.ie && ua.win) {
			window.attachEvent("onunload", function() {
				// remove listeners to avoid memory leaks
				var ll =3D listenersArr.length;
				for (var i =3D 0; i < ll; i++) {
					listenersArr[i][0].detachEvent(listenersArr[i][1], =
listenersArr[i][2]);
				}
				// cleanup dynamically embedded objects to fix audio/video threads =
and force open sockets and NetConnections to disconnect
				var il =3D objIdArr.length;
				for (var j =3D 0; j < il; j++) {
					removeSWF(objIdArr[j]);
				}
				// cleanup library's main closures to avoid memory leaks
				for (var k in ua) {
					ua[k] =3D null;
				}
				ua =3D null;
				for (var l in swfobject) {
					swfobject[l] =3D null;
				}
				swfobject =3D null;
			});
		}
	}();
=09
=09
	return {
		/* Public API
			- Reference: =
http://code.google.com/p/swfobject/wiki/SWFObject_2_0_documentation
		*/=20
		registerObject: function(objectIdStr, swfVersionStr, xiSwfUrlStr) {
			if (!ua.w3cdom || !objectIdStr || !swfVersionStr) {
				return;
			}
			var regObj =3D {};
			regObj.id =3D objectIdStr;
			regObj.swfVersion =3D swfVersionStr;
			regObj.expressInstall =3D xiSwfUrlStr ? xiSwfUrlStr : false;
			regObjArr[regObjArr.length] =3D regObj;
			setVisibility(objectIdStr, false);
		},
	=09
		getObjectById: function(objectIdStr) {
			var r =3D null;
			if (ua.w3cdom) {
				var o =3D getElementById(objectIdStr);
				if (o) {
					var n =3D o.getElementsByTagName(OBJECT)[0];
					if (!n || (n && typeof o.SetVariable !=3D UNDEF)) {
							r =3D o;
					}
					else if (typeof n.SetVariable !=3D UNDEF) {
						r =3D n;
					}
				}
			}
			return r;
		},
	=09
		embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, =
swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj) {
			if (!ua.w3cdom || !swfUrlStr || !replaceElemIdStr || !widthStr || =
!heightStr || !swfVersionStr) {
				return;
			}
			widthStr +=3D ""; // Auto-convert to string
			heightStr +=3D "";
			if (hasPlayerVersion(swfVersionStr)) {
				setVisibility(replaceElemIdStr, false);
				var att =3D {};
				if (attObj && typeof attObj =3D=3D=3D OBJECT) {
					for (var i in attObj) {
						if (attObj[i] !=3D Object.prototype[i]) { // Filter out prototype =
additions from other potential libraries
							att[i] =3D attObj[i];
						}
					}
				}
				att.data =3D swfUrlStr;
				att.width =3D widthStr;
				att.height =3D heightStr;
				var par =3D {};=20
				if (parObj && typeof parObj =3D=3D=3D OBJECT) {
					for (var j in parObj) {
						if (parObj[j] !=3D Object.prototype[j]) { // Filter out prototype =
additions from other potential libraries
							par[j] =3D parObj[j];
						}
					}
				}
				if (flashvarsObj && typeof flashvarsObj =3D=3D=3D OBJECT) {
					for (var k in flashvarsObj) {
						if (flashvarsObj[k] !=3D Object.prototype[k]) { // Filter out =
prototype additions from other potential libraries
							if (typeof par.flashvars !=3D UNDEF) {
								par.flashvars +=3D "&" + k + "=3D" + flashvarsObj[k];
							}
							else {
								par.flashvars =3D k + "=3D" + flashvarsObj[k];
							}
						}
					}
				}
				addDomLoadEvent(function() {
					createSWF(att, par, replaceElemIdStr);
					if (att.id =3D=3D replaceElemIdStr) {
						setVisibility(replaceElemIdStr, true);
					}
				});
			}
			else if (xiSwfUrlStr && !isExpressInstallActive && =
hasPlayerVersion("6.0.65") && (ua.win || ua.mac)) {
				isExpressInstallActive =3D true; // deferred execution
				setVisibility(replaceElemIdStr, false);
				addDomLoadEvent(function() {
					var regObj =3D {};
					regObj.id =3D regObj.altContentId =3D replaceElemIdStr;
					regObj.width =3D widthStr;
					regObj.height =3D heightStr;
					regObj.expressInstall =3D xiSwfUrlStr;
					showExpressInstall(regObj);
				});
			}
		},
	=09
		getFlashPlayerVersion: function() {
			return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] };
		},
	=09
		hasFlashPlayerVersion: hasPlayerVersion,
	=09
		createSWF: function(attObj, parObj, replaceElemIdStr) {
			if (ua.w3cdom) {
				return createSWF(attObj, parObj, replaceElemIdStr);
			}
			else {
				return undefined;
			}
		},
	=09
		removeSWF: function(objElemIdStr) {
			if (ua.w3cdom) {
				removeSWF(objElemIdStr);
			}
		},
	=09
		createCSS: function(sel, decl) {
			if (ua.w3cdom) {
				createCSS(sel, decl);
			}
		},
	=09
		addDomLoadEvent: addDomLoadEvent,
	=09
		addLoadEvent: addLoadEvent,
	=09
		getQueryParamValue: function(param) {
			var q =3D doc.location.search || doc.location.hash;
			if (param =3D=3D null) {
				return urlEncodeIfNecessary(q);
			}
			if (q) {
				var pairs =3D q.substring(1).split("&");
				for (var i =3D 0; i < pairs.length; i++) {
					if (pairs[i].substring(0, pairs[i].indexOf("=3D")) =3D=3D param) {
						return =
urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf("=3D") + 1)));
					}
				}
			}
			return "";
		},
	=09
		// For internal usage only
		expressInstallCallback: function() {
			if (isExpressInstallActive && storedAltContent) {
				var obj =3D getElementById(EXPRESS_INSTALL_ID);
				if (obj) {
					obj.parentNode.replaceChild(storedAltContent, obj);
					if (storedAltContentId) {
						setVisibility(storedAltContentId, true);
						if (ua.ie && ua.win) {
							storedAltContent.style.display =3D "block";
						}
					}
					storedAltContent =3D null;
					storedAltContentId =3D null;
					isExpressInstallActive =3D false;
				}
			}=20
		}
	};
}();

------=_NextPart_000_0000_01CB9AEA.2C5824F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/js/flippingbook.js

function FlippingBook() {
	this.pages =3D [];
	this.zoomPages =3D [];
	this.printPages =3D [];
	this.contents =3D [];

	this.stageWidth =3D "100%";
	this.stageHeight =3D "100%";
=09
	this.settings =3D {
			bookWidth: 640,
			bookHeight: 480,
			pagesSet: this.pages,
			zoomPagesSet: this.zoomPages,
			printPagesSet: this.printPages,
			scaleContent: true,
			preserveProportions: false,
			centerContent: true,
			hardcover: false,
			hardcoverThickness: 3,
			hardcoverEdgeColor: 0xFFFFFF,
			highlightHardcover: true,
			frameWidth: 0,
			frameColor: 0xFFFFFF,
			frameAlpha: 100,
			firstPageNumber: 1,
			autoFlipSize: 50,
			navigationFlipOffset: 30,
			flipOnClick: true,
			handOverCorner: true,
			handOverPage: true,
			alwaysOpened: false,
			staticShadowsType: "Asymmetric", // Asymmetric, Symmetric, Default
			staticShadowsDepth: 1,
			staticShadowsLightColor: 0xFFFFFF, // works for "Symmetric" shadows =
only
			staticShadowsDarkColor: 0x000000,
			dynamicShadowsDepth: 1,
			dynamicShadowsLightColor: 0xFFFFFF, // works for "dark" pages only
			dynamicShadowsDarkColor: 0x000000,
			moveSpeed: 2,
			closeSpeed: 3,
			gotoSpeed: 3,
			rigidPageSpeed: 5,
			flipSound: "",
			hardcoverSound: "",
			preloaderType: "Thin", // "Progress Bar", "Round", "Thin", "Dots", =
"Gradient Wheel", "Gear Wheel", "Line", "Animated Book", "None"
			pageBackgroundColor: 0x99CCFF,
			loadOnDemand: true,
			allowPagesUnload: true,
			showUnderlyingPages: false,
			playOnDemand: true,
			freezeOnFlip: false,
			darkPages: false,
			smoothPages: false,
			rigidPages: false,
			flipCornerStyle: "manually",// "first page only", "each page", =
"manually"
			flipCornerPosition: "bottom-right",// =
"bottom-right","top-right","bottom-left","top-left"
			flipCornerAmount: 50,
			flipCornerAngle: 20,
			flipCornerRelease: true,
			flipCornerVibrate: true,
			flipCornerPlaySound: false,
			zoomEnabled: true,
			zoomPath: "pages/large/",
			zoomImageWidth: 900,
			zoomImageHeight: 1165,
			zoomOnClick: true,
			zoomUIColor: 0x8f9ea6,
			zoomHint: "Double click for zooming.",
			zoomHintEnabled: false,
			centerBook: true,	=09
			useCustomCursors: true,
			dropShadowEnabled: true,
			dropShadowHideWhenFlipping: true,
			backgroundColor: 0xFFFFFF,
			backgroundImage: "img/bookBackground.jpg",
			backgroundImagePlacement: "fit", //  "top left", "center", "fit"
			printEnabled: true,
			printTitle: "Print Pages",
			downloadURL: "",
			downloadTitle: "Download PDF",
			downloadSize: "Size: 4.7 Mb",
			downloadComplete: "Complete",
			extXML: ""
		};
	=09
		this.containerId =3D "fbContainer";
		this.forwardButtonId =3D "fbForwardButton";
		this.backButtonId =3D "fbBackButton";
		this.zoomButtonId =3D "fbZoomButton";
		this.printButtonId =3D "fbPrintButton";
		this.downloadButtonId =3D "fbDownloadButton";
		this.currentPagesId =3D "fbCurrentPages";
		this.totalPagesId =3D "fbTotalPages";
		this.contentsMenuId =3D "fbContentsMenu";	=09
};

FlippingBook.prototype.create =3D function(){
	this.settings.pagesSet =3D this.pages;
	this.settings.zoomPagesSet =3D this.zoomPages;
	this.settings.printPagesSet =3D this.printPages;
=09
	if( location.hash.substr(1) !=3D "" )
		this.settings.firstPageNumber =3D location.hash.substr(1);
=09
	this.addLoadEvent( this.onWindowLoad );
	swfobject.embedSWF("FlippingBook.swf", this.containerId, =
this.stageWidth, this.stageHeight, "8.0.0", "js/expressInstall.swf", =
this.settings, {allowScriptAccess: "always", bgcolor:  "#" + =
this.settings.backgroundColor.toString( 16 ) });
}

FlippingBook.prototype.getFlippingBookReference =3D function() {
	return this.getObjectReference( this.containerId );
}

FlippingBook.prototype.getObjectReference =3D function( id ) {
	return document.getElementById( id );
}

FlippingBook.prototype.flipForward =3D function() {
	flippingBook.getFlippingBookReference().flipForward();
}

FlippingBook.prototype.flipBack =3D function() {
	flippingBook.getFlippingBookReference().flipBack();
}

FlippingBook.prototype.zoomButtonClick =3D function() {
	if( flippingBook.getFlippingBookReference().isZoomedIn() )
		flippingBook.zoomOut();
	else
		flippingBook.zoomIn();
}

FlippingBook.prototype.zoomIn =3D function() {
	this.getFlippingBookReference().zoomIn();
}

FlippingBook.prototype.zoomOut =3D function() {
	this.getFlippingBookReference().zoomOut();
}

FlippingBook.prototype.print =3D function() {=09
	flippingBook.getFlippingBookReference().print();
}

FlippingBook.prototype.downloadFile =3D function() {=09
	if( flippingBook.settings.downloadURL )
		flippingBook.getFlippingBookReference().downloadFile();
}

FlippingBook.prototype.onWindowLoad =3D function(){=09
	var forwardButton =3D flippingBook.getObjectReference( =
flippingBook.forwardButtonId );
	if( forwardButton ){
		forwardButton.style.cursor =3D "pointer";
		forwardButton.onclick =3D flippingBook.flipForward;
	}
=09
	var backButton =3D flippingBook.getObjectReference( =
flippingBook.backButtonId );
	if( backButton ){
		backButton.style.cursor =3D "pointer";
		backButton.onclick =3D flippingBook.flipBack;
	}
=09
	var zoomButton =3D flippingBook.getObjectReference( =
flippingBook.zoomButtonId );
	if( zoomButton ){
		zoomButton.style.cursor =3D "pointer";
		zoomButton.onclick =3D flippingBook.zoomButtonClick;
	}
=09
	var printButton =3D flippingBook.getObjectReference( =
flippingBook.printButtonId );
	if( printButton ){
		printButton.style.cursor =3D "pointer";
		printButton.onclick =3D flippingBook.print;
	}

	var downloadButton =3D flippingBook.getObjectReference( =
flippingBook.downloadButtonId );
	if( downloadButton ){
		downloadButton.style.cursor =3D "pointer";
		downloadButton.onclick =3D flippingBook.downloadFile;
	}
=09
	flippingBook.buildContentsMenu();
}

FlippingBook.prototype.onPutPage =3D function( leftPageNumber, =
rightPageNumber ){
	this.updatePagination( leftPageNumber, rightPageNumber );
	this.updateContentsMenu( leftPageNumber, rightPageNumber );
}

FlippingBook.prototype.updatePagination =3D function( leftPageNumber, =
rightPageNumber ){
	var leftPageExists =3D ( leftPageNumber !=3D undefined );
	var rightPageExists =3D ( rightPageNumber !=3D undefined );
		=09
	var pageNumberString =3D leftPageNumber + "-" + rightPageNumber;
	if( !leftPageExists )
		pageNumberString =3D rightPageNumber;=09
	if( !rightPageExists )
		pageNumberString =3D leftPageNumber;

	this.getObjectReference( this.currentPagesId ).innerHTML =3D =
pageNumberString;
	this.getObjectReference( this.totalPagesId ).innerHTML =3D " / " + =
this.getFlippingBookReference().totalPages();=09
}

FlippingBook.prototype.buildContentsMenu =3D function(){
	var contentsSelect =3D this.getObjectReference( this.contentsMenuId );
=09
	if( contentsSelect ){
		for( var i =3D 0; i < this.contents.length; i++ )
			contentsSelect.options[i] =3D new Option(this.contents[i][0], =
this.contents[i][1]);
		=09
		contentsSelect.onchange =3D this.onContentsChange;
	}
}

FlippingBook.prototype.onContentsChange =3D function(){
	var contentsSelect =3D flippingBook.getObjectReference( =
flippingBook.contentsMenuId );
	var pageNumber =3D =
contentsSelect.options[contentsSelect.selectedIndex].value;
=09
	if( pageNumber )
		flippingBook.getFlippingBookReference().flipGotoPage( pageNumber );
}

FlippingBook.prototype.updateContentsMenu =3D function( leftPageNumber, =
rightPageNumber ){
	var contentsSelect =3D flippingBook.getObjectReference( =
flippingBook.contentsMenuId );

	if( contentsSelect ){
		for( var i =3D 0; i < this.contents.length - 1; i++ ){
			var minPage =3D contentsSelect.options[i].value;
			var maxPage =3D contentsSelect.options[i+1].value;
			var leftOK =3D false;
			var rightOK =3D false;
		=09
			if( leftPageNumber )
				leftOK =3D ( Number( leftPageNumber ) >=3D  minPage && Number( =
leftPageNumber ) <=3D maxPage );
			else
				leftOK =3D true;

			if( rightPageNumber )
				rightOK =3D ( Number( rightPageNumber ) >=3D  minPage && Number( =
rightPageNumber ) <=3D maxPage );
			else
				rightOK =3D true;
			=09
			if( leftOK && rightOK )=09
				break;
		}=09
		contentsSelect.selectedIndex =3D i;
	}
}

FlippingBook.prototype.getWindowHeight =3D function() {
	var windowHeight =3D 0;
=09
	if (typeof(window.innerHeight) =3D=3D 'number' ) {
		windowHeight=3Dwindow.innerHeight;
	}
	else {
		if (document.documentElement &&	document.documentElement.clientHeight) =
{
				windowHeight =3D document.documentElement.clientHeight;
		}
		else {
			if (document.body&&document.body.clientHeight) {
				windowHeight=3Ddocument.body.clientHeight;
			}
		}
	}
=09
	return windowHeight;
}

FlippingBook.prototype.addLoadEvent =3D function ( fn ) {
	if (typeof window.addEventListener !=3D "undefined") {
		window.addEventListener("load", fn, false);
	}
	else if (typeof document.addEventListener !=3D "undefined") {
		document.addEventListener("load", fn, false);
	}
	else if (typeof window.attachEvent !=3D "undefined") {
		window.attachEvent("onload", fn);
	}
	else if (typeof window.onload =3D=3D "function") {
		var fnOld =3D window.onload;
		window.onload =3D function() {
			fnOld();
			fn();
		};
	}
	else {
		window.onload =3D fn;
	}
}

FlippingBook.prototype.handleWheel =3D function ( delta ){
	this.getFlippingBookReference().onWheelScroll( delta );
}

flippingBook =3D new FlippingBook();

function wheel(event){
	var delta =3D 0;
	if (!event) event =3D window.event;
	if (event.wheelDelta) {
		delta =3D event.wheelDelta/120;=20
		if (window.opera) delta =3D -delta;
	} else if (event.detail) {
		delta =3D -event.detail/3;
	}
	if (delta)
		flippingBook.handleWheel(delta);
        if (event.preventDefault)
                event.preventDefault();
        event.returnValue =3D false;
}

if (window.addEventListener)
	window.addEventListener('DOMMouseScroll', wheel, false);
window.onmousewheel =3D document.onmousewheel =3D wheel;
------=_NextPart_000_0000_01CB9AEA.2C5824F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cbe.ab.ca/aboutus/ebooks/MyStudentandCBE/js/bookSettings.js

flippingBook.pages =3D [
	"pages/page-1.jpg",
	"pages/page-2.jpg",
	"pages/page-3.jpg",
	"pages/page-4.jpg",
	"pages/page-5.jpg",
	"pages/page-6.jpg",
	"pages/page-7.jpg",
	"pages/page-8.jpg",
	"pages/page-9.jpg",
	"pages/page-10.jpg",
	"pages/page-11.jpg",
	"pages/page-12.jpg",
	"pages/page-13.jpg",
	"pages/page-14.jpg",
	"pages/page-15.jpg",
	"pages/page-16.jpg",
	"pages/page-17.jpg",
	"pages/page-18.jpg",
	"pages/page-19.jpg",
	"pages/page-20.jpg",
	"pages/page-21.jpg",
	"pages/page-22.jpg",
	"pages/page-23.jpg",
	"pages/page-24.jpg",
	"pages/page-25.jpg",
	"pages/page-26.jpg",
	"pages/page-27.jpg",
	"pages/page-28.jpg",
	"pages/page-29.jpg",
	"pages/page-30.jpg",
	"pages/page-31.jpg",
	"pages/page-32.jpg",
	"pages/page-33.jpg",
	"pages/page-34.jpg",
	"pages/page-35.jpg",
	"pages/page-36.jpg",
	"pages/page-37.jpg",
	"pages/page-38.jpg",
	"pages/page-39.jpg",
	"pages/page-40.jpg"
];


flippingBook.contents =3D [
	[ "Cover", 1 ],
	[ "Table of Contents", 3 ],
	[ "Role of CBE - What Parents can Expect", 4 ],
	[ "Where Parents can Get More Information and Guidance", 7 ],
	[ "Frequently Asked Questions", 9 ],
	[ "Appendix A: References", 13 ],
	[ "Appendix B: Definition of a Parent (School Act)", 14 ],
	[ "Appendix C: Responsibilities of Parents", 15 ],
	[ "Appendix D: School Discipline", 16 ],
	[ "Appendix E: Suicide Prevention, Intervention and Postvention", 36 ]
];

// define custom book settings here
flippingBook.settings.bookWidth =3D 826;
flippingBook.settings.bookHeight =3D 502;
flippingBook.settings.pageBackgroundColor =3D 0xffffff;
flippingBook.settings.backgroundColor =3D 0x99ccff;
flippingBook.settings.zoomUIColor =3D 0xffffff;
flippingBook.settings.useCustomCursors =3D false;
flippingBook.settings.dropShadowEnabled =3D true,
flippingBook.settings.zoomImageWidth =3D 992;
flippingBook.settings.zoomImageHeight =3D 1205;
flippingBook.settings.downloadURL =3D =
"http://www.cbe.ab.ca/aboutus/documents/MyStudentandCBE.pdf";
flippingBook.settings.downloadSize =3D "Size: 1.5MB";
flippingBook.settings.flipSound =3D "sounds/02.mp3";
flippingBook.settings.flipCornerStyle =3D "first page only";
flippingBook.settings.zoomHintEnabled =3D true;
flippingBook.settings.printEnabled=3Dfalse;

// default settings can be found in the flippingbook.js file
flippingBook.create();

------=_NextPart_000_0000_01CB9AEA.2C5824F0--

