Special Searchable Bookmarks for Firefox

Firefox has a feature called "smart bookmarks" that lets you assign a keyword (eg. "wiki") to a specially-formatted bookmark, such that if you type something like "wiki firefox" into the location bar, it will search Wikipedia for the word "firefox". However, if you really just wanted to go directly to the Wikipedia home page and not perform a search, you would have to create a second firefox bookmark and assign a second keyword (otherwise, you will end up searching for the string "%s"). Firefox has opted for the more simplistic approach in the interest of not confusing more inexperienced users, but I personally find it rather annoying to need two keywords for every page (sometimes I really do just want to go to a website's homepage instead of searching it).

What you'll find below are my solution to this problem. By using javascript, I have been able to detect a blank search string, and send you to a non-search URL. All you need to do is right-click on the link and add it as a bookmark (or if that doesn't work, copy the javascript code into a new bookmark); I've even provided a suggested keyword for most of these searches.

I've recently switched from a Linux desktop computer to a Macbook. Along with this comes a switch to Safari, which doesn't support bookmark keywords at all, and limits your search engines to a single option. Enter Quicksilver, an application which not only lets you have web search options, but can do oh so much more (you'll just have to visit their site to find out). The qss-http:// bookmarks are intended for the Web Search plugin for Quicksilver. No need for javascript here, just paste the link into your Quicksilver catalog and search away.

keyword description
Search Engines
? Search Google
http://www.google.com/
http://www.google.com/search?q=%s qss-http://www.google.com/search?q=***
javascript:location.href='http://www.google.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'search?q=%s')
img Search Google Images
http://images.google.com/
http://images.google.com/images?q=%s qss-http://images.google.com/images?q=***
javascript:location.href='http://images.google.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'images?q=%s')
hotpot Search Google Hotpot
http://www.google.com/hotpot
http://www.google.com/hotpot?q=%s qss-http://www.google.com/hotpot?q=***
javascript:location.href='http://www.google.com/hotpot'+(('%s'=='%'+'s'||'%s'=='')?'':'?q=%s')
map Search Google Maps for an address
http://maps.google.com/
http://maps.google.com/maps?q=%s qss-http://maps.google.com/maps?q=***
javascript:location.href='http://maps.google.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'maps?q=%s')
news Search Google News
http://news.google.com/
http://news.google.com/news?q=%s qss-http://news.google.com/news?q=***
javascript:location.href='http://news.google.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'news?q=%s')
local Search for something near Seattle, WA
http://local.google.com/
http://local.google.com/local?sc=1&hl=en&q=%s&near=seattle%2C+wa qss-http://local.google.com/local?sc=1&hl=en&q=***&near=seattle%2C+wa
javascript:location.href='http://local.google.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'local?sc=1&hl=en&q=%s&near=seattle%2C+wa')
lucky Go directly to Google's best guess for your search.
http://google.com/
http://google.com/search?btnI&q=%s qss-http://google.com/search?btnI&q=***
javascript:location.href='http://google.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'search?btnI&q=%s')
gmail Read or search your google mail account.
https://mail.google.com/mail/
https://mail.google.com/mail/#search/%s qss-https://mail.google.com/mail/#search/***
javascript:location.href='https://mail.google.com/mail/'+(('%s'=='%'+'s'||'%s'=='')?'':'#search/%s')
gc Read or search your google mail contact list.
https://mail.google.com/mail/#contacts
https://mail.google.com/mail/#contacts/search/%s qss-https://mail.google.com/mail/#contacts/search/***
javascript:location.href='https://mail.google.com/mail/#contacts'+(('%s'=='%'+'s'||'%s'=='')?'':'/search/%s')
bing Search Bing
http://www.bing.com/
http://www.bing.com/search?q=%s qss-http://www.bing.com/search?q=***
javascript:location.href='http://www.bing.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'search?q=%s')
Entertainment
freedb Search freedb.org for an artist or song title.
http://www.freedb.org/
http://www.freedb.org/freedb_search.php?words=%s&allfields=NO&fields=artist&fields=title&allcats=YES&grouping=none qss-http://www.freedb.org/freedb_search.php?words=***&allfields=NO&fields=artist&fields=title&allcats=YES&grouping=none
javascript:location.href='http://www.freedb.org/'+(('%s'=='%'+'s'||'%s'=='')?'':'freedb_search.php?words=%s&allfields=NO&fields=artist&fields=title&allcats=YES&grouping=none')
imdb Search IMDB for a movie, actor, etc.
http://www.imdb.com/
http://www.imdb.com/find?s=all&q=%s qss-http://www.imdb.com/find?s=all&q=***
javascript:location.href='http://www.imdb.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'find?s=all&q=%s')
tmdb Search TheMovieDB for a movie, actor, etc.
http://themoviedb.org/
http://themoviedb.org/search?search[text]=%s qss-http://themoviedb.org/search?search[text]=***
javascript:location.href='http://themoviedb.org/'+(('%s'=='%'+'s'||'%s'=='')?'':'search?search[text]=%s')
tvdb Search TheTVDB
http://thetvdb.com/
http://thetvdb.com/?string=%s&searchseriesid=&tab=listseries&function=Search qss-http://thetvdb.com/?string=***&searchseriesid=&tab=listseries&function=Search
javascript:location.href='http://thetvdb.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'?string=%s&searchseriesid=&tab=listseries&function=Search')
kcls Search the king county library system
http://catalog.kcls.org/
http://catalog.kcls.org/search/a?searchtype=Y&searcharg=%s&SORT=D&searchscope=1 qss-http://catalog.kcls.org/search/a?searchtype=Y&searcharg=***&SORT=D&searchscope=1
javascript:location.href='http://catalog.kcls.org/'+(('%s'=='%'+'s'||'%s'=='')?'':'search/a?searchtype=Y&searcharg=%s&SORT=D&searchscope=1')
spl Search the king county library system
http://www.spl.org/
https://catalog.spl.org/ipac20/ipac.jsp?index=.GW&term=%s qss-https://catalog.spl.org/ipac20/ipac.jsp?index=.GW&term=***
javascript:location.href='http'+(('%s'=='%'+'s'||'%s'=='')?'://www.spl.org/':'s://catalog.spl.org/ipac20/ipac.jsp?index=.GW&term=%s')
netflix Search Netflix
http://www.netflix.com/
http://www.netflix.com/Search?v1=%s qss-http://www.netflix.com/Search?v1=***
javascript:location.href='http://www.netflix.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'Search?v1=%s')
rt Search Rotten Tomatoes for a movie
http://www.rottentomatoes.com/
http://www.rottentomatoes.com/search/full_search.php?search=%s qss-http://www.rottentomatoes.com/search/full_search.php?search=***
javascript:location.href='http://www.rottentomatoes.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'search/full_search.php?search=%s')
Package Tracking
dhl Track a package through DHL
http://www.dhl-usa.com/
http://track.dhl-usa.com/atrknav.asp?ShipmentNumber=%s qss-http://track.dhl-usa.com/atrknav.asp?ShipmentNumber=***
javascript:location.href='http://'+(('%s'=='%'+'s'||'%s'=='')?'www.dhl-usa.com/':'track.dhl-usa.com/atrknav.asp?ShipmentNumber=%s')
fedex Track a package through FedEx
http://www.fedex.com/us/
http://www.fedex.com/Tracking?tracknumbers=%s qss-http://www.fedex.com/Tracking?tracknumbers=***
javascript:location.href='http://www.fedex.com/'+(('%s'=='%'+'s'||'%s'=='')?'us/':'Tracking?tracknumbers=%s')
ups Track a package through UPS
http://www.ups.com/
http://wwwapps.ups.com/etracking/tracking.cgi?TypeOfInquiryNumber=T&HTMLVersion=4.0&InquiryNumber1=%s&track=Track qss-http://wwwapps.ups.com/etracking/tracking.cgi?TypeOfInquiryNumber=T&HTMLVersion=4.0&InquiryNumber1=***&track=Track
javascript:location.href='http://www'+(('%s'=='%'+'s'||'%s'=='')?'.ups.com/':'apps.ups.com/etracking/tracking.cgi?TypeOfInquiryNumber=T&HTMLVersion=4.0&InquiryNumber1=%s&track=Track')
usps Track a package through the USPS
http://www.usps.com
http://trkcnfrm1.smi.usps.com/PTSInternetWeb/InterLabelInquiry.do?strOrigTrackNum=%s qss-http://trkcnfrm1.smi.usps.com/PTSInternetWeb/InterLabelInquiry.do?strOrigTrackNum=***
javascript:location.href='http://'+(('%s'=='%'+'s'||'%s'=='')?'www.usps.com':'trkcnfrm1.smi.usps.com/PTSInternetWeb/InterLabelInquiry.do?strOrigTrackNum=%s')
Reference
apache Search the apache 2.0 manual.
http://httpd.apache.org/docs-2.0/
http://www.google.com/search?as_sitesearch=httpd.apache.org&q=%s qss-http://www.google.com/search?as_sitesearch=httpd.apache.org&q=***
javascript:location.href='http://'+(('%s'=='%'+'s'||'%s'=='')?'httpd.apache.org/docs-2.0/':'www.google.com/search?as_sitesearch=httpd.apache.org&q=%s')
cpan Search CPAN
http://search.cpan.org/
http://search.cpan.org/search?query=%s qss-http://search.cpan.org/search?query=***
javascript:location.href='http://search.cpan.org/'+(('%s'=='%'+'s'||'%s'=='')?'':'search?query=%s')
mysql Search the MySQL manual.
http://dev.mysql.com/doc/mysql/
http://dev.mysql.com/doc/mysql/search.php?q=%s qss-http://dev.mysql.com/doc/mysql/search.php?q=***
javascript:location.href='http://dev.mysql.com/doc/mysql/'+(('%s'=='%'+'s'||'%s'=='')?'':'search.php?q=%s')
netcraft Look a server up at netcraft.
http://uptime.netcraft.com/up/graph/
http://uptime.netcraft.com/up/graph/?mode_u=off&mode_w=on&site=%s&submit=Examine qss-http://uptime.netcraft.com/up/graph/?mode_u=off&mode_w=on&site=***&submit=Examine
javascript:location.href='http://uptime.netcraft.com/up/graph/'+(('%s'=='%'+'s'||'%s'=='')?'':'?mode_u=off&mode_w=on&site=%s&submit=Examine')
pear Search the PEAR archives.
http://pear.php.net/
http://pear.php.net/search.php?q=%s qss-http://pear.php.net/search.php?q=***
javascript:location.href='http://pear.php.net/'+(('%s'=='%'+'s'||'%s'=='')?'':'search.php?q=%s')
perldoc Search the perl documentation.
http://perldoc.perl.org/
http://perldoc.perl.org/search.html?q=%s qss-http://perldoc.perl.org/search.html?q=***
javascript:location.href='http://perldoc.perl.org/'+(('%s'=='%'+'s'||'%s'=='')?'':'search.html?q=%s')
php Search the PHP manual.
http://www.php.net/manual/en/
http://www.php.net/search.php?lang=en&show=quickref&pattern=%s qss-http://www.php.net/search.php?lang=en&show=quickref&pattern=***
javascript:location.href='http://www.php.net/'+(('%s'=='%'+'s'||'%s'=='')?'manual/en/':'search.php?lang=en&show=quickref&pattern=%s')
psql Search the PostgreSQL manual.
http://www.postgresql.org/docs/8.2/interactive/index.html
http://search.postgresql.org/search?u=%2Fdocs%2F8.2%2Finteractive%2F&q=%s qss-http://search.postgresql.org/search?u=%2Fdocs%2F8.2%2Finteractive%2F&q=***
javascript:location.href='http://'+(('%s'=='%'+'s'||'%s'=='')?'www.postgresql.org/docs/8.2/interactive/index.html':'search.postgresql.org/search?u=%2Fdocs%2F8.2%2Finteractive%2F&q=%s')
qm Search Quirksmode.org
http://www.quirksmode.org
http://www.google.com/search?q=site%3Awww.quirksmode.org+%s qss-http://www.google.com/search?q=site%3Awww.quirksmode.org+***
javascript:location.href='http://www.'+(('%s'=='%'+'s'||'%s'=='')?'quirksmode.org':'google.com/search?q=site%3Awww.quirksmode.org+%s')
tt Search the perl template-toolkit manual.
http://template-toolkit.org/docs/index.html
http://www.google.com/search?as_sitesearch=template-toolkit.org/docs&q=%s qss-http://www.google.com/search?as_sitesearch=template-toolkit.org/docs&q=***
javascript:location.href='http://'+(('%s'=='%'+'s'||'%s'=='')?'template-toolkit.org/docs/index.html':'www.google.com/search?as_sitesearch=template-toolkit.org/docs&q=%s')
mw Search the Merriam-Webster dictionary.
http://m-w.com/
http://m-w.com/cgi-bin/dictionary?book=Dictionary&va=%s qss-http://m-w.com/cgi-bin/dictionary?book=Dictionary&va=***
javascript:location.href='http://m-w.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'cgi-bin/dictionary?book=Dictionary&va=%s')
wiki Search Wikipedia.
http://en.wikipedia.org/
http://en.wikipedia.org/wiki/Special:Search?search=%s qss-http://en.wikipedia.org/wiki/Special:Search?search=***
javascript:location.href='http://en.wikipedia.org/'+(('%s'=='%'+'s'||'%s'=='')?'':'wiki/Special:Search?search=%s')
beer Search BeerAdvocate
http://beeradvocate.com/
http://beeradvocate.com/search?find=%s&sT=beer qss-http://beeradvocate.com/search?find=***&sT=beer
javascript:location.href='http://beeradvocate.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'search?find=%s&sT=beer')
Shopping
amazon Search amazon.com
http://www.amazon.com/
http://www.amazon.com/exec/obidos/external-search?mode=blended&keyword=%s qss-http://www.amazon.com/exec/obidos/external-search?mode=blended&keyword=***
javascript:location.href='http://www.amazon.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'exec/obidos/external-search?mode=blended&keyword=%s')
buy Search buy.com
http://www.buy.com/
http://www.buy.com/retail/searchresults.asp?qu=%s qss-http://www.buy.com/retail/searchresults.asp?qu=***
javascript:location.href='http://www.buy.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'retail/searchresults.asp?qu=%s')
cooking Search cooking.com
http://www.cooking.com/
http://www.cooking.com/products/shprodli.asp?Keywords=%s qss-http://www.cooking.com/products/shprodli.asp?Keywords=***
javascript:location.href='http://www.cooking.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'products/shprodli.asp?Keywords=%s')
ebay Search ebay
http://www.ebay.com/
http://search.ebay.com/search/search.dll?MfcISAPICommand=GetResult&ht=1&SortProperty=MetaEndSort&query=%s qss-http://search.ebay.com/search/search.dll?MfcISAPICommand=GetResult&ht=1&SortProperty=MetaEndSort&query=***
javascript:location.href='http://'+(('%s'=='%'+'s'||'%s'=='')?'www.ebay.com/':'search.ebay.com/search/search.dll?MfcISAPICommand=GetResult&ht=1&SortProperty=MetaEndSort&query=%s')
wallet Search Fat Wallet
http://www.fatwallet.com/
http://search.fatwallet.com/vivisimo/cgi-bin/query-meta?input-form=simple&query=%s qss-http://search.fatwallet.com/vivisimo/cgi-bin/query-meta?input-form=simple&query=***
javascript:location.href='http://'+(('%s'=='%'+'s'||'%s'=='')?'www.fatwallet.com/':'search.fatwallet.com/vivisimo/cgi-bin/query-meta?input-form=simple&query=%s')
product Search google products
http://www.google.com/products
http://www.google.com/products?q=%s qss-http://www.google.com/products?q=***
javascript:location.href='http://www.google.com/products'+(('%s'=='%'+'s'||'%s'=='')?'':'?q=%s')
overstock Search froogle
http://www.overstock.com/
http://www.overstock.com/cgi-bin/d2.cgi?PAGE=ENDECA&keywords=%s qss-http://www.overstock.com/cgi-bin/d2.cgi?PAGE=ENDECA&keywords=***
javascript:location.href='http://www.overstock.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'cgi-bin/d2.cgi?PAGE=ENDECA&keywords=%s')
newegg Search newegg
http://www.newegg.com/
http://www.newegg.com/Product/ProductList.asp?Submit=ENE&N=0&Description=%s qss-http://www.newegg.com/Product/ProductList.asp?Submit=ENE&N=0&Description=***
javascript:location.href='http://www.newegg.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'Product/ProductList.asp?Submit=ENE&N=0&Description=%s')
zipzoom Search ZipZoomFly
http://www.zipzoomfly.com/
http://www.zipzoomfly.com/jsp/Search.jsp?Category=00&Key=%s&SearchBy=PRC_CPRICE qss-http://www.zipzoomfly.com/jsp/Search.jsp?Category=00&Key=***&SearchBy=PRC_CPRICE
javascript:location.href='http://www.zipzoomfly.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'jsp/Search.jsp?Category=00&Key=%s&SearchBy=PRC_CPRICE')
price Search PriceGrabber
http://www.pricegrabber.com/
http://www.pricegrabber.com/search_gen.php?form_keyword=%s qss-http://www.pricegrabber.com/search_gen.php?form_keyword=***
javascript:location.href='http://www.pricegrabber.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'search_gen.php?form_keyword=%s')
lowes Search Lowes Home Improvement
http://www.lowes.com/
http://www.lowes.com//lowes/lkn?action=search&query=%s qss-http://www.lowes.com//lowes/lkn?action=search&query=***
javascript:location.href='http://www.lowes.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'/lowes/lkn?action=search&query=%s')
homedepot Search Home Depot
http://www.homedepot.com/
http://www.homedepot.com/prel80/HDUS/EN_US/diy_main/pg_diy.jsp?CNTTYPE=PROD_META&CNTKEY=misc%2FsearchResults.jsp&keyword=%s qss-http://www.homedepot.com/prel80/HDUS/EN_US/diy_main/pg_diy.jsp?CNTTYPE=PROD_META&CNTKEY=misc%2FsearchResults.jsp&keyword=***
javascript:location.href='http://www.homedepot.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'prel80/HDUS/EN_US/diy_main/pg_diy.jsp?CNTTYPE=PROD_META&CNTKEY=misc%2FsearchResults.jsp&keyword=%s')
Beer
ba Search Beer Advocate for a beer
http://www.beeradvocate.com/
http://www.beeradvocate.com/search?try=&find=%s&sT=beer&submit=wait+... qss-http://www.beeradvocate.com/search?try=&find=***&sT=beer&submit=wait+...
javascript:location.href='http://www.beeradvocate.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'search?try=&find=%s&sT=beer&submit=wait+...')
Stocks/Funds
morningstar Search Morningstar ratings for a ticker symbol.
http://www.morningstar.com/
http://quicktake.morningstar.com/Fund/Snapshot.asp?Symbol=%s qss-http://quicktake.morningstar.com/Fund/Snapshot.asp?Symbol=***
javascript:location.href='http://'+(('%s'=='%'+'s'||'%s'=='')?'www.morningstar.com/':'quicktake.morningstar.com/Fund/Snapshot.asp?Symbol=%s')
q Search Scottrade's ValueLine for a mutual fund symbol.
http://sites.stockpoint.com/scottrade/
http://sites.stockpoint.com/scottrade/quote.asp?Symbol=%s qss-http://sites.stockpoint.com/scottrade/quote.asp?Symbol=***
javascript:location.href='http://sites.stockpoint.com/scottrade/'+(('%s'=='%'+'s'||'%s'=='')?'':'quote.asp?Symbol=%s')
gf Search Google Finance for a ticker symbol.
http://finance.google.com/
http://finance.google.com/finance?q=%s qss-http://finance.google.com/finance?q=***
javascript:location.href='http://finance.google.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'finance?q=%s')
yf Search Yahoo Finance for a ticker symbol.
http://finance.yahoo.com/
http://finance.yahoo.com/q?s=%s qss-http://finance.yahoo.com/q?s=***
javascript:location.href='http://finance.yahoo.com/'+(('%s'=='%'+'s'||'%s'=='')?'':'q?s=%s')

More Bookmarklets:

The following somewhat random collection of bookmarklets do not necessarily take you to a new location, nor are any of them entirely (or even at all) my own creations, but I find all of them quite useful.

keyword description
Helpful Tasks
fix Revert all form input fields to my preferred color set, overriding anything specified by the website's own CSS.
javascript:(function(){traverse(window); function traverse(w){var styles='input.xris_fixed_colors, textarea, select{background: #090916 ! important; color: #C3C3D0 !important; }'; var doc=w.document; if(doc.createStyleSheet){doc.createStyleSheet("javascript:'"+styles+"'"); }else{var newSS=doc.createElement('link'); newSS.rel='stylesheet'; newSS.href='data:text/css,'+escape(styles); doc.getElementsByTagName("head")[0].appendChild(newSS); }/* fix all of the fields in this frame */ var F=doc.forms; for(var j=0; j<F.length; j++){var f=F[j]; for(var i=0; i<f.length; i++){if(f[i].type.toLowerCase()=="password" || f[i].type.toLowerCase()=="text")f[i].className +=' xris_fixed_colors'; }}/* Handle any subframes */ if(w && w.frames){for(var i=0; i<w.frames.length; i++){traverse(w.frames[i]); }}}})();
Turns the first password element it finds into plain text.
javascript:(function(){var F=document.forms; for(var j=0; j<F.length; j++){var f=F[j]; for(var i=0; i<f.length; i++){if(f[i].type.toLowerCase()=='password')f[i].type='text'; }}})();
tiny Send the current page to tinyurl.com
javascript:void(location.href='http://tinyurl.com/create.php?url='+location.href)
Disable some html functions that tell the browser not to let you choose to auto-fill a password field.
javascript:(function(){var ca,cea,cs,df,dfe,i,j,x,y; function n(i,what){return i+' '+what+((i==1)?'':'s')}ca=cea=cs=0; df=document.forms; for(i=0; i<df.length; ++i){x=df[i]; dfe=x.elements; if(x.onsubmit){x.onsubmit=''; ++cs; }if(x.attributes['autocomplete']){x.attributes['autocomplete'].value='on'; ++ca; }for(j=0; j<dfe.length; ++j){y=dfe[j]; if(y.attributes['autocomplete']){y.attributes['autocomplete'].value='on'; ++cea; }}}alert('Removed autocomplete=off from '+n(ca,'form')+' and from '+n(cea,'form element')+', and removed onsubmit from '+n(cs,'form')+'. After you type your password and submit the form, the browser will offer to remember your password.')})();
Convert "post" forms to "get" ones.
javascript:(function(){var x,i; x=document.forms; for(i=0; i < x.length; ++i)x[i].method='get'; alert('Changed ' + x.length + ' forms to use the GET method. After submitting a form from this page, you should be able to bookmark the result.'Z); })();
Hide any elements that would load a browser plugin.
javascript:(function(){function R(w){try{var d=w.document,j,i,t,T,N,b,r=1,C; for(j=0; t=['object','embed','applet','iframe'][j]; ++j){T=d.getElementsByTagName(t); for(i=T.length-1; (i+1)&&(N=T[i]); --i)if(j!=3||!R((C=N.contentWindow)?C:N.contentDocument.defaultView)){b=d.createElement('div'); b.style.width=N.width; b.style.height=N.height; b.innerHTML='<del>'+(?'third-party '+t:t)+'</del>'; N.parentNode.replaceChild(b,N); }}}catch(E){r=0}return r}R(self); var i,x; for(i=0; x=frames[i]; ++i)R(x)})()
Posted on March 16th 2009