overlib_setonoff_mini.js 2.0 KB

1234567891011121314151617181920212223242526272829303132
  1. //\/////
  2. //\ overLIB Set On/Off Plugin
  3. //\ This file requires overLIB 4.10 or later.
  4. //\
  5. //\ overLIB 4.10 - You may not remove or change this notice.
  6. //\ Copyright Erik Bosrup 1998-2003. All rights reserved.
  7. //\ Contributors are listed on the homepage.
  8. //\ See http://www.bosrup.com/web/overlib/ for details.
  9. //\/////
  10. //\ THIS IS A VERY MODIFIED VERSION. DO NOT EDIT OR PUBLISH. GET THE ORIGINAL!
  11. if(typeof olInfo=='undefined'||typeof olInfo.meets=='undefined'||!olInfo.meets(4.10))alert('overLIB 4.10 or later is required for the Set On/Off Plugin.');else{registerCommands('seton,setoff');var olSetType;
  12. function setOnOffVariables(){olSetType=0;}
  13. function parseOnOffExtras(pf,i,ar){var k=i,v;
  14. if(k<ar.length){if(ar[k]==SETON||ar[k]==SETOFF){olSetType=1;k=opt_MULTICOMMANDS(++k,ar);return k;}}
  15. return-1;}
  16. function hasCommand(istrt,args,COMMAND){for(var i=istrt;i<args.length;i++){if(typeof args[i]=='number'&& args[i]==COMMAND)return i;}
  17. return-1;}
  18. function scanCommandSet(pf,args){var k=-1,j,je;
  19. if(olSetType){
  20. while((k=hasCommand(++k,args,SETON))<args.length&&k>-1){je=opt_MULTICOMMANDS(k+1,args);for(j=k+1;j<(k+je);j++)setNoParamCommand(1,pf,args[j]);k+=(je-1);}
  21. k=-1;while((k=hasCommand(++k,args,SETOFF))<args.length&&k>-1){je=opt_MULTICOMMANDS(k+1,args);for(j=k+1;j<(k+je);j++)setNoParamCommand(0,pf,args[j]);k+=(je-1);}}
  22. return true;}
  23. var olRe;
  24. function setNoParamCommand(whichType,pf,COMMAND){var v=pms[COMMAND-1-pmStart];
  25. if(pmt&&!olRe)olRe=eval('/'+pmt.split(',').join('|')+'/');if(pf!='ol_'&& /capturefirst/.test(v))return;if(pf!='ol_'&& /wrap/.test(v)&& eval(pf+'wrap')&&(whichType==0)){nbspCleanup();o3_width=ol_width;}
  26. if(olRe.test(v))eval(pf+v+'='+((whichType&&COMMAND==AUTOSTATUSCAP)?whichType++:whichType));}
  27. function opt_MULTICOMMANDS(i,ar){var k=i;
  28. while(k<ar.length&& typeof ar[k]=='number'&& ar[k]>pmStart){k++;if(ar[k-1]=='SETON'||ar[k-1]=='SETOFF')break;}
  29. k-=(k<ar.length?2:1);
  30. return k;}
  31. registerRunTimeFunction(setOnOffVariables);registerCmdLineFunction(parseOnOffExtras);registerPostParseFunction(scanCommandSet);
  32. }