﻿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("conductive hearing loss.","otitis externa.","presbycusis.","sensorineural hearing loss.")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest001 = new Question(
"Question 1",
0,
"A patient's responses to a Weber test indicate poorer hearing in the ear in which a sound is louder. This finding indicates:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("administer a Folstein Mini-Mental State Examination.","evaluate for cerumen impaction.","explain the management of presbycusis with the patient and his family.","refer to audiology for hearing aides.")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest002 = new Question(
"Question 2",
0,
"The son of a 72-year-old patient brings his father to the clinic to report that the father has recently become withdrawn and confused. The gerontological nurse practitioner notices that the patient is straining to hear the conversation and has difficulty with speech discrimination. The initial intervention is to:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("ability to react to any stimulus.","ability to react to complex and numerous stimuli.","susceptibility to sensory deprivation.","susceptibility to sensory overload.")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest003 = new Question(
"Question 3",
0,
"Older adults frequently experience a decrease in their:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("high temperatures negatively affect the appetite in later life.","self-neglect is common after the sixth decade.","the ability to respond to thermal stress is impaired in later life.","the thirst mechanism is diminished in later life.")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest004 = new Question(
"Question 4",
0,
"The gerontological nurse practitioner advises older adults to take precautions during extreme weather conditions because:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("increases only cell-mediated immunity.","increases the production of antibodies.","reduces the effectiveness of T cells.","significantly reduces IgA levels.")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest005 = new Question(
"Question 5",
0,
"An older woman may get influenza during the same year she was immunized because aging:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("Decreased esophageal mucosal irritation.","Decreased lower esophageal sphincter tone.","Increased esophageal peristalsis.","Increased gastric emptying.")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest006 = new Question(
"Question 6",
0,
"Which physiological factor is usually responsible for gastroesophageal reflux disease (GERD)?",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("depression.","psychological abuse.","psychological dependence.","substance abuse.")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest007 = new Question(
"Question 7",
0,
"The gerontological nurse practitioner is assessing a withdrawn but oriented 90-year-old man. The man's son answers the nurse practitioner's questions despite several requests for the patient to answer. The son becomes angry when the nurse practitioner asks the son to leave the examination room. The son insults his father and then refuses to leave his father alone. The nurse practitioner further evaluates the patient for:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("applying a low-pitched tuning fork firmly to the lateral malleolus.","sharply dorsiflexing the foot and maintaining it in dorsiflexion while supporting the knee.","striking the Achilles tendon with the percussion hammer after flexing the leg at the knee and rotating it externally.","stroking the lateral aspect of the sole with the sharp end of the percussion hammer from the heel to the ball of the foot.")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest008 = new Question(
"Question 8",
0,
"A patient has hyperreactive reflexes of the lower extremities.&nbsp; The gerontological nurse practitioner tests for ankle clonus by:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("actinic keratosis.","keratoacanthoma.","seborrheic keratosis.","senile lentigo.")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest009 = new Question(
"Question 9",
0,
"The gerontological nurse practitioner notes a well-demarcated, dry, rough, tan-colored area about 1 cm in size on the forearm of a retired man who worked as a park ranger.&nbsp; The man says that the lesion has been present for years.&nbsp; The lesion is suggestive of:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("developed delirium.","developed dementia.","developed depression.","suffered a stroke.")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest010 = new Question(
"Question 10",
0,
"After a 24-hour hospital stay for foot surgery, an 80-year-old woman is transferred back to the nursing home where she resides. During lunch at the nursing home, the charge nurse notes that the woman seems withdrawn and less alert than usual. Later in the evening the woman is seen talking to herself. Her roommate of 2 years reports that the woman has been calling her the wrong name repeatedly. The gerontological nurse practitioner is notified and finds that the women scores much lower on the Folstein Mini-Mental State Examination than previously documented. The nurse practitioner suspects that the woman has:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("Stage I","Stage II","Stage III","Stage IV")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest011 = new Question(
"Question 11",
0,
"The gerontological nurse practitioner is asked to inspect the leg of a 92-year-old nursing home resident. The patient's history includes recurrent pressure ulcers, cellulitis of the right lower leg, and hemiparesis from a stroke 2 years ago. The nurse practitioner notes a shallow crater with loss of dermis. The diagnosis is recurrent pressure ulcer at which stage?",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("blood urea nitrogen.","creatinine clearance.","glomerular filtration rate.","serum creatinine.")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest012 = new Question(
"Question 12",
0,
"Before an older patient begins taking a drug that is cleared by the kidneys, renal function is determined by measuring the patient's:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("a stroke.","hyperglycemia.","hypoglycemia.","ketoacidosis.")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest013 = new Question(
"Question 13",
0,
"A 66-year-old patient, newly diagnosed with diabetes, starts insulin therapy.&nbsp; After several days, the patient develops slurred speech, headaches, confusion and nervousness. The patient is experiencing:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("a transient ischemic attack.","dehydration.","digoxin toxicity.","mild cognitive impairment.")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest014 = new Question(
"Question 14",
0,
"An 89-year-old patient has a 2-day history of confusion. The patient's medications include digoxin (Lanoxin) and furosemide (Lasix).&nbsp; Examination findings are unremarkable. A computed tomography (CT) scan of the head is normal and the basic metabolic panel is within normal limits. The patient's digoxin level is 2.5 g/L. The most likely cause of the patient's confusion is:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("Metroclopramide hydrochloride (Reglan).","Nizatidine (Axid).","Omeprazole (Prilosec).","Ranitidine (Zantac).")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest015 = new Question(
"Question 15",
0,
"When treating older adults for gastroesophageal reflux disease (GERD), which drug is used cautiously because of possible central nervous system toxicity?",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("Cream of Wheat","Fruit juices","Oatmeal","Peeled fruits and vegetables")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest016 = new Question(
"Question 16",
0,
"Which food or beverage best counteracts constipation in older persons?",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("Fentanyl (Duragesic).","Morphine sulfate controlled-release (MS Contin).","Oxycodone/acetophenomin (Percocet).","Oxycodone hydrochloride controlled-release (Oxycontin).")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest017 = new Question(
"Question 17",
0,
"Which pain medication is best for a patient who has dysphagia?",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("developing a new hobby or interest.","joining a local senior center.","maintaining her usual activities in the home.","reminiscing about past accomplishments.")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest018 = new Question(
"Question 18",
0,
"An older homemaker with a history of limited social contacts has recently been widowed. A continuity theorist recommends that she adjust to widowhood by:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("observe the patient because no intervention is necessary.","order a throat culture and monospot test.","order a two-step tuberculin skin test.","refer the patient to a surgeon for a lymph node biopsy.")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest019 = new Question(
"Question 19",
0,
"A 65-year-old woman comes to the geriatric clinic for a routine checkup. Her history includes a 10 lb weight loss over the past 2 months. On physical examination, an enlarged (2 cm) mobile, nontender and rubbery lymph node is palpated on the left supraclavicular chain. The gerontological nurse practitioner's next step is to:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("administer analgesics and mydriatic eye drops.","administer timolol maleate (Timoptic).","assess the fundus, the pupillary reaction to light, and extraocular movements.","make an emergency referral to the ophthalmologist.")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest020 = new Question(
"Question 20",
0,
"A patient who has just returned from an appointment with an ophthalmologist reports severe eye pain. The gerontological nurse practitioner finds that the patient's left eye has an irregular, semidilated pupil and a hazy cornea. There is redness throughout the eye and decreased visual acuity. The nurse practitioner's action is to:",
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,quest016,quest017,quest018,quest019,quest020)

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>Gerontological NP Sample Test</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='Back' onClick='history.back()'></form></center>",2)
cachewrite(aknw,2)
winr=window
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='Back';
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>"
