function Question (qname,
type,
qstring,
response,
comment,
corrects,
explan,
score,
ifcorrect,ifwrong,ifnull,
img)
{this.qname=qname;
this.type=type;
this.qstring=qstring;
this.response=response;
this.comment=comment;
this.corrects=corrects;
this.explan=explan;
this.score=score;
this.ifcorrect=ifcorrect;
this.ifwrong=ifwrong;
this.ifnull=ifnull;
this.img=img;
}

var zin=1,top=0, mycount=0, waitTime=0, qright=0, mycomment;
var global=new Array(3);
var recent, recent2, recdone=false, opera7, opera=CheckOpera56();
function cachewrite(s,idx){global[idx]+=s;}
function CheckOpera56()
{
var version;
if (navigator.userAgent.toLowerCase().indexOf('opera') == -1) return false;
version=parseInt(navigator.appVersion.toLowerCase());
if (version>6) {opera7=true; return false;}
if (version<5) return false;
return true;
}
resp=new Array("calcium gluconate via IV push.","normal saline via bolus IV.","oxygen.","sodium bicarbonate via IV push.")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest001 = new Question(
"Question 1",
0,
"Metabolic acidosis is best treated with:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("encourage activity.","encourage high protein intake.","maintain fluid balance.","teach intermittent urinary catheterization.")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest002 = new Question(
"Question 2",
0,
"The main goal of treatment for acute glomerulonephritis is to:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("documentation on the assignments was given.","the appropriate level of supervision needed to complete the tasks has been provided.","the competency for the tasks was verified during orientation.","verbal instructions for the tasks have been provided.")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest003 = new Question(
"Question 3",
0,
"Before delegating tasks to unlicensed assistive personnel (UAP), the nurse determines that:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("educate the patient about the pending procedure.","give the patient small sips of water only.","take the patient to the bathroom one more time.","take the patient's blood pressure and pulse readings.")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest004 = new Question(
"Question 4",
0,
"A patient on the unit is prepared for a bronchoscopic procedure. The nurse administers the IV sedative and instructs the licensed practical nurse (LPN) to:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("avoid crowds and obtain an annual influenza vaccination.","drink at least 2 L of fluids daily, including 8 to 10 glasses of water.","eat a potassium rich, low sodium diet.","practice good dental hygiene and report gum swelling or bleeding to the physician.")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest005 = new Question(
"Question 5",
0,
"To prevent a common adverse effect of prolonged use of Dilantin (phenytoin sodium), patients taking the drug are instructed to:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("Bronchial constriction","Decreased cortisol levels","Peripheral vasodilation","Sodium and water retention")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest006 = new Question(
"Question 6",
0,
"Which is often a physiological response to surgery-related stress?",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("approaching the patient on the left side and placing food on the left side.","assisting the patient to get out of bed on the right side and placing food on the right side.","raising the left side rail and placing the television on the right side.","talking into the patient's right ear and placing food on the right side.")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest007 = new Question(
"Question 7",
0,
"Care for a patient who has had a left hemisphere stroke includes:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("Ask all members of the team to reassure the patient about the quality of care provided in the hospital","Assign the patient to a room with a talkative, optimistic roommate","Explain to the patient what will happen during the hospitalization","Visit the patient frequently and get the patient to talk about pleasant future plans")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest008 = new Question(
"Question 8",
0,
"Which action will best help reduce anxiety in a 64-year-old patient who has been hospitalized for suspected peptic ulcer disease?",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("&#147;I don't care if I live or die now.&#148;","&#147;I had a really bad case of heartburn this time.&#148;","&#147;I promise to change the way I live.&#148;","&#147;I'll never be the same again.&#148;")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest009 = new Question(
"Question 9",
0,
"Which statement made by a patient after a myocardial infarction indicates denial of the condition?",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("call the physician and report the findings.","medicate the patient for pain.","place the patient in a high Fowler position and administer oxygen.","place the patient in a reverse Trendelenburg position and open the IV line.")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest010 = new Question(
"Question 10",
0,
"A patient received spinal anesthesia 4 hours ago during surgery. The patient has been on the unit for &#189; hours and now reports severe incisional pain. The patient's blood pressure is 170/90 mm Hg, pulse is 108 beats/min, temperature is 99<sup>o</sup>F (37.2<sup>o</sup>C), and respirations are 30 breaths/min. The patient's skin is pale and the dressing is dry and intact. The most appropriate nursing intervention is to:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("arrange nursing home placement for the couple.","consult the wife's health care practitioner about the wife's ability to care for her husband.","contact the children to ascertain if they will definitely help.","discuss community resources with the wife and offer to make referrals.")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest011 = new Question(
"Question 11",
0,
"A 78-year-old man is scheduled for discharge after treatment for heart disease. His wife, who has chronic obstructive pulmonary disease, plans to care for him at home. She says that their grown children who live nearby will help. The best approach to discharge planning is to:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("continue the hourly neurologic checks.","inform the neurosurgeon of the patient's status.","prepare the patient for emergency surgery.","recheck the patient's neurologic status in 15 minutes.")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest012 = new Question(
"Question 12",
0,
"A patient suffered a head injury 24 hours ago. During a routine hourly neurologic check, the nurse notes that the patient's speech has become slurred and that the patient now is disoriented to time and place. The nurse's first action is to:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("a change in appetite.","a disruption in sleep patterns.","increased urinary frequency.","leg cramps.")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest013 = new Question(
"Question 13",
0,
"Patients taking furosemide (Lasix) are instructed to notify their health care practitioner if they develop:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("accepting the treatment decisions of the medical and nursing team.","allowing HIV testing when a staff member experiences a body fluid exposure.","participating in the hospital's research studies.","providing information about past illnesses, hospitalizations, and medications.")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest014 = new Question(
"Question 14",
0,
"According to the American Hospital Association's Patient's Bill of Rights, patients are responsible for:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("cellular phones.","contact sports.","cordless phones.","microwave ovens.")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest015 = new Question(
"Question 15",
0,
"Discharge instructions for a patient with a newly-placed pacemaker include avoiding:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

questions = new Array (
quest001,quest002,quest003,quest004,quest005,quest006,quest007,quest008,quest009,quest010,quest011,quest012,quest013,quest014,quest015)

function doQuestion(quest)
{
var numdo;
var numord=eval(quest+1);
var i=-1, ii, type, myname, gadget;
type=questions[quest].type;
numdo=type>=3?1:questions[quest].response.length;


document.writeln ("<a name=\""+questions[quest].qname+"\"></a>")
document.write("\n")
document.write("       ")
if (questions[quest].img!="") {
document.write("\n")
document.write("          <p><img border=\"0\" src=\"")
document.write(questions[quest].img)
document.write("\"></p>\n")
document.write("       ")
}
document.write("\n")
document.write("       <p><small><font face=\"Verdana,Arial\">")
document.write(numord)
document.write(". ")
document.writeln(questions[quest].qstring)
document.write("</font></small></p>\n")
document.write("       ")
for (i=0; i<numdo; i++) {
myname=questions[quest].qname;
gadget="radio";
if (type>=3) gadget="text";
else if (type==1) {
myname+="_"+(i<9?"0":"")+(i+1);
gadget="checkbox";}
document.write("\n")
document.write("          ")
document.write(type==7?"<textarea name=\""+myname+"\" rows=5 cols=30 class=\"input\">":" <input type="+gadget+" name=\""+myname);
if (type<3) document.write("\" value=\""+i+"\">\n")
else document.write(type==7?"</textarea>":"\" class=\"input\" value=\"\">\n")
document.write(" <small><font face=\"Verdana,Arial\">")
if (type<3) document.write(questions[quest].response[i]);
document.write("</font></small><br>\n")
document.write("       ")
}
document.write("\n")
document.write("    ")
}
function doTest() {
var count, i;

count=questions.length;
for (i=0; i<count; i++) doQuestion(i);
}
function fill(s,l){
s=s+""
for (y=1;y<=l;y++)
if (s.length>=l) break; else s="0"+s;
return s
}
function CheckQName(wapf,ii,i,multi,selection){
var len;
if (!multi) return(wapf.elements[ii].name==questions[i].qname);
len=questions[i].qname.length;
if (wapf.elements[ii].name.substring(0,len)!=questions[i].qname) return false;
if (wapf.elements[ii].name.substring(len,len+1)!="_") return false;
if (eval(wapf.elements[ii].name.substring(len+1,len+3))==(selection+1)) return true;
return false;
}
function errore(uno,due,tre)
{
if (!errori) global[1]="<H3>You have made the following errors</H3>";
++errori;
cachewrite("<p><b>"+uno+"</b><br>"+due+"<br>"+mycomment+tre+"</p>",2);
mycomment="";
}
function testIE5plus(){
var pos=navigator.appVersion.lastIndexOf('MSIE ');
if (pos != -1) {
pos+=5;
if (eval(navigator.appVersion.charAt(pos))>4)
return true;}
return false;}
function correct(wapf)
{
var i, ii, t, re, tmp, selection, multi, multipage=0, type, isnull, iswrong, iscorrect, evaluation=0, total=0, udat;
errori=waitTime=0;
udat=new Array();
for (i=0, ii=0; i<wapf.elements.length; i++)
{tmp=wapf.elements[i];
if (tmp.name.substring(0,13)=="Quiz.UserData"){
t=tmp.name.substring(14,tmp.name.length);
re=new RegExp("_", "g");
t=t.replace(re," ");
udat[ii++]=t+": <i>"+tmp.value+"</i><br>";
if (opera) tmp.value="";}}
global[0]=global[2]="";
global[1]="<h3>Congratulations, you haven't made any errors</h3>";
cachewrite("<html><head><title>Results</title><BASE target='_blank'></head><body bgcolor='#FFFFFF'><font face='Verdana, Arial'><table border=0 cellpadding=0 cellspacing=0 width='100%' bgcolor='#C0C0C0'><tr><td width='100%'><font face='Verdana, Arial' size=5 color='#FFFFFF'><b>&nbsp;Results</b></font></td></tr></table>",0)
now= new Date()
cachewrite("<small><p>"+fill((now.getMonth()+1),2)+"/"+fill(now.getDate(),2)+"/"+now.getYear()+"&nbsp;&nbsp;"+fill(now.getHours(),2)+":"+fill(now.getMinutes(),2)+"</p>",0)
cachewrite("<b>Medical Surgical Nurse</b><br><br>\n",0);
if (udat.length>0) {
cachewrite("<b>Information</b><br>\n",0);
for (i=0; i<udat.length; i++) cachewrite(udat[i],0);}
if (opera7 && multipage) {
for (i=0; i<questions.length; i++) {
id=document.getElementById("q"+(i+1));
id2=document.getElementById("q"+(i+1)+"a");
id.style.display=id2.style.display="block";}}

for (i=0; i<questions.length; i++) {
if (opera && multipage) {
id=document.getElementById("q"+(i+1));
id2=document.getElementById("q"+(i+1)+"a");
id.style.visibility=id2.style.visibility="visible";}
type=questions[i].type;
if (type==1) multi=1;
else multi=0;
isnull=true;
iscorrect=false;iswrong=false;
selection=0;
evaluation=0;
mycomment="";
for (ii=0; ii<wapf.elements.length; ii++) {
if (CheckQName(wapf,ii,i,multi,selection)) {
if (type>=3 && wapf.elements[ii].value!="") {
isnull=false;
if (wapf.elements[ii].value.toLowerCase()==questions[i].corrects.toLowerCase()) iscorrect=true;
else iswrong=true;
++selection;}
else if (wapf.elements[ii].checked) {
if (questions[i].score!="") evaluation+=questions[i].score[selection];
if (isnull) isnull=false;
if (questions[i].corrects[selection]=="1") iscorrect=(iswrong==false)?true:false;
else {
iswrong=true;
if (multi && questions[i].corrects!='') errore(questions[i].qname,"The checkbox  <i>"+questions[i].response[selection]+"</i>  shouldn't have been selected.",questions[i].explan)
}
if (questions[i].comment!="" && questions[i].comment[selection]!="")
mycomment+=((iscorrect || questions[i].corrects=='')?"<b>"+questions[i].qname+"</b><br>":"")+"<small>"+questions[i].comment[selection]+"</small><br>";
} else {
if (questions[i].corrects[selection]=="1") {
iswrong=true;
if (multi && questions[i].corrects!='') errore(questions[i].qname,"The checkbox  <i>"+questions[i].response[selection]+"</i>  should have been selected.",questions[i].explan);
}}
++selection;
}}
if (multi==false && (isnull || iswrong)) {
var okresp="", z;
if (type>=3) okresp=questions[i].corrects;
else {
for (z=0; z<questions[i].corrects.length; z++) {
if (questions[i].corrects[z]==1) {
okresp=questions[i].response[z];
break;
}}}
if (okresp!="") errore(questions[i].qname,"The right answer was <i>"+okresp+".</i>",questions[i].explan);
}
if (mycomment!="") cachewrite(mycomment,2);
if (questions[i].corrects!="") ++qright;
if (isnull) evaluation+=questions[i].ifnull;
else if (iswrong) evaluation+=questions[i].ifwrong;
else if (iscorrect) evaluation+=questions[i].ifcorrect;
total+=evaluation;}
if (qright==0) global[1]="<br>";
if (errori) cachewrite("<br><b>You have made "+errori+" "+(errori==1?"error":"errors")+".</b>",2);
cachewrite("<br><b>Total score: "+total+".</b><br>",2);

cachewrite("</small><hr noshade><center><form>",2)
printest=(((navigator.appName=="Netscape") && (navigator.appVersion.charAt(0)>="4")) || (testIE5plus() == true))? "print()": "alert('This button can be used with Netscape Navigator 4 or Microsoft Internet Explorer 5 only. If you want to print with other browsers, please select the Print command in the File menu.')"
cachewrite("<input type='button' value='Print...' onClick='"+printest+"'>&nbsp;&nbsp;&nbsp;&nbsp;",2)
cachewrite("<input type='button' value='Close' onClick='window.close()'></form></center>",2)
cachewrite(aknw,2)
winr=window.open('','wapres', 'titlebar=1,location=0,directories=0,menubar=1,toolbar=0,scrollbars=1,resizable=1,status=1')
for (i=0; i<3; i++) winr.document.write(global[i]);winr.document.close()
if ((opera || opera7) && multipage) {
document.forms[0].elements[0].value='Print...';
document.forms[0].elements[1].value='Close';
for (i=0; i<questions.length-1; i++) {
id=document.getElementById("q"+(i+1));
id2=document.getElementById("q"+(i+1)+"a");
opera?id.style.visibility=id2.style.visibility="hidden":id.style.display=id2.style.display="none";}}
}
aknw="<br><p align='center'><small><small>Created and managed with <a title='Click here to visit WebQuiz site' href='http://www.smartlite.it/go.asp?OLDLP' target = '_blank'>SmartLite WebQuiz</a></small></small></p>"
