From: <Saved by Windows Internet Explorer 7>
Subject: FA07LIS451AL1: Syllabus
Date: Wed, 17 Oct 2007 13:20:24 -0500
MIME-Version: 1.0
Content-Type: multipart/related;
	type="multipart/alternative";
	boundary="----=_NextPart_000_0000_01C810C0.79E4EB70"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01C810C0.79E4EB70
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://courses.lis.uiuc.edu/theme/gslis-v1/logo_small.gif

R0lGODlhbwAyAIQAARZMhCRKjFp4qI6jxKy+1MvV5OXq9O/z9/v9/Nzi7L7L3GyGtFNypEZonDxe
lSlRjXOMtNXd6puty3yVvLzG3ISavKS0zmR+rDNZlLTC1mSCrFx+rAAAAAAAAAAAAAAAACwAAAAA
bwAyAAQF/iAgjmRpnmiqrmzrvnAsz3Rt33iu73zv/8CgcEgsGo/IpBIQEAwIBcPhgJgeEgrCYMFo
OEoPCCEipU4jBMmkMRkoCpQ4fFD50h4LqLV6QFsmAjUPFQUICAkUFhYDAxIWCgmGhlcKgSIQEQgG
FHQVFRaFkw0PDhUGkggDowE0C4UHnBUTn6FVBDQQhQkWFw2sJAEPDRcStQcLAA8ShhYMvyMOFwqH
GCMDkgUPNQHLCM3PItEUmhIyAeOpDS5spwnOFoYV4CUOCgbaIhOSGdU08AjyUmCgYGBAjAfTDkCY
x2LBFQcaqFBgWIJBAnwA9BkigDHGBSoKOp7QkMDgiwCF/gxYkjHAHQFDEFhg4DdigSQLIlEEGMAJ
XwaYLBqkgQHvQIUaDCjkMnShha+aN3OegCDJIIZMCFamCNBAnQsGVApQdOFAQkugMWwyk2riH4KJ
DSIhQNbj1dFtDSCcQkBgbAq13tiWoGrIYFxDFHpoMHQRx2FDE9JGbREAwh9WGGrd1THNW44HPyU1
fQEY50kmX0Ibout4UuQcH1G9bnFhsoswWB5soCJpsw2NBxjs6CaJQr8VpQWTYJCBt4IvbhEfp/FS
0/QbD9BJMiB8Re21KzAQUMAbgYJ+2g2ptIHVgN8ZGDqjMv3X9lZtApzbQYjKkITrL+yVwHszBEBA
eeqN/nbCd4GRhdVzIwRgAYKasAYDb+6ZE8A8G1pDYSoUJUdWKOeVUMGHAxBoAoYArtAAI2kw4sgf
dgAgQC375MQgfTJ1BmFFOBpS4gu8BXdQAwukZwAET0UoAYU/QgVeCw6Q2OIDA1BYQI0sYKXQHXul
ksIFQWZDwo7KkRCfkFyWQGZ/ZrZQHV80nDNJTCk4oJp/JIjYQmZCtgjNngiU04JGh6h4Amh3rsAN
Kgd4BcBiU/bIpqPEVSGpCg1I8qU5oX26QqYWSNngnyS2iQKpLtSiQIGh4smCfAWYymN4VrpAqwsM
HqCVCwHE+pUkjQHgp6XmqYoCA8SmKUIAcr2lKDDC/lLGWwL9AEaAoCYAah63JQRwLbhnomLSSar5
tkIoEfwCWAbOiuBtlCywO62BnspKmWqGtoBVqZcUR+4Ia377wr8weFvFbCwEK0lILTwwyUqI0ovC
Ahh4G8GmKkhcxa9ByXfAAPHiKwnDKWg00QiIRqCsmhQ4oLCCK6g8rZrRJYAyCvJVYeEJ+VFDQgWe
vswytlVKEsHAQWNb5wLR9lGBoI/2N/JYE4TFcabnntBAH1xFa153KGSNQAEcy/DABGL3QYAsEFTg
xofbWbBAVw1sMMBetwJQcHEQCIB3Vws8eTYGhEFawAAXdOHAMGd5Y3QMATBQgT39ZX6AAhM4IAAB
MVJ4OoUhBVTAMQYCRIegFaNvFwHdkLa+eNpL1G777bjnrvvuvPfu++/ABy/88MTvEAIAOw==

------=_NextPart_000_0000_01C810C0.79E4EB70
Content-Type: application/x-php
Content-Transfer-Encoding: quoted-printable
Content-Location: http://courses.lis.uiuc.edu/theme/standard/styles.php

H1.main {
	TEXT-ALIGN: center
}
H2.main {
	TEXT-ALIGN: center
}
H3.main {
	TEXT-ALIGN: center
}
H4.main {
	TEXT-ALIGN: center
}
H5.main {
	TEXT-ALIGN: center
}
H6.main {
	TEXT-ALIGN: center
}
#layout-table {
	MARGIN-TOP: 8px; WIDTH: 100%; BORDER-COLLAPSE: separate
}
#layout-table #left-column {
	VERTICAL-ALIGN: top
}
#layout-table #middle-column {
	VERTICAL-ALIGN: top
}
#layout-table #right-column {
	VERTICAL-ALIGN: top
}
#layout-table #middle-column {
	PADDING-RIGHT: 12px; PADDING-LEFT: 12px
}
.clearer {
	CLEAR: both; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; =
BACKGROUND: none transparent scroll repeat 0% 0%; PADDING-BOTTOM: 0px; =
MARGIN: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; HEIGHT: 1px; =
BORDER-BOTTOM-STYLE: none
}
.clearfix:unknown {
	CLEAR: both; DISPLAY: block; VISIBILITY: hidden; HEIGHT: 0px; content: =
"."
}
.clearfix {
	MIN-WIDTH: 0px
}
* HTML .clearfix {
	HEIGHT: 1%
}
.clearfix {
	DISPLAY: block
}
.mdl-align {
	TEXT-ALIGN: center
}
.continuebutton {
	TEXT-ALIGN: center
}
FORM {
	MARGIN-BOTTOM: 0px
}
TABLE {
	BORDER-COLLAPSE: collapse; border-spacing: 0px
}
A IMG {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
IMG.userpicture {
	BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; BORDER-LEFT: 0px solid; =
BORDER-BOTTOM: 0px solid
}
IMG.grouppicture {
	BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; BORDER-LEFT: 0px solid; =
BORDER-BOTTOM: 0px solid
}
.block_online_users .listentry IMG {
	BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; BORDER-LEFT: 0px solid; =
BORDER-BOTTOM: 0px solid
}
.notifyproblem {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 10px; TEXT-ALIGN: center
}
.notifysuccess {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 10px; TEXT-ALIGN: center
}
.notifytiny {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; TEXT-ALIGN: left
}
.generalbox {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; MARGIN-BOTTOM: 15px; =
BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid
}
.generalbox#intro {
=09
}
.noticebox {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid
}
.errorbox {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; MARGIN: 1em 15%; =
BORDER-LEFT: 1px solid; WIDTH: 70%; BORDER-BOTTOM: 1px solid
}
.errorbox .title {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.informationbox {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid
}
.feedbackbox {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid
}
.feedbackby {
=09
}
.feedback {
=09
}
.generaltable {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid
}
.generaltable .cell {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid; BORDER-COLLAPSE: collapse
}
.initialbar {
	TEXT-ALIGN: center
}
#help .indent {
	MARGIN-LEFT: 3em
}
.tabledivider {
	BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; BORDER-LEFT: 0px solid; =
BORDER-BOTTOM: 1px solid
}
.sitetopic {
	MARGIN-BOTTOM: 20px
}
.sitetopiccontent {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid
}
.pagingbar {
	TEXT-ALIGN: center
}
.pagingbar A {
	PADDING-LEFT: 10px
}
.pagingbar .thispage {
	PADDING-LEFT: 10px
}
TABLE.formtable {
	MARGIN: auto
}
TABLE.formtable TBODY TH {
	VERTICAL-ALIGN: top
}
TABLE.formtable TBODY TD {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
TABLE.formtable TBODY TH {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
TABLE.formtable TBODY .htmlarea TD {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
TABLE.formtable TBODY .htmlarea TH {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.paging {
	MARGIN: 10px 0px; TEXT-ALIGN: center
}
.unread {
	PADDING-RIGHT: 2px
}
.cell {
	VERTICAL-ALIGN: top
}
.helplink IMG {
	MARGIN: 0px 2px; VERTICAL-ALIGN: middle; WIDTH: 17px; HEIGHT: 17px
}
IMG.emoticon {
	VERTICAL-ALIGN: middle; WIDTH: 15px; HEIGHT: 15px
}
FORM.popupform {
	DISPLAY: inline
}
.accesshide {
	FONT-WEIGHT: normal; FONT-SIZE: 1em; LEFT: 10px; POSITION: absolute; =
TOP: -1000px
}
SPAN.hide {
	DISPLAY: none
}
DIV.hide {
	DISPLAY: none
}
FORM.mform {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; WIDTH: 100%; PADDING-TOP: 0px
}
FORM.mform FIELDSET {
	BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: black =
1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 10px; MARGIN: 0px; =
BORDER-LEFT: black 1px solid; WIDTH: 100%; PADDING-TOP: 10px; =
BORDER-BOTTOM: black 1px solid
}
FORM.mform FIELDSET.hidden {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
FORM.mform FIELDSET.felement {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
FORM.mform FIELDSET.felement {
	WIDTH: auto
}
FORM.mform FIELDSET LEGEND {
	FONT-WEIGHT: bold
}
FORM.mform DIV.fitem {
	CLEAR: both; MIN-HEIGHT: 1.5em; WIDTH: 100%
}
FORM.mform LABEL {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FLOAT: left; =
PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 30%; PADDING-TOP: 0px; =
TEXT-ALIGN: right
}
DIV.fitem FIELDSET.fgroup LABEL {
	DISPLAY: inline; FLOAT: none; WIDTH: auto
}
DIV.fradio LABEL {
	DISPLAY: inline; FLOAT: none; WIDTH: auto
}
DIV.fcheckbox LABEL {
	DISPLAY: inline; FLOAT: none; WIDTH: auto
}
FORM.mform DIV.felement {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FLOAT: left; =
PADDING-BOTTOM: 0px; MARGIN: 5px 0px 0px 10px; PADDING-TOP: 0px; =
TEXT-ALIGN: left
}
FORM.mform FIELDSET.felement {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FLOAT: left; =
PADDING-BOTTOM: 0px; MARGIN: 5px 0px 0px 10px; PADDING-TOP: 0px; =
TEXT-ALIGN: left
}
FORM.mform DIV.fdescription {
	CLEAR: both; MIN-HEIGHT: 1.5em
}
FORM.mform INPUT {
	WIDTH: auto
}
FORM.mform SELECT {
	WIDTH: auto
}
FORM.mform ftextarea {
=09
}
FORM.mform BR {
	CLEAR: left
}
FORM.mform DIV.fhtmleditor {
	CLEAR: both; FLOAT: none; MARGIN: 0px auto 10px; WIDTH: 600px
}
FORM.mform SPAN.error {
	COLOR: red
}
FORM.mform SPAN.required {
	COLOR: red
}
FORM.mform DIV.error {
	BORDER-RIGHT: red 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: red 1px =
solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: red 1px =
solid; PADDING-TOP: 5px; BORDER-BOTTOM: red 1px solid
}
FORM.mform FIELDSET.error {
	BORDER-RIGHT: red 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: red 1px =
solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: red 1px =
solid; PADDING-TOP: 5px; BORDER-BOTTOM: red 1px solid
}
FORM#adminsettings DIV.htmlarea {
	CLEAR: left; PADDING-TOP: 5px
}
.headerskip {
	FONT-SIZE: 0.8em; RIGHT: 20em; POSITION: absolute
}
#header-home {
=09
}
#header {
=09
}
.headermain {
	PADDING-RIGHT: 0%; PADDING-LEFT: 0%; FLOAT: left; PADDING-BOTTOM: 0%; =
MARGIN: 0%; PADDING-TOP: 0%
}
H1.headermain {
	PADDING-RIGHT: 0%; PADDING-LEFT: 0%; FLOAT: left; PADDING-BOTTOM: 0%; =
MARGIN: 0%; PADDING-TOP: 0%
}
.headermenu {
	FLOAT: right; TEXT-ALIGN: right
}
.navbar {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 0.5em; BORDER-TOP: 1px solid; =
PADDING-LEFT: 0.5em; PADDING-BOTTOM: 3px; BORDER-LEFT: 1px solid; WIDTH: =
auto; PADDING-TOP: 3px; BORDER-BOTTOM: 1px solid
}
TABLE.navbar {
	WIDTH: 100%
}
.navbar .navbutton FORM {
	FLOAT: left
}
.navbar .navbutton {
	MARGIN-TOP: 3px
}
.navbar .breadcrumb {
	FLOAT: left; MARGIN: 0.2em 0em
}
.breadcrumb UL {
	PADDING-RIGHT: 0%; PADDING-LEFT: 0%; PADDING-BOTTOM: 0%; MARGIN: 0%; =
TEXT-INDENT: 0%; PADDING-TOP: 0%; LIST-STYLE-TYPE: none
}
.breadcrumb LI {
	DISPLAY: inline
}
.navbar .navbutton {
	FLOAT: right
}
.navbar .menu {
	FLOAT: right
}
#footer .navbar {
	MARGIN-TOP: 4em
}
.reportlink {
	TEXT-ALIGN: right
}
#footer {
	MARGIN-TOP: 40px; TEXT-ALIGN: center
}
.homelink {
	MARGIN: 1em 0px
}
.homelink A {
	PADDING-RIGHT: 1em; PADDING-LEFT: 1em
}
.performanceinfo {
	MARGIN: 2em
}
.performanceinfo SPAN {
	DISPLAY: block
}
BODY#admin-index .c0 {
	VERTICAL-ALIGN: top
}
BODY#admin-index .c1 {
	VERTICAL-ALIGN: middle
}
BODY#admin-modules TABLE.generaltable TD.cell {
	PADDING-BOTTOM: 2px; PADDING-TOP: 2px
}
BODY#admin-modules .generaltablecell {
	PADDING-BOTTOM: 2px; PADDING-TOP: 2px
}
BODY#admin-blocks TABLE#blocks {
	MARGIN: auto; WIDTH: 70%
}
BODY#admin-blocks TABLE#incompatible {
	MARGIN: auto; WIDTH: 70%
}
BODY#admin-blocks TABLE#blocks TH {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
VERTICAL-ALIGN: middle; PADDING-TOP: 4px; TEXT-ALIGN: center
}
BODY#admin-blocks TABLE#incompatible TH {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
VERTICAL-ALIGN: middle; PADDING-TOP: 4px; TEXT-ALIGN: center
}
BODY#admin-blocks TABLE#blocks TD.cell {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
VERTICAL-ALIGN: middle; PADDING-TOP: 4px; TEXT-ALIGN: center
}
BODY#admin-blocks TABLE#incompatible TD.cell {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
VERTICAL-ALIGN: middle; PADDING-TOP: 4px; TEXT-ALIGN: center
}
BODY#admin-blocks TABLE#blocks TD.c0 {
	TEXT-ALIGN: left
}
BODY#admin-blocks TABLE#blocks TH.c0 {
	TEXT-ALIGN: left
}
BODY#admin-blocks TABLE#incompatible TD.c0 {
	TEXT-ALIGN: left
}
BODY#admin-blocks TABLE#incompatible TH.c0 {
	TEXT-ALIGN: left
}
BODY#admin-blocks BODY#admin-config .confighelp {
	DISPLAY: block; PADDING-BOTTOM: 20px
}
BODY#admin-roles-manage TABLE.generalbox {
	MARGIN: auto
}
#admin-report-simpletest-index .exception PRE {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 8px; =
PADDING-TOP: 8px
}
#admin-report-simpletest-index .unittestsummary {
	PADDING-RIGHT: 8px; MARGIN-TOP: 1em; PADDING-LEFT: 8px; PADDING-BOTTOM: =
8px; PADDING-TOP: 8px
}
#admin-roles-manage .singlebutton {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 10px; TEXT-ALIGN: center
}
#admin-roles-allowoverride .singlebutton {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 10px; TEXT-ALIGN: center
}
#admin-roles-allowassign .singlebutton {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 10px; TEXT-ALIGN: center
}
.rolecap .inherit {
	TEXT-ALIGN: center
}
.rolecap .allow {
	TEXT-ALIGN: center
}
.rolecap .prevent {
	TEXT-ALIGN: center
}
.rolecap .prohibit {
	TEXT-ALIGN: center
}
#admin-roles-manage .rolecap .cap-desc .cap-name {
	DISPLAY: block
}
#admin-roles-override .rolecap .cap-desc .cap-name {
	DISPLAY: block
}
#admin-roles-override .c1.cell {
	PADDING-TOP: 0.75em
}
#admin-roles-assign .c1.cell {
	PADDING-TOP: 0.75em
}
#adminsettings FIELDSET {
	PADDING-RIGHT: 0.5em; MARGIN-TOP: 1em; PADDING-LEFT: 0.5em; =
PADDING-BOTTOM: 1em; PADDING-TOP: 1em
}
#adminsettings LEGEND {
	DISPLAY: none
}
#adminsettings .form-group {
	FLOAT: left
}
#adminsettings .form-item {
	MARGIN: 0px
}
#adminsettings LABEL {
	DISPLAY: block; FLOAT: left; WIDTH: 150px; TEXT-ALIGN: right
}
#adminsettings .form-shortname {
	DISPLAY: block
}
#adminsettings SELECT {
	FLOAT: left; MARGIN: 0px 0px 0px 10px
}
#adminsettings INPUT {
	FLOAT: left; MARGIN: 0px 0px 0px 10px
}
#adminsettings TEXTAREA {
	FLOAT: left; MARGIN: 0px 0px 0px 10px; WIDTH: 65%
}
#adminsettings .form-group SELECT {
	DISPLAY: inline; FLOAT: none
}
#adminsettings .form-group INPUT {
	DISPLAY: inline; FLOAT: none
}
#adminsettings .description {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
1.5em; MARGIN: 0px 1em 0px 160px; PADDING-TOP: 0.3em
}
.form-buttons {
	MARGIN: 10px 0px 0px 160px
}
.form-text {
	WIDTH: 20em
}
.form-textarea {
=09
}
.form-select {
=09
}
.form-checkbox {
=09
}
.form-radio {
=09
}
.form-submit {
=09
}
.form-reset {
=09
}
.admin-frontpagedesc .htmlarea {
	MARGIN: 0px auto 10px; WIDTH: 600px
}
.adminsearchform {
	PADDING-TOP: 10px
}
A.skip-block {
	DISPLAY: block; WIDTH: 2em; HEIGHT: 1px
}
.skip-block {
	DISPLAY: block; WIDTH: 2em; HEIGHT: 1px
}
.sideblock .skip-block {
	HEIGHT: 4px
}
.skip-block-to {
	FONT-SIZE: 1px
}
.sideblock LI .icon IMG {
	WIDTH: 16px; HEIGHT: 16px
}
UL.list {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; TEXT-INDENT: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
UL.list LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; TEXT-INDENT: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
OL.list {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; TEXT-INDENT: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
OL.list LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; TEXT-INDENT: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.sideblock .content H3 {
	TEXT-ALIGN: left
}
.sideblock .content H2 {
	TEXT-ALIGN: left
}
.sideblock .content H2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
1.5em 0px 0px; PADDING-TOP: 0px
}
.sideblock {
	MARGIN-BOTTOM: 1em; WIDTH: 100%
}
.sideblock .header {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: 1px solid; =
PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; MARGIN: 0px; BORDER-LEFT: 1px =
solid; PADDING-TOP: 0px; BORDER-BOTTOM: 1px; TEXT-ALIGN: left
}
.sideblock H2.header {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: 1px solid; =
PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; MARGIN: 0px; BORDER-LEFT: 1px =
solid; PADDING-TOP: 0px; BORDER-BOTTOM: 1px; TEXT-ALIGN: left
}
.sideblock H2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.sideblock .header .hide-show {
	FLOAT: right
}
.sideblock .header .hide-show IMG.hide-show-image {
	MARGIN-TOP: 0.25em; WIDTH: 11px; HEIGHT: 11px
}
.sideblock .header .commands {
	CLEAR: both; MARGIN-TOP: 0.3em; HEIGHT: 16px
}
.sideblock .header .commands A {
	MARGIN: 0px 2px
}
.sideblock .content {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: 1px solid; =
PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; BORDER-LEFT: 1px solid; =
PADDING-TOP: 4px; BORDER-BOTTOM: 1px solid
}
.sideblock .content HR {
	BORDER-TOP: 1px solid; MARGIN-TOP: 4px; MARGIN-BOTTOM: 4px; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; HEIGHT: 1px; =
BORDER-BOTTOM-STYLE: none
}
#left-column .hidden .header {
	BORDER-BOTTOM: 1px solid
}
#right-column .hidden .header {
	BORDER-BOTTOM: 1px solid
}
#left-column .hidden .content {
	DISPLAY: none
}
#right-column .hidden .content {
	DISPLAY: none
}
.sideblock .list {
	WIDTH: 100%
}
.sideblock .list .c0 {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; =
PADDING-TOP: 2px
}
.sideblock .footer {
	MARGIN-BOTTOM: 4px; TEXT-ALIGN: center
}
.sideblock .header .hide.icon {
	MARGIN-RIGHT: 6px
}
.sideblock .header .edit.icon {
	MARGIN-RIGHT: 6px
}
.sideblock .content .head {
	MARGIN-TOP: 10px
}
.sideblock .icon {
	DISPLAY: block; FLOAT: left; MARGIN-RIGHT: 0.3em
}
.sideblock .list LI {
	CLEAR: left
}
.blockconfigtable {
	MARGIN-TOP: 0px
}
.blockconfiginstancecontent .tabs {
	MARGIN-BOTTOM: 0px
}
.block_online_users .listentry {
	PADDING-TOP: 5px
}
.blogpost .audience {
	TEXT-ALIGN: right
}
.blogpost .tags {
	MARGIN-TOP: 15px
}
#calendar {
	WIDTH: 100%; BORDER-COLLAPSE: separate; border-spacing: 5px
}
#calendar H2 {
	TEXT-ALIGN: center
}
#calendar H3 {
	TEXT-ALIGN: center
}
#calendar .maincalendar {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: 1px solid; =
PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; VERTICAL-ALIGN: top; =
BORDER-LEFT: 1px solid; PADDING-TOP: 0px; BORDER-BOTTOM: 1px solid
}
#calendar .sidecalendar {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: 1px solid; =
PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; VERTICAL-ALIGN: top; =
BORDER-LEFT: 1px solid; PADDING-TOP: 0px; BORDER-BOTTOM: 1px solid
}
#calendar .sidecalendar {
	WIDTH: 25%
}
#calendar .maincalendar TABLE.calendarmonth {
	MARGIN: 0px auto; WIDTH: 98%; BORDER-COLLAPSE: separate
}
#calendar .maincalendar TABLE.calendarmonth TH {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 10px; BORDER-BOTTOM: 2px solid
}
#calendar .maincalendar TABLE.calendarmonth TD {
	PADDING-LEFT: 4px; LINE-HEIGHT: 1.2em; PADDING-TOP: 4px; HEIGHT: 5em
}
#calendar .maincalendar TABLE.calendarmonth TD {
	VERTICAL-ALIGN: top; WIDTH: 14%
}
TABLE.minicalendar TD {
	VERTICAL-ALIGN: top; WIDTH: 14%
}
TABLE.minicalendar TH {
	VERTICAL-ALIGN: top; WIDTH: 14%
}
TABLE.minicalendar TD {
	TEXT-ALIGN: center
}
#calendar .maincalendar TABLE.calendarmonth TD TABLE TD {
	HEIGHT: auto
}
#calendar DIV.header {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
#calendar .maincalendar .buttons {
	FLOAT: right
}
#calendar .maincalendar .filters TABLE {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; WIDTH: =
100%; PADDING-TOP: 2px; BORDER-COLLAPSE: separate; border-spacing: 2px
}
#calendar .sidecalendar .filters TABLE {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; WIDTH: =
100%; PADDING-TOP: 2px; BORDER-COLLAPSE: separate; border-spacing: 2px
}
.block_calendar_month.sideblock .filters TABLE {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; WIDTH: =
100%; PADDING-TOP: 2px; BORDER-COLLAPSE: separate; border-spacing: 2px
}
#calendar .maincalendar .filters {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
#calendar .sidecalendar .filters {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
#calendar .maincalendar .controls {
	CLEAR: both; PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: =
10px; PADDING-TOP: 10px
}
#calendar .maincalendar TABLE.calendarmonth UL.events-new {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
#calendar .maincalendar TABLE.calendarmonth UL.events-underway {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
#calendar .maincalendar TABLE.calendarmonth UL LI {
	MARGIN-TOP: 4px
}
.minicalendarblock {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
TABLE.minicalendar {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: 1px solid; =
PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; MARGIN: 10px auto; BORDER-LEFT: =
1px solid; WIDTH: 100%; PADDING-TOP: 2px; BORDER-BOTTOM: 1px solid; =
BORDER-COLLAPSE: separate; border-spacing: 1px
}
TABLE.minicalendar TH {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
#calendar .maincalendar .eventlist {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 10px
}
#calendar .maincalendar .eventlist .topic {
	BORDER-RIGHT: 0px solid; PADDING-RIGHT: 5px; BORDER-TOP: 0px solid; =
PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: 0px solid; =
PADDING-TOP: 5px; BORDER-BOTTOM: #eeeeee 1px solid
}
#calendar .maincalendar .eventlist .event {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; MARGIN-BOTTOM: 10px; =
BORDER-LEFT: 1px solid; WIDTH: 100%; BORDER-BOTTOM: 1px solid; =
BORDER-COLLAPSE: separate; border-spacing: 0px
}
#calendar .maincalendar .eventlist .event .name {
	FLOAT: left
}
#calendar .maincalendar .eventlist .event .course {
	CLEAR: left; FLOAT: left
}
#calendar .maincalendar .eventlist .event .date {
	FLOAT: right
}
#calendar .maincalendar .eventlist .event .description .commands {
	WIDTH: 100%
}
#calendar .maincalendar .eventlist .event .description {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
#calendar .maincalendar .eventlist .event .picture {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 8px; =
PADDING-TOP: 8px
}
#calendar .maincalendar .eventlist .event .side {
	WIDTH: 32px
}
#calendar #selecteventtype TABLE {
	MARGIN: auto
}
#calendar .event_global {
	BORDER-RIGHT: 2px solid; BORDER-TOP: 2px solid; BORDER-LEFT: 2px solid; =
BORDER-BOTTOM: 2px solid
}
#calendar .event_course {
	BORDER-RIGHT: 2px solid; BORDER-TOP: 2px solid; BORDER-LEFT: 2px solid; =
BORDER-BOTTOM: 2px solid
}
#calendar .event_group {
	BORDER-RIGHT: 2px solid; BORDER-TOP: 2px solid; BORDER-LEFT: 2px solid; =
BORDER-BOTTOM: 2px solid
}
#calendar .event_user {
	BORDER-RIGHT: 2px solid; BORDER-TOP: 2px solid; BORDER-LEFT: 2px solid; =
BORDER-BOTTOM: 2px solid
}
.minicalendar .event_global {
	BORDER-RIGHT: 2px solid; BORDER-TOP: 2px solid; BORDER-LEFT: 2px solid; =
BORDER-BOTTOM: 2px solid
}
.minicalendar .event_course {
	BORDER-RIGHT: 2px solid; BORDER-TOP: 2px solid; BORDER-LEFT: 2px solid; =
BORDER-BOTTOM: 2px solid
}
.minicalendar .event_group {
	BORDER-RIGHT: 2px solid; BORDER-TOP: 2px solid; BORDER-LEFT: 2px solid; =
BORDER-BOTTOM: 2px solid
}
.minicalendar .event_user {
	BORDER-RIGHT: 2px solid; BORDER-TOP: 2px solid; BORDER-LEFT: 2px solid; =
BORDER-BOTTOM: 2px solid
}
#calendar .duration_global {
	BORDER-TOP: 2px solid; BORDER-BOTTOM: 2px solid
}
#calendar .duration_course {
	BORDER-TOP: 2px solid; BORDER-BOTTOM: 2px solid
}
#calendar .duration_group {
	BORDER-TOP: 2px solid; BORDER-BOTTOM: 2px solid
}
#calendar .duration_user {
	BORDER-TOP: 2px solid; BORDER-BOTTOM: 2px solid
}
.minicalendar .duration_global {
	BORDER-TOP: 2px solid; BORDER-BOTTOM: 2px solid
}
.minicalendar .duration_course {
	BORDER-TOP: 2px solid; BORDER-BOTTOM: 2px solid
}
.minicalendar .duration_group {
	BORDER-TOP: 2px solid; BORDER-BOTTOM: 2px solid
}
.minicalendar .duration_user {
	BORDER-TOP: 2px solid; BORDER-BOTTOM: 2px solid
}
#calendar .today {
	BORDER-RIGHT: 2px solid; BORDER-TOP: 2px solid; BORDER-LEFT: 2px solid; =
