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=3420, 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("the pedestrians are clear of the front of your vehicle","a driver from the opposite direction reaches the crossing","the pedestrians have reached a safe position","you start to edge forward on to the crossing")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest001 = new Question(
"Question 1",
0,
"You are approaching a red light at a puffin crossing. Pedestrians are on the crossing. The red light will stay on until<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>As a puffin crossing is able to detect the presence of pedestrians, it will leave the light on red until all pedestrians have cleared the crossing.</small>",
valu,
1,
0,
0,
"Q1.JPG");

resp=new Array("Overtake the motorcyclist immediately","Stay level with the motorcyclist","Keep close to the motorcyclist","Keep well back")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest002 = new Question(
"Question 2",
0,
"It is very windy. You are behind a motorcyclist who is overtaking a high-sided vehicle. What should you do?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>Both vehicles are vulnerable to crosswinds and the high sided vehicle creates it's own air currents. These can affect the motorcyclist. You must be able to stop if you need to.</small>",
valu,
1,
0,
0,
"Q2.JPG");

resp=new Array("That it is a no-through road","No waiting zone ends","End of traffic calming zone","Free parking zone ends")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest003 = new Question(
"Question 3",
0,
"What does this sign tell you?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>This sign is one of a very few that can't really be guessed - it's just got to be remembered. This one means that the no waiting zone you have been driving through ends at the position of the sign.</small>",
valu,
1,
0,
0,
"Q3.JPG");

resp=new Array("Green","Red and Amber","Red","Green and Amber")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest004 = new Question(
"Question 4",
0,
"You see this amber traffic light ahead. Which light or lights, will come on next?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>The sequence of traffic lights is:- Red -&gt; Red &amp;Amber-&gt; Green -&gt; Amber -&gt; Red -&gt; etc...</small>",
valu,
1,
0,
0,
"Q4.JPG");

resp=new Array("A","B","C","D")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest005 = new Question(
"Question 5",
0,
"Which sign tells you that pedestrians may be walking in the road as there is no pavement?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>The easiest way to answer this question is by eliminating the impossible answers. Two of the signs can be discounted because they warn of elderly people crossing and a school crossing. Of the two left, one warns of people crossing the road (and has lines on it to indicate a crossing), and the other (the correct one) shows people walking along the road.</small>",
valu,
1,
0,
0,
"Q5.JPG");

resp=new Array("Tap you horn and drive through first","Try to move off before the cyclist","Allow the cyclist time and room","Turn right but give the cyclist room")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest006 = new Question(
"Question 6",
0,
"You are behind this cyclist. When the traffic lights change, what should you do?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>You should allow any road user in-front of you to move off first. Cyclists are slower so be patient.</small>",
valu,
1,
0,
0,
"Q6.JPG");

resp=new Array("unless you are able to drive one-handed","until you are satisfied that no other traffic is near","because it might distract you attention","because reception is poor when the engine is running")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest007 = new Question(
"Question 7",
0,
"You should not use a mobile phone while driving<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>It's safer to switch off your mobile phone whilst driving as driving requires all of your attention. It is now illegal to use a hand held mobile phone in a vehicle. Even hands free telephones are more distracting than listening to music or talking to a passenger in your car however, so you should avoid making and receiving calls whilst driving.</small>",
valu,
1,
0,
0,
"Q7.JPG");

resp=new Array("20 mph","35 mph","25 mph","40 mph")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest008 = new Question(
"Question 8",
0,
"In some narrow residential streets you may find a speed limit of<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>This is to allow the driver time to react to the unpredictable hazards presented by a narrow residential road.</small>",
valu,
1,
0,
0,
"Q8.JPG");

