Diff for /rat/client/Attic/code.html between versions 1.10 and 1.48

version 1.10, 2000/08/02 15:27:10 version 1.48, 2001/11/29 19:15:37
Line 3 Line 3
 <!--  <!--
 The LearningOnline Network  The LearningOnline Network
 Resource Assembly Tool  Resource Assembly Tool
   //
   // $Id$
   //
   // Copyright Michigan State University Board of Trustees
   //
   // This file is part of the LearningOnline Network with CAPA (LON-CAPA).
   //
   // LON-CAPA is free software; you can redistribute it and/or modify
   // it under the terms of the GNU General Public License as published by
   // the Free Software Foundation; either version 2 of the License, or
   // (at your option) any later version.
   //
   // LON-CAPA is distributed in the hope that it will be useful,
   // but WITHOUT ANY WARRANTY; without even the implied warranty of
   // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   // GNU General Public License for more details.
   //
   // You should have received a copy of the GNU General Public License
   // along with LON-CAPA; if not, write to the Free Software
   // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   //
   // /home/httpd/html/adm/gpl.txt
   //
   // http://www.lon-capa.org/
   //
   YEAR 2000
 7/23,7/24,7/26,  7/23,7/24,7/26,
 8/11,8/14,8/18,8/19,8/20,8/21,8/22,8/25,8/26,8/28,8/30,8/31,  8/11,8/14,8/18,8/19,8/20,8/21,8/22,8/25,8/26,8/28,8/30,8/31,
 9/1,9/2,9/4,9/5,9/6,  9/1,9/2,9/4,9/5,9/6,
 1/7,1/8,1/10,1/14,1/15,1/16,1/21,1/22,1/29,1/30,1/31,  1/7,1/8,1/10,1/14,1/15,1/16,1/21,1/22,1/29,1/30,1/31,
 2/2,2/3,2/10,2/12,2/13,2/14,2/15,2/17,2/18,2/19,2/20,2/21,2/22,  2/2,2/3,2/10,2/12,2/13,2/14,2/15,2/17,2/18,2/19,2/20,2/21,2/22,
 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  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,
 Gerd Kortemeyer with Scott Harrison  YEAR 2001
   01/17/01,03/03,03/05 Gerd Kortemeyer with Scott Harrison
   March/April 01 Scott Harrison
   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
   07/24,8/6,8/7,10/16 Scott Harrison
 -->  -->
   
   
Line 30  var colmap5=new Array(); Line 63  var colmap5=new Array();
 var colmap6=new Array();  var colmap6=new Array();
 var obj=new Array();  var obj=new Array();
 var objcont=new Array();  var objcont=new Array();
   var objparms=new Array();
 var objlinks=new Array();  var objlinks=new Array();
 var rowcont=new Array();  var rowcont=new Array();
 var rowtype=new Array();  var rowtype=new Array();
Line 71  var data4=new Array(1024); Line 105  var data4=new Array(1024);
 var data5=new Array(1024);  var data5=new Array(1024);
   
 var inf;  var inf;
   var srch;
   var srchflag=-1; // 1 means currently open
                    // 0 means closed (but has been open)
                    // -1 means never yet opened/defined
   var srchmode='';
   
   var idx;
   var idxflag=-1; // 1 means currently open
                    // 0 means closed (but has been open)
                    // -1 means never yet opened/defined
   var idxmode='';
   
   var parm;
   var parmflag=-1; // 1 means currently open
                    // 0 means closed (but has been open)
                    // -1 means never yet opened/defined
                    
   var iconpath='/adm/lonIcons/';
   
   function testfunction() {
      inf.document.forms.resinfo.elements.t.value="ABC";
   }
   
 // ------------------------------------------------ Insert a row into the table  // ------------------------------------------------ Insert a row into the table
   