BORDER-BOTTOM: 2px solid
}
.minicalendar .today {
	BORDER-RIGHT: 2px solid; BORDER-TOP: 2px solid; BORDER-LEFT: 2px solid; =
BORDER-BOTTOM: 2px solid
}
.cal_popup_bg {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: 1px solid; =
PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: 1px =
solid; PADDING-TOP: 0px; BORDER-BOTTOM: 1px solid
}
.cal_popup_close {
	MARGIN-RIGHT: 5px
}
.cal_popup_caption {
	BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; PADDING-BOTTOM: 2px; =
BORDER-LEFT: 0px solid; BORDER-BOTTOM: 1px solid
}
.calendar-controls .previous {
	WIDTH: 12%
}
.calendar-controls .next {
	WIDTH: 12%
}
.calendar-controls .previous {
	TEXT-ALIGN: left
}
.calendar-controls .current {
	TEXT-ALIGN: center
}
.calendar-controls .next {
	TEXT-ALIGN: right
}
SPAN.previous {
	DISPLAY: block; FLOAT: left
}
SPAN.current {
	DISPLAY: block; FLOAT: left
}
SPAN.next {
	DISPLAY: block; FLOAT: left
}
SPAN.current {
	WIDTH: 76%
}
#calendar .maincalendar .calendar-controls .previous {
	WIDTH: 30%
}
#calendar .maincalendar .calendar-controls .next {
	WIDTH: 30%
}
#calendar .maincalendar .calendar-controls .current {
	WIDTH: 40%
}
#calendar .indent {
	PADDING-LEFT: 20px
}
.activitydate {
	TEXT-ALIGN: center
}
.activityhead {
	TEXT-ALIGN: center
}
#course-view .section TD {
	VERTICAL-ALIGN: top
}
#course-view .section TD.content {
	BORDER-RIGHT: 0px solid; PADDING-RIGHT: 5px; BORDER-TOP: 1px solid; =
PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: 0px solid; =
PADDING-TOP: 5px; BORDER-BOTTOM: 1px solid
}
#course-view .section TD.side {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: 1px solid; =
PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: 1px solid; =
PADDING-TOP: 5px; BORDER-BOTTOM: 1px solid
}
#course-view .section TD.left {
	WIDTH: 1.5em; TEXT-ALIGN: center; BORDER-RIGHT-WIDTH: 0px
}
#course-view .section TD.right {
	BORDER-LEFT-WIDTH: 0px; WIDTH: 1.5em; TEXT-ALIGN: center
}
#course-view .current .side {
=09
}
#course-view .section .spacer {
	HEIGHT: 0.5em
}
#course-view .section .weekdates {
=09
}
#course-view UL.section {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; TEXT-INDENT: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
#site-index UL.section {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; TEXT-INDENT: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
#course-view UL.section LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; TEXT-INDENT: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
#site-index UL.section LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; TEXT-INDENT: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
#course-view UL.section LI.activity UL LI {
	LIST-STYLE-TYPE: disc
}
#site-index UL.section LI.activity UL LI {
	LIST-STYLE-TYPE: disc
}
#course-view UL.weekscss {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; TEXT-INDENT: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.weekscss LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; TEXT-INDENT: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.weekscss-format {
	MIN-WIDTH: 763px
}
.weekscss-format .block_adminblock SELECT {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: =
100%; PADDING-TOP: 0px
}
.weekscss-format .block_calendar_month .minicalendar {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: =
100%; PADDING-TOP: 0px
}
.weekscss-format .block_calendar_month .minicalendar TH {
	PADDING-RIGHT: 0px; PADDING-LEFT: 1px; PADDING-BOTTOM: 0.1em; =
PADDING-TOP: 0.1em
}
.weekscss-format .block_calendar_month .minicalendar TD {
	PADDING-RIGHT: 0px; PADDING-LEFT: 1px; PADDING-BOTTOM: 0.1em; =
PADDING-TOP: 0.1em
}
.weekscss-format #middle-column {
	MARGIN: 0px 12.5em
}
.weekscss-format #left-column {
	WIDTH: 11.5em
}
.weekscss-format #right-column {
	WIDTH: 11.5em
}
.weekscss-format #left-column {
	FLOAT: left
}
.weekscss-format #right-column {
	FLOAT: right
}
.weekscss LI.section {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; MARGIN-BOTTOM: 0.5em; =
BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid
}
.weekscss .content {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.weekscss .side {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.weekscss .content {
	MARGIN: 0px 1.7em
}
.weekscss .right {
	FLOAT: right; WIDTH: 1.6em; TEXT-ALIGN: center
}
.section .activity IMG.activityicon {
	VERTICAL-ALIGN: middle; WIDTH: 16px; HEIGHT: 16px
}
.section IMG.movetarget {
	WIDTH: 80px; HEIGHT: 16px
}
BODY#course-view .unread {
	MARGIN-LEFT: 3em
}
BODY#course-view .drag.sideblock .header {
	CURSOR: move
}
BODY#course-enrol .generalbox {
	MARGIN-TOP: 20px
}
BODY#course-enrol .coursebox {
	MARGIN-TOP: 20px
}
BODY#course-user .graph {
	TEXT-ALIGN: center
}
BODY#course-user .section {
	MARGIN-LEFT: 30px; MARGIN-RIGHT: 30px
}
BODY#course-user .content {
	MARGIN-LEFT: 30px; MARGIN-RIGHT: 30px
}
BODY#course-user .section {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: 1px solid; =
PADDING-LEFT: 10px; MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 10px; =
BORDER-LEFT: 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: 1px solid
}
BODY#course-user .section H2 {
	MARGIN-TOP: 0px
}
.headingblock {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: 1px solid; =
PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 0%; BORDER-LEFT: 1px =
solid; PADDING-TOP: 5px; BORDER-BOTTOM: 1px solid
}
H2.headingblock {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: 1px solid; =
PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 0%; BORDER-LEFT: 1px =
solid; PADDING-TOP: 5px; BORDER-BOTTOM: 1px solid
}
.headingblock .link {
	TEXT-ALIGN: right
}
BODY#site-index .headingblock {
	MARGIN-BOTTOM: 9px
}
BODY#course-view .headingblock {
	MARGIN-BOTTOM: 9px
}
.coursebox {
	MARGIN-BOTTOM: 8px
}
.categoryboxcontent {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid
}
.courseboxcontent {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid
}
.courseboxcontent .cost {
	PADDING-TOP: 20px
}
.courseboxcontent UL.teachers LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; TEXT-INDENT: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
BODY#doc-contents H1 {
	MARGIN: 1em 0px 0px
}
BODY#doc-contents UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; WIDTH: 90%; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
BODY#grade-index .grades {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid; BORDER-COLLAPSE: separate
}
BODY#grade-index .grades TD {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 0px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 0px solid; BORDER-COLLAPSE: collapse
}
BODY#grade-index .grades .header {
	VERTICAL-ALIGN: top
}
BODY#grade-index .grades .points {
	TEXT-ALIGN: right
}
BODY#grade-index .grades .percent {
	TEXT-ALIGN: right
}
BODY#grade-index .grades .weighted {
	TEXT-ALIGN: right
}
.backup-form-instances {
	MARGIN: 0px 20px
}
.restore-form-instances {
	MARGIN: 0px 20px
}
.loginbox {
	MARGIN-TOP: 15px
}
.loginbox .content {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 15px; BORDER-TOP: 1px solid; =
PADDING-LEFT: 15px; PADDING-BOTTOM: 15px; BORDER-LEFT: 1px solid; =
PADDING-TOP: 15px; BORDER-BOTTOM: 1px solid
}
.loginform .c1 {
	TEXT-ALIGN: left
}
.logintable .c1 {
	TEXT-ALIGN: left
}
.loginform .c1 INPUT {
	WIDTH: 6em
}
.logintable .c1 INPUT {
	WIDTH: 6em
}
.message .link {
	VERTICAL-ALIGN: middle
}
TABLE.message .searchresults TD {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: 1px solid; =
PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: 1px solid; =
PADDING-TOP: 5px; BORDER-BOTTOM: 1px solid; BORDER-COLLAPSE: collapse; =
border-spacing: 0px
}
.message .summary .link {
	TEXT-ALIGN: right
}
.message .heading {
	TEXT-ALIGN: center
}
.message .note {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 10px; TEXT-ALIGN: center
}
#message-user .commands SPAN {
	MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px
}
BODY#message-messages {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 10px
}
.my .courseboxcontent .overview .info {
	MARGIN-LEFT: 20px
}
.my .courseboxcontent .overview {
	MARGIN-BOTTOM: 10px
}
.que {
	CLEAR: both; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; MARGIN: =
10px auto 15px; BORDER-LEFT: 1px solid; WIDTH: 90%; BORDER-BOTTOM: 1px =
solid; TEXT-ALIGN: left
}
.que .info {
	FLOAT: left; MARGIN: 5px; WIDTH: 8%
}
.que .grade {
	MARGIN-TOP: 0.5em
}
.que .content {
	FLOAT: right; MARGIN: 5px; WIDTH: 88%
}
.que .qtext {
	MARGIN-BOTTOM: 1.5em
}
.que .ablock {
	MARGIN: 0.7em 0px 0.3em
}
.que .prompt {
	FLOAT: left; WIDTH: 15%; PADDING-TOP: 0.3em; HEIGHT: 2em
}
.que .control {
	WIDTH: 5%
}
.que .answer {
	FLOAT: right; MARGIN-BOTTOM: 0.5em; WIDTH: 83%
}
.que .submit {
	CLEAR: both; FLOAT: left; POSITION: relative
}
* HTML .que .submit {
	FLOAT: none
}
.multianswer .submit {
	MARGIN-TOP: 1em
}
.que .c0 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0.3em; PADDING-BOTTOM: 0.3em; =
VERTICAL-ALIGN: top; PADDING-TOP: 0.3em
}
.que .c1 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0.3em; PADDING-BOTTOM: 0.3em; =
VERTICAL-ALIGN: top; PADDING-TOP: 0.3em
}
.que .feedback {
	CLEAR: both; BORDER-RIGHT: 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
1px solid; PADDING-LEFT: 0.3em; FLOAT: right; PADDING-BOTTOM: 0.3em; =
BORDER-LEFT: 1px solid; WIDTH: 83%; PADDING-TOP: 0px; BORDER-BOTTOM: 1px =
solid
}
.multichoice TD.feedback {
	VERTICAL-ALIGN: top; WIDTH: auto; BORDER-TOP-STYLE: none; PADDING-TOP: =
0.3em; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; =
BORDER-BOTTOM-STYLE: none
}
.essay .feedback {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
.multichoice .text {
	WIDTH: auto
}
.calculated .answer {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0.3em; PADDING-BOTTOM: 0.3em; =
PADDING-TOP: 0.3em
}
.numerical .answer {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0.3em; PADDING-BOTTOM: 0.3em; =
PADDING-TOP: 0.3em
}
.shortanswer .answer {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0.3em; PADDING-BOTTOM: 0.3em; =
PADDING-TOP: 0.3em
}
.truefalse .answer {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0.3em; PADDING-BOTTOM: 0.3em; =
PADDING-TOP: 0.3em
}
.calculated .answer INPUT {
	WIDTH: 85%
}
.numerical .answer INPUT {
	WIDTH: 85%
}
.shortanswer .answer INPUT {
	WIDTH: 85%
}
.truefalse .answer SPAN {
	CLEAR: left; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; =
PADDING-BOTTOM: 0.2em; PADDING-TOP: 0.2em
}
.que .grading {
	FLOAT: right; MARGIN: 5px; WIDTH: 88%
}
.que .comment {
	FLOAT: right; MARGIN: 5px; WIDTH: 88%
}
.que .commentlink {
	FLOAT: right; MARGIN: 5px; WIDTH: 88%
}
.que .generalfeedback {
	FLOAT: right; MARGIN: 5px; WIDTH: 88%
}
.que .history {
	FLOAT: right; MARGIN: 5px; WIDTH: 88%
}
.logtable TD {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px
}
.logtable TH {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px
}
.logtable TH {
	TEXT-ALIGN: left
}
.tabs {
	MARGIN-BOTTOM: 15px; WIDTH: auto; BORDER-COLLAPSE: collapse
}
.tabs TD {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.tabs .side {
	BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; BORDER-LEFT: 0px solid; =
WIDTH: 50%; BORDER-BOTTOM: 1px solid
}
.tabrow {
	MARGIN: 1px 0px 0px; WIDTH: 100%; BORDER-COLLAPSE: collapse
}
.tabrow TD {
	BORDER-RIGHT: 0px solid; PADDING-RIGHT: 0px; BORDER-TOP: 0px solid; =
PADDING-LEFT: 14px; PADDING-BOTTOM: 0px; BORDER-LEFT: 0px solid; =
PADDING-TOP: 0px; BORDER-BOTTOM: 1px solid
}
.tabrow TH {
	DISPLAY: none
}
.tabrow TD .tablink {
	PADDING-RIGHT: 14px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
4px; PADDING-TOP: 10px; WHITE-SPACE: nowrap; TEXT-ALIGN: center; =
TEXT-DECORATION: none
}
.tabrow .last {
	PADDING-RIGHT: 1px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; PADDING-TOP: 0px
}
.tabrow TD.selected {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
.userinfobox {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; MARGIN-BOTTOM: 5px; =
BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-COLLAPSE: =
separate
}
.userinfobox .left {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
VERTICAL-ALIGN: top; WIDTH: 100px; PADDING-TOP: 10px
}
.userinfobox .content {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
VERTICAL-ALIGN: top; PADDING-TOP: 10px
}
.userinfobox .links {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
VERTICAL-ALIGN: bottom; WIDTH: 100px; PADDING-TOP: 5px
}
.userinfobox .list TD {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; =
PADDING-TOP: 3px
}
.userinfobox .username {
	PADDING-BOTTOM: 20px
}
TABLE.userinfobox {
	MARGIN-LEFT: 10%; WIDTH: 80%; MARGIN-RIGHT: 10%
}
TABLE.groupinfobox {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; MARGIN-BOTTOM: 20px; =
MARGIN-LEFT: 20%; BORDER-LEFT: 1px solid; WIDTH: 60%; MARGIN-RIGHT: 20%; =
BORDER-BOTTOM: 1px solid
}
.groupinfobox .left {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
VERTICAL-ALIGN: top; WIDTH: 100px; PADDING-TOP: 10px
}
BODY#user-index H2 {
	TEXT-ALIGN: center
}
BODY#user-index #longtimenosee {
	TEXT-ALIGN: center
}
BODY#user-index #showall {
	TEXT-ALIGN: center
}
BODY#user-index #showall {
	MARGIN: 10px 0px
}
BODY#user-index TABLE#participants {
	MARGIN: auto; WIDTH: 80%
}
BODY#user-index TABLE#participants TD {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
VERTICAL-ALIGN: middle; PADDING-TOP: 4px; TEXT-ALIGN: left
}
BODY#user-index TABLE#participants TH {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
VERTICAL-ALIGN: middle; PADDING-TOP: 4px; TEXT-ALIGN: left
}
BODY#user-index TABLE.controls {
	WIDTH: 100%
}
BODY#user-index TABLE.controls TR {
	VERTICAL-ALIGN: top
}
BODY#user-index TABLE.controls TD.right {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
PADDING-TOP: 4px
}
BODY#user-index TABLE.controls TD.left {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
PADDING-TOP: 4px
}
BODY#user-index TABLE.controls .right {
	TEXT-ALIGN: right
}
BODY#course-participation H2 {
	TEXT-ALIGN: center
}
BODY#course-participation #showall {
	MARGIN: 10px 0px; TEXT-ALIGN: center
}
BODY#user-index .rolesform {
	TEXT-ALIGN: center
}
#mod-chat-gui_header_js-jsupdate {
	MARGIN: 10px
}
#mod-chat-gui_header_js-jsupdate .chat-event {
	PADDING-RIGHT: 0px; MARGIN-TOP: 7px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; WIDTH: 100%; PADDING-TOP: 0px
}
#mod-chat-gui_header_js-jsupdate .chat-message {
	PADDING-RIGHT: 0px; MARGIN-TOP: 7px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; WIDTH: 100%; PADDING-TOP: 0px
}
.chat-event .picture {
	VERTICAL-ALIGN: top; WIDTH: 40px
}
.chat-message .picture {
	VERTICAL-ALIGN: top; WIDTH: 40px
}
.chat-event .text {
	TEXT-ALIGN: left
}
.chat-message .text {
	TEXT-ALIGN: left
}
.forumheaderlist {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid; BORDER-COLLAPSE: separate
}
.forumpost {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid; BORDER-COLLAPSE: separate
}
.forumpost {
	MARGIN-TOP: 15px
}
.forumpost .topic {
	BORDER-RIGHT: 0px solid; PADDING-RIGHT: 4px; BORDER-TOP: 0px solid; =
PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; BORDER-LEFT: 0px solid; =
PADDING-TOP: 4px; BORDER-BOTTOM: 1px solid
}
.forumpost .commands {
	CLEAR: both; PADDING-TOP: 0.5em; TEXT-ALIGN: right
}
.forumpost .ratings {
	PADDING-TOP: 1em; TEXT-ALIGN: right
}
.forumpost .attachments {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px; TEXT-ALIGN: right
}
.forumpost .content {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
PADDING-TOP: 4px
}
.forumpost .footer {
	PADDING-TOP: 0.5em; TEXT-ALIGN: right
}
.forumpost .link {
	PADDING-TOP: 0.5em; TEXT-ALIGN: right
}
.forumpost .left {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
VERTICAL-ALIGN: top; WIDTH: 35px; PADDING-TOP: 4px; TEXT-ALIGN: center
}
.mod-forum .indent {
	MARGIN-LEFT: 30px
}
BODY#user-view .forumpost {
	WIDTH: 100%
}
.course .forumpost {
	WIDTH: 100%
}
BODY#mod-forum-search .c0 {
	TEXT-ALIGN: right
}
BODY#mod-forum-search .introcontent {
	PADDING-RIGHT: 15px; PADDING-LEFT: 15px; PADDING-BOTTOM: 15px; =
PADDING-TOP: 15px
}
.forumolddiscuss {
	TEXT-ALIGN: right
}
.forumheaderlist {
	WIDTH: 100%
}
.forumheaderlist TD {
	BORDER-RIGHT: 0px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 0px solid
}
.forumheaderlist .replies {
	WHITE-SPACE: nowrap; TEXT-ALIGN: center
}
.forumheaderlist .picture {
	WIDTH: 35px
}
.forumheaderlist .discussion .starter {
	VERTICAL-ALIGN: middle
}
.forumheaderlist .lastpost {
	WHITE-SPACE: nowrap; TEXT-ALIGN: right
}
.forumheaderlist .discussion .author {
	WHITE-SPACE: nowrap
}
.forumolddiscuss {
	TEXT-ALIGN: right
}
.forumaddnew {
	TEXT-ALIGN: center
}
.forumnodiscuss {
	TEXT-ALIGN: center
}
.noticeboxcontent {
	TEXT-ALIGN: center
}
#mod-forum-view .unread {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px
}
#mod-forum-discuss .unread.forumpost .content {
	BORDER-RIGHT: 2px solid; BORDER-TOP: 2px solid; BORDER-LEFT: 2px solid; =
BORDER-BOTTOM: 2px solid
}
#mod-forum-index .unread IMG {
	MARGIN-LEFT: 5px
}
#mod-forum-view .unread IMG {
	MARGIN-LEFT: 5px
}
#email .unsubscribelink {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 0px solid; MARGIN-TOP: 20px; =
BORDER-LEFT: 0px solid; BORDER-BOTTOM: 0px solid; TEXT-ALIGN: center
}
.glossarypost .commands {
	WIDTH: 200px; WHITE-SPACE: nowrap
}
#mod-glossary-comments .glossarypost {
	MARGIN-TOP: 15px
}
#mod-glossary-comment .glossarypost {
	MARGIN-TOP: 15px
}
.entryboxheader {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 0px solid
}
.entrybox {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 0px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid
}
.glossarypost {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; MARGIN-BOTTOM: 5px; =
BORDER-LEFT: 1px solid; WIDTH: 95%; BORDER-BOTTOM: 1px solid; =
BORDER-COLLAPSE: separate; TEXT-ALIGN: left
}
.entrylist {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
.entrylowersection {
	PADDING-TOP: 10px
}
.entrylowersection TABLE {
	WIDTH: 100%
}
.entrylowersection .aliases {
	TEXT-ALIGN: center
}
.entrylowersection .icons {
	PADDING-RIGHT: 5px; TEXT-ALIGN: right
}
.entrylowersection .ratings {
	PADDING-RIGHT: 5px; TEXT-ALIGN: right
}
.entrylowersection .ratings {
	PADDING-BOTTOM: 2px
}
.categoryheader {
	WIDTH: 95%
}
.glossaryformatheader {
	WIDTH: 90%
}
.glossarypost .entry {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; =
PADDING-TOP: 3px
}
.glossarypost .picture {
	WIDTH: 35px
}
.glossarycomment {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; MARGIN-BOTTOM: 5px; =
BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-COLLAPSE: =
separate; TEXT-ALIGN: left
}
.glossarycomment .entry {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; =
PADDING-TOP: 3px
}
.glossarycomment .picture {
	WIDTH: 35px
}
.glossarycomment .icons {
	TEXT-ALIGN: right
}
.glossarydisplay {
	WIDTH: 70%
}
.glossarydisplay .tabs {
	WIDTH: 100%
}
.glossarydisplay .separator {
	WIDTH: 4px
}
.glossarydisplay .tabs .selected {
=09
}
.glossarydisplay .tabs .inactive {
=09
}
.glossarydisplay .tabs .general {
=09
}
.glossarypopup {
	WIDTH: 95%
}
.glossaryapproval {
	WIDTH: 100%
}
.mod-glossary .glossarydisplay .tabs {
	MARGIN-BOTTOM: 0px
}
.mod-glossary .glossarydisplay .tabs .side {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; WIDTH: auto; =
BORDER-BOTTOM: 0px
}
#mod-journal-view .lastedit {
	MARGIN: 5px; TEXT-ALIGN: center
}
#mod-journal-view .editend {
	MARGIN: 5px; TEXT-ALIGN: center
}
#mod-journal-view .feedbackbox {
	WIDTH: 75%; BORDER-COLLAPSE: separate
}
#mod-journal-view .entrycontent {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; =
PADDING-TOP: 3px
}
#mod-journal-view .picture {
	WIDTH: 35px
}
#mod-journal-view .grade {
	TEXT-ALIGN: right
}
#mod-journal-view .info {
	MARGIN-BOTTOM: 5px; TEXT-ALIGN: right
}
#mod-quiz-attempt #page {
	TEXT-ALIGN: center
}
BODY#mod-quiz-report TABLE#attempts {
	MARGIN: auto; WIDTH: 80%
}
BODY#mod-quiz-report TABLE#commands {
	MARGIN: auto; WIDTH: 80%
}
BODY#mod-quiz-report TABLE#itemanalysis {
	MARGIN: auto; WIDTH: 80%
}
BODY#mod-quiz-report TABLE#attempts {
	MARGIN: 20px auto
}
BODY#mod-quiz-report TABLE#attempts .header {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
PADDING-TOP: 4px
}
BODY#mod-quiz-report TABLE#attempts .cell {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
PADDING-TOP: 4px
}
BODY#mod-quiz-report TABLE#attempts .header .commands {
	DISPLAY: inline
}
BODY#mod-quiz-report TABLE#attempts .picture {
	WIDTH: 40px
}
BODY#mod-quiz-report TABLE#attempts TD {
	BORDER-RIGHT: 1px solid; VERTICAL-ALIGN: middle; BORDER-LEFT: 1px solid
}
BODY#mod-quiz-report TABLE#attempts .header {
	TEXT-ALIGN: left
}
BODY#mod-quiz-report TABLE#attempts .picture {
	TEXT-ALIGN: center! important
}
BODY#mod-quiz-report .controls {
	TEXT-ALIGN: center
}
.ims-nav-bar {
	PADDING-RIGHT: 0.1em; PADDING-LEFT: 0.1em; PADDING-BOTTOM: 0.1em; =
PADDING-TOP: 0.1em; POSITION: relative
}
.ims-nav-button A {
	PADDING-RIGHT: 1em; PADDING-LEFT: 1em
}
.ims-nav-dimmed {
	PADDING-RIGHT: 1em; PADDING-LEFT: 1em
}
#ims-containerdiv {
	MARGIN-TOP: 0.2em
}
#ims-menudiv {
	OVERFLOW: auto; WIDTH: 250px; POSITION: absolute
}
#ims-menudiv OL {
	PADDING-LEFT: 1em; MARGIN: 0px; LIST-STYLE-TYPE: none
}
#ims-contentframe {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; LEFT: 260px; =
BORDER-LEFT: 1px solid; WIDTH: 640px; BORDER-BOTTOM: 1px solid; =
POSITION: absolute; HEIGHT: 480px
}
#ims-contentframe-no-nav {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
WIDTH: 640px; BORDER-BOTTOM: 1px solid; POSITION: absolute; HEIGHT: =
480px
}
#mod-resource-view DIV#footer {
	MARGIN-TOP: 5px
}
#mod-assignment-submissions .feedback .content {
	BORDER-RIGHT: #dddddd 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#dddddd 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
BORDER-LEFT: #dddddd 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: =
#dddddd 1px solid
}
#mod-assignment-submissions .feedback .topic {
	BORDER-RIGHT: #dddddd 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#dddddd 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
BORDER-LEFT: #dddddd 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: =
#dddddd 1px solid
}
#mod-assignment-submissions .feedback .picture {
	BORDER-RIGHT: #dddddd 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#dddddd 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
BORDER-LEFT: #dddddd 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: =
#dddddd 1px solid
}
.mod-assignment .feedback .files {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FLOAT: right; PADDING-BOTTOM: =
5px; PADDING-TOP: 5px; BACKGROUND-COLOR: #efefef
}
.mod-assignment .feedback .grade {
	FLOAT: right
}
.mod-assignment .feedback .from {
	FLOAT: left
}
.mod-assignment .feedback .time {
	FONT-SIZE: 0.8em
}
.mod-assignment .late {
	COLOR: red
}
.mod-assignment .files IMG {
	MARGIN-RIGHT: 4px
}
.mod-assignment .files A {
	WHITE-SPACE: nowrap
}
#mod-assignment-submissions .generaltable .r1 {
	BACKGROUND-COLOR: #ffffff
}
#mod-assignment-submissions .header .commands {
	DISPLAY: inline
}
#mod-assignment-submissions .s0 {
	BACKGROUND: #ffd991
}
#mod-assignment-submissions TABLE.submissions TD {
	BORDER-RIGHT: #dddddd 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: =
#dddddd 1px solid; PADDING-LEFT: 5px; VERTICAL-ALIGN: middle; =
BORDER-LEFT: #dddddd 1px solid; BORDER-BOTTOM: #dddddd 1px solid
}
#mod-assignment-submissions TABLE.submissions TH {
	BORDER-RIGHT: #dddddd 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: =
#dddddd 1px solid; PADDING-LEFT: 5px; VERTICAL-ALIGN: middle; =
BORDER-LEFT: #dddddd 1px solid; BORDER-BOTTOM: #dddddd 1px solid
}
#mod-assignment-submissions .submissions .grade {
	FONT-WEIGHT: bold; TEXT-ALIGN: right
}
#mod-assignment-submissions .picture {
	WIDTH: 35px
}
#mod-assignment-submissions .fullname {
	TEXT-ALIGN: left
}
#mod-assignment-submissions .timemodified {
	FONT-SIZE: 0.9em; TEXT-ALIGN: left
}
#mod-assignment-submissions .timemarked {
	FONT-SIZE: 0.9em; TEXT-ALIGN: left
}
#mod-assignment-submissions .status {
	TEXT-ALIGN: center
}
#mod-assignment-view #online .singlebutton {
	TEXT-ALIGN: center
}
#mod-assignment-view #dates {
	MARGIN-TOP: 30px; FONT-SIZE: 0.8em; MARGIN-BOTTOM: 30px
}
#mod-assignment-view #dates .c0 {
	FONT-WEIGHT: bold; TEXT-ALIGN: right
}
#mod-assignment-view .feedback {
	BORDER-RIGHT: #dddddd 1px solid; BORDER-TOP: #dddddd 1px solid; =
MARGIN-TOP: 15px; MARGIN-LEFT: 10%; BORDER-LEFT: #dddddd 1px solid; =
WIDTH: 80%; MARGIN-RIGHT: 10%; BORDER-BOTTOM: #dddddd 1px solid
}
#mod-assignment-view .feedback .topic {
	BORDER-RIGHT: #dddddd 0px solid; PADDING-RIGHT: 4px; BORDER-TOP: =
