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("A. Increasing its output.","B. Decreasing its output.","C. Increasing its price.","D. Increasing its resources.")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest001 = new Question(
"Question 1",
0,
"<font face=\"Times New Roman\" size=\"4\">Which of the following is not a valid option for a perfectly competitive firm?</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("A. Economic profit","B. Allocative Efficiency","C. Productive Efficiency","D. Normal profit")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest002 = new Question(
"Question 2",
0,
"<font face=\"Times New Roman\" size=\"4\">In the long run, a perfectly competitive firm will achieve all but which of the following:</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("A. Always earning an economic profit","B. Always productively efficient.","C. Always allocatively efficient.","D. Always experiencing an economic loss.")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest003 = new Question(
"Question 3",
0,
"<font face=\"Times New Roman\" size=\"4\">If the price a firm receives for its product is equal to the marginal cost of producing that product, the firm is:</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("A. Earning an economic profit.","B. Productively efficient.","C. Dominating the other firms in the market.","D. Not producing enough output.")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest004 = new Question(
"Question 4",
0,
"<font face=\"Times New Roman\" size=\"4\">A firm that is producing at the lowest possible average cost is always:</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("A. Earn an economic profit.","B. Increase its price if it is experiencing an economic loss.","C. Produce the quantity where its marginal cost equals its marginal revenue.","D. Produce at the productively efficient level of output.")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest005 = new Question(
"Question 5",
0,
"<font face=\"Times New Roman\" size=\"4\">A perfectly competitive firm should always:</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("A. Marginal Revenue curve","B. Average total cost curve","C. Marginal cost curve","D. Marginal cost curve above its average variable cost curve")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest006 = new Question(
"Question 6",
0,
"<font face=\"Times New Roman\" size=\"4\">The supply curve for a perfect competitor is its:</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("A. is maximizing economic profit.","B. experiencing economic loss.","C. should increase its output to maximize profit.","D. is allocatively efficient")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest007 = new Question(
"Question 7",
0,
"<font face=\"Times New Roman\" size=\"4\">If a perfect competitor is producing at a level where its average cost is $8, and its marginal cost is $9, and it is receiving a price of $10 for its product, the firm</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("A. A total profit of $2","B. A total profit of $2000","C. A price greater than its marginal cost","D. An economic loss")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest008 = new Question(
"Question 8",
0,
"<font face=\"Times New Roman\" size=\"4\">If a profit maximizing perfectly competitive firm is selling 1000 units at a price of $10 and its average total cost is $8 the firm is experiencing:</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("A. Price will increase.","B. Other firms will enter the market","C. Other firms will leave the market","D. Demand will decrease")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest009 = new Question(
"Question 9",
0,
"<font face=\"Times New Roman\" size=\"4\">Which of the following is most likely to happen if a typical firm in a perfectly competitive market is experiencing an average revenue that is greater than its average cost?</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("A. Firms will enter the market and the price will decrease.","B. Firms will enter the market and the price will increase.","C. Firms will exit the market and the price will decrease.","D. Firms will exit the market and the price will increase.")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest010 = new Question(
"Question 10",
0,
"<font face=\"Times New Roman\" size=\"4\">If the typical firm in a perfectly competitive market is experiencing an economic loss, which of the following will happen?</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("A. Earn an economic profit, be allocatively efficient, and be productively efficient.","B. Not earn an economic profit, but be allocatively efficient and productively efficient.","C. Not earn an economic profit, not be allocatively efficient, but be productively efficient.","D. Not earn an economic profit, not be productively efficient, but be allocatively efficient.")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest011 = new Question(
"Question 11",
0,
"<font face=\"Times New Roman\" size=\"4\">A perfectly competitive firm that is in long-run equilibrium will</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("A. a perfectly elastic supply curve.","B. a perfectly elastic demand curve.","C. a negatively sloped demand curve.","D. a positively sloped demand curve.")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest012 = new Question(
"Question 12",
0,
"<font face=\"Times New Roman\" size=\"4\">A firm in a perfectly competitive industry has</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("A. perfectly elastic supply curve.","B. perfectly elastic demand curve.","C. negatively sloped demand curve.","D. positively sloped demand curve.")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest013 = new Question(
"Question 13",
0,
"<font face=\"Times New Roman\" size=\"4\">A perfectly competitive industry has a</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("A. drop out of the industry","B. decrease its output","C. increase its price","D. increase its output")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest014 = new Question(
"Question 14",
0,
"<font face=\"Times New Roman\" size=\"4\">A perfectly competive firm that is receiving a price of $5 and has a marginal cost of $6 should always</font>",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("A. Experience an economic loss.","B. Experience an economic profit and produce more in the short run.","C. Experience an economic profit and produce less in the short run","D. Experience no economic profit in the short run")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest015 = new Question(
"Question 15",
0,
"<font face=\"Times New Roman\" size=\"4\">Assume that a perfectly competive firm that produces widgets is in long-run equilibrium. Then suddenly the market demand for widgets increases. The firm will</font>",
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("    <tr>\n")
document.write("      <td width=\"5%\" align=\"center\" valign=\"top\" bgcolor=\"#E6E6FF\"><font face=\"Verdana\"\n")
document.write("      color=\"#000080\"><strong><small>")
document.write(numord)
document.write("</small></strong></font></td>\n")
document.write("      <td width=\"95%\" valign=\"top\" bgcolor=\"#F4F4FF\"><font face=\"Verdana\"><font color=\"#000080\"><strong><small>\n")
document.write("      ")
if (questions[quest].img!="") {
document.write("\n")
document.write("         <img border=\"0\" hspace=\"10\" vspace=\"5\" align=\"left\" src=\"")
document.write(questions[quest].img)
document.write("\">\n")
document.write("      ")
}
document.write("\n")
document.write("      ")
document.writeln(questions[quest].qstring)
document.write("</small></strong></font><br>\n")
document.write("      <br><small><small>\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")
if (type<3) document.write(questions[quest].response[i]);
document.write("<br>\n")
document.write("      ")
}
document.write("\n")
document.write("      </small></small></font></td>\n")
document.write("    </tr>\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>Perfect Competition Quiz</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>"

