<html> <head><meta name="author" content="Created with Hot Potatoes by Half-Baked Software, registered to Katherine ROGNIN."></meta><meta name="keywords" content="Hot Potatoes, Half-Baked Software, Windows, University of Victoria"></meta> <title> Legolas </title>  <script language="javascript" type="text/javascript">  //<![CDATA[  <!--  // BrowserCheck Object  function BrowserCheck() { 	var b = navigator.appName //HBS extension 	this.mac = (navigator.appVersion.indexOf('Mac') != -1) 	if (b=="Netscape") this.b = "ns" 	else if (b=="Microsoft Internet Explorer") this.b = "ie" 	else this.b = b 	this.version = navigator.appVersion 	this.v = parseInt(this.version) 	this.ns = (this.b=="ns" && this.v>=4) 	this.ns4 = (this.b=="ns" && this.v==4) 	this.ns5 = (this.b=="ns" && this.v==5) 	this.ie = (this.b=="ie" && this.v>=4) 	this.ie4 = (this.version.indexOf('MSIE 4')>0) 	this.ie5 = (this.version.indexOf('MSIE 5')>0) 	this.min = (this.ns||this.ie) 	this.CRAPBrowser = (this.ie4 && this.mac); //Cannot Resolve Addresses Properly }  is = new BrowserCheck();  var LocFolder = GetFolder(window.location.href); function GetFolder(LocPath){ 	LocPath = ReplaceStuff('\'','%27',LocPath); 	var i = LocPath.lastIndexOf('/'); 	if (i<0){i=LocPath.lastIndexOf('\\')}; 	return LocPath.substring(0,i); }  function CombineURLs(InURL){ 	var i = InURL.indexOf('../'); 	var s = LocFolder; 	while (i >- 1){ 		s = GetFolder(s); 		InURL = InURL.substring(3,InURL.length); 		i = InURL.indexOf('../'); 	} 	return s + '/' + InURL; }  x = new Array(); function ResolveURLs(InText,Attribute){ 	x.length=0; 	var Temp = InText.toLowerCase(); 	var z; 	var AttLen = Attribute.length + 2; 	var y=Temp.lastIndexOf(Attribute + '="'); 	while (y>-1){ 		var sLoc = y+AttLen; 		if (Temp.substring(sLoc,sLoc+5) != 'http:'){ 			x[x.length]=new Array(); 			x[x.length-1][0] = sLoc; 			z = Temp.indexOf('"',sLoc); 			x[x.length-1][1] = z; 			x[x.length-1][2] = InText.substring(sLoc,z);  		} 		Temp = Temp.substring(0,y); 		y=Temp.lastIndexOf(Attribute + '="'); 	} 	for (var j=0; j<x.length; j++){ 		InText = InText.substring(0,x[j][0]) + CombineURLs(x[j][2]) + InText.substring(x[j][1], InText.length); 	} 	return InText; }   function ResolveAllURLs(Stuff){ 	Stuff = ResolveURLs(Stuff,'href'); 	Stuff = ResolveURLs(Stuff,'src'); 	Stuff = ResolveURLs(Stuff,'parent.location'); 	return Stuff; }  if (is.ie){ 	var BoxSize = '1'; } else{ 	var BoxSize = '2'; }  var CurrentBox = -1; var Feedback = ''; var CluesAcross = 'HORIZONTAL'; var CluesDown = 'VERTICAL'; var Correct = 'Bravo!'; var Incorrect = 'seules les bonnes lettres sont &#233;crites dans la grille!';  var GiveHint = 'une nouvelle lettre a &#233;t&#233; ajout&#233;e'; var YourScoreIs = 'ton score est de  '; var Instructions = 'remplis la grille avec des mots en ANGLAIS en cliquant sur un num&#233;ro pour avoir une d&#233;finition.<br />Pour v&#233;rifier tes r&#233;ponses, clique sur VERIFIER<br />Pour avoir une lettre, clique sur INDICE'; var BuiltGrid = ''; var BuiltClues = ''; var BuiltExercise = ''; var Penalties = 0; var ExerciseSubtitle = 'mot crois&#233; 6&#176;'; var ExerciseTitle = 'Legolas'; var FirstShow = true; var ReadingURL = '';  var PreviousPage = history.length; var CurrBoxElement = null;        var NavBar='';   NavBar+='<tr><form name="NavButtons1"><td bgcolor="#000066" align="center">'; NavBar+='<font face="Geneva,Arial" size="-1">';   NavBar+='<input type="button" value="sommaire" onclick=\'parent.location="http://www.ac-rouen.fr/colleges/ormeaux/actu2003/anglais6_7/sommaire_mots_croises.html"\'></input>';   NavBar+='</font></td></form></tr>'; if (is.CRAPBrowser){NavBar=ResolveAllURLs(NavBar);}   var TitleCode = '<tr><td align="center" valign="middle" bgcolor="#ffffff">'; TitleCode += '<font size="+1" face="Geneva,Arial" color="#000033">' + ExerciseTitle + '</font><br />'; TitleCode += '<font size="-1" face="Geneva,Arial" color="#000033">' + ExerciseSubtitle + '<br />';  TitleCode += '</font></td></tr>';  var GridOpener = '<tr><td align="center" valign="middle" bgcolor="#bbbbee"><table border="1" cellpadding="0" cellspacing="0">'; var GridRowOpener = '<tr>'; var GridRowCloser = '</tr>';  var BlankCell = '<td bgcolor="#000000" width="30" height="30">&nbsp;</td>'; var LetterOnlyCell = '<td bgcolor="#FFFFFF" width="30" height="30" align="center" valign="middle"><b><font color="#000000">[Letter]</font></b></td>'; var NumLetterCell = '<td bgcolor="#FFFFFF" width="30" height="30" align="center" valign="top" onclick="parent.ShowClue([ClueNum],[x],[y])" style="cursor: pointer; cursor: hand;"><sup><u>';  if (! is.CRAPBrowser){ 	NumLetterCell += '<a href="javascript:parent.DoNothing()" onclick="parent.ShowClue([ClueNum],[x],[y])">[ClueNum]</a>'; } else{ 	NumLetterCell += '[ClueNum]'; } NumLetterCell += '</u></sup>&nbsp;<b><font color="#000000">[Letter]</font></b></td>';  var GridCloser = '</table></td></tr>';  var Buttons = '<tr><form name="Buttons[Num]" action=""><td align="center" valign="top" bgcolor="#bbbbee">'; Buttons += '<font face="Geneva,Arial" color="#000000">'; Buttons += '<input type="button" value="VERIFIER" onclick="parent.CheckAnswers()"></input>'; Buttons += '</font></td></form></tr>';  var Buttons1 = ReplaceStuff('[Num]', '1', Buttons); var Buttons2 = ReplaceStuff('[Num]', '2', Buttons);  var GetAnswerOpener = '<form name="AnswerForm" action="" onSubmit="return false;">'; var GetAnswer = ' <font size="3"><input type="text" name="[BoxName]" size="[AnsLength]" maxlength="[AnsLength]"></input>'; GetAnswer += ' <input type="button" value="Entrer" '; GetAnswer += 'onClick="parent.EnterAnswer(document.AnswerForm.[BoxName].value,[boolAcross],[AnsLength],[x],[y])"></input>';   GetAnswer += '<input type="button" value="INDICE" onclick="parent.ShowHint([boolAcross],[x],[y],\'[FrameName].document.AnswerForm.[BoxName]\')"></input>';   GetAnswer += '</font>';  var GetAnswerCloser = '</form>';  function GoBack(){ 	var BackSkip = history.length - PreviousPage; 	if (BackSkip > 0){ 		history.go((BackSkip+1)*-1); 	} 	else{ 		parent.history.back(); 	} }      function BuildExercise(){ 	var OutString = ''; 	var Temp = ''; 	var GridStuff = GridOpener;	  	for (var i=0; i<L.length; i++){ 		GridStuff += GridRowOpener; 		for (var j=0; j<L[i].length; j++){ //If the cell is blank, add a black cell 			if (L[i][j] == ''){ 				GridStuff += BlankCell; 			} //else there's a letter there 			else{ //If there's a clue number, add it 				if (C[i][j] > 0){ 					Temp = NumLetterCell; 					Temp = ReplaceStuff('[ClueNum]', C[i][j], Temp); //Add location info 					Temp = ReplaceStuff('[x]', i, Temp); 					Temp = ReplaceStuff('[y]', j, Temp); 				} //Otherwise add a blank cell 				else{ 					Temp = LetterOnlyCell; 				}  //If the cell is already answered, add the letter from the Guess array 				if (G[i][j] != ''){ 					Temp = ReplaceStuff('[Letter]', G[i][j], Temp); 				} //Otherwise, put in a non-breaking space 				else{ 					Temp = ReplaceStuff('[Letter]', '&nbsp;', Temp); 				} 				GridStuff += Temp; 			} 		} 		GridStuff += GridRowCloser; 	}  	GridStuff += GridCloser;  //Put the final pieces together 	OutString = GridStuff; 	BuiltExercise = OutString; }  function WriteFeedback(Feedback) { //Build the output string 	var OutString = ''; 	OutString += '<html>'; 	OutString += '<body  background="" bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#0000cc">'; 	OutString += '<center><table border="0" cellpadding="5" cellspacing="1" width="85%">'; 	OutString += NavBar; 	if (Feedback.length>0){ 		OutString += '<tr><td bgcolor="#bbbbee" align="center">';  		OutString += '<font face="Geneva,Arial" size="-1" color="#000000">'; 		OutString += Feedback; 		OutString += '</font></td></tr>' 	} 	OutString += '</table></center></body></html>';  	if (is.CRAPBrowser){OutString=ResolveAllURLs(OutString);}  //Write it to the frame 	TopFrame.document.clear(); 	TopFrame.document.open(); 	TopFrame.document.write(OutString); 	TopFrame.document.close(); }  function DisplayExercise(){ //Build the output string 	var OutString = ''; 	OutString += '<html>'; 	OutString += '<body  background="" bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#0000cc">'; 	OutString += '<center><table border="0" cellpadding="5" cellspacing="1" width="85%">'; 	OutString += TitleCode; 	OutString += Buttons1;  	OutString += BuiltExercise; 	OutString += Buttons2; 	OutString += BuiltClues; 	OutString += NavBar; 	OutString += '</table></center></body></html>';  	if (is.CRAPBrowser){OutString=ResolveAllURLs(OutString);}  //Write it to the frame 	BottomFrame.document.clear(); 	BottomFrame.document.open(); 	BottomFrame.document.write(OutString); 	BottomFrame.document.close(); }  function BuildClue(ClueNum,x,y,Across){ 	var OutString = ''; 	if (Across == true){ 		if (ClueNum >= A.length){ 			return ''; 		}	 		if (A[ClueNum] == null){ 			return ''; 		} 		OutString = ClueNum + '. ' + A[ClueNum]; 		OutString += GetAnswer; 		OutString = ReplaceStuff('[BoxName]', 'BA'+ClueNum, OutString); //Find out how long the answer is 		AnsLength = 0; 		i = x; 		j = y; 		while (j<L[i].length){ 			if (L[i][j] != ''){ 				AnsLength++; 			} 			else{ 				break; 			} 			j++; 		} 		OutString = ReplaceStuff('[AnsLength]', AnsLength, OutString); 		OutString = ReplaceStuff('[boolAcross]', 'true', OutString); 	} 	else{ 		if (ClueNum >= D.length){ 			return ''; 		}	 		if (D[ClueNum] == null){ 			return ''; 		} 		OutString = ClueNum + '. ' + D[ClueNum]; 		OutString += GetAnswer; 		OutString = ReplaceStuff('[BoxName]', 'BD'+ClueNum, OutString); //Find out how long the answer is 		AnsLength = 0; 		i = x; 		j = y; 		while (i<L.length){ 			if (L[i][j] != ''){ 				AnsLength++; 			} 			else{ 				break; 			} 			i++; 		} 		OutString = ReplaceStuff('[AnsLength]', AnsLength, OutString); 		OutString = ReplaceStuff('[boolAcross]', 'false', OutString); 	} 	OutString = ReplaceStuff('[x]', x ,OutString); 	OutString = ReplaceStuff('[y]', y, OutString); 	OutString = ReplaceStuff('[FrameName]', 'BottomFrame', OutString); 	OutString += '<br />'; 	return OutString; }    function ShowClue(ClueNum,x,y){ 	var OutString = ''; 	var AnsLength = 0; 	var i; 	var j; 	CurrBoxElement = ClueNum; 	if (A[ClueNum] != null){ 		OutString = OutString + 'HORIZONTAL ' + ClueNum + '. ' + A[ClueNum]; 		OutString += GetAnswer; 		OutString = ReplaceStuff('[BoxName]', 'BA'+ClueNum, OutString); //Find out how long the answer is 		AnsLength = 0; 		i = x; 		j = y; 		while (j<L[i].length){ 			if (L[i][j] != ''){ 				AnsLength++; 			} 			else{ 				break; 			} 			j++; 		} 		OutString = ReplaceStuff('[AnsLength]', AnsLength, OutString); 		OutString = ReplaceStuff('[boolAcross]', 'true', OutString); 	} 	if (D[ClueNum] != null){ 		if (OutString.length > 0){ 			OutString += '<br />'; 		} 		OutString = OutString + 'VERTICAL ' + ClueNum + '. ' + D[ClueNum]; 		OutString += GetAnswer; 		OutString = ReplaceStuff('[BoxName]', 'BD'+ClueNum, OutString); //Find out how long the answer is 		AnsLength = 0; 		i = x; 		j = y; 		while (i<L.length){ 			if (L[i][j] != ''){ 				AnsLength++; 			} 			else{ 				break; 			} 			i++; 		} 		OutString = ReplaceStuff('[AnsLength]', AnsLength, OutString); 		OutString = ReplaceStuff('[boolAcross]', 'false', OutString); 	} 	OutString = GetAnswerOpener + OutString + GetAnswerCloser; 	OutString = ReplaceStuff('[x]', x ,OutString); 	OutString = ReplaceStuff('[y]', y, OutString); 	OutString = ReplaceStuff('[FrameName]', 'TopFrame', OutString); 	WriteFeedback(OutString);  	if (eval('TopFrame.document.AnswerForm.BA' + ClueNum) != null){ 		eval('TopFrame.document.AnswerForm.BA' + ClueNum).focus(); 	} 	else{ 		if (eval('TopFrame.document.AnswerForm.BD' + ClueNum) != null){ 			eval('TopFrame.document.AnswerForm.BD' + ClueNum).focus(); 		} 	} }  function EnterAnswer(Guess,Across,AnsLength,x,y){  	Guess = Guess.toUpperCase();  	var i=x; 	var j=y; 	var Letter = 0; 	while (Letter < AnsLength){ 		if (Letter < Guess.length){ 			G[i][j] = Guess.charAt(Letter); 		} 		if (Across == true){ 			j++; 		} 		else{ 			i++; 		} 		Letter++; 	}  	BuildExercise(); 	DisplayExercise(); }  function ShowHint(Across,x,y,BoxName){ 	var i=x; 	var j=y; 	var OutString = ''; 	if (Across==true){ 		while (j<L[i].length){ 			if (L[i][j] != ''){ 				OutString += L[i][j]; 				if (G[i][j] != L[i][j]){ 					G[i][j] = L[i][j]; 					Penalties++; 					break; 				} 			} 			else{ 				break; 			} 		j++; 		} 	} 	else{ 		while (i<L.length){ 			if (L[i][j] != ''){ 				OutString += L[i][j]; 				if (G[i][j] != L[i][j]){ 					G[i][j] = L[i][j]; 					Penalties++; 					break; 				} 			} 			else{ 				break; 			} 		i++; 		} 	} 	if (eval(BoxName) != null){ 		eval(BoxName).value = OutString; 	} }  function ReplaceStuff(Token, Replacement, InString){ 	var i = InString.indexOf(Token); 	var FirstBit = ''; 	var LastBit = ''; 	while (i>-1){ 		FirstBit = InString.substring(0, i); 		LastBit = InString.substring(i + Token.length, InString.length);	 		InString = FirstBit + Replacement + LastBit; 		i = InString.indexOf(Token); 	} 	return InString; }  L = new Array(); L[0] = new Array('','','','','','','','','','','','C','','','','','','',''); L[1] = new Array('','','','','','','','','','','','A','','C','','','','',''); L[2] = new Array('','','','','','','','','W','O','R','K','B','O','O','K','','',''); L[3] = new Array('','','','','','','','','H','','','E','','O','','I','','',''); L[4] = new Array('','','','','','','','','I','','','','','K','','T','','',''); L[5] = new Array('','','C','','','','','','T','','','','','','B','E','','',''); L[6] = new Array('G','O','O','D','','H','A','V','E','-','G','O','T','','','','','',''); L[7] = new Array('E','','W','','','A','','','','','','','','','D','','','',''); L[8] = new Array('R','','','H','A','S','N','O','T','','','','','M','O','O','N','',''); L[9] = new Array('M','','','E','','E','','','I','','','','','','W','','','',''); L[10] = new Array('A','N','K','L','E','','','','E','L','E','P','H','A','N','T','','',''); L[11] = new Array('N','O','','L','','','','','','','','I','','P','','E','','',''); L[12] = new Array('','','H','O','W','-','M','A','N','Y','','N','','P','','N','','','Y'); L[13] = new Array('','','','','','','','','','','','E','','L','','N','I','N','E'); L[14] = new Array('','','','','','','','','','','','A','','E','','I','','','S'); L[15] = new Array('','','','','','','','','','','','P','','','','S','U','N',''); L[16] = new Array('','','','','','','','','','','U','P','','','','','','',''); L[17] = new Array('','','','','','','','','','','','L','I','S','T','E','N','',''); L[18] = new Array('','','','','','','','','B','L','U','E','','','','','','','');   C = new Array(); C[0] = new Array(0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0); C[1] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0); C[2] = new Array(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,4,0,0,0); C[3] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); C[4] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); C[5] = new Array(0,0,5,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0); C[6] = new Array(7,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0); C[7] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0); C[8] = new Array(0,0,0,10,0,0,0,0,11,0,0,0,0,12,0,0,0,0,0); C[9] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); C[10] = new Array(13,14,0,0,0,0,0,0,15,0,0,16,0,17,0,18,0,0,0); C[11] = new Array(19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); C[12] = new Array(0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21); C[13] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,0,0,0); C[14] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); C[15] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0); C[16] = new Array(0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0); C[17] = new Array(0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0); C[18] = new Array(0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,0,0,0);   G = new Array(); G[0] = new Array('','','','','','','','','','','','','','','','','','',''); G[1] = new Array('','','','','','','','','','','','','','','','','','',''); G[2] = new Array('','','','','','','','','','','','','','','','','','',''); G[3] = new Array('','','','','','','','','','','','','','','','','','',''); G[4] = new Array('','','','','','','','','','','','','','','','','','',''); G[5] = new Array('','','','','','','','','','','','','','','','','','',''); G[6] = new Array('','','','','','','','','','','','','','','','','','',''); G[7] = new Array('','','','','','','','','','','','','','','','','','',''); G[8] = new Array('','','','','','','','','','','','','','','','','','',''); G[9] = new Array('','','','','','','','','','','','','','','','','','',''); G[10] = new Array('','','','','','','','','','','','','','','','','','',''); G[11] = new Array('','','','','','','','','','','','','','','','','','',''); G[12] = new Array('','','','','','','','','','','','','','','','','','',''); G[13] = new Array('','','','','','','','','','','','','','','','','','',''); G[14] = new Array('','','','','','','','','','','','','','','','','','',''); G[15] = new Array('','','','','','','','','','','','','','','','','','',''); G[16] = new Array('','','','','','','','','','','','','','','','','','',''); G[17] = new Array('','','','','','','','','','','','','','','','','','',''); G[18] = new Array('','','','','','','','','','','','','','','','','','','');   A = new Array(); A[3]='cahier de travail'; A[6]='&#234;tre'; A[7]='bien bon'; A[8]='avoir'; A[10]='ne pas avoir'; A[12]='lune'; A[13]='cheville'; A[15]='&#233;l&#233;phant'; A[19]='non'; A[20]='combien'; A[22]='neuf'; A[23]='soleil'; A[24]='en haut'; A[25]='&#233;couter'; A[26]='bleu';   D = new Array(); D[1]='g&#226;teau'; D[2]='cuisiner'; D[3]='blanc'; D[4]='cerf volant'; D[5]='vache'; D[7]='allemand'; D[8]='3ps avoir'; D[9]='en bas'; D[10]='bonjour'; D[11]='cravate'; D[14]='non'; D[16]='ananas'; D[17]='pomme'; D[18]='tennis'; D[21]='oui';   function StartUp(){  	BuildExercise();  	WriteFeedback(Instructions); 	DisplayExercise();      } function CheckAnswers(){  	var AllCorrect = true; 	var TotLetters = 0; 	var CorrectLetters = 0;  //Check each letter 	for (var i=0; i<L.length; i++){ 		for (var j=0; j<L[i].length; j++){ 			if (L[i][j] != ''){ 				TotLetters++; 				if (G[i][j] != L[i][j]){ 					G[i][j] = ''; 					AllCorrect = false; 				} 				else{ 					CorrectLetters++; 				} 			} 		} 	}  	var Score = Math.floor(((CorrectLetters-Penalties) * 100)/TotLetters);  //Compile the output 	var Output = '';  	if (AllCorrect == true){ 		Output = Correct + '<br />'; 	}  	Output += YourScoreIs + ' ' + Score + '%.<br />'; 	if (AllCorrect == false){ 		Output += '<br />' + Incorrect; 		Penalties++; 	} 	BuildExercise(); 	WriteFeedback(Output);  		   	DisplayExercise(); }    function DoNothing(){}  function Blank(){ 	return '<html><body>&copy;Half-Baked Software. Loading...</body></html>'; }  //-->  //]]>  </script>   </head> <!--<body>Fool those dumb ad-inserting ISPs</body>-->  <!--For full XHTML 1.0 compatibility, remove the border and framespacing attributes. These are required for proper display in current browsers, but render the document incompatible. Then, you'll need to add the appropriate Document Type Declaration; use the W3C XHTML 1 frameset DTD.-->   <frameset rows="30%,*" framespacing="0" border="0" onload="StartUp()" frameborder="0"> 	<frame src="javascript:parent.Blank()" frameborder="0" name="TopFrame"></frame> 	<frame src="javascript:parent.Blank()" frameborder="0" name="BottomFrame"></frame> </frameset>     </html> 
