File:  [LON-CAPA] / rat / client / parameter.html
Revision 1.19: download - view: text, annotated - select for diffs
Fri Oct 25 13:47:37 2002 UTC (21 years, 7 months ago) by www
Branches: MAIN
CVS tags: version_0_6_2, version_0_6, HEAD
Bug #743, Bug #836

    1: <html>
    2: <!--
    3: The LearningOnline Network with CAPA
    4: Parameter Input Window
    5: //
    6: // $Id: parameter.html,v 1.19 2002/10/25 13:47:37 www Exp $
    7: //
    8: // Copyright Michigan State University Board of Trustees
    9: //
   10: // This file is part of the LearningOnline Network with CAPA (LON-CAPA).
   11: //
   12: // LON-CAPA is free software; you can redistribute it and/or modify
   13: // it under the terms of the GNU General Public License as published by
   14: // the Free Software Foundation; either version 2 of the License, or
   15: // (at your option) any later version.
   16: //
   17: // LON-CAPA is distributed in the hope that it will be useful,
   18: // but WITHOUT ANY WARRANTY; without even the implied warranty of
   19: // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   20: // GNU General Public License for more details.
   21: //
   22: // You should have received a copy of the GNU General Public License
   23: // along with LON-CAPA; if not, write to the Free Software
   24: // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   25: //
   26: // /home/httpd/html/adm/gpl.txt
   27: //
   28: // http://www.lon-capa.org/
   29: //
   30: 06/16/00,06/17,11/17,11/18,11/23,11/27,11/28,12/15,12/16,
   31: 03/21/01,03/24,06/26 Gerd Kortemeyer
   32: 07/24/01 Scott Harrison
   33: 08/08 Gerd Kortemeyer
   34: -->
   35: <head>
   36: <title>LON-CAPA</title>
   37: </head>
   38: 
   39: <script>
   40: 
   41: var ptype='';
   42: var pvalue='';
   43: var preturn='';
   44: var pcode='';
   45: var pscat='';
   46: var pmarker='';
   47: var pname='';
   48: 
   49: var svalue;
   50: var stype;
   51: var smarker;
   52: 
   53: var vars=new Array();
   54: 
   55: var cdate=new Date();
   56: 
   57: var csec;
   58: var cmin;
   59: var chour;
   60: var cday;
   61: 
   62: var months=new Array();
   63: 
   64: 
   65: function selwrite(text) {
   66:   this.window.selector.document.write(text);
   67: }
   68: 
   69: function choicestart() {
   70:   this.window.choices.document.clear();
   71:   choicewrite('<html><body bgcolor="#FFFFFF">');
   72: }
   73: 
   74: function choiceend() {
   75:   choicewrite('</body></html>');
   76:   this.window.choices.document.close();
   77: }
   78: 
   79: function choicewrite(text) {
   80:   this.window.choices.document.write(text);
   81: }
   82: 
   83: function tablestart(headtext) {
   84:   choicewrite('<table><tr bgcolor="#AAFFAA"><th colspan=3>'+
   85:               headtext+'</th></tr>');
   86: }
   87: 
   88: function valline(text,id1,id2) {
   89:   choicewrite('<tr bgcolor="#AAFFAA"><td>'+text+
   90:               '</td><td><input type=text size=4 name=val'+
   91:               id1+'></td><td>incl:<input type=checkbox name=val'+
   92:               id2+'></td></tr>');
   93: }
   94: 
   95: function datecalc() {
   96:     var sform=choices.document.forms.sch;
   97: 
   98:     cdate.setHours(sform.hours.options[sform.hours.selectedIndex].value);
   99:     cdate.setMinutes(sform.minutes.options[sform.minutes.selectedIndex].value);
  100:     cdate.setSeconds(sform.minutes.options[sform.seconds.selectedIndex].value);
  101:     cdate.setDate(sform.date.options[sform.date.selectedIndex].value);
  102:     cdate.setMonth(sform.month.options[sform.month.selectedIndex].value);
  103:     cdate.setFullYear(sform.year.options[sform.year.selectedIndex].value);
  104: 
  105:     draw();
  106: }
  107: 
  108: function hour() {
  109:    var thishour=cdate.getHours();
  110:     var i; var j;
  111:     choicewrite('<select name=hours onChange="parent.datecalc();">');
  112:     for (i=0;i<=23;i++) {
  113:         choicewrite('<option value='+i);
  114:         if (i==thishour) {
  115:             choicewrite(' selected');
  116:         }
  117:         choicewrite('>');
  118:         if (i==12) { choicewrite('noon'); } else {
  119:            if (i==0) { choicewrite('midnight') } else {
  120:               
  121:                  if (i<12) { choicewrite(i+' am'); } else {
  122:                     j=i-12; choicewrite(j+' pm');
  123:                  }
  124:               
  125:            }
  126:         }
  127:         choicewrite('</option>');
  128:     }
  129:     choicewrite('</select>');
  130: }
  131: 
  132: function minute() {
  133:    var thisminutes=cdate.getMinutes();
  134:     var i;
  135:     choicewrite('<select name=minutes onChange="parent.datecalc();">');
  136:     for (i=0;i<=59;i++) {
  137:         choicewrite('<option value='+i);
  138:         if (i==thisminutes) {
  139:             choicewrite(' selected');
  140:         }
  141:         choicewrite('>'+i+'</option>');
  142:     }
  143:     choicewrite('</select>');
  144: } 
  145: 
  146: function second() {
  147:    var thisseconds=cdate.getSeconds();
  148:     var i;
  149:     choicewrite('<select name=seconds onChange="parent.datecalc();">');
  150:     for (i=0;i<=59;i++) {
  151:         choicewrite('<option value='+i);
  152:         if (i==thisseconds) {
  153:             choicewrite(' selected');
  154:         }
  155:         choicewrite('>'+i+'</option>');
  156:     }
  157:     choicewrite('</select>');
  158: } 
  159: 
  160: 
  161: function date() {
  162:    var thisdate=cdate.getDate();
  163:     var i;
  164:     choicewrite('<select name=date onChange="parent.datecalc();">');
  165:     for (i=1;i<=31;i++) {
  166:         choicewrite('<option value='+i);
  167:         if (i==thisdate) {
  168:             choicewrite(' selected');
  169:         }
  170:         choicewrite('>'+i+'</option>');
  171:     }
  172:     choicewrite('</select>');
  173: }
  174: 
  175: function year() {
  176:    var thisyear=cdate.getFullYear();
  177:    var nowdate=new Date();
  178:    var nowyear=nowdate.getFullYear();
  179:    var loweryear=thisyear-2;
  180:    var upperyear=thisyear+5;
  181:    if (thisyear>nowyear) { loweryear=nowyear-2; }
  182:    if (thisyear<nowyear) { upperyear=nowyear+5; } 
  183:     var i;
  184:     choicewrite('<select name=year onChange="parent.datecalc();">');
  185:     for (i=loweryear;i<=upperyear;i++) {
  186:         choicewrite('<option value='+i);
  187:         if (i==thisyear) {
  188:             choicewrite(' selected');
  189:         }
  190:         choicewrite('>'+i+'</option>');
  191:     }
  192:     choicewrite('</select>');
  193: }
  194: 
  195: function month() {
  196:     var thismonth=cdate.getMonth();
  197:     var i;
  198:     choicewrite('<select name=month onChange="parent.datecalc();">');
  199:     for (i=0;i<=11;i++) {
  200:         choicewrite('<option value='+i);
  201:         if (i==thismonth) {
  202:             choicewrite(' selected');
  203:         }
  204:         choicewrite('>'+months[i]+'</option>');
  205:     }
  206:     choicewrite('</select>');
  207: }
  208:     
  209:     
  210: function intminute() {
  211:    var thisminutes=cmins;
  212:     var i;
  213:     choicewrite('<select name=minutes onChange="parent.intcalc();">');
  214:     for (i=0;i<=59;i++) {
  215:         choicewrite('<option value='+i);
  216:         if (i==thisminutes) {
  217:             choicewrite(' selected');
  218:         }
  219:         choicewrite('>'+i+'</option>');
  220:     }
  221:     choicewrite('</select>');
  222: } 
  223: 
  224: function inthour() {
  225:    var thishours=chours;
  226:     var i;
  227:     choicewrite('<select name=hours onChange="parent.intcalc();">');
  228:     for (i=0;i<=23;i++) {
  229:         choicewrite('<option value='+i);
  230:         if (i==thishours) {
  231:             choicewrite(' selected');
  232:         }
  233:         choicewrite('>'+i+'</option>');
  234:     }
  235:     choicewrite('</select>');
  236: } 
  237: 
  238: function intsecond() {
  239:    var thisseconds=csecs;
  240:     var i;
  241:     choicewrite('<select name=seconds onChange="parent.intcalc();">');
  242:     for (i=0;i<=59;i++) {
  243:         choicewrite('<option value='+i);
  244:         if (i==thisseconds) {
  245:             choicewrite(' selected');
  246:         }
  247:         choicewrite('>'+i+'</option>');
  248:     }
  249:     choicewrite('</select>');
  250: } 
  251: 
  252: 
  253: function intday() {
  254:    var thisdate=cdays;
  255:     var i;
  256:     choicewrite('<select name=date onChange="parent.intcalc();">');
  257:     for (i=0;i<=31;i++) {
  258:         choicewrite('<option value='+i);
  259:         if (i==thisdate) {
  260:             choicewrite(' selected');
  261:         }
  262:         choicewrite('>'+i+'</option>');
  263:     }
  264:     choicewrite('</select>');
  265: }
  266: 
  267: function intcalc() {
  268:     var sform=choices.document.forms.sch;
  269:     svalue=((sform.date.options[sform.date.selectedIndex].value*24+
  270:              sform.hours.options[sform.hours.selectedIndex].value*1)*60+
  271:              sform.minutes.options[sform.minutes.selectedIndex].value*1)*60+
  272:              sform.seconds.options[sform.seconds.selectedIndex].value*1;
  273:     draw();
  274: }
  275: 
  276: function integereval() {
  277:    svalue=choices.document.forms.sch.intval.value;
  278:    svalue=Math.round(svalue);
  279:    if (pscat=='zeropos') { svalue=Math.abs(svalue); }
  280:    if ((pscat=='pos') && (svalue==0)) {
  281:       svalue='';
  282:    }
  283:    if (pscat.indexOf('inrange')!=-1) {
  284:       var rangeparts=new Array;
  285:       rangeparts=split('_',pscat);
  286:       rangeparts=split(',',rangeparts[1]);
  287:       if (svalue<rangeparts[0]) { svalue=rangeparts[0]; }
  288:       if (svalue>rangeparts[1]) { svalue=rangeparts[1]; }
  289:    }
  290:    draw();
  291: }
  292: 
  293: function floateval() {
  294:    svalue=choices.document.forms.sch.floatval.value;
  295:    svalue=1.0*svalue;
  296:    if (pscat=='pos') { svalue=Math.abs(svalue); }
  297:    if ((pscat=='zeroone') && ((svalue<0) || (svalue>1))) {
  298:       svalue='';
  299:    }
  300:    draw();
  301: }
  302: 
  303: function stringeval() {
  304:    svalue=choices.document.forms.sch.stringval.value;
  305:    draw();
  306: }
  307: 
  308: function intervaldis() {
  309:     csecs=svalue;
  310:     cdays=Math.floor(csecs/86400);
  311:     csecs-=cdays*86400;
  312:     chours=Math.floor(csecs/3600);
  313:     csecs-=chours*3600;
  314:     cmins=Math.floor(csecs/60);
  315:     csecs-=cmins*60;
  316:     choicewrite(cdays+' days '+chours+' hours '
  317:                +cmins+' mins '+csecs+' secs');
  318: }
  319:     
  320: function draw() {
  321:    choicestart();
  322:    choicewrite('<form name=sch');
  323:    if (ptype=='int') {
  324:       choicewrite(' action="javascript:integereval();"');
  325:    }
  326:    if (ptype=='float') {
  327:       choicewrite(' action="javascript:floateval();"');
  328:    }
  329:    if (ptype=='string') {
  330:       choicewrite(' action="javascript:stringeval();"');
  331:    }
  332:    choicewrite('>');
  333:    if (ptype=='tolerance') {
  334: // 0: pscat
  335:       if (pscat=='default') {
  336:          tablestart('Use default value or algorithm of resource');
  337:       }
  338:       if (pscat=='relative_sym') {
  339: // 2: percentage
  340: // 3: open
  341:          tablestart('Percentage error, symmetric around value');
  342:          valline('Percentage',2,3);
  343:          if ((svalue!='') && (typeof(svalue)!="undefined")) {
  344:             choices.document.forms.sch.val2.value=parseInt(svalue);
  345:             if (svalue.indexOf('+')!=-1) {
  346:                choices.document.forms.sch.val3.checked=true;
  347:             }
  348:          }
  349:       }
  350:       if (pscat=='relative') {
  351: // 2: left
  352: // 3: open
  353: // 4: right
  354: // 5: open
  355:          tablestart('Percentage error, asymmetric around value');
  356:          valline('Upper percentage',2,3);
  357:          valline('Lower percentage',4,5);
  358:          var range1=new Array;
  359:          if ((svalue!='') && (typeof(svalue)!="undefined")) {
  360:             range1=svalue.split(',');
  361:             if (typeof(range1[1])=='undefined') { range1[1]=range1[0]; }
  362:             choices.document.forms.sch.val2.value=parseFloat(range1[0]);
  363:             if (range1[0].indexOf('+')!=-1) {
  364:                choices.document.forms.sch.val3.checked=true;
  365:             }
  366:             choices.document.forms.sch.val4.value=parseFloat(range1[1]);
  367:             if (range1[1].indexOf('+')!=-1) {
  368:                choices.document.forms.sch.val5.checked=true;
  369:             }
  370:          }
  371:       }
  372:       if (pscat=='absolute_sym') {
  373:          tablestart('Absolute error, symmetric around value');
  374:          valline('Value',2,3);
  375:          if ((svalue!='') && (typeof(svalue)!="undefined")) {
  376:             choices.document.forms.sch.val2.value=parseFloat(svalue);
  377:             if (svalue.indexOf('+')!=-1) {
  378:                choices.document.forms.sch.val3.checked=true;
  379:             }
  380:          }
  381:       }
  382:       if (pscat=='absolute') {
  383:          tablestart('Absolute error, asymmetric around value');
  384:          valline('Upper value',2,3);
  385:          valline('Lower value',4,5);
  386:          var range2=new Array;
  387:          if ((svalue!='') && (typeof(svalue)!="undefined")) {
  388:             range=svalue.split(',');
  389:             if (typeof(range2[1])=='undefined') { range2[1]=range2[0]; }
  390:             choices.document.forms.sch.val2.value=parseFloat(range2[0]);
  391:             if (range2[0].indexOf('+')!=-1) {
  392:                choices.document.forms.sch.val3.checked=true;
  393:             }
  394:             choices.document.forms.sch.val4.value=parseFloat(range2[1]);
  395:             if (range2[1].indexOf('+')!=-1) {
  396:                choices.document.forms.sch.val5.checked=true;
  397:             }
  398:          }
  399:       }
  400:    }
  401: 
  402:    if (ptype=='date') {
  403:      if (pscat=='default') {
  404:          tablestart('Default value or none');
  405:          choicewrite('</table>');
  406:      } else {
  407:       if (pscat=='start') {
  408:          tablestart('Starting or opening date and time');
  409:       }
  410:       if (pscat=='end') {
  411:          tablestart('Ending or closing date and time');
  412:       }
  413:       if (pscat=='interval') {
  414:          tablestart('Time interval');
  415:          choicewrite('<tr bgcolor="#AAFFAA"><td colspan=3>');
  416:          intervaldis();
  417:          choicewrite('</td></tr><tr bgcolor="#AAFFAA"><td>Time:'
  418:          +'</td><td colspan=2>');
  419:          intday();choicewrite('days ');
  420:          inthour();choicewrite('hours ');
  421:          intminute(); choicewrite('mins '); intsecond();
  422:          choicewrite('secs</td></tr></table>');         
  423:       } else { 
  424:          choicewrite('<tr bgcolor="#AAFFAA"><td colspan=3>'
  425:          +cdate.toString()+
  426:          '</td></tr><tr bgcolor="#AAFFAA"><td>Date:</td><td colspan=2>');
  427:          month();date();year();
  428:          choicewrite('</td></tr><tr bgcolor="#AAFFAA"><td>Time:'
  429:          +'</td><td colspan=2>');hour();choicewrite('h ');minute();
  430:          choicewrite('m ');second();
  431:          choicewrite('s</td></tr></table>');
  432:       }
  433:      }
  434:    }
  435: 
  436:    if (ptype=='int') {
  437:       var pscatparts=new Array;
  438:       pscatparts=pscat.split(',');
  439:       pscat=pscatparts[0];
  440:       if (pscat=='default') {
  441:          tablestart('Default value or none');
  442:          choicewrite('</table>');
  443:       } else {
  444:        if (pscat=='range') {
  445:          tablestart('Integer range');      
  446:          choicewrite('<tr bgcolor="#AAFFAA"><td>Lower Value:'+
  447:               '</td><td colspan=2><input type=text size=4 name=val2'+
  448:               '></td></tr>');
  449:          choicewrite('<tr bgcolor="#AAFFAA"><td>Upper Value:'+
  450:               '</td><td colspan=2><input type=text size=4 name=val4'+
  451:               '></td></tr></table>');
  452:          var range=new Array;
  453:          if ((svalue!='') && (typeof(svalue)!="undefined")) {
  454:             range=svalue.split(',');
  455:             if (typeof(range[1])=='undefined') { range[1]=range[0]; }
  456:             choices.document.forms.sch.val2.value=parseInt(range[0]);
  457:             choices.document.forms.sch.val4.value=parseInt(range[1]);
  458:          }
  459:        } else {
  460:         if (pscat=='pos') {
  461:            tablestart('Positive (non-zero) integer');
  462:         }
  463:         if (pscat=='zeropos') {
  464:            tablestart('Positive integer or zero');
  465:         }
  466:         if (pscat.indexOf('inrange')!=-1) {
  467:            var rangeparts=new Array;
  468:            rangeparts=split(',',pscat);
  469:            tablestart('Integer in the range ['+rangeparts[1]+']');
  470:         }
  471:         if (pscat=='any') {
  472:            tablestart('Integer');
  473:         }
  474:         choicewrite('<tr bgcolor="#AAFFAA"><td>Value:</td><td colspan=2>');
  475:         choicewrite('<input name=intval size=10 value="'+svalue+
  476:                     '" name=intval onChange="parent.integereval()">');
  477:         choicewrite('</td></table>');
  478:       }
  479:      }
  480:    }
  481: 
  482:    if (ptype=='float') {
  483:       if (pscat=='default') {
  484:          tablestart('Default value or none');
  485:          choicewrite('</table>');         
  486:       } else {
  487:         if (pscat=='pos') {
  488:            tablestart('Positive floating point number or zero');
  489:         }
  490:         if (pscat=='zeroone') {
  491:            tablestart('Floating point number between zero and one');
  492:         }
  493:         if (pscat=='any') {
  494:            tablestart('Floating point number');
  495:         }
  496:         choicewrite('<tr bgcolor="#AAFFAA"><td>Value:</td><td colspan=2>');
  497:         choicewrite('<input name=floatval size=10 value="'+svalue+
  498:                     '" name=floatval onChange="parent.floateval()">');
  499:         choicewrite('</td></table>');
  500:       }
  501:    }
  502: 
  503:    if (ptype=='string') {
  504:       if (pscat=='default') {
  505:          tablestart('Default value or none');
  506:          choicewrite('</table>');         
  507:       } else {
  508:         if (pscat=='any') {
  509:            tablestart('Text');
  510:         }
  511:         choicewrite('<tr bgcolor="#AAFFAA"><td>Value:</td><td colspan=2>');
  512:         choicewrite('<input name=stringval size=20 value="'+svalue+
  513:                     '" name=stringval onChange="parent.stringeval()">');
  514:         choicewrite('</td></table>');
  515:       }
  516:    }
  517: 
  518:    choicewrite('</table></form>');
  519:    choiceend();
  520: }
  521: 
  522: function sopt(va,text) {
  523:    selwrite('<option value="'+va+'"');
  524:    if (va==pscat) {
  525:      selwrite(' selected');
  526:    }
  527:    selwrite('>'+text+'</option>');
  528: }
  529: 
  530: function catchange() {
  531:    var sform=selector.document.forms.fsel.fcat;
  532:    pscat=sform.options[sform.selectedIndex].value;
  533:    draw();
  534: }
  535: 
  536: function assemble() {
  537:     if ((ptype=='date') && (pscat!='interval')) {
  538:         svalue=Math.round(cdate.getTime()/1000);
  539:     }
  540:     if (ptype=='tolerance') {
  541:        if (pscat=='relative_sym') {
  542:           svalue=choices.document.forms.sch.val2.value+'%';
  543:           if (choices.document.forms.sch.val3.checked) {
  544:              svalue+='+';
  545:           }
  546:        }
  547:        if (pscat=='absolute_sym') {
  548:           svalue=choices.document.forms.sch.val2.value;
  549:           if (choices.document.forms.sch.val3.checked) {
  550:              svalue+='+';
  551:           }
  552:        }
  553:        if (pscat=='absolute') {
  554:           svalue=choices.document.forms.sch.val2.value;
  555:           if (choices.document.forms.sch.val3.checked) {
  556:              svalue+='+';
  557:           }
  558:           svalue+=','+choices.document.forms.sch.val4.value;
  559:           if (choices.document.forms.sch.val5.checked) {
  560:              svalue+='+';
  561:           }
  562:        }
  563:        if (pscat=='relative') {
  564:           svalue=choices.document.forms.sch.val2.value+'%';
  565:           if (choices.document.forms.sch.val3.checked) {
  566:              svalue+='+';
  567:           }
  568:           svalue+=','+choices.document.forms.sch.val4.value+'%';
  569:           if (choices.document.forms.sch.val5.checked) {
  570:              svalue+='+';
  571:           }
  572:        }
  573:     }
  574:     if ((ptype=='int') && (pscat=='range')) {
  575:           svalue=choices.document.forms.sch.val2.value+','+
  576:                  choices.document.forms.sch.val4.value;
  577:     }
  578:     if (pscat=='default') { svalue=''; }
  579:     stype=ptype+'_'+pscat;
  580: }
  581: 
  582: 
  583: function init() {
  584:   var i;
  585:   var subs=new Array();
  586:   var namevalue=this.window.location.search.split('&');
  587:   namevalue[0]=namevalue[0].substr(1,namevalue[0].length-1);
  588: 
  589:   for (i=0;i<namevalue.length;i++) {
  590:      var pair=namevalue[i].split('=');
  591:      pair[1]=unescape(pair[1]);
  592:      if (pair[0]=='value') { pvalue=pair[1]; }
  593:      if (pair[0]=='type') { subs=pair[1].split('_');
  594:                             ptype=subs[0];
  595:                             pscat=subs[1];
  596:                             if (typeof(subs[2])!="undefined") { 
  597:                                pscat+='_'+subs[2]; 
  598:                             }
  599:                             if ((pscat=='') || (typeof(pscat)=="undefined")) { 
  600:                                pscat='default';
  601:                             }
  602:                            }
  603:      if (pair[0]=='return') { preturn=pair[1]; }
  604:      if (pair[0]=='call') { pcode=pair[1]; }
  605:      if (pair[0]=='marker') { pmarker=pair[1]; }
  606:      if (pair[0]=='name') { pname=pair[1]; }
  607:   }
  608: 
  609:   svalue=pvalue;
  610:   if (((ptype=='float') || (ptype=='string') || (ptype=='int')) &&
  611:       (pscat=='default') && 
  612:       (typeof(svalue)!="undefined") && 
  613:       (svalue!=0) && (svalue!='')) { pscat='any'; }
  614: 
  615:   if (ptype=='tolerance') {
  616:      var tperc=0;
  617:      var trange=0;
  618:      if (typeof(svalue)!='undefined') {
  619:         if (svalue.indexOf('%')!=-1) { tperc=1;  }
  620:         if (svalue.indexOf(',')!=-1) { trange=1; }
  621:         if (trange) {
  622:            if (tperc) { pscat='relative'; } else { pscat='absolute'; }
  623:         } else {
  624:            if (tperc) { pscat='relative_sym'; } else { pscat='absolute_sym'; }
  625:         }
  626:      }
  627:   }
  628: 
  629:   this.window.selector.document.clear();
  630:   selwrite('<html><body bgcolor="#FFFFFF">');
  631: 
  632:   selwrite('<form name="fsel"><b>'+pname+'</b><br>');
  633:   selwrite('<select name="fcat" onChange="parent.catchange();">');
  634: 
  635:   if (ptype=='tolerance') {
  636:      sopt('default','Default');
  637:      sopt('relative_sym','Relative Tolerance, Symmetric (percent)');
  638:      sopt('relative','Relative Tolerance (percentages)');
  639:      sopt('absolute_sym','Absolute Tolerance, Symmetric (value)');
  640:      sopt('absolute','Absolute Tolerance (values)');
  641:   }
  642: 
  643:   if (ptype=='date') {
  644:      sopt('default','Default');
  645:      sopt('start','Starting Date');
  646:      sopt('end','Ending Date');
  647:      sopt('interval','Time Interval');
  648:      
  649:      if ((pvalue!='') && (typeof(pvalue)!="undefined")) {
  650:         cdate.setTime(pvalue*1000);
  651:      }
  652:  
  653:      months[0]='January';
  654:      months[1]='February';
  655:      months[2]='March';
  656:      months[3]='April';
  657:      months[4]='May';
  658:      months[5]='June';
  659:      months[6]='July';
  660:      months[7]='August';
  661:      months[8]='September';
  662:      months[9]='October';
  663:      months[10]='November';
  664:      months[11]='December';
  665:   }
  666:    
  667:   if (ptype=='int') {
  668:      sopt('default','Default');
  669:      sopt('pos','Positive Integer, Not Zero');
  670:      sopt('zeropos','Positive Integer or Zero');
  671:      sopt('inrange','Integer in Range');
  672:      sopt('range','Range of Integers');
  673:      sopt('any','Integer');
  674:   }
  675: 
  676:   if (ptype=='float') {
  677:      sopt('default','Default');
  678:      sopt('zeroone','Floating Point between 0 and 1');
  679:      sopt('pos','Positive Floating Point');
  680:      sopt('any','Floating Point');
  681: 
  682:   }
  683: 
  684:   if (ptype=='string') {
  685:      sopt('default','Default');
  686:      sopt('string','String Value');
  687:   }
  688: 
  689:   selwrite('</select></form>');
  690: 
  691:   selwrite('<a href="javascript:parent.assemble();');
  692:   if (preturn!='') {
  693:      selwrite(
  694:       'parent.opener.document.'+preturn+'_value.value=parent.window.svalue;');
  695:      selwrite(
  696:       'parent.opener.document.'+preturn+'_type.value=parent.window.stype;');
  697:   }
  698:   if (pmarker!='') {
  699:      selwrite(
  700:      'parent.opener.document.'+preturn+'_marker.value=parent.window.pmarker;');
  701:   }
  702:   if (pcode!='') {
  703:      selwrite('parent.opener.'+pcode+'();');
  704:   }
  705:   selwrite('">Store</a>&nbsp;&nbsp;');
  706: 
  707:   selwrite('<a href="javascript:');
  708:      selwrite(
  709:       'parent.opener.document.'+preturn+'_value.value='+"'';");
  710:   if (pmarker!='') {
  711:      selwrite(
  712:      'parent.opener.document.'+preturn+'_marker.value=parent.window.pmarker;');
  713:   }
  714:   if (pcode!='') {
  715:      selwrite('parent.opener.'+pcode+'();');
  716:   }
  717:   selwrite('">Delete</a>&nbsp;&nbsp;');
  718:  
  719:   selwrite('<a href="javascript:');
  720: // Old code :
  721: //----------------------------------------------------------------------
  722: //  if (preturn!='') {
  723: //     selwrite('parent.opener.document.'+preturn+'_value.value='+"'';");
  724: //     selwrite('parent.opener.document.'+preturn+'_type.value='+"'';");
  725: // }
  726: //  if (pmarker!='') {
  727: //     selwrite('parent.opener.document.'+preturn+'_marker.value='+"'';");
  728: //  }
  729: //  if (pcode!='') {
  730: //     selwrite('parent.opener.'+pcode+'();');
  731: //  }
  732: //----------------------------------------------------------------------
  733: // Just close the window to 'cancel' the operation.  There are javascript
  734: // errors in the above commented out code that I have not been able to 
  735: // track down.  I think they reside in 'parent.opener.'+pcode+'();'
  736: //
  737:   selwrite('this.parent.close();');
  738:   selwrite('">Cancel</a>'); 
  739:  
  740:   selwrite('</body></html>');
  741:   this.window.selector.document.close();
  742:   draw();
  743:   
  744: }
  745: 
  746: </script>
  747: 
  748: <frameset rows="120,*" onLoad="init();">
  749: <frame name=selector src="empty.html">
  750: <frame name=choices src="empty.html">
  751: </frameset>
  752: 
  753: 
  754: 
  755: </html>

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