resp=new Array("Driving licence","Vehicle registration document","Theory test certificate","Road tax disc","MOT test certificate","Insurance certificate")
corr=new Array("1","0","0","0","1","1")
comm=""
valu=""
quest009 = new Question(
"Question 9",
1,
"The police may ask you to produce which three of these documents following an accident?<br><br /><br>Select 3 answers",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>The police will want to check that you were entitled to drive at the time the accident took place. In particular, they will want to check that you had an appropriate license, were properly insured, and that the car was in a roadworthy condition. To do this, they will want to see your driving/riding license, your insurance certificate and your most recent MOT certificate.</small>",
valu,
1,
0,
0,
"Q9.JPG");

resp=new Array("the end of a dual carriageway","the end of a motorway","a concealed level crossing","a concealed speed limit sign")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest010 = new Question(
"Question 10",
0,
"You will see these red and white markers when approaching<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>The markers alert you to a concealed level crossing, and warn you to slow down due to this approaching hazard.</small>",
valu,
1,
0,
0,
"Q10.JPG");

resp=new Array("Either the right or centre","Centre","Right","Left")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest011 = new Question(
"Question 11",
0,
"One a three-lane motorway which lane should you normally use?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>The left hand lane is for normal driving, the other lane(s) to the right are for overtaking only. Unless the left hand lane is full you should use it.</small>",
valu,
1,
0,
0,
"Q11.JPG");

resp=new Array("Badly adjusted brakes","Oil on the brakes","Air in the brake fluid","The brakes overheating")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest012 = new Question(
"Question 12",
0,
"You are driving down a long steep hill. You suddenly notice your brakes are not working as well as normal. What is the usual cause of this?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>When the brakes overheat they become less effective. This could occur on a long downhill stretch. In such a situation lower gears should be used, so that engine braking slows the vehicle down.</small>",
valu,
1,
0,
0,
"Q12.JPG");

resp=new Array("Chain wear","Low oil pressure","Oil leakes","Engine overheating")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest013 = new Question(
"Question 13",
0,
"You have too much oil in your engine. What could this cause?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>With too much oil in the engine, it is possible that the engine pressure will be higher than the manufacturer intended. This can lead to oil being forced out of oil pipes or engine gaskets, causing oil to be lost (possibly on to either of the wheels or the brakes).</small>",
valu,
1,
0,
0,
"Q13.JPG");

resp=new Array("drivers often do not see them","it helps keep them cool in summer","the colours are popular","they must do so by law")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest014 = new Question(
"Question 14",
0,
"Motorcyclist should wear bright clothing mainly because<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>Bright clothing increases the ease with which a rider can be seen by other road users, in turn increasing the safety of the rider.</small>",
valu,
1,
0,
0,
"");

resp=new Array("Comprehensive","Third party only","Personal injury cover","Third party, fire and theft")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest015 = new Question(
"Question 15",
0,
"What is the legal minimum insurance cover you must have to drive on public roads?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>To drive on public roads, you must at least have valid third party insurance. Without this, you are driving illegally.</small>",
valu,
1,
0,
0,
"Q15.JPG");

resp=new Array("behind the line, then edge forward to see clearly","only if there is traffic on the main road","beyond the line at a point where you can see clearly","only if you are turning to the right")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest016 = new Question(
"Question 16",
0,
"At this blind junction you must stop<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>You must stop on this side of the junction to prevent obstruction and then slowly move forward until you can see to ensure that it is safe to pull out.</small>",
valu,
1,
0,
0,
"Q16.JPG");

resp=new Array("first aid trained","a rescue patrol person","a disabled person","a foring visitor")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest017 = new Question(
"Question 17",
0,
"You see a car on the hard shoulder of a motorway with HELP pennant displayed. This means the driver is most likely to be <br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>Help pennants are displayed by disabled drivers that have encountered a situation that they are unable to deal with, without assistance. If you see one, then you should stop if you can do so safely, and provide any assistance you can, or phone the police using the nearest emergency telephone, and they will dispatch a patrol car to assist.</small>",
valu,
1,
0,
0,
"Q9.JPG");

