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=600, qright=0, mycomment;
var global=new Array(3);
var recent, recent2, recdone=false, opera7, opera=CheckOpera56();
P7_OpResizeFix();
function P7_OpResizeFix(a) { //v1.1 by PVII
if(!window.opera){return;}if(!document.p7oprX){
 document.p7oprY=window.innerWidth;document.p7oprX=window.innerHeight;
 document.onmousemove=P7_OpResizeFix;
 }else{if(document.p7oprX){
  var k=document.p7oprX-window.innerHeight;
  var j=document.p7oprY - window.innerWidth;
  if(k>1 || j>1 || k<-1 || j<-1){
  document.p7oprY=window.innerWidth;document.p7oprX=window.innerHeight;
  do_reposition();}}}
}
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.&nbsp;The new law would require that when negotiating the terms of the sale, ship brokers have at hand the nautical history of the boat in question, not only have access to it.","B.&nbsp;The task of collating nautical records would be time consuming, and likely to introduce third parties into the transaction.","C.&nbsp;The new law would discourage buyers to request historic records.","D.&nbsp;Ship brokerage agencies are not excluded from charging consumers superfluous expenses incurred in order to comply with the new legislation.","E.&nbsp;It is unrealistic to assume that some ship brokers will not already have the nautical history of their boats.")
corr=new Array("1","0","0","0","0")
comm=""
valu=""
quest001 = new Question(
"Question 1",
0,
"Container Ship Broker: &quot;Despite holding beliefs that do not correspond to general public opinions, I foresee the new legislation granting my clients potential access to the nautical history of the ships sold to them will be met with mixed reactions in the shipping world. I have arrived at this conclusion for two separate reasons. Firstly, to give clients unrestricted access to the aforementioned records will inflict additional costs to the ship broker in the form of man-hours spent researching and collating the data. Secondly, it is my personal opinion that clients shall be disinclined to request such information.&quot;<br><br>Which of the following, if true, establishes that the container ship broker's&nbsp; second reason does not negate the first?<br>",
resp,
comm,
corr,
"<small>We call this a LOGICAL INCONSISTENCY type question. Look for an answer that allows both parts of the argument to be satisfied, and do not forget to assume the hypothetical truth of each of the answer choices.<br><br>A.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Correct!&nbsp; The ship broker is going to have to spend extra time researching the records regardless of whether anyone walks in and actually asks for the records. Both reasons one and two remain valid with this answer.&nbsp; Although answer 'A' does not immediately strike as the obvious answer, with patience and the right technique of reasoning it is possible to see past the examiners confusing language.<br><br>B.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If no one asks for the nautical history, it does not matter how time consuming it is or how many 'third parties' are introduced!<br><br>C.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Although this answer may appear relevant, it does not actually answer the question as it does not 'establish' anything. Cross it out.<br><br>D.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Money is not the concern, time is the main concern of the argument.<br><br>E.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the same problem as C. Cross it out<br></small>",
valu,
1,
0,
0,
"");

resp=new Array("A.&nbsp;&nbsp;Commercially appropriated with the author's consent.","B.&nbsp;&nbsp;Divided into one or more legal entity.","C.&nbsp;&nbsp;Assigned by a will.","D.&nbsp;&nbsp;Recognised as a commercial oligopoly.","E.&nbsp;&nbsp;Structured in several equivalent branches.")
corr=new Array("0","0","1","0","0")
comm=""
valu=""
quest002 = new Question(
"Question 2",
0,
"Law Lords dispute whether publicity rights outlive their owners.&nbsp; Some advocate unconditional devisability.&nbsp; They emphasise that the capacity to direct utilization of fame is a property right, carrying all the characteristics of the title. Others conclude that the right of publicity expires with the celebrity's demise.&nbsp; These Law Lords fear that recognising publicity rights after the death of the celebrity would negatively affect freedom of speech.<br><br>It can be inferred from the passage that a characteristic of 'devisability' is the ability to be:<br>",
resp,
comm,
corr,
"<small>We can call this a RATIONAL INFERENCE type question.&nbsp; This is a very specific question, go back to the passage and study the content of the word by reading the phrases around the key word.&nbsp; We are told that &quot;Some [Law Lords] advocate unconditional devisability.&quot; While &quot;others conclude that the right of publicity expires with the celebrity's demise.&quot; We can deduce from this that the word has something to do with 'rights of publicity' continuing after death, this ought to help us find the correct answer.&nbsp; Let's take a look at the answers: <br><br>A. This mentions cases in which permission has already been obtained from the author - something not even mentioned in the passage.&nbsp; <br><br>B. This is the type of answer you might select if you just looked at the word 'devisability'&nbsp; and tried to guess its meaning, this almost guarantees it is incorrect and just put in to catch out the unaware.&nbsp; <br><br>C. Correct!&nbsp; It talks about wills, since wills have something to do with death it would be fair to consider this answer.&nbsp; We must use the Process of Elimination to get to this answer, by weighing it against the faults of the other answers.<br><br>D. brings up the concept of a commercial oligopoly, which is not even in the passage, don't fall into the trap of guessing at an answer simply because it contains technical jargon.&nbsp; <br><br>E. We can disregard this because structuring something is never mentioned.&nbsp; But this is another answer choice you might pick if you had just looked at the word and tried to guess what it meant.<br></small>",
valu,
1,
0,
0,
"");

