Diff for /rat/client/Attic/code.html between versions 1.49 and 1.63

version 1.49, 2002/03/01 14:58:27 version 1.63, 2003/02/03 18:03:53
Line 37  YEAR 2000 Line 37  YEAR 2000
 5/2,5/3,5/4,5/5,5/6,5/8,5/9,5/13,5/18,5/20,5/22,5/24,5/25,  5/2,5/3,5/4,5/5,5/6,5/8,5/9,5/13,5/18,5/20,5/22,5/24,5/25,
 6/7,6/8,6/9,6/10,6/12,6/15,7/4,7/26,7/28,7/31,8/5,8/19,8/24,  6/7,6/8,6/9,6/10,6/12,6/15,7/4,7/26,7/28,7/31,8/5,8/19,8/24,
 YEAR 2001  YEAR 2001
 01/17/01,03/03,03/05 Gerd Kortemeyer with Scott Harrison  01/17/01,03/03,03/05 Gerd Kortemeyer
 March/April 01 Scott Harrison  
 04/20 Gerd Kortemeyer  04/20 Gerd Kortemeyer
 04/30 Scott Harrison  
 05/31 Scott Harrison  
 06/11,06/25,06/27,06/28,06/29,07/04 Gerd Kortemeyer  06/11,06/25,06/27,06/28,06/29,07/04 Gerd Kortemeyer
 07/24,8/6,8/7,10/16 Scott Harrison  
 03/01/02 Matthew Hall  03/01/02 Matthew Hall
 -->  -->
   