resp=new Array("On an urban motorway","On a dual carriageway","On a roundabout","On a one-way street")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest018 = new Question(
"Question 18",
0,
"Where would you see a contraflow bus and cycle lane?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>These are to allow cycle and bus traffic to move freely. When other drivers can only go down the street buses and cyclists can come up it. Don't straddle the lanes, they are for cyclists and bus drivers only. An impact with either will be very serious.</small>",
valu,
1,
0,
0,
"Q8.JPG");

resp=new Array("accelerate and keep to a high speed for a short time","avoid using the brakes at all for a few miles","go slowly while gently applying the brakes","stop for at least an hour to allow them time to dry")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest019 = new Question(
"Question 19",
0,
"You have just gone through deep water. To dry off the brakes you should<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>The best way to dry the brakes is to force them to heat up a bit. To do this, you can drive/ride slowly whilst applying the brakes slightly. The friction this generates will cause heat to build up, evaporating any water.</small>",
valu,
1,
0,
0,
"Q19.JPG");

resp=new Array("Put the child in a adult seat belt","Turn the seat to face sideways","Deactivating the airbag","Ask a passenger to hold the baby")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest020 = new Question(
"Question 20",
0,
"You are using a rear-facing baby seat. You want to put it on the front passenger seat which is protected by a frontal airbag. What MUST you do before setting off?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>Airbags operate by detonating a small explosive charge which inflates the &quot;bag&quot;. The effect of this on a baby seat can be to crush it, and its occupant. Never use a baby seat on a seat that is protected with an airbag, unless it has been disabled.</small>",
valu,
1,
0,
0,
"Q13.JPG");

resp=new Array("In a marked parking space","In front of a property entrance","On the approach to a level crossing","On your driveway","At or near a bus stop")
corr=new Array("0","1","1","0","1")
comm=""
valu=""
quest021 = new Question(
"Question 21",
1,
"In which THREE places would parking your vehicle cause danger or obstruction to other road users?<br><br /><br>Select 3 answers",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>Parking is not allowed where it would cause other road users danger or inconvenience. The roads are for the use of all. Parking at or near a bus stop inconveniences bus drivers and passengers - and also increases the risk of a pedestrian not being seen by oncoming traffic.</small>",
valu,
1,
0,
0,
"Q13.JPG");

resp=new Array("stop behind the flashing lights","leave the motorway at the next exit","pass the lorry on the left","move into the right-hand lane")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest022 = new Question(
"Question 22",
0,
"You are on a motorway. You see this sign on a lorry that has stopped in the right hand lane. You should<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>The sign tells you to pass on the left. Always obey the sign. The sign is often attached to a vehicle that is travelling down the right-most lane of a motorway or dual carriageway. Failing to pass on the right will almost certainly result in an accident.</small>",
valu,
1,
0,
0,
"Q21.JPG");

resp=new Array("A","B","C","D")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest023 = new Question(
"Question 23",
0,
"Which of these signs warn you of a pedestrian crossing?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>The sign that shows a pedestrian crossing between two sets of lines on the ground is the one intended to indicate that you are approaching a pedestrian crossing point.</small>",
valu,
1,
0,
0,
"Q5.JPG");

resp=new Array("Leaving the motorway","Stopping when you are tired","Joining the motorway","Stopping in an emergency")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest024 = new Question(
"Question 24",
0,
"What should you use the hard shoulder of a motorway for?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>The hard shoulder is provided for stopping in an emergency. It is the safest place to stop but it is itself a hazardous area so be sure you have a real emergency before you stop there.</small>",
valu,
1,
0,
0,
"Q24.JPG");

resp=new Array("pull up on the left-hand verge","slow down, keeping a safe separation distance","move across and continue in the right-hand lane","be wary of cars on your right cutting in","accelerate pass the vehicles in the left-hand lane")
corr=new Array("0","1","0","1","0")
comm=""
valu=""
quest025 = new Question(
"Question 25",
1,
"The traffic ahead of you in the left-hand lane is slowing. You should?<br><br /><br>Select 2 answers",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>You should allow traffic in the right hand lane to merge into your lane as the right hand lane cannot be used further down the road</small>",
valu,
1,
0,
0,
"Q25.JPG");