#dddddd 0px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; BORDER-LEFT: =
#dddddd 0px solid; PADDING-TOP: 4px; BORDER-BOTTOM: #dddddd 1px solid
}
#mod-assignment-view .feedback .fullname {
	FONT-WEIGHT: bold
}
#mod-assignment-view .feedback .date {
	FONT-SIZE: 0.8em
}
#mod-assignment-view .feedback .content {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
PADDING-TOP: 4px
}
#mod-assignment-view .feedback .grade {
	FONT-WEIGHT: bold; TEXT-ALIGN: right
}
#mod-assignment-view .feedback .left {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
VERTICAL-ALIGN: top; WIDTH: 35px; PADDING-TOP: 4px; TEXT-ALIGN: center
}
.mod-choice .results {
	BORDER-COLLAPSE: separate
}
.mod-choice .results .data {
	BORDER-RIGHT: #999 1px solid; BORDER-TOP: #999 1px solid; BORDER-LEFT: =
#999 1px solid; BORDER-BOTTOM: #999 1px solid
}
#mod-data-view #sortsearch .c0 {
	TEXT-ALIGN: right
}
.mod-data-field .c0 {
	TEXT-ALIGN: right
}
.mod-data-field .fieldname {
	WIDTH: 300px
}
.mod-data-field .fielddescription {
	WIDTH: 300px
}
.presetcontrols FORM {
	DISPLAY: inline
}
.mod-lesson .contents {
	TEXT-ALIGN: left
}
.mod-lesson .addlinks {
	FONT-SIZE: 0.8em
}
.mod-lesson .userinfotable .cell {
	VERTICAL-ALIGN: middle
}
.mod-lesson .userinfotable .userpicture {
	VERTICAL-ALIGN: middle
}
#mod-lesson-view .password-form {
	MARGIN-TOP: 20px; TEXT-ALIGN: center
}
#mod-lesson-view .password-form .submitbutton {
	DISPLAY: inline
}
#mod-lesson-essay .graded {
	COLOR: #df041e
}
#mod-lesson-essay .sent {
	COLOR: #006600
}
#mod-lesson-essay .ungraded {
	COLOR: #999999
}
#mod-lesson-essay .gradetable {
	MARGIN-BOTTOM: 20px
}
#mod-lesson-essay .buttons {
	TEXT-ALIGN: center
}
.mod-lesson .response {
	PADDING-TOP: 10px
}
.mod-lesson .correct {
=09
}
.mod-lesson .incorrect {
=09
}
.mod-lesson .matches {
=09
}
.mod-lesson .slideshow {
	PADDING-RIGHT: 15px; PADDING-LEFT: 15px; PADDING-BOTTOM: 15px; =
OVERFLOW: auto; PADDING-TOP: 15px
}
.mod-lesson .leftmenu_container {
	PADDING-BOTTOM: 15px; VERTICAL-ALIGN: top; OVERFLOW: auto; WIDTH: =
170px; HEIGHT: 400px
}
.mod-lesson .leftmenu_title {
=09
}
.mod-lesson .leftmenu_courselink {
	FONT-SIZE: 0.9em
}
.mod-lesson .leftmenu_links {
	FONT-SIZE: 0.85em; FONT-STYLE: normal
}
.mod-lesson .leftmenu_links UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 5px; LIST-STYLE-TYPE: none
}
.mod-lesson .leftmenu_selected_link {
=09
}
.mod-lesson .leftmenu_not_selected_link {
=09
}
.mod-lesson .skip {
	LEFT: -1000em; WIDTH: 20em; POSITION: absolute
}
.mod-lesson .lessonbutton A {
	PADDING-RIGHT: 1em; PADDING-LEFT: 1em
}
.mod-lesson .lessonbutton A:link {
	COLOR: #000; TEXT-DECORATION: none
}
.mod-lesson .lessonbutton A:visited {
	COLOR: #000; TEXT-DECORATION: none
}
.mod-lesson .lessonbutton A:hover {
	COLOR: #000; TEXT-DECORATION: none
}
.mod-lesson .lessonbutton A:link {
	BORDER-RIGHT: #4a4a4a 2px solid; BORDER-TOP: #cecece 1px solid; =
BORDER-LEFT: #cecece 1px solid; BORDER-BOTTOM: #4a4a4a 2px solid
}
.mod-lesson .lessonbutton A:visited {
	BORDER-RIGHT: #4a4a4a 2px solid; BORDER-TOP: #cecece 1px solid; =
BORDER-LEFT: #cecece 1px solid; BORDER-BOTTOM: #4a4a4a 2px solid
}
.mod-lesson .lessonbutton A:hover {
	BORDER-RIGHT: #cecece 1px solid; BORDER-TOP: #4a4a4a 2px solid; =
BORDER-LEFT: #4a4a4a 2px solid; BORDER-BOTTOM: #cecece 1px solid
}
.mod-lesson .previousbutton {
=09
}
.mod-lesson .nextbutton {
=09
}
.mod-lesson .standardbutton {
=09
}
.mod-lesson .prevhorizontal {
	DISPLAY: inline
}
.mod-lesson .prevhorizontal .lessonbutton {
	DISPLAY: inline
}
.mod-lesson .nexthorizontal {
	DISPLAY: inline
}
.mod-lesson .nexthorizontal .lessonbutton {
	DISPLAY: inline
}
.mod-lesson .standardhorizontal {
	DISPLAY: inline
}
.mod-lesson .standardhorizontal .lessonbutton {
	DISPLAY: inline
}
.mod-lesson .prevvertical .lessonbutton {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.mod-lesson .nextvertical .lessonbutton {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.mod-lesson .standardvertical .lessonbutton {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.mod-lesson .branchbuttoncontainer {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; =
PADDING-TOP: 13px; TEXT-ALIGN: center
}
.mod-lesson .branchbuttoncontainer FORM {
	DISPLAY: inline
}
.mod-lesson .progress_bar {
	PADDING-RIGHT: 20px; PADDING-LEFT: 20px; PADDING-BOTTOM: 20px; =
PADDING-TOP: 20px
}
.mod-lesson .progress_bar_table {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; WIDTH: 80%; PADDING-TOP: 0px
}
.mod-lesson .progress_bar_completed {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; BACKGROUND-COLOR: green
}
.mod-lesson .progress_bar_todo {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; BACKGROUND-COLOR: red; TEXT-ALIGN: left
}
.mod-lesson .progress_bar_token {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; WIDTH: 5px; PADDING-TOP: 0px; HEIGHT: 20px; BACKGROUND-COLOR: =
#000000
}
BODY#mod-quiz-report TABLE#itemanalysis {
	MARGIN: 20px auto
}
BODY#mod-quiz-report TABLE#itemanalysis .header {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
PADDING-TOP: 4px
}
BODY#mod-quiz-report TABLE#itemanalysis .cell {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
PADDING-TOP: 4px
}
BODY#mod-quiz-report TABLE#itemanalysis .header .commands {
	DISPLAY: inline
}
BODY#mod-quiz-report TABLE#itemanalysis TD {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid
}
BODY#mod-quiz-report TABLE#itemanalysis .header {
	TEXT-ALIGN: left
}
BODY#mod-quiz-report TABLE#itemanalysis .numcol {
	VERTICAL-ALIGN: middle! important; TEXT-ALIGN: center
}
BODY#mod-quiz-report TABLE#itemanalysis .uncorrect {
	COLOR: red
}
BODY#mod-quiz-report TABLE#itemanalysis .correct {
	FONT-WEIGHT: bold; COLOR: blue
}
BODY#mod-quiz-report TABLE#itemanalysis .partialcorrect {
	COLOR: green! important
}
BODY#mod-quiz-report TABLE#itemanalysis .qname {
	COLOR: green! important
}
BODY#mod-quiz-grading TABLE#grading {
	MARGIN: auto; WIDTH: 80%
}
BODY#mod-quiz-grading TABLE#grading {
	MARGIN: 20px auto
}
BODY#mod-quiz-grading TABLE#grading .header {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
PADDING-TOP: 4px
}
BODY#mod-quiz-grading TABLE#grading .cell {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; =
PADDING-TOP: 4px
}
BODY#mod-quiz-grading TABLE#grading .header .commands {
	DISPLAY: inline
}
BODY#mod-quiz-grading TABLE#grading .picture {
	WIDTH: 40px
}
BODY#mod-quiz-grading TABLE#grading TD {
	BORDER-RIGHT: 1px solid; VERTICAL-ALIGN: bottom; BORDER-LEFT: 1px solid
}
.mod-quiz .quiz-report-title {
	FONT-WEIGHT: bold; TEXT-ALIGN: center
}
.mod-quiz .gradingdetails {
	FONT-SIZE: small
}
#mod-quiz-attempt #page {
	TEXT-ALIGN: center
}
#mod-quiz-attempt #timer .generalbox {
	WIDTH: 150px
}
#mod-quiz-attempt #timer {
	LEFT: 10px; POSITION: absolute
}
#question-preview .essay .answer TEXTAREA {
	WIDTH: 400px
}
.structlist {
	FONT-SIZE: small; WHITE-SPACE: nowrap; LIST-STYLE-TYPE: none
}
.orgtitle {
	FONT-WEIGHT: bold; FONT-SIZE: small
}
.mod-scorm .top {
	VERTICAL-ALIGN: top
}
.mod-scorm .left {
	TEXT-ALIGN: left
}
.mod-scorm .center {
	TEXT-ALIGN: center
}
.mod-scorm .right {
	TEXT-ALIGN: right
}
.mod-scorm .scoframe {
=09
}
#mod-scorm-player #scormpage {
	WIDTH: 100%; POSITION: relative
}
#mod-scorm-player #tocbox {
	LEFT: 0px; WIDTH: 19%; POSITION: absolute; TOP: 0px
}
#mod-scorm-player #tochead {
	FONT-WEIGHT: bold; TEXT-ALIGN: center
}
#mod-scorm-player #scormbox {
	RIGHT: 0px; POSITION: absolute; TOP: 0px
}
#mod-scorm-player .toc {
	MARGIN-LEFT: 20%; WIDTH: 80%
}
#mod-scorm-player .no-toc {
	WIDTH: 100%
}
#mod-scorm-player #scormobject {
=09
}
#mod-scorm-player #scormtop {
	WIDTH: 100%; POSITION: relative; HEIGHT: 30px
}
#mod-scorm-player #scormbrowse {
	LEFT: 5px; POSITION: absolute; TOP: 0px
}
#mod-scorm-player #scormnav {
	RIGHT: 5px; POSITION: absolute; TOP: 0px
}
#mod-scorm-player .structurelist {
	FONT-SIZE: small; TEXT-INDENT: -4ex; LIST-STYLE-TYPE: none
}
#mod-scorm-view .structurehead {
	FONT-WEIGHT: bold; TEXT-ALIGN: center
}
#mod-scorm-view .structurelist {
	WHITE-SPACE: nowrap; LIST-STYLE-TYPE: none
}
.workshop_feedbackbox {
	BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; =
MARGIN-TOP: 5px; BORDER-LEFT: #999999 1px solid; BORDER-BOTTOM: #999999 =
1px solid
}
.workshop_feedbackbox .picture {
	VERTICAL-ALIGN: top
}
.workshop_feedbackbox .author {
	DISPLAY: block; VERTICAL-ALIGN: top
}
.workshop_feedbackbox .time {
	DISPLAY: block; VERTICAL-ALIGN: top
}
.workshop_feedbackbox .content {
	VERTICAL-ALIGN: top
}
.workshop_feedbackbox .comment {
	DISPLAY: block
}
.workshop_feedbackbox .teachercomment {
	DISPLAY: block; FONT-WEIGHT: bold
}
.block_adminblock .content {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 10px; TEXT-ALIGN: center
}
.block_blog_tags .s20 {
	FONT-WEIGHT: bold; FONT-SIZE: 1.5em
}
.block_blog_tags .s19 {
	FONT-SIZE: 1.5em
}
.block_blog_tags .s18 {
	FONT-WEIGHT: bold; FONT-SIZE: 1.4em
}
.block_blog_tags .s17 {
	FONT-SIZE: 1.4em
}
.block_blog_tags .s16 {
	FONT-WEIGHT: bold; FONT-SIZE: 1.3em
}
.block_blog_tags .s15 {
	FONT-SIZE: 1.3em
}
.block_blog_tags .s14 {
	FONT-WEIGHT: bold; FONT-SIZE: 1.2em
}
.block_blog_tags .s13 {
	FONT-SIZE: 1.2em
}
.block_blog_tags .s12 {
	FONT-WEIGHT: bold; FONT-SIZE: 1.1em
}
.block_blog_tags .s11 {
	FONT-WEIGHT: bold; FONT-SIZE: 1.1em
}
.block_blog_tags .s10 {
	FONT-SIZE: 1.1em
}
.block_blog_tags .s9 {
	FONT-SIZE: 1.1em
}
.block_blog_tags .s8 {
	FONT-WEIGHT: bold; FONT-SIZE: 1em
}
.block_blog_tags .s7 {
	FONT-WEIGHT: bold; FONT-SIZE: 1em
}
.block_blog_tags .s6 {
	FONT-SIZE: 1em
}
.block_blog_tags .s5 {
	FONT-SIZE: 1em
}
.block_blog_tags .s4 {
	FONT-WEIGHT: bold; FONT-SIZE: 0.9em
}
.block_blog_tags .s3 {
	FONT-WEIGHT: bold; FONT-SIZE: 0.9em
}
.block_blog_tags .s2 {
	FONT-SIZE: 0.9em
}
.block_blog_tags .s1 {
	FONT-SIZE: 0.9em
}
.block_calendar_month .cal_popup_caption {
	FONT-SIZE: 0.85em! important
}
.block_calendar_month .cal_popup_fg DIV {
	FONT-SIZE: 0.85em! important
}
.block_calendar_month .filters {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-SIZE: 0.75em; =
PADDING-BOTTOM: 5px; PADDING-TOP: 5px
}
.block_calendar_month .filters TABLE {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; =
PADDING-TOP: 2px; BORDER-COLLAPSE: separate; border-spacing: 2px
}
.block_calendar_month .event_global {
	BORDER-RIGHT: 2px solid; BORDER-TOP: 2px solid; BORDER-LEFT: 2px solid; =
BORDER-BOTTOM: 2px solid
}
.block_calendar_month .event_course {
	BORDER-RIGHT: 2px solid; BORDER-TOP: 2px solid; BORDER-LEFT: 2px solid; =
BORDER-BOTTOM: 2px solid
}
.block_calendar_month .event_group {
	BORDER-RIGHT: 2px solid; BORDER-TOP: 2px solid; BORDER-LEFT: 2px solid; =
BORDER-BOTTOM: 2px solid
}
.block_calendar_month .event_user {
	BORDER-RIGHT: 2px solid; BORDER-TOP: 2px solid; BORDER-LEFT: 2px solid; =
BORDER-BOTTOM: 2px solid
}
.block_calendar_upcoming .event .date {
	TEXT-ALIGN: right
}
.block_course_summary .content {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 10px
}
.block_login .logintable {
	TEXT-ALIGN: center
}
.block_login .loginform {
	DISPLAY: inline
}
.block_quiz_results {
	TEXT-ALIGN: center
}
.block_quiz_results TABLE.grades .number {
	WIDTH: 10%; TEXT-ALIGN: right
}
.block_quiz_results TABLE.grades .grade {
	WIDTH: 10%; TEXT-ALIGN: right
}
.block_quiz_results TABLE.grades {
	WIDTH: 100%; TEXT-ALIGN: left
}
.block_quiz_results TABLE.grades CAPTION {
	FONT-WEIGHT: bold; MARGIN: 1em 0px 0px; BORDER-BOTTOM: 1px solid
}
.block_quiz_results H1 {
	FONT-WEIGHT: bold; FONT-SIZE: 1.1em; MARGIN: 4px
}
.block_rss_client .link {
	BORDER-TOP: #dddddd 1px solid; FONT-SIZE: 0.82em; PADDING-BOTTOM: 5px
}
.block_rss_client .description {
	PADDING-LEFT: 10px; FONT-SIZE: 0.78em; PADDING-BOTTOM: 8px; COLOR: =
#555555
}
.block_rss_client .title {
	FONT-SIZE: 1em
}
.block_rss_client .image {
=09
}
.blockconfigtable #rssfeeds {
	WIDTH: 100%
}
.blockconfigtable #rssfeeds TD.actions {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
VERTICAL-ALIGN: middle; PADDING-TOP: 10px; TEXT-ALIGN: center
}
.blockconfigtable #rssfeeds TD.feed {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
VERTICAL-ALIGN: middle; PADDING-TOP: 5px
}
.blockconfigtable #rssfeeds .title {
	FONT-WEIGHT: bold; MARGIN-BOTTOM: 2px
}
.blockconfigtable #rssfeeds .url {
	FONT-SIZE: 0.8em
}
.blockconfigtable #rssfeeds .description {
	FONT-SIZE: 0.8em
}
.blockconfigtable #rssfeeds TR.r0 {
	BACKGROUND-COLOR: #ffffff
}
.blockconfigtable #rssfeeds TR.r1 {
	BACKGROUND-COLOR: #f0f0f0
}
.block_search_forums .searchform {
	TEXT-ALIGN: center
}
.block_search_forums .searchform IMG {
	VERTICAL-ALIGN: middle
}

------=_NextPart_000_0000_01C810C0.79E4EB70
Content-Type: application/x-php
Content-Transfer-Encoding: quoted-printable
Content-Location: http://courses.lis.uiuc.edu/theme/gslis-v1/styles.php

BODY {
	MARGIN: 5px
}
H1.main {
	PADDING-LEFT: 5px; TEXT-ALIGN: left
}
H2.main {
	PADDING-LEFT: 5px; TEXT-ALIGN: left
}
H3.main {
	PADDING-LEFT: 5px; TEXT-ALIGN: left
}
H4.main {
	PADDING-LEFT: 5px; TEXT-ALIGN: left
}
H5.main {
	PADDING-LEFT: 5px; TEXT-ALIGN: left
}
H6.main {
	PADDING-LEFT: 5px; TEXT-ALIGN: left
}
H1 {
	PADDING-LEFT: 5px; TEXT-ALIGN: left
}
H2 {
	PADDING-LEFT: 5px; TEXT-ALIGN: left
}
H3 {
	PADDING-LEFT: 5px; TEXT-ALIGN: left
}
H4 {
	PADDING-LEFT: 5px; TEXT-ALIGN: left
}
H1 {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid
}
H2 {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid
}
H3 {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid
}
H4 {
	BORDER-BOTTOM: 1px solid
}
INPUT {
=09
}
.generalbox {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid
}
.sitetopiccontent {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid
}
#header-home {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid; HEIGHT: 60px
}
#header {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid; HEIGHT: 55px
}
.headermenu {
	FLOAT: right; TEXT-ALIGN: right
}
.navbar {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: 1px solid; =
PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: 1px solid; WIDTH: =
100%; MARGIN-RIGHT: -3px; PADDING-TOP: 0px; BORDER-BOTTOM: 1px solid; =
HEIGHT: 25px
}
.breadcrumb {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-TOP: 3px
}
.navbar .navbutton {
	PADDING-RIGHT: 3px; PADDING-TOP: 2px
}
IMG.userpicture {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid
}
TABLE.loginbox {
	MARGIN-TOP: 20px
}
.loginbox .header {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 0px solid
}
.loginbox .content {
	BORDER-TOP-WIDTH: 0px
}
#footer {
	MARGIN-TOP: 5px; TEXT-ALIGN: left
}
.sideblock .footer {
	BORDER-TOP: 1px dashed
}
TABLE.minicalendar {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: 1px solid; =
PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; MARGIN: 10px auto; BORDER-LEFT: =
1px solid; WIDTH: 100%; PADDING-TOP: 2px; BORDER-BOTTOM: 1px solid; =
BORDER-COLLAPSE: separate; border-spacing: 1px
}
TABLE.minicalendar TR.weekdays TH {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
TABLE.minicalendar TR TD.day {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid
}
TABLE.calendarmonth {
	BORDER-COLLAPSE: separate; border-spacing: 1px
}
TABLE.calendarmonth TR TD {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; =
BORDER-BOTTOM: 1px solid
}
.headingblock {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: 1px solid; =
PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: 1px solid; =
PADDING-TOP: 5px; BORDER-BOTTOM: 1px solid
}
.categorybox .category {
	BORDER-TOP-WIDTH: 1px; BORDER-LEFT-WIDTH: 1px; PADDING-TOP: 7px; =
BORDER-BOTTOM: 1px solid; BORDER-RIGHT-WIDTH: 1px
}
.categorybox .category {
	BORDER-TOP-WIDTH: 1px; BORDER-LEFT-WIDTH: 1px; PADDING-TOP: 7px; =
BORDER-BOTTOM: 1px solid; BORDER-RIGHT-WIDTH: 1px
}
#course-view .section .left {
	BORDER-RIGHT: 1px dashed
}
#course-view .hidden.section .content {
	BORDER-RIGHT: 1px dashed; BORDER-TOP: 1px dashed; BORDER-LEFT: 1px =
dashed; BORDER-BOTTOM: 1px dashed
}
#course-view .hidden.section .side {
	BORDER-RIGHT: 1px dashed; BORDER-TOP: 1px dashed; BORDER-LEFT: 1px =
dashed; BORDER-BOTTOM: 1px dashed
}
BODY#course-view .unread {
	MARGIN-LEFT: 0.5em
}
#content {
	MARGIN-LEFT: 4px; MARGIN-RIGHT: 4px
}
#content BLOCKQUOTE {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 8px; BORDER-TOP: 1px solid; =
PADDING-LEFT: 8px; PADDING-BOTTOM: 8px; MARGIN: 10px; BORDER-LEFT: 1px =
solid; PADDING-TOP: 8px; BORDER-BOTTOM: 1px solid
}
.starter {
	PADDING-RIGHT: 6px; PADDING-LEFT: 8px
}
.nextunreadform {
	TEXT-ALIGN: center
}
#content .commands A {
	BORDER-RIGHT: 0px solid; PADDING-RIGHT: 4px; BORDER-TOP: 1px solid; =
PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; BORDER-LEFT: 1px solid; =
PADDING-TOP: 4px; BORDER-BOTTOM: 0px solid
}
INPUT.clock {
	BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; MARGIN: 0px auto; =
BORDER-LEFT: 0px solid; BORDER-BOTTOM: 0px solid
}
BODY {
	BACKGROUND-COLOR: #ffffff
}
A:link {
	COLOR: #0033cc
}
A:visited {
	COLOR: #0033cc
}
A:hover {
	COLOR: #974000
}
A.dimmed:link {
	COLOR: #aaaaaa
}
A.dimmed:visited {
	COLOR: #aaaaaa
}
A.dimmed_text {
	COLOR: #aaaaaa
}
H1 {
	BORDER-LEFT-COLOR: #333333; BORDER-BOTTOM-COLOR: #333333; COLOR: =
#333333; BORDER-TOP-COLOR: #333333; BACKGROUND-COLOR: #dddddd; =
BORDER-RIGHT-COLOR: #333333
}
H2 {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BACKGROUND-COLOR: #e8eef7; =
BORDER-RIGHT-COLOR: #dddddd
}
H3 {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
H4 {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
TH {
	BACKGROUND-COLOR: #e8eef7
}
TH.header {
	BACKGROUND-COLOR: #e8eef7
}
TD.header {
	BACKGROUND-COLOR: #e8eef7
}
DIV.header {
	BACKGROUND-COLOR: #e8eef7
}
#layout-table #left-column {
=09
}
.generalbox {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BACKGROUND-COLOR: #ffffff; =
BORDER-RIGHT-COLOR: #dddddd
}
.navbar {
	BORDER-LEFT-COLOR: #666666; BACKGROUND: url(pix/grad/bg_bread.jpg) =
repeat-x; BORDER-BOTTOM-COLOR: #666666; BORDER-TOP-COLOR: #666666; =
BORDER-RIGHT-COLOR: #666666
}
.navbar A:link {
	COLOR: #ffffff
}
.navbar A:visited {
	COLOR: #ffffff
}
.navbar A:hover {
	COLOR: #dddddd
}
.sitetopiccontent {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BACKGROUND-COLOR: #ffffff; =
BORDER-RIGHT-COLOR: #dddddd
}
#header-home {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; COLOR: =
#ffffff; BORDER-TOP-COLOR: #dddddd; BACKGROUND-COLOR: #164c84; =
BORDER-RIGHT-COLOR: #dddddd
}
#header {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; COLOR: =
#ffffff; BORDER-TOP-COLOR: #dddddd; BACKGROUND-COLOR: #164c84; =
BORDER-RIGHT-COLOR: #dddddd
}
#header-home A:link {
	COLOR: #ffffff
}
#header A:link {
	COLOR: #ffffff
}
#header-home A:visited {
	COLOR: #ffffff
}
#header A:visited {
	COLOR: #ffffff
}
#header-home A:hover {
	COLOR: #dddddd
}
#header A:hover {
	COLOR: #dddddd
}
IMG.userpicture {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
.loginbox .header {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
.loginbox .content {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
.sideblock .header {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
.sideblock {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
.sideblock .content {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BACKGROUND-COLOR: #f6f6f6; =
BORDER-RIGHT-COLOR: #dddddd
}
.sideblock .footer {
	BORDER-TOP-COLOR: #dddddd
}
.sideblock .header .hide-show IMG.hide-show-image {
	BACKGROUND: url(../../pix/t/switch_minus.gif) no-repeat 50% bottom
}
.hidden.sideblock .header .hide-show IMG.hide-show-image {
	BACKGROUND: url(../../pix/t/switch_plus.gif) no-repeat 50% bottom
}
.sideblock .content .post .head .date {
	COLOR: #000000
}
.sideblock .content .post .head .name {
	COLOR: #000000
}
#calendar .maincalendar {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
#calendar .sidecalendar {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
#calendar .maincalendar TABLE.calendarmonth TH {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
TABLE.calendarmonth TR TD {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
TABLE.minicalendar {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
TABLE.minicalendar TR.weekdays TH {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BACKGROUND-COLOR: #f6f6f6; =
BORDER-RIGHT-COLOR: #dddddd
}
TABLE.minicalendar TR TD.day {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
TABLE.minicalendar TR TD.weekend {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; COLOR: =
#cd6207; BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
#calendar .today {
	BORDER-LEFT-COLOR: #000000! important; BORDER-BOTTOM-COLOR: #000000! =
important; BORDER-TOP-COLOR: #000000! important; BORDER-RIGHT-COLOR: =
#000000! important
}
.minicalendar .today {
	BORDER-LEFT-COLOR: #000000! important; BORDER-BOTTOM-COLOR: #000000! =
important; BORDER-TOP-COLOR: #000000! important; BORDER-RIGHT-COLOR: =
#000000! important
}
#calendar .event_global {
	BORDER-LEFT-COLOR: #2eba0e! important; BORDER-BOTTOM-COLOR: #2eba0e! =
important; BORDER-TOP-COLOR: #2eba0e! important; BACKGROUND-COLOR: =
#2eba0e; BORDER-RIGHT-COLOR: #2eba0e! important
}
.minicalendar .event_global {
	BORDER-LEFT-COLOR: #2eba0e! important; BORDER-BOTTOM-COLOR: #2eba0e! =
important; BORDER-TOP-COLOR: #2eba0e! important; BACKGROUND-COLOR: =
#2eba0e; BORDER-RIGHT-COLOR: #2eba0e! important
}
.block_calendar_month .event_global {
	BORDER-LEFT-COLOR: #2eba0e! important; BORDER-BOTTOM-COLOR: #2eba0e! =
important; BORDER-TOP-COLOR: #2eba0e! important; BACKGROUND-COLOR: =
#2eba0e; BORDER-RIGHT-COLOR: #2eba0e! important
}
#calendar .event_course {
	BORDER-LEFT-COLOR: #ff9966! important; BORDER-BOTTOM-COLOR: #ff9966! =
important; BORDER-TOP-COLOR: #ff9966! important; BACKGROUND-COLOR: =
#ff9966; BORDER-RIGHT-COLOR: #ff9966! important
}
.minicalendar .event_course {
	BORDER-LEFT-COLOR: #ff9966! important; BORDER-BOTTOM-COLOR: #ff9966! =
important; BORDER-TOP-COLOR: #ff9966! important; BACKGROUND-COLOR: =
#ff9966; BORDER-RIGHT-COLOR: #ff9966! important
}
.block_calendar_month .event_course {
	BORDER-LEFT-COLOR: #ff9966! important; BORDER-BOTTOM-COLOR: #ff9966! =
important; BORDER-TOP-COLOR: #ff9966! important; BACKGROUND-COLOR: =
#ff9966; BORDER-RIGHT-COLOR: #ff9966! important
}
#calendar .event_group {
	BORDER-LEFT-COLOR: #cd6207! important; BORDER-BOTTOM-COLOR: #cd6207! =
important; BORDER-TOP-COLOR: #cd6207! important; BACKGROUND-COLOR: =
#cd6207; BORDER-RIGHT-COLOR: #cd6207! important
}
.minicalendar .event_group {
	BORDER-LEFT-COLOR: #cd6207! important; BORDER-BOTTOM-COLOR: #cd6207! =
important; BORDER-TOP-COLOR: #cd6207! important; BACKGROUND-COLOR: =
#cd6207; BORDER-RIGHT-COLOR: #cd6207! important
}
.block_calendar_month .event_group {
	BORDER-LEFT-COLOR: #cd6207! important; BORDER-BOTTOM-COLOR: #cd6207! =
important; BORDER-TOP-COLOR: #cd6207! important; BACKGROUND-COLOR: =
#cd6207; BORDER-RIGHT-COLOR: #cd6207! important
}
#calendar .event_user {
	BORDER-LEFT-COLOR: #7f96bb! important; BORDER-BOTTOM-COLOR: #7f96bb! =
important; BORDER-TOP-COLOR: #7f96bb! important; BACKGROUND-COLOR: =
#7f96bb; BORDER-RIGHT-COLOR: #7f96bb! important
}
.minicalendar .event_user {
	BORDER-LEFT-COLOR: #7f96bb! important; BORDER-BOTTOM-COLOR: #7f96bb! =
important; BORDER-TOP-COLOR: #7f96bb! important; BACKGROUND-COLOR: =
#7f96bb; BORDER-RIGHT-COLOR: #7f96bb! important
}
.block_calendar_month .event_user {
	BORDER-LEFT-COLOR: #7f96bb! important; BORDER-BOTTOM-COLOR: #7f96bb! =
important; BORDER-TOP-COLOR: #7f96bb! important; BACKGROUND-COLOR: =
#7f96bb; BORDER-RIGHT-COLOR: #7f96bb! important
}
.cal_popup_fg {
	BACKGROUND-COLOR: #f6f6f6
}
.cal_popup_bg {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BACKGROUND-COLOR: #f6f6f6; =
BORDER-RIGHT-COLOR: #dddddd
}
.headingblock {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
.categoryboxcontent {
	BORDER-LEFT-COLOR: #dddddd; BACKGROUND: #ffffff; BORDER-BOTTOM-COLOR: =
#dddddd; BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
.courseboxcontent {
	BORDER-LEFT-COLOR: #dddddd; BACKGROUND: #ffffff; BORDER-BOTTOM-COLOR: =
#dddddd; BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
.categorybox .category {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
.categorybox .category {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
#course-view .main.section .content {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BACKGROUND-COLOR: #ffffff; =
BORDER-RIGHT-COLOR: #dddddd
}
#course-view .main.section .side {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BACKGROUND-COLOR: #ffffff; =
BORDER-RIGHT-COLOR: #dddddd
}
#course-view .current .side.right {
	BACKGROUND-COLOR: #dddddd
}
#course-view .current .side.left {
	BACKGROUND-COLOR: #dddddd
}
#course-view .hidden.section .content {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
#course-view .hidden.section .side {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
#course-view .current .side {
	BACKGROUND-COLOR: #e8eef7
}
.tabs .side {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
.tabrow TD {
	BACKGROUND: url(pix/tab/left.gif) no-repeat left top
}
.tabrow TD .tablink {
	BACKGROUND: url(pix/tab/right.gif) no-repeat right top
}
.tabrow TD:hover {
	BACKGROUND-IMAGE: url(pix/tab/left_hover.gif)
}
.tabrow TD:hover .tablink {
	BACKGROUND-IMAGE: url(pix/tab/right_hover.gif)
}
.tabrow .last SPAN {
	BACKGROUND: url(pix/tab/right_end.gif) no-repeat right top
}
.tabrow .selected {
	BACKGROUND: url(pix/tab/left_active.gif) no-repeat left top
}
.tabrow .selected .tablink {
	BACKGROUND: url(pix/tab/right_active.gif) no-repeat right top
}
.tabrow TD.selected:hover {
	BACKGROUND-IMAGE: url(pix/tab/left_active_hover.gif)
}
.tabrow TD.selected:hover .tablink {
	BACKGROUND-IMAGE: url(pix/tab/right_active_hover.gif)
}
.highlight {
	BACKGROUND-COLOR: #aaffaa
}
.forumheaderlist {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
.forumpost {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
.forumpost .content {
	BACKGROUND: #f6f6f6
}
.forumpost .left {
	BACKGROUND: #f6f6f6
}
.forumpost .topic {
	BORDER-BOTTOM-COLOR: #dddddd
}
.forumpost .starter {
	BACKGROUND: #f6f6f6
}
.forumheaderlist .discussion .starter {
	BACKGROUND: #f6f6f6
}
.forumheaderlist TD {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
.sideblock .post .head {
	COLOR: #f6f6f6
}
.forumthread .unread {
	BACKGROUND: #f6f6f6
}
#mod-forum-discuss .forumpost {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
#mod-forum-discuss .unreadmark {
	COLOR: #ff0000
}
#mod-forum-discuss .unread.forumpost .content {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
#mod-forum-discuss .forumthread .unread {
=09
}
#mod-forum-index .unread {
=09
}
#content BLOCKQUOTE {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; =
BORDER-TOP-COLOR: #dddddd; BACKGROUND-COLOR: #ffffff; =
BORDER-RIGHT-COLOR: #dddddd
}
#content .commands A {
	BORDER-LEFT-COLOR: #dddddd; BORDER-BOTTOM-COLOR: #dddddd; COLOR: =
#000000; BORDER-TOP-COLOR: #dddddd; BORDER-RIGHT-COLOR: #dddddd
}
INPUT.clock {
	BORDER-LEFT-COLOR: #164c84; BORDER-BOTTOM-COLOR: #164c84; COLOR: =
#ffffff; BORDER-TOP-COLOR: #164c84; BACKGROUND-COLOR: #164c84; =
BORDER-RIGHT-COLOR: #164c84
}
.clearer {
	FONT-SIZE: 1px
}
TD {
	FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
LI {
	FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
BODY {
	FONT-SIZE: 77%; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
TH {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: Verdana, Geneva, =
Arial, Helvetica, sans-serif
}
A:link {
	TEXT-DECORATION: none
}
A:visited {
	TEXT-DECORATION: none
}
A:hover {
	TEXT-DECORATION: underline
}
H1 {
	FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif
}
H2 {
	FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif
}
H3 {
	FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif
}
H4 {
	FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif
}
H1 {
	FONT-WEIGHT: bold; FONT-SIZE: 1.2em
}
H2 {
	FONT-SIZE: 1.15em
}
H3 {
	FONT-SIZE: 1.1em
}
H4 {
	FONT-WEIGHT: bold
}
TH.header {
	FONT-WEIGHT: bold; FONT-SIZE: 1em; FONT-FAMILY: Verdana, Geneva, Arial, =
Helvetica, sans-serif
}
TD.header {
	FONT-WEIGHT: bold; FONT-SIZE: 1em; FONT-FAMILY: Verdana, Geneva, Arial, =
Helvetica, sans-serif
}
DIV.header {
	FONT-WEIGHT: bold; FONT-SIZE: 1em; FONT-FAMILY: Verdana, Geneva, Arial, =
Helvetica, sans-serif
}
.headingblock {
	FONT-WEIGHT: bold; FONT-SIZE: 1em; FONT-FAMILY: Verdana, Geneva, Arial, =
Helvetica, sans-serif
}
.categorybox .category {
	FONT-WEIGHT: bold; FONT-SIZE: 1.2em
}
.categorybox .category {
	FONT-WEIGHT: bold; FONT-SIZE: 1.2em
}
.categorybox .category {
	FONT-WEIGHT: bold; FONT-SIZE: 1.2em
}
.breadcrumb {
	FONT-WEIGHT: bold; FONT-SIZE: 0.97em; FONT-FAMILY: Verdana, Geneva, =
Arial, Helvetica, sans-serif
}
.breadcrumb .sep {
	FONT-FAMILY: Arial, Helvetica, Courier, sans-serif
}
.headermenu BUTTON {
	FONT-FAMILY: Arial, Helvetica, Courier, sans-serif
}
.calendar-controls .previous {
	FONT-FAMILY: Arial, Helvetica, Courier, sans-serif
}
.calendar-controls .next {
	FONT-FAMILY: Arial, Helvetica, Courier, sans-serif
}
.logininfo {
	FONT-SIZE: 1em
}
#header-home .headermenu FONT {
	FONT-SIZE: 1em
}
#header-home A {
	FONT-WEIGHT: bold
}
#header A {
	FONT-WEIGHT: bold
}
.sideblock .footer {
	TEXT-ALIGN: left
}
#calendar .maincalendar TABLE.calendarmonth TD {
	FONT-SIZE: 0.9em
}
#calendar .maincalendar .calendar-controls .current {
	FONT-WEIGHT: bold
}
#calendar .sidecalendar .filters {
	FONT-SIZE: 0.9em
}
TABLE.minicalendar TR.weekdays TH {
	FONT-WEIGHT: normal; FONT-SIZE: 0.9em; FONT-FAMILY: Verdana, Geneva, =
Arial, Helvetica, sans-serif
}
TABLE.minicalendar TR TD.day {
	FONT-SIZE: 0.9em
}
#course-view .section .left {
	FONT-WEIGHT: bold; FONT-SIZE: 1.2em
}
#content .commands {
	FONT-WEIGHT: bold; FONT-SIZE: 1em
}
#content SMALL {
	FONT-SIZE: 0.9em
}
#mod-forum-discuss .unreadmark {
	FONT-WEIGHT: bold
}
INPUT.clock {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; FONT-FAMILY: Arial,Helvetica; =
TEXT-ALIGN: center
}

