Hi all,

I've updated and attached comx.xml to support
editorial political cartoons as well as support for
seattle pi comics like zits.  The seattle pi comics
require you to use wget via WScript.Shell.

Let me know how it works (works fine for me!) and if
no problems I'll check it in.

Brent



                
__________________________________ 
Yahoo! Mail - PC Magazine Editors' Choice 2005 
http://mail.yahoo.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>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">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 /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><head></head><body>";
     
	 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, "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,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 "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;
			  case "zits": imgtitle="Zits";site="seattlepi";imgkey="Zits";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><br>This comic requires <a href="http://xoomer.virgilio.it/hherold/";>wget</a> and uses WScript.Shell to invoke it.  Please set wgetExe in your localprefs.js file to the location of your wget.exe. For example:<br><br>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 "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 += '<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