resp=new Array("Continue through the tunnel if you can","Carry out an emergency stop","Turn your vehicle around immediately","Reverse out of the tunnel")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest026 = new Question(
"Question 26",
0,
"You are driving through a tunnel. Your vehicle catches fire. What should you do?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>Tunnel fires are extremely dangerous, they spread quickly, the heat is contained and builds up very rapidly and smoke fills the space making it difficult for other drivers to breathe, see and escape. If your vehicle does catch fire in a tunnel (and you are able to) you should attempt to continue driving until the vehicle is clear of the tunnel before abandoning it. If that is not possible you should turn your engine off, switch on your hazard lights and attempt to extinguish the fire. Abandoing a burning car in a busy tunnel could well result in fatalities for following drivers.</small>",
valu,
1,
0,
0,
"Q9.JPG");

resp=new Array("improve your vehicle's fuel consumption","make roads slippery for other road users","increase the level of exhaust emissions","waste fuel and money")
corr=new Array("0","1","0","1")
comm=""
valu=""
quest027 = new Question(
"Question 27",
1,
"You have a loose filler cap on your diesel fuel tank. This will<br><br /><br>Select 2 answers",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>Watch out for diesel spillage on a road, especially in wet weather as it is extremely slippery.</small>",
valu,
1,
0,
0,
"Q27.JPG");

resp=new Array("Turn the steering wheel away from the kerb","Park with two wheels on the kerb","Turn the steering wheel towards the kerb","Put the hanbrake on firmly","Park close to the bumper of another car")
corr=new Array("0","0","1","1","0")
comm=""
valu=""
quest028 = new Question(
"Question 28",
1,
"You wish to park facing DOWNHILL. Which TWO of the following should you do?<br><br /><br>Select 2 answers",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>The handbrake should prevent the car rolling with reverse gear selected in case of brake failure. If the car does roll downhill the wheels are pointing towards the kerb which should stop the car.</small>",
valu,
1,
0,
0,
"Q19.JPG");

resp=new Array("there is no flashing amber light","you only stop if someone is waiting to cross","there is a continuously flashing amber beacon","cyclists are not permitted","pedestrians and cyclists may cross")
corr=new Array("1","0","0","0","1")
comm=""
valu=""
quest029 = new Question(
"Question 29",
1,
"At toucan crossings<br><br /><br>Select 2 answers",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>This type of crossing allows both pedestrians and cyclists to cross safely. The crossing is able to detect the presence of pedestrians/cyclists, and will only turn to green when they have cleared the crossing.</small>",
valu,
1,
0,
0,
"Q29.JPG");

resp=new Array("On the right-hand edge of the road","Separating the lanes","On the left-hand edge of the road","Separating the slip road from the motorway")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest030 = new Question(
"Question 30",
0,
"Where can you find reflective amber studs on a motorway?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>The position of reflective studs is laid down so that in fog you know which of the motorway lanes you are using. The studs that mark the edge of the right hand carriageway are amber. The studs between lanes are white and there are Red studs on the border between the left hand lane and the hard shoulder. Green studs are used between the carriageway and a slip road.</small>",
valu,
1,
0,
0,
"Q8.JPG");

resp=new Array("The distance to the nearest town","The speed limit on the slip road","The number of the next junction","The route number of the road")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest031 = new Question(
"Question 31",
0,
"What does ''25'' mean on this motorway sign?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>It tells approaching drivers the junction number so that they know their location relative to the junction number they need to leave the motorway at.</small>",
valu,
1,
0,
0,
"Q31.JPG");

resp=new Array("A","B","C","D")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest032 = new Question(
"Question 32",
0,
"Which arm signal tells you that the car you are following is going to turn left?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>When driving - all hand signals are given with the right hand. A right turn is easy to signal... but to indicate that you are turning left is a little harder. To indicate left you should make a circular movement with your arm. The signal for slowing down is an upward/downward arm movement.</small>",
valu,
1,
0,
0,
"Q32.JPG");