------=_NextPart_000_0000_01C810C0.79E4EB70
Content-Type: application/x-js
Content-Transfer-Encoding: quoted-printable
Content-Location: http://courses.lis.uiuc.edu/lib/speller/spellChecker.js

////////////////////////////////////////////////////=0A=
// spellChecker.js=0A=
//=0A=
// spellChecker object=0A=
//=0A=
// This file is sourced on web pages that have a textarea object to =
evaluate=0A=
// for spelling. It includes the implementation for the spellCheckObject.=0A=
//=0A=
// Modified by LUDO (Marc Alier) for integration with the moogle =
environment=0A=
// august 2004 malier@lsi.upc.es=0A=
//=0A=
////////////////////////////////////////////////////=0A=
=0A=
=0A=
// constructor=0A=
function spellChecker( textObject) {=0A=
    // public properties - configurable=0A=
    //this.popUpUrl =3D '/moodle/lib/speller/spellchecker.html';=0A=
    this.popUpName =3D 'spellchecker';=0A=
    this.popUpProps =3D =
"menu=3Dno,width=3D440,height=3D350,top=3D70,left=3D120,resizable=3Dyes,s=
tatus=3Dyes";=0A=
    //this.spellCheckScript =3D =
'/moodle/lib/speller/server-scripts/spellchecker.php';=0A=
    //this.spellCheckScript =3D '/cgi-bin/spellchecker.pl';=0A=
=0A=
    // values used to keep track of what happened to a word=0A=
    this.replWordFlag =3D "R";    // single replace=0A=
    this.ignrWordFlag =3D "I";    // single ignore=0A=
    this.replAllFlag =3D "RA";    // replace all occurances=0A=
    this.ignrAllFlag =3D "IA";    // ignore all occurances=0A=
    this.fromReplAll =3D "~RA";   // an occurance of a "replace all" word=0A=
    this.fromIgnrAll =3D "~IA";   // an occurance of a "ignore all" word=0A=
    // properties set at run time=0A=
    this.wordFlags =3D new Array();=0A=
    this.currentTextIndex =3D 0;=0A=
    this.currentWordIndex =3D 0;=0A=
    this.spellCheckerWin =3D null;=0A=
    this.controlWin =3D null;=0A=
    this.wordWin =3D null;=0A=
    this.textArea =3D textObject; // deprecated=0A=
    this.textInputs =3D arguments;=0A=
=0A=
    this._editor=3D""; //  BY LUDO=0A=
    // private methods=0A=
    this._spellcheck =3D _spellcheck;=0A=
    this._getSuggestions =3D _getSuggestions;=0A=
    this._setAsIgnored =3D _setAsIgnored;=0A=
    this._getTotalReplaced =3D _getTotalReplaced;=0A=
    this._setWordText =3D _setWordText;=0A=
    this._getFormInputs =3D _getFormInputs;=0A=
=0A=
    // public methods=0A=
    this.openChecker =3D openChecker;=0A=
    this.startCheck =3D startCheck;=0A=
    this.checkTextBoxes =3D checkTextBoxes;=0A=
    this.checkTextAreas =3D checkTextAreas;=0A=
    this.spellCheckAll =3D spellCheckAll;=0A=
    this.ignoreWord =3D ignoreWord;=0A=
    this.ignoreAll =3D ignoreAll;=0A=
    this.replaceWord =3D replaceWord;=0A=
    this.replaceAll =3D replaceAll;=0A=
    this.terminateSpell =3D terminateSpell;=0A=
    this.undo =3D undo;=0A=
=0A=
    // set the current window's "speller" property to the instance of =
this class.=0A=
    // this object can now be referenced by child windows/frames.=0A=
    window.speller =3D this;=0A=
}=0A=
=0A=
// call this method to check all text boxes (and only text boxes) in the =
HTML document=0A=
function checkTextBoxes() {=0A=
    this.textInputs =3D this._getFormInputs( "^text$" );=0A=
    this.openChecker();=0A=
}=0A=
=0A=
// call this method to check all textareas (and only textareas ) in the =
HTML document=0A=
function checkTextAreas() {=0A=
    this.textInputs =3D this._getFormInputs( "^textarea$" );=0A=
    this.openChecker();=0A=
}=0A=
=0A=
// call this method to check all text boxes and textareas in the HTML =
document=0A=
function spellCheckAll() {=0A=
    this.textInputs =3D this._getFormInputs( "^text(area)?$" );=0A=
    this.openChecker();=0A=
}=0A=
=0A=
// call this method to check text boxe(s) and/or textarea(s) that were =
passed in to the=0A=
// object's constructor or to the textInputs property=0A=
function openChecker() {=0A=
    this.spellCheckerWin =3D window.open( this.popUpUrl, this.popUpName, =
this.popUpProps );=0A=
    if( !this.spellCheckerWin.opener ) {=0A=
        this.spellCheckerWin.opener =3D window;=0A=
    }=0A=
}=0A=
=0A=
function startCheck( wordWindowObj, controlWindowObj ) {=0A=
=0A=
    // set properties from args=0A=
    this.wordWin =3D wordWindowObj;=0A=
    this.controlWin =3D controlWindowObj;=0A=
=0A=
    // reset properties=0A=
    this.wordWin.resetForm();=0A=
    this.controlWin.resetForm();=0A=
    this.currentTextIndex =3D 0;=0A=
    this.currentWordIndex =3D 0;=0A=
    // initialize the flags to an array - one element for each text input=0A=
    this.wordFlags =3D new Array( this.wordWin.textInputs.length );=0A=
    // each element will be an array that keeps track of each word in =
the text=0A=
    for( var i=3D0; i<this.wordFlags.length; i++ ) {=0A=
        this.wordFlags[i] =3D [];=0A=
    }=0A=
=0A=
    // start=0A=
    this._spellcheck();=0A=
=0A=
    return true;=0A=
}=0A=
=0A=
function ignoreWord() {=0A=
    var wi =3D this.currentWordIndex;=0A=
    var ti =3D this.currentTextIndex;=0A=
    if( !this.wordWin ) {=0A=
        alert( 'Error: Word frame not available.' );=0A=
        return false;=0A=
    }=0A=
    if( !this.wordWin.getTextVal( ti, wi )) {=0A=
        alert( 'Error: "Not in dictionary" text is missing.' );=0A=
        return false;=0A=
    }=0A=
    // set as ignored=0A=
    if( this._setAsIgnored( ti, wi, this.ignrWordFlag )) {=0A=
        this.currentWordIndex++;=0A=
        this._spellcheck();=0A=
    }=0A=
}=0A=
=0A=
function ignoreAll() {=0A=
    var wi =3D this.currentWordIndex;=0A=
    var ti =3D this.currentTextIndex;=0A=
    if( !this.wordWin ) {=0A=
        alert( 'Error: Word frame not available.' );=0A=
        return false;=0A=
    }=0A=
    // get the word that is currently being evaluated.=0A=
    var s_word_to_repl =3D this.wordWin.getTextVal( ti, wi );=0A=
    if( !s_word_to_repl ) {=0A=
        alert( 'Error: "Not in dictionary" text is missing' );=0A=
        return false;=0A=
    }=0A=
=0A=
    // set this word as an "ignore all" word.=0A=
    this._setAsIgnored( ti, wi, this.ignrAllFlag );=0A=
=0A=
    // loop through all the words after this word=0A=
    for( var i =3D ti; i < this.wordWin.textInputs.length; i++ ) {=0A=
        for( var j =3D 0; j < this.wordWin.totalWords( i ); j++ ) {=0A=
            if(( i =3D=3D ti && j > wi ) || i > ti ) {=0A=
                // future word: set as "from ignore all" if=0A=
                // 1) do not already have a flag and=0A=
                // 2) have the same value as current word=0A=
                if(( this.wordWin.getTextVal( i, j ) =3D=3D =
s_word_to_repl )=0A=
                && ( !this.wordFlags[i][j] )) {=0A=
                    this._setAsIgnored( i, j, this.fromIgnrAll );=0A=
                }=0A=
            }=0A=
        }=0A=
    }=0A=
=0A=
    // finally, move on=0A=
    this.currentWordIndex++;=0A=
    this._spellcheck();=0A=
}=0A=
=0A=
function replaceWord() {=0A=
    var wi =3D this.currentWordIndex;=0A=
    var ti =3D this.currentTextIndex;=0A=
    if( !this.wordWin ) {=0A=
        alert( 'Error: Word frame not available.' );=0A=
        return false;=0A=
    }=0A=
    if( !this.wordWin.getTextVal( ti, wi )) {=0A=
        alert( 'Error: "Not in dictionary" text is missing' );=0A=
        return false;=0A=
    }=0A=
    if( !this.controlWin.replacementText ) {=0A=
        return;=0A=
    }=0A=
    var txt =3D this.controlWin.replacementText;=0A=
    if( txt.value ) {=0A=
        var newspell =3D new String( txt.value );=0A=
        if( this._setWordText( ti, wi, newspell, this.replWordFlag )) {=0A=
            this.currentWordIndex++;=0A=
            this._spellcheck();=0A=
        }=0A=
    }=0A=
}=0A=
=0A=
function replaceAll() {=0A=
    var ti =3D this.currentTextIndex;=0A=
    var wi =3D this.currentWordIndex;=0A=
    if( !this.wordWin ) {=0A=
        alert( 'Error: Word frame not available.' );=0A=
        return false;=0A=
    }=0A=
    var s_word_to_repl =3D this.wordWin.getTextVal( ti, wi );=0A=
    if( !s_word_to_repl ) {=0A=
        alert( 'Error: "Not in dictionary" text is missing' );=0A=
        return false;=0A=
    }=0A=
    var txt =3D this.controlWin.replacementText;=0A=
    if( !txt.value ) return;=0A=
    var newspell =3D new String( txt.value );=0A=
=0A=
    // set this word as a "replace all" word.=0A=
    this._setWordText( ti, wi, newspell, this.replAllFlag );=0A=
=0A=
    // loop through all the words after this word=0A=
    for( var i =3D ti; i < this.wordWin.textInputs.length; i++ ) {=0A=
        for( var j =3D 0; j < this.wordWin.totalWords( i ); j++ ) {=0A=
            if(( i =3D=3D ti && j > wi ) || i > ti ) {=0A=
                // future word: set word text to s_word_to_repl if=0A=
                // 1) do not already have a flag and=0A=
                // 2) have the same value as s_word_to_repl=0A=
                if(( this.wordWin.getTextVal( i, j ) =3D=3D =
s_word_to_repl )=0A=
                && ( !this.wordFlags[i][j] )) {=0A=
                    this._setWordText( i, j, newspell, this.fromReplAll =
);=0A=
                }=0A=
            }=0A=
        }=0A=
    }=0A=
=0A=
    // finally, move on=0A=
    this.currentWordIndex++;=0A=
    this._spellcheck();=0A=
}=0A=
=0A=
function terminateSpell() {=0A=
    // called when we have reached the end of the spell checking.=0A=
    var msg =3D "Spell check complete:\n\n";=0A=
    var numrepl =3D this._getTotalReplaced();=0A=
    if( numrepl =3D=3D 0 ) {=0A=
        // see if there were no misspellings to begin with=0A=
        if( !this.wordWin ) {=0A=
            msg =3D "";=0A=
        } else {=0A=
            if( this.wordWin.totalMisspellings() ) {=0A=
                msg +=3D "No words changed.";=0A=
            } else {=0A=
                msg +=3D "No misspellings found.";=0A=
            }=0A=
        }=0A=
    } else if( numrepl =3D=3D 1 ) {=0A=
        msg +=3D "One word changed.";=0A=
    } else {=0A=
        msg +=3D numrepl + " words changed.";=0A=
    }=0A=
    if( msg ) {=0A=
        msg +=3D "\n";=0A=
        alert( msg );=0A=
    }=0A=
=0A=
    if( numrepl > 0 ) {=0A=
        // update the text field(s) on the opener window=0A=
        for( var i =3D 0; i < this.textInputs.length; i++ ) {=0A=
            // this.textArea.value =3D this.wordWin.text;=0A=
            if( this.wordWin ) {=0A=
                if( this.wordWin.textInputs[i] ) {=0A=
                    this.textInputs[i].value =3D =
this.wordWin.textInputs[i];=0A=
                }=0A=
            }=0A=
        }=0A=
        // START LUDO=0A=
        try {=0A=
            this._editor.setHTML(this._editor._textArea.value);=0A=
        } catch (e) {=0A=
                // If were not in editor, just continue.=0A=
            }=0A=
        //LUDO END=0A=
    }=0A=
=0A=
    // return back to the calling window=0A=
    this.spellCheckerWin.close();=0A=
=0A=
    return true;=0A=
}=0A=
=0A=
function undo() {=0A=
    // skip if this is the first word!=0A=
    var ti =3D this.currentTextIndex;=0A=
    var wi =3D this.currentWordIndex=0A=
=0A=
    if( this.wordWin.totalPreviousWords( ti, wi ) > 0 ) {=0A=
        this.wordWin.removeFocus( ti, wi );=0A=
=0A=
        // go back to the last word index that was acted upon=0A=
        do {=0A=
            // if the current word index is zero then reset the seed=0A=
            if( this.currentWordIndex =3D=3D 0 && this.currentTextIndex =
> 0 ) {=0A=
                this.currentTextIndex--;=0A=
                this.currentWordIndex =3D this.wordWin.totalWords( =
this.currentTextIndex )-1;=0A=
                if( this.currentWordIndex < 0 ) this.currentWordIndex =
=3D 0;=0A=
            } else {=0A=
                if( this.currentWordIndex > 0 ) {=0A=
                    this.currentWordIndex--;=0A=
                }=0A=
            }=0A=
        } while (=0A=
            this.wordWin.totalWords( this.currentTextIndex ) =3D=3D 0=0A=
            || =
this.wordFlags[this.currentTextIndex][this.currentWordIndex] =3D=3D =
this.fromIgnrAll=0A=
            || =
this.wordFlags[this.currentTextIndex][this.currentWordIndex] =3D=3D =
this.fromReplAll=0A=
        );=0A=
=0A=
        var text_idx =3D this.currentTextIndex;=0A=
        var idx =3D this.currentWordIndex;=0A=
        var preReplSpell =3D =
this.wordWin.originalSpellings[text_idx][idx];=0A=
=0A=
        // if we got back to the first word then set the Undo button =
back to disabled=0A=
        if( this.wordWin.totalPreviousWords( text_idx, idx ) =3D=3D 0 ) {=0A=
            this.controlWin.disableUndo();=0A=
        }=0A=
=0A=
        // examine what happened to this current word.=0A=
        switch( this.wordFlags[text_idx][idx] ) {=0A=
            // replace all: go through this and all the future =
occurances of the word=0A=
            // and revert them all to the original spelling and clear =
their flags=0A=
            case this.replAllFlag :=0A=
                for( var i =3D text_idx; i < =
this.wordWin.textInputs.length; i++ ) {=0A=
                    for( var j =3D 0; j < this.wordWin.totalWords( i ); =
j++ ) {=0A=
                        if(( i =3D=3D text_idx && j >=3D idx ) || i > =
text_idx ) {=0A=
                            var origSpell =3D =
this.wordWin.originalSpellings[i][j];=0A=
                            if( origSpell =3D=3D preReplSpell ) {=0A=
                                this._setWordText ( i, j, origSpell, =
undefined );=0A=
                            }=0A=
                        }=0A=
                    }=0A=
                }=0A=
                break;=0A=
=0A=
            // ignore all: go through all the future occurances of the =
word=0A=
            // and clear their flags=0A=
            case this.ignrAllFlag :=0A=
                for( var i =3D text_idx; i < =
this.wordWin.textInputs.length; i++ ) {=0A=
                    for( var j =3D 0; j < this.wordWin.totalWords( i ); =
j++ ) {=0A=
                        if(( i =3D=3D text_idx && j >=3D idx ) || i > =
text_idx ) {=0A=
                            var origSpell =3D =
this.wordWin.originalSpellings[i][j];=0A=
                            if( origSpell =3D=3D preReplSpell ) {=0A=
                                this.wordFlags[i][j] =3D undefined;=0A=
                            }=0A=
                        }=0A=
                    }=0A=
                }=0A=
                break;=0A=
=0A=
            // replace: revert the word to its original spelling=0A=
            case this.replWordFlag :=0A=
                this._setWordText ( text_idx, idx, preReplSpell, =
undefined );=0A=
                break;=0A=
        }=0A=
=0A=
        // For all four cases, clear the wordFlag of this word. re-start =
the process=0A=
        this.wordFlags[text_idx][idx] =3D undefined;=0A=
        this._spellcheck();=0A=
    }=0A=
}=0A=
=0A=
function _spellcheck() {=0A=
    var ww =3D this.wordWin;=0A=
=0A=
    // check if this is the last word in the current text element=0A=
    if( this.currentWordIndex =3D=3D ww.totalWords( =
this.currentTextIndex) ) {=0A=
        this.currentTextIndex++;=0A=
        this.currentWordIndex =3D 0;=0A=
        // keep going if we're not yet past the last text element=0A=
        if( this.currentTextIndex < this.wordWin.textInputs.length ) {=0A=
            this._spellcheck();=0A=
            return;=0A=
        } else {=0A=
            this.terminateSpell();=0A=
            return;=0A=
        }=0A=
    }=0A=
=0A=
    // if this is after the first one make sure the Undo button is =
enabled=0A=
    if( this.currentWordIndex > 0 ) {=0A=
        this.controlWin.enableUndo();=0A=
    }=0A=
=0A=
    // skip the current word if it has already been worked on=0A=
    if( this.wordFlags[this.currentTextIndex][this.currentWordIndex] ) {=0A=
        // increment the global current word index and move on.=0A=
        this.currentWordIndex++;=0A=
        this._spellcheck();=0A=
    } else {=0A=
        var evalText =3D ww.getTextVal( this.currentTextIndex, =
this.currentWordIndex );=0A=
        if( evalText ) {=0A=
            this.controlWin.evaluatedText.value =3D evalText;=0A=
            ww.setFocus( this.currentTextIndex, this.currentWordIndex );=0A=
            this._getSuggestions( this.currentTextIndex, =
this.currentWordIndex );=0A=
        }=0A=
    }=0A=
}=0A=
=0A=
function _getSuggestions( text_num, word_num ) {=0A=
    this.controlWin.clearSuggestions();=0A=
    // add suggestion in list for each suggested word.=0A=
    // get the array of suggested words out of the=0A=
    // three-dimensional array containing all suggestions.=0A=
    var a_suggests =3D this.wordWin.suggestions[text_num][word_num];=0A=
    if( a_suggests ) {=0A=
        // got an array of suggestions.=0A=
        for( var ii =3D 0; ii < a_suggests.length; ii++ ) {=0A=
            this.controlWin.addSuggestion( a_suggests[ii] );=0A=
        }=0A=
    }=0A=
    this.controlWin.selectDefaultSuggestion();=0A=
}=0A=
=0A=
function _setAsIgnored( text_num, word_num, flag ) {=0A=
    // set the UI=0A=
    this.wordWin.removeFocus( text_num, word_num );=0A=
    // do the bookkeeping=0A=
    this.wordFlags[text_num][word_num] =3D flag;=0A=
    return true;=0A=
}=0A=
=0A=
function _getTotalReplaced() {=0A=
    var i_replaced =3D 0;=0A=
    for( var i =3D 0; i < this.wordFlags.length; i++ ) {=0A=
        for( var j =3D 0; j < this.wordFlags[i].length; j++ ) {=0A=
            if(( this.wordFlags[i][j] =3D=3D this.replWordFlag )=0A=
            || ( this.wordFlags[i][j] =3D=3D this.replAllFlag )=0A=
            || ( this.wordFlags[i][j] =3D=3D this.fromReplAll )) {=0A=
                i_replaced++;=0A=
            }=0A=
        }=0A=
    }=0A=
    return i_replaced;=0A=
}=0A=
=0A=
function _setWordText( text_num, word_num, newText, flag ) {=0A=
    // set the UI and form inputs=0A=
    this.wordWin.setText( text_num, word_num, newText );=0A=
    // keep track of what happened to this word:=0A=
    this.wordFlags[text_num][word_num] =3D flag;=0A=
    return true;=0A=
}=0A=
=0A=
function _getFormInputs( inputPattern ) {=0A=
    var inputs =3D new Array();=0A=
    for( var i =3D 0; i < document.forms.length; i++ ) {=0A=
        for( var j =3D 0; j < document.forms[i].elements.length; j++ ) {=0A=
            if( document.forms[i].elements[j].type.match( inputPattern =
)) {=0A=
                inputs[inputs.length] =3D document.forms[i].elements[j];=0A=
            }=0A=
        }=0A=
    }=0A=
    return inputs;=0A=
}=0A=

------=_NextPart_000_0000_01C810C0.79E4EB70
Content-Type: application/x-js
Content-Transfer-Encoding: quoted-printable
Content-Location: http://courses.lis.uiuc.edu/lib/javascript-static.js

