From: <Saved by Windows Internet Explorer 8>
Subject: =?Windows-1252?Q?The_Police_in_America=A0|=A0Chapter_Outline?=
Date: Thu, 29 Sep 2011 15:48:49 -0700
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0020_01CC7EBF.47D58290"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6109

This is a multi-part message in MIME format.

------=_NextPart_000_0020_01CC7EBF.47D58290
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://highered.mcgraw-hill.com/sites/007241497x/student_view0/part4/chapter13/chapter_outline.html

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>The Police in America=C2=A0|=C2=A0Chapter =
Outline</TITLE>
<META content=3D"text/html; charset=3DUTF-8" http-equiv=3DContent-Type>
<META name=3DDESCRIPTION content=3D"">
<META name=3DKEYWORDS content=3D""><LINK rel=3Dstylesheet =
type=3Dtext/css=20
href=3D"http://highered.mcgraw-hill.com/olcweb/styles/v1/purple/css.css">=

<SCRIPT language=3Djavascript type=3Dtext/javascript=20
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/v1_functions.=
js"></SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript=20
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/common.js"></=
SCRIPT>

<META name=3DGENERATOR content=3D"MSHTML 8.00.6001.19120"></HEAD>
<BODY =
onload=3D"readPrefs('007241497x');initGlossaryLayers();showAlerts();"=20
leftMargin=3D0 topMargin=3D0 bgColor=3D#ffffff marginheight=3D"0" =
marginwidth=3D"0">
<TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 width=3D"99%">
  <TBODY>
  <TR>
    <FORM method=3Dpost name=3Dfeedback =
action=3D/olcweb/cgi/feedbackv1.cgi=20
    target=3DfeedbackWin><INPUT value=3D"The Police in America" =
type=3Dhidden=20
    name=3DsiteTitle><INPUT value=3D/sites/007241497x/ type=3Dhidden=20
    name=3DsiteUrl><INPUT value=3D007241497x type=3Dhidden =
name=3DsiteISBN><INPUT=20
    value=3Dtechsup@mcgraw-hill.com; type=3Dhidden =
name=3DtechEmail><INPUT=20
    value=3Dcj@mcgraw-hill.com type=3Dhidden name=3DcontentEmail><INPUT=20
    value=3D/olcweb/styles/v1/purple type=3Dhidden =
name=3Dimagepath><INPUT=20
    value=3D", student view0, Part4, Chapter13" type=3Dhidden=20
    name=3DcurrentSection><INPUT value=3D"Chapter Outline" type=3Dhidden =

    name=3DcurrentAtom></FORM>
    <FORM method=3Dpost name=3DhelpForm =
action=3D/olcweb/help/v1/help.cgi=20
    target=3DhelpWin><INPUT type=3Dhidden name=3Datom><INPUT =
value=3D"student view"=20
    type=3Dhidden name=3Dview><INPUT value=3D"The Police in America" =
type=3Dhidden=20
    name=3DsiteTitle><INPUT value=3D/olcweb/styles/v1/purple =
type=3Dhidden=20
    name=3Dimagepath><INPUT value=3Dtechsup@mcgraw-hill.com; =
type=3Dhidden=20
    name=3DtechEmail><INPUT value=3Dcj@mcgraw-hill.com type=3Dhidden=20
    name=3DcontentEmail></FORM>
    <TD vAlign=3Dtop width=3D"5%" align=3Dleft><IMG border=3D0 =
hspace=3D0=20
      alt=3D"McGraw-Hill Online"=20
      =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/v1/purple/head_onlin=
e.gif"=20
      width=3D150 height=3D50 useMap=3D#MHHE><MAP name=3DMHHE><AREA=20
        href=3D"http://www.mhhe.com/" shape=3Drect=20
        alt=3D"McGraw-Hill Higher Education" =
coords=3D6,11,35,40></MAP></TD>
    <TD vAlign=3Dtop width=3D"95%" align=3Dleft><IMG border=3D0 =
hspace=3D0=20
      alt=3D"Learning Center"=20
      =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/v1/purple/head_learn=
ing_ctr.gif"=20
      width=3D300 height=3D50></TD></TR>
  <TR>
    <TD height=3D25 vAlign=3Dcenter=20
    =
background=3Dhttp://highered.mcgraw-hill.com/olcweb/styles/v1/purple/bg.g=
if=20
    colSpan=3D2 align=3Dright><A class=3DnavCur=20
      =
href=3D"http://highered.mcgraw-hill.com/sites/007241497x/student_view0/">=
Student=20
      Center</A><FONT class=3Dnav> | </FONT><A class=3Dnav=20
      =
href=3D"http://highered.mcgraw-hill.com/sites/007241497x/instructor_view0=
/">Instructor=20
      Center</A><FONT class=3Dnav> | </FONT><A class=3Dnav=20
      =
href=3D"http://highered.mcgraw-hill.com/sites/007241497x/information_cent=
er_view0/">Information=20
      Center</A><FONT class=3Dnav> | </FONT><A class=3Dnav=20
      =
href=3D"http://highered.mcgraw-hill.com/sites/007241497x/">Home</A><IMG=20
      =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif"=20
      width=3D5 height=3D1></TD></TR>
  <TR>
    <TD vAlign=3Dtop=20
    =
background=3Dhttp://highered.mcgraw-hill.com/olcweb/styles/v1/purple/bg.g=
if=20
    noWrap align=3Dleft>
      <FORM name=3DsiteNavForm action=3D#>
      <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0=20
width=3D145><PRODUCT_STRUCTURE>
        <TBODY>
        <TR>
          <TD vAlign=3Dtop align=3Dleft><IMG=20
            =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif"=20
            width=3D5 height=3D1></TD>
          <TD vAlign=3Dtop align=3Dleft><A class=3Dsubnav=20
            =
href=3D"http://highered.mcgraw-hill.com/sites/007241497x/student_view0/gl=
ossary.html">Glossary</A></TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft><IMG=20
            =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif"=20
            width=3D5 height=3D1></TD>
          <TD vAlign=3Dtop align=3Dleft><A class=3Dsubnav=20
            =
href=3D"http://highered.mcgraw-hill.com/sites/007241497x/student_view0/ca=
reer_opportinities.html">Career=20
            Opportinities</A></TD></TR>
        <TR>
          <TD vAlign=3Dtop colSpan=3D2 align=3Dleft>
            <HR class=3Dnav SIZE=3D1 width=3D"90%">
          </TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft><IMG=20
            =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif"=20
            width=3D5 height=3D1></TD>
          <TD class=3DnavText vAlign=3Dtop align=3Dleft><SELECT =
class=3DnavTiny=20
            =
onchange=3Dwindow.location.href=3Dthis[this.selectedIndex].value=20
              size=3D1><OPTION value=3D#>Choose a Part</OPTION><OPTION=20
              =
value=3D/sites/007241497x/student_view0/part1/chapter1/chapter_overview.h=
tml>Part=20
              1</OPTION><OPTION=20
              =
value=3D/sites/007241497x/student_view0/part2/chapter4/chapter_overview.h=
tml>Part=20
              2</OPTION><OPTION=20
              =
value=3D/sites/007241497x/student_view0/part3/chapter8/chapter_overview.h=
tml>Part=20
              3</OPTION><OPTION selected=20
              =
value=3D/sites/007241497x/student_view0/part4/chapter12/chapter_overview.=
html>Part=20
              4</OPTION></SELECT></TD></TR>
        <TR>
          <TD vAlign=3Dtop colSpan=3D2 align=3Dleft>
            <HR class=3Dnav SIZE=3D1 width=3D"90%">
          </TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft><IMG=20
            =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif"=20
            width=3D5 height=3D1></TD>
          <TD class=3DnavText vAlign=3Dtop align=3Dleft><SELECT =
class=3DnavTiny=20
            =
onchange=3Dwindow.location.href=3Dthis[this.selectedIndex].value=20
              size=3D1><OPTION value=3D#>Choose a =
Chapter</OPTION><OPTION=20
              =
value=3D/sites/007241497x/student_view0/part4/chapter12/chapter_overview.=
html>Chapter=20
              12</OPTION><OPTION selected=20
              =
value=3D/sites/007241497x/student_view0/part4/chapter13/chapter_overview.=
html>Chapter=20
              13</OPTION><OPTION=20
              =
value=3D/sites/007241497x/student_view0/part4/chapter14/chapter_overview.=
html>Chapter=20
              14</OPTION></SELECT></TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft><IMG=20
            =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif"=20
            width=3D5 height=3D1></TD>
          <TD vAlign=3Dtop align=3Dleft><A class=3Dsubnav=20
            =
href=3D"http://highered.mcgraw-hill.com/sites/007241497x/student_view0/pa=
rt4/chapter13/chapter_overview.html">Chapter=20
            Overview</A></TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft><IMG=20
            =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif"=20
            width=3D5 height=3D1></TD>
          <TD vAlign=3Dtop align=3Dleft><A class=3DsubnavCur=20
            =
href=3D"http://highered.mcgraw-hill.com/sites/007241497x/student_view0/pa=
rt4/chapter13/chapter_outline.html#">Chapter=20
            Outline</A></TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft><IMG=20
            =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif"=20
            width=3D5 height=3D1></TD>
          <TD vAlign=3Dtop align=3Dleft><A class=3Dsubnav=20
            =
href=3D"http://highered.mcgraw-hill.com/sites/007241497x/student_view0/pa=
rt4/chapter13/chapter_objectives.html">Chapter=20
            Objectives</A></TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft><IMG=20
            =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif"=20
            width=3D5 height=3D1></TD>
          <TD vAlign=3Dtop align=3Dleft><A class=3Dsubnav=20
            =
href=3D"http://highered.mcgraw-hill.com/sites/007241497x/student_view0/pa=
rt4/chapter13/powerpoint_presentations.html">PowerPoint=20
            Presentations</A></TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft><IMG=20
            =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif"=20
            width=3D5 height=3D1></TD>
          <TD vAlign=3Dtop align=3Dleft><A class=3Dsubnav=20
            =
href=3D"http://highered.mcgraw-hill.com/sites/007241497x/student_view0/pa=
rt4/chapter13/multiple_choice_quiz.html">Multiple=20
            Choice Quiz</A></TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft><IMG=20
            =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif"=20
            width=3D5 height=3D1></TD>
          <TD vAlign=3Dtop align=3Dleft><A class=3Dsubnav=20
            =
href=3D"http://highered.mcgraw-hill.com/sites/007241497x/student_view0/pa=
rt4/chapter13/true_or_false.html">True=20
            or False</A></TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft><IMG=20
            =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif"=20
            width=3D5 height=3D1></TD>
          <TD vAlign=3Dtop align=3Dleft><A class=3Dsubnav=20
            =
href=3D"http://highered.mcgraw-hill.com/sites/007241497x/student_view0/pa=
rt4/chapter13/flashcards.html">Flashcards</A></TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft><IMG=20
            =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif"=20
            width=3D5 height=3D1></TD>
          <TD vAlign=3Dtop align=3Dleft><A class=3Dsubnav=20
            =
href=3D"http://highered.mcgraw-hill.com/sites/007241497x/student_view0/pa=
rt4/chapter13/internet_exercises.html">Internet=20
            Exercises</A></TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft><IMG=20
            =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif"=20
            width=3D5 height=3D1></TD>
          <TD vAlign=3Dtop align=3Dleft><A class=3Dsubnav=20
            =
href=3D"http://highered.mcgraw-hill.com/sites/007241497x/student_view0/pa=
rt4/chapter13/interactive_summary.html">Interactive=20
            =