resp=new Array("To mark out an area for trams only","To prevent queuing traffic from blocking the junction on the left","To warn you of the tram lines crossing the road","To mark the entrance lane to a car park")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest033 = new Question(
"Question 33",
0,
"What is the reason for the yellow criss-cross lines on the road here?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>This yellow box junction is intended to prevent cars from stopping in the middle of the junction, preventing traffic that would otherwise be able to move, from using the junction.</small>",
valu,
1,
0,
0,
"Q33.JPG");

resp=new Array("A","B","C","D")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest034 = new Question(
"Question 34",
0,
"Wich sign means ''NO motor vehicles allowed''?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>There is really only one choice possible from the signs shown here... The sign will have to be a &quot;negative order&quot; sign - so it must be a red bordered circle. As it is no motor vehicles - this implies no cars or bikes - so the correct answer must be a sign that shows both.</small>",
valu,
1,
0,
0,
"Q34.JPG");

resp=new Array("for 12 months only","for the life of the vehicle","until the vehicle warranty expires","for as long as you own the vehicle")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest035 = new Question(
"Question 35",
0,
"A Statutory Off Road Notification (SORN) will last<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>A tax disc provides an entitlement to use the public road system. If you are not going to be using public roads, then you do not need a tax disc (if for example your car is being completely overhauled or you are emigrating for a period of time and your car will not be used for the duration). However, you cannot simply &quot;not buy a tax disc&quot;, you must declare that your car is &quot;off road&quot; using a Statuory Off Road Notification. Unless you retax your vehicle within 12 months, you must renew the SORN declaration annually.</small>",
valu,
1,
0,
0,
"Q15.JPG");

resp=new Array("By reducing the amount of time you are accelerating","Because there is less need to use the footbrake","By controlling the amount of steering","Because coasting is kept to a minimum")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest036 = new Question(
"Question 36",
0,
"How can missing out some gear changes save fuel?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>OK... Confession time: We don't like this question much. Under SOME conditions, missing out a gear CAN reduce fuel consumption, but certainly not under all conditions. When it DOES improve fuel consumption it is almost certainly nothing to do with the amount of time you spend accelerating. After all, to get from rest to 30 mph in the shortest possible time, you should definitely use all of the gears! But then, to save fuel you should not accelerate in the shortest possible time. That being said, and assuming the road is flat or downhill, you will improve fuel economy by skipping gears (this is because the engine spends less time at high revs - hence travels further with fewer revolutions of the engine/crank). However, if moving away up-hill, then missing out a gear (going from 1st to 3rd or 2nd to 4th) could well reduce fuel economy markedly, as the engine labours inefficiently in the wrong gear. So, all in all, a rather unsatisfactory selection of answers and a poorly defined question. Fortunately for those taking the exam, three of the four possible answers are pure nonsense!</small>",
valu,
1,
0,
0,
"Q13.JPG");

resp=new Array("A","B","C","D")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest037 = new Question(
"Question 37",
0,
"What shape is a STOP sign at a junction?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>Stop signs are octagonal to help road users to differentiate them in poor weather conditions.</small>",
valu,
1,
0,
0,
"Q37.JPG");

resp=new Array("maximuum brake pressure has been applied","you have not seen a hazard ahead","you do not brake quickly enough","speeding on slippery road surfaces")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest038 = new Question(
"Question 38",
0,
"Ant-lock brakes will take effect when<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>The anti-lock system is only used when you brake harshly. You should only need to brake this quickly in emergency situations. If you do brake hard enough for the car to enter a skid, the anti lock system will pump the brakes for you, allowing the wheels to turn and regaining the driver some level of control over the car's steering and direction.</small>",
valu,
1,
0,
0,
"Q19.JPG");