Line 118  var idxflag=-1; // 1 means currently ope Line 114  var idxflag=-1; // 1 means currently ope
                  // -1 means never yet opened/defined                   // -1 means never yet opened/defined
 var idxmode='';  var idxmode='';
   
   var copydx;
   var copydxflag=-1; // 1 means currently open
                    // 0 means closed (but has been open)
                    // -1 means never yet opened/defined
   var copydxmode='';
   
 var parm;  var parm;
 var parmflag=-1; // 1 means currently open  var parmflag=-1; // 1 means currently open
                  // 0 means closed (but has been open)                   // 0 means closed (but has been open)
                  // -1 means never yet opened/defined                   // -1 means never yet opened/defined
                                     
 var iconpath='/adm/lonIcons/';  var iconpath='/adm/lonIcons/';
   var raticons='/adm/rat/';
   
 function testfunction() {  function testfunction() {
    inf.document.forms.resinfo.elements.t.value="ABC";     inf.document.forms.resinfo.elements.t.value="ABC";
Line 967  function drawcell (rtype,ctype,what,cm,o Line 970  function drawcell (rtype,ctype,what,cm,o
             urlparts=url.split('.');              urlparts=url.split('.');
             mime=urlparts[urlparts.length-1];              mime=urlparts[urlparts.length-1];
             if (typeof(mime)=="undefined") { mime=''; }              if (typeof(mime)=="undefined") { mime=''; }
               mime=mime.toLowerCase();
         }          }
         parent.mapout.document.write          parent.mapout.document.write
          ('<img border=0 width='+cw[ctype]+' height='+rh[1]           ('<img border=0 width='+cw[ctype]+' height='+rh[1]
           +' src="resource.gif">');            +' src="'+raticons+'resource.gif">');
          if (zscale==3) {
         if ((mime!='') && (ext!='true')) {          if ((mime!='') && (ext!='true')) {
            parent.mapout.document.write             parent.mapout.document.write
            ('<br><img border=0 src="left.gif"></a><a target="preview" href="'+             ('<br><img border=0 src="'+raticons+'left.gif"></a><a target="preview" href="'+
            url+'.meta"><img border=0 src="'+iconpath+             url+'.meta"><img border=0 src="'+iconpath+
            'meta.gif"><a target="preview" href="'+url+             'meta.gif"><a target="preview" href="'+url+
            '"><img border=0 src="'+iconpath+mime+'.gif">'+             '"><img border=0 src="'+iconpath+mime+'.gif">'+
            '<img border=0 src="right.gif">');             '<img border=0 src="'+raticons+'right.gif">');
         } else {          } else {
            parent.mapout.document.write             parent.mapout.document.write
            ('<br><img border=0 src="middle.gif">');             ('<br><img border=0 src="'+raticons+'middle.gif">');
         }          }
         parent.mapout.document.write          parent.mapout.document.write
            ('<br><img border=0 src="bottom.gif">');             ('<br><img border=0 src="'+raticons+'bottom.gif">');
          } else {
           parent.mapout.document.write
              ('<br><img border=0  width='+cw[ctype]+' height='+rh[1]
             +' src="'+raticons+'bottom.gif">');
          }
      } else {       } else {
         if (what=='c:') {          if (what=='c:') {
            parent.mapout.document.write             parent.mapout.document.write
             ('<img border=0 width='+cw[ctype]+' height='+rh[rtype]              ('<img border=0 width='+cw[ctype]+' height='+rh[rtype]
              +' src="condition.gif">');                         +' src="'+raticons+'condition.gif">');          
         } else {          } else {
            if (what=='rs:') {             if (what=='rs:') {
         mime='';          mime='';
Line 1000  function drawcell (rtype,ctype,what,cm,o Line 1010  function drawcell (rtype,ctype,what,cm,o
             urlparts=url.split('.');              urlparts=url.split('.');
             mime=urlparts[urlparts.length-1];              mime=urlparts[urlparts.length-1];
             if (typeof(mime)=="undefined") { mime=''; }              if (typeof(mime)=="undefined") { mime=''; }
               mime=mime.toLowerCase();
         }          }
               parent.mapout.document.write                parent.mapout.document.write
                ('<img border=0 width='+cw[ctype]+' height='+rh[1]                 ('<img border=0 width='+cw[ctype]+' height='+rh[1]
                +' src="start.gif">');                 +' src="'+raticons+'start.gif">');
          if (zscale==3) {
         if ((mime!='') && (ext!='true')) {          if ((mime!='') && (ext!='true')) {
            parent.mapout.document.write             parent.mapout.document.write
            ('<br><img border=0 src="left.gif"></a><a target="preview" href="'+             ('<br><img border=0 src="'+raticons+'left.gif"></a><a target="preview" href="'+
            url+'.meta"><img border=0 src="'+iconpath+             url+'.meta"><img border=0 src="'+iconpath+
            'meta.gif"><a target="preview" href="'+url+             'meta.gif"><a target="preview" href="'+url+
            '"><img border=0 src="'+iconpath+mime+'.gif">'+             '"><img border=0 src="'+iconpath+mime+'.gif">'+
            '<img border=0 src="right.gif">');             '<img border=0 src="'+raticons+'right.gif">');
         } else {          } else {
            parent.mapout.document.write             parent.mapout.document.write
            ('<br><img border=0 src="middle.gif">');             ('<br><img border=0 src="'+raticons+'middle.gif">');
         }          }
         parent.mapout.document.write          parent.mapout.document.write
            ('<br><img border=0 src="bottom.gif">');             ('<br><img border=0 src="'+raticons+'bottom.gif">');
          } else {
           parent.mapout.document.write
              ('<br><img border=0  width='+cw[ctype]+' height='+rh[1]
             +' src="'+raticons+'bottom.gif">');
          }
   
            } else {             } else {
              if (what=='rf:') {               if (what=='rf:') {
Line 1029  function drawcell (rtype,ctype,what,cm,o Line 1046  function drawcell (rtype,ctype,what,cm,o
             urlparts=url.split('.');              urlparts=url.split('.');
             mime=urlparts[urlparts.length-1];              mime=urlparts[urlparts.length-1];
             if (typeof(mime)=="undefined") { mime=''; }              if (typeof(mime)=="undefined") { mime=''; }
               mime=mime.toLowerCase();
         }          }
                 parent.mapout.document.write                  parent.mapout.document.write
                 ('<img border=0 width='+cw[ctype]+' height='+rh[1]                  ('<img border=0 width='+cw[ctype]+' height='+rh[1]
                 +' src="finish.gif">');                  +' src="'+raticons+'finish.gif">');
          if (zscale==3) {
         if ((mime!='') && (ext!='true')) {          if ((mime!='') && (ext!='true')) {
            parent.mapout.document.write             parent.mapout.document.write
            ('<br><img border=0 src="left.gif"></a><a target="preview" href="'+             ('<br><img border=0 src="'+raticons+'left.gif"></a><a target="preview" href="'+
            url+'.meta"><img border=0 src="'+iconpath+             url+'.meta"><img border=0 src="'+iconpath+
            'meta.gif"><a target="preview" href="'+url+             'meta.gif"><a target="preview" href="'+url+
            '"><img border=0 src="'+iconpath+mime+'.gif">'+             '"><img border=0 src="'+iconpath+mime+'.gif">'+
            '<img border=0 src="right.gif">');             '<img border=0 src="'+raticons+'right.gif">');
         } else {          } else {
            parent.mapout.document.write             parent.mapout.document.write
            ('<br><img border=0 src="middle.gif">');             ('<br><img border=0 src="'+raticons+'middle.gif">');
         }          }
         parent.mapout.document.write          parent.mapout.document.write
            ('<br><img border=0 src="bottom.gif">');             ('<br><img border=0 src="'+raticons+'bottom.gif">');
          } else {
           parent.mapout.document.write
              ('<br><img border=0  width='+cw[ctype]+' height='+rh[1]
             +' src="'+raticons+'bottom.gif">');
          }
   
              } else {               } else {
                 parent.mapout.document.write                  parent.mapout.document.write
                 ('<img border=0 width='+cw[ctype]+' height='+rh[rtype]                  ('<img border=0 width='+cw[ctype]+' height='+rh[rtype]
                 +' src="'+rtype+'.'+ctype+'.'+what+'.gif">');                  +' src="'+raticons+rtype+'.'+ctype+'.'+what+'.gif">');
              }               }
            }             }
         }          }
Line 1070  function drawcell (rtype,ctype,what,cm,o Line 1095  function drawcell (rtype,ctype,what,cm,o
       parent.mapout.document.write        parent.mapout.document.write
          (           (
          '<img border=0 width='+cw[ctype]+' height='+rh[rtype]           '<img border=0 width='+cw[ctype]+' height='+rh[rtype]
         +' src="'+rtype+'.'+ctype+'.empty.gif"></a>');          +' src="'+raticons+rtype+'.'+ctype+'.empty.gif"></a>');
    }     }
    parent.mapout.document.write('</td>');     parent.mapout.document.write('</td>');
  }   }
