Hi Brian,
 
> Any luck finding that testbed COMX.XML file you were
> going to send me?

The one from the 3.1.9.1 installation seems to be broken completely.
:(

This one works for me just fine, though. It's the latest from CVS.
Try it and let me know how it works. Sorry for the delay.

Regards,

Shawn K. Hall
http://12PointDesign.com/
http://ReliableAnswers.com/
<search function="comx">
    <name>Comic Strip</name>
    <description>Displays comic strip(s) in a single window.
    <table class="helpboxDescTable"><tr><td colspan="2"><div 
class="helpboxDescLabels">Note:</div> All the switches can be abbreviated
    and multiple switches can be specified at one 
time.</td></tr><tr><td>--</td></tr><tr><td><div 
class="helpboxDescLabels">Switches:</div></td></tr>
    <tr><td>9 Chickweed Lane</td><td>/9chickweed</td></tr>
    <tr><td>A Case in Point</td><td>/caseinpoint</td></tr>
    <tr><td>Adam at Home</td><td>/adamathome</td></tr>
    <tr><td>Agnes</td><td>/agnes</td></tr>
    <tr><td>Alley Oop</td><td>/alleyoop</td></tr>
    <tr><td>Andy Capp</td><td>/andycapp</td></tr>
    <tr><td>Animal Crackers</td><td>/animalcrackers</td></tr>
    <tr><td>Annie</td><td>/annie</td></tr>
    <tr><td>Arlo and Janis</td><td>/arloandjanis</td></tr>
    <tr><td>B.C.</td><td>/bc</td></tr>
    <tr><td>Baldo</td><td>/baldo</td></tr>
    <tr><td>Ballard Street</td><td>/ballardstreet</td></tr>
    <tr><td>Ben</td><td>/ben</td></tr>
    <tr><td>Betty</td><td>/betty</td></tr>
    <tr><td>Big Nate</td><td>/bignate</td></tr>
    <tr><td>Big Picture</td><td>/bigpicture</td></tr>
    <tr><td>Big Top</td><td>/bigtop</td></tr>
    <tr><td>Bo Nanas</td><td>/bonanas</td></tr>
    <tr><td>Boondocks</td><td>/boondocks</td></tr>
    <tr><td>Bound and Gagged</td><td>/boundandgagged</td></tr>
    <tr><td>Brenda Starr</td><td>/brendastarr</td></tr>
    <tr><td>Broomhilda</td><td>/broomhilda</td></tr>
    <tr><td>Bulls N Bears</td><td>/bullsnbears</td></tr>
    <tr><td>CEO Dad</td><td>/ceodad</td></tr>
    <tr><td>Calvin and Hobbes</td><td>/calvinandhobbes</td></tr>
    <tr><td>Cats With Hands</td><td>/catswithhands</td></tr>
    <tr><td>Candorville</td><td>/candorville</td></tr>
    <tr><td>Cathy</td><td>/cathy</td></tr>
    <tr><td>Cheap Thrills</td><td>/cheapthrills</td></tr>
    <tr><td>Cleats</td><td>/cleats</td></tr>
    <tr><td>Close to Home</td><td>/closetohome</td></tr>
    <tr><td>Committed</td><td>/committed</td></tr>
    <tr><td>Cornered</td><td>/cornered</td></tr>
    <tr><td>Dick Tracy</td><td>/dicktracy</td></tr>
    <tr><td>Dilbert</td><td>/dilbert</td></tr>
    <tr><td>Doonesbury</td><td>/doonesbury</td></tr>
    <tr><td>Drabble</td><td>/drabble</td></tr>
    <tr><td>Duplex</td><td>/duplex</td></tr>
    <tr><td>Fat Cats</td><td>/fatcats</td></tr>
    <tr><td>Ferdnand</td><td>/ferdnand</td></tr>
    <tr><td>Flight Deck</td><td>/flightdeck</td></tr>
    <tr><td>Flo and Friends</td><td>/floandfriends</td></tr>
    <tr><td>For Better or For Worse</td><td>/forbetterorforworse</td></tr>
    <tr><td>FoxTrot</td><td>/foxtrot</td></tr>
    <tr><td>Frank and Ernest</td><td>/frankandernest</td></tr>
    <tr><td>Frazz</td><td>/frazz</td></tr>
    <tr><td>Fred Basset</td><td>/fredbasset</td></tr>
    <tr><td>Fusco Brothers</td><td>/fuscobrothers</td></tr>
    <tr><td>Garfield</td><td>/garfield</td></tr>
    <tr><td>Gasoline Alley</td><td>/gasolinealley</td></tr>
    <tr><td>Geech</td><td>/geech</td></tr>
    <tr><td>Get Fuzzy</td><td>/getfuzzy</td></tr>
    <tr><td>Go Fish</td><td>/gofish</td></tr>
    <tr><td>Graffiti</td><td>/graffiti</td></tr>
    <tr><td>Grand Avenue</td><td>/grandavenue</td></tr>
    <tr><td>Heart of the City</td><td>/heartofthecity</td></tr>
    <tr><td>Heathcliff</td><td>/heathcliff</td></tr>
    <tr><td>Helen of the Internet</td><td>/helenoftheinternet</td></tr>
    <tr><td>Herb and Jamaal</td><td>/herbandjamaal</td></tr>
    <tr><td>Herman</td><td>/herman</td></tr>
    <tr><td>Housebroken</td><td>/housebroken</td></tr>
    <tr><td>In the Bleachers</td><td>/inthebleachers</td></tr>
    <tr><td>Janes World</td><td>/janesworld</td></tr>
    <tr><td>Jump Start</td><td>/jumpstart</td></tr>
    <tr><td>Kit N Carlyle</td><td>/kitncarlyle</td></tr>
    <tr><td>Kudzu</td><td>/kudzu</td></tr>
    <tr><td>La Cucaracha</td><td>/lacucaracha</td></tr>
    <tr><td>Liberty Meadows</td><td>/libertymeadows</td></tr>
    <tr><td>Lil Abner</td><td>/lilabner</td></tr>
    <tr><td>Lola</td><td>/lola</td></tr>
    <tr><td>Loose Parts</td><td>/looseparts</td></tr>
    <tr><td>Lost Sheep</td><td>/lostsheep</td></tr>
    <tr><td>Luann</td><td>/luann</td></tr>
    <tr><td>Lucky Cow</td><td>/luckycow</td></tr>
    <tr><td>Lupo Alberto</td><td>/lupoalberto</td></tr>
    <tr><td>Marmaduke</td><td>/marmaduke</td></tr>
    <tr><td>Meatloaf Night</td><td>/meatloafnight</td></tr>
    <tr><td>Meehan Streak</td><td>/meehanstreak</td></tr>
    <tr><td>Meg!</td><td>/meg</td></tr>
    <tr><td>Mister Boffo</td><td>/misterboffo</td></tr>
    <tr><td>Mixed Media</td><td>/mixedmedia</td></tr>
    <tr><td>Moderately Confused</td><td>/moderatelyconfused</td></tr>
    <tr><td>Momma</td><td>/momma</td></tr>
    <tr><td>Monty</td><td>/monty</td></tr>
    <tr><td>Motley</td><td>/motley</td></tr>
    <tr><td>Mullets</td><td>/mullets</td></tr>
    <tr><td>Nancy</td><td>/nancy</td></tr>
    <tr><td>Natural Selection</td><td>/naturalselection</td></tr>
    <tr><td>Nonsequitur</td><td>/nonsequitur</td></tr>
    <tr><td>Off The Mark</td><td>/offthemark</td></tr>
    <tr><td>One Big Happy Classics</td><td>/onebighappyclassics</td></tr>
    <tr><td>Out of the Gene Pool</td><td>/outofthegenepool</td></tr>
    <tr><td>Over the Hedge</td><td>/overthehedge</td></tr>
    <tr><td>Overboard</td><td>/overboard</td></tr>
    <tr><td>PC and Pixel</td><td>/pcandpixel</td></tr>
    <tr><td>Peanuts</td><td>/peanuts</td></tr>
    <tr><td>Pearls Before Swine</td><td>/pearlsbeforeswine</td></tr>
    <tr><td>Pibgorn</td><td>/pibgorn</td></tr>
    <tr><td>Pickles</td><td>/pickles</td></tr>
    <tr><td>Pluggers</td><td>/pluggers</td></tr>
    <tr><td>Pooch Cafe</td><td>/poochcafe</td></tr>
    <tr><td>Pop Culture</td><td>/popculture</td></tr>
    <tr><td>Preteena</td><td>/preteena</td></tr>
    <tr><td>Raising Duncan</td><td>/raisingduncan</td></tr>
    <tr><td>Real Life Adventures</td><td>/reallife</td></tr>
    <tr><td>Reality Check</td><td>/realitycheck</td></tr>
    <tr><td>Red and Rover</td><td>/redandrover</td></tr>
    <tr><td>Reynolds Unwrapped</td><td>/reynoldsunwrapped</td></tr>
    <tr><td>Ripleys Believe It or Not</td><td>/ripleysbelieveitornot</td></tr>
    <tr><td>Rose Is Rose</td><td>/roseisrose</td></tr>
    <tr><td>Rubes</td><td>/rubes</td></tr>
    <tr><td>Rudy Park</td><td>/rudypark</td></tr>
    <tr><td>Sheldon</td><td>/sheldon</td></tr>
    <tr><td>Shirley And Son</td><td>/shirleyandson</td></tr>
    <tr><td>Shoe</td><td>/shoe</td></tr>
    <tr><td>Soup To Nutz</td><td>/souptonutz</td></tr>
    <tr><td>Speed Bump</td><td>/speedbump</td></tr>
    <tr><td>Spot The Frog</td><td>/spotthefrog</td></tr>
    <tr><td>Stone Soup</td><td>/stonesoup</td></tr>
    <tr><td>Strange Brew</td><td>/strangebrew</td></tr>
    <tr><td>Tank Mcnamara</td><td>/tankmcnamara</td></tr>
    <tr><td>Tarzan</td><td>/tarzan</td></tr>
    <tr><td>Thats Life</td><td>/thatslife</td></tr>
    <tr><td>The Born Loser</td><td>/bornloser</td></tr>
    <tr><td>The Buckets</td><td>/buckets</td></tr>
    <tr><td>The Grizzwells</td><td>/grizzwells</td></tr>
    <tr><td>The Other Coast</td><td>/othercoast</td></tr>
    <tr><td>The Sunshine Club</td><td>/sunshineclub</td></tr>
    <tr><td>Top of the World!</td><td>/topoftheworld</td></tr>
    <tr><td>Willy n Ethel</td><td>/willynethel</td></tr>
    <tr><td>Wizard of Id</td><td>/wizardofid</td></tr>
    <tr><td>Working Daze</td><td>/workingdaze</td></tr>
    <tr><td>Working It Out</td><td>/workingitout</td></tr>
    <tr><td>Ziggy</td><td>/ziggy</td></tr>
    <tr><td colspan="2"><div class="helpboxDescLabels">Examples:</div></td></tr>
    <tr><td>comx /wiz   </td><td>(Wizard of Id)</td></tr>
    <tr><td>comx /workingit  </td><td>(Working it Out)</td></tr>
    <tr><td>comx /rip   </td><td>(Ripleys Believe it or Not)</td></tr>
    <tr><td>comx /wiz /workingit /rip</td><td>(Opens all three)</td></tr>
    </table>
    </description>
    <category>Fun</category>
    <script><![CDATA[

  function comx(q){
     if( q == "" || q == "?"){
        qsfind("comx /function");
        return false;
     }
     var comxoutfile = DQSDLauncher.AppDataDirectory + '\\comx.html';     
     var pagebody="<html><head></head><body>";
     
     var args = parseArgs(q, 
"9chickweedlane,agnes,alleyoop,andycapp,arloandjanis,bc,\
     
ballardstreet,ben,betty,bignate,bonanas,bornloser,buckets,bullsnbears,candorville,\
     caseinpoint,ceodad,cheapthrills,committed,drabble,fatcats,ferdnand,\
     
flightdeck,floandfriends,forbetterorforworse,frankandernest,frazz,geech,getfuzzy,\
     gofish,graffiti,grandavenue,grizzwells,heathcliff,herbandjamaal,herman,\
     
janesworld,jumpstart,kitncarlyle,libertymeadows,lilabner,luann,lupoalberto,marmaduke,\
     
meatloafnight,meg,moderatelyconfused,momma,monty,motley,nancy,naturalselection,\
     
offthemark,onebighappyclassics,othercoast,outofthegenepool,overthehedge,pcandpixel,\
     pearlsbeforeswine,pibgorn,pickles,raisingduncan,realitycheck,redandrover,\
     
ripleysbelieveitornot,roseisrose,rubes,rudypark,sheldon,shirleyandson,souptonutz,\
     
speedbump,spotthefrog,strangebrew,sunshineclub,tarzan,thatslife,topoftheworld,\
     
wizardofid,workingdaze,workingitout,peanuts,dilbert,animalcrackers,adamathome,annie,\
     
baldo,bigpicture,bigtop,boondocks,boundandgagged,brendastarr,broomhilda,calvinandhobbes,\
     
catswithhands,cathy,cleats,closetohome,cornered,dicktracy,doonesbury,duplex,foxtrot,fredbasset,\
     
fuscobrothers,garfield,gasolinealley,heartofthecity,helenoftheinternet,housebroken,\
     
inthebleachers,kudzu,lacucaracha,lola,looseparts,lostsheep,luckycow,meehanstreak,\
     
middletons,misterboffo,mixedmedia,mullets,nonsequitur,overboard,pluggers,poochcafe,popculture,\
     
preteena,reallife,reynoldsunwrapped,shoe,stonesoup,tankmcnamara,willynethel,ziggy");

     if ( args.switches.length > 0 ){
        //get the current date
        var dat = new Date();
        for (i=0; i < args.switches.length; i++){

           var site=null;
           var endurl=null;
           var imgtitle=null;
           var imgkey=null;
           var urlstart=null;
           var endurl=null;
           var urlcat=null;
           var urldir=null;

           //default regex for finding the image in the page source..
           var rx = /.+(\/archive\/images\/\w+\.\w+)"\s+ALT="Today's\s+Comic"/i;
           switch( args.switches[i].name ){
              case "9chickweedlane": endurl="comics/chickweed/index.html";break;
              case "agnes": endurl="creators/agnes/index.html";break;
              case "alleyoop": endurl="comics/alleyoop/index.html";break;
              case "andycapp": endurl="creators/andycapp/index.html";break;
              case "arloandjanis": endurl="comics/arlonjanis/index.html";break;
              case "bc": endurl="creators/bc/index.html";break;
              case "ballardstreet": 
endurl="creators/ballardst/index.html";break;
              case "ben": endurl="comics/ben/index.html";break;
              case "betty": endurl="comics/betty/index.html";break;
              case "bignate": endurl="comics/bignate/index.html";break;
              case "bonanas": endurl="wash/bonanas/index.html";break;
              case "bornloser": endurl="comics/bornloser/index.html";break;
              case "buckets": endurl="comics/buckets/index.html";break;
              case "bullsnbears": endurl="comics/bullsnbears/index.html";break;
              case "candorville": endurl="wash/candorville/index.html";break;
              case "caseinpoint": endurl="comics/acaseinpoint/index.html";break;
              case "ceodad": endurl="creators/ceodad/index.html";break;
              case "cheapthrills": endurl="wash/cheapthrills/index.html";break;
              case "committed": endurl="comics/committed/index.html";break;
              case "dilbert": endurl="comics/dilbert/index.html"; 
imgtitle="Dilbert"; break;
              case "drabble": endurl="comics/drabble/index.html";break;
              case "fatcats": endurl="comics/fatcats/index.html";break;
              case "ferdnand": endurl="comics/ferdnand/index.html";break;
              case "flightdeck": endurl="creators/flightdeck/index.html";break;
              case "floandfriends": 
endurl="creators/floandfriends/index.html";break;
              case "forbetterorforworse": 
endurl="comics/forbetter/index.html";break;
              case "frankandernest": 
endurl="comics/franknernest/index.html";break;
              case "frazz": endurl="comics/frazz/index.html";break;
              case "geech": endurl="comics/geech/index.html";break;
              case "getfuzzy": endurl="comics/getfuzzy/index.html";break;
              case "gofish": endurl="comics/gofish/index.html";break;
              case "graffiti": endurl="comics/graffiti/index.html";break;
              case "grandavenue": endurl="comics/grandave/index.html";break;
              case "grizzwells": endurl="comics/grizzwells/index.html";break;
              case "heathcliff": endurl="creators/heathcliff/index.html";break;
              case "herbandjamaal": 
endurl="creators/herbnjamaal/index.html";break;
              case "herman": endurl="comics/herman/index.html";break;
              case "janesworld": endurl="comics/janesworld/index.html";break;
              case "jumpstart": endurl="comics/jumpstart/index.html";break;
              case "kitncarlyle": endurl="comics/kitncarlyle/index.html";break;
              case "libertymeadows": endurl="creators/liberty/index.html";break;
              case "lilabner": endurl="comics/lilabner/index.html";break;
              case "luann": endurl="comics/luann/index.html";break;
              case "lupoalberto": endurl="comics/lupo/index.html";break;
              case "marmaduke": endurl="comics/marmaduke/index.html";break;
              case "meatloafnight": endurl="comics/meatloaf/index.html";break;
              case "meg": endurl="comics/meg/index.html";break;
              case "moderatelyconfused": 
endurl="comics/moderatelyconfused/index.html";break;
              case "momma": endurl="creators/momma/index.html";break;
              case "monty": endurl="comics/monty/index.html";break;
              case "motley": endurl="comics/motley/index.html";break;
              case "nancy": endurl="comics/nancy/index.html";break;
              case "naturalselection": 
endurl="creators/naturalselection/index.html";break;
              case "offthemark": endurl="comics/offthemark/index.html";break;
              case "onebighappyclassics": 
endurl="creators/onebighappy/index.html";break;
              case "othercoast": endurl="creators/othercoast/index.html";break;
              case "outofthegenepool": endurl="wash/genepool/index.html";break;
              case "overthehedge": endurl="comics/hedge/index.html";break;
              case "pcandpixel": endurl="wash/pcnpixel/index.html";break;
              case "pearlsbeforeswine": endurl="comics/pearls/index.html";break;
              case "pibgorn": endurl="comics/pibgorn/index.html";break;
              case "pickles": endurl="wash/pickles/index.html";break;
              case "raisingduncan": 
endurl="comics/raisingduncan/index.html";break;
              case "realitycheck": endurl="comics/reality/index.html";break;
              case "redandrover": endurl="wash/redandrover/index.html";break;
              case "ripleysbelieveitornot": 
endurl="comics/ripleys/index.html";break;
              case "roseisrose": endurl="comics/roseisrose/index.html";break;
              case "rubes": endurl="creators/rubes/index.html";break;
              case "rudypark": endurl="comics/rudypark/index.html";break;
              case "sheldon": endurl="comics/sheldon/index.html";break;
              case "shirleyandson": 
endurl="comics/shirleynson/index.html";break;
              case "souptonutz": endurl="comics/soup2nutz/index.html";break;
              case "speedbump": endurl="creators/speedbump/index.html";break;
              case "spotthefrog": endurl="comics/spotthefrog/index.html";break;
              case "strangebrew": 
endurl="creators/strangebrew/index.html";break;
              case "sunshineclub": 
endurl="comics/sunshineclub/index.html";break;
              case "tarzan": endurl="comics/tarzan/index.html";break;
              case "thatslife": endurl="wash/thatslife/index.html";break;
              case "topoftheworld": endurl="comics/topofworld/index.html";break;
              case "wizardofid": endurl="creators/wizardofid/index.html";break;
              case "workingdaze": endurl="comics/workingdaze/index.html";break;
              case "workingitout": 
endurl="creators/workingitout/index.html";break;
              // the oddball one.. has to have its own rx pattern
              case "peanuts": 
endurl="comics/peanuts/index.html";rx=/.+(\/archive\/images\/\w+\.\w+)"\s+ALT="Today's
 Strip"/;imgtitle="Peanuts";break;
              // comics from ucomics.com
              case "animalcrackers": imgtitle="Animal 
Crackers";site="ucomics";imgkey="tmani";break;
              case "adamathome": imgtitle="Adam at 
Home";site="ucomics";imgkey="ad";break;
              case "annie": 
imgtitle="Annie";site="ucomics";imgkey="tmann";break;
              case "baldo": imgtitle="Baldo";site="ucomics";imgkey="ba";break;
              case "bigpicture": imgtitle="Big 
Picture";site="ucomics";imgkey="bi";break;
              case "bigtop": imgtitle="Big 
Top";site="ucomics";imgkey="bt";break;
              case "boondocks": 
imgtitle="Boondocks";site="ucomics";imgkey="bo";break;
              case "boundandgagged": imgtitle="Bound and 
Gagged";site="ucomics";imgkey="tmbou";break;
              case "brendastarr": imgtitle="Brenda 
Starr";site="ucomics";imgkey="tmbre";break;
              case "broomhilda": imgtitle="Broom 
Hilda";site="ucomics";imgkey="tmbro";break;
              case "cathy": imgtitle="Cathy";site="ucomics";imgkey="ca";break;
              case "catswithhands": imgtitle="Cats With 
Hands";site="ucomics";imgkey="tmcat";break;
              case "cleats": 
imgtitle="Cleats";site="ucomics";imgkey="cle";break;
              case "closetohome": imgtitle="Close to 
Home";site="ucomics";imgkey="cl";break;
              case "cornered": 
imgtitle="Cornered";site="ucomics";imgkey="co";break;
              case "dicktracy": imgtitle="Dick 
Tracy";site="ucomics";imgkey="tmdic";break;
              case "doonesbury": 
imgtitle="Doonesbury";site="ucomics";imgkey="db";break;
              case "duplex": imgtitle="Duplex";site="ucomics";imgkey="dp";break;
              case "foxtrot": 
imgtitle="Foxtrot";site="ucomics";imgkey="ft";break;
              case "fredbasset": imgtitle="Fred 
Basset";site="ucomics";imgkey="tmfba";break;
              case "fuscobrothers": imgtitle="Fusco 
Brothers";site="ucomics";imgkey="fu";break;
              case "garfield": 
imgtitle="Garfield";site="ucomics";imgkey="ga";break;
              case "gasolinealley": imgtitle="Gasoline 
Alley";site="ucomics";imgkey="tmgas";break;
              case "heartofthecity": imgtitle="Heart of the 
City";site="ucomics";imgkey="hc";break;
              case "helenoftheinternet": imgtitle="Helen of the 
Internet";site="ucomics";imgkey="tmhel";break;
              case "housebroken": 
imgtitle="Housebroken";site="ucomics";imgkey="tmhou";break;
              case "inthebleachers": imgtitle="In the 
Bleachers";site="ucomics";imgkey="bl";break;
              case "kudzu": 
imgtitle="Kudzu";site="ucomics";imgkey="tmkud";break;
              case "lacucaracha": imgtitle="La 
Cucaracha";site="ucomics";imgkey="lc";break;
              case "lola": imgtitle="Lola";site="ucomics";imgkey="tmlol";break;
              case "looseparts": imgtitle="Loose 
Parts";site="ucomics";imgkey="tmloo";break;
              case "lostsheep": imgtitle="Lost 
Sheep";site="ucomics";imgkey="lost";break;
              case "luckycow": imgtitle="Lucky 
Cow";site="ucomics";imgkey="luc";break;
              case "meehanstreak": imgtitle="Meehan 
Streak";site="ucomics";imgkey="tmmee";break;
              case "middletons": 
imgtitle="Middletons";site="ucomics";imgkey="tmmid";break;
              case "misterboffo": imgtitle="Mister 
Boffo";site="ucomics";imgkey="mb";break;
              case "mixedmedia": imgtitle="Mixed 
Media";site="ucomics";imgkey="tmmix";break;
              case "mullets": 
imgtitle="Mullets";site="ucomics";imgkey="mul";break;
              case "nonsequitur": 
imgtitle="Nonsequitur";site="ucomics";imgkey="nq";break;
              case "overboard": 
imgtitle="Overboard";site="ucomics";imgkey="ob";break;
              case "pluggers": 
imgtitle="Pluggers";site="ucomics";imgkey="tmplu";break;
              case "poochcafe": imgtitle="Pooch 
Cafe";site="ucomics";imgkey="poc";break;
              case "popculture": imgtitle="Pop 
Culture";site="ucomics";imgkey="pop";break;
              case "preteena": 
imgtitle="Preteena";site="ucomics";imgkey="pr";break;
              case "reallife": imgtitle="Real 
Life";site="ucomics";imgkey="rl";break;
              case "reynoldsunwrapped": imgtitle="Reynolds 
Unwrapped";site="ucomics";imgkey="rw";break;
              case "shoe": imgtitle="Shoe";site="ucomics";imgkey="tmsho";break;
              case "stonesoup": imgtitle="Stone 
Soup";site="ucomics";imgkey="ss";break;
              case "tankmcnamara": imgtitle="Tank 
Mcnamara";site="ucomics";imgkey="tm";break;
              case "willynethel": imgtitle="Willy n 
Ethel";site="ucomics";imgkey="wes";break;
              case "ziggy": imgtitle="Ziggy";site="ucomics";imgkey="zi";break;
              case "calvinandhobbes": imgtitle="Calvin And 
Hobbes";site="ucomics";imgkey="ch";break;
              default:endurl=null;imgkey=null;break;
           }//switch

           //default to www.comics.com
           switch(site){
              case "altcomics": //not yet implemented
                 break;
                 
              case "ucomics":
                 var urlstart="http://images.ucomics.com/comics/";;
                 //get the other date parameters for the ucomics image urls
                 var mday = dat.getDate();
                 var month = dat.getMonth()+1;
                 var year = dat.getYear();
                 var subyear = year.toString();
                 subyear = subyear.substr(2,2);
                 if (mday<10) mday= '0'+mday;
                 if (month<10) month= '0'+month;

                 //special handling for the calvinandhobbes comic.. It displays 
for year 1993
                 if (args.switches[i].name == "calvinandhobbes") {year=1993; 
subyear=93;}
                 
                 var imgurl = 
urlstart+imgkey+"/"+year+"/"+imgkey+subyear+month+mday+".gif";
                 break;

              default:
                 var urlstart="http://www.comics.com/";;

                 var sUrl=urlstart+endurl;
                 urlmatch = endurl.match(/^(\w+)(\/\w+)/);
                 var urlcat=urlmatch[1];
                 var urldir=urlmatch[2];

                 var xmlHttp = new ActiveXObject("Microsoft.XmlHttp");
                 xmlHttp.open("GET", sUrl, false);
                 xmlHttp.send();

                 //get the response content from the remote site
                 var sBody = xmlHttp.responseText;

                 //run the regex to parse out the image url
                 var relativeImgUrl = '';
                 var imgmatch = rx.exec(sBody);
                 if (imgmatch != null)
                 {
                    relativeImgUrl = imgmatch[1];
                 }
                 
                 var imgurl = urlstart+urlcat+urldir+relativeImgUrl;

                 if (imgtitle==null) {
                    //regex for finding the image title in the page source..
                    var tx = /<title>(.+)<\/title>/i;
                    var imgtitle = tx.exec(sBody)[1];
                 }
                 break;
           }// switch on "site"

           //put up the window
           if (imgurl != ""){
                pagebody += '<br><h4>'+imgtitle+'</h4><br><img src="' +imgurl 
+'">';
           }//if imgurl
        }// for i <...
     }else{
           setSearchWindowText("Bad Comic Name..  try 'comx ?' to see a list");
           setTimeout("setSearchWindowText('comx ')", 2000);
           return;
     }//else
     pagebody += '<br></body></html>';
     
     writeFile(comxoutfile, pagebody);
     openSearchWindow("file://" + comxoutfile);
  } //function

  ]]></script>
</search>

Reply via email to