resp=new Array("The vehicle is slow-moving","A doctor is answering an emergency call","It is a motorway police patrol vehicle","The vehicle is carrying hazardous chemicals")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest039 = new Question(
"Question 39",
0,
"Which vehicle has a flashing green beacon. What does this mean?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>It is an emergency vehicle carrying a doctor. Give way to him if it is safe, be ready for erratic driving.</small>",
valu,
1,
0,
0,
"Q27.JPG");

resp=new Array("Drive slowly on a quiet road","Find a suitable place to stop","Direct your call through the operator","Use hands-free equipment")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest040 = new Question(
"Question 40",
0,
"What is the safest way to use a mobile phone in your vehicle?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>Driving in a dangerous manner whilst using a mobile phone, carries penalties of an unlimited fine and up to two years imprisonment.</small>",
valu,
1,
0,
0,
"Q7.JPG");

resp=new Array("Cross roads","Stop","Turn right","Give way")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest041 = new Question(
"Question 41",
0,
"At a junction you see this sign partly covered by snow. What does it mean?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>Only the stop sign is octagonal. The shape gives the meaning of the sign away.</small>",
valu,
1,
0,
0,
"Q41.JPG");

resp=new Array("2.6 mm","1 mm","2 mm","1.6 mm")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest042 = new Question(
"Question 42",
0,
"You are checking your trailer tyres. What is the legal minimum tread depth over the central three quarters of its breadth?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>Correct tread is essential for good traction on any vehicle, especially in wet conditions.</small>",
valu,
1,
0,
0,
"Q13.JPG");

resp=new Array("Up to seven days after the old certificate has run out","When driving to an MOT centre to arrange an appointment","Just after buying a second-hand car with no MOT","When driving to an appointment at an MOT centre")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest043 = new Question(
"Question 43",
0,
"When is it legal to drive a car over three years old without an MOT certificate?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>It is legal to drive a car that does not have a valid MOT to an MOT testing station, SO LONG AS you have pre-arranged an appointment. This is to allow cars, whose MOT certificates have run out, to get to an MOT station legally.</small>",
valu,
1,
0,
0,
"Q15.JPG");

resp=new Array("put on your sunglasses","change to a lower grear","check tyre pressure","tune your car radio to a local channel")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest044 = new Question(
"Question 44",
0,
"When approaching a tunnel it is good advice to<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>If you are familiar with the road (and know there is a tunnel coming up well in advance) tuning your radio to a local station may allow you to pick up a traffic announcement if there has been an accident in the tunnel.</small>",
valu,
1,
0,
0,
"Q9.JPG");

resp=new Array("Minimum speed 30 mph","End of maximum speed","End of minimum speed","Maximum speed 30 mph")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest045 = new Question(
"Question 45",
0,
"What does this sign mean?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>It instructs drivers that the 30 mph minimum speed restriction is no longer in force. Motorists may now travel at less than 30 mph if they wish.</small>",
valu,
1,
0,
0,
"Q45.JPG");

resp=new Array("Where there are continuous white lines in the middle of the road","Where you are facing oncoming traffic","Where the speed limit exceeds 30 mph","Where you are near a bus stop")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest046 = new Question(
"Question 46",
0,
"You are parked on the road at night. Where must you use parking lights?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>Parking lights must be used where you are parked on a road where the speed limit exceeds 30 mph. This is partly because there may well not be any street lighting-but also because at 40 mph+ traffic needs to see obstacles in plenty of time to react safely.</small>",
valu,
1,
0,
0,
"Q13.JPG");

resp=new Array("No overtaking allowed","Do not cross the line","You are approaching a hazard","No stopping allowed")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest047 = new Question(
"Question 47",
0,
"What does this road marking mean?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>An indication of the severity of the hazard the road presents is indicated by the length of the white lines, the longer the lines, the more hazardous the road.</small>",
valu,
1,
0,
0,
"Q47.JPG");