resp=new Array("A.&nbsp;Successful trade is dependent upon a government's policy of laissez-faire and furthered by pro-business regulations.","B.&nbsp;The government's ability to expose unlawful activity, even with close supervision, is negligible, and deemed useless.","C.&nbsp;If judged by modern day values, many of these so-called violations are considered ethical in actuality.","D.&nbsp;Earning a high commission as an e-marketer is not proof of a company's investment capabilities.","E.&nbsp;The level of unethical behaviour is directly related to the e-marketers' desire for larger profits.")
corr=new Array("0","0","0","0","1")
comm=""
valu=""
quest003 = new Question(
"Question 3",
0,
"In recent times, there has been an increase in the number of confirmed cases of ethical misconduct in the internet marketing of stocks, shares, and debt instruments.&nbsp; In an effort to police this industry, government agencies are undertaking an approach to the problem that would involve close supervision of the companies that use e-marketing. Such government intervention in the private sector opposes private industry and is likely to deter entrepreneurs. Evidently, in order to prevent government involvement, internet-based companies should cease the practice of paying e-marketers on commission.<br><br>The above argument is based upon which of the following assumptions?<br>",
resp,
comm,
corr,
"<small>This is an ASSUMPTION question.&nbsp; The correct answer will be something required for the conclusion to be valid.<br><br>Assumption - The ethical misconduct is somehow related to the fact that e-marketers get paid on commission<br><br>Premises of argument - They want to avoid government intervention, and the government will intervene if there continues to be ethical misconduct<br><br>Conclusion - Investment houses should stop paying e-marketers on commission<br> <br>A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This does not address the hole in the argument between ethical misconduct and paying commission. Furthermore, successful capitalism is not part of the question. <br><br>B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is not required for the conclusion to be true-the author says that the government should not interfere whether or not they would be successful.<br><br>C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is also not necessary for the conclusion to be true-the author is admitting that there is some ethical misconduct, and is just saying that government control is not the answer on how to stop it.<br><br>D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether or not you can prove you are a good broker is totally out of scope of this argument<br><br>E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Correct! If there were no link between the ethical misconduct and the desire for large commissions, the argument would totally fall apart.<br></small>",
valu,
1,
0,
0,
"");

questions = new Array (
quest001,quest002,quest003)

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;