// Miscellaneous core Javascript functions for Moodle=0A=
=0A=
function popupchecker(msg) {=0A=
    var testwindow =3D window.open('itestwin.html', '', =
'width=3D1,height=3D1,left=3D0,top=3D0,scrollbars=3Dno');=0A=
    if (testwindow =3D=3D null)=0A=
        {alert(msg);}=0A=
    else {=0A=
        testwindow.close();=0A=
    }=0A=
}=0A=
=0A=
function popUpProperties(inobj) {=0A=
  op =3D window.open();=0A=
  op.document.open('text/plain');=0A=
  for (objprop in inobj) {=0A=
    op.document.write(objprop + ' =3D> ' + inobj[objprop] + '\n');=0A=
  }=0A=
  op.document.close();=0A=
}=0A=
=0A=
function fillmessagebox(text) {=0A=
  document.form.message.value =3D text;=0A=
}=0A=
=0A=
function copyrichtext(textname) {=0A=
/// Legacy stub for old editor - to be removed soon=0A=
  return true;=0A=
}=0A=
=0A=
function checkall() {=0A=
  void(d=3Ddocument);=0A=
  void(el=3Dd.getElementsByTagName('INPUT'));=0A=
  for(i=3D0;i<el.length;i++)=0A=
    void(el[i].checked=3D1)=0A=
}=0A=
=0A=
function checknone() {=0A=
  void(d=3Ddocument);=0A=
  void(el=3Dd.getElementsByTagName('INPUT'));=0A=
  for(i=3D0;i<el.length;i++)=0A=
    void(el[i].checked=3D0)=0A=
}=0A=
=0A=
function lockoptions(form, master, subitems) {=0A=
  // Subitems is an array of names of sub items.=0A=
  // Optionally, each item in subitems may have a=0A=
  // companion hidden item in the form with the=0A=
  // same name but prefixed by "h".=0A=
  if (eval("document."+form+"."+master+".checked")) {=0A=
    for (i=3D0; i<subitems.length; i++) {=0A=
      unlockoption(form, subitems[i]);=0A=
    }=0A=
  } else {=0A=
    for (i=3D0; i<subitems.length; i++) {=0A=
      lockoption(form, subitems[i]);=0A=
    }=0A=
  }=0A=
  return(true);=0A=
}=0A=
=0A=
function lockoption(form,item) {=0A=
  eval("document."+form+"."+item+".disabled=3Dtrue");/* IE thing */=0A=
  if(document.forms[form].elements['h'+item]) {=0A=
    eval("document."+form+".h"+item+".value=3D1");=0A=
  }=0A=
}=0A=
=0A=
function unlockoption(form,item) {=0A=
  eval("document."+form+"."+item+".disabled=3Dfalse");/* IE thing */=0A=
  if(document.forms[form].elements['h'+item]) {=0A=
    eval("document."+form+".h"+item+".value=3D0");=0A=
  }=0A=
}=0A=
=0A=
function submitFormById(id) {=0A=
    var theform =3D document.getElementById(id);=0A=
    if(!theform) {=0A=
        return false;=0A=
    }=0A=
    if(theform.tagName !=3D 'FORM') {=0A=
        return false;=0A=
    }=0A=
    if(!theform.onsubmit || theform.onsubmit()) {=0A=
        return theform.submit();=0A=
    }=0A=
}=0A=
=0A=
function select_all_in(elTagName, elClass, elId) {=0A=
    var inputs =3D document.getElementsByTagName('INPUT');=0A=
    inputs =3D filterByParent(inputs, function(el) {return =
findParentNode(el, elTagName, elClass, elId);});=0A=
    for(var i =3D 0; i < inputs.length; ++i) {=0A=
        if(inputs[i].type =3D=3D 'checkbox' || inputs[i].type =3D=3D =
'radio') {=0A=
            inputs[i].checked =3D 'checked';=0A=
        }=0A=
    }=0A=
}=0A=
=0A=
function deselect_all_in(elTagName, elClass, elId) {=0A=
    var inputs =3D document.getElementsByTagName('INPUT');=0A=
    inputs =3D filterByParent(inputs, function(el) {return =
findParentNode(el, elTagName, elClass, elId);});=0A=
    for(var i =3D 0; i < inputs.length; ++i) {=0A=
        if(inputs[i].type =3D=3D 'checkbox' || inputs[i].type =3D=3D =
'radio') {=0A=
            inputs[i].checked =3D '';=0A=
        }=0A=
    }=0A=
}=0A=
=0A=
function confirm_if(expr, message) {=0A=
    if(!expr) {=0A=
        return true;=0A=
    }=0A=
    return confirm(message);=0A=
}=0A=
=0A=
=0A=
/*=0A=
    findParentNode (start, elementName, elementClass, elementID)=0A=
    =0A=
    Travels up the DOM hierarchy to find a parent element with the=0A=
    specified tag name, class, and id. All conditions must be met,=0A=
    but any can be ommitted. Returns the BODY element if no match=0A=
    found.=0A=
*/=0A=
function findParentNode(el, elName, elClass, elId) {=0A=
    while(el.nodeName !=3D 'BODY') {=0A=
        if(=0A=
            (!elName || el.nodeName =3D=3D elName) &&=0A=
            (!elClass || el.className.indexOf(elClass) !=3D -1) &&=0A=
            (!elId || el.id =3D=3D elId))=0A=
        {=0A=
            break;=0A=
        }=0A=
        el =3D el.parentNode;=0A=
    }=0A=
    return el;=0A=
}=0A=
=0A=
/*=0A=
    elementToggleHide (element, elementFinder)=0A=
=0A=
    If elementFinder is not provided, toggles the "hidden" class for the =
specified element.=0A=
    If elementFinder is provided, then the "hidden" class will be =
toggled for the object=0A=
    returned by the function call elementFinder(element).=0A=
=0A=
    If persistent =3D=3D true, also sets a cookie for this.=0A=
*/=0A=
function elementToggleHide(el, persistent, elementFinder) {=0A=
    if(!elementFinder) {=0A=
        var obj =3D el;=0A=
    }=0A=
    else {=0A=
        var obj =3D elementFinder(el);=0A=
    }=0A=
    if(obj.className.indexOf('hidden') =3D=3D -1) {=0A=
        obj.className +=3D ' hidden';=0A=
        var shown =3D 0;=0A=
    }=0A=
    else {=0A=
        obj.className =3D obj.className.replace(new RegExp(' ?hidden'), =
'')=0A=
        var shown =3D 1;=0A=
    }=0A=
=0A=
    if(persistent =3D=3D true) {=0A=
        new cookie('hide:' + obj.id, 1, (shown ? -1 : 356), '/').set();=0A=
    }=0A=
}=0A=
=0A=
=0A=
function elementCookieHide(id) {=0A=
    var obj  =3D document.getElementById(id);=0A=
    var cook =3D new cookie('hide:' + id).read();=0A=
    if(cook !=3D null) {=0A=
        elementToggleHide(obj, false);=0A=
    }=0A=
}=0A=
=0A=
function filterByParent(elCollection, parentFinder) {=0A=
    var filteredCollection =3D [];=0A=
    for(var i =3D 0; i < elCollection.length; ++i) {=0A=
        var findParent =3D parentFinder(elCollection[i]);=0A=
        if(findParent.nodeName !=3D 'BODY') {=0A=
            filteredCollection.push(elCollection[i]);=0A=
        }=0A=
    }=0A=
    return filteredCollection;=0A=
}=0A=
=0A=
/*=0A=
    All this is here just so that IE gets to handle oversized blocks=0A=
    in a visually pleasing manner. It does a browser detect. So sue me.=0A=
*/=0A=
=0A=
function fix_column_widths() {=0A=
    var agt =3D navigator.userAgent.toLowerCase();=0A=
    if ((agt.indexOf("msie") !=3D -1) && (agt.indexOf("opera") =3D=3D =
-1)) {=0A=
        fix_column_width('left-column');=0A=
        fix_column_width('right-column');=0A=
    }=0A=
}=0A=
=0A=
function fix_column_width(colName) {=0A=
    if(column =3D document.getElementById(colName)) {=0A=
        if(!column.offsetWidth) {=0A=
            setTimeout("fix_column_width('" + colName + "')", 20);=0A=
            return;=0A=
        }=0A=
=0A=
        var width =3D 0;=0A=
        var nodes =3D column.childNodes;=0A=
=0A=
        for(i =3D 0; i < nodes.length; ++i) {=0A=
            if(nodes[i].className.indexOf("sideblock") !=3D -1 ) {=0A=
                if(width < nodes[i].offsetWidth) {=0A=
                    width =3D nodes[i].offsetWidth;=0A=
                }=0A=
            }=0A=
        }=0A=
=0A=
        for(i =3D 0; i < nodes.length; ++i) {=0A=
            if(nodes[i].className.indexOf("sideblock") !=3D -1 ) {=0A=
                nodes[i].style.width =3D width + 'px';=0A=
            }=0A=
        }=0A=
    }=0A=
}=0A=
=0A=
=0A=
/*=0A=
	Insert myValue at current cursor position=0A=
*/=0A=
function insertAtCursor(myField, myValue) {=0A=
	// IE support=0A=
	if (document.selection) {=0A=
		myField.focus();=0A=
		sel =3D document.selection.createRange();=0A=
		sel.text =3D myValue;=0A=
	}=0A=
	// Mozilla/Netscape support=0A=
	else if (myField.selectionStart || myField.selectionStart =3D=3D '0') {=0A=
		var startPos =3D myField.selectionStart;=0A=
		var endPos =3D myField.selectionEnd;=0A=
		myField.value =3D myField.value.substring(0, startPos)=0A=
			+ myValue + myField.value.substring(endPos, myField.value.length);=0A=
	} else {=0A=
		myField.value +=3D myValue;=0A=
	}=0A=
}=0A=

------=_NextPart_000_0000_01C810C0.79E4EB70
Content-Type: application/x-php
Content-Transfer-Encoding: quoted-printable
Content-Location: http://courses.lis.uiuc.edu/lib/javascript-mod.php

// Javascript from Moodle modules=0A=
// gslis irc chat javascript routines

var gslistimeoffset;

function ampmtime(rHours, rMins) {
	// convert 24 hour notation to  U.S. notation
	var ampm =3D "am";

	if (rHours =3D=3D 0) rHours =3D 12;
	if (rHours > 11) ampm =3D "pm";
=09
	if (rHours > 12) rHours -=3D 12;

	return (rHours + ":" + padint(rMins) + " " + ampm);
}

function padint(val) {
	// pads any integer up to 99 with leading zeros
  return val =3D (val < 10) ? '0' + val : val;
}

function startClock(basetime) {
	// the basetime comes from php, which is in seconds... js uses =
milliseconds
	basetime=3Dbasetime * 1000;
=09
	// get the current time, in epoch format
	var now =3D new Date();
	var currenttime =3D now.getTime();

	// stash the offset... we'll use that every update to tweak our local =
time
	gslistimeoffset =3D basetime - currenttime;
=09
	updateClock();
}

function returnObjById( id )=20
{=20
    if (document.getElementById)=20
        var returnVar =3D document.getElementById(id);=20
    else if (document.all)=20
        var returnVar =3D document.all[id];=20
    else if (document.layers)=20
        var returnVar =3D document.layers[id];=20
    return returnVar;=20
}=20

function updateClock() {
	/// get the current time, in epoch format
	var now =3D new Date();
	var currenttime =3D now.getTime();
=09
	// 	use the known offset, and the local browser time, to fix up the =
local time
	var truetime =3D new Date(currenttime + gslistimeoffset);
=09
	returnObjById('clockid').value=3Dampmtime(truetime.getHours(), =
truetime.getMinutes());

	// set a timer to update again every second
  setTimeout("updateClock()", 1000);
}
------=_NextPart_000_0000_01C810C0.79E4EB70
Content-Type: application/x-js
Content-Transfer-Encoding: quoted-printable
Content-Location: http://courses.lis.uiuc.edu/lib/overlib.js