resp=new Array("Heavy vehicles","High vehicles","Long vehicles","Wide vehicles")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest048 = new Question(
"Question 48",
0,
"Which type of vehicle does this sign apply to?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>The sign warns drivers that only vehicles below the height shown can pass safely through. Tall vehicles, exceeding the posted height, will not be able to continue.</small>",
valu,
1,
0,
0,
"Q48.JPG");

resp=new Array("move to the lane on your left","leave the motorway at the next exit","overtaking on the left only","move over onto the hard shoulder")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest049 = new Question(
"Question 49",
0,
"On a motorway this sign means<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small>Why? : <br><br /><br>Electric signs on motorways are for early warning of temporary hazards. They are there for your safety, act upon them!</small>",
valu,
1,
0,
0,
"Q49.JPG");

resp=new Array("You can park on the days and times shown","No parking at all from Monday to Friday","No parking on the days and times shown","End of the urban clearway restrictions")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest050 = new Question(
"Question 50",
0,
"What does this sign mean?<br><br /><br>Select 1 answer",
resp,
comm,
corr,
"<small><br /><br>Why? : <br><br /><br>The sign shows that an urban clearway is in affect Monday to Friday at certain times. This means that you cannot park during these times, although you can stop to pick up and drop off passengers.</small>",
valu,
1,
0,
0,
"Q50.JPG");

questions = new Array (
quest001,quest002,quest003,quest004,quest005,quest006,quest007,quest008,quest009,quest010,quest011,quest012,quest013,quest014,quest015,quest016,quest017,quest018,quest019,quest020,quest021,quest022,quest023,quest024,quest025,quest026,quest027,quest028,quest029,quest030,quest031,quest032,quest033,quest034,quest035,quest036,quest037,quest038,quest039,quest040,quest041,quest042,quest043,quest044,quest045,quest046,quest047,quest048,quest049,quest050)

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("       <table border=\"0\" width=\"100%\" cellspacing=\"4\" cellpadding=\"10\">\n")
document.write("       <tr>\n")
document.write("       <td width=\"5%\" align=\"center\" valign=\"top\" bgcolor=\"#E6E6FF\"><font face=\"Verdana,Arial\"\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\">\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><font face=\"Verdana,Arial\" color=\"#000080\"><strong><small>")
document.writeln(questions[quest].qstring)
document.write("</small></strong></font></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><small><font face=\"Verdana,Arial\" color=\"#000000\">")
if (type<3) document.write(questions[quest].response[i]);
document.write("</font></small></small><br>\n")
document.write("       ")
}
document.write("</td>\n")
document.write("       </tr>\n")
document.write("       </table>\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("              <a href=\"javascript:void(0)\" ")
document.write(" onClick=\"myshow("+(quest)+",0)\"")
document.write(" onmouseout=\"flipImage ('Back")
document.write(numord)
document.write("', 'BackImage_normal');\" onmouseover=\"flipImage ('Back")
document.write(numord)
document.write("', 'BackImage_up');\"><img alt=\"Back\" border=0 height=50 width=78 name=Back")
document.write(numord)
document.write(" src=\"m_back_button.gif\"></a>\n")
document.write("          ")
}
document.write("\n")
document.write("          ")
if (quest<questions.length) {
document.write("\n")
document.write("             <a href=\"javascript:void(0)\" ")
document.write(" onClick=\"myshow("+quest+",2)\"")
document.write(" onmouseout=\"flipImage ('Next")
document.write(numord)
document.write("', 'NextImage_normal');\" onmouseover=\"flipImage ('Next")
document.write(numord)
document.write("', 'NextImage_up');\"><img alt=\"Next\" border=0 height=50 width=78 name=Next")
document.write(numord)
document.write(" src=\"m_next_button.gif\"></a>\n")
document.write("          ")
}
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>Snowdonia School of Motoring</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";}
document.getElementById('wq_final').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; 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>"
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;
if (count==questions.length+1) {id_str="wq_final";id2_str="wq_final2"}
else {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");
if (count==questions.length+1 && opera) {id2.style.top=id.style.top+id.style.height;}
} 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 (count<questions.length+1 && 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;}
}