Summary</A></TD></TR></PRODUCT_STRUCTURE><PRODUCT_STRUCTURE></PRODUCT_STR=
UCTURE><PRODUCT_STRUCTURE></PRODUCT_STRUCTURE>
        <TR>
          <TD vAlign=3Dcenter colSpan=3D2 align=3Dleft>
            <HR class=3Dnav SIZE=3D1 width=3D"90%">
          </TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft><IMG=20
            =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif"=20
            width=3D5 height=3D1></TD>
          <TD vAlign=3Dtop width=3D145 noWrap align=3Dleft>
            <SCRIPT language=3Djavascript><!-- // preferences link=0A=
					if (checkLoginStatus('007241497x')) {=0A=
						document.write('<a class=3D"nav" href=3D"#" =
onClick=3D"window.open(\'/olcweb/cgi/preferencesv1.cgi?imagedir=3D/olcweb=
/styles/v1/purple&isbn=3D007241497x\',\'prefWin\',\'width=3D600,height=3D=
450,resizable,scrollbars\');">');=0A=
						document.write('<img src=3D"/olcweb/styles/v1/purple/dot.gif" =
width=3D"15" height=3D"11" hspace=3D"0" vspace=3D"0" =
border=3D"0"/><i>Preferences</i>');=0A=
						document.write('</a><br/>');=0A=
					} =0A=
				--></SCRIPT>
            <A class=3Dnav=20
            =
onclick=3D"window.open('','feedbackWin','width=3D600,height=3D350,resizab=
le,scrollbars');document.forms.feedback.submit();"=20
            =
href=3D"http://highered.mcgraw-hill.com/sites/007241497x/student_view0/pa=
rt4/chapter13/chapter_outline.html#"><IMG=20
            border=3D0 hspace=3D0=20
            =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/v1/purple/dot.gif"=20
            width=3D15 height=3D11><I>Feedback</I></A><BR><A class=3Dnav =

            =
onclick=3D"window.open('','helpWin','width=3D600,height=3D450,resizable,s=
crollbars');document.forms.helpForm.submit();"=20
            =
href=3D"http://highered.mcgraw-hill.com/sites/007241497x/student_view0/pa=
rt4/chapter13/chapter_outline.html#"><IMG=20
            border=3D0 hspace=3D0=20
            =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/v1/purple/dot.gif"=20
            width=3D15 height=3D11><I>Help Center</I></A><BR>
            <SCRIPT language=3Djavascript><!-- // logout link=0A=
					if (checkLoginStatus('007241497x')) {=0A=
						document.write('<a class=3D"nav" =
href=3D"/webintegration/WebIntegrationServlet?call=3DLogoutWeblet&externa=
l=3D1&isbn=3D007241497x&chrome=3D%2fsites%2f007241497x%2fchrome.vm&goto_u=
rl=3D%2fsites%2f007241497x%2f">');=0A=
						document.write('<img src=3D"/olcweb/styles/v1/purple/dot.gif" =
width=3D"15" height=3D"11" hspace=3D"0" vspace=3D"0" =
border=3D"0"/><i>Log Out</i>');=0A=
						document.write('</a><br/>');=0A=
					} =0A=
				--></SCRIPT>
            <BR></TD></TR></TBODY></TABLE></FORM></TD>
    <TD vAlign=3Dtop rowSpan=3D2 align=3Dleft><BR>
      <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 width=3D"100%">
        <TBODY>
        <TR>
          <TD vAlign=3Dtop align=3Dleft><IMG border=3D0 hspace=3D0=20
            =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif"=20
            width=3D10 height=3D1></TD>
          <TD vAlign=3Dtop align=3Dleft><IMG alt=3D"" align=3Dright=20
            =
src=3D"http://highered.mcgraw-hill.com/sites/dl/free/007241497x/title/wal=
ker_sm1.jpg"=20
            width=3D100>
            <DIV class=3Dbooktitle align=3Dleft>The Police in America, =
4/e</DIV>
            <DIV class=3Dauthor align=3Dleft>Samuel Walker, University =
of=20
            Nebraska<BR>Charles M. Katz, Arizona State =
University-West<BR></DIV>
            <HR SIZE=3D1 noShade>

            <DIV class=3Dpagehead>Officers and Organizations</DIV>
            <DIV class=3Dpagehead>Police Officers II: On the =
Job</DIV><BR=20
            clear=3Dright>
            <H1>Chapter Outline</H1>
            <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
              <TBODY>
              <TR>
                <TD><IMG=20
                  =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif"=20
                  width=3D1 height=3D7></TD></TR>
              <TR>
                <TD=20
                =
background=3Dhttp://highered.mcgraw-hill.com/olcweb/styles/v1/purple/bg.g=
if><IMG=20
                  =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif"=20
                  width=3D1 height=3D2></TD></TR>
              <TR>
                <TD><IMG=20
                  =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif"=20
                  width=3D1 height=3D5></TD></TR></TBODY></TABLE>
            <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"95%"=20
              align=3Dright><TBODY>
              <TR>
                <TD><PRE>Chapter Thirteen: Police Officers II: On the =
Job

Lecture Outline

I. Introduction: after probationary period-officer enters law =
enforcement career

II. Reality shock: Beginning police work
	A. Encountering citizens
		1. Attitudes toward public significantly change during first weeks and =
months
		2. Citizen hostility is a surprise to officers because they entered =
career to help people
		3. Stereotypes
			a. citizens react to uniform, badge and gun
				i. some citizens feel uncomfortable around officers
				ii. some citizens openly joke about breaking the law
			b. to ease discomfort, officers tend to socialize only with other =
officers, which increases isolation from the public
		4. "Dirty work"
			a. officers handle tasks no one else wants to perform
			b. they see humanity at its worst
			c. these effects accumulate over time
	B. Encountering the criminal justice system
		1. "Insiders"
			a. officers see firsthand how the system works:
				i. arrest dispositions
				ii. cases plea-bargained
				iii. how judges work
				iv. incompetence among prosecutors, attorneys, judges
			b.  become cynical about the effectiveness of the system
			c. in general, officers believe courts are too lenient
	C. Encountering the department
		1. Many officers have the most hostility toward the department
		2. "Politics" of the organization
			a. officers learn:
				i. organizations do not always act in a rational and efficient =
manner
				ii. some supervisors are incompetent
				iii. promotions not necessarily based on merit
				iv. personal favoritism governs some decisions
			b. many officers conclude hard work will not be rewarded
				i. best approach is to do as little as possible
				ii. avoid potentially troubling situations
			c. conflict between rank and file, and management
			d. internal conflicts

III. The seniority system
	A. New officers generally assigned to:
		1. Patrol
		2. High crime areas
		3. Evening shift
	B. Officers with more experience have first priority in requesting =
assignments
	C. Positive points: eliminates favoritism and discrimination
	D. Negative points:
		1. Least experienced officers get the most difficult assignment
		2. Increase in minority and female officer hiring-minorities and women =
highly represented in undesirable assignments

IV. Police officer attitudes and behavior
	A. Two explanations
		1. Sociological aspects
			a. special characteristics of police work
			b. nature of police organizations
			c. situational factors associated with police-citizen encounters
		2. Individual officer background characteristics
			a. social and economic status
			b. race
			c. ethnicity
			d. gender
			e. education
		3. Bulk of research supports sociological aspects
	B. The concept of a police "subculture"
		1. First identified in William Westley's study of Gary, IN police =
department
			a. two aspects of police subculture
				i. attitude of secrecy toward outside investigators
				ii. eagerness to help someone needing assistance
			b. subculture
				i. extremely complex phenomenon
				ii. emphasizes secrecy and violence
				iii. police officers view the public as the "enemy"
		2. Product of selective contact with the public
			a. officers usually met people who required police presence and =
resented the police
			b. dealt with professionals who had negative attitudes toward police
			c. faced with public hostility--officers rely on fellow officers in =
times of crisis
		3. Characteristics
			a. group solidarity
				i. secrecy/code of silence--justifies lying
				ii. justifies violence against citizens
		4. "Working personality" Skolnick (Oakland, CA)
			a. danger and authority
			b. officers are routinely suspicious of all people
			c. develop perceptual shorthand--associate with criminals and other =
potentially dangerous people, often applied to minority, young men 	=20
		5. The capacity to use force
			a. further isolates officer from the public
			b. Bittner: defining feature of the police
				i. distinguishes their job from other occupations
				ii. powers are inherent in the police role
				iii. symbolized by the uniform, badge and weapon
		6. Danger: potential vs. actual
			a. shapes the police subculture
			b. important to distinguish between potential and actual danger
				i. police work is not the most dangerous occupation
				ii. mining and construction have the highest death rates
				iii. police work has become much safer in last 20 years
		7. Norms of police work conflict with constitutional standards
			a. officers are under pressure to "get results": arrests, evidence, =
confessions, convictions
			b. law limits police powers; designed to protect individual citizen =
rights
			c. officers feel pressure to evade or bend the rules
			d. Packer: tension between:
				i. crime control values
				ii. due process values
		8. Cynicism and authoritarianism (Niederhoffer)
			a. officers are cynical about both inside and outside world
			b. "police personality"--associated with authoritarianism
				i. conventional social values
				ii. cynicism
				iii. aggression
				iv. superstition
				v. tendency to stereotype
				vi. project personal values onto others
				vii. define the world in terms of good vs. bad people
	C. Criticisms of the police subculture concept: early research on =
police subculture has been criticized
		1. Paints a negative view of officers
		2. Portrays them as:
			a. isolated
			b. hostile to the public and to norms of a democratic society
			c. prejudiced
			d. opposed to accountability
		2. Criticisms
			a. research was mere opinion
			b. methodologically inadequate to make inferences--small samples
			c. fails to account for significant recent changes in police =
employment
			d. police officers may be different, but their personality traits are =
not pathological
			e. Bayley and Mendolsohn--study
				i. officers are average people
				ii. they are somewhat more conservative than average public
				iii. they are not authoritarian
		3. Herbert argues traditional view of police culture is too limited
			a. a number of factors are related to how officers carry out their =
job
				i. law
				ii. bureaucratic control
				iii. adventure/machismo
				iv. safety
				v. competence
				vi. morality=20

V. The changing rank and file
	A. Original subculture concept fails to account for significant changes =
in the rank and file; unified concept of subculture is being replaced by =
one that is diverse
	B. Women police officers
		1. Introduction of women into policing=20
			a. broke traditional solidarity of the workgroup
			b. traditional masculine characteristics--no longer appropriate
		2. Differences in attitudes of male officers toward female officers =
(Martin)
			a. "traditionals"
				i.  hold stereotyped views about women's physical strength and role =
in society
				ii. had the most difficulty in accepting women
			b. "moderns" accepted female officers relatively easily
			c. "moderates"
				i. accepted the idea of female officers in principle
				ii. did not like the idea of women on patrol duty
		3. Differences between attitudes of male and female officers has =
reduced over time
		4. Despite increase in women officers, "glass ceiling" in terms of =
promotion
	C. Female officers and the use of force
		1. Research
			a. slight differences between male and female officer handling of =
police work
			b. female officers less likely to engage in conduct unbecoming of an =
officer
			c. male and female officers use different verbal and nonverbal =
techniques to control situations; female officers rated by citizens as =
more pleasant and respectful
			d. female officers receive fewer complaints than male officers
		2. Some argue increasing female representation will reduce use of =
force
	D. African-American officers
		1. White and black officers have different attitudes about certain =
issues
			a. police use of force
				i. nearly half of black officers in one study believe police more =
likely to use force against blacks
				ii. only 4.5% of whites agreed with this statement
		2. African-American officers more likely to support innovation and =
change; more supportive of citizen oversight than white officers
		3. Generational differences--newer black officers more likely to =
criticize the department
	E. Hispanic/Latino officers
		1. Little research on Hispanic/Latino officers
		2. Research=20
			a. Hispanic officers believed department discriminated against:
				i. Hispanic citizens
				ii. Hispanic officers in promotions
			b. Hispanic officers negotiate identity between:
				i. roles of police officers
				ii. members of Hispanic community
		3. Civil rights leaders have urged departments to hire more African =
Americans and Hispanics to improve police-community relations=20
	F. Race, ethnicity and performance
		1. No strong evidence that race or ethnicity affects officer =
performance in handling:
			a. citizen complaints
			b. police shootings
	G. Gay and lesbian officers
		1. Some gay and lesbian officers have formed their own organizations
		2. Represent a clear challenge to the traditional stereotype of =
policing as tough, male occupation
		3. No studies on gay and lesbian officer performance
	H. The intersection of race, gender and sexual identity
		1. In many departments, tension and conflict between racial, ethnic =
and gender groups
		2. Perceived discrimination/reverse discrimination
		3. Favoritism among certain groups
		4. Divisions along racial, ethnic, and gender lines reflected in:
			a. interactions among officers
			b. groups form separate social and fraternal organizations
	I. Education
		1. Education levels of officers have been rising steadily
		2. "Generation gap" between:
			a. younger, better educated officers
			b. veteran officers with less education
		3. No strong evidence that that officers with college education behave =
differently than officers with less education
		4. More educated officers may receive less complaints
	J. Cohort effects
		1. Officers in one decade will differ from officers hired in later =
decades
		2. As new groups of officers enter policing
			a. dominant attitudes of rank and file officers change over time
			b. find circumstances an established fact of life
			(EX: Supreme Court decisions)
		3. "Two cultures" among police officers
			a. "old street cop"--values street experience, tough approach to =
dealing with public
			b. other group
				i. identified with new bureaucratic style--written rules and =
procedure with dealing with public
				ii. more accepting of Supreme Court rules on police practices
	K. Attitudes toward community policing
		1. Tradition-bound officers have negative attitudes toward community =
policing
		2. CAPS
			a. older and African-American officers more supportive of concept
			b. African-American officers were "ready for change"
			c. white officers were more satisfied with the status quo; most =
pessimistic about likely success of CAPS
		3. Twelve cities study (Lurigio and Rosenbaum): officers involved in =
community policing
			a. increased job satisfaction and motivation
			b. improvements in co-worker and citizen relationships
	L. Summary

VI. The relationship between attitudes and behavior
	A. Common sense dictates a one-to-one relationship; people who express =
prejudicial attitudes about race and gender automatically behave in a =
discriminatory manner
	B. Research suggests complex relationship
		1. Expressed prejudice does not translate into behavior
		2. Crime Commission Study (Black and Reiss)
			a. more prejudiced officers=20
				i. only somewhat more likely to make arrests
				ii. "meager" influence
			b. less prejudiced officers
				i. more likely to treat citizens in a "neutral" manner
				ii. neither punitive nor favorably
		3. Reason attitudes do not translate into behavior: officers are =
constrained by department and criminal justice bureaucracy
			a. arrest is a highly visible action
			b. arrests come to the attention of other people who review officers' =
performance
			(EX: sergeant, prosecutor, judge)

VII. Styles of police work
	A. Two types
		1. Active officers
			a. initiate more contacts with citizens
			b. assert control of situations with citizens
			c. make more arrests
		2. Passive officers
			a. respond only to dispatched calls
			b. make few arrests
	B. Research
		1. Most police-citizen contacts are citizen-initiated
		2. Many officers make no arrests
		3. A small number of officers-"rate busters"-make most of the most =
arrests
		4. Style differences due to:
			a. personal temperament
			b. career expectations
		5. Career styles (Walsh)
			a. "street cops"
				i. attracted to policing by good pay, job security, etc.
				ii. most aggressive
			b. "action seekers"
				i. attracted to policing by potential for exciting work
				ii. initiate activity for immediate excitement
			c. "middle-class mobiles"
				i. attracted by professional status of policing
				ii. career advancement and upward social mobility
				iii. initiate activity for eventual reward
		6. Typology of officers based on power (Muir)
			a. "professional"
				i. has passion and perspective
				ii. grasps nature of human suffering (passion)
				iii. understands that unjust means cannot be used to deal with this =
problem (perspective)
			b. "enforcers"
				i. has passion but no perspective
				ii. respond to human problems=20
				iii. sees no limits on their power
			c. "reciprocators"
				i. has perspective but no passion
				ii. too detached from human problems and fail to act
			d. "avoiders"
				i. has no passion or perspective
				ii. do not respond to the problems they face
				iii. take no action

VIII. Career development
	A. One of the most serious problems in American policing is lack of =
career opportunities
	B. Promotion
		1. Limited opportunities
			a. civil service regulations require officer serve a certain number =
of years "in rank" before eligibility; requirements range from 2 to 5 =
years
			b. opportunities occur at irregular intervals and may depend on =
city's financial status rather than department need=09
			c. based on formal testing process
				i. involves written examination and oral interview
				ii. debate on whether tests select the most qualified persons
	C. Salaries and benefits
		1. Generally very attractive to officers
		2. Salaries are rigidly structured
			a. civil service procedures
			b. union contracts
		3. Pay is tied to an officer's rank--pay steps=20
		4. Other raises result from renegotiation of entire department's pay =
scale
		5. Only way to receive significant pay increase is through promotion; =
no immediate financial rewards for outstanding performance
		6. Most departments offer additional pay for certain assignments or =
qualifications
			a. could include:
				i. incentive pay for college education
				ii. hazardous duty pay for certain assignments
				iii. shift differential pay
				iv. various forms of merit pay increases
		7. Overtime--assignments that involve frequent court appearances=20
	D. Assignment to special units
		1. Principal award available to officers
			a. assignments generally made at chief's discretion
			b. subject to seniority rules
			c. must be within the officer's rank
		2. Play important role in promotional opportunities; number of =
assignments allows officer
			a. to be known to a wide range of other officers
			b. to establish a reputation for ability
			c. to learn about different aspects of the department
	E. Lateral entry
		1. Opportunity to move to other departments is limited
		2. Obstacles to officer mobility
			a. loss of seniority
			b. loss of rank
			c. pension systems cannot be transferred
		3. Very uncommon except for hiring at the rank of chief
		4. Some experts regard lateral entry as potential to enhance police =
professionalism
			a. would create greater opportunities for talented and ambitious =
officers
			b. brings in fresh blood and new ideas
		5. Opposition
			a. officers guard the few promotional opportunities available
			b. resent outsiders getting promotions

IX. Performance evaluation
	A. Traditional performance evaluations; official performance =
evaluations do not reflect actual performance
	B. Problems with performance evaluations
		1. Definitions are not clear--cannot explain how "effectiveness" is to =
be measured
		2."Halo effect"-- high rating on one factor may mean high ratings on =
other factors
		3. "Central tendency"-- ratings of all officers tend to cluster around =
one numerical level
		4. Tendency to rate everyone highly
		5. May reflect patterns of racial, ethnic or gender bias
		6. Officers may be rewarded for number of arrests rather than arrest =
"quality"
		7. Few if any procedures for rewarding good behavior in non-law =
enforcement situations
		8. Focus on punishing misconduct rather than rewarding good behavior
	C. Rampart Scandal--LAPD problems
		1. Performance evaluations were regarded worthless by department =
members
		2. Supervisors harassed officers for minor departmental policy =
violations, ignored major forms of misconduct
		3. Officers who had quit or were fired filed suits for departmental =
punishment while attempting to report officer misconduct
	D. NYPD study (Bayley and Garafalo)
		1. Officers asked to identify other officers who were skilled at =
handling conflict
		2. Officers who were rated highly by peers and had better job =
performance received higher ratings in official department evaluations
	E. Experts argue new approaches should be considered in light of =
community policing; need to take into account:
		1. New roles of the police
		2. Different tasks officers are expected to perform=20

X. Job satisfaction and job stress
	A. Sources of stress
		1. Nature of police work
		2. Organizational factors
			a. perceived support from leaders
			b. relations with fellow officers
			c. career advancement opportunities
		3. Community relations
		4. Relations with media and the political establishment
		5. Personal or family factors
	B. Majority of officers are satisfied with their jobs
	C. Debate over whether policing is more stressful than other demanding =
occupations
		1. Research findings
		2. Higher rates of problems among officers than others in population
			a. suicide
			b. alcoholism
			c. heart attack
			d. divorce
	D. Elements that create stress
		1. Threat of danger
			a. threatening incidents are statistically infrequent
			b. on-the-job deaths (mining, farming and construction are more =
dangerous)
		2. Citizen disrespect=20
		3. Challenges to police authority
		4. Boredom--routine patrol work involves long periods of inactivity
		5. Shifting suddenly from inactivity to a high state of readiness
		6. Dealing with extreme human suffering
		7. Police department
			a. lack of support from command officers
			b. preferential assignments given to incompetent officers due to =
friendships
			c. policy changes in reaction to media or politicians
			d. racial, ethnic and gender conflicts
			e. shift rotation
		8. Gender-related stress
			a. lack of acceptance by male officers
			b. lack of support
			c. sexual harassment
			d. child care responsibilities
	E. Coping with stress
		1. Until recently, departments did not assist officers with job stress
			a. problem was ignored
			b. officer assigned to an easier job
			c. troubled officers relied on support of other officers or =
internalized it
		2.Currently, departments maintain programs to help officers
			a. mental health professionals
			b. peer counseling
		3. Employment assistant programs (EAP)
			a. key issue is confidentiality
			b. officers need assurance that information will not be used against =
them in disciplinary action
			c. many refuse help due to the "macho" image=09

XI. The rights of police officers
	A. Officers have same civil and constitutional rights as other citizens
		1. Subject to certain limitations=20
		2. Garrity (1996):  Supreme Court ruled officers have basic =
constitutional rights
	B. Under First Amendment, officers have right to belong to political =
and religious organizations; rights can be restricted
		1. Political or religious activity on the job is not permitted
		(EX: officer may not be able to run for political office)
		2. Freedom of speech
	C. Exception: polygraph examinations
		1. Most employers cannot use lie detectors in recruitment
		2. Police agencies are exempt
	D. Officers have due process protections
		1. May not be fired or disciplined without cause
		2. Guaranteed in part by:
			a. civil service procedures
			b. union contract
	E. Officers' rights vs. accountability
		1. Most officers' rights are consistent with fairness and due process =
standards
			a. right to be informed of charges against him/her
			b. right to an attorney
		2. Officers should not be subject to intimidating forms of =
interrogation
		3. Union contracts may have provisions that impede a legitimate =
investigation

XII. Outside employment
	A. Many officers supplement income with outside employment, often in =
private security where officers wear police uniform
	B. Potential problems
		1. May diminish officer commitment to police work
		2. Conflict of interest
		(EX: working in a bar--conflict between employment and law =
enforcement)
		3. May lower dignity of the department

XIII. Turnover: Leaving police work
	A. Approximately 5% leave their job each year; attrition rate has been =
steady since the 1960s
	B. Women leave policing at a slightly higher rate than men, also more =
likely to resign voluntarily
		1. Hostile work environment
		2. Family responsibilities
	C. Little research on voluntary resignation
		1. Memphis study
		2. Key turning points in resignation
			a. feeling that career had stagnated
			b. intense experience brought frustration to a head
			c. lack of a sense of fulfillment on the job
			d. family considerations
			e. conduct of co-workers
			f. particular department policy(ies)
			g. new employment opportunities

XIV. Summary=20



</PRE></TD></TR></TBODY></TABLE><BR clear=3Dall><BR clear=3Dall><BR=20
            clear=3Dall><BR =
clear=3Dall></TD></TR></TBODY></TABLE></TD></TR>
  <TR>
    <TD vAlign=3Dbottom=20
    =
background=3Dhttp://highered.mcgraw-hill.com/olcweb/styles/v1/purple/bg.g=
if=20
    noWrap align=3Dmiddle></TD></TR>
  <TR>
    <TD vAlign=3Dtop align=3Dleft><IMG border=3D0 hspace=3D0=20
      =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif"=20
      width=3D10 height=3D20></TD>
    <TD class=3Dcopyright vAlign=3Dcenter =
align=3Dright><BR><BR><BR><BR><IMG=20
      border=3D0 hspace=3D0 alt=3DCopyright=20
      =
src=3D"http://highered.mcgraw-hill.com/olcweb/styles/v1/purple/copyright.=
gif">2002=20
      McGraw-Hill Higher Education<BR>Any use is subject to the <A=20
      href=3D"http://www.mcgraw-hill.com/copyrttm.htm" =
target=3D_blank>Terms of=20
      Use</A> and <A=20
      =
onclick=3D"window.open('http://www.mhhe.com/catalogs/privacy_notice.mhtml=
','newWin','toolbar=3Dno,location=3Dno,width=3D500,height=3D300,resizable=
=3Dyes,scrollbars=3Dyes');"=20
      =
href=3D"http://highered.mcgraw-hill.com/sites/007241497x/student_view0/pa=
rt4/chapter13/chapter_outline.html#">Privacy=20
      Policy</A>.<BR><A href=3D"http://www.mhhe.com/" =
target=3D_blank>McGraw-Hill=20
      Higher Education</A> is one of the many fine businesses of <A=20
      href=3D"http://www.mcgraw-hill.com/" target=3D_blank>The =
McGraw-Hill=20
      Companies</A>. </TD></TR></TBODY></TABLE><BR><BR></BODY></HTML>

------=_NextPart_000_0020_01CC7EBF.47D58290
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://highered.mcgraw-hill.com/olcweb/styles/v1/purple/head_online.gif

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

------=_NextPart_000_0020_01CC7EBF.47D58290
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://highered.mcgraw-hill.com/olcweb/styles/v1/purple/head_learning_ctr.gif

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
Ow==

------=_NextPart_000_0020_01CC7EBF.47D58290
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://highered.mcgraw-hill.com/olcweb/styles/shared/spacer.gif

R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0020_01CC7EBF.47D58290
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://highered.mcgraw-hill.com/olcweb/styles/v1/purple/dot.gif

R0lGODlhDwALAKIAAP///5mZmZqamoiIiKWlpby8vJSUlAAAACH5BAEAAAcALAAAAAAPAAsAAAMn
eLrc/nCYAVcQRYQaCPjE5gzCZwpUYxTmVxhj2aJPZ4YcplWKlDIJADs=

------=_NextPart_000_0020_01CC7EBF.47D58290
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://highered.mcgraw-hill.com/sites/dl/free/007241497x/title/walker_sm1.jpg

/9j/4AAQSkZJRgABAgEBLAEsAAD/7RWUUGhvdG9zaG9wIDMuMAA4QklNBAQHQ2FwdGlvbgAAAHwc
AgAAAgACHAJ4AFBUaGUgUG9saWNlIEluIEFtZXJpY2E6IEFuIEludHJvZHVjdGlvbg1XYWxrZXIs
IEthdHoNNGUNMjAwMg1FdXJvc3RpbGUNMDA3MjQxNDkxWBwCaQANRGFtaWFuIE1vc2hhaxwCKAAJ
UE1TID0gNTQxOEJJTQPpClByaW50IEluZm8AAAAAeAADAAAASABIAAAAAALYAij/4f/iAvkCRgNH
BSgD/AACAAAASABIAAAAAALYAigAAQAAAGQAAAABAAMDAwAAAAEnDwABAAEAAAAAAAAAAAAAAABg
CAAZAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhCSU0D7QpSZXNvbHV0aW9uAAAA
ABABLAAAAAEAAQEsAAAAAQABOEJJTQQNGEZYIEdsb2JhbCBMaWdodGluZyBBbmdsZQAAAAAEAAAA
HjhCSU0EGRJGWCBHbG9iYWwgQWx0aXR1ZGUAAAAABAAAAB44QklNA/MLUHJpbnQgRmxhZ3MAAAAJ
AAAAAAAAAAABADhCSU0ECg5Db3B5cmlnaHQgRmxhZwAAAAABAAA4QklNJxAUSmFwYW5lc2UgUHJp
bnQgRmxhZ3MAAAAACgABAAAAAAAAAAI4QklNA/UXQ29sb3IgSGFsZnRvbmUgU2V0dGluZ3MAAABI
AC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUA
AAABAC0AAAAGAAAAAAABOEJJTQP4F0NvbG9yIFRyYW5zZmVyIFNldHRpbmdzAAAAcAAA////////
/////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////
////////////////////A+gAAAAA/////////////////////////////wPoAAA4QklNBAgGR3Vp
ZGVzAAAAABAAAAABAAACQAAAAkAAAAAAOEJJTQQeDVVSTCBvdmVycmlkZXMAAAAEAAAAADhCSU0E
GgZTbGljZXMAAAAAcwAAAAYAAAAAAAAAAAAAAIAAAABkAAAACQB3AGEAbABrAGUAcgBfAGwAZwAA
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
QQBkAG8AYgBlACAAUABoAG8AdABvAHMAaABvAHAAIAA2AC4AMAAAAAEAOEJJTQQGDEpQRUcgUXVh
bGl0eQAAAAAHAAYAAAABAQD/7gAOQWRvYmUAZEAAAAAB/9sAhAACAgICAgICAgICAwICAgMEAwIC
AwQFBAQEBAQFBgUFBQUFBQYGBwcIBwcGCQkKCgkJDAwMDAwMDAwMDAwMDAwMAQMDAwUEBQkGBgkN
CgkKDQ8ODg4ODw8MDAwMDA8PDAwMDAwMDwwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAAR
CACAAGQDAREAAhEBAxEB/90ABAAN/8QBogAAAAcBAQEBAQAAAAAAAAAABAUDAgYBAAcICQoLAQAC
AgMBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAIBAwMCBAIGBwMEAgYCcwECAxEEAAUhEjFBUQYT
YSJxgRQykaEHFbFCI8FS0eEzFmLwJHKC8SVDNFOSorJjc8I1RCeTo7M2F1RkdMPS4ggmgwkKGBmE
lEVGpLRW01UoGvLj88TU5PRldYWVpbXF1eX1ZnaGlqa2xtbm9jdHV2d3h5ent8fX5/c4SFhoeIiY
qLjI2Oj4KTlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+hEAAgIBAgMFBQQFBgQIAwNtAQACEQME
IRIxQQVRE2EiBnGBkTKhsfAUwdHhI0IVUmJy8TMkNEOCFpJTJaJjssIHc9I14kSDF1STCAkKGBkm
NkUaJ2R0VTfyo7PDKCnT4/OElKS0xNTk9GV1hZWltcXV5fVGVmZ2hpamtsbW5vZHV2d3h5ent8fX
5/c4SFhoeIiYqLjI2Oj4OUlZaXmJmam5ydnp+So6SlpqeoqaqrrK2ur6/9oADAMBAAIRAxEAPwD6
5aB5e/LvQvy5/Lq9uvy98t3rX2h6aJ+dnp8UpP1JHZ19ZFDknbqNzhAJVP8AQbP8n9Zs3ubnyZ5S
0aVZ3hWyurXTfVIWgDEBKfFXahOHgPchmh/Lv8txGZT5F8tCILzMn6Ms+PGla19KlKZFLG20z8iE
ZlbT/ISspoymLSwQfAimS8OXcVTmw8k/lTqsH1nTPKXlPUbavH6xa2FjMlR25JGRXAQRzV1p5K/K
jUGlWw8peU71oCBOtvYWMhQmoHILGadD1xIIVFv+XX5cRo8knkTy3HHGpaSRtLswqgbkkmLYDAqG
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

------=_NextPart_000_0020_01CC7EBF.47D58290
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://highered.mcgraw-hill.com/olcweb/styles/v1/purple/copyright.gif

R0lGODlhCAAIAIABAAAAAAAAACH5BAEAAAEALAAAAAAIAAgAAAIQTIBgt6yHIFvxmQiVbja9AgA7

------=_NextPart_000_0020_01CC7EBF.47D58290
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://highered.mcgraw-hill.com/olcweb/styles/v1/purple/bg.gif

R0lGODlhEAAQAIAAAGYzmQAAACH5BAAAAAAALAAAAAAQABAAAAIOhI+py+0Po5y02ouzPgUAOw==

------=_NextPart_000_0020_01CC7EBF.47D58290
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://highered.mcgraw-hill.com/olcweb/styles/v1/purple/css.css

A {
	TEXT-DECORATION: none
}
A:hover {
	TEXT-DECORATION: underline
}
A.hint {
	COLOR: #999999; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
A.nav {
	COLOR: #ffffff; FONT-SIZE: 10px; FONT-WEIGHT: bold; TEXT-DECORATION: =
none
}
A.navCur {
	COLOR: #ffff00; FONT-SIZE: 10px; FONT-WEIGHT: bold; TEXT-DECORATION: =
none
}
BODY {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
TABLE {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
TR {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
TD {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
TD.helptitle {
	FONT-FAMILY: verdana, sans-serif; COLOR: #000000; FONT-SIZE: 18px
}
TD.qnum {
	PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: verdana, =
sans-serif; COLOR: #ffffff; FONT-SIZE: 20px; FONT-WEIGHT: bold
}
TD.feedback {
	FONT-FAMILY: verdana, sans-serif; COLOR: #000000; FONT-SIZE: 12px; =
FONT-WEIGHT: bold
}
TD.grade {
	PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: verdana, =
sans-serif; COLOR: #ffffff; FONT-SIZE: 12px; FONT-WEIGHT: bold
}
DIV {
	FONT-FAMILY: verdana, arial, helvetica; FONT-SIZE: 12px; FONT-WEIGHT: =
bold
}
DIV.booktitle {
	FONT-FAMILY: verdana, arial, helvetica; FONT-SIZE: 12px; FONT-WEIGHT: =
bold
}
DIV.author {
	FONT-FAMILY: verdana, arial, helvetica
}
DIV.pagehead {
	FONT-FAMILY: verdana, arial, helvetica; COLOR: #000000; FONT-SIZE: =
13px; FONT-WEIGHT: bold
}
DIV.qnum {
	PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: verdana, =
sans-serif; COLOR: #ffffff; FONT-SIZE: 20px; FONT-WEIGHT: bold
}
P {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
UL {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
OL {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
LI {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
INPUT {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
TEXTAREA {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
SELECT {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
H1 {
	PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-FAMILY: verdana, sans-serif; COLOR: #000000; FONT-SIZE: 20px; =
FONT-WEIGHT: bold; PADDING-TOP: 5px
}
H2 {
	PADDING-BOTTOM: 3px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-FAMILY: verdana, sans-serif; COLOR: #000000; FONT-SIZE: 18px; =
FONT-WEIGHT: bold; PADDING-TOP: 2px
}
H3 {
	PADDING-BOTTOM: 3px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-FAMILY: verdana, sans-serif; COLOR: #000000; FONT-SIZE: 16px; =
FONT-WEIGHT: bold; PADDING-TOP: 2px
}
H4 {
	PADDING-BOTTOM: 3px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-FAMILY: verdana, sans-serif; COLOR: #000000; FONT-SIZE: 14px; =
FONT-WEIGHT: bold; PADDING-TOP: 0px
}
H5 {
	PADDING-BOTTOM: 3px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
H6 {
	PADDING-BOTTOM: 3px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-WEIGHT: bold; PADDING-TOP: 0px
}
HR.nav {
	COLOR: #ffffff
}
A {
	TEXT-DECORATION: none
}
A:hover {
	TEXT-DECORATION: underline
}
A.hint {
	COLOR: #999999; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
A.nav {
	COLOR: #ffffff; FONT-SIZE: 10px; FONT-WEIGHT: bold; TEXT-DECORATION: =
none
}
A.navCur {
	COLOR: #ffff00; FONT-SIZE: 10px; FONT-WEIGHT: bold; TEXT-DECORATION: =
none
}
BODY {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
TABLE {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
TR {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
TD {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
TD.helptitle {
	FONT-FAMILY: verdana, sans-serif; COLOR: #000000; FONT-SIZE: 18px
}
TD.qnum {
	PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: verdana, =
sans-serif; COLOR: #ffffff; FONT-SIZE: 20px; FONT-WEIGHT: bold
}
TD.feedback {
	FONT-FAMILY: verdana, sans-serif; COLOR: #000000; FONT-SIZE: 12px; =
FONT-WEIGHT: bold
}
TD.grade {
	PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: verdana, =
sans-serif; COLOR: #ffffff; FONT-SIZE: 12px; FONT-WEIGHT: bold
}
DIV {
	FONT-FAMILY: verdana, arial, helvetica; FONT-SIZE: 12px; FONT-WEIGHT: =
bold
}
DIV.booktitle {
	FONT-FAMILY: verdana, arial, helvetica; FONT-SIZE: 12px; FONT-WEIGHT: =
bold
}
DIV.author {
	FONT-FAMILY: verdana, arial, helvetica
}
DIV.pagehead {
	FONT-FAMILY: verdana, arial, helvetica; COLOR: #000000; FONT-SIZE: =
13px; FONT-WEIGHT: bold
}
DIV.qnum {
	PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: verdana, =
sans-serif; COLOR: #ffffff; FONT-SIZE: 20px; FONT-WEIGHT: bold
}
P {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
UL {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
OL {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
LI {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
INPUT {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
TEXTAREA {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
SELECT {
	FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 12px
}
H1 {
	PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-FAMILY: verdana, sans-serif; COLOR: #000000; FONT-SIZE: 20px; =
FONT-WEIGHT: bold; PADDING-TOP: 5px
}
H2 {
	PADDING-BOTTOM: 3px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-FAMILY: verdana, sans-serif; COLOR: #000000; FONT-SIZE: 18px; =
FONT-WEIGHT: bold; PADDING-TOP: 2px
}
H3 {
	PADDING-BOTTOM: 3px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-FAMILY: verdana, sans-serif; COLOR: #000000; FONT-SIZE: 16px; =
FONT-WEIGHT: bold; PADDING-TOP: 2px
}
H4 {
	PADDING-BOTTOM: 3px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-FAMILY: verdana, sans-serif; COLOR: #000000; FONT-SIZE: 14px; =
FONT-WEIGHT: bold; PADDING-TOP: 0px
}
H5 {
	PADDING-BOTTOM: 3px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
H6 {
	PADDING-BOTTOM: 3px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-WEIGHT: bold; PADDING-TOP: 0px
}
FONT.nav {
	COLOR: #ffffff; FONT-SIZE: 10px; FONT-WEIGHT: bold; TEXT-DECORATION: =
none
}
HR.nav {
	COLOR: #ffffff; FONT-SIZE: 10px; FONT-WEIGHT: bold; TEXT-DECORATION: =
none
}
.nav {
	COLOR: #ffffff; FONT-SIZE: 10px; FONT-WEIGHT: bold; TEXT-DECORATION: =
none
}
.navCur {
	COLOR: #ffff00; FONT-SIZE: 10px; FONT-WEIGHT: bold; TEXT-DECORATION: =
none
}
.subnav {
	COLOR: #ffffff; FONT-SIZE: 10px; FONT-WEIGHT: bold; TEXT-DECORATION: =
none
}
.subnavCur {
	COLOR: #ffff00; FONT-SIZE: 10px; FONT-WEIGHT: bold; TEXT-DECORATION: =
none
}
.navCur:hover {
	COLOR: #ffff00
}
.nav:hover {
	COLOR: #ffff00
}
.subnav:hover {
	COLOR: #ffff00
}
.navText {
	FONT-FAMILY: verdana, arial, helvetica; COLOR: #ffffff; FONT-SIZE: =
12px; FONT-WEIGHT: bold
}
.navView {
	FONT-FAMILY: verdana, arial, helvetica; COLOR: #ffffff; FONT-SIZE: =
12px; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.navView:hover {
	COLOR: #ffff00
}
.copyright {
	FONT-FAMILY: verdana, arial, helvetica; FONT-SIZE: 10px
}
.TOC1 {
	PADDING-LEFT: 0px; COLOR: #000000; FONT-SIZE: 12px; FONT-WEIGHT: bold; =
TEXT-DECORATION: none
}
.TOC2 {
	PADDING-LEFT: 30px; COLOR: #333333; FONT-SIZE: 12px; FONT-WEIGHT: bold; =
TEXT-DECORATION: none
}
.TOC3 {
	PADDING-LEFT: 60px; COLOR: #666666; FONT-SIZE: 12px; FONT-WEIGHT: bold; =
TEXT-DECORATION: none
}
.TOC4 {
	PADDING-LEFT: 90px; COLOR: #666666; FONT-SIZE: 12px; TEXT-DECORATION: =
none
}
.TOC5 {
	PADDING-LEFT: 120px; COLOR: #666666; FONT-SIZE: 12px; TEXT-DECORATION: =
none
}
.displaylink {
	FONT-STYLE: italic; COLOR: #999999; FONT-SIZE: 10px; TEXT-DECORATION: =
none
}
SELECT.navBig {
	FONT-FAMILY: verdana, arial, helvetica; FONT-SIZE: 12px
}
SELECT.navMedium {
	FONT-FAMILY: verdana, arial, helvetica; FONT-SIZE: 11px
}
SELECT.navSmall {
	FONT-FAMILY: verdana, arial, helvetica; FONT-SIZE: 10px
}
SELECT.navTiny {
	FONT-FAMILY: verdana, arial, helvetica; FONT-SIZE: 9px
}
SELECT.navBig {
	FONT-FAMILY: verdana, arial, helvetica; FONT-SIZE: 12px
}
SELECT.navMedium {
	FONT-FAMILY: verdana, arial, helvetica; FONT-SIZE: 11px
}
SELECT.navSmall {
	FONT-FAMILY: verdana, arial, helvetica; FONT-SIZE: 10px
}
SELECT.navTiny {
	FONT-FAMILY: verdana, arial, helvetica; FONT-SIZE: 9px
}

------=_NextPart_000_0020_01CC7EBF.47D58290
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://highered.mcgraw-hill.com/olcweb/styles/shared/v1_functions.js

/*=0A=
=0A=
 * $Source: /web/cvs/olc/webapp/styles/shared/v1_functions.js,v $=0A=
 * $Revision: 1.11 $=0A=
 * $Author: mathews $=0A=
 * $Date: 2010/02/23 08:33:01 $=0A=
 *=0A=
 * Copyright 2002 The McGraw-Hill Companies. All Rights Reserved=0A=
 * Revision history omitted from clientside files; check CVS log instead=0A=
*/=0A=
=0A=
/* =0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
   Scripts used by all 2002 styles=0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
*/=0A=
=0A=
var loggedIn =3D 0;=0A=
=0A=
/* =0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
   New for SMS integration=0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
*/=0A=
=0A=
function showAlerts() {=0A=
	// New alert system for eRights=0A=
	if (getQueryVal('SMS_ERRNO') > 0) {=0A=
		// there was an error; find out what it was:=0A=
		var errorMessage =3D "";=0A=
		if (getQueryVal('SMS_SERVICE') =3D=3D "0") {=0A=
			// login=0A=
			if (getQueryVal('SMS_ERRNO') =3D=3D "1") {=0A=
				errorMessage =3D "The username and password you entered were not =
correct.";=0A=
			} else if (getQueryVal('SMS_ERRNO') =3D=3D "2") {=0A=
				errorMessage =3D "The account you selected is already logged in.";=0A=
			} else if (getQueryVal('SMS_ERRNO') =3D=3D "3") {=0A=
				errorMessage =3D "There was an unrecoverable error during login.";=0A=
			} else if (getQueryVal('SMS_ERRNO') =3D=3D "4") {=0A=
				errorMessage =3D "This username and password are not valid for the =
current site.";=0A=
			} else if (getQueryVal('SMS_ERRNO') =3D=3D "5") {=0A=
				errorMessage =3D "The username doesn't match the current site.";=0A=
			}=0A=
		} else if (getQueryVal('SMS_SERVICE' =3D=3D "1")) {=0A=
			// edit prefs=0A=
			if (getQueryVal('SMS_ERRNO') =3D=3D "1") {=0A=
				errorMessage =3D "You are not logged in.";=0A=
			} else if (getQueryVal('SMS_ERRNO') =3D=3D "2") {=0A=
				errorMessage =3D "There was an unrecoverable error while trying to =
save your preferences.";=0A=
			}=0A=
		}=0A=
		if (errorMessage =3D=3D "") {=0A=
			errorMessage =3D "There was an unexpected error: SERVICE=3D'" + =
getQueryVal('SMS_SERVICE') + "', ERRNO=3D'" + getQueryVal('SMS_ERRNO') + =
"'.";=0A=
		}=0A=
		alert(errorMessage);=0A=
	}=0A=
	=0A=
}=0A=
=0A=
=0A=
function readPrefs(isbn) {=0A=
	// reads the prefs cookie and plugs the data into the mailform, if =
present.=0A=
	// This function was called "getCookie" in previous versions.=0A=
	=0A=
	var cookieName =3D getCookie("OLCGroup") ? "OLCGroup" : "OLC"+isbn ;=0A=
	if (cookieName !=3D "") {=0A=
		if (document.forms.frmMail) {=0A=
			var f =3D document.forms.frmMail;=0A=
			var mergedNames =3D"";=0A=
			=0A=
			if(getCookieVal(cookieName,"firstName") !=3D ""){=0A=
			mergedNames =3D getCookieVal(cookieName,"firstName")+" ";=0A=
			}=0A=
			=0A=
			if(getCookieVal(cookieName,"MI") !=3D ""){=0A=
			mergedNames =3D mergedNames+getCookieVal(cookieName,"MI") + " ";=0A=
			}=0A=
			if(getCookieVal(cookieName,"lastName") !=3D ""){=0A=
			mergedNames =3D mergedNames+getCookieVal(cookieName,"lastName");=0A=
			}=0A=
			=0A=
			if(f.txtName !=3D undefined){f.txtName.value =3D mergedNames;}=0A=
			if(f.txtMyEmailId !=3D undefined){f.txtMyEmailId.value =3D =
getCookieVal(cookieName,"myEmail");}=0A=
			if(f.cboMyOption !=3D undefined){f.cboMyOption.selectedIndex =3D =
getCookieVal(cookieName,"myStyle");}=0A=
			if(f.txtInstEmailId !=3D undefined){f.txtInstEmailId.value =3D =
getCookieVal(cookieName,"profEmail");}=0A=
			if(f.cboInstOption !=3D undefined){f.cboInstOption.selectedIndex =3D =
getCookieVal(cookieName,"profStyle");}=0A=
			if(f.txtTAEmailId !=3D undefined){f.txtTAEmailId.value =3D =
getCookieVal(cookieName,"taEmail");}=0A=
			if(f.cboTAOption !=3D undefined){f.cboTAOption.selectedIndex =3D =
getCookieVal(cookieName,"taStyle");}=0A=
			if(f.txtOtherEmailId !=3D undefined){f.txtOtherEmailId.value =3D =
getCookieVal(cookieName,"otherEmail");}=0A=
			if(f.cboOtherOption !=3D undefined){f.cboOtherOption.selectedIndex =
=3D getCookieVal(cookieName,"otherStyle");}=0A=
		}=0A=
	}=0A=
	eatCookies(isbn); // squeezing this in here for now...=0A=
}=0A=
=0A=
function eatCookies(isbn) {=0A=
	// check to see if there are too many cookies on this domain; if so, =
eat some.=0A=
	var allCookies =3D document.cookie.split("; ");=0A=
	if (allCookies.length > 17) {=0A=
		var theUrl =3D "/olcweb/styles/shared/eatcookies.html?" + isbn;=0A=
		=
window.open(theUrl,"eatCookies","width=3D300,height=3D400,resizable,scrol=
lbars");=0A=
	}=0A=
}=0A=
=0A=
function checkLoginStatus(isbn) {=0A=
	var cookieName =3D getCookie("OLCGroup") ? "OLCGroup" : "OLC"+isbn ;=0A=
	if (getCookie(cookieName)) {=0A=
		if (getCookie(cookieName) =3D=3D "expire") {=0A=
			return false;=0A=
		} else {=0A=
			return true;=0A=
		}=0A=
	} else {=0A=
		return false;=0A=
	}=0A=
}=0A=
=0A=
function instructorViewLink(isbn) {=0A=
	// wantsProf is the desired isProf value.=0A=
	// These urls are absolute, because there's no way to tell from where =
in the site=0A=
	// the user is linking.=0A=
	=0A=
	// NOTE:  this function is not being used, because at the last minute =
some idiot=0A=
	// decided he wanted to have unprotected instructor atoms.  Which is =
stupid, but so it goes.=0A=
	// I have a sneaking suspicion we will be bringing this back before too =
long...=0A=
	=0A=
	=0A=
	var cookieName =3D getCookie("OLCGroup") ? "OLCGroup" : "OLC"+isbn ;=0A=
	var theUrl =3D "";=0A=
	=0A=
	if (getCookieVal(cookieName,"isProf") =3D=3D 1) {=0A=
		// logged in instructors=0A=
		theUrl =3D "/sites/" + isbn + "/instructor_view0/index.html";=0A=
	} else {=0A=
		// students or non-logged-in users=0A=
		theUrl =3D "/sites/" + isbn + "/instructorlogin.html";=0A=
	}=0A=
	=0A=
	// Directly setting the href fails in some browsers, but using=0A=
	// window.setTimeout works fine. Go figure.=0A=
	window.setTimeout("window.location.href=3D'"+theUrl+"';",100);=0A=
}=0A=
=0A=
=0A=
=0A=
/* =0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
   Glossary=0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
*/=0A=
=0A=
=0A=
function initGlossaryLayers() {=0A=
	if (document.layers) {=0A=
		for (strLayer in document.layers) {=0A=
			if (strLayer.indexOf("glossarylayer") > -1) {=0A=
				oLayer =3D eval("document.layers." + strLayer);=0A=
				oLayer.visibility=3D'hide';=0A=
			}=0A=
		}=0A=
	}=0A=
	if (document.all) {=0A=
		for (strDiv in document.all) {=0A=
			if (strDiv.indexOf("glossarylayer") > -1) {=0A=
				oDiv =3D eval("document.all." + strDiv);=0A=
				oDiv.style.visibility=3D'hidden';=0A=
			}=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
/* =0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
   Old stuff=0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
*/=0A=
=0A=
=0A=
function newWindow() {=0A=
        newWindow=3Dwindow.open(' ', 'newWin', 'width=3D300, =
height=3D300')=0A=
        =
newWindow.document.write("<html><head></head><body>something</body></html=
>")=0A=
        newWindow.document.close()=0A=
}=0A=
=0A=
function onSurveyEmailSubmit(){=0A=
	var s1 =3D document.frmMail.txtName.value;=0A=
	var s2 =3D document.frmMail.txtMyEmailId.value;=0A=
	if(isEmpty(s1)) {=0A=
		alert("You must enter your name.");=0A=
	} else if(isEmpty(s2)) {=0A=
		alert("You must enter a valid eMail address.");=0A=
	} else if(!isEmail(s2)) {=0A=
		alert("You must enter a valid eMail address.");=0A=
	} else {=0A=
		document.frmMail.submit();=0A=
	}=0A=
}=0A=
=0A=
=0A=
function onPollEmailSubmit(){=0A=
	var f =3D document.forms.frmMail;=0A=
	var s1 =3D f.txtName.value;=0A=
	var s2 =3D f.txtMyEmailId.value;=0A=
	var s3 =3D f.txtInstEmailId.value;=0A=
	var s4 =3D f.txtTAEmailId.value;=0A=
	var s5 =3D f.txtOtherEmailId.value;=0A=
	var o1 =3D f.cboMyOption[f.cboMyOption.selectedIndex].value; =0A=
	var o2 =3D f.cboInstOption[f.cboInstOption.selectedIndex].value;=0A=
	var o3 =3D f.cboTAOption[f.cboTAOption.selectedIndex].value; =0A=
	var o4 =3D f.cboOtherOption[f.cboOtherOption.selectedIndex].value; =0A=
		=0A=
	if (checkFields()){=0A=
	      document.frmMail.submit();=0A=
=0A=
	/*=0A=
		var URL =3D "/novella/PollMailServlet?";=0A=
		if (!isEmpty(s1)) URL +=3D "&nm=3D"+s1;=0A=
		if (!isEmpty(s2)) {URL +=3D "&a1=3D"+s2+"&o1=3D"+o1;};=0A=
		if (!isEmpty(s3)) {URL +=3D "&a2=3D"+s3+"&o2=3D"+o2;};=0A=
		if (!isEmpty(s4)) {URL +=3D "&a3=3D"+s4+"&o3=3D"+o3;};=0A=
		if (!isEmpty(s5)) {URL +=3D "&a4=3D"+s5+"&o4=3D"+o4;};=0A=
			=0A=
		URL +=3D"&GXHC_gx_session_id_=3D" + f.sessionId.value;=0A=
		=
window.open(URL,'popup','toolbar=3Dno,scrollbar=3Dno,width=3D300,height=3D=
100');=0A=
	*/	=0A=
	}=0A=
}=0A=
=0A=
	=0A=
=0A=
=0A=
function onEmailSubmit(){=0A=
	var f =3D document.forms.frmMail;=0A=
	var se =3D convertSpaces(f.sectionid.value);=0A=
	var s1 =3D convertSpaces(f.txtName.value);=0A=
	var s2 =3D f.txtMyEmailId.value;=0A=
	var s3 =3D f.txtInstEmailId.value;=0A=
	var s4 =3D f.txtTAEmailId.value;=0A=
	var s5 =3D f.txtOtherEmailId.value;=0A=
	var o1 =3D f.cboMyOption[f.cboMyOption.selectedIndex].value; =0A=
	var o2 =3D f.cboInstOption[f.cboInstOption.selectedIndex].value;=0A=
	var o3 =3D f.cboTAOption[f.cboTAOption.selectedIndex].value; =0A=
	var o4 =3D f.cboOtherOption[f.cboOtherOption.selectedIndex].value; =0A=
	//quizResults and mixedQuizResults XSL using 0 and 1 as values, convert =
for sending email=0A=
	if(o1 =3D=3D "0"){o1 =3D "text";}else if(o1 =3D=3D "1"){o1 =3D "html";}=0A=
	if(o2 =3D=3D "0"){o2 =3D "text";}else if(o2 =3D=3D "1"){o2 =3D "html";}=0A=
	if(o3 =3D=3D "0"){o3 =3D "text";}else if(o3 =3D=3D "1"){o3 =3D "html";}=0A=
	if(o4 =3D=3D "0"){o4 =3D "text";}else if(o4 =3D=3D "1"){o4 =3D "html";}=0A=
	=0A=
	var qType =3D 0;=0A=
=0A=
	for(i=3D0; i<this.document.forms.length; i++){=0A=
		var ff =3D this.document.forms[i];=0A=
		var eL =3D ff.elements.length;=0A=
		for(j=3D0; j<eL; j++){=0A=
			var eN =3D ff.elements[j].name;=0A=
			if (eN =3D=3D "TypeOfQuiz"){=0A=
				qType =3D ff.elements[j].value;=0A=
				break;=0A=
			}=0A=
		}	=0A=
	}	=0A=
		=0A=
	if (checkFields()){=0A=
		var URL =3D "/novella/MailServlet?";=0A=
		if (!isEmpty(se)) URL +=3D "&sectionid=3D"+se;=0A=
		if (!isEmpty(s1)) URL +=3D "&studentName=3D"+s1;=0A=
		if (!isEmpty(s2)) {URL +=3D =
"&studentEmail=3D"+s2+"&studentEmailFormat=3D"+o1;};=0A=
		if (!isEmpty(s3)) {URL +=3D =
"&instructorEmail=3D"+s3+"&instructorEmailFormat=3D"+o2;};=0A=
		if (!isEmpty(s4)) {URL +=3D "&taEmail=3D"+s4+"&taEmailFormat=3D"+o3;};=0A=
		if (!isEmpty(s5)) {URL +=3D =
"&otherEmail=3D"+s5+"&otherEmailFormat=3D"+o4;};=0A=
		=0A=
		if (qType =3D=3D 5){=0A=
			f.action =3D URL;=0A=
			f.target =3D "_new";=0A=
			f.submit();=0A=
		}=0A=
		else {=0A=
			=
window.open(URL,'popup','toolbar=3Dno,scrollbar=3Dno,width=3D300,height=3D=
100');=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
=0A=
function convertSpaces(str) {=0A=
=0A=
var out =3D "",flag=3D0;=0A=
for (i =3D 0; i < str.length; i++) {=0A=
=0A=
        if (str.charAt(i) !=3D " ") {=0A=
                out +=3D str.charAt(i);=0A=
        }=0A=
        else{=0A=
                out +=3D "%20";=0A=
        }=0A=
}=0A=
return out;=0A=
=0A=
}=0A=
=0A=
function checkFields(){=0A=
	var f =3D document.forms.frmMail;=0A=
	var strRequired =3D "";=0A=
	var strEmailError =3D "";=0A=
	var s1 =3D f.txtName.value;=0A=
	var s2 =3D f.txtMyEmailId.value;=0A=
	var s3 =3D f.txtInstEmailId.value;=0A=
	var s4 =3D f.txtTAEmailId.value;=0A=
	var s5 =3D f.txtOtherEmailId.value;=0A=
	=0A=
	if (isEmpty(s1)){=0A=
		strRequired =3D strRequired + "MYNAME";=0A=
		f.txtName.focus();=0A=
	}=0A=
	else if (isEmpty(s2)){=0A=
		strRequired =3D strRequired + "MYEMAILID";=0A=
		f.txtMyEmailId.focus();=0A=
	}=0A=
	else if (!isEmail(s2)){=0A=
		strEmailError +=3D "YOUREMAILID";=0A=
		f.txtMyEmailId.focus();=0A=
	}=0A=
	else if (!isEmpty(s3) && !isEmail(s3)){=0A=
		strEmailError +=3D "INSTEMAILID";=0A=
		f.txtInstEmailId.focus();=0A=
	}=0A=
	else if (!isEmpty(s4) && !isEmail(s4)){=0A=
		strEmailError +=3D "TAEMAILID";=0A=
		f.txtTAEmailId.focus();=0A=
	}=0A=
	else if (!isEmpty(s5) && !isEmail(s5)){=0A=
		strEmailError +=3D "OTHEREMAILID";=0A=
		f.txtOtherEmailId.focus();=0A=
	}=0A=
	if (!isEmpty(strRequired)){=0A=
		alert("Please enter your name and email address.");=0A=
		return false;=0A=
	}=0A=
	else if(!isEmpty(strEmailError)){=0A=
		alert("Please enter a correct email address.");=0A=
		return false;=0A=
	}=0A=
	else return true;=0A=
}=0A=
=0A=
function isEmpty(s){   =0A=
	return ((s =3D=3D null) || (s.length =3D=3D 0))=0A=
}=0A=
function isEmail (s){   =0A=
    if (isWhitespace(s)) return false;=0A=
    var i =3D 1;=0A=
    var sLength =3D s.length;=0A=
    while ((i < sLength) && (s.charAt(i) !=3D "@")){ =0A=
        i++=0A=
    }=0A=
    if ((i >=3D sLength) || (s.charAt(i) !=3D "@")) return false;=0A=
    else i +=3D 2;=0A=
    while ((i < sLength) && (s.charAt(i) !=3D ".")){ =0A=
        i++=0A=
    }=0A=
    if ((i >=3D sLength - 1) || (s.charAt(i) !=3D ".")) return false;=0A=
    else return true;=0A=
}=0A=
function isWhitespace (s){   =0A=
    var whitespace =3D " \t\n\r";=0A=
    var i;=0A=
    if (isEmpty(s)) return true;=0A=
    for (i =3D 0; i < s.length; i++){   =0A=
        var c =3D s.charAt(i);=0A=
        if (whitespace.indexOf(c) =3D=3D -1) return false;=0A=
    }=0A=
    return true;=0A=
=0A=
}=0A=
=0A=

------=_NextPart_000_0020_01CC7EBF.47D58290
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://highered.mcgraw-hill.com/olcweb/styles/shared/common.js

/* =0A=
<!-- =0A=
 * $Source: /web/cvs/olc/webapp/styles/shared/common.js,v $=0A=
 * $Revision: 1.20 $=0A=
 * $Author: mathews $=0A=
 * $Date: 2007/07/23 12:31:15 $=0A=
 * =0A=
 * Copyright 2002 The McGraw-Hill Companies.  All Rights Reserved=0A=
 *=0A=
 * REVISION HISTORY =0A=
 * =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A=
 * NOTE: CVS automatically inserts check-in comments below.  Add =
manually only if reqd.=0A=
 *=0A=
 * $Log: common.js,v $=0A=
 * Revision 1.20  2007/07/23 12:31:15  mathews=0A=
 * Bug 277:ResultReporter page is now returing the screen at the top of =
the page=0A=
 *=0A=
 * Revision 1.19  2007/07/20 16:15:44  mathews=0A=
 * Bug 276:Changed the order of emailing results to correct format.=0A=
 *=0A=
 * Revision 1.18  2007/07/06 12:41:02  mathews=0A=
 * fixed the Feedback issue: Feedback only shows if the student answers =
the question and there is feedback text which is not empty.=0A=
 *=0A=
 * Revision 1.17  2007/07/02 17:34:53  mathews=0A=
 * fixed bugs 270, 265.=0A=
 *=0A=
 * Revision 1.16  2007/06/28 09:25:42  mathews=0A=
 * changed the order the mail=0A=
 * changed Results Reporter to Results reporter=0A=
 *=0A=
 * Revision 1.15  2007/06/19 16:10:21  mathews=0A=
 * Changed display of Essay Quiz results from decimal values to Rounded =
Integer values. Hiding the display of Answer Label if the user doesnt =
answer the label.=0A=
 *=0A=
 * Revision 1.14  2007/05/29 14:27:10  apu=0A=
 * CSQG: Extending client side quiz grading feature for v2 core style=0A=
 *=0A=
 * Revision 1.13  2007/02/15 07:13:08  apu=0A=
 * fixes to round of percentages in results reporter and not showing =
correct answer tick mark for unanswered questions.=0A=
 *=0A=
 * Revision 1.12  2007/02/13 15:27:55  apu=0A=
 * Client side quiz grading:additional fixes for CSQG prototype=0A=
 *=0A=
 * Revision 1.10  2007/02/10 12:06:06  apu=0A=
 * Client side quiz grading: Essay quizzes text email changes done.=0A=
 *=0A=
 * Revision 1.9  2007/02/10 10:29:58  apu=0A=
 * Client side quiz grading: Essay quizzes hint link removed after quiz =
submission.=0A=
 *=0A=
 * Revision 1.8  2007/02/06 12:16:07  apu=0A=
 * Client Side Quiz Grading prototype: Feedback links removed after quiz =
submission.=0A=
 *=0A=
 * Revision 1.7  2007/01/25 07:18:07  apu=0A=
 * Client Side Quiz Grading prototye: removed alert and added script to =
hide "need a hint" link in Essay quiz results page.=0A=
 *=0A=
 * Revision 1.6  2007/01/18 13:31:03  apu=0A=
 * Client Side Quiz Grading Prototype: Added Javascript for TF,MR,MC & =
Essay grading, displaying the results and creating HTML and Text format =
mail messages.=0A=
 *=0A=
 * Revision 1.5  2004/09/07 15:56:56  akhost=0A=
 * Testing setLeft and showLayer functions now to make sure that the =
object is found before proceeding. Fixed for bug #2039, but this might =
help for other issues as well...=0A=
 *=0A=
 * Revision 1.4  2004/06/03 20:48:35  akhost=0A=
 * hideLayer now checks to see if the object style is null before =
changing the visibility and display values=0A=
 *=0A=
 * Revision 1.3  2004/03/02 21:48:17  daniel=0A=
 * added display attributes to showLayer and hideLayer=0A=
 *=0A=
 * Revision 1.2  2003/04/13 02:20:00  daniel=0A=
 * First version with new CVS structure; not yet fully tested=0A=
 *=0A=
 *=0A=
--> =0A=
*/=0A=
=0A=
/* =0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
   Generic DHTML scripts, reusable anywhere=0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
*/=0A=
=0A=
function getObj(name) {=0A=
	if (name) {=0A=
		if (document.getElementById) {=0A=
			if (document.getElementById(name)) {=0A=
				this.obj =3D document.getElementById(name);=0A=
				this.style =3D document.getElementById(name).style;=0A=
			} else {=0A=
				// no matching object found.  Do not display an error, because this =
may be on purpose.=0A=
				return false;=0A=
			}=0A=
		} else if (document.all) {=0A=
			this.obj =3D document.all[name];=0A=
			this.style =3D document.all[name].style;=0A=
		} else if (document.layers) {=0A=
			this.obj =3D document.layers[name];=0A=
			this.style =3D document.layers[name];=0A=
		} else {=0A=
			// no matching object found.  Do not display an error, because this =
may be on purpose.=0A=
			return false;=0A=
		}=0A=
		return this;=0A=
	}=0A=
}=0A=
=0A=
function getWindowWidth() {=0A=
	// how's this for a tangle of browser incompatibilities?=0A=
	if (document.body) {=0A=
		if ((typeof(document.body.clientWidth) !=3D "undefined") && =
(document.body.clientWidth !=3D 0)) {=0A=
			return document.body.clientWidth;=0A=
		} else {=0A=
			return window.innerWidth - 16;=0A=
		}=0A=
	} else {=0A=
		return window.innerWidth - 16;=0A=
	}=0A=
}=0A=
=0A=
function getTop(myName) {=0A=
	var myObj =3D new getObj(myName);=0A=
	if (myObj.style.pixelTop) {=0A=
		return Number(myObj.style.pixelTop);=0A=
	} else {=0A=
		var testPx =3D myObj.style.top;=0A=
		if (typeof myObj.style.top =3D=3D "string") {=0A=
			return =
Number(myObj.style.top.substring(0,myObj.style.top.indexOf("px")));=0A=
		} else {=0A=
			return Number(myObj.style.top);=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
function setTop(myName, i) {=0A=
	var myObj =3D new getObj(myName);=0A=
	if (myObj.style) {=0A=
		if (myObj.style.pixelTop) {=0A=
			myObj.style.pixelTop =3D i;=0A=
		} else {=0A=
			myObj.style.top =3D i;=0A=
		}=0A=
	} else {=0A=
		// error... invalid div?=0A=
	}=0A=
}=0A=
=0A=
function setLeft(myName, i) {=0A=
	var myObj =3D new getObj(myName);=0A=
	if(myObj.style !=3D null){=0A=
		if (myObj.style.pixelLeft) {=0A=
			myObj.style.pixelLeft =3D i;=0A=
		} else {=0A=
			myObj.style.left =3D i;=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
function showLayer(myName) {=0A=
	var myObj =3D new getObj(myName);=0A=
	if(myObj.style !=3D null){=0A=
		myObj.style.visibility=3D"visible";=0A=
		myObj.visibility=3D"visible";=0A=
		myObj.style.display=3D"inline";=0A=
	}=0A=
}=0A=
=0A=
function hideLayer(myName) {=0A=
	var myObj =3D new getObj(myName);=0A=
	if(myObj.style !=3D null){=0A=
		myObj.style.visibility=3D"hidden";=0A=
		myObj.style.display=3D"none";=0A=
	}=0A=
}=0A=
=0A=
function setZindex(myName, newZindex) {=0A=
	var myObj =3D new getObj(myName);=0A=
	if (myObj) {=0A=
		if (myObj.style.zIndex) {=0A=
			myObj.style.zIndex =3D newZindex;=0A=
		} =0A=
	}=0A=
}=0A=
=0A=
var mouseX=3D0;=0A=
var mouseY=3D0;=0A=
function getMouseLoc(e) {=0A=
	if (window.Event) { // Navigator 4.0x=0A=
		mouseX =3D e.pageX;=0A=
		mouseY =3D e.pageY;=0A=
	} else { // IE, NS6=0A=
		mouseX =3D (window.event.clientX + document.body.scrollLeft);=0A=
		mouseY =3D (window.event.clientY + document.body.scrollTop);=0A=
	}=0A=
}=0A=
if (window.Event) {document.captureEvents(Event.MOUSEDOWN)}=0A=
document.onmousedown =3D getMouseLoc;=0A=
=0A=
=0A=
/* =0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
   Generic cookie scripts, reusable anywhere=0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
*/=0A=
=0A=
function getCookie(cookieName) {=0A=
	var myCookie =3D document.cookie;=0A=
	var prefix =3D cookieName + "=3D";=0A=
	var begin =3D myCookie.indexOf("; " + prefix);=0A=
	if (begin =3D=3D -1) {=0A=
		begin =3D myCookie.indexOf(prefix);=0A=
		if (begin !=3D 0) return null;=0A=
	} else {=0A=
		begin +=3D 2;=0A=
	}=0A=
	=0A=
	var end =3D myCookie.indexOf(";",begin);=0A=
	if (end =3D=3D -1) end =3D myCookie.length;=0A=
	=0A=
	var returnString =3D unescape(myCookie.substring(begin + prefix.length, =
end));=0A=
	if (returnString) {=0A=
		return returnString;=0A=
	} else {=0A=
		return false;=0A=
	}=0A=
}=0A=
=0A=
function setCookie(cookieName, cookieValue) {=0A=
	var nextyear =3D new Date();=0A=
	nextyear.setFullYear(nextyear.getFullYear()+1);=0A=
	document.cookie =3D cookieName + "=3D" + escape(cookieValue) + "; =
path=3D/; expires=3D" + nextyear.toGMTString();=0A=
}=0A=
=0A=
function setSessionCookie(cookieName, cookieValue) {=0A=
	document.cookie =3D cookieName + "=3D" + escape(cookieValue) + "; =
path=3D/; ";=0A=
}=0A=
=0A=
function getCookieVal(cookieName, key) {=0A=
	// parses a pipe-separated list of key=3Dvalue pairs, returns the value =
of key or null=0A=
	if (getCookie(cookieName)) {=0A=
		var Array =3D getCookie(cookieName).split("\|");=0A=
		var testKey, testVal;=0A=
		for (var i =3D 0; i < Array.length; i++) {=0A=
			testKey =3D Array[i].substring(0,Array[i].indexOf("=3D"));=0A=
			if (testKey =3D=3D key) {=0A=
				=
return(Array[i].substring(Array[i].indexOf("=3D")+1,Array[i].length));=0A=
			}=0A=
		}=0A=
	}=0A=
	return "";=0A=
}=0A=
=0A=
function deleteCookie(cookieName) {=0A=
	var lastyear =3D new Date();=0A=
	lastyear.setFullYear(lastyear.getFullYear()-1);=0A=
	=0A=
	// First try deleting without specifying a domain:=0A=
	document.cookie =3D cookieName + "=3D''; value=3D''; path=3D/; =
expires=3D" + lastyear.toGMTString();=0A=
=0A=
	if (getCookie(cookieName)) {=0A=
		// that didn't work, try removing the subdomain:=0A=
		var theHost =3D location.host;=0A=
		var hostBits =3D theHost.split("\.");=0A=
		var shortHost =3D  "." + hostBits[hostBits.length-2] + "." + =
hostBits[hostBits.length-1];=0A=
		if (shortHost.indexOf(":") > -1) { =0A=
			shortHost =3D shortHost.substring(0,shortHost.indexOf(":"));=0A=
		}=0A=
		document.cookie =3D cookieName + "=3D''; value=3D''; domain=3D" + =
shortHost + "; path=3D/; expires=3D" + lastyear.toGMTString();=0A=
	}=0A=
}=0A=
=0A=
/* =0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
   Form field validation routines=0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
*/=0A=
=0A=
function isEmpty(s) {=0A=
	return ((s =3D=3D null) || (s.length =3D=3D 0))=0A=
}=0A=
=0A=
function isEmail(s) {=0A=
	if (isWhitespace(s)) return false;=0A=
	var i =3D 1;=0A=
	var sLength =3D s.length;=0A=
	while ((i < sLength) && (s.charAt(i) !=3D "@")){ =0A=
		i++=0A=
	}=0A=
	if ((i >=3D sLength) || (s.charAt(i) !=3D "@")) return false;=0A=
	else i +=3D 2;=0A=
	while ((i < sLength) && (s.charAt(i) !=3D ".")){ =0A=
		i++=0A=
	}=0A=
	if ((i >=3D sLength - 1) || (s.charAt(i) !=3D ".")) return false;=0A=
	else return true;=0A=
}=0A=
=0A=
function isWhitespace (s){   =0A=
	var whitespace =3D " \t\n\r";=0A=
	var i;=0A=
	if (isEmpty(s)) return true;=0A=
	for (i =3D 0; i < s.length; i++){   =0A=
		var c =3D s.charAt(i);=0A=
		if (whitespace.indexOf(c) =3D=3D -1) return false;=0A=
	}=0A=
	return true;=0A=
}=0A=
=0A=
function convertSpaces(str) {=0A=
	var out =3D "",flag=3D0;=0A=
	for (i =3D 0; i < str.length; i++) {=0A=
		if (str.charAt(i) !=3D " ") {=0A=
				out +=3D str.charAt(i);=0A=
		} else{=0A=
				out +=3D "%20";=0A=
		}=0A=
	}=0A=
	return out;=0A=
}=0A=
=0A=
=0A=
/* =0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
   Form focus and selection capture=0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
*/=0A=
=0A=
var focusedElement =3D "";	// handler so javascript can tell which form =
element is in focus=0A=
var selectedRange =3D "";=0A=
=0A=
function captureFocus(myElement) {=0A=
	// to get all browsers, must trigger this with all 3 of: onChange, =
onClick, onFocus=0A=
	focusedElement=3DmyElement;=0A=
	if (myElement.createTextRange) {=0A=
		selectedRange =3D document.selection.createRange();=0A=
	}=0A=
}=0A=
=0A=
function pushSelectedChar(theChar) {=0A=
	// pops the character onto the end of the last form element that =
triggered captureFocus=0A=
	// (or, in IE5, places it at the selectedRange instead)=0A=
	=0A=
	if (focusedElement) {=0A=
		if (selectedRange) {=0A=
			selectedRange.text =3D theChar;=0A=
		} else {=0A=
			focusedElement.value =3D focusedElement.value + theChar;=0A=
		}=0A=
	} else {=0A=
		alert("Please click inside the field you want to add this character =
to.");=0A=
	}=0A=
}=0A=
=0A=
=0A=
/* =0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
   Simplified browser sniffer. Growing more complex, though.=0A=
   =0A=
   Please avoid using this whenever possible: it's much better=0A=
   to do capability testing than version testing.  Currently, this is =
used for:=0A=
   - Drawer speed control (NS6 was way too slow)=0A=
   - Mouse location detection (IE5/Mac returns locations relative to the =
div, not the window)=0A=
   - Profile drawer (NS4 can't write profile data into the form)=0A=
   =0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
*/=0A=
=0A=
function BrowserIs () {=0A=
	var agt=3Dnavigator.userAgent.toLowerCase()=0A=
	this.agent =3D agt;=0A=
=0A=
	this.ns    =3D ((agt.indexOf('mozilla')!=3D-1) && =
((agt.indexOf('spoofer')=3D=3D-1) && (agt.indexOf('compatible') =3D=3D =
-1)));=0A=
	this.ie    =3D (agt.indexOf("msie") !=3D -1);=0A=
	this.opera =3D (agt.indexOf("opera") !=3D -1);=0A=
=0A=
	// Mozilla always claims to be version 5. Bastards. =0A=
	// The "real" version number is tucked away at the end of the string.=0A=
	if (this.ns && (parseInt(navigator.appVersion) =3D=3D 5)) {=0A=
	=0A=
		// not only that, but different versions seem to handle substring =
differently???=0A=
		var versionString =3D agt.substring(agt.indexOf('netscape')+9);=0A=
		if (versionString.indexOf('/') =3D=3D -1) {=0A=
			this.major =3D parseInt(versionString);=0A=
			this.minor =3D parseFloat(versionString);=0A=
		} else {=0A=
			this.major =3D parseInt(versionString.substring(1));=0A=
			this.minor =3D parseFloat(versionString.substring(1));=0A=
		}=0A=
	} else {=0A=
		this.major =3D parseInt(navigator.appVersion);=0A=
		this.minor =3D parseFloat(navigator.appVersion);=0A=
	}=0A=
=0A=
	this.win   =3D ( (agt.indexOf("win")!=3D-1) || =
(agt.indexOf("16bit")!=3D-1) )=0A=
	this.mac    =3D (agt.indexOf("mac")!=3D-1)=0A=
}=0A=
=0A=
var browserIs =3D new BrowserIs();=0A=
=0A=
=0A=
/* =0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
   Querystring routines=0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
*/=0A=
=0A=
function getQueryVal(arg) {=0A=
	// checks the querystring for an argument, returns its value=0A=
	var query =3D location.search.substring(1);=0A=
	var pairs =3D query.split("&");=0A=
	for (var i=3D0; i < pairs.length; i++) {=0A=
		var pos =3D pairs[i].indexOf('=3D');=0A=
		if (pos =3D=3D -1) continue;=0A=
		if (pairs[i].substring(0,pos) =3D=3D arg) {=0A=
			return pairs[i].substring(pos+1);=0A=
			break;=0A=
		}=0A=
	}=0A=
	return false;=0A=
}=0A=
=0A=
=0A=
/* =0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
   fix NS4 problem=0A=
   Use this from onChange handlers in layered form elements, so NS4 can =
access the data.=0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
*/=0A=
=0A=
function mirrorFormData(theForm,theField,theValue) {=0A=
	for (i=3D0;i<document.forms.length;i++) {=0A=
		if (document.forms[i].name =3D=3D theForm) {=0A=
			for (j=3D0; j<document.forms[i].elements.length;j++) {=0A=
				if (document.forms[i].elements[j].name =3D=3D theField) {=0A=
					document.forms[i].elements[j].value=3DtheValue;=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
/* =0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
  Client side TF Quiz grading prototype code.=0A=
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::=
:=0A=
*/=0A=
=0A=
var textMail =3D "";=0A=
var resultsText =3D "";=0A=
var correctAnswerCount=3D 0;=0A=
var inCorrectAnswerCount =3D 0;=0A=
var unansweredCount =3D 0;=0A=
=0A=
function decrypt(theText) {	=0A=
	//XOR decryption code for the feedback text and title =0A=
	var key =3D 150;//Hardcoded as of Now	=0A=
	var pos =3D theText.indexOf(""+key);=0A=
	if(pos > 0){=0A=
		theText =3D theText.substring(0,pos);=0A=
		//alert("Removed key: "+ theText);=0A=
	}	=0A=
	var length =3D theText.length;=0A=
	output =3D "";=0A=
	var temp =3D "";=0A=
	for (i =3D 0; i < length; i++) {=0A=
		temp =3D((theText.charCodeAt(i) ^ key));=0A=
		output +=3D String.fromCharCode(temp);=0A=
	}	=0A=
	//alert(output);=0A=
	return output;=0A=
}=0A=
=0A=
//*******************************************************************=0A=
//Quiz parameter objects=0A=
function makeQuestionObject(questionId,questionTitle,questionText){=0A=
=0A=
	this.questionId =3D questionId;=0A=
	this.questionTitle =3D questionTitle;=0A=
	this.questionText =3D questionText;=0A=
=0A=
}=0A=
=0A=
function makeAnswerObject(answerId,answerText){=0A=
=0A=
	this.answerId =3D answerId;=0A=
	this.answerText =3D answerText;=0A=
	=0A=
}=0A=
//*******************************************************************=0A=
=0A=
=0A=
function gradeQuizTest(QuestionObjArray){	=0A=
=0A=
	var user_answers =3D =
createUserAnswerChoicesArray((QuestionObjArray.length));	=0A=
	//unansweredCount =3D (QuestionObjArray.length-1) - user_answers.length;=0A=
	=0A=
	for(var i =3D 1;i < QuestionObjArray.length; i++ ){=0A=
		=0A=
		var question =3D QuestionObjArray[i];=0A=
		var answerObjArray =3D question.answerObjectsArray;	=0A=
		=0A=
		//alert("Answer Objects Array "+ question.answerObjectsArray);=0A=
		//alert("AnswerObjectArraysize " + answerObjArray.length);//length is =
3 for some reason beyond my understanding. Should be 2=0A=
			=0A=
		for (var k =3D 0; k < user_answers.length; k++){=0A=
			var userAnswerId =3D user_answers[k];=0A=
			=0A=
			for(var j =3D 1; j < answerObjArray.length; j++){=0A=
				=0A=
				var answerId =3D answerObjArray[j].answerId;=0A=
											 =0A=
				if(userAnswerId =3D=3D answerId){						=0A=
					QuestionObjArray[i].isSelected =3D "true";=0A=
					answerObjArray[j].isSelected =3D "true";=0A=
					//alert("counting");					=0A=
				}=0A=
			}=0A=
		}=0A=
			=0A=
	}=0A=
	return QuestionObjArray;=0A=
}=0A=
	=0A=
function outputEmailForm() {=0A=
//display hidden Email Form=0A=
document.getElementById('email_form').style.display =3D 'block';=0A=
=0A=
}=0A=
=0A=
function printResults(QuestionObjArray) {=0A=
		//function for creating the results reporter and summary, also calls =
the function which creates the results page main body and email form=0A=
		for(var i =3D 1;i <QuestionObjArray.length; i++ ){=0A=
			var question =3D QuestionObjArray[i];=0A=
			var answerObjectsArray =3D question.answerObjectsArray;=0A=
	 		displayResults(question, i);=0A=
		}=0A=
				=0A=
	 	var result;=0A=
		var pc_correct =3D (correctAnswerCount/(QuestionObjArray.length =
-1))*100;=0A=
		var pc_incorrect =3D (inCorrectAnswerCount/(QuestionObjArray.length =
-1))*100;=0A=
		var pc_unanswered =3D (unansweredCount/(QuestionObjArray.length =
-1))*100;=0A=
		document.getElementById('res_desc').style.display =3D 'block';=0A=
		document.getElementById('your_results').style.display =3D 'block';=0A=
		=
document.getElementById('res_desc').childNodes[0].childNodes[0].childNode=
s[0].innerHTML=3D"<h1>Results Reporter</h1>";=0A=
		=
document.getElementById('res_desc').childNodes[0].childNodes[2].childNode=
s[0].innerHTML=3D "Out of " + (QuestionObjArray.length - 1)+" questions, =
you answered " +correctAnswerCount+=0A=
		 " correctly with a final grade of "+ Math.round(pc_correct) + "%";=0A=
	 	=
document.getElementById('res_desc').childNodes[0].childNodes[4].childNode=
s[1].innerHTML=3D correctAnswerCount   +  " correct =
("+Math.round(pc_correct) +"%)";=0A=
	 	=
document.getElementById('res_desc').childNodes[0].childNodes[4].childNode=
s[2].innerHTML=3D "<img src=3D'/olcweb/styles/shared/bargraph.gif' =
height=3D'14' width=3D'"+pc_correct+"%'/>";=0A=
	 	=
document.getElementById('res_desc').childNodes[0].childNodes[5].childNode=
s[1].innerHTML=3D inCorrectAnswerCount   +  " incorrect =
("+Math.round(pc_incorrect) +"%)";=0A=
	 	=
document.getElementById('res_desc').childNodes[0].childNodes[5].childNode=
s[2].innerHTML=3D "<img src=3D'/olcweb/styles/shared/bargraph.gif' =
height=3D'14' width=3D'"+pc_incorrect+"%'/>";=0A=
	 	=
document.getElementById('res_desc').childNodes[0].childNodes[6].childNode=
s[1].innerHTML=3D unansweredCount   +  " unanswered =
("+Math.round(pc_unanswered) +"%)";=0A=
	 	=
document.getElementById('res_desc').childNodes[0].childNodes[6].childNode=
s[2].innerHTML=3D "<img src=3D'/olcweb/styles/shared/bargraph.gif' =
height=3D'14' width=3D'"+pc_unanswered+"%'/>";=0A=
	 	=0A=
	 	textMail +=3D "Results Reporter"+"\n\n\n";=0A=
	 	textMail +=3D =
"=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D"+"\n";	 	=0A=
        textMail +=3D "Out of " + (QuestionObjArray.length - 1)+" =
questions, you answered " +correctAnswerCount+" correctly with a final =
grade of "+ pc_correct + "% "+"\n\n";=0A=
	 	textMail +=3D correctAnswerCount + " correct ("+pc_correct +"%) =
"+"\n";=0A=
	 	textMail +=3D inCorrectAnswerCount + " incorrect ( "+pc_incorrect =
+"%) "+"\n";=0A=
	 	textMail +=3D unansweredCount + " unanswered ( "+pc_unanswered +"%) =
"+"\n";=0A=
	 	textMail +=3D =
"=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D"+"\n";=0A=
	 	textMail +=3D "YOUR RESULTS: "+ "\n\n";=0A=
	 	textMail +=3D =
"=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D"+"\n";=0A=
	 	textMail +=3D "\n" + resultsText;=0A=
	 	//alert(textMail);=0A=
	 	outputEmailForm();//call for creating the email form.=0A=
	 	var html =3D document.getElementById('emailHTML').innerHTML;=0A=
	 	document.forms.frmMail.htmlEmail.value =3D html;=0A=
	 	document.forms.frmMail.textEmail.value =3D textMail;=0A=
	 	=0A=
	 	//alert("Email HTML"+document.forms.frmMail.htmlEmail.value);=0A=
	 	//alert("Email HTML"+document.forms.frmMail.textEmail.value);=0A=
		=0A=
	=0A=
	}=0A=
	=0A=
function getCorrectAnswerforQuestion(Question){=0A=
	//function for creating an array of correct answers for a question=0A=
	var answerObjectsArray =3D Question.answerObjectsArray;=0A=
	var correctAnswers =3D new Array();	=0A=
	for(var i =3D 1; i < answerObjectsArray.length; i++){	=0A=
		var decryptedFeedbackTitle =3D =
decrypt(answerObjectsArray[i].feedBackTitle);//decrypting the feedbact =
title=0A=
		//alert("Decrypted FBT: "+decryptedFeedbackTitle);=0A=
		if(decryptedFeedbackTitle =3D=3D "Correct Answer"){	=0A=
			answerObjectsArray[i].isCorrect =3D "true";	=0A=
			correctAnswers.push(answerObjectsArray[i]);		=0A=
		}	=0A=
	}=0A=
	//alert("Size "+correctAnswers.length);=0A=
	return correctAnswers;=0A=
	 =0A=
}=0A=
=0A=
	=0A=
function getSelectedAnswerforQuestion(Question){=0A=
	//function for creating an array of user selected answer=0A=
	var answerObjectsArray =3D Question.answerObjectsArray;=0A=
	var selectedAnswers =3D new Array();	=0A=
	for(var i =3D 1; i < answerObjectsArray.length; i++){						=0A=
		if(answerObjectsArray[i].isSelected =3D=3D "true"){=0A=
			selectedAnswers.push(answerObjectsArray[i]);			=0A=
		}			=0A=
	}=0A=
	//alert("Size selected "+selectedAnswers.length);=0A=
	return selectedAnswers;=0A=
	=0A=
}=0A=
=0A=
function displayResults(Question, iter){=0A=
		//function for displaying the results for TF,MC,MR (main body)=0A=
		var selectedAnswer =3D getSelectedAnswerforQuestion(Question);		=0A=
		var correctAnswer =3D getCorrectAnswerforQuestion(Question);=0A=
		var answerObjectsArray =3D Question.answerObjectsArray;=0A=
		var count =3D 0;=0A=
		var choice;		=0A=
		//grading logic for TF,MR, MC=0A=
		if(selectedAnswer.length !=3D 0){=0A=
			if(selectedAnswer.length !=3D correctAnswer.length ){=0A=
				choice =3D "INCORRECT";		=0A=
			}else{		=0A=
				for(var j =3D 0; j < selectedAnswer.length;j++){	=0A=
					if((selectedAnswer[j].answerId) =3D=3D (correctAnswer[j].answerId)){=0A=
						count++;=0A=
					}=0A=
					else{=0A=
						count--;=0A=
					}=0A=
				}=0A=
				 //alert("COUNT" + count);=0A=
				if(count =3D=3D selectedAnswer.length){//for MR quizzes, all =
selected answers should be correct.Using a counter for this.=0A=
					choice =3D "CORRECT";				=0A=
				}else{				=0A=
					choice =3D "INCORRECT";=0A=
				}=0A=
			}=0A=
		}else{			=0A=
			choice =3D "UNANSWERED";		=0A=
		}=0A=
		=0A=
		=0A=
		if (choice =3D=3D "CORRECT"){=0A=
			correctAnswerCount++;=0A=
		}else if(choice =3D=3D "INCORRECT") {=0A=
			inCorrectAnswerCount++;=0A=
		}else{=0A=
			unansweredCount++;		=0A=
		}=0A=
		=0A=
		//alert("Choice "+choice);=0A=
		disableChoices();//disables input fields for the quiz form	=0A=
		if(document.getElementById('hintLink'+iter)){=0A=
			document.getElementById('hintLink'+iter).style.display =3D 'none';=0A=
		}=0A=
		document.getElementById('quest'+iter).style.width =3D "130px";=0A=
		document.getElementById('quest'+iter).innerHTML =3D iter+ "  "+choice;=0A=
		resultsText +=3D choice+"\n";=0A=
		resultsText +=3D iter+": "+Question.questionText+"\n";=0A=
		var num;=0A=
		for (var i=3D1; i < answerObjectsArray.length; i++){			=0A=
			if(i=3D=3D1){=0A=
			num=3D"a";=0A=
			resultsText +=3D "     "+num+". "+answerObjectsArray[i].answerText + =
"\n";	=0A=
			}=0A=
			if(i=3D=3D2){=0A=
			num=3D"b";=0A=
			resultsText +=3D "     "+num+". "+answerObjectsArray[i].answerText + =
"\n";	=0A=
			}=0A=
			if(i=3D=3D3){=0A=
			num=3D"c";=0A=
			resultsText +=3D "     "+num+". "+answerObjectsArray[i].answerText + =
"\n";	=0A=
			}=0A=
			if(i=3D=3D4){=0A=
			num=3D"d";=0A=
			resultsText +=3D "     "+num+". "+answerObjectsArray[i].answerText + =
"\n";	=0A=
			}=0A=
			=0A=
				=0A=
		}		=0A=
		for(var i =3D 0; i < correctAnswer.length; i++ ){			=0A=
			try{=0A=
				if(choice !=3D "UNANSWERED"){=0A=
						document.getElementById(correctAnswer[i].answerId).innerHTML =3D =
"<img src=3D'/olcweb/styles/v2_glencoe/images/correct.gif'/>";}=0A=
					}=0A=
			catch(err){=0A=
				continue;=0A=
			}=0A=
		}=0A=
		=0A=
		if(selectedAnswer !=3D 0){=0A=
			var feedbackText =3D document.getElementById("feedback"+iter);=0A=
		=0A=
			for(var i =3D 0; i < selectedAnswer.length; i++)=0A=
				try{=0A=
				    resultsText +=3D "Your Answer: " + =
selectedAnswer[i].answerText+"\n";=0A=
					if(decrypt(selectedAnswer[i].feedBackText)!=3D null && =
decrypt(selectedAnswer[i].feedBackText) !=3D "") {=0A=
				        feedbackText.innerHTML  +=3D "Feedback: " + =
decrypt(selectedAnswer[i].feedBackText)+"</br>";//use decrypt here=0A=
						resultsText +=3D 	"Feedback: " + =
decrypt(selectedAnswer[i].feedBackText)+"\n";//use decrypt here=0A=
						resultsText +=3D "\n"	;=0A=
					}=0A=
				}catch(err){=0A=
					continue;				=0A=
				}=0A=
		}=0A=
	=0A=
}=0A=
=0A=
function disableChoices(){=0A=
		//disable the quiz form input fields=0A=
		document.getElementById('grade_quiz_button').innerHTML =3D "";=0A=
		var length =3D =
document.forms.quizform.getElementsByTagName('input').length;=0A=
		for(var i =3D 0;i<length;i++){=0A=
			document.forms.quizform.getElementsByTagName('input')[i].disabled =3D =
true;=0A=
		}=0A=
}=0A=
	=0A=
=0A=
function gradeAndShowResults(QuestionObjArray){=0A=
	//ENTRY POINT FOR QUIZ SUBMISSION FUNCTION CALLS	=0A=
	var f =3D window.frames["logQuizSubmission"];=0A=
	var TOQ;=0A=
	if(f.logQuizSubmission){=0A=
		var url =3D window.location;=0A=
		var isbn =3D document.forms.quizform.isbn.value;		=0A=
		var quizType =3D document.forms.quizform.QuizName.value;	=0A=
		f.logQuizSubmission(isbn,url,quizType);//Logging quiz submission=0A=
	}=0A=
	TOQ =3D document.forms.quizform.TypeOfQuiz.value;=0A=
	//alert("TOQ: "+TOQ);=0A=
	if(TOQ !=3D 5){//follow different grading logic for Essay type quizzes=0A=
		gradeQuizTest(QuestionObjArray);=0A=
		printResults(QuestionObjArray);=0A=
	}else {=0A=
		gradeEssayQuiz(QuestionObjArray);	=0A=
	}=0A=
}=0A=
=0A=
var essayText;=0A=
var essaysTaken =3D 0;=0A=
var EssayQuizResultsText =3D "";=0A=
var EssayEmailResultsText =3D "";=0A=
=0A=
function gradeEssayQuiz(QuestionObjArray){=0A=
	//function for  displaying the Results Reporter and summary  also calls =
the function which creates the results page main body and email form=0A=
	for(var i =3D 1;i <QuestionObjArray.length; i++ ){	=0A=
		var question =3D QuestionObjArray[i];					=0A=
	 	displayEssayResults(question, i);	 		=0A=
	}=0A=
	var unAnswered =3D((QuestionObjArray.length-1) - essaysTaken);=0A=
	var answered =3D essaysTaken;=0A=
	var pc_answered =3D (essaysTaken/(QuestionObjArray.length-1))*100;=0A=
	var pc_unanswered =3D (unAnswered/(QuestionObjArray.length-1))*100;=0A=
	document.getElementById('res_desc').style.display =3D 'block';=0A=
	document.getElementById('your_results').style.display =3D 'block';=0A=
	=
document.getElementById('res_desc').childNodes[0].childNodes[0].childNode=
s[0].innerHTML=3D"<h1>Results Reporter</h1>";=0A=
	=
document.getElementById('res_desc').childNodes[0].childNodes[4].childNode=
s[1].innerHTML=3D unAnswered+" unanswered ("+ Math.round(pc_unanswered) =
+"%)";=0A=
 	=
document.getElementById('res_desc').childNodes[0].childNodes[4].childNode=
s[2].innerHTML=3D "<img src=3D'/olcweb/styles/shared/bargraph.gif' =
height=3D'14' width=3D'"+pc_unanswered+"%'/>";=0A=
 	=
document.getElementById('res_desc').childNodes[0].childNodes[5].childNode=
s[1].innerHTML=3D answered + " ungraded (" + Math.round(pc_answered) + =
"%)";=0A=
 	=
document.getElementById('res_desc').childNodes[0].childNodes[5].childNode=
s[2].innerHTML=3D "<img src=3D'/olcweb/styles/shared/bargraph.gif' =
height=3D'14' width=3D '"+pc_answered+"%' />";=0A=
	=0A=
	EssayQuizResultsText +=3D "Results Reporter"+"\n\n";=0A=
	EssayQuizResultsText +=3D =
"=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D"+"\n";	 	=0A=
	EssayQuizResultsText +=3D "YOUR RESULTS: "+ "\n\n";=0A=
	EssayQuizResultsText +=3D =
"=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D"+"\n";=0A=
	EssayQuizResultsText +=3D unAnswered+" unanswered ("+ pc_unanswered =
+"%)"+"\n";=0A=
	EssayQuizResultsText +=3D answered + " ungraded (" + pc_answered + =
"%)"+"\n";=0A=
	EssayQuizResultsText +=3D =
"=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D"+"\n";	 =0A=
	EssayQuizResultsText +=3D EssayEmailResultsText;=0A=
 	outputEmailForm();=0A=
 	var html =3D document.getElementById('emailHTML').innerHTML;=0A=
	document.forms.frmMail.htmlEmail.value =3D html;=0A=
	document.forms.frmMail.textEmail.value =3D EssayQuizResultsText;=0A=
	//alert("Email HTML"+document.forms.frmMail.htmlEmail.value);=0A=
	//alert(document.forms.frmMail.textEmail.value);=0A=
}=0A=
function displayEssayResults(question, iter){=0A=
	//function to display Essay results=0A=
	essayText =3D =
document.getElementsByName('Answer'+iter)[0].value;//collect essay text =
area value=0A=
	var answered =3D "UNANSWERED";=0A=
	var answerObjectsArray =3D question.answerObjectsArray;	=0A=
	=0A=
	if(essayText!=3D""){		=0A=
		answered =3D "NOT GRADED";=0A=
		if(decrypt(answerObjectsArray[1].feedBackText) !=3D "") {=0A=
			document.getElementById("feedback"+iter).innerHTML =3D "FeedBack:  =
"+decrypt(answerObjectsArray[1].feedBackText);	=0A=
		}=0A=
		essaysTaken++;=0A=
	}=0A=
  	disableChoices();=0A=
  	if(document.getElementById('hintLink'+iter)){=0A=
		document.getElementById('hintLink'+iter).style.display =3D 'none';=0A=
	}=0A=
	document.getElementById('quest'+iter).style.width =3D "130px";=0A=
	document.getElementById('quest'+iter).innerHTML =3D iter+ "  "+answered;=0A=
	EssayEmailResultsText +=3D answered+"\n";=0A=
	EssayEmailResultsText +=3D iter+ ". "  +question.questionText+"\n";=0A=
	if(essayText!=3D"") {=0A=
		document.getElementById('EssayTextArea'+iter).innerHTML =3D "<b>Your =
Answer</b>:   " + essayText;=0A=
	}=0A=
	=0A=
	EssayEmailResultsText +=3D "Your Answer: "+essayText+"\n";=0A=
	EssayEmailResultsText +=3D "FeedBack:  "+ =
decrypt(answerObjectsArray[1].feedBackText)+"\n\n";	=0A=
}=0A=
=0A=
function createUserAnswerChoicesArray(noOfQuestions){=0A=
	//function that creates the user answer choices(works for TF,MC&MR)=0A=
   var array =3D new Array(); =0A=
   var loop;=0A=
   var unAnsweredId;=0A=
   =0A=
   for(var x =3D0;x<noOfQuestions;x++){=0A=
		loop =3D "Answer"+(x+1);=0A=
				=0A=
		if(eval('document.quizform.'+loop)) {			=0A=
			var d =3Deval('document.quizform.'+loop+'.length');=0A=
			=0A=
			var flag =3D 0;=0A=
			for(var i =3D 0;i<d;i++){=0A=
		=0A=
				if(eval('document.quizform.'+loop)) {=0A=
					if(eval('document.quizform.'+loop+'[i].checked'))=0A=
					{=0A=
					flag =3D1;=0A=
					//array[x] =3D eval('document.quizform.'+loop+'[i].value');=0A=
					=0A=
					array.push(eval('document.quizform.'+loop+'[i].value'));=0A=
					=0A=
					=0A=
					}=0A=
				}=0A=
			}=0A=
			=0A=
			if (flag =3D=3D0){=0A=
				unAnsweredId =3D loop;=0A=
			}=0A=
		}=0A=
   }=0A=
   //alert("Array Size: " + array.length);=0A=
	return array;=0A=
}=0A=
function scrollTops(){=0A=
document.body.scrollTop=3D0;=0A=
}=0A=
=0A=

------=_NextPart_000_0020_01CC7EBF.47D58290--