/*=0A=
 Do not remove or change this notice.=0A=
 overlibmws.js core module - Copyright Foteos Macrides 2002-2005. All =
rights reserved.=0A=
   Initial: August 18, 2002 - Last Revised: January 12, 2005=0A=
 This module is subject to the same terms of usage as for Erik Bosrup's =
overLIB,=0A=
 though only a minority of the code and API now correspond with Erik's =
version.=0A=
 See the overlibmws Change History and Command Reference via:=0A=
=0A=
	http://www.macridesweb.com/oltest/=0A=
=0A=
 Published under an open source license: =
http://www.macridesweb.com/oltest/license.html=0A=
 Give credit on sites that use overlibmws and submit changes so others =
can use them as well.=0A=
 You can get Erik's version via: http://www.bosrup.com/web/overlib/=0A=
*/=0A=
=0A=
// PRE-INIT -- Ignore these lines, configuration is below.=0A=
var OLloaded=3D0,pmCnt=3D1,pMtr=3Dnew Array(),OLv,OLudf,OLrefXY;=0A=
var OLpct=3Dnew =
Array("83%","67%","83%","100%","117%","150%","200%","267%");=0A=
var =
OLbubblePI=3D0,OLcrossframePI=3D0,OLdebugPI=3D0,OLdraggablePI=3D0,OLexclu=
sivePI=3D0,OLfilterPI=3D0;=0A=
var =
OLfunctionPI=3D0,OLhidePI=3D0,OLiframePI=3D0,OLovertwoPI=3D0,OLscrollPI=3D=
0,OLshadowPI=3D0;=0A=
if(typeof OLgateOK=3D=3D'undefined')var OLgateOK=3D1;=0A=
OLregCmds(=0A=
 =
'inarray,caparray,caption,sticky,nofollow,background,noclose,mouseoff,off=
delay,right,left,'=0A=
+'center,offsetx,offsety,fgcolor,bgcolor,cgcolor,textcolor,capcolor,close=
color,width,wrap,'=0A=
+'wrapmax,height,border,base,status,autostatus,autostatuscap,snapx,snapy,=
fixx,fixy,relx,rely,'=0A=
+'midx,midy,ref,refc,refp,refx,refy,fgbackground,bgbackground,cgbackgroun=
d,padx,pady,fullhtml,'=0A=
+'below,above,vcenter,capicon,textfont,captionfont,closefont,textsize,cap=
tionsize,closesize,'=0A=
+'timeout,delay,hauto,vauto,nojustx,nojusty,closetext,closeclick,closetit=
le,fgclass,bgclass,'=0A=
+'cgclass,capbelow,textpadding,textfontclass,captionpadding,captionfontcl=
ass,closefontclass,'=0A=
+'label,donothing');=0A=
=0A=
function OLud(v){return eval('typeof ol_'+v+'=3D=3D"undefined"')?1:0;}=0A=
=0A=
// DEFAULT CONFIGURATION -- See overlibConfig.txt for descriptions.=0A=
if(OLud('fgcolor'))var ol_fgcolor=3D"#CCCCFF";=0A=
if(OLud('bgcolor'))var ol_bgcolor=3D"#333399";=0A=
if(OLud('cgcolor'))var ol_cgcolor=3D"#333399";=0A=
if(OLud('textcolor'))var ol_textcolor=3D"#000000";=0A=
if(OLud('capcolor'))var ol_capcolor=3D"#FFFFFF";=0A=
if(OLud('closecolor'))var ol_closecolor=3D"#EEEEFF";=0A=
if(OLud('textfont'))var ol_textfont=3D"Verdana,Arial,Helvetica";=0A=
if(OLud('captionfont'))var ol_captionfont=3D"Verdana,Arial,Helvetica";=0A=
if(OLud('closefont'))var ol_closefont=3D"Verdana,Arial,Helvetica";=0A=
if(OLud('textsize'))var ol_textsize=3D1;=0A=
if(OLud('captionsize'))var ol_captionsize=3D1;=0A=
if(OLud('closesize'))var ol_closesize=3D1;=0A=
if(OLud('fgclass'))var ol_fgclass=3D"";=0A=
if(OLud('bgclass'))var ol_bgclass=3D"";=0A=
if(OLud('cgclass'))var ol_cgclass=3D"";=0A=
if(OLud('textpadding'))var ol_textpadding=3D2;=0A=
if(OLud('textfontclass'))var ol_textfontclass=3D"";=0A=
if(OLud('captionpadding'))var ol_captionpadding=3D2;=0A=
if(OLud('captionfontclass'))var ol_captionfontclass=3D"";=0A=
if(OLud('closefontclass'))var ol_closefontclass=3D"";=0A=
if(OLud('close'))var ol_close=3D"Close";=0A=
if(OLud('closeclick'))var ol_closeclick=3D0;=0A=
if(OLud('closetitle'))var ol_closetitle=3D"Click to Close";=0A=
if(OLud('text'))var ol_text=3D"Default Text";=0A=
if(OLud('cap'))var ol_cap=3D"";=0A=
if(OLud('capbelow'))var ol_capbelow=3D0;=0A=
if(OLud('background'))var ol_background=3D"";=0A=
if(OLud('width'))var ol_width=3D200;=0A=
if(OLud('wrap'))var ol_wrap=3D0;=0A=
if(OLud('wrapmax'))var ol_wrapmax=3D0;=0A=
if(OLud('height'))var ol_height=3D -1;=0A=
if(OLud('border'))var ol_border=3D1;=0A=
if(OLud('base'))var ol_base=3D0;=0A=
if(OLud('offsetx'))var ol_offsetx=3D10;=0A=
if(OLud('offsety'))var ol_offsety=3D10;=0A=
if(OLud('sticky'))var ol_sticky=3D0;=0A=
if(OLud('nofollow'))var ol_nofollow=3D0;=0A=
if(OLud('noclose'))var ol_noclose=3D0;=0A=
if(OLud('mouseoff'))var ol_mouseoff=3D0;=0A=
if(OLud('offdelay'))var ol_offdelay=3D300;=0A=
if(OLud('hpos'))var ol_hpos=3DRIGHT;=0A=
if(OLud('vpos'))var ol_vpos=3DBELOW;=0A=
if(OLud('status'))var ol_status=3D"";=0A=
if(OLud('autostatus'))var ol_autostatus=3D0;=0A=
if(OLud('snapx'))var ol_snapx=3D0;=0A=
if(OLud('snapy'))var ol_snapy=3D0;=0A=
if(OLud('fixx'))var ol_fixx=3D -1;=0A=
if(OLud('fixy'))var ol_fixy=3D -1;=0A=
if(OLud('relx'))var ol_relx=3Dnull;=0A=
if(OLud('rely'))var ol_rely=3Dnull;=0A=
if(OLud('midx'))var ol_midx=3Dnull;=0A=
if(OLud('midy'))var ol_midy=3Dnull;=0A=
if(OLud('ref'))var ol_ref=3D"";=0A=
if(OLud('refc'))var ol_refc=3D'UL';=0A=
if(OLud('refp'))var ol_refp=3D'UL';=0A=
if(OLud('refx'))var ol_refx=3D0;=0A=
if(OLud('refy'))var ol_refy=3D0;=0A=
if(OLud('fgbackground'))var ol_fgbackground=3D"";=0A=
if(OLud('bgbackground'))var ol_bgbackground=3D"";=0A=
if(OLud('cgbackground'))var ol_cgbackground=3D"";=0A=
if(OLud('padxl'))var ol_padxl=3D1;=0A=
if(OLud('padxr'))var ol_padxr=3D1;=0A=
if(OLud('padyt'))var ol_padyt=3D1;=0A=
if(OLud('padyb'))var ol_padyb=3D1;=0A=
if(OLud('fullhtml'))var ol_fullhtml=3D0;=0A=
if(OLud('capicon'))var ol_capicon=3D"";=0A=
if(OLud('frame'))var ol_frame=3Dself;=0A=
if(OLud('timeout'))var ol_timeout=3D0;=0A=
if(OLud('delay'))var ol_delay=3D0;=0A=
if(OLud('hauto'))var ol_hauto=3D0;=0A=
if(OLud('vauto'))var ol_vauto=3D0;=0A=
if(OLud('nojustx'))var ol_nojustx=3D0;=0A=
if(OLud('nojusty'))var ol_nojusty=3D0;=0A=
if(OLud('label'))var ol_label=3D"";=0A=
// ARRAY CONFIGURATION - See overlibConfig.txt for descriptions.=0A=
if(OLud('texts'))var ol_texts=3Dnew Array("Text 0","Text 1");=0A=
if(OLud('caps'))var ol_caps=3Dnew Array("Caption 0","Caption 1");=0A=
// END CONFIGURATION -- Don't change anything below, all configuration =
is above.=0A=
=0A=
// INIT -- Runtime variables.=0A=
var =
o3_text=3D"",o3_cap=3D"",o3_sticky=3D0,o3_nofollow=3D0,o3_background=3D""=
,o3_noclose=3D0,o3_mouseoff=3D0;=0A=
var =
o3_offdelay=3D300,o3_hpos=3DRIGHT,o3_offsetx=3D10,o3_offsety=3D10,o3_fgco=
lor=3D"",o3_bgcolor=3D"";=0A=
var =
o3_cgcolor=3D"",o3_textcolor=3D"",o3_capcolor=3D"",o3_closecolor=3D"",o3_=
width=3D200,o3_wrap=3D0;=0A=
var o3_wrapmax=3D0,o3_height=3D =
-1,o3_border=3D1,o3_base=3D0,o3_status=3D"",o3_autostatus=3D0,o3_snapx=3D=
0;=0A=
var o3_snapy=3D0,o3_fixx=3D -1,o3_fixy=3D =
-1,o3_relx=3Dnull,o3_rely=3Dnull,o3_midx=3Dnull,o3_midy=3Dnull;=0A=
var =
o3_ref=3D"",o3_refc=3D'UL',o3_refp=3D'UL',o3_refx=3D0,o3_refy=3D0,o3_fgba=
ckground=3D"";=0A=
var =
o3_bgbackground=3D"",o3_cgbackground=3D"",o3_padxl=3D0,o3_padxr=3D0,o3_pa=
dyt=3D0,o3_padyb=3D0;=0A=
var =
o3_fullhtml=3D0,o3_vpos=3DBELOW,o3_capicon=3D"",o3_textfont=3D"Verdana,Ar=
ial,Helvetica";=0A=
var =
o3_captionfont=3D"Verdana,Arial,Helvetica",o3_closefont=3D"Verdana,Arial,=
Helvetica";=0A=
var =
o3_textsize=3D1,o3_captionsize=3D1,o3_closesize=3D1,o3_frame=3Dself,o3_ti=
meout=3D0,o3_delay=3D0;=0A=
var =
o3_hauto=3D0,o3_vauto=3D0,o3_nojustx=3D0,o3_nojusty=3D0,o3_close=3D"Close=
",o3_closeclick=3D0;=0A=
var =
o3_closetitle=3D"",o3_fgclass=3D"",o3_bgclass=3D"",o3_cgclass=3D"",o3_tex=
tpadding=3D2;=0A=
var =
o3_textfontclass=3D"",o3_captionpadding=3D2,o3_captionfontclass=3D"",o3_c=
losefontclass=3D"";=0A=
var =
o3_capbelow=3D0,o3_label=3D"",CSSOFF=3DDONOTHING,CSSCLASS=3DDONOTHING;=0A=
var =
OLx=3D0,OLy=3D0,OLshowingsticky=3D0,OLallowmove=3D0,OLremovecounter=3D0;=0A=
var OLdelayid=3D0,OLtimerid=3D0,OLshowid=3D0,OLndt=3D0;=0A=
var over=3Dnull,OLfnRef=3D"",OLhover=3D0;=0A=
var OLua=3Dnavigator.userAgent.toLowerCase();=0A=
var =
OLns4=3D(navigator.appName=3D=3D'Netscape'&&parseInt(navigator.appVersion=
)=3D=3D4);=0A=
var OLns6=3D(document.getElementById)?1:0;=0A=
var OLie4=3D(document.all)?1:0;=0A=
var OLgek=3D(OLv=3DOLua.match(/gecko\/(\d{8})/i))?parseInt(OLv[1]):0;=0A=
var OLmac=3D(OLua.indexOf('mac')>=3D0)?1:0;=0A=
var OLsaf=3D(OLua.indexOf('safari')>=3D0)?1:0;=0A=
var OLkon=3D(OLua.indexOf('konqueror')>=3D0)?1:0;=0A=
var OLkht=3D(OLsaf||OLkon)?1:0;=0A=
var OLopr=3D(OLua.indexOf('opera')>=3D0)?1:0;=0A=
var OLop7=3D(OLopr&&document.createTextNode)?1:0;=0A=
if(OLopr){OLns4=3DOLns6=3D0;if(!OLop7)OLie4=3D0;}=0A=
var OLieM=3D((OLie4&&OLmac)&&!(OLkht||OLopr))?1:0;=0A=
var OLie5=3D0,OLie55=3D0;if(OLie4&&!OLop7){=0A=
if((OLv=3DOLua.match(/msie =
(\d\.\d+)\.*/i))&&(OLv=3DparseFloat(OLv[1]))>=3D5.0){=0A=
OLie5=3D1;OLns6=3D0;if(OLv>=3D5.5)OLie55=3D1;}if(OLns6)OLie4=3D0;}=0A=
if(OLns4)window.onresize=3Dfunction(){location.reload();}=0A=
var OLchkMh=3D1,OLdw;=0A=
if(OLns4||OLie4||OLns6)OLmh();=0A=
else{overlib=3Dnd=3DcClick=3DOLpageDefaults=3Dno_overlib;}=0A=
=0A=
/*=0A=
 PUBLIC FUNCTIONS=0A=
*/=0A=
// Loads defaults then args into runtime variables.=0A=
function overlib(){=0A=
if(!(OLloaded&&OLgateOK))return;=0A=
if((OLexclusivePI)&&OLisExclusive(overlib.arguments))return true;=0A=
if(OLchkMh)OLmh();=0A=
if(OLndt&&!OLtimerid)OLndt=3D0;if(over)cClick();=0A=
OLloadP1or2();OLload('close,closeclick,closetitle,noclose,mouseoff,offdel=
ay,sticky,'=0A=
+'closecolor,closefont,closesize,closefontclass,frame,label');OLfnRef=3D"=
";OLhover=3D0;=0A=
OLsetRunTimeVar();=0A=
OLparseTokens('o3_',overlib.arguments);=0A=
if(!(over=3DOLmkLyr()))return false;=0A=
if(OLbubblePI)OLchkForBubbleEffect();=0A=
if(OLdebugPI)OLsetDebugCanShow();=0A=
if(OLshadowPI)OLinitShadow();=0A=
if(OLiframePI)OLinitIfs();=0A=
if(OLfilterPI)OLinitFilterLyr();=0A=
if(OLexclusivePI&&o3_exclusive&&o3_exclusivestatus!=3D"")o3_status=3Do3_e=
xclusivestatus;=0A=
else if(o3_autostatus=3D=3D2&&o3_cap!=3D"")o3_status=3Do3_cap;=0A=
else if(o3_autostatus=3D=3D1&&o3_text!=3D"")o3_status=3Do3_text;=0A=
if(o3_delay=3D=3D0){return OLmain();=0A=
}else{OLdelayid=3DsetTimeout("OLmain()",o3_delay);=0A=
if(o3_status!=3D""){self.status=3Do3_status;return true;}=0A=
else if(!(OLop7&&event&&event.type=3D=3D'mouseover'))return false;}=0A=
}=0A=
=0A=
// Clears popups if appropriate=0A=
function nd(time){=0A=
if(!(OLloaded&&OLgateOK))return;=0A=
if((OLexclusivePI)&&OLisExclusive())return true;=0A=
if(time&&over&&!o3_delay){if(OLtimerid>0)clearTimeout(OLtimerid);=0A=
OLtimerid=3D(OLhover&&o3_frame=3D=3Dself&&!OLcursorOff())?0:=0A=
setTimeout("cClick()",(o3_timeout=3DOLndt=3Dtime));=0A=
}else{if(OLremovecounter>=3D1)OLshowingsticky=3D0;if(!OLshowingsticky){=0A=
OLallowmove=3D0;if(over)OLhideObject(over);}else{OLremovecounter++;}}=0A=
return true;=0A=
}=0A=
=0A=
// Close function for stickies=0A=
function cClick(){=0A=
if(OLloaded&&OLgateOK){OLhover=3D0;if(over)OLhideObject(over);OLshowingst=
icky=3D0;}=0A=
return false;=0A=
}=0A=
=0A=
// Sets page-specific defaults.=0A=
function OLpageDefaults(){=0A=
OLparseTokens('ol_',OLpageDefaults.arguments);=0A=
}=0A=
=0A=
// For unsupported browsers.=0A=
function no_overlib(){return false;}=0A=
=0A=
/*=0A=
 OVERLIB MAIN FUNCTION SET=0A=
*/=0A=
function OLmain(){=0A=
o3_delay=3D0;=0A=
if(o3_frame=3D=3Dself){if(o3_noclose)OLoptMOUSEOFF(0);else =
if(o3_mouseoff)OLoptMOUSEOFF(1);}=0A=
OLdoLyr();=0A=
OLallowmove=3D0;if(o3_timeout>0){=0A=
if(OLtimerid>0)clearTimeout(OLtimerid);OLtimerid=3DsetTimeout("cClick()",=
o3_timeout);}=0A=
if(o3_ref){OLrefXY=3DOLgetRefXY(o3_ref);if(OLrefXY[0]=3D=3Dnull){o3_ref=3D=
"";o3_midx=3D0;o3_midy=3D0;}}=0A=
OLdisp(o3_status);=0A=
if(OLdraggablePI)OLcheckDrag();=0A=
if(o3_status!=3D"")return true;else =
if(!(OLop7&&event&&event.type=3D=3D'mouseover'))return false;=0A=
}=0A=
=0A=
// Loads defaults for primaries or secondaries=0A=
function OLloadP1or2(){=0A=
OLload('text,cap,capbelow,textpadding,captionpadding,border,base,status,a=
utostatus,nofollow,'=0A=
+'width,wrap,wrapmax,height,hpos,vpos,offsetx,offsety,snapx,snapy,relx,re=
ly,midx,midy,ref,'=0A=
+'refc,refp,refx,refy,fixx,fixy,nojustx,nojusty,hauto,vauto,timeout,delay=
,fgcolor,bgcolor,'=0A=
+'cgcolor,textcolor,capcolor,textfont,captionfont,textsize,captionsize,fg=
background,'=0A=
+'bgbackground,cgbackground,capicon,background,padxl,padxr,padyt,padyb,fu=
llhtml,fgclass,'=0A=
+'bgclass,cgclass,textfontclass,captionfontclass');=0A=
}=0A=
function OLload(c){var =
i,m=3Dc.split(',');for(i=3D0;i<m.length;i++)eval('o3_'+m[i]+'=3Dol_'+m[i]=
);}=0A=
=0A=
// Chooses LGF =0A=
function OLdoLGF(){=0A=
return =
(o3_background!=3D''||o3_fullhtml)?OLcontentBackground(o3_text,o3_backgro=
und,o3_fullhtml):=0A=
(o3_cap=3D=3D"")?OLcontentSimple(o3_text):=0A=
(o3_sticky)?OLcontentCaption(o3_text,o3_cap,o3_close):OLcontentCaption(o3=
_text,o3_cap,'');=0A=
}=0A=
=0A=
// Makes Layer=0A=
function OLmkLyr(id,f,z){=0A=
id=3D(id||'overDiv');f=3D(f||o3_frame);z=3D(z||1000);var =
fd=3Df.document,d=3DOLgetRefById(id,fd);=0A=
if(!d){if(OLns4)d=3Dfd.layers[id]=3Dnew Layer(1024,f);else =
if(OLie4&&!document.getElementById){=0A=
fd.body.insertAdjacentHTML('BeforeEnd','<div =
id=3D"'+id+'"></div>');d=3Dfd.all[id];=0A=
}else{d=3Dfd.createElement('div');if(d){d.id=3Did;fd.body.appendChild(d);=
}}if(!d)return null;=0A=
if(OLns4)d.zIndex=3Dz;else{var =
o=3Dd.style;o.position=3D'absolute';o.visibility=3D'hidden';o.zIndex=3Dz;=
}}=0A=
return d;=0A=
}=0A=
=0A=
// Creates and writes layer content=0A=
function OLdoLyr(){=0A=
if(o3_background=3D=3D''&&!o3_fullhtml){=0A=
if(o3_fgbackground!=3D'')o3_fgbackground=3D' =
background=3D"'+o3_fgbackground+'"';=0A=
if(o3_bgbackground!=3D'')o3_bgbackground=3D' =
background=3D"'+o3_bgbackground+'"';=0A=
if(o3_cgbackground!=3D'')o3_cgbackground=3D' =
background=3D"'+o3_cgbackground+'"';=0A=
if(o3_fgcolor!=3D'')o3_fgcolor=3D' bgcolor=3D"'+o3_fgcolor+'"';=0A=
if(o3_bgcolor!=3D'')o3_bgcolor=3D' bgcolor=3D"'+o3_bgcolor+'"';=0A=
if(o3_cgcolor!=3D'')o3_cgcolor=3D' bgcolor=3D"'+o3_cgcolor+'"';=0A=
if(o3_height>0)o3_height=3D' height=3D"'+o3_height+'"';else =
o3_height=3D'';}=0A=
if(!OLns4)OLrepositionTo(over,(OLns6?20:0),0);var lyrHtml=3DOLdoLGF();=0A=
if(o3_sticky){if(OLtimerid>0){clearTimeout(OLtimerid);OLtimerid=3D0;}=0A=
OLshowingsticky=3D1;OLremovecounter=3D0;}=0A=
if(o3_wrap&&!o3_fullhtml){OLlayerWrite(lyrHtml);=0A=
o3_width=3D(OLns4?over.clip.width:over.offsetWidth);=0A=
if(OLns4&&o3_wrapmax<1)o3_wrapmax=3Do3_frame.innerWidth-40;=0A=
o3_wrap=3D0;if(o3_wrapmax>0&&o3_width>o3_wrapmax)o3_width=3Do3_wrapmax;ly=
rHtml=3DOLdoLGF();}=0A=
OLlayerWrite(lyrHtml);o3_width=3D(OLns4?over.clip.width:over.offsetWidth)=
;=0A=
if(OLbubblePI)OLgenerateBubble(lyrHtml);=0A=
}=0A=
=0A=
/*=0A=
 LAYER GENERATION FUNCTIONS=0A=
*/=0A=
// Makes simple table without caption=0A=
function OLcontentSimple(txt){=0A=
var t=3DOLbgLGF()+OLfgLGF(txt)+OLbaseLGF();=0A=
OLsetBackground('');return t;=0A=
}=0A=
=0A=
// Makes table with caption and optional close link=0A=
function OLcontentCaption(txt,title,close){=0A=
var closing=3D'',closeevent=3D'onmouseover',caption,t;=0A=
if(o3_closeclick=3D=3D1)closeevent=3D(o3_closetitle?'title=3D"'+o3_closet=
itle+'" ':'')+'onclick';=0A=
if(o3_capicon!=3D'')o3_capicon=3D'<img src=3D"'+o3_capicon+'" /> ';=0A=
if(close!=3D''){closing=3D'<td align=3D"right"><a =
href=3D"javascript:return '+OLfnRef+'cClick();" '=0A=
+closeevent+'=3D"return '+OLfnRef+'cClick();"'+(o3_closefontclass?' =
class=3D"'+o3_closefontclass=0A=
+'">':'>'+OLlgfUtil(0,'','span',o3_closecolor,o3_closefont,o3_closesize))=
+close=0A=
+(o3_closefontclass?'':OLlgfUtil(1,'','span'))+'</a></td>';}=0A=
caption=3D'<table'+OLwd(0)+' border=3D"0" =
cellpadding=3D"'+o3_captionpadding+'" cellspacing=3D"0"'=0A=
+(o3_cgclass?' =
class=3D"'+o3_cgclass+'"':o3_cgcolor+o3_cgbackground)+'><tr><td'+OLwd(0)=0A=
+(o3_cgclass?' =
class=3D"'+o3_cgclass+'">':'>')+(o3_captionfontclass?'<div class=3D"'=0A=
+o3_captionfontclass+'">':'<strong>'=0A=
+OLlgfUtil(0,'','div',o3_capcolor,o3_captionfont,o3_captionsize))+o3_capi=
con+title=0A=
+OLlgfUtil(1,'','div')+(o3_captionfontclass?'':'</strong>')+'</td>'+closi=
ng+'</tr></table>';=0A=
t=3DOLbgLGF()+(o3_capbelow?OLfgLGF(txt)+caption:caption+OLfgLGF(txt))+OLb=
aseLGF();=0A=
OLsetBackground('');return t;=0A=
}=0A=
=0A=
// For BACKGROUND and FULLHTML commands=0A=
function OLcontentBackground(txt, image, hasfullhtml){=0A=
var t;if(hasfullhtml){t=3Dtxt;}else{t=3D'<table'+OLwd(1)=0A=
+' border=3D"0" cellpadding=3D"0" cellspacing=3D"0" =
'+'height=3D"'+o3_height=0A=
+'"><tr><td colspan=3D"3" height=3D"'+o3_padyt+'"></td></tr><tr><td =
width=3D"'=0A=
+o3_padxl+'"></td><td valign=3D"top"'+OLwd(2)+'>'=0A=
+OLlgfUtil(0,o3_textfontclass,'div',o3_textcolor,o3_textfont,o3_textsize)=
+txt+=0A=
OLlgfUtil(1,'','div')+'</td><td width=3D"'+o3_padxr+'"></td></tr><tr><td =
colspan=3D"3" height=3D"'=0A=
+o3_padyb+'"></td></tr></table>';}=0A=
OLsetBackground(image);return t;=0A=
}=0A=
=0A=
// LGF utilities=0A=
function OLbgLGF(){=0A=
return '<table'+OLwd(1)+o3_height+' border=3D"0" =
cellpadding=3D"'+o3_border+'" cellspacing=3D"0"'=0A=
+(o3_bgclass?' =
class=3D"'+o3_bgclass+'"':o3_bgcolor+o3_bgbackground)+'><tr><td>';=0A=
}=0A=
function OLfgLGF(t){=0A=
return '<table'+OLwd(0)+o3_height+' border=3D"0" =
cellpadding=3D"'+o3_textpadding=0A=
+'" cellspacing=3D"0"'+(o3_fgclass?' =
class=3D"'+o3_fgclass+'"':o3_fgcolor+o3_fgbackground)=0A=
+'><tr><td valign=3D"top"'+(o3_fgclass?' =
class=3D"'+o3_fgclass+'"':'')+'>'=0A=
+OLlgfUtil(0,o3_textfontclass,'div',o3_textcolor,o3_textfont,o3_textsize)=
+t=0A=
+OLlgfUtil(1,'','div')+'</td></tr></table>';=0A=
}=0A=
function OLlgfUtil(end,tfc,ele,col,fac,siz){=0A=
if(end)return ('</'+(OLns4?'font':ele)+'>');else return (tfc?'<div =
class=3D"'+tfc+'">':=0A=
('<'+(OLns4?'font color=3D"'+col+'" =
face=3D"'+OLquoteMultiNameFonts(fac)+'" size=3D"'+siz:ele=0A=
+' =
style=3D"color:'+col+';font-family:'+OLquoteMultiNameFonts(fac)+';font-si=
ze:'+siz+';'=0A=
+(ele=3D=3D'span'?'text-decoration:underline;':''))+'">'));=0A=
}=0A=
function OLquoteMultiNameFonts(f){=0A=
var i,v,pM=3Df.split(',');=0A=
for(i=3D0;i<pM.length;i++){v=3DpM[i];v=3Dv.replace(/^\s+/,'').replace(/\s=
+$/,'');=0A=
if(/\s/.test(v) && !/['"]/.test(v)){v=3D"\'"+v+"\'";pM[i]=3Dv;}}=0A=
return pM.join();=0A=
}=0A=
function OLbaseLGF(){=0A=
return ((o3_base>0&&!o3_wrap)?('<table width=3D"100%" border=3D"0" =
cellpadding=3D"0" cellspacing=3D"0"'=0A=
+(o3_bgclass?' class=3D"'+o3_bgclass+'"':'')+'><tr><td =
height=3D"'+o3_base=0A=
+'"></td></tr></table>'):'')+'</td></tr></table>';=0A=
}=0A=
function OLwd(a){=0A=
return(o3_wrap?'':' =
width=3D"'+(!a?'100%':(a=3D=3D1?o3_width:(o3_width-o3_padxl-o3_padxr)))+'=
"');=0A=
}=0A=
=0A=
// Loads image into the div.=0A=
function OLsetBackground(i){=0A=
if(i=3D=3D''){if(OLns4)over.background.src=3Dnull;=0A=
else{if(OLns6)over.style.width=3D'';over.style.backgroundImage=3D'none';}=0A=
}else{if(OLns4)over.background.src=3Di;=0A=
else{if(OLns6)over.style.width=3Do3_width+'px';over.style.backgroundImage=
=3D'url('+i+')';}}=0A=
}=0A=
=0A=
/*=0A=
 HANDLING FUNCTIONS=0A=
*/=0A=
// Displays layer=0A=
function OLdisp(s){=0A=
if(OLallowmove=3D=3D0){if(OLshadowPI)OLdispShadow();if(OLiframePI)OLdispI=
fs();OLplaceLayer();=0A=
if(OLndt)OLshowObject(over);else =
OLshowid=3DsetTimeout("OLshowObject(over)",1);=0A=
OLallowmove=3D(o3_sticky||o3_nofollow)?0:1;}OLndt=3D0;if(s!=3D"")self.sta=
tus=3Ds;=0A=
}=0A=
=0A=
// Decides placement of layer.=0A=
function OLplaceLayer(){=0A=
var =
snp,X,Y,pgLeft,pgTop,pWd=3Do3_width,pHt,iWd=3D100,iHt=3D100,SB=3D0,LM=3D0=
,CX=3D0,TM=3D0,BM=3D0,CY=3D0;=0A=
var =
o=3DOLfd(),nsb=3D(OLgek>=3D20010505&&!o3_frame.scrollbars.visible)?1:0;=0A=
if(!OLkht&&o&&o.clientWidth)iWd=3Do.clientWidth;=0A=
else =
if(o3_frame.innerWidth){SB=3DMath.ceil(1.4*(o3_frame.outerWidth-o3_frame.=
innerWidth));=0A=
if(SB>20)SB=3D20;iWd=3Do3_frame.innerWidth;}=0A=
pgLeft=3D(OLie4)?o.scrollLeft:o3_frame.pageXOffset;=0A=
if(OLie55&&OLfilterPI&&o3_filtershadow)SB=3DCX=3D5;else=0A=
if((OLshadowPI)&&bkdrop&&o3_shadow&&o3_shadowx){SB+=3D((o3_shadowx>0)?o3_=
shadowx:0);=0A=
LM=3D((o3_shadowx<0)?Math.abs(o3_shadowx):0);CX=3DMath.abs(o3_shadowx);}=0A=
if(o3_ref!=3D""||o3_fixx> -1||o3_relx!=3Dnull||o3_midx!=3Dnull){=0A=
if(o3_ref!=3D""){=0A=
X=3DOLrefXY[0];if(OLie55&&OLfilterPI&&o3_filtershadow){if(o3_refp=3D=3D'U=
R'||o3_refp=3D=3D'LR')X -=3D 5;}=0A=
else if((OLshadowPI)&&bkdrop&&o3_shadow&&o3_shadowx){  =0A=
if(o3_shadowx<0&&(o3_refp=3D=3D'UL'||o3_refp=3D=3D'LL'))X +=3D =
o3_shadowx;=0A=
else if(o3_shadowx>0&&(o3_refp=3D=3D'UR'||o3_refp=3D=3D'LR'))X -=3D =
o3_shadowx;}=0A=
}else{if(o3_midx!=3Dnull){=0A=
X=3DparseInt(pgLeft+((iWd-pWd-SB-LM)/2)+o3_midx);=0A=
}else{if(o3_relx!=3Dnull){=0A=
if(o3_relx>=3D0)X=3DpgLeft+o3_relx+LM;else X=3DpgLeft+o3_relx+iWd-pWd-SB;=0A=
}else{=0A=
X=3Do3_fixx+LM;}}}=0A=
}else{=0A=
if(o3_hauto){=0A=
if(o3_hpos=3D=3DLEFT&&OLx-pgLeft<iWd/2&&OLx-pWd-o3_offsetx<pgLeft+LM)o3_h=
pos=3DRIGHT;else=0A=
if(o3_hpos=3D=3DRIGHT&&OLx-pgLeft>iWd/2&&OLx+pWd+o3_offsetx>pgLeft+iWd-SB=
)o3_hpos=3DLEFT;}=0A=
X=3D(o3_hpos=3D=3DCENTER)?parseInt(OLx-((pWd+CX)/2)+o3_offsetx):=0A=
(o3_hpos=3D=3DLEFT)?OLx-o3_offsetx-pWd:OLx+o3_offsetx;=0A=
if(o3_snapx>1){=0A=
snp=3DX % o3_snapx;=0A=
if(o3_hpos=3D=3DLEFT){X=3DX-(o3_snapx+snp);}else{X=3DX+(o3_snapx-snp);}}}=0A=
if(!o3_nojustx&&X+pWd>pgLeft+iWd-SB)=0A=
X=3DiWd+pgLeft-pWd-SB;if(!o3_nojustx&&X-LM<pgLeft)X=3DpgLeft+LM;=0A=
pgTop=3DOLie4?o.scrollTop:o3_frame.pageYOffset;=0A=
if(!OLkht&&!nsb&&o&&o.clientHeight)iHt=3Do.clientHeight;=0A=
else if(o3_frame.innerHeight)iHt=3Do3_frame.innerHeight;=0A=
if(OLbubblePI&&o3_bubble)pHt=3DOLbubbleHt;else =
pHt=3DOLns4?over.clip.height:over.offsetHeight;=0A=
if((OLshadowPI)&&bkdrop&&o3_shadow&&o3_shadowy){TM=3D(o3_shadowy<0)?Math.=
abs(o3_shadowy):0;=0A=
if(OLie55&&OLfilterPI&&o3_filtershadow)BM=3DCY=3D5;else=0A=
BM=3D(o3_shadowy>0)?o3_shadowy:0;CY=3DMath.abs(o3_shadowy);}=0A=
if(o3_ref!=3D""||o3_fixy> -1||o3_rely!=3Dnull||o3_midy!=3Dnull){=0A=
if(o3_ref!=3D""){=0A=
Y=3DOLrefXY[1];if(OLie55&&OLfilterPI&&o3_filtershadow){if(o3_refp=3D=3D'L=
L'||o3_refp=3D=3D'LR')Y -=3D 5;}=0A=
else if((OLshadowPI)&&bkdrop&&o3_shadow&&o3_shadowy){=0A=
if(o3_shadowy<0&&(o3_refp=3D=3D'UL'||o3_refp=3D=3D'UR'))Y+=3Do3_shadowy;e=
lse=0A=
if(o3_shadowy>0&&(o3_refp=3D=3D'LL'||o3_refp=3D=3D'LR'))Y-=3Do3_shadowy;}=0A=
}else{if(o3_midy!=3Dnull){=0A=
Y=3DparseInt(pgTop+((iHt-pHt-CY)/2)+o3_midy);=0A=
}else{if(o3_rely!=3Dnull){=0A=
if(o3_rely>=3D0)Y=3DpgTop+o3_rely+TM;else =
Y=3DpgTop+o3_rely+iHt-pHt-BM;}else{=0A=
Y=3Do3_fixy+TM;}}}=0A=
}else{=0A=
if(o3_vauto){=0A=
if(o3_vpos=3D=3DABOVE&&OLy-pgTop<iHt/2&&OLy-pHt-o3_offsety<pgTop)o3_vpos=3D=
BELOW;else=0A=
if(o3_vpos=3D=3DBELOW&&OLy-pgTop>iHt/2&&OLy+pHt+o3_offsety+((OLns4||OLkht=
)?17:0)>pgTop+iHt-BM)=0A=
o3_vpos=3DABOVE;}Y=3D(o3_vpos=3D=3DVCENTER)?parseInt(OLy-((pHt+CY)/2)+o3_=
offsety):=0A=
(o3_vpos=3D=3DABOVE)?OLy-(pHt+o3_offsety+BM):OLy+o3_offsety+TM;=0A=
if(o3_snapy>1){=0A=
snp=3DY % o3_snapy;=0A=
if(pHt>0&&o3_vpos=3D=3DABOVE){Y=3DY-(o3_snapy+snp);}else{Y=3DY+(o3_snapy-=
snp);}}}=0A=
if(!o3_nojusty&&Y+pHt+BM>pgTop+iHt)Y=3DpgTop+iHt-pHt-BM;if(!o3_nojusty&&Y=
-TM<pgTop)Y=3DpgTop+TM;=0A=
OLrepositionTo(over,X,Y);=0A=
if(OLshadowPI)OLrepositionShadow(X,Y);if(OLiframePI)OLrepositionIfs(X,Y);=0A=
if(OLns6&&o3_frame.innerHeight){iHt=3Do3_frame.innerHeight;OLrepositionTo=
(over,X,Y);}=0A=
if(OLscrollPI)OLchkScroll(X-pgLeft,Y-pgTop);=0A=
}=0A=
=0A=
// Chooses body or documentElement=0A=
function OLfd(f){=0A=
var =
fd=3D((f)?f:o3_frame).document,fdc=3Dfd.compatMode,fdd=3Dfd.documentEleme=
nt;=0A=
return =
(!OLop7&&fdc&&fdc!=3D'BackCompat'&&fdd&&fdd.clientWidth)?fd.documentEleme=
nt:fd.body;=0A=
}=0A=
=0A=
// Gets location of REFerence object=0A=
function OLgetRefXY(r){=0A=
var mn=3Dr,mr=3DOLgetRef(mn),o,of,rXY;=0A=
if(!mr)return [null,null];=0A=
o=3Dmr;rXY=3D[o3_refx,o3_refy];=0A=
if(OLns4){if(typeof mr.length!=3D'undefined'&&mr.length>1){=0A=
o=3Dmr[0];rXY[0]+=3Dmr[0].x+mr[1].pageX;rXY[1]+=3Dmr[0].y+mr[1].pageY;=0A=
}else{if((mr.toString().indexOf('Image')!=3D =
-1)||(mr.toString().indexOf('Anchor')!=3D -1)){=0A=
rXY[0]+=3Dmr.x;rXY[1]+=3Dmr.y;}else{rXY[0]+=3Dmr.pageX;rXY[1]+=3Dmr.pageY=
;}}=0A=
}else{rXY[0]+=3DOLpageLoc(mr,'Left');rXY[1]+=3DOLpageLoc(mr,'Top');}=0A=
of=3DOLgetRefOffsets(o);rXY[0]+=3Dof[0];rXY[1]+=3Dof[1];=0A=
return rXY;=0A=
}=0A=
function OLgetRef(l){var r=3DOLgetRefById(l);return =
(r)?r:OLgetRefByName(l);}=0A=
=0A=
// Seeks REFerence by id=0A=
function OLgetRefById(l,d){=0A=
var r=3D"",j;l=3D(l||'overDiv');d=3D(d||o3_frame.document);=0A=
if(OLie4&&d.all){return d.all[l];}else if(d.getElementById){return =
d.getElementById(l);=0A=
}else if(d.layers&&d.layers.length>0){if(d.layers[l])return d.layers[l];=0A=
for(j=3D0;j<d.layers.length;j++){r=3DOLgetRefById(l,d.layers[j].document)=
;if(r)return r;}}=0A=
return null;=0A=
}=0A=
=0A=
// Seeks REFerence by name (for img and a)=0A=
function OLgetRefByName(l,d){=0A=
var r=3Dnull,j;d=3D(d||o3_frame.document);=0A=
if(typeof d.images[l]!=3D'undefined'&&d.images[l]){return d.images[l];=0A=
}else if(typeof d.anchors[l]!=3D'undefined'&&d.anchors[l]){return =
d.anchors[l];=0A=
}else if(d.layers&&d.layers.length>0){=0A=
for(j=3D0;j<d.layers.length;j++){r=3DOLgetRefByName(l,d.layers[j].documen=
t);=0A=
if(r&&r.length>0)return r;else if(r)return [r,d.layers[j]];}}=0A=
return null;=0A=
}=0A=
=0A=
// Gets layer vs REFerence offsets=0A=
function OLgetRefOffsets(o){=0A=
var =
mc=3Do3_refc.toUpperCase(),mp=3Do3_refp.toUpperCase(),mW=3D0,mH=3D0,pW=3D=
0,pH=3D0,off=3D[0,0];=0A=
pW=3D(OLbubblePI&&o3_bubble)?o3_width:OLns4?over.clip.width:over.offsetWi=
dth;=0A=
pH=3D(OLbubblePI&&o3_bubble)?OLbubbleHt:OLns4?over.clip.height:over.offse=
tHeight;=0A=
if((!OLop7)&&o.toString().indexOf('Image')!=3D =
-1){mW=3Do.width;mH=3Do.height;=0A=
}else if((!OLop7)&&o.toString().indexOf('Anchor')!=3D =
-1){mc=3Do3_refc=3D'UL';}else{=0A=
mW=3D(OLns4)?o.clip.width:o.offsetWidth;mH=3D(OLns4)?o.clip.height:o.offs=
etHeight;}=0A=
if(mc=3D=3D'UL'){off=3D(mp=3D=3D'UR')?[-pW,0]:(mp=3D=3D'LL')?[0,-pH]:(mp=3D=
=3D'LR')?[-pW,-pH]:[0,0];=0A=
}else =
if(mc=3D=3D'UR'){off=3D(mp=3D=3D'UR')?[mW-pW,0]:(mp=3D=3D'LL')?[mW,-pH]:(=
mp=3D=3D'LR')?[mW-pW,-pH]:[mW,0];=0A=
}else =
if(mc=3D=3D'LL'){off=3D(mp=3D=3D'UR')?[-pW,mH]:(mp=3D=3D'LL')?[0,mH-pH]:(=
mp=3D=3D'LR')?[-pW,mH-pH]:[0,mH];=0A=
}else =
if(mc=3D=3D'LR'){off=3D(mp=3D=3D'UR')?[mW-pW,mH]:(mp=3D=3D'LL')?[mW,mH-pH=
]:(mp=3D=3D'LR')?[mW-pW,mH-pH]:=0A=
[mW,mH];}=0A=
return off;=0A=
}=0A=
=0A=
// Gets x or y location of object=0A=
function OLpageLoc(o,t){=0A=
var =
l=3D0;while(o.offsetParent&&o.offsetParent.tagName.toLowerCase()!=3D'html=
'){=0A=
l+=3Do['offset'+t];o=3Do.offsetParent;}l+=3Do['offset'+t];=0A=
return l;=0A=
} =0A=
=0A=
// Moves layer=0A=
function OLmouseMove(e){=0A=
var e=3D(e||event);=0A=
OLx=3D(e.pageX||e.clientX+OLfd().scrollLeft);OLy=3D(e.pageY||e.clientY+OL=
fd().scrollTop);=0A=
if((OLallowmove&&over)&&(o3_frame=3D=3Dself||over=3D=3DOLgetRefById())){=0A=
OLplaceLayer();if(OLhidePI)OLhideUtil(0,1,1,0,0,0);}=0A=
if(OLhover&&over&&o3_frame=3D=3Dself&&OLcursorOff())if(o3_offdelay<1)cCli=
ck();else=0A=
{if(OLtimerid>0)clearTimeout(OLtimerid);OLtimerid=3DsetTimeout("cClick()"=
,o3_offdelay);}=0A=
}=0A=
=0A=
// Capture mouse and chain other scripts.=0A=
function OLmh(){=0A=
var fN,f,j,k,s,mh=3DOLmouseMove,re=3D/function[ =
]*(\w*)\(/;OLdw=3Ddocument;=0A=
if(document.onmousemove||(!OLie4&&window.onmousemove)){=0A=
if(window.onmousemove)OLdw=3Dwindow;f=3DOLdw.onmousemove.toString();=0A=
fN=3Df.match(re);if(!fN||fN[1]=3D=3D'anonymous'||fN[1]=3D=3D'OLmouseMove'=
){=0A=
OLchkMh=3D0;return;}if(fN[1])s=3DfN[1]+'(e)';else{j=3Df.indexOf('{');=0A=
k=3Df.lastIndexOf('}')+1;s=3Df.substring(j,k);}=0A=
s+=3D';OLmouseMove(e);';mh=3Dnew Function('e',s);}=0A=
OLdw.onmousemove=3Dmh;if(OLns4)OLdw.captureEvents(Event.MOUSEMOVE);=0A=
}=0A=
=0A=
/*=0A=
 PARSING=0A=
*/=0A=
function OLparseTokens(pf,ar){=0A=
var i,v,md=3D =
-1,par=3D(pf!=3D'ol_'),e=3Deval,p=3DOLpar,q=3DOLparQuo,t=3DOLtoggle;OLudf=
=3D(par&&!ar.length?1:0);=0A=
for(i=3D0;i< ar.length;i++){if(md<0){if(typeof =
ar[i]=3D=3D'number'){OLudf=3D(par?1:0);i--;}=0A=
else{switch(pf){case =
'ol_':ol_text=3Dar[i];break;default:o3_text=3Dar[i];}}md=3D0;=0A=
}else{=0A=
if(ar[i]=3D=3DINARRAY){OLudf=3D0;e(pf+'text=3Dol_texts['+ar[++i]+']');con=
tinue;}=0A=
if(ar[i]=3D=3DCAPARRAY){e(pf+'cap=3Dol_caps['+ar[++i]+']');continue;}=0A=
if(ar[i]=3D=3DCAPTION){q(ar[++i],pf+'cap');continue;}=0A=
if(Math.abs(ar[i])=3D=3DSTICKY){t(ar[i],pf+'sticky');continue;}=0A=
if(Math.abs(ar[i])=3D=3DNOFOLLOW){t(ar[i],pf+'nofollow');continue;}=0A=
if(ar[i]=3D=3DBACKGROUND){q(ar[++i],pf+'background');continue;}=0A=
if(Math.abs(ar[i])=3D=3DNOCLOSE){t(ar[i],pf+'noclose');continue;}=0A=
if(Math.abs(ar[i])=3D=3DMOUSEOFF){t(ar[i],pf+'mouseoff');continue;}=0A=
if(ar[i]=3D=3DOFFDELAY){p(ar[++i],pf+'offdelay');continue;}=0A=
if(ar[i]=3D=3DRIGHT||ar[i]=3D=3DLEFT||ar[i]=3D=3DCENTER){p(ar[i],pf+'hpos=
');continue;}=0A=
if(ar[i]=3D=3DOFFSETX){p(ar[++i],pf+'offsetx');continue;}=0A=
if(ar[i]=3D=3DOFFSETY){p(ar[++i],pf+'offsety');continue;}=0A=
if(ar[i]=3D=3DFGCOLOR){q(ar[++i],pf+'fgcolor');continue;}=0A=
if(ar[i]=3D=3DBGCOLOR){q(ar[++i],pf+'bgcolor');continue;}=0A=
if(ar[i]=3D=3DCGCOLOR){q(ar[++i],pf+'cgcolor');continue;}=0A=
if(ar[i]=3D=3DTEXTCOLOR){q(ar[++i],pf+'textcolor');continue;}=0A=
if(ar[i]=3D=3DCAPCOLOR){q(ar[++i],pf+'capcolor');continue;}=0A=
if(ar[i]=3D=3DCLOSECOLOR){q(ar[++i],pf+'closecolor');continue;}=0A=
if(ar[i]=3D=3DWIDTH){p(ar[++i],pf+'width');continue;}=0A=
if(Math.abs(ar[i])=3D=3DWRAP){t(ar[i],pf+'wrap');continue;}=0A=
if(ar[i]=3D=3DWRAPMAX){p(ar[++i],pf+'wrapmax');continue;}=0A=
if(ar[i]=3D=3DHEIGHT){p(ar[++i],pf+'height');continue;}=0A=
if(ar[i]=3D=3DBORDER){p(ar[++i],pf+'border');continue;}=0A=
if(ar[i]=3D=3DBASE){p(ar[++i],pf+'base');continue;}=0A=
if(ar[i]=3D=3DSTATUS){q(ar[++i],pf+'status');continue;}=0A=
if(Math.abs(ar[i])=3D=3DAUTOSTATUS){v=3Dpf+'autostatus';=0A=
e(v+'=3D('+ar[i]+'<0)?('+v+'=3D=3D2?2:0):('+v+'=3D=3D1?0:1)');continue;}=0A=
if(Math.abs(ar[i])=3D=3DAUTOSTATUSCAP){v=3Dpf+'autostatus';=0A=
e(v+'=3D('+ar[i]+'<0)?('+v+'=3D=3D1?1:0):('+v+'=3D=3D2?0:2)');continue;}=0A=
if(ar[i]=3D=3DCLOSETEXT){q(ar[++i],pf+'close');continue;}=0A=
if(ar[i]=3D=3DSNAPX){p(ar[++i],pf+'snapx');continue;}=0A=
if(ar[i]=3D=3DSNAPY){p(ar[++i],pf+'snapy');continue;}=0A=
if(ar[i]=3D=3DFIXX){p(ar[++i],pf+'fixx');continue;}=0A=
if(ar[i]=3D=3DFIXY){p(ar[++i],pf+'fixy');continue;}=0A=
if(ar[i]=3D=3DRELX){p(ar[++i],pf+'relx');continue;}=0A=
if(ar[i]=3D=3DRELY){p(ar[++i],pf+'rely');continue;}=0A=
if(ar[i]=3D=3DMIDX){p(ar[++i],pf+'midx');continue;}=0A=
if(ar[i]=3D=3DMIDY){p(ar[++i],pf+'midy');continue;}=0A=
if(ar[i]=3D=3DREF){q(ar[++i],pf+'ref');continue;}=0A=
if(ar[i]=3D=3DREFC){q(ar[++i],pf+'refc');continue;}=0A=
if(ar[i]=3D=3DREFP){q(ar[++i],pf+'refp');continue;}=0A=
if(ar[i]=3D=3DREFX){p(ar[++i],pf+'refx');continue;}=0A=
if(ar[i]=3D=3DREFY){p(ar[++i],pf+'refy');continue;}=0A=
if(ar[i]=3D=3DFGBACKGROUND){q(ar[++i],pf+'fgbackground');continue;}=0A=
if(ar[i]=3D=3DBGBACKGROUND){q(ar[++i],pf+'bgbackground');continue;}=0A=
if(ar[i]=3D=3DCGBACKGROUND){q(ar[++i],pf+'cgbackground');continue;}=0A=
if(ar[i]=3D=3DPADX){p(ar[++i],pf+'padxl');p(ar[++i],pf+'padxr');continue;=
}=0A=
if(ar[i]=3D=3DPADY){p(ar[++i],pf+'padyt');p(ar[++i],pf+'padyb');continue;=
}=0A=
if(Math.abs(ar[i])=3D=3DFULLHTML){t(ar[i],pf+'fullhtml');continue;}=0A=
if(ar[i]=3D=3DBELOW||ar[i]=3D=3DABOVE||ar[i]=3D=3DVCENTER){p(ar[i],pf+'vp=
os');continue;}=0A=
if(ar[i]=3D=3DCAPICON){q(ar[++i],pf+'capicon');continue;}=0A=
if(ar[i]=3D=3DTEXTFONT){q(ar[++i],pf+'textfont');continue;}=0A=
if(ar[i]=3D=3DCAPTIONFONT){q(ar[++i],pf+'captionfont');continue;}=0A=
if(ar[i]=3D=3DCLOSEFONT){q(ar[++i],pf+'closefont');continue;}=0A=
if(ar[i]=3D=3DTEXTSIZE){q(ar[++i],pf+'textsize');continue;}=0A=
if(ar[i]=3D=3DCAPTIONSIZE){q(ar[++i],pf+'captionsize');continue;}=0A=
if(ar[i]=3D=3DCLOSESIZE){q(ar[++i],pf+'closesize');continue;}=0A=
if(ar[i]=3D=3DTIMEOUT){p(ar[++i],pf+'timeout');continue;}=0A=
if(ar[i]=3D=3DDELAY){p(ar[++i],pf+'delay');continue;}=0A=
if(Math.abs(ar[i])=3D=3DHAUTO){t(ar[i],pf+'hauto');continue;}=0A=
if(Math.abs(ar[i])=3D=3DVAUTO){t(ar[i],pf+'vauto');continue;}=0A=
if(Math.abs(ar[i])=3D=3DNOJUSTX){t(ar[i],pf+'nojustx');continue;}=0A=
if(Math.abs(ar[i])=3D=3DNOJUSTY){t(ar[i],pf+'nojusty');continue;}=0A=
if(Math.abs(ar[i])=3D=3DCLOSECLICK){t(ar[i],pf+'closeclick');continue;}=0A=
if(ar[i]=3D=3DCLOSETITLE){q(ar[++i],pf+'closetitle');continue;}=0A=
if(ar[i]=3D=3DFGCLASS){q(ar[++i],pf+'fgclass');continue;}=0A=
if(ar[i]=3D=3DBGCLASS){q(ar[++i],pf+'bgclass');continue;}=0A=
if(ar[i]=3D=3DCGCLASS){q(ar[++i],pf+'cgclass');continue;}=0A=
if(ar[i]=3D=3DTEXTPADDING){p(ar[++i],pf+'textpadding');continue;}=0A=
if(ar[i]=3D=3DTEXTFONTCLASS){q(ar[++i],pf+'textfontclass');continue;}=0A=
if(ar[i]=3D=3DCAPTIONPADDING){p(ar[++i],pf+'captionpadding');continue;}=0A=
if(ar[i]=3D=3DCAPTIONFONTCLASS){q(ar[++i],pf+'captionfontclass');continue=
;}=0A=
if(ar[i]=3D=3DCLOSEFONTCLASS){q(ar[++i],pf+'closefontclass');continue;}=0A=
if(Math.abs(ar[i])=3D=3DCAPBELOW){t(ar[i],pf+'capbelow');continue;}=0A=
if(ar[i]=3D=3DLABEL){q(ar[++i],pf+'label');continue;}=0A=
if(ar[i]=3D=3DDONOTHING){continue;}=0A=
i=3DOLparseCmdLine(pf,i,ar);}}=0A=
if((OLfunctionPI)&&OLudf&&o3_function)o3_text=3Do3_function();=0A=
if(pf=3D=3D'o3_')OLfontSize();=0A=
}=0A=
function OLpar(a,v){eval(v+'=3D'+a);}=0A=
function OLparQuo(a,v){eval(v+"=3D'"+OLescSglQt(a)+"'");}=0A=
function OLescSglQt(s){return s.toString().replace(/'/g,"\\'");}=0A=
function OLtoggle(a,v){eval(v+'=3D('+v+'=3D=3D0&&'+a+'>=3D0)?1:0');}=0A=
function OLhasDims(s){return /[%\-a-z]+$/.test(s);}=0A=
function OLfontSize(){=0A=
var i;if(OLhasDims(o3_textsize)){if(OLns4)o3_textsize=3D"2";}else=0A=
if(!OLns4){i=3DparseInt(o3_textsize);o3_textsize=3D(i>0&&i<8)?OLpct[i]:OL=
pct[0];}=0A=
if(OLhasDims(o3_captionsize)){if(OLns4)o3_captionsize=3D"2";}else=0A=
if(!OLns4){i=3DparseInt(o3_captionsize);o3_captionsize=3D(i>0&&i<8)?OLpct=
[i]:OLpct[0];}=0A=
if(OLhasDims(o3_closesize)){if(OLns4)o3_closesize=3D"2";}else=0A=
if(!OLns4){i=3DparseInt(o3_closesize);o3_closesize=3D(i>0&&i<8)?OLpct[i]:=
OLpct[0];}=0A=
}=0A=
=0A=
/*=0A=
 LAYER FUNCTIONS=0A=
*/=0A=
// Writes to layer=0A=
function OLlayerWrite(t){=0A=
t+=3D"\n";=0A=
if(OLns4){over.document.write(t);over.document.close();=0A=
}else if(typeof =
over.innerHTML!=3D'undefined'){if(OLieM)over.innerHTML=3D'';over.innerHTM=
L=3Dt;=0A=
}else{range=3Do3_frame.document.createRange();range.setStartAfter(over);=0A=
domfrag=3Drange.createContextualFragment(t);=0A=
while(over.hasChildNodes()){over.removeChild(over.lastChild);}=0A=
over.appendChild(domfrag);}=0A=
}=0A=
=0A=
// Makes object visible=0A=
function OLshowObject(o){=0A=
OLshowid=3D0;o=3D(OLns4)?o:o.style;=0A=
if(((OLfilterPI)&&!OLchkFilter(o))||!OLfilterPI)o.visibility=3D"visible";=0A=
if(OLshadowPI)OLshowShadow();if(OLiframePI)OLshowIfs();if(OLhidePI)OLhide=
Util(1,1,0);=0A=
}=0A=
=0A=
// Hides object=0A=
function OLhideObject(o){=0A=
if(OLshowid>0){clearTimeout(OLshowid);OLshowid=3D0;}=0A=
if(OLtimerid>0)clearTimeout(OLtimerid);if(OLdelayid>0)clearTimeout(OLdela=
yid);=0A=
OLtimerid=3D0;OLdelayid=3D0;self.status=3D"";o3_label=3Dol_label;=0A=
if(o3_frame!=3Dself)o=3DOLgetRefById();=0A=
if(o){if(o.onmouseover)o.onmouseover=3Dnull;=0A=
if(OLscrollPI&&o=3D=3Dover)OLclearScroll();=0A=
if(OLdraggablePI)OLclearDrag();=0A=
if(OLfilterPI)OLcleanupFilter(o);if(OLshadowPI)OLhideShadow();=0A=
var os=3D(OLns4)?o:o.style;os.visibility=3D"hidden";=0A=
if(OLhidePI&&o=3D=3Dover)OLhideUtil(0,0,1);if(OLiframePI)OLhideIfs(o);}=0A=
}=0A=
=0A=
// Moves layer=0A=
function OLrepositionTo(o,xL,yL){=0A=
o=3D(OLns4)?o:o.style;=0A=
o.left=3D(OLns4?xL:xL+'px');=0A=
o.top=3D(OLns4?yL:yL+'px');=0A=
}=0A=
=0A=
// Handle NOCLOSE-MOUSEOFF=0A=
function OLoptMOUSEOFF(c){=0A=
if(!c)o3_close=3D"";=0A=
over.onmouseover=3Dfunction(){OLhover=3D1;if(OLtimerid>0){clearTimeout(OL=
timerid);OLtimerid=3D0;}}=0A=
}=0A=
function OLcursorOff(){=0A=
if(OLovertwoPI&&over=3D=3Dover2)return false;=0A=
var =
o=3D(OLns4?over:over.style),pHt=3DOLns4?over.clip.height:over.offsetHeigh=
t;=0A=
var left=3DparseInt(o.left),top=3DparseInt(o.top);=0A=
var =
right=3Dleft+o3_width,bottom=3Dtop+((OLbubblePI&&o3_bubble)?OLbubbleHt:pH=
t);=0A=
if(OLx<left||OLx>right||OLy<top||OLy>bottom)return true;=0A=
return false;=0A=
}=0A=
=0A=
/*=0A=
 REGISTRATION=0A=
*/=0A=
var OLcmdLine=3Dnull,OLrunTime=3Dnull;=0A=
function OLsetRunTimeVar(){=0A=
if(OLrunTime&&OLrunTime.length)for(var =
k=3D0;k<OLrunTime.length;k++)OLrunTime[k]();=0A=
}=0A=
function OLparseCmdLine(pf,i,ar){=0A=
if(OLcmdLine&&OLcmdLine.length){for(var k=3D0;k<OLcmdLine.length;k++){=0A=
var j=3DOLcmdLine[k](pf,i,ar);if(j>-1){i=3Dj;break;}}}=0A=
return i;=0A=
}=0A=
function OLisFunc(f){=0A=
var r=3D1;=0A=
if(typeof f=3D=3D'object'){for(var i=3D0;i<f.length;i++){=0A=
if(typeof f[i]=3D=3D'function')continue;r=3D0;break;}=0A=
}else if(typeof f!=3D'function')r=3D0;=0A=
return r;=0A=
}=0A=
function OLregCmds(c){=0A=
if(typeof c!=3D'string')return;=0A=
var pM=3Dc.split(',');pMtr=3DpMtr.concat(pM);=0A=
for(var i=3D0;i<pM.length;i++)eval(pM[i].toUpperCase()+'=3D'+pmCnt++);=0A=
}=0A=
function OLregRunTimeFunc(f){=0A=
if(OLisFunc(f)){=0A=
if(!OLrunTime)OLrunTime=3Dnew Array();=0A=
if(typeof f=3D=3D'object')OLrunTime=3DOLrunTime.concat(f);=0A=
else OLrunTime[OLrunTime.length++]=3Df;}=0A=
}=0A=
function OLregCmdLineFunc(f){=0A=
if(OLisFunc(f)){=0A=
if(!OLcmdLine)OLcmdLine=3Dnew Array();=0A=
if(typeof f=3D=3D'object')OLcmdLine=3DOLcmdLine.concat(f);=0A=
else OLcmdLine[OLcmdLine.length++]=3Df;}=0A=
}=0A=
=0A=
OLloaded=3D1;=0A=

------=_NextPart_000_0000_01C810C0.79E4EB70
Content-Type: application/x-js
Content-Transfer-Encoding: quoted-printable
Content-Location: http://courses.lis.uiuc.edu/lib/cookies.js

/*******************************************************=0A=
COOKIE FUNCTIONALITY=0A=
Based on "Night of the Living Cookie" by Bill Dortch=0A=
(c) 2003, Ryan Parman=0A=
http://www.skyzyx.com=0A=
Distributed according to SkyGPL 2.1, http://www.skyzyx.com/license/=0A=
*******************************************************/=0A=
function cookie(name, value, expires, path, domain, secure)=0A=
{=0A=
	// Passed Values=0A=
	this.name=3Dname;=0A=
	this.value=3Dvalue;=0A=
	this.expires=3Dexpires;=0A=
	this.path=3Dpath;=0A=
	this.domain=3Ddomain;=0A=
	this.secure=3Dsecure;=0A=
=0A=
	// Read cookie=0A=
	this.read=3Dfunction()=0A=
	{=0A=
		// To allow for faster parsing=0A=
		var ck=3Ddocument.cookie;=0A=
=0A=
		var arg =3D this.name + "=3D";=0A=
		var alen =3D arg.length;=0A=
		var clen =3D ck.length;=0A=
		var i =3D 0;=0A=
=0A=
		while (i < clen)=0A=
		{=0A=
			var j =3D i + alen;=0A=
			if (ck.substring(i, j) =3D=3D arg)=0A=
			{=0A=
				var endstr =3D ck.indexOf (";", j);=0A=
				if (endstr =3D=3D -1) endstr =3D ck.length;=0A=
				return unescape(ck.substring(j, endstr));=0A=
			}=0A=
			i =3D ck.indexOf(" ", i) + 1;=0A=
			if (i =3D=3D 0) break;=0A=
		}=0A=
		return null;=0A=
	}=0A=
=0A=
	// Set cookie=0A=
	this.set=3Dfunction()=0A=
	{=0A=
		// Store initial value of "this.expires" for re-initialization.=0A=
		expStore=3Dthis.expires;=0A=
=0A=
		// Set time to absolute zero.=0A=
		exp =3D new Date();=0A=
		base =3D new Date(0);=0A=
		skew =3D base.getTime();=0A=
		if (skew > 0)  exp.setTime (exp.getTime() - skew);=0A=
		exp.setTime(exp.getTime() + (this.expires*24*60*60*1000));=0A=
		this.expires=3Dexp;=0A=
=0A=
		document.cookie =3D this.name + "=3D" + escape (this.value) +=0A=
				((this.expires) ? "; expires=3D" + this.expires.toGMTString() : "") +=0A=
				((this.path) ? "; path=3D" + this.path : "") +=0A=
				((this.domain) ? "; domain=3D" + this.domain : "") +=0A=
				((this.secure) ? "; secure" : "");=0A=
=0A=
		// Re-initialize=0A=
		this.expires=3DexpStore;=0A=
	}=0A=
=0A=
	// Kill cookie=0A=
	this.kill=3Dfunction()=0A=
	{=0A=
		document.cookie =3D this.name + "=3D" +=0A=
				((this.path) ? "; path=3D" + this.path : "") +=0A=
				((this.domain) ? "; domain=3D" + this.domain : "") +=0A=
				"; expires=3DThu, 01-Jan-70 00:00:01 GMT";=0A=
	}=0A=
=0A=
	// Change cookie settings.=0A=
	this.changeName=3Dfunction(chName) { this.kill(); this.name=3DchName; =
this.set(); }=0A=
	this.changeVal=3Dfunction(chVal) { this.kill(); this.value=3DchVal; =
this.set(); }=0A=
	this.changeExp=3Dfunction(chExp) { this.kill(); this.expires=3DchExp; =
this.set(); }=0A=
	this.changePath=3Dfunction(chPath) { this.kill(); this.path=3DchPath; =
this.set(); }=0A=
	this.changeDomain=3Dfunction(chDom) { this.kill(); this.domain=3DchDom; =
this.set(); }=0A=
	this.changeSecurity=3Dfunction(chSec) { this.kill(); =
this.secure=3DchSec; this.set(); }=0A=
}=0A=

------=_NextPart_000_0000_01C810C0.79E4EB70
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_0011_01C810C0.79EC1760"


------=_NextPart_001_0011_01C810C0.79EC1760
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://courses.lis.uiuc.edu/mod/resource/view.php?id=11178

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/frameset.dtd">
<HTML dir=3Dltr><HEAD><TITLE>FA07LIS451AL1: Syllabus</TITLE>
<META http-equiv=3Dcontent-type content=3D"text/html; charset=3DUTF-8">
<META content=3D"MSHTML 6.00.6000.16544" =
name=3DGENERATOR></HEAD><FRAMESET=20
rows=3D130,*><FRAME=20
src=3D"http://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11178&amp;t=
ype=3Dfile&amp;frameset=3Dtop"><FRAME=20
src=3D"https://netfiles.uiuc.edu/mwolske/www/syllabusLIS451FA07.html"></F=
RAMESET></HTML>

------=_NextPart_001_0011_01C810C0.79EC1760
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://courses.lis.uiuc.edu/mod/resource/view.php?id=11178&type=file&frameset=top

=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 lang=3Den_us dir=3Dltr=20
xml:lang=3D"en_us"><HEAD><TITLE>FA07LIS451AL1: Syllabus</TITLE>
<META http-equiv=3Dcontent-type content=3D"text/html; =
charset=3DUTF-8"><LINK=20
href=3D"http://courses.lis.uiuc.edu/theme/standard/styles.php" =
type=3Dtext/css=20
rel=3Dstylesheet><LINK=20
href=3D"http://courses.lis.uiuc.edu/theme/gslis-v1/styles.php" =
type=3Dtext/css=20
rel=3Dstylesheet>
<META content=3D"moodle, FA07LIS451AL1: Syllabus " name=3Dkeywords><LINK =

href=3D"http://courses.lis.uiuc.edu/theme/gslis-v1/favicon.ico"=20
rel=3D"shortcut icon">
<SCRIPT language=3DJavaScript=20
src=3D"http://courses.lis.uiuc.edu/lib/speller/spellChecker.js"=20
type=3Dtext/javascript></SCRIPT>
<!--<style type=3D"text/css">/*<![CDATA[*/ =
body{behavior:url(http://courses.lis.uiuc.edu/lib/csshover.htc);} =
/*]]>*/</style>-->
<SCRIPT language=3DJavaScript=20
src=3D"http://courses.lis.uiuc.edu/lib/javascript-static.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3DJavaScript=20
src=3D"http://courses.lis.uiuc.edu/lib/javascript-mod.php"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3DJavaScript =
src=3D"http://courses.lis.uiuc.edu/lib/overlib.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3DJavaScript =
src=3D"http://courses.lis.uiuc.edu/lib/cookies.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3DJavaScript defer type=3Dtext/javascript>=0A=
=0A=
<!-- // Non-Static Javascript functions=0A=
=0A=
setTimeout('fix_column_widths()', 20);=0A=
=0A=
function openpopup(url,name,options,fullscreen) {=0A=
  fullurl =3D "http://courses.lis.uiuc.edu" + url;=0A=
  windowobj =3D window.open(fullurl,name,options);=0A=
  if (fullscreen) {=0A=
     windowobj.moveTo(0,0);=0A=
     windowobj.resizeTo(screen.availWidth,screen.availHeight);=0A=
  }=0A=
  windowobj.focus();=0A=
  return false;=0A=
}=0A=
=0A=
function uncheckall() {=0A=
  void(d=3Ddocument);=0A=
  void(el=3Dd.getElementsByTagName('INPUT'));=0A=
  for(i=3D0;i<el.length;i++)=0A=
    void(el[i].checked=3D0)=0A=
}=0A=
=0A=
function checkall() {=0A=
  void(d=3Ddocument);=0A=
  void(el=3Dd.getElementsByTagName('INPUT'));=0A=
  for(i=3D0;i<el.length;i++)=0A=
    void(el[i].checked=3D1)=0A=
}=0A=
=0A=
function inserttext(text) {=0A=
  text =3D ' ' + text + ' ';=0A=
  if ( opener.document.forms['theform'].message.createTextRange && =
opener.document.forms['theform'].message.caretPos) {=0A=
    var caretPos =3D opener.document.forms['theform'].message.caretPos;=0A=
    caretPos.text =3D caretPos.text.charAt(caretPos.text.length - 1) =
=3D=3D ' ' ? text + ' ' : text;=0A=
  } else {=0A=
    opener.document.forms['theform'].message.value  +=3D text;=0A=
  }=0A=
  opener.document.forms['theform'].message.focus();=0A=
}=0A=
=0A=
=0A=
// done hiding -->=0A=
</SCRIPT>

<SCRIPT type=3Dtext/javascript>=0A=
if(typeof =
window.event!=3D'undefined'){document.onkeydown=3Dfunction(){if(event.src=
Element.tagName.toUpperCase()!=3D 'INPUT' && =
event.srcElement.tagName.toUpperCase()!=3D 'TEXTAREA') =
return(event.keyCode!=3D8);}}else{document.onkeypress=3Dfunction(e){if(e.=
target.nodeName.toUpperCase()!=3D 'INPUT'&& =
e.target.nodeName.toUpperCase()!=3D 'TEXTAREA' )return(e.keyCode!=3D8);}}=0A=
</SCRIPT>

<META content=3D"MSHTML 6.00.6000.16544" name=3DGENERATOR></HEAD>
<BODY class=3D"mod-resource course-271" id=3Dmod-resource-view>
<DIV id=3Dpage>
<DIV id=3Dheader>
<DIV class=3Dheadermain><IMG=20
src=3D"http://courses.lis.uiuc.edu/theme/gslis-v1/logo_small.gif"></DIV>
<DIV class=3Dheadermenu>
<TABLE>
  <TBODY>
  <TR>
    <TD></TD>
    <TD></TD>
    <TD>
      <FORM class=3Dpopupform name=3Dnavmenu=20
      action=3Dhttp://courses.lis.uiuc.edu/course/jumpto.php =
method=3Dget=20
      target=3D_top><SELECT=20
      =
onchange=3Dparent.location=3Ddocument.navmenu.jump.options[document.navme=
nu.jump.selectedIndex].value;=20
      name=3Djump> <OPTION=20
        =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11178=20
        selected>Jump to...</OPTION> <OPTION=20
        =
value=3Dhttp://courses.lis.uiuc.edu/mod/forum/view.php?id=3D11180>News =
and=20
        Announcements</OPTION> <OPTION=20
        =
value=3Dhttp://courses.lis.uiuc.edu/mod/forum/view.php?id=3D11181>Open=20
        Discussion</OPTION> <OPTION=20
        =
value=3Dhttp://courses.lis.uiuc.edu/mod/forum/view.php?id=3D11182>Moodle =

        Feedback</OPTION> <OPTION=20
        =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11184>Prai=
rienet=20
        Workshop Open Hours</OPTION> <OPTION=20
        =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11185>Fina=
l=20
        Project Travel Details</OPTION> <OPTION=20
        =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11187>Comp=
uter=20
        Lab Sites</OPTION> <OPTION=20
        =
value=3Dhttp://courses.lis.uiuc.edu/mod/forum/view.php?id=3D11188>Final=20
        Project Team Forum Space</OPTION> <OPTION=20
        =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11189>Fina=
l=20
        Project Wiki Space</OPTION> <OPTION=20
        =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11190>Win9=
8=20
        Install Instructions</OPTION> <OPTION=20
        =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11191>Netw=
ork=20
        Configuration and Diagnostics Tools Cheat Sheet</OPTION> <OPTION =

        =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D14202>Cour=
se=20
        Podcast Site</OPTION> <OPTGROUP=20
        label=3D"------------ Week 1 --------------"> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11196>Lect=
ure=20
          Notes: Introduction to Computers</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11197>Read=
ings:=20
          Introduction to Computers</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/wiki/view.php?id=3D11198>Addition=
al=20
          Resources: Introduction to Computers</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11200>On=
e=20
          Minute Paper: Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D14816>Audi=
o=20
          Archive Part 1</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D14822>Audi=
o=20
          Archive Part 2</OPTION> </OPTGROUP> <OPTGROUP=20
        label=3D"------------ Week 2 --------------"> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11202>Lect=
ure=20
          Notes: Hardware Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11203>Read=
ings:=20
          Hardware Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/wiki/view.php?id=3D11204>Addition=
al=20
          Resources: Hardware Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11206>On=
e=20
          Minute Paper: Hardware Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D15223>Co=
ncept=20
          Paper: Hardware I</OPTION> </OPTGROUP> <OPTGROUP=20
        label=3D"------------ Week 3 --------------"> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11208>Lect=
ure=20
          Notes: More on Hardware</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11209>Read=
ings:=20
          More on Hardware</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/wiki/view.php?id=3D11210>Addition=
al=20
          Resources: Storage Details</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11211>On=
e=20
          Minute Paper: Binary and Storage</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11212>Co=
ncept=20
          Paper: Hardware II</OPTION> </OPTGROUP> <OPTGROUP=20
        label=3D"------------ Week 4 --------------"> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11224>Lect=
ure=20
          Notes: Hardware, The Rest of the Story</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11225>Read=
ings:=20
          Hardware, The Rest of the Story</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/wiki/view.php?id=3D11226>Addition=
al=20
          Resources: Hardware, The Rest of the Story</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11228>On=
e=20
          Minute Paper: Hardware, The Rest of the Story</OPTION> =
</OPTGROUP>=20
        <OPTGROUP label=3D"------------ Week 5 --------------"> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11217>Lect=
ure=20
          Notes: Operating System Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11218>Read=
ings:=20
          Operating System Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/wiki/view.php?id=3D11219>Addition=
al=20
          Resources: Operating Systems Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11220>On=
e=20
          Minute Paper: Operating Systems</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11221>Co=
ncept=20
          Paper: Operating Systems</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D16621>Lect=
ure=20
          Audio Part I</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D16622>Lect=
ure=20
          Audio Part II</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D16960>Lab =

          Video</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D16961>Lab =

          Video</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D16962>Lab =

          Video</OPTION> </OPTGROUP> <OPTGROUP=20
        label=3D"------------ Week 6 --------------"> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11230>Lect=
ure=20
          Notes: Local Area Networks Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11231>Read=
ings:=20
          Local Area Networks Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/wiki/view.php?id=3D11232>Addition=
al=20
          Resources: Local Area Network Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11233>On=
e=20
          Minute Paper: Local Area Networks</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11234>Co=
ncept=20
          Paper: Local Area Networks</OPTION> </OPTGROUP> <OPTGROUP=20
        label=3D"------------ Week 7 --------------"> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11238>Lect=
ure=20
          Notes: Wide Area Networks Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11239>Read=
ings:=20
          Wide Area Networks Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/wiki/view.php?id=3D11240>Addition=
al=20
          Resources: Wide Area Networks</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11241>On=
e=20
          Minute Paper: Wide Area Networks</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11242>Co=
ncept=20
          Papers: Wide Area Networks</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D17520>Lect=
ure=20
          Audio Part I</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D17521>Lect=
ure=20
          Audio Part II</OPTION> </OPTGROUP> <OPTGROUP=20
        label=3D"------------ Week 8 --------------"> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11247>Lect=
ure=20
          Notes: Project Prep</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11248>Read=
ings:=20
          Project Prep</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/wiki/view.php?id=3D11249>Addition=
al=20
          Resources: Project Prep</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11251>On=
e=20
          Minute Paper: Project Prep</OPTION> </OPTGROUP> <OPTGROUP=20
        label=3D"------------ Week 9 --------------"> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11254>Lect=
ure=20
          Notes: Internet Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11255>Read=
ings:=20
          Internet Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/wiki/view.php?id=3D11256>Addition=
al=20
          Resources: Internet Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11257>On=
e=20
          Minute Paper: Internet Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11258>Co=
ncept=20
          Paper: Network Tour</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11260>Netw=
ork=20
          Tour Video Index</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D17474>Warr=
iors=20
          of the Net</OPTION> </OPTGROUP> <OPTGROUP=20
        label=3D"------------ Week 10 --------------"> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11266>Read=
ings:=20
          Client Server Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/wiki/view.php?id=3D11267>Addition=
al=20
          Resources: Client Server Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11269>On=
e=20
          Minute Paper: Client Server Overview</OPTION> </OPTGROUP> =
<OPTGROUP=20
        label=3D"------------ Week 11 --------------"> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11293>Read=
ings:=20
          Security Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/wiki/view.php?id=3D11294>Addition=
al=20
          Resources: Security Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11296>On=
e=20
          Minute Paper: Security Overview</OPTION> </OPTGROUP> <OPTGROUP =

        label=3D"------------ Week 12 --------------"> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11302>Read=
ings:=20
          Implementing Security</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/wiki/view.php?id=3D11303>Addition=
al=20
          Resources: Implementing Security</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11288>On=
e=20
          Minute Paper: Implementing Security</OPTION> </OPTGROUP> =
<OPTGROUP=20
        label=3D"------------ Week 13 --------------"> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11278>Read=
ings:=20
          The Future of Networking</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/wiki/view.php?id=3D11279>Addition=
al=20
          Resources: The Future of Networks</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11281>On=
e=20
          Minute Paper: The Future of Networks</OPTION> </OPTGROUP> =
<OPTGROUP=20
        label=3D"------------ Week 15 --------------"> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/resource/view.php?id=3D11285>Read=
ings:=20
          IT Support Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/wiki/view.php?id=3D11286>Addition=
al=20
          Resources: User Services Overview</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11305>On=
e=20
          Minute Paper: IT Support Overview</OPTION> </OPTGROUP> =
<OPTGROUP=20
        label=3D"------------ Week 17 --------------"> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11311>Fi=
nal=20
          Paper &amp; Presentation</OPTION> <OPTION=20
          =
value=3Dhttp://courses.lis.uiuc.edu/mod/assignment/view.php?id=3D11312>Pe=
er=20
          Evaluations</OPTION> </OPTGROUP></SELECT><INPUT type=3Dhidden=20
      value=3DSFcDNAQOhF name=3Dsesskey>
      <DIV id=3Dnoscriptnavmenu style=3D"DISPLAY: inline"><INPUT =
type=3Dsubmit value=3DGo></DIV>
      <SCRIPT type=3Dtext/javascript>=0A=
<!--=0A=
document.getElementById("noscriptnavmenu").style.display =3D "none";=0A=
-->=0A=
</SCRIPT>
      </FORM></TD>
    <TD>
      <FORM action=3Dhttp://courses.lis.uiuc.edu/mod/forum/view.php=20
      target=3D_top><INPUT type=3Dhidden value=3D11180 name=3Did><BUTTON =

      title=3D"Next activity" type=3Dsubmit>=E2=96=BA<SPAN =
class=3Daccesshide>Next=20
      =
activity</SPAN></BUTTON></FORM></TD></TR></TBODY></TABLE></DIV></DIV>
<DIV class=3Dclearer></DIV>
<DIV class=3Dnavbar>
<DIV class=3Dbreadcrumb>
<H2 class=3Daccesshide>You are here</H2>
<UL>
  <LI class=3Dfirst><A href=3D"http://courses.lis.uiuc.edu/" =
target=3D_top>Home</A>=20
  <LI><SPAN class=3Dsep>=E2=96=BA</SPAN> <A=20
  href=3D"http://courses.lis.uiuc.edu/course/view.php?id=3D271"=20
  target=3D_top>FA07LIS451AL1</A>=20
  <LI><SPAN class=3Dsep>=E2=96=BA</SPAN> <A=20
  href=3D"http://courses.lis.uiuc.edu/mod/resource/index.php?id=3D271"=20
  target=3D_top>Resources</A>=20
  <LI><SPAN class=3Dsep>=E2=96=BA</SPAN> Syllabus </LI></UL></DIV>
<DIV class=3Dnavbutton></DIV></DIV>
<DIV class=3Dclearer></DIV><!-- END OF HEADER -->
<DIV id=3Dcontent>
<DIV class=3Dsummary></DIV></DIV></DIV></BODY></HTML>

------=_NextPart_001_0011_01C810C0.79EC1760--

------=_NextPart_000_0000_01C810C0.79E4EB70
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: https://netfiles.uiuc.edu/mwolske/www/gslisbar.gif

R0lGODlhWAIiAPcAABAApRgApRgIrSEIrSEQrSkQrSkYrTEYtTEhtTkptUIxtUIxvUo5vVJCvVpK
vVpSxmNSxmNaxmtaxmtjxnNjznNrzntzzoR71ox71oyE1pSE1pSM1pwASpyU3qUQWqWc3q0hY60p
a62l3q2l57Uxc7VCc7Wt57W1571Ke71ShL21572958ZjjMZrlMa9785znM6Epc7G79aMrdaUtdbO
79bW796lvd6txt7W997e9+e1zufG1ufe9+fn9+/O3u/W5+/v9+/v//fn7/fv9/f3///39///////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////yH5BAEAAEYALAAAAABYAiIA
AAj+AP8JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuX
MGPKnEmzps2bOHPq3MmzJ0YYHDiUwFgiKIyUQIV23BGUw0QhJJoeTDrUR4mr/5gGvekDRdMSNxba
uNqioQ0PRmM23fHPKtaZY0uU9Um3rkuqRNOixMtRq1OJST0MNYjXb1apNX+g5RACRFC2CfkuXBzC
htqgOg5vnSnZrme7P15cffEDhul/OkybLoHCh8AfMlBcLcEChpCBO1hchdEi6FAbpjP/Aw5DuA8Y
s0u8sPwPxuISzEvPfhE2oQ7RV1HA+EHQhu7d3Jv++87NurrAHdhLbCeIfvZ6zX8PCoEhmzbzsUFB
HCXs+1/p0zqs9Z1tAqlmg2z7/XNDeupBtoNqyLX24GkFmgZZQX75cINeCE1oWWow2EAeCmGV1hQL
Dqb33oSrtZaVaSLqxgJ3Byp3m0ALJgcDWyYGheJ/CUo3GmRAhrZbQkJ4N1ttN/4zX33a3eghbiq6
5p9qRqpHkJD2bRnbVSzYEN5nZEbkw2JNSZVUmh74hyabt22Y5lf/FMXBfnYeJeecHJDwz5xD7Zkm
CU0S1BufHIQlRAiIhrXmnNWl0KhAkvIZVoCbGXQmnyEIYSdiBRUmlV9zdvonn0cdiqp4c3ogxGL+
ltkQlKsIMcrBYh6MOVV/j6apA6l3/lMppKyyWSybtgYVgkCqzrmjs5j+JWhTKcA351wGJcsmd5u2
6hpfw6ZZFrBNzTWtsrd1myYIVpbpLkPJsvACmsWuuQOLt0V7FK4vsEBnngIBTBxzax7nmFA2+NCU
opUmSFC5bc1Wllc+wnAwBz1yAMKnKBRLgnNN+SBDUx+j6YNhB/Hrb1Ao4KexwwOJulW0+kWV1ld2
DqUaW57OWu9agf1jK8wCCbFyubeRiBBea27cFAoZo7hmySGvaW/T2jYWcnMWOmlnrmuiGG1bTdXc
1LOzloDrQX5ZdsNslvE7b36s6pyfaz/Yem/+U4KtrXB+MBzNwj+LEThDf+8mnlBTL+CoZn8tXOVD
VxeniXaiAr3QH8B1pvX2m2t1Hmxgs9kKwkE2p63ebSe+tnNSINymuVJ2Luvk2bUXfTbKGC6c+eNK
7aqUYX7daOtQa7lVFnKIOoVX5CW4dnBghQ5EcQjDtsCoB0UIb7fGsiMeeu63G/W85LALZOvgQoTO
PKIChW7YmsaPt/We8r25sXbwMcfiEHix08aucjAU3Q94GBMIcWYQreQ0RVeKiyDhWCaQw22lM/84
mAdeAIMbFC5awpndUOzUOCFM7wdlg9H40rKm5MxGPvT5FN0Y9xq48SWAytKdUcjXPqOMzSD+fqnO
7JyHOP4Mb1RNqZ9SQjcQWQXlYzAY2QWL2ERnIYSGj8rV0niFOL6skDE6vBMG+cK5pujAiX0yjRT/
Erqx0U999tsM7woiHW1xwIBBqc7b0Lc51SWnBSibXxILNBu/hMCF0ZOgIv+hKhBoq24FKdsNcnO2
Cd6qX3SimFAudrkS7OAGqctM7RLWlBlUCAamLEgRZoMCIbxKKpqszcV6NBimkcxiVbvlxU4GqoKo
7GmQ9B58UJPC1B2FiQUq1w7OArzBFORitDrIxeSFJlMJ84bie4zHcBmU41AxmGV8zJoAyczNPG0H
Y/vby4wZyF7iRmLwGYrcFnM6W96KZwb+audW1KkfwVkyBXFSzRAWqchmfSqYA0ndrAo3nOYFqnnb
Ad3F2HK0h/LJA+YhSLjE5SQ75jGY4EIUczYaFMvMkSDqaoqpMBiz/hCveaZCprVm1cyDoJFoVWwe
Y6qXTKVgM3hMJCkHLDNGxIWTA3trFWI4ibJzcaBaKPthQRbVvLCkdFbfQpxQQfCDqCLGqaa6KocI
mriTAWcGQrBgm+KCraLFUD1CalxWBrQDsuBINmGCnmWEFKX6WEYI2NkPl5iUkBy550LD+Q5cFWjX
4TQ2KyrSVXvAIxC3ONMg80kBmJjjWLkghK0Rw4ryyLO6gEkOQ9gJ0w9mk6THvqaus+L+6Zawo50f
zACeBgEtaDs7l9m0a7KL5W1BdqtX0yZysqplbVu+cwPLDoRLL4CMc0N7WYIkSbG1HYgQvsQaAgn3
POlZTmVfSN3nImez1n1rdskawV75jr3w1cmjcBrf+tr3vhhx2a1QgFj8+pcl4/yvgAdM4AIb+MAI
TrCCF8zgBjv4wRCOsIQnTOEKeyQAGM6whjfM4Q57+MMgDrGIR0ziEpv4xChOsYpXzOIWu/jFMI6x
jGdM4xrb+MY41rACBkKDGPj4Ax0AcgUmMGQGKODIGT6yAhgQAABg2MlNfjIBokxlKFv5yViucpav
rOUuc/nLWw6zl8UM5jGbucxoJrP+ms+85jSz+c1ujnOb5wxnOsu5zni+s57tzOc893nPfg40oAed
4TIb+cgCwLCSGUBkIgP5Ax/wcQxooJEe/zjIHRhykRWAAARkuNOdVrICEkDqBBDg1FP+s6oFvWpC
s/rVro51q2cNa1rLuta4vrWubc3rXPMZ1QgotagTAOpUh1oBmp7AozvgYxpQ2i7OnvSyKzDkCRi5
058G9bBLjepU+/rbuwZ3r8NN7nGbW9zoLne6z61uPQNb2EomdqeNHepGV6ADmJ70pCccbRpMu9rX
9jSGQY2AbZO624XeMJQTruGFZ5nhEH+4xKkccYpP3OEWzzjGN67wjjfc4xXn+Mf+Rx5ykF/c5BpH
uchLTvKTtzzlL1+5y1lO85nbHOY1x/nE303qYRcbwwaod6MxHWl9d8/CI+n3vydgbU4LPAAEN7ip
UZ3whTvZ6hS/etW3jmWse53rUf5618Gu9bGbPexkz7raxY72s5e97XB/u9zXnna2z93udHd73uO+
97vX/e96x7vgAR9lnifA5/MGeqgloOkNPHoFPabBQJEewWjHANJBTnbAs33sI5d66qcmOZcfPnq1
Wxzrp2e4w1G/etWLXuKsf33qxUx62Lse4qWPPe5tT3vTt773uq/97Lss/N8T3/eyN/6VUW0AeHse
1AZQfMElwPQKbADTkJ80ESj+z32BKB3T1Gb65geu7Xhzm+rE/z3qaa/+iI++/bxff/pHLv/309/9
wmf//eOPf9Pr//azV3/5N38ACH8BmGHM53yjBn3SpwAQ0HjYF3mT130USBKWh3kfoHlOx3kFZ34H
h35zp2W6F4JXNoLIx3cieHskqHcpqGYm+IIqeIIriIIlGIMw6II2mIDOJ28IEH0BEHQF94BEpgER
OGlAUIFIWHmWhoEaiG3k13mjdn6hR4D+t35WuHv5d4VZiIVVyIVa2IVbGIZgOIZf+IU62HNKxoAB
QACh5gCalgGPdgKR1wNJWIdId4GP1oRPF3UeCHqpJoD+R4WCaH8FuH8HyH/wiHiIimiAjIhhZ3h4
aQhqjtiGmoYBcRh5R2iHmriJGPF9QgZwG/iEHeh5UjhlNzhmpwhmqRhmq9iCqGiDCIhqnydqBDeJ
BecAjQaHQWYC+kaHnPiLwHgTeJh5jTZ+UFd+pPiBU1iGXtiMYsiMz+iIsqiAtbiGbdhoF/BovDhp
ORCM3viN/uWJmQaKTniMUPh5CEeIgLiO7tdtsxiJTsiGt9hoFvBoItBsNQCO+riPdTiMGViMoWiO
oxiFyviH0nhq73hk1SgAocYAmmYBmCYCkZeP/FiRFnmRDuGPehgACXCMS/aQEdlsz4aRJJkQAQEA
ADs=

------=_NextPart_000_0000_01C810C0.79E4EB70
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Content-Location: https://netfiles.uiuc.edu/mwolske/www/syllabusLIS451FA07.html

<!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>Course =
Syllabus * LIS 451 * Spring 2007</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3DUS-ASCII">
<META content=3D"MSHTML 6.00.6000.16544" name=3DGENERATOR></HEAD>
<BODY>
<P><IMG height=3D34 alt=3D"Graduate School of Library and Information =
Science"=20
src=3D"https://netfiles.uiuc.edu/mwolske/www/gslisbar.gif" width=3D600> =
</P>
<H1>LIS 451: Introduction to Networked Information Systems</H1>
<H2>Course Syllabus, Fall 2007</H2>
<P><A href=3D"http://courses.lis.uiuc.edu/course/view.php?id=3D271">Go =
to Moodle=20
Course Page </A>(Available to students enrolled in course or those with =
special=20
enrollment key) </P>
<DL>
  <DT><B>Course Overview</B>=20
  <DD>This course is a hands-on introduction to technology systems for =
use in=20
  information environments. The course will cover four main topics:=20
  <UL>
    <LI>hardware;=20
    <LI>operating systems;=20
    <LI>networking;=20
    <LI>issues in implementation and managing. </LI></UL>
  <P>For each topic, we will review the terminology, discuss the=20
  advantages/disadvantages of different options, and gain hands-on =
experience=20
  with the technology. The course will include both lecture and lab =
time. The=20
  course also includes a service learning component that provides =
students the=20
  opportunity to design, develop, and install a community technology =
center for=20
  an underserved population. At the end of the semester, students will =
be better=20
  prepared to both perform day-to-day hands-on administration of a =
networked=20
  information system and to manage those who are performing such =
day-to-day=20
  administration. </P>
  <P>While students are expected to have basic computer competencies per =
the=20
  GSLIS admissions requirements, the goal of the course to provide =
practical=20
  detailed knowledge of the technology for all levels of competency. =
</P>
  <DT><B>Course Objectives</B>=20
  <DD>The overall objective of the course is to both provide a clear =
conceptual=20
  understanding of the computer hardware, operating systems, and =
networks that=20
  make up networked information systems and also to prepare students to =
take a=20
  lead as information technology managers. To this end, the course is =
structured=20
  to provide students with:=20
  <OL>
    <LI>skills that enable them to design systems that will not only =
serve=20
    today's needs but setup an infrastructure for tomorrow's needs by=20
    anticipating tomorrow's technologies;=20
    <LI>insights into the strengths and weaknesses of computers and =
networks as=20
    tools used to meet the needs of "the community" in which they find=20
    themselves;=20
    <LI>skills that allow them to effectively assess and manage the =
"total cost=20
    of ownership" by looking at the planning, implementation, and =
maintenance=20
    phases of different network information systems models;=20
    <LI>a basic working knowledge of computer hardware, operating =
systems, and=20
    networks through hands-on training. </LI></OL>
  <P><B>It is important to note that while this course contains a =
considerable=20
  amount of practical, hands-on learning, it is not a "trade" course on =
the=20
  topic. An underlying assumption on the part of the instructor is that =
while=20
  technology is constantly changing, the underlying concepts of it's=20
  implementation and use are fairly constant. By learning the underlying =

  concepts, students will be better prepared to help design networked =
systems=20
  that not only work well today, but also develop systems that can be =
easily=20
  adapted for the needs and technologies of tomorrow. The primary =
objective is=20
  to provide a conceptual understanding of the topics on hand through =
concrete=20
  hands-on examples of implementation. </B></P>
  <DT><B>Weekly Course Structure:</B>=20
  <DD>Each week a new concept will be covered during the various phases =
of the=20
  class. After a review of the previous week's concept, including =
addressing any=20
  unresolved or unclear concepts, the week's lecture period will provide =
an=20
  introductory look at the week's assigned concept. Then, during week's =
1-7, the=20
  lab will provide a concrete, hands-on experience meant to illustrate =
the=20
  current concept. (During week's 8-15, the lab periods will be directed =
towards=20
  preparing the final project community technology center.) The assigned =

  readings for each week are meant to provide additional conceptual =
knowledge as=20
  well as a more detailed understanding of today's implemented =
technology.=20
  <DT><B>Course Fee:</B>=20
  <DD>A $25 fee is part of the course to recover the costs for lab =
equipment and=20
  the travel that is part of the course. This fee is charged directly to =
the=20
  student as part of the overall tuition and fee schedule.=20
  <DT><B>Readings:</B>=20
  <DD>Readings are divided into those that are considered required for =
the=20
  student to achieve the core objectives of the course, and additional =
readings=20
  that students may find valuable to gain further information in areas =
of=20
  special interest to them. Required readings should be completed by the =
end of=20
  the week on which they are listed. These may include both chapters =
from the=20
  primary texts listed below, and also from various online sources.=20
  <P>Primary texts for the course are:</P>
  <DL>
    <DT>Hardware:=20
    <DD>
    <UL>
      <LI><CITE>Michael Meyers (2003) <STRONG>Introduction to PC =
Hardware and=20
      Troubleshooting</STRONG>, McGraw-Hill, ISBN: 0072226323</CITE> =
</LI></UL>
    <DT>Networking:=20
    <DD>
    <UL>
      <LI><CITE>Bruce Hallberg (2006) <STRONG>Networking: A Beginner's =
Guide,=20
      4th edition</STRONG>, Berkeley, CA: Osborne/McGraw-Hill, ISBN:=20
      0-07-226212-5</CITE>=20
      <LI><CITE>Douglas E. Comer (2007) <STRONG>The Internet Book: =
Everything=20
      You Need To Know About Computer Networking And How the Internet =
Works, 4th=20
      edition</STRONG>, Upper Saddle River, NJ: Prentice-Hall, ISBN:=20
      0-13-030852-8</CITE> </LI></UL></DD></DL>
  <DT><B>Labs:</B>=20
  <DD>
  <P>A primary objective of the course is to provide hands-on experience =
with=20
  the technology systems used in information environments as a way of=20
  illustrating the underlying concepts that enable these systems to =
function.=20
  Therefore, students will meet 2 hours weekly for hand-on lab sessions. =

  Students sign up for one of two lab sessions when they sign up for the =
class.=20
  It is expected that students will meet at their assigned times for =
each lab=20
  session. Unless otherwise noted, labs will be held in the workshop in =
the=20
  basement of the CNI Prairienet Building, Champaign, for the AB1 and =
AB2 lab=20
  sections. </P>
  <P>As mentioned above, the goal of the course is to develop a =
conceptual=20
  knowledge of the various topics. To this end, step-by-step =
instructions are=20
  not typically provided during lab periods. Instead, the instructor =
will step=20
  students through the lab exercises while pointing out various =
conceptual=20
  issues when appropriate. </P>
  <DT><B>Final Project:</B>=20
  <DD>
  <DL>
    <DT><I>Service Learning Project Overview</I>=20
    <DD>
    <P>Around week 7 of the semester, students will be divided into =
working=20
    groups of 3-5 students. Each working group will be assigned to work =
with a=20
    community organization working within communities around Illinois, =
including=20
    organizations in East St. Louis, Champaign/Urbana, and Chicago. =
Students are=20
    tasked with building or upgrading a community technology center =
(CTC) for=20
    the community site. Work is done in collaboration with other campus =
units,=20
    such as Prairienet and the East St. Louis Action Research Project =
(ESLARP),=20
    as well as with neighborhood groups within the community. All =
students in=20
    the AB1 and AB2 sections will travel to East St. Louis =
mid-semester.&nbsp;=20
    However, only students setting up sites in or near East St. Louis =
will=20
    travel on Friday/Saturday the last full week of the semester. </P>
    <P><B>Regardless of location, the work performed by students =
represents both=20
    action research and service learning directed towards meeting the =
immediate=20
    and long-term needs of some of the area's most distressed =
communities.=20
    Students are available as a resource to serve those in the community =
who=20
    working on the front lines to address the needs of the =
community.</B> </P>
    <DT><I>Required Trips</I>=20
    <DD>
    <P>Students will visit their assigned site twice during the =
semester. Travel=20
    details will be coordinated with the instructor. Students in the AB1 =
and AB2=20
    sections will leave Champaign early Friday morning and return late =
Saturday=20
    evening. Students will need to plan their schedules for the semester =

    accordingly, including: </P>
    <UL>
      <LI>Contacting instructors of courses with instruction times on =
Fridays to=20
      make alternate arrangements;=20
      <LI>Adjusting professional/personal obligations to free up these =
dates;=20
      <LI>Work on major assignments of other courses in advance to avoid =

      deadline conflicts. </LI></UL>
    <P><B>Final project trips are a required part of 451. Students who =
have=20
    unavoidable scheduling conflicts for these trips might consider =
taking 451=20
    at a later time. It is important that students meet with the =
instructors of=20
    conflicting courses prior to, or at the latest, the beginning of the =

    semester if any scheduling conflicts are foreseen during the =
semester.</B>=20
    </P>
    <DT><I>Trip Agendas</I>=20
    <DD>
    <P>During the first visit students will interview people from the =
site to=20
    determine their needs and wants. They will also survey the site to =
determine=20
    possibilities and obstacles in implementing a lab. Also, while in =
the area=20
    during the first visit, students will have an opportunity to further =

    interact with citizens in the community by helping with various=20
    non-technology based community projects. Examples of past projects =
451=20
    students have helped with include: </P>
    <UL>
      <LI>refurbish computers for distribution to individuals;=20
      <LI>cleaning up parks (raking leaves, picking up trash);=20
      <LI>landscaping (planting trees, bushes, flowers; pulling weeds;=20
      mulching);=20
      <LI>construction (building benches, signs);=20
      <LI>interior and/or exterior painting;=20
      <LI>passing out flyers to community members. </LI></UL>
    <P>Projects are assigned by Prairienet and ESLARP staff. Assignments =
are=20
    made by working group. All students are expected to participate in =
these=20
    additional service projects. Besides helping the community, the work =
in the=20
    community is an aid in understanding the lab setup within the =
broader=20
    context of the community. </P>
    <P>After returning from the first visit, the students will be =
responsible=20
    for using lab resources to implement the lab. This will require work =
both=20
    during scheduled lab time and during additional open lab hours. =
Finally, the=20
    students will make a second trip to their assigned sites to install =
the lab=20
    and give basic instructions on it's use to site administrators. </P>
    <DT><I>Additional Trip Logistics (Trips to East St. Louis only)</I>=20
    <DD>
    <P><B>Travel:</B> all students travel in University vehicles to and =
from=20
    their assigned area unless other arrangements are made with the =
instructor.=20
    </P>
    <P><B>Lodging:</B> rooms at the Ramada Inn, Fairview Heights, IL are =

    provided for students. Students stay four per room and will have an=20
    opportunity to indicate preferred roommates prior to the trip. =
Special=20
    arrangements in accordance with the Americans with Disabilities Act =
will be=20
    made upon request when possible. </P>
    <P><B>Food:</B> Lunch and supper are provided Friday, as well as =
breakfast=20
    and lunch on Saturday. Attempts are made to accomodate various =
dietary=20
    concerns. In some instances, lunch might be provided by a community=20
    technology center for those students assigned to work at that site. =
In those=20
    cases, students should plan to provide their own food if they have =
special=20
    dietary concerns. </P>
    <P><B>Overall</B>, every attempt is made to provide reasonable =
accomodations=20
    on a limited budget. However, it is important to remember that these =
trips=20
    are service oriented and are not meant to be cozy vacations ;-) </P>
    <DT><I>Final Project Summary</I>=20
    <DD>
    <P>The design, development, and implementation of community =
technology=20
    centers in the disadvantaged areas of Illinois represents an =
important=20
    community service as well as a unique learning opportunity. The =
focus of the=20
    early part of the semester is geared towards development of the =
skills=20
    necessary to carry out the final project. The underlying assumption =
is that=20
    development and implementation of a community technology center is a =

    representative project of the general skill set required to setup a =
small to=20
    medium sized networked information system. </P>
    <P>Because the final project is an actual implementation that will =
be=20
    immediately used to address important social needs, a wide range of =
GSLIS,=20
    Prairienet, ESLARP, and University resources are directed towards=20
    facilitating students to accomplish the task at hand. However, it =
remains=20
    for the students to actually carry out the design and implementation =
within=20
    a working team. Course evaluations have indicated that this requires =
a=20
    greater than normal committment of time and energies by the =
students.=20
    However, it is hoped that the resulting rewards, not only to the =
community=20
    served but also to the students who are serving and learning, will =
justify=20
    this increased committment. </P>
    <P>Overall, feedback regarding the final project has been extremely=20
    favorable. Students have found it a very useful tool that provides =
practical=20
    experience in the implementation of a computer lab whose target =
usership is=20
    community members. In addition, students have found the experience =
of=20
    serving those in need rewarding. My goal as an instructor is to do =
whatever=20
    it takes to assure that each student taking the class this semester =
will=20
    also find the final project a highlight of their academic career at =
GSLIS.=20
    </P></DD></DL>
  <DT><B>Evaluation:</B>=20
  <DD>Students will be graded on a 90% (A), 80% (B), 70% (C), 60% (D) =
scale.=20
  Graded assignments and the total percent of the grade for each are =
listed=20
  below:=20
  <DL>
    <DT><I>One Minute Papers (8% of total grade):</I>=20
    <DD>
    <P>Each week students will be asked to fill out a short web-based =
"one=20
    minute paper". The idea behind the one minute paper (OMP) is to =
provide=20
    rapid feedback to the instructor regarding each student's =
understanding of=20
    the topics at hand. The web form asks for the main thing learned =
from the=20
    week's lecture, lab, and readings. As such, it should be completed =
after the=20
    assigned readings for the week have been completed by the student. =
It also=20
    asks for any issues that remain unclear for the student. The =
instructor will=20
    either respond to these points via email or during the first part of =
the=20
    following week's lecture. </P>
    <P>Students are required to turn in eight OMPs, each worth 1 point, =
one=20
    after each of the first eight weeks. Students are encouraged to turn =
in=20
    papers for the second half of the semester, with those grades =
counting as=20
    extra credit.</P>
    <DT><I>Concept Papers (40% of total grade):</I>=20
    <DD>
    <P>There will be 6 concept papers due during the course of the =
semester. The=20
    concept papers will be related to the lab exercises performed during =
weeks=20
    2-7. The goal of these concept papers is to gauge the level of =
conceptual=20
    learning of the tasks at hand. Students will indicate the general =
principles=20
    used to accomplish the assigned task, the types of equipment and =
software=20
    needed to accomplish the tasks, and general problems that might be=20
    encountered and techniques and solutions used to address these =
problems.=20
</P>
    <P>NOTE: while lab exercises will typically be performed with a lab =
partner,=20
    concept papers will be turned in individually. Reports turned in 1-7 =
days=20
    late will have one point deducted from their assigned scores. =
Reports turned=20
    in 8-14 days late will have two points deducted from their assigned =
scores.=20
    No assignments will be accepted for a grade after 14 days late. The=20
    instructor reserves the right to modify the exercises during the =
semester to=20
    better meet the interests of the students. </P>
    <DT><I>Final Project Evaluation (47% of total grade):</I>=20
    <DD>
    <P>During the assigned exam period for the class, each group will =
give an=20
    informal oral debriefing of their final project in front of the full =
class=20
    and invited guests. Presentations will be approximately 15 minutes =
in length=20
    and should include a description of the physical site, the people =
running=20
    the community technology center (CTC), and the primary target =
usership for=20
    the CTC. It should also present the major work done to setup the =
CTC. Each=20
    student within the group should take an active roll in the =
presentation.=20
</P>
    <P>A written report is due at the the time of the presentation. The =
written=20
    report should include: </P>
    <UL>
      <LI>a description of the site;=20
      <LI>a digest of major internal and external group communications,=20
      including a review of the initial site survey interview, =
subsequent=20
      communications with the recipient site, minutes from group =
planning=20
      sessions, and a review of any other relavent communications;=20
      <LI>a synopsis of the implementation plan and rejected =
alternatives;=20
      <LI>an inventory of equipment and software placed in the community =

      technology center;=20
      <LI>a schematic of the final floor plan implemented;=20
      <LI>a summary of major problems encountered, solutions tried, and=20
      solutions implemented; and=20
      <LI>a review of lessons learned by the group and by individuals =
within the=20
      group throughout the course of the final project. </LI></UL>
    <DT><I>Student Evaluations (5% of total grade):</I>=20
    <DD>
    <P>Each student should participate actively in both the final =
project=20
    execution and the final debriefing and paper. Students will be given =
a=20
    chance to anonymously rate the involvement of fellow final project =
group=20
    members on a 0-5 scale (5 being the top score assigned to those who =
provided=20
    significant help on all phases of the group work; 0 being the bottom =
score=20
    reserved for those who had no involvement at all in any phase of the =
group=20
    work). <B>This is not a rating of a students technical ability, but =
a rating=20
    of their overall contribution to the project</B> Scores from each =
student=20
    will be averaged for the final point value. </P></DD></DL></DD></DL>
<P><B>Disclaimer: </B>The instructor reserves the right to make =
modifications to=20
any part of the class syllabus or schedule to better accommodate the =
needs of=20
the students within the course. Students will be given advance notice of =

relevant changes in class or via email. </P>
<HR>

<P>Copyright 2007 by Martin B. Wolske. </P></BODY></HTML>

------=_NextPart_000_0000_01C810C0.79E4EB70--
