tag:blogger.com,1999:blog-62637765356422753992024-03-13T23:18:49.924-07:00Web EatersScripts, Hints and Web ReferencesTonyhttp://www.blogger.com/profile/16270062671127521166noreply@blogger.comBlogger11125tag:blogger.com,1999:blog-6263776535642275399.post-84079886454266211202010-01-01T13:18:00.000-08:002010-01-01T13:20:01.005-08:00New BlogHi there, this blog will be never updated... to view my posts please refer to <a href="http://www.ramirezcobos.com">http://www.ramirezcobos.com</a><br /><br />Thanks!Tonyhttp://www.blogger.com/profile/16270062671127521166noreply@blogger.com0tag:blogger.com,1999:blog-6263776535642275399.post-71250202207962615072008-12-31T02:42:00.000-08:002008-12-31T03:22:39.131-08:00Replacing Accented Chars for their respective HTML CodeHi there, long time I do not write in my blog but as you know the World is going through huge economical crisis and I had to work hard to maintain my financial stability (as most of you I am sure). Nevertheless, I wanted to share a piece of javascript code that saved my problems in dealing with accents (Latin Chars) with mySQL.<br /><br />Scenario:<br />I have an Internet Guide (<a href="http://www.ibizawebguide.com/">www.ibizawebguide.com</a>) and it is Spanish and English based site. I had a huge problem when it came with saving accented chars into a mySQL database as they were saved in some 'gibberish binary language' even though I used UTF-8 (this is quite normal). I didn't have any problems with that as by using a META TAG CONTENT with charset UTF-8 accents were displayed easily. My problems came when I had to do a text search on the database, the accents from PHP were interpreted differently that in the database and moreover, INPUT TEXT fields and SELECT boxes had values that also didn't match the database content.<br /><br />Solution:<br />The solution I found the easiest (I tryed everything (SQL- SET NAMES UTF-8, utf8_encode-decode,etc. everything found on Google was faulty and gived me wrong results)) was to convert the accented Chars into their HTML code representation (á becomes á). So I made a Web research on that but none of the solutions presented did replace 'anything at all'), the values were still saved in 'gibberish chars'.<br /><br />At the end, and before FORM submissions (so to be saved in the database), this is what I did and it worked to perfection (you need prototype.js to use this code but you can easily convert it to suit your needs):<br /><span style="font-family: monospace;">parejas = Class.create();<br /><br />filter = Class.create();<br /><br />parejas.prototype = {<br /> initialize: function(char, code){<br /> this.char = char;<br /> this.code = code;<br /> } <br />}<br />filter.prototype = {<br /> initialize: function(){<br /> this.pares = new Array();<br /> <br /> this.pares[0] = new parejas('%E2%82%AC', "&euro;");<br /> this.pares[1] = new parejas('%C3%A1', "&aacute;");<br /> this.pares[2] = new parejas('%C3%A9', "&eacute;");<br /> this.pares[3] = new parejas('%C3%AD', "&iacute;");<br /> this.pares[4] = new parejas('%C3%B3', "&oacute;");<br /> this.pares[5] = new parejas('%C3%BA', "&uacute;");<br /> this.pares[6] = new parejas('%C3%81', "&Aacute;");<br /> this.pares[7] = new parejas('%C3%89', "&Eacute;");<br /> this.pares[8] = new parejas('%C3%8D', "&Iacute;");<br /> this.pares[9] = new parejas('%C3%93', "&Oacute;");<br /> this.pares[10] = new parejas('%C3%9A', "&Uacute;");<br /> this.pares[11] = new parejas('%C3%B1', "&ntilde;");<br /> this.pares[12] = new parejas('%C3%91', "&Ntilde;");<br /> this.pares[13] = new parejas('%C3%9C', "&Uuml;");<br /> this.pares[14] = new parejas('%C3%BC', "&uuml;"); <br /> },<br /> htmlentities: function(txt){<br /> var p = this.pares;<br /> txt = encodeURIComponent(txt);<br /> for (var i = 0,count = p.length; i < count; i++)<br /> {<br /> txt = txt.replace(new RegExp(p[i].char,'g'), p[i].code); <br /> }<br /> return decodeURIComponent(txt);<br /> }<br />}<br />function htmlEntities(txt){<br /> var f = new filter;<br /> return f.htmlentities(txt); <br />}</span><br />Explanation:<br />The object <span style="font-weight: bold;">parejas</span> is created in order to hold the value pairs of the URI Encoded string and its HTML representation. The object <span style="font-weight: bold;">filter</span> first creates an array of parejas objects and inserts the correspondent values to replace (in the object above has Latin Chars but you can insert as many different Special Chars as you wish), and its htmlentities function first URI Encodes the passed string in order to replace its special chars to after URI Decode its result.<br /><br />How to use:<br />Just call the <span style="font-weight: bold;">htmlEntities</span> function and pass the string to convert, the function will return the converted value. Really easy...Tonyhttp://www.blogger.com/profile/16270062671127521166noreply@blogger.com0tag:blogger.com,1999:blog-6263776535642275399.post-84953961546698390842008-05-16T09:29:00.000-07:002008-05-16T09:42:12.693-07:00www.ibizawebguide.comHi all,<br />I would like to introduce you to my new project: <a href="http://www.ibizawebguide.com">http://www.ibizawebguide.com</a>. I do not know if you know IBIZA, 'the white island' or the 'party island' as everybody call it in EU. It is a guide aimed to fullfil information gaps of other guides in the island.<br /><br />What programming interest have this site? Well, again, I am making use of a javascript tool made by the guys of <a href="http://livepipe.net/projects/control_modal/">LIVEPIPE</a> called Control.Modal for Prototype.js. I have my javascript widely open in the pages so you guys could get a working example of how this library works (I will surely make use of lightboxXL but in the near future as I am programming this good tool to hold more than just for videos and/or pictures... The site has also good PHP techniques that, if anyone is interested, I will explain the procedures behind and the problems I faced at the beginning (google throws a lot of garbage on its searches as you all know!). For example: How to create search engine friendly url's (http://www.domain.com/?page=1 to http://www.domain.com/1.html)...<br /><br />Anyway... this is already too long... feedback on this guide is highly welcomeTonyhttp://www.blogger.com/profile/16270062671127521166noreply@blogger.com1tag:blogger.com,1999:blog-6263776535642275399.post-22908174726966031782008-03-12T17:20:00.000-07:002008-03-12T17:31:18.991-07:00antCUT.com OpenSearch extension<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.antcut.com"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_3JNkd7fA3OM/R9hznaWYdrI/AAAAAAAAAB8/XO_1jyl9eBE/s320/Picture+11.png" alt="" id="BLOGGER_PHOTO_ID_5177014892587677362" border="0" /></a><br />This was a suggestion of a fellow programmer that I thought was a great feature to have. Now you don't need (Firefox users) to go to www.antcut.com and then search for your favourite videos. <a href="http://www.antcut.com">antCUT.com</a> gives you the option to install its search feature right on your browser search field.<br /><br />To install the plugin just go to www.antcut.com and click on the link that will appear on the right side of the page!<br /><br />Please note that only firefox users at the moment have this feature. I still have some issues with Internet Explorer that I need to solve. Thanks to Microsoft fellows I probably have to create a new layout only for Internet Explorer users.<br /><br /><script type="text/javascript" src="http://w.sharethis.com/widget/?tabs=web%2Cemail&charset=utf-8&services=facebook%2Cdigg%2Cstumbleupon%2Cdelicious%2Creddit%2Cblinklist%2Cnewsvine%2Cfurl%2Ctailrank%2Cmagnolia%2Cgoogle_bmarks%2Cwindows_live%2Cyahoo_myweb%2Ctechnorati&style=default&publisher=1028da50-4c68-4bf5-baf9-5beb1ac2d440"></script>Tonyhttp://www.blogger.com/profile/16270062671127521166noreply@blogger.com0tag:blogger.com,1999:blog-6263776535642275399.post-30593300343906898052008-03-09T18:41:00.001-07:002008-03-09T18:47:02.023-07:00antCUT.com's new look and feel<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.antcut.com/"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_3JNkd7fA3OM/R9SSIKWYdqI/AAAAAAAAAB0/TPkRgTDCAAY/s320/Picture+10.png" alt="" id="BLOGGER_PHOTO_ID_5175922540670383778" border="0" /></a>Due to the amount of visits this little tool I created to demonstrate lightboxXL utility had the past week, I decided to change its look and feel to make it easier to use and understand. Hope you like it.<br /><br />I would love to have some feedback about it, new features, and so on... if you could spend some of your time it would be highly appreciate it.Tonyhttp://www.blogger.com/profile/16270062671127521166noreply@blogger.com2tag:blogger.com,1999:blog-6263776535642275399.post-48618445734189974022008-03-05T06:22:00.000-08:002008-03-05T06:40:13.484-08:00Monitizing Searches on Your Site?<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3JNkd7fA3OM/R86s3zUbmoI/AAAAAAAAABk/mBt24WBMFTM/s1600-h/Picture+7.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_3JNkd7fA3OM/R86s3zUbmoI/AAAAAAAAABk/mBt24WBMFTM/s320/Picture+7.png" alt="" id="BLOGGER_PHOTO_ID_5174263096563964546" border="0" /></a><br /><div style="text-align: justify;">While surfing on the net I have found of what I think is one of the coolest ideas for non-intrusive advertising. It is <a href="http://www.predictad.com/sites/signupsteps.aspx?rsid=4189&cs=130">www.predictad.com</a> (see picture above, it is an autocomplete field for my video search engine site <a href="http://www.antcut.com/">www.antcut.com</a>), they allow you, webmaster, to integrate a dropdown autocomplete list to your site's search field.<br /><br />The following text is extracted from www.techcrunch.com:<br /></div><p style="text-align: justify;">Too often it is still easier to search the entire Web than a single site. In-site search leaves much to be desired in its ability to provide users with accurate search results, let alone assistance in performing more accurate searches. Israeli <a href="http://www.predictad.com/sites/signupsteps.aspx?rsid=4189&cs=130">PredictAd</a><a href="http://www.predictad.com/sites/signupsteps.aspx?rsid=4189&cs=130"><img id="snap_com_shot_link_icon" class="snap_preview_icon" style="border: 0pt none ; margin: 0pt ! important; padding: 1px 0pt 0pt; font-style: normal; font-weight: normal; font-family: "trebuchet ms",arial,helvetica,sans-serif; float: none; position: static; left: auto; top: auto; line-height: normal; background-image: url(http://i.ixnp.com/images/v3.19.1/theme/silver/palette.gif); background-color: transparent; width: 14px; height: 12px; background-position: -944px 0pt; background-repeat: no-repeat; text-decoration: none; visibility: visible; vertical-align: top; display: inline;" src="http://i.ixnp.com/images/v3.19.1/t.gif" /></a> is attacking this challenge head-on by offering auto-complete functionality for search boxes with an added twist: monetizable real-estate. </p><div style="text-align: justify;"> </div><div style="text-align: justify;"> </div><p style="text-align: justify;">Already deployed across 6,000 websites and generating millions of monthly impressions, PredictAd is announcing the launch of PredictAdPlus+. Targeted at media networks and high-traffic websites/blogs, the offering provides greater control of the look and feel, customization, dedicated databases, and advanced display options. Most importantly, it allows a number of sister sites to be integrated into a single search box. As an example, the TechCrunch search box at the bottom of this post incorporates CrunchGear, MobileCrunch and CrunchBoard. The auto-complete needs time to learn, but you’ll get the general drift. Sign-up <a href="http://www.predictad.com/sites/signupsteps.aspx?rsid=4189&cs=130">here</a>.</p><div style="text-align: justify;"> </div><p style="text-align: justify;"><a href="http://www.predictad.com/sites/signupsteps.aspx?rsid=4189&cs=130"><img src="http://www.techcrunch.com/wp-content/predictad_thumb.png" style="float: left; margin-right: 10px;" border="0" /></a>PredictAd’s twist on search monetization begins by helping users refine their in-site search queries by way of real-time search suggestions—think Google Toolbar’s auto-suggest feature. PredictAd continuously optimizes its suggestions based on the community search patterns for any given site. Beyond collaborative filtering PredictAd also takes into account historical searches, geo-location, time of day, common misspellings, connections between words, and more. </p> <p>Not only should users benefit from more accurate searches, site-owners should benefit from increased page views as a result of user exposure to additional site content. Site-owners can also benefit from SEO insights drawn from the service’s analytics backend.</p> <p style="text-align: justify;">This is where ad monetization comes into play. PredictAd injects contextual advertising into the search box. The ads—text or image—change dynamically as users type out their search queries. In practice, PredictAd creates its own ad real-estate and then monetizes it. An important element in PredictAd’s offering is the fact that the ads are displayed directly in the user’s focal zone, unlike traditional ads which are susceptible to “banner blindness”. Rev-share is 50%/50% on run of network ads, and 80%/20% (for the publisher) when the advertiser selects specific publisher sites. PredictAd is claiming click-through rates in range of 0.5%-4%.</p>Wish to have one on your site? Get it <a href="http://www.predictad.com/sites/signupsteps.aspx?rsid=4189&cs=130">here</a>.Tonyhttp://www.blogger.com/profile/16270062671127521166noreply@blogger.com0tag:blogger.com,1999:blog-6263776535642275399.post-2136634948763395812008-02-27T10:36:00.000-08:002009-12-09T09:44:10.745-08:00lightboxXL (for prototype.js)<span style="text-decoration: underline;"></span>LightboxXL has changed location!<br /><br />The new address is: <a href="http://ramirezcobos.com/lightboxxl-for-prototype/">http://ramirezcobos.com/lightboxxl-for-prototype/</a><br /><br /><br /><br /><script type="text/javascript" src="http://w.sharethis.com/widget/?tabs=web%2Cemail&charset=utf-8&services=facebook%2Cdigg%2Cstumbleupon%2Cdelicious%2Creddit%2Cblinklist%2Cnewsvine%2Cfurl%2Ctailrank%2Cmagnolia%2Cgoogle_bmarks%2Cwindows_live%2Cyahoo_myweb%2Ctechnorati&style=default&publisher=1028da50-4c68-4bf5-baf9-5beb1ac2d440"></script>Tonyhttp://www.blogger.com/profile/16270062671127521166noreply@blogger.com25tag:blogger.com,1999:blog-6263776535642275399.post-31789937504567380282007-12-03T13:19:00.000-08:002008-03-06T21:13:51.908-08:00AJAX File Upload with Progress Bar (+PHP)This post maybe the result of my ignorance of perhaps my lack of google-art-of-search to find any good solution around the challenge of doing an AJAX File Upload with a Progress bar, written entirely on Javascript and PHP on the server.<br /><div style="text-align: justify;"><br />After breaking my head against a wall trying to find any guru around that 'could' have done a good solution to this matter, I found a couple of interesting links such as the <a href="http://www.pixeline.be/experiments/jqUploader/">jqUploader</a> <a href="http://www.jquery.com/">JQuery</a> plugin by <a href="http://lussumo.com/">lussumo</a> (with a SWF object for upload), the <a href="http://tomas.epineer.se/tesupload/">tesUpload</a> object (with a Perl script to get the bytes uploaded info) by Tomas, <a href="http://swfupload.mammon.se/">SWFUpload</a> object (another flash object) and the closest one to what I am wondering about but requires PHP to be <a href="http://blog.joshuaeichorn.com/archives/2006/03/14/php-ajax-file-upload-progress-meter-updates/">patched</a> to make use of upload_progress_meter_get_info.<br /><br />I wonder if it is possible to actually do what I am saying and if there is any solution out there that I missed on my googlexperience. I have seen some <a href="http://indiza.com/alsanan/?nom=Una%20barra%20de%20progreso%20en%20tiempo%20real%20y%20sin%20hackear%20el%20int%E9rprete%20PHP">scripts around</a> there that promise such solution but when I tried, poof!, it didn't work as expected. So the challenge is here... I am going to try a solution that actually checks the actual file size of a temporary file after an uploaded form has been posted... Anyone for the challenge? or anyone knows any 'guru' out there to get me to the right direction?<br /><br />---<br /><br /><script type="text/javascript" src="http://w.sharethis.com/widget/?tabs=web%2Cemail&charset=utf-8&services=facebook%2Cdigg%2Cstumbleupon%2Cdelicious%2Creddit%2Cblinklist%2Cnewsvine%2Cfurl%2Ctailrank%2Cmagnolia%2Cgoogle_bmarks%2Cwindows_live%2Cyahoo_myweb%2Ctechnorati&style=default&publisher=1028da50-4c68-4bf5-baf9-5beb1ac2d440"></script><br /><br /></div>Tonyhttp://www.blogger.com/profile/16270062671127521166noreply@blogger.com2tag:blogger.com,1999:blog-6263776535642275399.post-35201477592509095822007-11-30T23:58:00.000-08:002008-03-05T05:37:47.953-08:00P.O.R.K (Modified to work with PHP 4)<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3JNkd7fA3OM/R1EUlZDmmbI/AAAAAAAAABI/gv_-JTCxEkk/s1600-R/real_can_of_pork.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_3JNkd7fA3OM/R1EUlZDmmbI/AAAAAAAAABI/v7KDk_2u4vw/s320/real_can_of_pork.jpg" alt="" id="BLOGGER_PHOTO_ID_5138911282420160946" border="0" /></a>For those who don't know what is PORK, it's an Object-Relation mapper for PHP 5 that attempts to be easy, fast, lightweight, uses optimized database queries and provides an easy Find() function very loosely based on rails'.<br /><br />In short, the O/R mapper handles all your basic Select/Insert/Update/Delete/Join statements for you so you won't have to write the same SQL over and over. You just create PHP objects that are linked to a row in the database.<br /><br />The above description and original work is from mr. Jelle Ursem (see <a href="http://www.schizofreend.nl/">http://www.schizofreend.nl/</a> for more info). I came accross his work when I was about to create one Library to do exactly like PORK does. The only problem I had to work with it was that my servers runned PHP4, so I modified the code to fit my requirements.<br /><br />So, again, I posted PORK for those that still work with PHP4 and have a need for an O/R mapper like this one.<br /><br />Jell Ursem have plenty of more detailed info related to the functionality of this object (for PHP 5) and also an PORK.generator (A PHP5 based database analyzer that automatically sees the different types of relations in your (MySQL) database and creates linked dbObjects for it). So check out its <a href="http://www.schizofreend.nl/">site</a> for more detailed info.<br /><br /><span style="font-weight: bold;font-size:100%;" >Differences from PHP5 version and this PHP4 version<br /><span style="font-weight: bold;">Object Creation<br /></span></span>Check the following object declaration example, it is an O/R mapper that will work with table tbl_note, we call it Note object (differences with the object in PHP5 are clear if you check Jell examples on <a href="http://www.schizofreend.nl/Pork.dbObject/Examples/">http://www.schizofreend.nl/Pork.dbObject/Examples/</a>)<br /><em><br /><span style="font-size:85%;">class Note extends dbObject<br />{<br />function Order($ID=false) {<br /> $this->__setupDatabase('tbl_note', <span style="color: rgb(51, 102, 255);">// database table</span><br /> array( 'n_ID' => 'ID', <span style="color: rgb(51, 102, 255);">// database field => object property</span><br /> 'o_ID' => 'orderID',<br /> 'n_note' => 'note',<br /> 'n_date' => 'date'),<br /> 'n_ID', <span style="color: rgb(51, 102, 255);">// primary table key</span><br /> $ID); <span style="color: rgb(51, 102, 255);">// value of primary key to init object</span><br /><br /><span style="color: rgb(51, 102, 255);"> // Add one-to-one relationship</span><br /> $this->addRelation('Order'); <span style="color: rgb(51, 102, 255);">// Order is another object and addRelation function will connect both of them</span><br />}<br /><span style="color: rgb(51, 102, 255);">// This function is a *MUST* dbObject requires it</span><br />function toString()<br /> {<br /> return 'Note';<br /> }<br />}<br /></span></em><br />I have a included a mandatory function toString to the objects, so we can overcome the lack of a function such as <span style="color: rgb(51, 102, 255);">get_class($object);<span style="color: rgb(0, 0, 0);"> in PHP4 PORK.dbObject.<br /><br /><span style="font-weight: bold;">Accessing Object Properties</span><br />We all know that PHP4 objects do not have the _set and _get capabilities of PHP5, therefore, in order to access object properites we will have to do it in this way:<br /><br /></span></span><em><span style="font-size:85%;">$note = new $note();<br />$note->__set('note','my note'); <span style="color: rgb(51, 102, 255);">// PHP5 $note->note = 'my note';</span><br />echo $note->__get('note'); <span style="color: rgb(51, 102, 255);">// PHP5 $note->note;</span><br />$note->Save(); // saving to database<br /><br /></span></em>I have compiled a set of files on a zip file, if you are good code reader you will find out how to use very easily. There a file with an example of its use, but I did not include any SQL file to create the tables nor a proper test application. The test.php file included explain most of the steps and Jell on its site will pinpoint you to the right direction if you are missing something.<br /><br /><div style="text-align: center;"><a style="font-weight: bold;" class="downloadbar" href="http://www.mediamax.com/tonydspaniard/Hosted/webeaters/PORK.php4.zip">Download P.O.R.K. for PHP4</a><br /></div><br /><script type="text/javascript" src="http://w.sharethis.com/widget/?tabs=web%2Cemail&charset=utf-8&services=facebook%2Cdigg%2Cstumbleupon%2Cdelicious%2Creddit%2Cblinklist%2Cnewsvine%2Cfurl%2Ctailrank%2Cmagnolia%2Cgoogle_bmarks%2Cwindows_live%2Cyahoo_myweb%2Ctechnorati&style=default&publisher=1028da50-4c68-4bf5-baf9-5beb1ac2d440"></script><br /><br/>Tonyhttp://www.blogger.com/profile/16270062671127521166noreply@blogger.com0tag:blogger.com,1999:blog-6263776535642275399.post-6537366344562428092007-11-21T04:42:00.000-08:002008-03-05T05:38:04.032-08:00Cookies Anyone?<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3JNkd7fA3OM/R0Qn56n1rkI/AAAAAAAAABA/TxwXZhpJjXs/s1600-h/CHOCOLATE_CHIP_COOKIE.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_3JNkd7fA3OM/R0Qn56n1rkI/AAAAAAAAABA/TxwXZhpJjXs/s320/CHOCOLATE_CHIP_COOKIE.jpg" alt="" id="BLOGGER_PHOTO_ID_5135273351051587138" border="0" /></a> Looking back in my code I found an object that may be useful for some of you out there. This object is made to work with Cookies (and a cofee cup too! -stupid joke I know).<br /><br />We all know (Javascript programmers) how easy is to work with Cookies and for most of you this object is nothing spectacular to develop but if it saves programming time for you I have reach my goal.<br /><br />No more talking, here's the code:<br /><br /><code><br />var Cookie = {<br /> set: function(name, value, daysToExpire) {<br /> var expire = '';<br /> if (daysToExpire != undefined) {<br /> var d = new Date();<br /> d.setTime(d.getTime() + (86400000 * parseFloat(daysToExpire)));<br /> expire = '; expires=' + d.toGMTString();<br /> }<br /> return (document.cookie = escape(name) + '=' + escape(value || '') + expire);<br /> },<br /> get: function(name) {<br /> var cookie = document.cookie.match(new RegExp('(^|;)\s*' + escape(name) + '=([^;\s]*)'));<br /> return (cookie ? unescape(cookie[2]) : null);<br /> },<br /> erase: function(name) {<br /> var cookie = Cookie.get(name) || true;<br /> Cookie.set(name, '', -1);<br /> return cookie;<br /> },<br /> accept: function() {<br /> if (typeof navigator.cookieEnabled == 'boolean') {<br /> return navigator.cookieEnabled;<br /> }<br /> Cookie.set('_test', '1');<br /> return (Cookie.erase('_test') === '1');<br /> }<br />};</code><br /><br /><br/><br /><br /><script type="text/javascript" src="http://w.sharethis.com/widget/?tabs=web%2Cemail&charset=utf-8&services=facebook%2Cdigg%2Cstumbleupon%2Cdelicious%2Creddit%2Cblinklist%2Cnewsvine%2Cfurl%2Ctailrank%2Cmagnolia%2Cgoogle_bmarks%2Cwindows_live%2Cyahoo_myweb%2Ctechnorati&style=default&publisher=1028da50-4c68-4bf5-baf9-5beb1ac2d440"></script><br /><br/>Tonyhttp://www.blogger.com/profile/16270062671127521166noreply@blogger.com5tag:blogger.com,1999:blog-6263776535642275399.post-91413258616046848452007-11-15T16:34:00.001-08:002009-12-09T13:25:07.803-08:00AJAX - Powered AutoComplete (for Prototype.js)<span style="font-family: arial; font-weight: bold;">This page has changed location!!!!</span><br /><br /><span style="font-family: arial;">Please go to </span><a style="font-family: arial;" href="http://www.ramirezcobos.com/labs/ajax-powered-autocomplete/">http://www.ramirezcobos.com/labs/ajax-powered-autocomplete/</a><span style="font-weight: bold;"><br /><br /><br /><br /></span><script type="text/javascript" src="http://w.sharethis.com/widget/?tabs=web%2Cemail&charset=utf-8&services=facebook%2Cdigg%2Cstumbleupon%2Cdelicious%2Creddit%2Cblinklist%2Cnewsvine%2Cfurl%2Ctailrank%2Cmagnolia%2Cgoogle_bmarks%2Cwindows_live%2Cyahoo_myweb%2Ctechnorati&style=default&publisher=1028da50-4c68-4bf5-baf9-5beb1ac2d440"></script>Tonyhttp://www.blogger.com/profile/16270062671127521166noreply@blogger.com81