Line 1421  function info(infostr) { Line 1446  function info(infostr) {
   inf.document.clear();    inf.document.clear();
   inf.document.writeln(    inf.document.writeln(
    '<html><body bgcolor="#FFFFFF">'+     '<html><body bgcolor="#FFFFFF">'+
    '<table><tr><td width=32><img src="info.gif"></td><td bgcolor="#AAFFAA">');     '<table><tr><td width=32><img src="'+raticons+'info.gif"></td><td bgcolor="#AAFFAA">');
   data1=infostr.split('&');    data1=infostr.split('&');
   if (data1[0]=='c') {    if (data1[0]=='c') {
      inf.document.write('<b>Condition (');       inf.document.write('<b>Condition (');
Line 1509  function escape(instring) { Line 1534  function escape(instring) {
    for (k=0;k<instring.length;k++) {     for (k=0;k<instring.length;k++) {
       thischar=instring.charAt(k);        thischar=instring.charAt(k);
       if (thischar==':') { thischar='&#58;'; }        if (thischar==':') { thischar='&#58;'; }
       if (thischar=='"') { thischar='&#34;'; }        if (thischar=='"') { thischar='&#34;'; }// "
       if (thischar=="'") { thischar='&#39;'; }        if (thischar=="'") { thischar='&#39;'; }
       if (thischar==',') { thischar='&#44;'; }        if (thischar==',') { thischar='&#44;'; }
       outstring+=thischar;        outstring+=thischar;
    }     }
    return outstring;     return outstring;
 }  }
 // There must be a way to get rid of the odd number of "s  
   
 // -------------------------------------------------- Insert resource into link  // -------------------------------------------------- Insert resource into link
 function insertreslink(infostr) {  function insertreslink(infostr) {
Line 1576  function idxclear() { Line 1600  function idxclear() {
   idx.document.clear();    idx.document.clear();
 }  }
   
   // --------------------------------------------------------- Clears copy window
   function copydxclear() {
     copydx.document.clear();
   }
 // ------------------------------------------------------- Clears search window  // ------------------------------------------------------- Clears search window
 function srchclear() {  function srchclear() {
   srch.document.clear();    srch.document.clear();
Line 1594  function idxclose() { Line 1622  function idxclose() {
   }    }
 }  }
   
   // --------------------------------------------------------- Closes copy window
   function copydxclose() {
     if (copydx && !copydx.closed) {
       copydxflag=0;
       copydx.close();
     }
   }
   
 // ------------------------------------------------------- Closes search window  // ------------------------------------------------------- Closes search window
 function srchclose() {  function srchclose() {
   if (srch && !srch.closed) {    if (srch && !srch.closed) {
Line 1615  function idxopen(mode) { Line 1651  function idxopen(mode) {
    var options="scrollbars=1,resizable=1,menubar=0";     var options="scrollbars=1,resizable=1,menubar=0";
    idxmode=mode;     idxmode=mode;
    idxflag=1;     idxflag=1;
    idx=open("/res/?launch=1&catalogmode="+mode,"idxout",options);     idx=open("/res/?launch=1&mode=rat&catalogmode="+mode,"idxout",options);
    idx.focus();     idx.focus();
 }  }
   // ------------------------------------------------- Open browser to select map
       var editbrowser;
       function openbrowser(formname,elementname,only,omit) {
           var url = '/res/?';
           if (editbrowser == null) {
               url += 'launch=1&';
           }
           url += 'catalogmode=interactive&';
           url += 'mode=edit&';
           url += 'form=' + formname + '&';
           if (only != null) {
               url += 'only=' + only + '&';
           } 
           if (omit != null) {
               url += 'omit=' + omit + '&';
           }
           url += 'element=' + elementname + '';
           var title = 'Browser';
           var options = 'scrollbars=1,resizable=1,menubar=0';
           options += ',width=700,height=600';
           editbrowser = copydx.open(url,title,options,'1');
           editbrowser.focus();
       }
   // ----------------------------------------------------------- Open copy window
   function copydxopen(mode) {
      var options="scrollbars=1,resizable=1,menubar=0";
      copydxmode=mode;
      copydxflag=1;
      copydx=open("",'copydxout',options);
      copydx.document.clear('');
      copydx.document.writeln(
    '<html><body bgcolor="#FFFFFF"><h1>Copy from Map</h1>'+
    '<form name="mapload"><input type=text size=40 name=importmap>'+
    '<input type=button onClick="javascript:opener.openbrowser'+
    "('mapload','importmap','sequence,page','')"+
    '" value="Browse"><input type=button value="Load Map" '+
    'onClick="window.location=document.mapload.importmap.value+'+
    "'?launch=1&forceselect=1'"+'"></form>');
   
      copydx.document.writeln('</body></html>');
      copydx.focus();
   }
   
 // --------------------------------------------------------- Open search window  // --------------------------------------------------------- Open search window
 function srchopen(mode) {  function srchopen(mode) {
    var options="scrollbars=1,resizable=1,menubar=0";     var options="scrollbars=1,resizable=1,menubar=0";
    srchmode=mode;     srchmode=mode;
    srchflag=1;     srchflag=1;
    srch=open("/adm/searchcat?launch=1&catalogmode="+mode,"srchout",options);     srch=open("/adm/searchcat?launch=1&mode=rat&catalogmode="+mode,"srchout",options);
    srch.focus();     srch.focus();
 }  }
   
Line 1649  function idxcheck(mode) { Line 1727  function idxcheck(mode) {
    idx.focus();     idx.focus();
 }  }
   
   // -------------------------------------------------------- Do idx status check
   function copydxcheck(mode) {
      if (!copydx || copydx.closed || copydxmode!=mode) {
         copydxopen(mode);
      }
      copydx.focus();
   }
   
 // ---------------------------------------------------- Handles "click to edit"  // ---------------------------------------------------- Handles "click to edit"
 function handler(infostr) {  function handler(infostr) {
   var k;    var k;
Line 1658  function handler(infostr) { Line 1744  function handler(infostr) {
   inf.document.clear();    inf.document.clear();
   inf.document.writeln(    inf.document.writeln(
    '<html><body bgcolor="#FFFFFF">'+     '<html><body bgcolor="#FFFFFF">'+
    '<table><tr><td width=32><img src="edit.gif"></td><td bgcolor="#AAFFAA">');     '<table><tr><td width=32><img src="'+raticons+'edit.gif"></td><td bgcolor="#AAFFAA">');
   data1=infostr.split('&');    data1=infostr.split('&');
   if (data1[0]=='c') {    if (data1[0]=='c') {
      inf.document.writeln('<b>Condition</b><hr>');       inf.document.writeln('<b>Condition</b><hr>');
Line 1735  function handler(infostr) { Line 1821  function handler(infostr) {
         inf.document.write(          inf.document.write(
          '<form name=resinfo><table><tr><td>Title:</td><td colspan=2>'           '<form name=resinfo><table><tr><td>Title:</td><td colspan=2>'
         +'<input type=text name=t size=30 value="'          +'<input type=text name=t size=30 value="'
         +data2[0]+'"><input type=hidden name=h value='+data2[3]+'></td></tr>');  +escape(data2[0])+'"><input type=hidden name=h value='+data2[3]+'></td></tr>');
            inf.document.write('<tr><td>URL:</td><td colspan=2>'             inf.document.write('<tr><td>URL:</td><td colspan=2>'
         +'<input type=text name=u size=30 value="'+data2[1]+'"></td></tr>'          +'<input type=text name=u size=30 value="'+data2[1]+'"></td></tr>'
         +'<tr><td>External:</td><td><input type=checkbox name=e');          +'<tr><td>External:</td><td><input type=checkbox name=e');
Line 1830  function empty(rid,k) { Line 1916  function empty(rid,k) {
   inf.document.clear();    inf.document.clear();
   inf.document.writeln(    inf.document.writeln(
    '<html><body bgcolor="#FFFFFF">'+     '<html><body bgcolor="#FFFFFF">'+
    '<table><tr><td width=32><img src="edit.gif"></td><td bgcolor="#AAFFAA">'+     '<table><tr><td width=32><img src="'+raticons+'edit.gif"></td><td bgcolor="#AAFFAA">'+
    '<b>Empty Field</b><hr>');     '<b>Empty Field</b><hr>');
   
         inf.document.writeln('<br><a href="javascript:opener.newresource('+          inf.document.writeln('<br><a href="javascript:opener.newresource('+
Line 1967  function graphreset() { Line 2053  function graphreset() {
   
    objcont[0]='';     objcont[0]='';
    objlinks[0]='';     objlinks[0]='';
    if (((typeof(objcont[1])=="undefined")&&(typeof(objcont[2])=="undefined")) ||  
        ((objcont[1]=='')&&(objcont[2]==''))) {   
       objcont[1]='Start::false:start:res'  
       objcont[2]='Finish::false:finish:res';  
    }  
    graphdef='no';     graphdef='no';
   
 }  }
Line 1985  function rescompare(a,b) { Line 2067  function rescompare(a,b) {
    for (k=1;k<data1.length;k++) {     for (k=1;k<data1.length;k++) {
       if (data1[k]==data2[0]) { rvalue--; }        if (data1[k]==data2[0]) { rvalue--; }
    }     }
    for (k=1;k<data3.length;k++) {     for (k=1;k<data2.length;k++) {
       if (data2[k]==data1[0]) { rvalue++; }        if (data2[k]==data1[0]) { rvalue++; }
    }     }
    if (rvalue==0) { rvalue=data2.length-data1.length; }     if (rvalue==0) { rvalue=data2.length-data1.length; }
Line 2519  function finishload() { Line 2601  function finishload() {
      for (k=1;k<=maxrow;k++) {       for (k=1;k<=maxrow;k++) {
         if (typeof(rowcont[k])=="undefined") { rowcont[k]=''; }          if (typeof(rowcont[k])=="undefined") { rowcont[k]=''; }
      }       }
     } else {
      var hasstart=0;
      var hasfinish=0;
      for (k=0;k<objcont.length;k++) {
          if (typeof(objcont[k])!="undefined") {
             var objfunctype=(objcont[k].split(':'))[3];
             if (objfunctype=='start') { hasstart=1; }
             if (objfunctype=='finish') { hasfinish=1; }
          }       
      }
      if (!hasstart) {
         if ((typeof(objcont[1])=="undefined") || (objcont[1]=='')) {
            objcont[1]='Start::false:start:res';
         }
      } 
      if (!hasfinish) {
         if ((typeof(objcont[2])=="undefined") || (objcont[2]=='')) {
            objcont[2]='Finish::false:finish:res';
         }
      }
   }    }
 }  }
   
Line 2631  function groupimport() { Line 2733  function groupimport() {
    idxcheck('groupimport');     idxcheck('groupimport');
 }  }
   
   function groupcopy() {
      copydxcheck('groupsec');
   }
   
 // -------------------------------------------------------------- Store changes  // -------------------------------------------------------------- Store changes
 function storechange() {  function storechange() {
    var k;     var k;
Line 2687  function leave() { Line 2793  function leave() {
       srchclose();        srchclose();
    }     }
    if (idx && !idx.closed) {     if (idx && !idx.closed) {
       srchclose();        idxclose();
      }
      if (copydx && !copydx.closed) {
         copydxclose();
    }     }
 }  }
   
Line 2697  function leave() { Line 2806  function leave() {
 <body bgcolor="#FFFFFF" onUnload="leave();">  <body bgcolor="#FFFFFF" onUnload="leave();">
 <table border=0><tr><td bgcolor="#aaaaaa">  <table border=0><tr><td bgcolor="#aaaaaa">
 <table border=0><tr>  <table border=0><tr>
 <td bgcolor="#ffffcc"><a href="javascript:togglemode();"><b>T</b>oggle display</a>&nbsp;</td>  <td bgcolor="#ffffcc"><a href="javascript:togglemode();"><font size="-2">Toggle display</font></a></td>
 <td bgcolor="#ffffcc"><a href="javascript:if (zscale>1) { zscale--; draw();}"><b>Z</b>oom out</a>&nbsp;</td>  <td bgcolor="#ffffcc"><a href="javascript:if (zscale>1) { zscale--; draw();}"><font size="-2">Zoom out</font></a></td>
 <td bgcolor="#ffffcc"><a href="javascript:if (zscale<3) { zscale++; draw();}"><b>Z</b>oom in</a>&nbsp;</td>  <td bgcolor="#ffffcc"><a href="javascript:if (zscale<3) { zscale++; draw();}"><font size="-2">Zoom in</font></a></td>
 <td bgcolor="#ffffcc"><a href="javascript:condense();draw();"><b>C</b>ondense</a>&nbsp;</td>  <td bgcolor="#ffffcc"><a href="javascript:condense();draw();"><font size="-2">Condense</font></a></td>
 <td bgcolor="#ffffcc"><a href="javascript:graphopt();draw();"><b>S</b>traighten</a>&nbsp;</td>  <td bgcolor="#ffffcc"><a href="javascript:graphopt();draw();"><font size="-2">Straighten</font></a></td>
 <td bgcolor="#ffffcc"><a href="javascript:revert();"><b>R</b>evert</a>&nbsp;</td>  <td bgcolor="#ffffcc"><a href="javascript:revert();"><font size="-2">Revert</font></a></td>
 <td bgcolor="#ffffcc"><a href="javascript:undo();"><b>U</b>ndo</a>&nbsp;</td>  <td bgcolor="#ffffcc"><a href="javascript:undo();"><font size="-2">Undo</font></a></td>
 <td bgcolor="#ffffcc"><a href="javascript:redo();"><b>R</b>edo</a>&nbsp;</td>  <td bgcolor="#ffffcc"><a href="javascript:redo();"><font size="-2">Redo</font></a></td>
 <td bgcolor="#ffffcc"><a href="javascript:groupsearch();"><b>G</b>roup search</a>&nbsp;</td>  <td bgcolor="#ffffcc"><a href="javascript:groupsearch();"><font size="-2">Search</font></a></td>
 <td bgcolor="#ffffcc"><a href="javascript:groupimport();"><b>G</b>roup import</a>&nbsp;</td>  <td bgcolor="#ffffcc"><a href="javascript:groupimport();"><font size="-2">Import</font></a></td>
 <td bgcolor="#ffcccc"><a href="javascript:storechange();"><b>S</b>ave map</a>&nbsp;</td>  <td bgcolor="#ffffcc"><a href="javascript:groupcopy();"><font size="-2">Copy</font></a></td>
   <td bgcolor="#ffffcc"><a href="javascript:graphdef='no';save();storechange();"><font size="-2">Save map</font></a></td>
   <td bgcolor="#ccffcc"><a href="javascript:storechange();"><font size="-2">Save map and layout</font></a></td>
 </tr></table>  </tr></table>
 </td></tr></table>  </td></tr></table>
 <script>  <script>

Removed from v.1.49  
changed lines
  Added in v.1.63


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>