La chasse aux fautes
Bild: La chasse aux fautes
chasse.htm
— 20 KB
Dateiinhalt
<html>
<head><meta name="author" content="Created with Hot Potatoes by Half-Baked Software, registered to Richard Nisius."></meta><meta name="keywords" content="Hot Potatoes, Half-Baked Software, Windows, University of Victoria"></meta>
<title>
La chasse aux fautes
</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.ie && 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;
}
var ExBGColor = '#DDDDFF';
var PageBGColor = '#FFFFFF';
var NavBarColor = '#333366';
var TextColor = '#000066';
var CurrQNum = 0;
var ALetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var CorrectIndicator = ':-)';
var IncorrectIndicator = 'X';
var YourScoreIs = 'Ton pointage est :';
var Tries = 0;
var CorrectChoices = 0;
var ContinuousScoring = true;
var CorrectFirstTime = 'Réponses correctes la première fois : ';var ExerciseTitle = 'La chasse aux fautes';
var ExerciseSubtitle = 'Questions à choix multiples';
var Instructions = 'Choisis la bonne réponse pour chaque question.'; //'';
var ShuffleQs = true;
var ShuffleAs = true;
var DefaultRight = 'Correct!';
var DefaultWrong = 'Erreur, essaie à nouveau';
var QsToShow = 6;
var ShowOneByOne = true;
var ReadingURL = '';
var EraseFeedback = true;
var Score = 0;
var PreviousPage = history.length;
var NavBar='';
NavBar+='<tr><form name="NavButtons1" action=""><td bgcolor="#333366" align="center">';
NavBar+='<font face="Geneva,Arial" size="-1">';
NavBar+='<input type="button" value="Index" onclick=\'parent.location="index.htm"\'></input>';
NavBar+='<input type="button" value="Exercice suivant" onclick=\'parent.location="contraire.htm"\'></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="#000066">' + ExerciseTitle + '</font><br />';
TitleCode += '<font size="-1" face="Geneva,Arial" color="#000066">' + ExerciseSubtitle + '<br />';
TitleCode += '</font></td></tr>';
var QButtonsOpener = '<table border="0" width="85%" cellpadding="10">';
QButtonsOpener += '<tr><td align="center" valign="middle"><form>';
QButtonsOpener += '<font size="+1"><input type="button" value="<=" onclick="parent.ChangeQ(-1)"></input>';
var QButtonsCloser = '<input type="button" value="=>" onclick="parent.ChangeQ(1)"></input>';
QButtonsCloser += '</font></form></td></tr></table>';
var TableOpener = '<form name="QForm">';
TableOpener += '<table border="0" width="85%">';
var QRow = '<tr><td valign="top" bgcolor="#DDDDFF" align="right">';
QRow += '<font size="+1" face="Geneva,Arial" color="#000066">[QNumber]</font></td>';
QRow += '<td colspan="3" valign="top" bgcolor="#DDDDFF"><font size="-1" face="Geneva,Arial" color="#000066">[Question]<br /> ';
QRow += '</font></td></tr>';
var ARow = '<tr><td></td><td valign="top" bgcolor="#DDDDFF"><input type="text" value=" " size="3" name="FB_[QNum]_[ANum]"></input></td>';
ARow += '<td valign="top" bgcolor="#DDDDFF"><input type="button" value="[ALetter]" OnClick="parent.CheckAnswer([QNum],[ANum])"></input></td>';
ARow += '<td width="100%" bgcolor="#DDDDFF"><font size="-1" face="Geneva,Arial" color="#000066">[Ans]</font></td></tr>';
var MARow = '<tr><td></td><td valign="top" bgcolor="#DDDDFF" colspan="3"><input type="checkbox" name="A_[QNum]_[ANum]" value="[Correct]"></input>';
MARow += '<font size="-1" face="Geneva,Arial" color="#000066">[Ans]</font></td></tr>';
var CheckButton = '<tr><td></td><td valign="top" bgcolor="#DDDDFF" ><input type="button" value="Correction"';
CheckButton += ' onclick="parent.CheckMulti([QNum])"></input></td></tr>';
TableCloser = '</table></form>';
function GoBack(){
var BackSkip = history.length - PreviousPage;
if (BackSkip > 0){
history.go((BackSkip+1)*-1);
}
else{
parent.history.back();
}
}
function ReduceItems(){
var ItemToDump=0;
var j=0;
while (I.length > QsToShow){
ItemToDump = Math.floor(I.length*Math.random());
for (j=ItemToDump; j<(I.length-1); j++){
I[j] = I[j+1];
}
I.length = I.length-1;
}
}
function Shuffle(InArray){
Temp = new Array();
var Len = InArray.length;
var j = Len;
for (var i=0; i<Len; i++){
Temp[i] = InArray[i];
}
for (i=0; i<Len; i++){
Num = Math.floor(j * Math.random());
InArray[i] = Temp[Num];
for (var k=Num; k < j; k++) {
Temp[k] = Temp[k+1];
}
j--;
}
return InArray;
}
function WriteFeedback(Feedback) {
if (is.CRAPBrowser){Feedback=ResolveAllURLs(Feedback);}
//Build the output string
var OutString = '';
OutString += '<html>';
OutString += '<body background="" bgcolor="#FFFFFF" text="#000066" 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="#DDDDFF" align="center">';
OutString += '<font face="Geneva,Arial" size="-1" color="#000066">';
OutString += Feedback;
OutString += '</font></td></tr>'
}
OutString += '</table></center></body></html>';
//Write it to the frame
TopFrame.document.clear();
TopFrame.document.open();
TopFrame.document.write(OutString);
TopFrame.document.close();
}
function StartUp(){
//Reduce array if required
if (QsToShow < I.length){
ReduceItems();
}
//Shuffle stuff if required
if (ShuffleQs == true){
I = Shuffle(I);
}
if (ShuffleAs == true){
for (var i=0; i<I.length; i++){
I[i][1] = Shuffle(I[i][1]);
}
}
//Create arrays
CreateStatusArrays();
//Show the first question or all of them
if (ShowOneByOne == false){
ShowAllQs();
}
else{
ShowQuestion(CurrQNum);
}
//Write the top frame
WriteFeedback(Instructions);
}
I = new Array();
I[0] = new Array();
I[0][0]='Tu étais déjà venu en France ?';
I[0][1] = new Array();
I[0][1][0] = new Array();
I[0][1][0][0]='Non, je n\'y étais pas jamais venu.';
I[0][1][0][1]='\'ne ... jamais\' allein bedeutet \'nie\'';
I[0][1][0][2] = 0;
I[0][1][1] = new Array();
I[0][1][1][0]='Non, je n\'y étais encore jamais venu.';
I[0][1][1][1]='';
I[0][1][1][2] = 1;
I[0][1][2] = new Array();
I[0][1][2][0]='Non, je n\'y étais pas déjà venu.';
I[0][1][2][1]='déjà - schon !';
I[0][1][2][2] = 0;
I[0][2] = 0;
I[1] = new Array();
I[1][0]='Tu as entendu parler de la soirée dansante organisée demain par le camping ?';
I[1][1] = new Array();
I[1][1][0] = new Array();
I[1][1][0][0]='Non, je n\'ai pas entendu parler.';
I[1][1][0][1]='Ergänzungen mit \'de\' (de la soirée dansante ...) müssen durch \'en\' ersetzt werden.';
I[1][1][0][2] = 0;
I[1][1][1] = new Array();
I[1][1][1][0]='Non, je n\'en ai entendu pas parler.';
I[1][1][1][1]='Ne ... pas umschließt das konjugierte Verb.';
I[1][1][1][2] = 0;
I[1][1][2] = new Array();
I[1][1][2][0]='Non, je n\'en ai pas entendu parler.';
I[1][1][2][1]='';
I[1][1][2][2] = 1;
I[1][2] = 0;
I[2] = new Array();
I[2][0]='Tu penses que tu vas y aller avec ta famille ?';
I[2][1] = new Array();
I[2][1][0] = new Array();
I[2][1][0][0]='Non, je crois que je ne vais y aller qu\'avec ma sœur.';
I[2][1][0][1]='';
I[2][1][0][2] = 1;
I[2][1][1] = new Array();
I[2][1][1][0]='Non, je crois que je ne vais pas y aller qu\'avec ma sœur.';
I[2][1][1][1]='ne ... pas - nicht; ne ... que - nur (Diese Antwort ergibt keinen Sinn)';
I[2][1][1][2] = 0;
I[2][1][2] = new Array();
I[2][1][2][0]='Non, je crois que j\'y vais aller que seulement avec ma sœur.';
I[2][1][2][1]='\'y\' muss vor das konjugierte Verb; \'ne\' von \'ne ... que\' fehlt; seulement = - \'ne ... que\' ("doppelt gemoppelt")';
I[2][1][2][2] = 0;
I[2][2] = 0;
I[3] = new Array();
I[3][0]='Tu sais, je la trouve sympa, ta sœur. Tu crois qu\'elle aimerait danser avec moi ?';
I[3][1] = new Array();
I[3][1][0] = new Array();
I[3][1][0][0]='Je ne crois pas. Elle ne danse jamais.';
I[3][1][0][1]='';
I[3][1][0][2] = 1;
I[3][1][1] = new Array();
I[3][1][1][0]='Je ne crois pas. Elle aime danser pas du tout.';
I[3][1][1][1]='\'ne\' fehlt; \'pas\' muss hinter das konjugierte Verb';
I[3][1][1][2] = 0;
I[3][1][2] = new Array();
I[3][1][2][0]='Je ne crois pas. Elle n\'aime danser pas.';
I[3][1][2][1]='\'pas\' muss hinter das konjugierte Verb';
I[3][1][2][2] = 0;
I[3][2] = 0;
I[4] = new Array();
I[4][0]='On va prendre l\'apéritif. Pour nous, il y a du coca. Tu en veux ?';
I[4][1] = new Array();
I[4][1][0] = new Array();
I[4][1][0][0]='Non merci, je ne bois jamais de coca.';
I[4][1][0][1]='';
I[4][1][0][2] = 1;
I[4][1][1] = new Array();
I[4][1][1][0]='Non merci, je n\'aime pas du coca.';
I[4][1][1][1]='\'aimer\' steht mit dem bestimmten Artikel';
I[4][1][1][2] = 0;
I[4][1][2] = new Array();
I[4][1][2][0]='Non merci, je ne bois jamais du coca.';
I[4][1][2][1]='\'ne ... jamais de\' ohne Artikel (verneinte Menge, wie \'ne ... pas de\')';
I[4][1][2][2] = 0;
I[4][2] = 0;
I[5] = new Array();
I[5][0]='On fait encore une partie de boules ensemble ?';
I[5][1] = new Array();
I[5][1][0] = new Array();
I[5][1][0][0]='Non, je préfère ne jouer plus: mes parents m\'attendent.';
I[5][1][0][1]='\'ne plus\' muss hier zusammen vor dem Infinitiv stehen, auf den es sich bezieht';
I[5][1][0][2] = 0;
I[5][1][1] = new Array();
I[5][1][1][0]='Non, ça me n\'intéresse plus de jouer aux boules.';
I[5][1][1][1]='\'ne ... pas\' umschließt Objektpronomen und konjugiertes Verb';
I[5][1][1][2] = 0;
I[5][1][2] = new Array();
I[5][1][2][0]='Non, je n\'ai plus envie de jouer.';
I[5][1][2][1]='';
I[5][1][2][2] = 1;
I[5][2] = 0;
Status = new Array();
function CreateStatusArrays(){
for (var x=0; x<I.length; x++){
Status[x] = new Array();
Status[x][0] = 0; // Question not done yet
Status[x][1] = new Array(); //for tracking whether answers chosen
for (var y=0; y<I[x][1].length; y++){
Status[x][1][y] = '0'; //Answers not chosen yet
}
Status[x][2] = 0; //Wrong tries at this question so far
Status[x][3] = 0; //For storing score out of one on this question
}
}
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;
}
function ChangeQ(ChangeBy){
var NewNum = CurrQNum + ChangeBy;
if ((NewNum >= 0)&&(NewNum<I.length)){
CurrQNum = NewNum;
ShowQuestion(CurrQNum);
}
var CurrScore = '';
if ((ContinuousScoring == true)&&(EraseFeedback == true)){
CurrScore = YourScoreIs + ' ' + Score + '%.';
WriteFeedback(CurrScore);
}
}
function BuildQuestion(QNum){
if (I[QNum][2] == 0){
var Temp = ReplaceStuff('[Question]', I[QNum][0], QRow);
var AnsRows = '';
for (var i=0; i<I[QNum][1].length; i++){
TempAns = ARow;
TempAns = ReplaceStuff('[ANum]', i, TempAns);
TempAns = ReplaceStuff('[ALetter]', ' ' + ALetters.charAt(i) + ' ', TempAns);
TempAns = ReplaceStuff('[Ans]', I[QNum][1][i][0], TempAns);
AnsRows += TempAns;
}
Temp += AnsRows;
Temp = ReplaceStuff('[QNumber]', QNum+1, Temp);
Temp = ReplaceStuff('[QNum]', QNum, Temp);
}
else{
var Temp = ReplaceStuff('[Question]', I[QNum][0], QRow);
var AnsRows = '';
for (var i=0; i<I[QNum][1].length; i++){
TempAns = MARow;
TempAns = ReplaceStuff('[ANum]', i, TempAns);
TempAns = ReplaceStuff('[Correct]', I[QNum][1][i][2], TempAns);
TempAns = ReplaceStuff('[Ans]', I[QNum][1][i][0], TempAns);
AnsRows += TempAns;
}
Temp += AnsRows;
Temp += CheckButton;
Temp = ReplaceStuff('[QNumber]', QNum+1, Temp);
Temp = ReplaceStuff('[QNum]', QNum, Temp);
}
return Temp;
}
function DisplayExercise(StuffToDisplay){
//Build the output string
var OutString = '';
OutString += '<html>';
OutString += '<body background="" bgcolor="#FFFFFF" text="#000066" link="#0000ff" vlink="#0000cc">';
OutString += '<center><table border="0" cellpadding="5" cellspacing="1" width="85%">';
OutString += TitleCode;
OutString += '<tr><td bgcolor="#DDDDFF" align="center">';
OutString += '<font face="Geneva,Arial" size="-1">';
OutString += StuffToDisplay;
OutString += '</font></td></tr>';
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 ShowAllQs(){
var Output = '';
for (var i=0; i<I.length-1; i++){
Output = Output + BuildQuestion(i);
Output = Output + '<tr><td colspan="4"><hr></hr></td></tr>';
}
Output = Output + BuildQuestion(I.length-1);
Output = TableOpener + Output + TableCloser;
DisplayExercise(Output);
}
function ShowQuestion(QNum){
//First, create the Q number readout at the top
var Readout = (QNum+1) + '/' + I.length;
while (Readout.length < 7){
Readout = ' ' + Readout + ' ';
}
Readout = QButtonsOpener + Readout + QButtonsCloser;
var Output = BuildQuestion(QNum);
Output = TableOpener + Output + TableCloser;
DisplayExercise(Readout + Output);
//Mark the answers already done
for (i=0; i<Status[QNum][1].length; i++){
if (Status[QNum][1][i] == 'R'){
MarkAnswer(QNum,i,true)
}
if (Status[QNum][1][i] == 'W'){
MarkAnswer(QNum,i,false)
}
if (Status[QNum][1][i] == 'C'){
CheckCheckbox(QNum,i);
}
}
//Eliminate feedback from previous question
if (EraseFeedback == true){
WriteFeedback('');
}
}
function CheckMulti(QNum){
var TotWrong = 0;
var Output = '';
var TotAns = I[QNum][1].length;
for (var i=TotAns-1; i>=0; i--){
//Find any incorrect choices
var b = eval('BottomFrame.document.QForm.A_' + QNum + '_' + i);
if (b != null){
//if it's wrong, count it
if (b.checked == true){
Status[QNum][1][i] = 'C';
}
else{
Status[QNum][1][i] = 'U';
}
if (((b.checked == true) && (b.value == "0"))||((b.checked == false)&&(b.value == "1"))){
TotWrong++;
}
}
}
if (TotWrong == 0){
Output = DefaultRight;
}
else{
Output = DefaultWrong + '<br />' + (TotAns-TotWrong) + '/' + TotAns;
}
//If you haven't tried the question before
if (Status[QNum][0] == 0){
if (TotWrong > 0){
Status[QNum][2]++;
}
if (TotWrong == 0){
Status[QNum][0] = 1;
//Calculate the score for this question as a floating-point fraction of 1
Status[QNum][3] = ((Status[QNum][1].length - Status[QNum][2]) - 1) / (Status[QNum][1].length - 1);
//If less than zero, set to zero
if (Status[QNum][3] < 0){Status[QNum][3] = 0;}
}
}
//Check whether the quiz is finished
var Finished = true;
for (var i=0; i<Status.length; i++){
if (Status[i][0] == 0){Finished = false;}
}
//Calculate the score if needed
if (Status[QNum][0] == 1){
if ((Finished==true)||(ContinuousScoring==true)){
var DoneQs = 0;
var TotalScore = 0;
for (var i=0; i<Status.length; i++){
if (Status[i][0] == 1){
DoneQs++;
TotalScore += Status[i][3];
}
}
Score = (Math.floor(100 * (TotalScore/DoneQs)));
Output = Output + '<br />' + YourScoreIs + ' ' + Score + '%.';
}
if (Finished == true){
EraseFeedback = false;
var CFT = 0;
for (i=0; i<I.length; i++){
if (Status[i][2] == 0){
CFT++;
}
}
Output += '<br />' + CorrectFirstTime + CFT + '/' + I.length;
}
}
//Show the feedback
if (Output.length > 0){
WriteFeedback(Output);
}
}
function CheckAnswer(QNum, ANum){
var Output = I[QNum][1][ANum][1];
if (Output==''){
if (I[QNum][1][ANum][2] == 1){
Output = DefaultRight;
}
else{
Output = DefaultWrong;
}
}
//If it's not been previously answered correctly
if (Status[QNum][0] == 0){
//If it's a correct answer
if (I[QNum][1][ANum][2] == 1){
Status[QNum][0] = 1;//Mark the Q as done
Status[QNum][1][ANum] = 'R';
MarkAnswer(QNum, ANum, true);
//Calculate the score for this question as a floating-point fraction of 1
var PossibleWrongs = 0;
for (var i=0; i<I[QNum][1].length; i++){
if (I[QNum][1][i][2] == 0){
PossibleWrongs++;
}
}
if (PossibleWrongs == 0){PossibleWrongs = 1;}
Status[QNum][3] = 1 - (Status[QNum][2]/PossibleWrongs);
//If less than zero, set to zero
if (Status[QNum][3] < 0){Status[QNum][3] = 0;}
}
else{
if (Status[QNum][1][ANum] != 'W'){
Status[QNum][1][ANum] = 'W';
MarkAnswer(QNum, ANum, false);
Status[QNum][2]++; //increment wrong tries for this Q
}
}
}
//Check whether the quiz is finished
var Finished = true;
for (var i=0; i<Status.length; i++){
if (Status[i][0] == 0){Finished = false;}
}
//Calculate the score if needed
if (Status[QNum][0] == 1){
if ((Finished==true)||(ContinuousScoring==true)){
var DoneQs = 0;
var TotalScore = 0;
for (var i=0; i<Status.length; i++){
if (Status[i][0] == 1){
DoneQs++;
TotalScore += Status[i][3];
}
}
Score = (Math.floor(100 * (TotalScore/DoneQs)));
Output = Output + '<br />' + YourScoreIs + ' ' + Score + '%.';
}
if (Finished == true){
EraseFeedback = false;
var CFT = 0;
for (i=0; i<I.length; i++){
if (Status[i][2] == 0){
CFT++;
}
}
Output += '<br />' + CorrectFirstTime + CFT + '/' + I.length;
}
}
//Show the feedback
if (Output.length > 0){
WriteFeedback(Output);
}
}
function MarkAnswer(QNum, ANum, Right){
var Mark = CorrectIndicator;
if (Right == false){Mark = IncorrectIndicator;}
if (eval('BottomFrame.document.QForm.FB_' + QNum + '_' + ANum) != null){
eval('BottomFrame.document.QForm.FB_' + QNum + '_' + ANum).value = Mark;
}
}
function CheckCheckbox(QNum, ANum){
if (eval('BottomFrame.document.QForm.A_' + QNum + '_' + ANum) != null){
eval('BottomFrame.document.QForm.A_' + QNum + '_' + ANum).checked = true;
}
}
function Blank(){
return '<html><body>©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="20%,*" onload="StartUp()" framespacing="0" border="0">
<frame src="javascript:parent.Blank()" frameborder="0" name="TopFrame"></frame>
<frame src="javascript:parent.Blank()" frameborder="0" name="BottomFrame"></frame>
</frameset>
</html>