Line 92  function insertrow(j,ex1,ex2) { Line 148  function insertrow(j,ex1,ex2) {
    objects=objects1+':'+objects2;     objects=objects1+':'+objects2;
    data1=objects.split(':');     data1=objects.split(':');
    for (kj=0;kj<data1.length;kj++) {     for (kj=0;kj<data1.length;kj++) {
      if (data1[kj]!='') {       if ((data1[kj]!='') && (typeof(data1[kj])!="undefined")) {
        thisisobj=obj[data1[kj]];         thisisobj=obj[data1[kj]];
        thisobjtype=thisisobj.split('&')[0];         thisobjtype=thisisobj.split('&')[0];
        if (thisobjtype=='v') {         if (thisobjtype=='v') {
Line 133  function insertrow(j,ex1,ex2) { Line 189  function insertrow(j,ex1,ex2) {
                    }                     }
                 }                  }
              }               }
              if (newobj!='') {               if ((newobj!='') && (typeof(newobj)!="undefined")) {
                 thisobjcol=newobj.split('&')[1];                  thisobjcol=newobj.split('&')[1];
                 if (colcover.indexOf(':'+thisobjcol+':',0)==-1) {                  if (colcover.indexOf(':'+thisobjcol+':',0)==-1) {
                    colcover+=thisobjcol+':';                       colcover+=thisobjcol+':';  
Line 159  function insertrow(j,ex1,ex2) { Line 215  function insertrow(j,ex1,ex2) {
                    }                     }
                 }                  }
              }               }
              if (newobj!='') {               if ((newobj!='') && (typeof(newobj)!="undefined")) {
                 thisobjcol=newobj.split('&')[1];                  thisobjcol=newobj.split('&')[1];
                 if (colcover.indexOf(':'+thisobjcol+':',0)==-1) {                  if (colcover.indexOf(':'+thisobjcol+':',0)==-1) {
                    colcover+=thisobjcol+':';                       colcover+=thisobjcol+':';  
Line 256  function maprow (jid,obj1,ign) { Line 312  function maprow (jid,obj1,ign) {
  var j; var k; var left; var right; var middle;   var j; var k; var left; var right; var middle;
  middle=-1;   middle=-1;
  for (j=0;j<=maxcol;j++) { colmap[j]=0; }   for (j=0;j<=maxcol;j++) { colmap[j]=0; }
  if (rowcont[jid]!='') {   if ((rowcont[jid]!='') && (typeof(rowcont[jid])!="undefined")) {
    data2=rowcont[jid].split(':');     data2=rowcont[jid].split(':');
    for (j=0;j<data2.length;j++) {     for (j=0;j<data2.length;j++) {
       data3=obj[data2[j]].split('&');        data3=obj[data2[j]].split('&');
Line 347  function comingthru (jid,kid,dkid) { Line 403  function comingthru (jid,kid,dkid) {
   
 function insertport (obj1,d,inout,linkobj) {  function insertport (obj1,d,inout,linkobj) {
   
   
    var k; var port; var revport;     var k; var port; var revport;
    stored=0;     stored=0;
    data1=obj[obj1].split('&');     data1=obj[obj1].split('&');
Line 427  function insertport (obj1,d,inout,linkob Line 482  function insertport (obj1,d,inout,linkob
 function addobj(kjid,objs) {  function addobj(kjid,objs) {
    stored=0;     stored=0;
    expense++;     expense++;
    if (rowcont[kjid]!='') { rowcont[kjid]+=':'; }     if ((rowcont[kjid]!='') && (typeof(rowcont[kjid])!="undefined")) { 
         rowcont[kjid]+=':'; 
      }
    rowcont[kjid]+=obj.length;     rowcont[kjid]+=obj.length;
    obj[obj.length]=objs;     obj[obj.length]=objs;
    return obj.length-1;     return obj.length-1;
Line 481  function delobj(obj1) { Line 538  function delobj(obj1) {
       rowcont[k]='';        rowcont[k]='';
       for (k2=0;k2<data4.length;k2++) {        for (k2=0;k2<data4.length;k2++) {
          if (data4[k2]!=obj1) {           if (data4[k2]!=obj1) {
             if (rowcont[k]!='') { rowcont[k]+=':'; }               if ((rowcont[k]!='') && (typeof(rowcont[k])!="undefined")) { 
                  rowcont[k]+=':'; 
               } 
             rowcont[k]+=data4[k2];               rowcont[k]+=data4[k2]; 
          }           }
       }        }
    }     }
      obj[obj1]='';
 }  }
   
 // --------------------------------------------------------- Garbage collection  // --------------------------------------------------------- Garbage collection
Line 500  function cleanup () { Line 560  function cleanup () {
    for (kj=0;kj<=maxcol;kj++) { data1[kj]=0; }     for (kj=0;kj<=maxcol;kj++) { data1[kj]=0; }
    for (kj=0;kj<=maxrow;kj++) {     for (kj=0;kj<=maxrow;kj++) {
      rowtype[kj]=0;       rowtype[kj]=0;
      if (rowcont[kj]!='') {       if ((rowcont[kj]!='') && (typeof(rowcont[kj])!="undefined")) {
        data2=rowcont[kj].split(':');         data2=rowcont[kj].split(':');
        for (j=0;j<data2.length;j++) {         for (j=0;j<data2.length;j++) {
          if (obj[data2[j]].substring(0,2)=='e&') {           if (obj[data2[j]].substring(0,2)=='e&') {
Line 593  function crecond(obj1,colid,condtext,con Line 653  function crecond(obj1,colid,condtext,con
 function dellink (linknr) {  function dellink (linknr) {
   var k; var obj1; var obj2;    var k; var obj1; var obj2;
   stored=0;    stored=0;
   if (objlinks[linknr]!='') {    if ((objlinks[linknr]!='') && (typeof(objlinks[linknr])!="undefined")) {
    data3=objlinks[linknr].split(':');     data3=objlinks[linknr].split(':');
    obj1=data3[0];     obj1=data3[0];
    obj2=data3[1];     obj2=data3[1];
Line 616  function dellink (linknr) { Line 676  function dellink (linknr) {
       }        }
    }     }
    for (k=0;k<obj.length;k++) {     for (k=0;k<obj.length;k++) {
      if (obj[k]!='') {       if ((obj[k]!='') && (typeof(obj[k])!="undefined")) {
        data3=obj[k].split('&');         data3=obj[k].split('&');
        if (((data3[0]=='v') || (data3[0]=='h')) &&          if (((data3[0]=='v') || (data3[0]=='h')) && 
            (data3[data3.length-2]==linknr)) {             (data3[data3.length-2]==linknr)) {
Line 678  function joinres (obj1,obj2,cond) { Line 738  function joinres (obj1,obj2,cond) {
       finishload();        finishload();
       tryjoin(obj1,obj2,cond,-1,1);        tryjoin(obj1,obj2,cond,-1,1);
    }     }
   
 }  }
   
   
 function tryjoin(obj1,obj2,cond,d1,d2) {  function tryjoin(obj1,obj2,cond,d1,d2) {
    var k; var kr; var outcol; var incol; var d;     var k; var kr; var outcol; var incol; var d; var dest;
   
    dest=objlinks.length;     dest=objlinks.length;
    objlinks[dest]=obj1+':'+obj2+':'+cond;     objlinks[dest]=obj1+':'+obj2+':'+cond;
Line 826  function delres (obj1,recon) { Line 887  function delres (obj1,recon) {
             for (k2=0;k2<inobjs.length;k2++) {              for (k2=0;k2<inobjs.length;k2++) {
                if (inobjs[k2]==infromobj[k]) {                 if (inobjs[k2]==infromobj[k]) {
                   if (inwithcon[k]!=0) {                    if (inwithcon[k]!=0) {
                      if (inobjscond[k2]!='') { inobjscond[k2]+='||'; }                       if ((inobjscond[k2]!='') &&
                            (typeof(inobjscond[k2])!="undefined")) { 
                            inobjscond[k2]+='||'; 
                        }
                      inobjscond[k2]+=                       inobjscond[k2]+=
                       '('+(objcont[inwithcon[k]].split(':'))[0]+')';                        '('+(objcont[inwithcon[k]].split(':'))[0]+')';
                    }                     }
Line 852  function delres (obj1,recon) { Line 916  function delres (obj1,recon) {
             for (k2=0;k2<outobjs.length;k2++) {              for (k2=0;k2<outobjs.length;k2++) {
                if (outobjs[k2]==outtoobj[k]) {                 if (outobjs[k2]==outtoobj[k]) {
                  if (outwithcon[k]!=0) {                   if (outwithcon[k]!=0) {
                      if (outobjscond[k2]!='') { outobjscond[k2]+='||'; }                       if ((outobjscond[k2]!='') &&
                            (typeof(outobjscond[k2])!="undefined")) { 
                            outobjscond[k2]+='||'; 
                        }
                      outobjscond[k2]+=                       outobjscond[k2]+=
                       '('+(objcont[outwithcon[k]].split(':'))[0]+')';                        '('+(objcont[outwithcon[k]].split(':'))[0]+')';
                   }                    }
Line 874  function delres (obj1,recon) { Line 941  function delres (obj1,recon) {
   
       for (k=0;k<inobjs.length;k++) {        for (k=0;k<inobjs.length;k++) {
           cond='';            cond='';
           if (inobjscond[k]!='') { cond='('+inobjscond[k]+')'; }            if ((inobjscond[k]!='') && (typeof(inobjscond[k])!="undefined")) { 
                cond='('+inobjscond[k]+')'; 
             }
           for (k2=0;k2<outobjs.length;k2++) {            for (k2=0;k2<outobjs.length;k2++) {
               thiscond=cond;                thiscond=cond;
               if (outobjscond[k2]!='') {                if ((outobjscond[k2]!='') && (typeof(outobjscond[k2])!="undefined")) {
                  if (thiscond!='') { thiscond+='&&'; }                   if ((thiscond!='') && (typeof(thiscond)!="undefined")) { 
                       thiscond+='&&'; 
                    }
                  thiscond+='('+outobjscond[k2]+')';                   thiscond+='('+outobjscond[k2]+')';
               }                }
               condnr=0;                condnr=0;
               if (thiscond!='') { condnr=newcondition(thiscond,'normal'); }                 if ((thiscond!='') && (typeof(thiscond)!="undefined")) { 
                    condnr=newcondition(thiscond,'normal'); 
                 }
                 save(); 
               joinres(inobjs[k],outobjs[k2],condnr);                joinres(inobjs[k],outobjs[k2],condnr);
           }            }
       }        }
Line 893  function delres (obj1,recon) { Line 967  function delres (obj1,recon) {
   
 function drawcell (rtype,ctype,what,cm,obj1,ej,ek,ne) {  function drawcell (rtype,ctype,what,cm,obj1,ej,ek,ne) {
  var bgcolor;   var bgcolor;
    var url='';
    var urlparts=new Array;
    var mime;
    var ext;
    var objref;
    var objnum;
   
  if ((what=='') && (ne==0)) { cm="#DDDDDD"; }   if ((what=='') && (ne==0)) { cm="#DDDDDD"; }
  if (ctype!=0) {   if (ctype!=0) {
    parent.mapout.document.write('<td bgcolor='+cm+' width='+cw[ctype]+'>');     parent.mapout.document.write('<td bgcolor='+cm+' width='+cw[ctype]+'>');
    if (what!='') {     if ((what!='') && (typeof(what)!="undefined")) {
      if (obj1!='') {       if ((obj1!='') && (typeof(obj1)!="undefined")) {
        obj1="'"+obj1+"'";         objref="'"+obj1+"'";
        parent.mapout.document.write         parent.mapout.document.write
         ('<a href="javascript:parent.code.handler('+obj1          ('<a href="javascript:parent.code.handler('+objref
          +');" onMouseOver="parent.code.info('+obj1+');">');           +');" onMouseOver="parent.code.info('+objref+');">');
      }        } 
      if (what=='r:') {       if (what=='r:') {
           mime='';
           objnum=(obj1.split('&'))[1];
           if (typeof(objcont[objnum])!="undefined") {
               urlparts=objcont[objnum].split(':');
               url=urlparts[1];
               ext=urlparts[2];
               urlparts=url.split('.');
               mime=urlparts[urlparts.length-1];
               if (typeof(mime)=="undefined") { mime=''; }
           }
         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[1]
           +' src="resource.gif">');            +' src="resource.gif">');
           if ((mime!='') && (ext!='true')) {
              parent.mapout.document.write
              ('<br><img border=0 src="left.gif"></a><a target="preview" href="'+
              url+'.meta"><img border=0 src="'+iconpath+
              'meta.gif"><a target="preview" href="'+url+
              '"><img border=0 src="'+iconpath+mime+'.gif">'+
              '<img border=0 src="right.gif">');
           } else {
              parent.mapout.document.write
              ('<br><img border=0 src="middle.gif">');
           }
           parent.mapout.document.write
              ('<br><img border=0 src="bottom.gif">');
      } else {       } else {
         if (what=='c:') {          if (what=='c:') {
            parent.mapout.document.write             parent.mapout.document.write
Line 914  function drawcell (rtype,ctype,what,cm,o Line 1018  function drawcell (rtype,ctype,what,cm,o
              +' src="condition.gif">');                         +' src="condition.gif">');          
         } else {          } else {
            if (what=='rs:') {             if (what=='rs:') {
           mime='';
           objnum=(obj1.split('&'))[1];
           if (typeof(objcont[objnum])!="undefined") {
               urlparts=objcont[objnum].split(':');
               url=urlparts[1];
               ext=urlparts[2];
               urlparts=url.split('.');
               mime=urlparts[urlparts.length-1];
               if (typeof(mime)=="undefined") { mime=''; }
           }
               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[1]
                +' src="start.gif">');                 +' src="start.gif">');
           if ((mime!='') && (ext!='true')) {
              parent.mapout.document.write
              ('<br><img border=0 src="left.gif"></a><a target="preview" href="'+
              url+'.meta"><img border=0 src="'+iconpath+
              'meta.gif"><a target="preview" href="'+url+
              '"><img border=0 src="'+iconpath+mime+'.gif">'+
              '<img border=0 src="right.gif">');
           } else {
              parent.mapout.document.write
              ('<br><img border=0 src="middle.gif">');
           }
           parent.mapout.document.write
              ('<br><img border=0 src="bottom.gif">');
   
            } else {             } else {
              if (what=='rf:') {               if (what=='rf:') {
           mime='';
           objnum=(obj1.split('&'))[1];
           if (typeof(objcont[objnum])!="undefined") {
               urlparts=objcont[objnum].split(':');
               url=urlparts[1];
               ext=urlparts[2];
               urlparts=url.split('.');
               mime=urlparts[urlparts.length-1];
               if (typeof(mime)=="undefined") { mime=''; }
           }
                 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[1]
                 +' src="finish.gif">');                  +' src="finish.gif">');
           if ((mime!='') && (ext!='true')) {
              parent.mapout.document.write
              ('<br><img border=0 src="left.gif"></a><a target="preview" href="'+
              url+'.meta"><img border=0 src="'+iconpath+
              'meta.gif"><a target="preview" href="'+url+
              '"><img border=0 src="'+iconpath+mime+'.gif">'+
              '<img border=0 src="right.gif">');
           } else {
              parent.mapout.document.write
              ('<br><img border=0 src="middle.gif">');
           }
           parent.mapout.document.write
              ('<br><img border=0 src="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]
Line 930  function drawcell (rtype,ctype,what,cm,o Line 1081  function drawcell (rtype,ctype,what,cm,o
            }             }
         }          }
      }       }
      if (obj1!='') {       if ((obj1!='') && (typeof(obj1)!="undefined")) {
        parent.mapout.document.write('</a>');         parent.mapout.document.write('</a>');
      }       }
    } else {     } else {
Line 987  if (rowtype[jid]!=0) { Line 1138  if (rowtype[jid]!=0) {
  }   }
   
  parent.mapout.document.writeln('<tr height='+rh[rowtype[jid]]+'>');   parent.mapout.document.writeln('<tr height='+rh[rowtype[jid]]+'>');
  if (rowcont[jid]!='') {   if ((rowcont[jid]!='') && (typeof(rowcont[jid])!="undefined")) {
    data2=rowcont[jid].split(':');     data2=rowcont[jid].split(':');
    for (jk=0;jk<data2.length;jk++) {     for (jk=0;jk<data2.length;jk++) {
       data3=obj[data2[jk]].split('&');        data3=obj[data2[jk]].split('&');
Line 1044  if (rowtype[jid]!=0) { Line 1195  if (rowtype[jid]!=0) {
   
          if (rightin>middle) {           if (rightin>middle) {
             for (k=middle+1;k<rightin;k++) {               for (k=middle+1;k<rightin;k++) { 
                if (colmap4[k]!='') {                 if ((colmap4[k]!='') && (typeof(colmap4[k])!="undefined")) {
                   colmap[k]='rlt';                     colmap[k]='rlt'; 
                } else {                 } else {
                   colmap[k]='rl';                    colmap[k]='rl';
Line 1054  if (rowtype[jid]!=0) { Line 1205  if (rowtype[jid]!=0) {
          }           }
          if (leftin<middle) {           if (leftin<middle) {
             for (k=middle-1;k>leftin;k--) {               for (k=middle-1;k>leftin;k--) { 
                if (colmap4[k]!='') {                 if ((colmap4[k]!='') && (typeof(colmap4[k])!="undefined")) {
                   colmap[k]='lrt';                     colmap[k]='lrt'; 
                } else {                 } else {
                   colmap[k]='lr';                    colmap[k]='lr';
Line 1074  if (rowtype[jid]!=0) { Line 1225  if (rowtype[jid]!=0) {
             if (rightout<middle)  { colmap2[middle]='tl'; }              if (rightout<middle)  { colmap2[middle]='tl'; }
             if (rightout==middle) { colmap2[middle]='tdl'; }              if (rightout==middle) { colmap2[middle]='tdl'; }
             if (rightout>middle)  {               if (rightout>middle)  { 
               if (colmap3[middle]!='') {                if ((colmap3[middle]!='') && (typeof(colmap3[middle])!="undefined")) {
                  colmap2[middle]='rtdl';                    colmap2[middle]='rtdl'; 
               } else {                } else {
                  colmap2[middle]='rtl';                   colmap2[middle]='rtl';
Line 1083  if (rowtype[jid]!=0) { Line 1234  if (rowtype[jid]!=0) {
          }           }
          if (leftout<middle) {           if (leftout<middle) {
             for (k=middle-1;k>leftout;k--) {               for (k=middle-1;k>leftout;k--) { 
                if (colmap3[k]!='') {                 if ((colmap3[k]!='') && (typeof(colmap3[k])!="undefined")) {
                   colmap2[k]='rld';                     colmap2[k]='rld'; 
                } else {                 } else {
                   colmap2[k]='rl';                    colmap2[k]='rl';
Line 1093  if (rowtype[jid]!=0) { Line 1244  if (rowtype[jid]!=0) {
          }           }
          if (rightout>middle) {           if (rightout>middle) {
             for (k=middle+1;k<rightout;k++) {               for (k=middle+1;k<rightout;k++) { 
                if (colmap3[k]!='') {                 if ((colmap3[k]!='') && (typeof(colmap3[k])!="undefined")) {
                   colmap2[k]='lrd';                     colmap2[k]='lrd'; 
                } else {                 } else {
                   colmap2[k]='lr';                    colmap2[k]='lr';
Line 1262  function infoclear() { Line 1413  function infoclear() {
   }    }
   inf.document.writeln('</tr></table></body></html>');    inf.document.writeln('</tr></table></body></html>');
   inf.document.close();    inf.document.close();
   parent.focus();    if (srchflag==1) {
       srchclose();
     }
     if (idxflag==1) {
       idxclose();
     }
     if (parmflag==1) {
       parmclose();
     }
     parent.top.focus();
   parent.mapout.focus();    parent.mapout.focus();
   notclear=1;    notclear=1;
   lastinfo='';    lastinfo='';
Line 1287  function infcheck() { Line 1447  function infcheck() {
 // --------------------------------------------------- Prints out resource info  // --------------------------------------------------- Prints out resource info
   
 function info(infostr) {  function info(infostr) {
    var mime='';
    var ext;
    var urlparts=new Array;
    var url='';
  if ((editmode!=1) && (infostr!=lastinfo)) {   if ((editmode!=1) && (infostr!=lastinfo)) {
   notclear=1;    notclear=1;
   infcheck();    infcheck();
Line 1317  function info(infostr) { Line 1481  function info(infostr) {
   } else {    } else {
      if (data1[0]=='r') {       if (data1[0]=='r') {
         data2=objcont[data1[1]].split(':');          data2=objcont[data1[1]].split(':');
         inf.document.write('<b>');          url=data2[1];
           ext=data2[2];
           urlparts=url.split('.');
           mime=urlparts[urlparts.length-1];
           if (typeof(mime)=="undefined") { mime=''; }
           if (ext=='true') { mime=''; }
           if (mime!='') {
              inf.document.write
              ('<br><a target="preview" align="right" href="'+url+
              '"><img border=0 src="'+iconpath+mime+'.gif"></a>&nbsp;&nbsp;');
           }
          inf.document.write('<b>');
         if (data2[2]=='true') { inf.document.write('External '); }          if (data2[2]=='true') { inf.document.write('External '); }
         if (data2[3]=='start') {          if (data2[3]=='start') {
            inf.document.writeln('<b>Start</b>');             inf.document.writeln('<b>Start</b>');
Line 1355  function info(infostr) { Line 1530  function info(infostr) {
   }    }
   inf.document.writeln('</td></tr></table></body></html>');    inf.document.writeln('</td></tr></table></body></html>');
   inf.document.close();    inf.document.close();
   parent.focus();    parent.top.focus();
   parent.mapout.focus();    parent.mapout.focus();
   notclear=0;    notclear=0;
   lastinfo=infostr;    lastinfo=infostr;
Line 1406  function insertreslink(infostr) { Line 1581  function insertreslink(infostr) {
    dellink(lnr);     dellink(lnr);
    newresource(rid,cid,'','','false','normal');     newresource(rid,cid,'','','false','normal');
    nobj=obj.length-1;     nobj=obj.length-1;
      save();
    joinres(fobj,nobj,cobj);     joinres(fobj,nobj,cobj);
      save();
    joinres(nobj,tobj,0);     joinres(nobj,tobj,0);
 }  }
   
Line 1426  function insertcondlink(cid,lnr) { Line 1603  function insertcondlink(cid,lnr) {
    dellink(lnr);     dellink(lnr);
    newresource(maxrow,cid,'','','false','normal');     newresource(maxrow,cid,'','','false','normal');
    nobj=obj.length-1;     nobj=obj.length-1;
      save();
    joinres(fobj,nobj,cobj);     joinres(fobj,nobj,cobj);
      save();
    joinres(nobj,tobj,0);     joinres(nobj,tobj,0);
 }  }
   
   
   
   
   // ------------------------------------------------------ Clears indexer window
   
   function idxclear() {
     idx.document.clear();
   }
   
   // ------------------------------------------------------- Clears search window
   
   function srchclear() {
     srch.document.clear();
   }
   
   // --------------------------------------------------------- Clears parm window
   
   function parmclear() {
     parm.document.clear();
   }
   
   // ------------------------------------------------------ Closes indexer window
   
   function idxclose() {
     if (idx && !idx.closed) {
       idxflag=0;
       idx.close();
     }
   }
   
   // ------------------------------------------------------- Closes search window
   
   function srchclose() {
     if (srch && !srch.closed) {
       srchflag=0;
       srch.close();
     }
   }
   
   // ------------------------------------------------------- Closes search window
   
   function parmclose() {
     if (parm && !parm.closed) {
       parmflag=0;
       parm.close();
     }
   }
   
   // -------------------------------------------------------- Open indexer window
   
   function idxopen(mode) {
      var options="scrollbars=1,resizable=1,menubar=0";
      idxmode=mode;
      idxflag=1;
      idx=open("/res/?launch=1&catalogmode="+mode,"idxout",options);
      idx.focus();
   }
   
   // --------------------------------------------------------- Open search window
   
   function srchopen(mode) {
      var options="scrollbars=1,resizable=1,menubar=0";
      srchmode=mode;
      srchflag=1;
      srch=open("/adm/searchcat?launch=1&catalogmode="+mode,"srchout",options);
      srch.focus();
   }
   
   // -------------------------------------------- Interface function to searching
   
   function search() {
      alert("Searching not yet implemented");
   }
   
   // ------------------------------------------------------- Do srch status check
   
   function srchcheck(mode) {
      if (!srch || srch.closed || srchmode!=mode) {
         srchopen(mode);
      }
      srch.focus();
   }
   
   // -------------------------------------------------------- Do idx status check
   
   function idxcheck(mode) {
      if (!idx || idx.closed || idxmode!=mode) {
         idxopen(mode);
      }
      idx.focus();
   }
   
 // ---------------------------------------------------- Handles "click to edit"  // ---------------------------------------------------- Handles "click to edit"
   
 function handler(infostr) {  function handler(infostr) {
Line 1477  function handler(infostr) { Line 1748  function handler(infostr) {
      }       }
      inf.document.writeln(       inf.document.writeln(
       'opener.infoclear();opener.editmode=0;opener.draw('        'opener.infoclear();opener.editmode=0;opener.draw('
       +');"><b>Change to above values</b></a>&nbsp;&nbsp;'        +');"><b>Save Changes</b></a>&nbsp;&nbsp;'
     +' <a href="javascript:self.document.forms.condinfo.reset()">Reset</a><br>'      +' <a href="javascript:self.document.forms.condinfo.reset()">Reset</a><br>'
       +'<input type=hidden name=h value='+data2[1]+'>');        +'<input type=hidden name=h value='+data2[1]+'>');
   
Line 1517  function handler(infostr) { Line 1788  function handler(infostr) {
            }             }
         }          }
         inf.document.write(          inf.document.write(
          '<form name=resinfo><table><tr><td>Title:</td><td>'           '<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>');          +data2[0]+'"><input type=hidden name=h value='+data2[3]+'></td></tr>');
     if ((data2[3]!='start') && (data2[3]!='finish')) {             inf.document.write('<tr><td>URL:</td><td colspan=2>'
            inf.document.write('<tr><td>URL:</td><td>'  
         +'<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');
         if (data2[2]=='true') { inf.document.write(' checked'); }          if (data2[2]=='true') { inf.document.write(' checked'); }
         inf.document.write('></td></tr>'          inf.document.write('></td><td align=right>'
         +'<tr><td colspan=2>'          +'<a href="javascript:opener.idxcheck(\'interactive\')">Browse</a> '
           +'<a href="javascript:opener'
    +'.srchcheck(\'interactive\')">Search</a></td></tr>');
       if ((data2[3]!='start') && (data2[3]!='finish')) {
           inf.document.write('<tr><td colspan=3>'
         +'<input type=radio name=y value=normal '+          +'<input type=radio name=y value=normal '+
  'onClick="self.document.forms.resinfo.elements.h.value='+"'normal'"+'"');   'onClick="self.document.forms.resinfo.elements.h.value='+"'normal'"+'"');
      if (data2[3]=='normal') { inf.document.write(' checked'); }       if (data2[3]=='normal') { inf.document.write(' checked'); }
Line 1539  function handler(infostr) { Line 1813  function handler(infostr) {
  'onClick="self.document.forms.resinfo.elements.h.value='+"'optional'"+'"');   'onClick="self.document.forms.resinfo.elements.h.value='+"'optional'"+'"');
      if (data2[3]=='optional') { inf.document.write(' checked'); }       if (data2[3]=='optional') { inf.document.write(' checked'); }
      inf.document.write('> Optional</td></tr>');       inf.document.write('> Optional</td></tr>');
     } else {      } 
      inf.document.write(  
         '<tr><td><input type=hidden name=e value=false>'  
                +'<input type=hidden name=u value=""></td></tr>');  
     }  
         inf.document.writeln(          inf.document.writeln(
          '<tr><td colspan=2><a href="javascript:opener.editmode=0;'           '<tr><td colspan=3><a href="javascript:opener.editmode=0;'
         +'opener.notclear=0;opener.objcont['+data1[1]          +'opener.notclear=0;opener.objcont['+data1[1]
         +']=opener.escape(self.document.forms.resinfo.elements.t.value)+'+"':'"          +']=opener.escape(self.document.forms.resinfo.elements.t.value)+'+"':'"
         +'+opener.escape(self.document.forms.resinfo.elements.u.value)+'+"':'"          +'+opener.escape(self.document.forms.resinfo.elements.u.value)+'+"':'"
         +'+self.document.forms.resinfo.elements.e.checked+'+"':'"          +'+self.document.forms.resinfo.elements.e.checked+'+"':'"
         +'+self.document.forms.resinfo.elements.h.value+'+"':res'"          +'+self.document.forms.resinfo.elements.h.value+'+"':res'"
         +';opener.infoclear();opener.editmode=0;opener.draw();">'          +';opener.infoclear();opener.editmode=0;opener.draw();">'
         +'<b>Change to above values</b></a>&nbsp;&nbsp;'          +'<b>Save Changes</b></a>&nbsp;&nbsp;'
         +' <a href="javascript:self.document.forms.resinfo.reset()">Reset</a>'          +' <a href="javascript:self.document.forms.resinfo.reset()">Reset</a>'
         +'</td></tr></table>');          +'</td></tr></table>');
     if ((data2[3]!='start') && (data2[3]!='finish')) {      if ((data2[3]!='start') && (data2[3]!='finish')) {
Line 1571  function handler(infostr) { Line 1841  function handler(infostr) {
          +'opener.linkmode='+data1[1]+';'           +'opener.linkmode='+data1[1]+';'
          +'opener.infoclear();">Link Resource</a>');           +'opener.infoclear();">Link Resource</a>');
     }      }
           inf.document.writeln(
             '<br><a href="javascript:'
            +'opener.setparms('+data1[1]+');'
            +'opener.infoclear();">Set Parameters</a>');
       
       }        }
      } else {       } else {
         linkmode=0;          linkmode=0;
Line 1591  function handler(infostr) { Line 1866  function handler(infostr) {
   }    }
   inf.document.writeln(    inf.document.writeln(
      '<br><a href="javascript:opener.editmode=0;opener.notclear=0;'       '<br><a href="javascript:opener.editmode=0;opener.notclear=0;'
      +'opener.infoclear();">Done</a>');       +'opener.infoclear();">Cancel</a>');
   inf.document.writeln('</form></td></tr></table></body></html>');    inf.document.writeln('</form></td></tr></table></body></html>');
   inf.document.close();    inf.document.close();
   inf.focus();    inf.focus();
Line 1620  function empty(rid,k) { Line 1895  function empty(rid,k) {
          'opener.editmode=0;opener.notclear=0;opener.infoclear();opener.draw('           'opener.editmode=0;opener.notclear=0;opener.infoclear();opener.draw('
           +');">Insert resource</a>');            +');">Insert resource</a>');
   
   if ((mostrecent!=0) && (objcont[mostrecent]!='')) {    if ((mostrecent!=0) && (objcont[mostrecent]!='') && 
                            (typeof(objcont[mostrecent])!="undefined")) {
   
         inf.document.writeln('<br><a href="javascript:opener.newresource('+          inf.document.writeln('<br><a href="javascript:opener.newresource('+
           rid+','+cid+",'','','false','normal');"+            rid+','+cid+",'','','false','normal');"+
Line 1660  function empty(rid,k) { Line 1936  function empty(rid,k) {
   
   inf.document.writeln(    inf.document.writeln(
    '<br><a href="javascript:opener.editmode=0;opener.notclear=0;'     '<br><a href="javascript:opener.editmode=0;opener.notclear=0;'
   +'opener.infoclear();">Done</a>');    +'opener.infoclear();">Cancel</a>');
   inf.document.writeln('</td></tr></table></body></html>');    inf.document.writeln('</td></tr></table></body></html>');
   inf.document.close();    inf.document.close();
   inf.focus();    inf.focus();
Line 1701  function save() { Line 1977  function save() {
  }   }
  parent.server.document.forms.storage.output.value+=   parent.server.document.forms.storage.output.value+=
    '<&>tablemode<:>'+tablemode;     '<&>tablemode<:>'+tablemode;
            
      for (k=0;k<objparms.length;k++) {
         if (objparms[k]) {
            parent.server.document.forms.storage.output.value+=
             '<&>objparms<:>'+k+'<:>'+objparms[k];
         }
      }  
    for (k=0;k<objcont.length;k++) {     for (k=0;k<objcont.length;k++) {
       if (objcont[k]) {        if (objcont[k]) {
          parent.server.document.forms.storage.output.value+=           parent.server.document.forms.storage.output.value+=
Line 1742  function graphreset() { Line 2024  function graphreset() {
    insertcol(-1);     insertcol(-1);
   
    objcont[0]='';     objcont[0]='';
    if (((objcont[1]==undefined)&&(objcont[2]==undefined)) ||     objlinks[0]='';
      if (((typeof(objcont[1])=="undefined")&&(typeof(objcont[2])=="undefined")) ||
        ((objcont[1]=='')&&(objcont[2]==''))) {          ((objcont[1]=='')&&(objcont[2]==''))) { 
       objcont[1]='Start::false:start:res'        objcont[1]='Start::false:start:res'
       objcont[2]='Finish::false:finish:res';        objcont[2]='Finish::false:finish:res';
       objlinks[0]='';  
       objlinks[1]='1:2:0';  
    }     }
   
    graphdef='no';     graphdef='no';
   
 }  }
Line 1784  function tabledraw() { Line 2064  function tabledraw() {
   var ck;    var ck;
   var cck;    var cck;
   var condid;    var condid;
     var url='';
     var mime='';
     var ext='';
     var urlparts=new Array;
   var sortstr=sortobjs();    var sortstr=sortobjs();
  insrestab(1,-1,-1,'');   insrestab(1,-1,-1,'');
  if (sortstr!='') {   if ((sortstr!='') && (typeof(sortstr)!="undefined")) {
   objsorted=sortstr.split('&');    objsorted=sortstr.split('&');
   for (k=0;k<objsorted.length;k++) {    for (k=0;k<objsorted.length;k++) {
      i=(objsorted[k].split(':'))[0];       i=(objsorted[k].split(':'))[0];
Line 1802  function tabledraw() { Line 2086  function tabledraw() {
        }         }
        data1=objcont[i].split(':');         data1=objcont[i].split(':');
        ck=rescolor(data1[2],data1[3]);         ck=rescolor(data1[2],data1[3]);
         parent.mapout.document.write('<tr><td bgcolor="'+ck          parent.mapout.document.write('<tr><td bgcolor="'+ck+'">');
         +'"><b><a href="javascript:if (parent.code.linkmode!=0) { '          url=data1[1];
           ext=data1[2];
           urlparts=url.split('.');
           mime=urlparts[urlparts.length-1];
           if (typeof(mime)=="undefined") { mime=''; }
           if ((mime!='') && (ext!='true')) {
              parent.mapout.document.write
              ('<a target="preview" align="right" href="'+url+'.meta'+
              '"><img src="'+iconpath+'meta.gif"></a><p>'+
              '<a target="preview" align="right"href="'+url+
              '"><img src="'+iconpath+mime+'.gif"></a><p>');
           }
            parent.mapout.document.write(
            '<b><a href="javascript:if (parent.code.linkmode!=0) { '
         +'parent.code.joinres(parent.code.linkmode,'+i+',0);'          +'parent.code.joinres(parent.code.linkmode,'+i+',0);'
         +'parent.code.linkmode=0;parent.code.editmode=0;'          +'parent.code.linkmode=0;parent.code.editmode=0;'
         +'parent.code.notclear=0;parent.code.infoclear();'          +'parent.code.notclear=0;parent.code.infoclear();'
Line 1811  function tabledraw() { Line 2108  function tabledraw() {
         +'"><form name=r'+i+' method=post>');          +'"><form name=r'+i+' method=post>');
       data2=obj[i].split('&');        data2=obj[i].split('&');
       parent.mapout.document.write('<table bgcolor="#CCCCCC">');        parent.mapout.document.write('<table bgcolor="#CCCCCC">');
   
       if (data1[3]=='start') {         if (data1[3]=='start') { 
          parent.mapout.document.writeln('<tr><td><b>Start</b></td></tr>');           parent.mapout.document.writeln('<tr><td><b>Start</b></td></tr>');
       }        }
Line 1821  function tabledraw() { Line 2119  function tabledraw() {
        '<tr><td>Title:</td><td><input type=text name=t size=50 value="'         '<tr><td>Title:</td><td><input type=text name=t size=50 value="'
             +data1[0]+'"><input type=hidden name=h value='+data1[3]              +data1[0]+'"><input type=hidden name=h value='+data1[3]
             +'></td></tr>');              +'></td></tr>');
     if ((data1[3]!='start') && (data1[3]!='finish')) {  
       parent.mapout.document.write(        parent.mapout.document.write(
        '<tr><td>URL:</td><td><input type=text name=u size=50 value="'         '<tr><td>URL:</td><td><input type=text name=u size=50 value="'
                                   +data1[1]+'"></td></tr>'                                    +data1[1]+'"></td></tr>'
           +'<tr><td>External:</td><td><input type=checkbox name=e');            +'<tr><td>External:</td><td><input type=checkbox name=e');
         if (data1[2]=='true') { parent.mapout.document.write(' checked'); }          if (data1[2]=='true') { parent.mapout.document.write(' checked'); }
         parent.mapout.document.write('></td></tr>'          parent.mapout.document.write('></td></tr>');
         +'<tr><td colspan=2><input type=radio name=y value=normal '+      if ((data1[3]!='start') && (data1[3]!='finish')) {
           parent.mapout.document.write(
           '<tr><td colspan=2><input type=radio name=y value=normal '+
  'onClick="parent.mapout.document.forms.r'+i+'.elements.h.value='+   'onClick="parent.mapout.document.forms.r'+i+'.elements.h.value='+
      "'normal'"+'"');       "'normal'"+'"');
      if (data1[3]=='normal') { parent.mapout.document.write(' checked'); }       if (data1[3]=='normal') { parent.mapout.document.write(' checked'); }
Line 1843  function tabledraw() { Line 2142  function tabledraw() {
      "'optional'"+'"');       "'optional'"+'"');
      if (data1[3]=='optional') { parent.mapout.document.write(' checked'); }       if (data1[3]=='optional') { parent.mapout.document.write(' checked'); }
      parent.mapout.document.write('> Optional</td></tr>');       parent.mapout.document.write('> Optional</td></tr>');
     } else {      } 
      parent.mapout.document.write(  
        '<tr><td><input type=hidden name=u value="">'  
               +'<input type=hidden name=e value=false></td></tr>');  
     }  
      parent.mapout.document.write(       parent.mapout.document.write(
          '<tr><td colspan=2><a href="javascript:parent.code.objcont['+i                   '<tr><td colspan=2><a href="javascript:parent.code.objcont['+i        
         +']=parent.code.escape(parent.mapout.document.forms.r'+i          +']=parent.code.escape(parent.mapout.document.forms.r'+i
Line 1857  function tabledraw() { Line 2152  function tabledraw() {
         +'+parent.mapout.document.forms.r'+i+'.elements.e.checked+'+"':'"          +'+parent.mapout.document.forms.r'+i+'.elements.e.checked+'+"':'"
         +'+parent.mapout.document.forms.r'+i+'.elements.h.value+'+"':res'"          +'+parent.mapout.document.forms.r'+i+'.elements.h.value+'+"':res'"
         +';parent.code.draw();">'          +';parent.code.draw();">'
         +'<b>Change to above values</b></a>&nbsp;&nbsp;'          +'<b>Save Changes</b></a>&nbsp;&nbsp;'
         +' <a href="javascript:parent.mapout.document.forms.r'+i          +' <a href="javascript:parent.mapout.document.forms.r'+i
         +'.reset()">Reset</a></td></tr><tr><td colspan=2>');          +'.reset()">Reset</a></td></tr><tr><td colspan=2>');
     if ((data1[3]!='start') && (data1[3]!='finish')) {      if ((data1[3]!='start') && (data1[3]!='finish')) {
Line 1873  function tabledraw() { Line 2168  function tabledraw() {
        parent.mapout.document.writeln(         parent.mapout.document.writeln(
         '<a href="javascript:parent.code.linkmode='+i+          '<a href="javascript:parent.code.linkmode='+i+
        ';parent.code.notclear=0;parent.code.infoclear();">'+         ';parent.code.notclear=0;parent.code.infoclear();">'+
        'Link resource</a></td></tr>');         'Link resource</a>');
     }      }
           parent.mapout.document.writeln(
             '<br><a href="javascript:'
            +'parent.code.setparms('+i+');">Set Parameters</a>');
   
         parent.mapout.document.writeln('</td></tr>');
        parent.mapout.document.writeln('<tr><td colspan=2><table><tr>');         parent.mapout.document.writeln('<tr><td colspan=2><table><tr>');
        for (j=2;j<data2.length;j++) {         for (j=2;j<data2.length;j++) {
            data4=data2[j].split(':');             data4=data2[j].split(':');
Line 1942  function insrestab(irow,be,af,typ) { Line 2242  function insrestab(irow,be,af,typ) {
        '<a href="javascript:parent.code.insertrow('         '<a href="javascript:parent.code.insertrow('
        +irow+');parent.code.newresource(parent.code.maxrow,'+rcol[0]         +irow+');parent.code.newresource(parent.code.maxrow,'+rcol[0]
  +",'','','false','normal');parent.code.mostrecent=parent.code.obj.length-1;"   +",'','','false','normal');parent.code.mostrecent=parent.code.obj.length-1;"
          +"parent.code.save();"
        +'parent.code.joinres('+be+',parent.code.mostrecent,0);'         +'parent.code.joinres('+be+',parent.code.mostrecent,0);'
        +'parent.code.draw();">'         +'parent.code.draw();">'
        +'Insert resource linked to from above</a><br>');         +'Insert resource linked to from above</a><br>');
Line 1951  function insrestab(irow,be,af,typ) { Line 2252  function insrestab(irow,be,af,typ) {
        '<a href="javascript:parent.code.insertrow('         '<a href="javascript:parent.code.insertrow('
        +irow+');parent.code.newresource(parent.code.maxrow,'+rcol[0]         +irow+');parent.code.newresource(parent.code.maxrow,'+rcol[0]
  +",'','','false','normal');parent.code.mostrecent=parent.code.obj.length-1;"   +",'','','false','normal');parent.code.mostrecent=parent.code.obj.length-1;"
          +"parent.code.save();"
        +'parent.code.joinres('+be+',parent.code.mostrecent,0);'         +'parent.code.joinres('+be+',parent.code.mostrecent,0);'
          +"parent.code.save();"
        +'parent.code.joinres(parent.code.mostrecent,'+af+',0);'         +'parent.code.joinres(parent.code.mostrecent,'+af+',0);'
        +'parent.code.draw();">'         +'parent.code.draw();">'
        +'Insert resource linked to from above and linking to below</a><br>');         +'Insert resource linked to from above and linking to below</a><br>');
Line 1961  function insrestab(irow,be,af,typ) { Line 2264  function insrestab(irow,be,af,typ) {
        '<a href="javascript:parent.code.insertrow('         '<a href="javascript:parent.code.insertrow('
        +irow+');parent.code.newresource(parent.code.maxrow,'+rcol[0]         +irow+');parent.code.newresource(parent.code.maxrow,'+rcol[0]
  +",'','','false','normal');parent.code.mostrecent=parent.code.obj.length-1;"   +",'','','false','normal');parent.code.mostrecent=parent.code.obj.length-1;"
          +"parent.code.save();"
        +'parent.code.joinres(parent.code.mostrecent,'+af+',0);'         +'parent.code.joinres(parent.code.mostrecent,'+af+',0);'
        +'parent.code.draw();">'         +'parent.code.draw();">'
        +'Insert resource linking to below</a><br>');         +'Insert resource linking to below</a><br>');
Line 1979  function simpletabledraw() { Line 2283  function simpletabledraw() {
   var nr;    var nr;
   var ck;    var ck;
   var cck;    var cck;
     var mime;
     var ext;
     var url;
     var urlparts=new Array;
   var condid;    var condid;
   var sortstr=sortobjs();    var sortstr=sortobjs();
  if (sortstr!='') {   if ((sortstr!='') && (typeof(sortstr)!="undefined")) {
   objsorted=sortstr.split('&');    objsorted=sortstr.split('&');
   for (k=0;k<objsorted.length;k++) {    for (k=0;k<objsorted.length;k++) {
      i=(objsorted[k].split(':'))[0];       i=(objsorted[k].split(':'))[0];
Line 1997  function simpletabledraw() { Line 2305  function simpletabledraw() {
        }         }
        data1=objcont[i].split(':');         data1=objcont[i].split(':');
        ck=rescolor(data1[2],data1[3]);         ck=rescolor(data1[2],data1[3]);
         parent.mapout.document.write('<tr><td bgcolor="'+ck          parent.mapout.document.write('<tr><td bgcolor="'+ck+'">');
         +'"><b>'+k+'</b></td><td bgcolor="'+ck          url=data1[1];
         +'">');          ext=data1[2];
           urlparts=url.split('.');
           mime=urlparts[urlparts.length-1];
           if (typeof(mime)=="undefined") { mime=''; }
           if ((mime!='') && (ext!='true')) {
              parent.mapout.document.write
              ('<a target="preview" align="right" href="'+url+'.meta'+
              '"><img src="'+iconpath+'meta.gif"></a><p>'+
              '<a target="preview" align="right"href="'+url+
              '"><img src="'+iconpath+mime+'.gif"></a><p>');
           }        
         parent.mapout.document.write('<b>'+k+'</b></td><td bgcolor="'+ck+'">');
       data2=obj[i].split('&');        data2=obj[i].split('&');
       parent.mapout.document.write('<table>');        parent.mapout.document.write('<table>');
   
       if (data1[3]=='start') {         if (data1[3]=='start') { 
          parent.mapout.document.writeln('<tr><td><b>Start</b></td></tr>');           parent.mapout.document.writeln('<tr><td><b>Start</b></td></tr>');
       }        }
Line 2079  function sortobjs() { Line 2399  function sortobjs() {
    for (k=1;k<objlinks.length;k++) {     for (k=1;k<objlinks.length;k++) {
      wheelswitch();       wheelswitch();
      message("Sorting Resources: "+funny);       message("Sorting Resources: "+funny);
      if (objlinks[k]!='') {       if ((typeof(objlinks[k])!="undefined") && (objlinks[k]!='')) {
       sortthis=1;        sortthis=1;
       data1=objlinks[k].split(':');        data1=objlinks[k].split(':');
       kj=-1;        kj=-1;
Line 2168  function graphopt() { Line 2488  function graphopt() {
       row[k]=k;        row[k]=k;
    }     }
    maxrow=rowcont.length-1;     maxrow=rowcont.length-1;
   
    var oldlinks=new Array();     var oldlinks=new Array();
    for (k=0;k<objlinks.length;k++) { oldlinks[k]=objlinks[k]; }     for (k=0;k<objlinks.length;k++) { 
         oldlinks[k]=objlinks[k]; 
         objlinks[k]='';
      }
    objlinks.length=0;     objlinks.length=0;
    objlinks[0]='';     objlinks[0]='';
      graphdef='yes';
      save();
   
    for (k=0;k<objsorted.length;k++) {     for (k=0;k<objsorted.length;k++) {
       kj=(objsorted[k].split(':'))[0];       wheelswitch();
        message("Connecting Resources: "+funny);
        kj=(objsorted[k].split(':'))[0];
       for (ij=1;ij<oldlinks.length;ij++) {        for (ij=1;ij<oldlinks.length;ij++) {
         if (oldlinks[ij]) {          if (oldlinks[ij]) {
           data1=oldlinks[ij].split(':');            data1=oldlinks[ij].split(':');
           if (data1[0]==kj) {            if (data1[0]==kj) {
              joinres(data1[0],data1[1],data1[2]);               joinres(data1[0],data1[1],data1[2]);
                save();
           }            }
          }           }
       }        }
    }     }
    graphdef='yes';  
 }  }
   
 // ----------------------------------------------------------- Remove e-objects  // ----------------------------------------------------------- Remove e-objects
Line 2193  function condense() { Line 2520  function condense() {
    message("Condensing");     message("Condensing");
    var j;     var j;
    for (j=0;j<=maxrow;j++) {     for (j=0;j<=maxrow;j++) {
      if (rowcont[j]!='') {       if ((rowcont[j]!='') && (typeof(rowcont[j])!="undefined")) {
       data1=rowcont[j].split(':');        data1=rowcont[j].split(':');
       rowcont[j]='';        rowcont[j]='';
       for (k=0;k<data1.length;k++) {        for (k=0;k<data1.length;k++) {
          if (obj[data1[k]].substring(0,2)!='e&') {           if (obj[data1[k]].substring(0,2)!='e&') {
             if (rowcont[j]!='') { rowcont[j]+=':'; }              if ((rowcont[j]!='') && (typeof(rowcont[j])!="undefined")) { 
                  rowcont[j]+=':'; 
               }
             rowcont[j]+=data1[k];              rowcont[j]+=data1[k];
          }           }
       }        }
Line 2211  function condense() { Line 2540  function condense() {
 function load() {  function load() {
    message("Loading");     message("Loading");
    schedule('load');     schedule('load');
    checkdef();  
 }  }
   
 function finishload() {  function finishload() {
Line 2227  function finishload() { Line 2555  function finishload() {
    lastinfo='';     lastinfo='';
    graphreset();     graphreset();
    var inputstr=parent.server.document.forms.storage.output.value;     var inputstr=parent.server.document.forms.storage.output.value;
    if (inputstr!='') {     if ((inputstr!='') && (typeof(inputstr)!="undefined")) {
    data1=inputstr.split('<&>');     data1=inputstr.split('<&>');
    var k;     var k;
    for (k=0;k<data1.length;k++) {     for (k=0;k<data1.length;k++) {
        data2=data1[k].split('<:>');         data2=data1[k].split('&colon;').join('&#58;').split('<:>');
        if (data2[0]=='graphdef') { graphdef=data2[1]; }         if (data2[0]=='graphdef') { graphdef=data2[1]; }
        if (data2[0]=='maxcol') { maxcol=1*data2[1]; }         if (data2[0]=='maxcol') { maxcol=1*data2[1]; }
        if (data2[0]=='maxrow') { maxrow=1*data2[1]; }         if (data2[0]=='maxrow') { maxrow=1*data2[1]; }
        if (data2[0]=='obj') { obj[data2[1]]=data2[2]; }         if (data2[0]=='obj') { obj[data2[1]]=data2[2]; }
        if (data2[0]=='objcont') { objcont[data2[1]]=data2[2]; }         if (data2[0]=='objcont') { objcont[data2[1]]=data2[2]; }
        if (data2[0]=='objlinks') { objlinks[data2[1]]=data2[2]; }         if (data2[0]=='objlinks') { objlinks[data2[1]]=data2[2]; }
          if (data2[0]=='objparms') {
             if (typeof(objparms[data2[1]])=="undefined") {
                objparms[data2[1]]=data2[2];
             } else {
                objparms[data2[1]]+=':'+data2[2];
             }
          }
        if (data2[0]=='rowcont') { rowcont[data2[1]]=data2[2]; }         if (data2[0]=='rowcont') { rowcont[data2[1]]=data2[2]; }
        if (data2[0]=='row') { row[data2[1]]=1*data2[2]; }         if (data2[0]=='row') { row[data2[1]]=1*data2[2]; }
        if (data2[0]=='col') { col[data2[1]]=1*data2[2]; }         if (data2[0]=='col') { col[data2[1]]=1*data2[2]; }
Line 2248  function finishload() { Line 2583  function finishload() {
   }    }
   if (graphdef=='yes') {    if (graphdef=='yes') {
      for (k=1;k<=maxrow;k++) {       for (k=1;k<=maxrow;k++) {
         if (rowcont[k]==undefined) { rowcont[k]=''; }          if (typeof(rowcont[k])=="undefined") { rowcont[k]=''; }
      }       }
   }    }
 }  }
   
   // -------------------------------------------------------------- Parameter set
   
   function setparms(resid) {
      var options="scrollbars=1,resizable=1,menubar=0";
      parmflag=1;
      data1=objcont[resid].split(':');
      parm=open("/adm/ratparms?url="+data1[1]+"&parms="+objparms[resid]+
                "&resid="+resid,"parmout",options);
      parm.focus();
   }
   
 // -------------------------------------------------------------- Undo function  // -------------------------------------------------------------- Undo function
   
 function undo() {  function undo() {
Line 2315  function wheelswitch() { Line 2661  function wheelswitch() {
 // --------------------------------------------- Checks if server frame defined  // --------------------------------------------- Checks if server frame defined
   
 function checkdef() {  function checkdef() {
    if (parent.server.document.forms.storage.output.value!=undefined) {     if (parent.flag==1) {
       srvloaded();       srvloaded();
    }     }
    if ((finishdone==0) && (tim==0)) { setTimeout('checkdef()',100); }     if ((finishdone==0) && (tim==0)) { setTimeout('checkdef()',100); }
 }  }
Line 2345  function schedule(action) { Line 2691  function schedule(action) {
    reqaction=action;     reqaction=action;
    tim=0;     tim=0;
    finishdone=0;     finishdone=0;
    canceltim=setTimeout('tim=1;',20000)     canceltim=setTimeout('tim=1;',20000);
      checkdef();
    wait();     wait();
 }  }
   
   // ----------------------------------------------------- launch indexer browser
   
   function groupsearch() {
      srchcheck('groupsearch');
   }
   
   function groupimport() {
      idxcheck('groupimport');
   }
   
 // -------------------------------------------------------------- Store changes  // -------------------------------------------------------------- Store changes
   
 function storechange() {  function storechange() {
    var k;     var k;
      parent.flag=0;
    parent.server.document.forms.storage.submit();     parent.server.document.forms.storage.submit();
    schedule('save');     schedule('save');
 }  }
Line 2401  function main() { Line 2759  function main() {
   
 }  }
   
 // ------------------------------------------------------------- Save on leave?  // ---------------------------------------------------------- Close the window?
   
 function leave() {  function leave() {
    if (!inf.closed) {     if (!inf.closed) {
       inf.close();        inf.close();
    }     }
    if (stored==0) {     if (srch && !srch.closed) {
       if (confirm('Store changes?')) {        srchclose();
          storechange();        }
       }     if (idx && !idx.closed) {
         srchclose();
    }     }
 }  }
   
 </script>  </script>
 </head>  </head>
   
 <body bgcolor="#FFFFFF" onLoad="main();" onUnload="leave();">  <body bgcolor="#FFFFFF" onUnload="leave();">
 <a href="javascript:togglemode();">Toggle Display Mode</a>  <table border=0><tr><td bgcolor="#aaaaaa">
 <a href="javascript:if (zscale>1) { zscale--; draw();}">Zoom Out</a>  <table border=0><tr>
 <a href="javascript:if (zscale<3) { zscale++; draw();}">Zoom In</a>  <td bgcolor="#ffffcc"><a href="javascript:togglemode();"><b>T</b>oggle display</a>&nbsp;</td>
 <a href="javascript:condense();draw();">Condense</a>  <td bgcolor="#ffffcc"><a href="javascript:if (zscale>1) { zscale--; draw();}"><b>Z</b>oom out</a>&nbsp;</td>
 <a href="javascript:graphopt();draw();">Straighten</a>  <td bgcolor="#ffffcc"><a href="javascript:if (zscale<3) { zscale++; draw();}"><b>Z</b>oom in</a>&nbsp;</td>
 <a href="javascript:revert();">Revert</a>  <td bgcolor="#ffffcc"><a href="javascript:condense();draw();"><b>C</b>ondense</a>&nbsp;</td>
 <a href="javascript:undo();">Undo</a>  <td bgcolor="#ffffcc"><a href="javascript:graphopt();draw();"><b>S</b>traighten</a>&nbsp;</td>
 <a href="javascript:redo();">Redo</a>  <td bgcolor="#ffffcc"><a href="javascript:revert();"><b>R</b>evert</a>&nbsp;</td>
 <a href="javascript:storechange();">Store</a>  <td bgcolor="#ffffcc"><a href="javascript:undo();"><b>U</b>ndo</a>&nbsp;</td>
   <td bgcolor="#ffffcc"><a href="javascript:redo();"><b>R</b>edo</a>&nbsp;</td>
   <td bgcolor="#ffffcc"><a href="javascript:groupsearch();"><b>G</b>roup search</a>&nbsp;</td>
   <td bgcolor="#ffffcc"><a href="javascript:groupimport();"><b>G</b>roup import</a>&nbsp;</td>
   <td bgcolor="#ffcccc"><a href="javascript:storechange();"><b>S</b>ave map</a>&nbsp;</td>
   </tr></table>
   </td></tr></table>
   <script>
   main();
   </script>
 </body>  </body>
 </html>  </html>
   
   
   
   
   

Removed from v.1.10  
changed lines
  Added in v.1.48


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