if (opera && top==0) top=document.getElementById("wq_user").style.top;document.write("\n")
document.write("       <div id=\"q")
document.write(numord)
document.write("\" ")
document.write(opera?" style=\"position: absolute; visibility:hidden; top:"+top+"; z-index:"+(++zin)+";\"":" style=\"display:none\"");
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("          &nbsp;")
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("       </div>\n")
document.write("       <div id=\"q")
document.write(numord)
document.write("a\" ")
document.write(opera?" style=\"position: absolute; visibility:hidden; top:"+top+"; z-index:"+(++zin)+";\"":" style=\"display:none\"");
document.write(">\n")
document.write("       <p>\n")
document.write("          ")
if (quest>0) {
document.write("\n")
document.write("             <input type=\"button\" value=\"Back\" name=\"ButtonPreviuos\" ")
document.write(" onClick=\"myshow("+(quest)+",0)\"")
document.write(">\n")
document.write("          ")
}
document.write("\n")
document.write("          ")
if (quest<questions.length-1) {
document.write("\n")
document.write("             <input type=\"button\" value=\"Next\" name=\"ButtonNext\" ")
document.write(" onClick=\"myshow("+quest+",2)\"")
document.write(">\n")
document.write("          ")
}
document.write("\n")
document.write("          ")
if (quest==questions.length-1) {
document.write("\n")
document.write("             <input type=\"button\" value=\"Evaluate\" name=\"ButtonSubmit\" ")
document.write(" onClick='correct(document.WapForm)'")
document.write(">\n")
document.write("          ")
}
document.write("\n")
document.write("       </p>\n")
document.write("       </div>\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 correct(wapf)
{
var i, ii, t, re, tmp, selection, multi, multipage=1, 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>LNAT 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="print()";
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>Cataga's Admission Test Preparation <a title='Click here to visit Cataga's LNAT home' href='http://www.cataga.co.uk/LNAT.htm' target = '_blank'>LNAT</a></small></small></p>"
function update_time(t) {
self.status=t;}
function stms(s){
if (Math.abs(tmMx)>=3600){
h=Math.floor(s/3600);m=Math.floor((s%3600)/60);s=((s%3600)%60);return fill(h,2)+':'+fill(m,2)+':'+fill(s,2);
}else{m=Math.floor(s/60);s=s%60;return fill(m,2)+':'+fill(s,2);}}
function shtm(t){
tmVl=t+1;update_time(stms(Math.abs(t)))
if (waitTime==0) return;
tmId = setTimeout('shtm(tmVl)',1000)
if (t==((tmMx>0)? tmMx : 0)){
clearTimeout(tmId)
alert('Time is over, correcting questionnaire now.')
if (mycount<questions.length) for (i=mycount; i<=questions.length; i++) myshow(i,0);
correct(document.WapForm)}}
function checkTime(){
tmMx=-waitTime;
if (tmMx!=0){
alert('Time to complete your questionnaire is: '+stms(Math.abs(tmMx))+'\n\nPlease check time count.');
shtm((tmMx>0) ? 0 : tmMx)}}
function checkBrowser()
{
var browser=new Array('microsoft internet explorer','netscape','opera');
var version=new Array(5,5,6);
for (i=0; i<3; i++) {
var ref, pos=navigator.appVersion.lastIndexOf('MSIE ');
if (pos == -1) ref=parseInt(navigator.appVersion);
else {pos+=5;ref=eval(navigator.appVersion.charAt(pos));}
if (navigator.appName.toLowerCase()==browser[i] && ref>=version[i])
break;}
if (i==3) {
alert('The browser'+navigator.appName+' '+navigator.appVersion+' is not supported');
return false;}
return true;}
function myshow(count,dif)
{
var id, id2, wq_user, id_str, id2_str;
if (recdone==false && checkBrowser()==false) return;
if (recdone==false && waitTime!=0) checkTime();
if (dif!=-1) count+=dif;
mycount=count;id_str="q"+count;id2_str="q"+count+"a";
if (document.getElementById){
id=document.getElementById(id_str);
id2=document.getElementById(id2_str);
wq_user=document.getElementById("wq_user");
} else if (document.all) {
id=document.all[id_str];
id2=document.all[id2_str];
wq_user=document.all["wq_user"];
} else {
id=eval(id_str);
id2=eval(id2_str);
wq_user=eval("wq_user");}
if (recdone==false) {
recent=wq_user;
recent2="";
recdone=true;}
opera?recent.style.visibility="hidden":recent.style.display="none";
if (recent2!="") opera?recent2.style.visibility="hidden":recent2.style.display="none";
opera?id.style.visibility="visible":id.style.display="block";
opera?id2.style.visibility="visible":id2.style.display="block";
if (questions[count-1].type>2) document.WapForm.elements[questions[count-1].qname].focus();
recent=id;recent2=id2;}
function do_reposition(){
var id, id2, wq_user, wq_final, wq_footer, i, y, h, max=0;
wq_user=document.getElementById("wq_user");
if (mycount>0) wq_user.style.visibility="hidden";
for (i=1; i<=questions.length; i++) {
id=document.getElementById("q"+i);
id2=document.getElementById("q"+i+"a");
id2.style.top=id.style.top+id.style.height;
h=id2.style.height;y=id2.style.top;
if (mycount==i) id.style.visibility=id2.style.visibility="visible";
if (y+h>max) max=y+h;}
wq_final=document.getElementById("wq_final");
wq_footer=document.getElementById("wq_footer");
if (wq_final.style.visibility!="hidden") {
wq_final.style.top=max;max+=wq_final.style.height;}
if (wq_footer.style.visibility!="hidden") {
wq_footer.style.top=max;}
}
