Actually while I was in that file I decided to see if any other comics had problems due to website changes (what a pain!) -

Fixed:
Zits
5thwave

Discontinued:
Reynolds Unwrapped
Top of The World
Willy n Ethel
Bulls n Bears
CEODad
Big Picture
Dr Fun
Cats With Hands
Helen of the Internet
Lupo Alberto
Lola
Lost Sheep
Meatloaf Night
Meehan Streak
Mister Boffo
Mixed Media

The modified file was checked into the repository and should make the next release

Monty


<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 comic 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>Adam at Home</td><td>/adamathome</td></tr>
    <tr><td>Agnes</td><td>/agnes</td></tr>
    <tr><td>Alex</td><td>/alex</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 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>Calvin and Hobbes</td><td>/calvinandhobbes</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>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>Loose Parts</td><td>/looseparts</td></tr>
    <tr><td>Luann</td><td>/luann</td></tr>
    <tr><td>Lucky Cow</td><td>/luckycow</td></tr>
    <tr><td>Marmaduke</td><td>/marmaduke</td></tr>
    <tr><td>Meg!</td><td>/meg</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>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 5th Wave</td><td>/5thwave</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 Joy of Tech</td><td>/joyoftech</td></tr>
    <tr><td>The Other Coast</td><td>/othercoast</td></tr>
    <tr><td>The Sunshine Club</td><td>/sunshineclub</td></tr>
    <tr><td>User Friendly</td><td>/userfriendly</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>Zits</td><td>/zits</td></tr>
    <tr><td colspan="2"><div class="helpboxDescLabels">Editorials (not published every day):</div></td></tr>
    <tr><td>All editorials for today</td><td>/editorials</td></tr>
    <tr><td>Animated Oliphant</td><td>/animatedoliphant</td></tr>
    <tr><td>Ann Telneas</td><td>/anntelneas</td></tr>
    <tr><td>Barbara Brandon</td><td>/barbarabrandon</td></tr>
    <tr><td>Ben Sargent</td><td>/bensargent</td></tr>
    <tr><td>Bill Deore</td><td>/billdeore</td></tr>
    <tr><td>Chan Lowe</td><td>/chanlowe</td></tr>
    <tr><td>Chip Bok</td><td>/chipbok</td></tr>
    <tr><td>Chuck Asay</td><td>/chuckasay</td></tr>
    <tr><td>Dana Summers</td><td>/danasummers</td></tr>
    <tr><td>Dana Wasserman</td><td>/danawasserman</td></tr>
    <tr><td>David Horsey</td><td>/davidhorsey</td></tr>
    <tr><td>Dick Locher</td><td>/dicklocher</td></tr>
    <tr><td>Dick Wright</td><td>/dickwright</td></tr>
    <tr><td>Don Wright</td><td>/donwright</td></tr>
    <tr><td>Doug Marlette</td><td>/dougmarlette</td></tr>
    <tr><td>Drew Sheneman</td><td>/drewsheneman</td></tr>
    <tr><td>Faces In The News</td><td>/facesinthenews</td></tr>
    <tr><td>Gary Varvel</td><td>/garyvarvel</td></tr>
    <tr><td>Glenn McCoy</td><td>/glennmccoy</td></tr>
    <tr><td>Jack Higgins</td><td>/jackhiggins</td></tr>
    <tr><td>Jack Ohman</td><td>/jackohman</td></tr>
    <tr><td>Jeff Danziger</td><td>/jeffdanziger</td></tr>
    <tr><td>Lalo Alcaraz</td><td>/laloalcaraz</td></tr>
    <tr><td>Matt Davies</td><td>/mattdavies</td></tr>
    <tr><td>Mike Luckovich</td><td>/mikeluckovich</td></tr>
    <tr><td>Nick Anderson</td><td>/nickanderson</td></tr>
    <tr><td>Pat Oliphant</td><td>/patoliphant</td></tr>
    <tr><td>Paul Conrad</td><td>/paulconrad</td></tr>
    <tr><td>Paul Szep</td><td>/paulszep</td></tr>
    <tr><td>Signe Wilkinson</td><td>/signewilkinson</td></tr>
    <tr><td>Steve Sack</td><td>/stevesack</td></tr>
    <tr><td>Stuart Carlson</td><td>/stuartcarlson</td></tr>
    <tr><td>Ted Rall</td><td>/tedrall</td></tr>
    <tr><td>Tom Toles</td><td>/tomtoles</td></tr>
    <tr><td>Tony Auth</td><td>/tonyauth</td></tr>
    <tr><td>Walt Handelsman</td><td>/walthandelsman</td></tr>
    <tr><td>Wayne Stayskal</td><td>/waynestayskal</td></tr>
    <tr><td colspan="2"><div class="helpboxDescLabels">Extra Switch:</div></td></tr>
    <tr><td>comx /popup</td><td>Open the comics in a popup window instead of the default browser.</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>
    <tr><td>comx /wiz /workingit /rip /popup</td><td>(Opens all three) in a popup window</td></tr>
    <tr><td>comx /dil /editorials</td><td>Opens Dilbert and all editorial cartoons for today</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>\n<head>\n<style>h4 {color:#900000;margin:0;}img {margin-bottom:16px;}</style>\n</head>\n<body>\n";
     var fileout=1;     
     //if the fileout switch was used, set the fileout flag to true and remove it from the list of comics to fetch
     if (q.search("/popup") >= 0) {
        fileout=0;
        q = q.replace("/popup", "");
     }

     var editorial_switches = new Array(
     "animatedoliphant","anntelneas","barbarabrandon","bensargent", "billdeore","chanlowe",
     "chipbok","chuckasay","danasummers","danawasserman","davidhorsey","dicklocher",
     "dickwright","donwright","dougmarlette","drewsheneman","facesinthenews","garyvarvel",
     "glennmccoy","jackhiggins","jackohman","jeffdanziger","laloalcaraz", "mattdavies",
     "mikeluckovich","nickanderson","patoliphant","paulconrad","paulszep","signewilkinson",
     "stevesack","stuartcarlson","tedrall","tomtoles","tonyauth","walthandelsman","waynestayskal"
     );

     if (q.search("/editorials") >= 0) {
        q = q.replace("/editorials", "/" + editorial_switches.join(" /"));
     }

     var args = parseArgs(q, "5thwave,9chickweedlane,agnes,alex,alleyoop,andycapp,arloandjanis,bc,\
     ballardstreet,ben,betty,bignate,bonanas,bornloser,buckets,candorville,\
     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,marmaduke,\
     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,\
     wizardofid,workingdaze,workingitout,peanuts,dilbert,animalcrackers,adamathome,annie,\
     baldo,bigtop,boondocks,boundandgagged,brendastarr,broomhilda,calvinandhobbes,\
     cathy,cleats,closetohome,cornered,dicktracy,doonesbury,duplex,foxtrot,fredbasset,\
     fuscobrothers,garfield,gasolinealley,heartofthecity,housebroken,\
     inthebleachers,joyoftech,kudzu,lacucaracha,looseparts,luckycow,\
     middletons,mullets,nonsequitur,overboard,pluggers,poochcafe,popculture,\
     preteena,reallife,shoe,stonesoup,tankmcnamara,userfriendly,ziggy,\
     zits," + editorial_switches.join(','));

     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;
           var editorial=false;
                      
           //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 "candorville": endurl="wash/candorville/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 "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 "joyoftech": imgtitle="The Joy of Tech";site="joyoftech";imgkey="jot";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 "marmaduke": endurl="comics/marmaduke/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 "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 "5thwave": imgtitle="The 5th Wave";site="5thwave";break;
              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 "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 "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="foxtrot";imgkey="ft";break;
              case "fredbasset": imgtitle="Fred Basset";site="ucomics";imgkey="tmfba";break;
              case "forbetterorforworse": imgtitle="For Better Or For Worse";site="ucomics";imgkey="fb";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 "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 "looseparts": imgtitle="Loose Parts";site="ucomics";imgkey="tmloo";break;
              case "luckycow": imgtitle="Lucky Cow";site="ucomics";imgkey="luc";break;
              case "middletons": imgtitle="Middletons";site="ucomics";imgkey="tmmid";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 "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 "ziggy": imgtitle="Ziggy";site="ucomics";imgkey="zi";break;
              case "calvinandhobbes": imgtitle="Calvin And Hobbes";site="ucomics";imgkey="ch";break;
              // misc
              case "userfriendly": imgtitle="User Friendly";site="userfriendly";imgkey="uf";break;
              case "zits": imgtitle="Zits";site="seattlepi";imgkey="Zits";break;
              case "alex": imgtitle="Alex";site="alex";imgkey="ax";break;
              // editorials from ucomics.com
              case "animatedoliphant": imgtitle="Animated Oliphant";site="ucomics";imgkey="oa";editorial=true;break;
              case "anntelneas": imgtitle="Ann Telneas";site="ucomics";imgkey="tmate";editorial=true;break;
              case "barbarabrandon": imgtitle="Barbara Brandon";site="ucomics";imgkey="bb";editorial=true;break;
              case "bensargent": imgtitle="Ben Sargent";site="ucomics";imgkey="bs";editorial=true;break;
              case "billdeore": imgtitle="Bill DeOre";site="ucomics";imgkey="bd";editorial=true;break;
              case "chanlowe": imgtitle="Chan Lowe";site="ucomics";imgkey="tmclo";editorial=true;break;
              case "chipbok": imgtitle="Chip Bok";site="ucomics";imgkey="crcbo";editorial=true;break;
              case "chuckasay": imgtitle="Chuck Asay";site="ucomics";imgkey="crcas";editorial=true;break;
              case "danasummers": imgtitle="Dana Summers";site="ucomics";imgkey="tmdsu";editorial=true;break;
              case "danawasserman": imgtitle="Dana Wasserman";site="ucomics";imgkey="tmdwa";editorial=true;break;
              case "davidhorsey": imgtitle="David Horsey";site="ucomics";imgkey="tmdho";editorial=true;break;
              case "dicklocher": imgtitle="Dick Locher";site="ucomics";imgkey="tmdlo";editorial=true;break;
              case "dickwright": imgtitle="Dick Wright";site="ucomics";imgkey="tmdiw";editorial=true;break;
              case "donwright": imgtitle="Don Wright";site="ucomics";imgkey="tmdow";editorial=true;break;
              case "dougmarlette": imgtitle="Doug Marlette";site="ucomics";imgkey="tmdma";editorial=true;break;
              case "drewsheneman": imgtitle="Drew Sheneman";site="ucomics";imgkey="tmdsh";editorial=true;break;
              case "facesinthenews": imgtitle="Faces in the News";site="ucomics";imgkey="kw";editorial=true;break;
              case "garyvarvel": imgtitle="Gary Varvel";site="ucomics";imgkey="crgva";editorial=true;break;
              case "glennmccoy": imgtitle="Glenn McCoy";site="ucomics";imgkey="gm";editorial=true;break;
              case "jackhiggins": imgtitle="Jack Higgins";site="ucomics";imgkey="jh";editorial=true;break;
              case "jackohman": imgtitle="Jack Ohman";site="ucomics";imgkey="tmjoh";editorial=true;break;
              case "jeffdanziger": imgtitle="Jeff Danziger";site="ucomics";imgkey="jd";editorial=true;break;
              case "laloalcaraz": imgtitle="Lalo Alcaraz";site="ucomics";imgkey="la";editorial=true;break;
              case "mattdavies": imgtitle="Matt Davies";site="ucomics";imgkey="tmmda";editorial=true;break;
              case "mikeluckovich": imgtitle="Mike Luckovich";site="ucomics";imgkey="crmlu";editorial=true;break;
              case "nickanderson": imgtitle="Nick Anderson";site="ucomics";imgkey="wpnan";editorial=true;break;
              case "patoliphant": imgtitle="Pat Oliphant";site="ucomics";imgkey="po";editorial=true;break;
              case "paulconrad": imgtitle="Paul Conrad";site="ucomics";imgkey="tmpco";editorial=true;break;
              case "paulszep": imgtitle="Paul Szep";site="ucomics";imgkey="crpsz";editorial=true;break;
              case "signewilkinson": imgtitle="Signe Wilkinson";site="ucomics";imgkey="wpswi";editorial=true;break;
              case "stevesack": imgtitle="Steve Sack";site="ucomics";imgkey="tmssa";editorial=true;break;
              case "stuartcarlson": imgtitle="Stuart Carlson";site="ucomics";imgkey="sc";editorial=true;break;
              case "tedrall": imgtitle="Ted Rall";site="ucomics";imgkey="tr";editorial=true;break;
              case "tomtoles": imgtitle="Tom Toles";site="ucomics";imgkey="tt";editorial=true;break;
              case "tonyauth": imgtitle="Tony Auth";site="ucomics";imgkey="ta";editorial=true;break;
              case "walthandelsman": imgtitle="Walt Handelsman";site="ucomics";imgkey="tmwha";editorial=true;break;
              case "waynestayskal": imgtitle="Wayne Stayskal";site="ucomics";imgkey="tmwst";editorial=true;break;
              default:endurl=null;imgkey=null;break;
           }//switch

           //default to www.comics.com
           switch(site){
              case "altcomics": //not yet implemented
				break;
              case "seattlepi":
                 if (typeof wgetExe == "undefined") {
                    pagebody += '<br><h4>' +imgtitle+'</h4>This comic requires <a href="http://xoomer.virgilio.it/hherold/";>wget</a> and uses WScript.Shell to invoke it.<br>Please set wgetExe in your localprefs.js file to the location of your wget.exe. <br>For example: wgetExe="c:\\\\bin\\\\wget";';
                    imgurl = '';
                 } else {
                    var mday = dat.getDate();
                    var month = dat.getMonth()+1;
                    var year = dat.getYear();
                    if (mday<10) mday= '0'+mday;
                    if (month<10) month= '0'+month;
        
                    imgurl = "http://pst.rbma.com/content/"; + imgkey + "?date=" + year + month + mday;
                    var output_file = DQSDLauncher.AppDataDirectory + '\\' + imgkey + '.gif';
                    var cmd = '"' + wgetExe + '" --referer="http://seattlepi.nwsource.com/fun/"; --output-document="' + output_file + '" "' + imgurl + '"';
                    var shell = new ActiveXObject("WScript.Shell");
                    shell.Run(cmd, 0, true);
                    imgurl = "file:///"+output_file;
                }
                break; 
              case "joyoftech":
                 var sUrl="http://www.geekculture.com/joyoftech/index.html";;
                 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;

                 // what I'm looking for
                 //<img src="joyimages/555.png" height="431" width="485" border="0">
                 var pattern = /joyimages\/\S+.[jpg|png|gif]" alt="The Joy/ig;
                 var result = sBody.match(pattern)[0];
                 var imgurl = "http://www.geekculture.com/joyoftech/"+result;
                 break;

              case "userfriendly":
                 var urlstart="http://ars.userfriendly.org/cartoons";;
                 // format the date param for today's comic
                 var mday = "0" + dat.getDate().toString();
                 var month = "0" + (dat.getMonth()+1);
                 var year = dat.getYear();

                 var sUrl=urlstart;
                 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;

                 // what I'm looking for
                 //<IMG ALT="Latest Strip" height="219" WIDTH="576" BORDER=0 SRC="http://www.userfriendly.org/cartoons/archives/04may/xuf006703.gif";>
                 var pattern = /http\:\S+userfriendly\.org\/cartoons\/\S+\.gif/ig;
                 var result = sBody.match(pattern);
                 var imgurl = result[0];
                 break;

              //http://www.telegraph.co.uk/money/graphics/2006/07/21/calex21.gif
              case "alex":
                 var urlstart="http://www.telegraph.co.uk/money/graphics";;
                 
                 //no comic is available for Sat or Sun.. default to Friday on these occasions
                 var dow=dat.getDay();
                 
                 //get a new instance of the date object to play with
                 var today=new Date();
                 
                 //day is Sunday - set the date object back two days
                 if (dow == 0) {
                     today.setDate(today.getDate()-2); 
                 }
                 //Day is Saturday - set the date object back one days
                 if (dow == 6) {
                    today.setDate(today.getDate()-1); 
                 }
                 // fetch the date elements from the local date object
                 var mday = today.getDate();
                 var month = today.getMonth()+1;
                 var year = today.getYear();  
                                
                 if (mday<10) mday= '0'+mday;
                 if (month<10) month= '0'+month;
                 
                 var sUrl=urlstart;
                 var imgurl = urlstart+'/'+year+'/'+month+'/'+mday+'/calex'+mday+'.gif';
                 break;

              case "foxtrot":
                 //foxtrot is now only available on sundays..  if today is not sunday, calculate prior one
                 //http://images.ucomics.com/comics/ft/2007/ft070217.gif
                 var urlstart="http://images.ucomics.com/comics";;
                 var targetdate=comxcalcsunday('ft');                 
                 var sUrl=urlstart;
                 var imgurl = urlstart+'/'+targetdate+'.gif';
                 break;
 
               case "5thwave":
                 //5thwave is now only available on sundays..  if today is not sunday, calculate prior one
                 //http://images.ucomics.com/comics/fw/2007/fw070211.gif
                 var urlstart="http://images.ucomics.com/comics";;
                 var targetdate=comxcalcsunday('fw');              
                 var sUrl=urlstart;
                 var imgurl = urlstart+'/'+targetdate+'.gif';
                 break;                

              case "ucomics":
                 var urlstart="http://images.ucomics.com/comics/";;
                 if (editorial) {
                    urlstart="http://picayune.uclick.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 in 2004
                //if (args.switches[i].name == "calvinandhobbes") {
                //  var year_offset = -11;
                //  year += year_offset;
                //  subyear = year % 100; 
               //}
                 
                 var imgurl = urlstart+imgkey+"/"+year+"/"+imgkey+subyear+month+mday+".gif";
                 if (editorial) {
                    var xmlHttp = new ActiveXObject("Microsoft.XmlHttp");
                    var tries = 1;  // 1 == just try today's comic, > 1 look for previous days comics
                    var status = -1;
                    var cur_mday = mday;
                    while (status != 200 && tries > 0) {
                       imgurl = urlstart+imgkey+"/"+year+"/"+imgkey+subyear+month+cur_mday+".gif";
                       xmlHttp.open("HEAD", imgurl, false);
                       xmlHttp.send();
                       status = xmlHttp.status;
                       if (status == 200) {
                          // found it
                          break;
                       }
                       // none for today try previous day
                       imgurl = "";
                       tries--;
                       cur_mday--;
                       // should be smarter here and go to end of previous month
                       if (cur_mday < 1)
                          break;
                       if (cur_mday<10) cur_mday= '0'+cur_mday;
                    }
                 }
                 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.replace(/[\r\n]/g, ' ');

                 //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 += '<h4>'+imgtitle+'</h4>\n<img src="' +imgurl +'">\n';
           }//if imgurl
        }// for i <...
     }else{
           setSearchWindowText("Bad Comic Name..  try 'comx ?' to see a list");
           setTimeout("setSearchWindowText('comx ')", 2000);
           return;
     }//else
     pagebody += '\n</body>\n</html>';
     
     if (fileout == 1) {
        writeFile(comxoutfile, pagebody);
        openSearchWindow("file://" + comxoutfile);
     }else{
        myWindow = window.open("", "comx", 'resizable,scrollbars,width=1000,height=700')
        myWindow.document.write(pagebody)
     }

  } //function

   function comxcalcsunday(prefix) {
      //get the current date
      var dat = new Date();
      
      //get the current day of week 0=sunday
      var dow=dat.getDay();

      //get a new instance of the date object to play with
      var today=new Date();
   
      //get the delta to make dow = 0 (sunday) 
      today.setDate(today.getDate()- dow); 
       
      // fetch the date elements from the local date object
      var mday = today.getDate();
      var month = today.getMonth()+1;
      var year = today.getYear();
      //truncate the year to make a 2 digit one
      var shortyear = (year+"").substring(2,4);
                      
      if (mday<10) mday= '0'+mday;
      if (month<10) month= '0'+month;
      return(prefix+'/'+year+'/'+prefix+shortyear+month+mday);
   }//function
   
  ]]></script>
</search>
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
To unsubscribe visit:
https://lists.sourceforge.net/lists/listinfo/dqsd-users
DQSD-Users@lists.sourceforge.net
http://sourceforge.net/mailarchive/forum.php?forum_id=8601

Reply via email to