Commit graph

1178 commits

Author SHA1 Message Date
John Resig 6799982835 Made sure that a child element exists before the check is done, fixes jQuery bug #3870. 2009-01-19 23:04:03 +00:00
Ariel Flesler 735d44f6df jquery event: closes #3843. Some events' timeStamp are wrong on Firefox, we don't rely on the native value anymore. timeStamp reflects object creation, not last event triggered. 2009-01-19 22:20:25 +00:00
John Resig 82e8d11c12 Re-worked the logic for handling isXML detection. 2009-01-19 21:57:18 +00:00
John Resig 96152559e0 Landing a fix for non-link anchor tabIndex (from scott.gonzalez). Fixes ticket #3916. 2009-01-19 21:40:23 +00:00
John Resig d6e541426d Fixed the logic for determining if an XML file is being used. Fixes jQuery bug #3896. 2009-01-19 18:56:02 +00:00
John Resig 8e8d7ade43 Merged some recent fixes in from Sizzle. 2009-01-19 18:09:11 +00:00
John Resig c2fad371f1 Made the IE frameElement check more explicit. Fixes #3880. 2009-01-17 22:04:23 +00:00
Ariel Flesler 34a9f8a210 jquery fx: sync animations were being left on jQuery.timers (double callback)
jQuery.timerId is now a local var and it's not null'ed anymore.
2009-01-14 23:09:52 +00:00
John Resig 6dc30ae7f6 Merged Sizzle changes back into jQuery. 2009-01-13 16:40:19 +00:00
John Resig d5858c7cb8 Added a trailing / in the innerHTML support test to allow it to not
throw an error in XHTML documents. Fixes #3829.
2009-01-13 15:08:11 +00:00
John Resig 944484c3fe Merged in from Sizzle - a change to child filter selector logic. 2009-01-12 16:02:55 +00:00
John Resig 95094d1685 Merged in a fix from Sizzle for :not(:first). 2009-01-12 14:45:58 +00:00
John Resig ea78377760 Only try to wrap the element if it's not disconnected, fixed #3828. 2009-01-12 14:07:14 +00:00
John Resig 0c97178553 Fixed an issue with parentNode being accessed in attr() on disconnected DOM elements. 2009-01-12 14:00:35 +00:00
John Resig 1eae1541b8 Made a note about the push method. 2009-01-12 00:24:16 +00:00
John Resig fa615bedd4 Made the case specific of the type attribute. 2009-01-11 21:22:37 +00:00
John Resig 2e42c5b044 Merging the latest from Sizzle. 2009-01-11 19:45:04 +00:00
John Resig 73ff49ac9a Prevented non-script <script> blocks from executing, fixing #3733. 2009-01-11 19:33:01 +00:00
John Resig 7346a476cc Fixed boxModel support - is now computed with feature detection, rather than sniffing. 2009-01-11 16:17:20 +00:00
John Resig 0066ba3f82 .closest() with positional selectors wasn't worked as expected. 2009-01-10 20:30:03 +00:00
John Resig b1018cad12 Landed a fix for when a DOM element gets accidentally removed by another live event handler. Thanks to Irae for the patches. Fixed #3820. 2009-01-10 19:57:07 +00:00
John Resig 29bf601f34 Fixed an issue with script nodes being removed incorrectly, fixes #3737. 2009-01-10 01:07:59 +00:00
John Resig ec7baf230d Didn't get specific enough with the proxy guid, fixes #3787. 2009-01-09 22:14:48 +00:00
John Resig d12e8a34e6 Made it so that you can bind a single function to multiple .live() selectors. Additionally, simplified the proxy code to provide a default proxy function.
Fixes #3787.
2009-01-09 22:10:42 +00:00
Ariel Flesler 6898cd6d2a jquery event: Fixes #3538. unbind on many events was failing. 2009-01-08 22:21:16 +00:00
John Resig c6f189ac73 Selector state wasn't being passed along on a cloned jQuery object. 2009-01-08 21:41:58 +00:00
Scott González 49d0d5b7a3 Fixed tabindex normalization so that elements that natively support tabbing, but don't have a tabindex explicitly set return 0 instead of undefined.
Removed jQuery.support.tabindex since we're only normalizing non-XML right now and all browsers support tabIndex for HTML documents.
2009-01-07 14:36:30 +00:00
John Resig f9e0b1ed7a Merged in a missing argument from Sizzle. 2009-01-07 14:31:28 +00:00
John Resig d8706c5ac9 Landed a number of improvements to the selector engine. Results are auto-merged onto the jQuery
object, class filtering is now done inline, and not filtering is more efficient.
2009-01-07 00:13:57 +00:00
John Resig cc70e03ec7 Made the .unqiue() within .find() optional (speeds up calls). 2009-01-06 16:17:50 +00:00
Ariel Flesler 2a81c359d5 jquery selector: Replacing {0,1} for ? in a regex. 2009-01-05 23:19:58 +00:00
John Resig 1822939000 Switched back to the old style of running embedded scripts (users who have duplicate runs will
have to deal with it another way).
2009-01-05 22:58:02 +00:00
John Resig 4503457616 Oops, order of operations. 2009-01-05 22:02:20 +00:00
John Resig 089da4ea77 Brought in a fix from Sizzle - IE doesn't have .contains on XML elements. 2009-01-05 21:59:07 +00:00
John Resig 69e86d4f98 The triggered flag was being set too early, which was preventing bubbling form working when a
native event existed.
2009-01-05 20:43:24 +00:00
John Resig ebd9205fdb Make sure that if no ownerDocument is available that we fall back to the node itself (likely the document). 2009-01-05 19:22:25 +00:00
John Resig 122b672f70 Landed cross-browser support for tabIndex, by Scott, closes ticket #3649. 2009-01-05 17:34:42 +00:00
Ariel Flesler 42c99472cc jquery event: Removed a needless if (old code) 2009-01-05 13:31:21 +00:00
Ariel Flesler 0c1653249a jquery intro: looks nicer when built 2009-01-05 12:09:04 +00:00
Ariel Flesler e216243a03 jquery fx: Shortening the code additions on [6037]. 2009-01-05 12:05:38 +00:00
John Resig 558d03f24c Merging from Sizzle (fixed a bug when querySelectorAll is used. 2009-01-05 02:45:20 +00:00
John Resig cc66e6affe Made hide, show, toggle, slideUp, slideDown, and slideToggle animate margins and paddings in addition to height, width, and opacity (results in a much-smoother animation). 2009-01-05 01:14:36 +00:00
John Resig 989667c9fd Synced with the Sizzle repository. 2009-01-05 00:21:13 +00:00
John Resig d1146aa7bf .live("div div") was failing due to the extra space in the selector (which conflicted with multiple event binding in .bind). 2009-01-04 23:58:43 +00:00
John Resig 192d6cd4a3 Moved the copyright to the intro file, added a ! so that it passes through YUIMin untouched, and changed the Date and Revision so that they're now generated automatically based upon all of jQuery rather than just the core file. 2009-01-04 23:34:18 +00:00
Ariel Flesler 9472728bce jquery event: event.stopImmediatePropagation() stops live handlers as well. 2009-01-04 22:32:18 +00:00
Ariel Flesler 83be3dca69 jquery core: Misc file size optimizations. 2009-01-04 22:25:46 +00:00
Ariel Flesler ddec4fdc34 jquery ajax: File size optimization for compressed code. 2009-01-04 21:15:02 +00:00
Ariel Flesler 0eaead0b91 jquery core: Allowing whitespaces within the [6026] addition. 2009-01-04 21:09:03 +00:00
John Resig 434b87b8a2 Moved from the old JSMin to using YUIMin for compressing the jQuery source. Additionally landed some improvements from #3770 which dramatically reduce the filesize. The final minifed + gzipped size of jQuery went from 19817 bytes to 18063 bytes. 2009-01-04 15:29:27 +00:00
John Resig c0294278db Landed a proper fix for #3255 - which involves doing createElement instead of going through the normal clean method. 2009-01-03 00:51:07 +00:00
John Resig cff37cc835 Hid an issue where Safari through an exception when a colgroup was created in jQuery.clean. Not completely sure what the cause is, yet. 2009-01-03 00:19:02 +00:00
Ariel Flesler 303ad32c74 jquery event: Misc, removed a commented line from last commit. 2009-01-02 23:44:06 +00:00
John Resig b2583a7526 Fixed an issue that was introduced by [5743] (which didn't have a test case, either - that has been resolved). This fixed #3739. 2009-01-02 23:32:10 +00:00
Ariel Flesler b2552e6ea3 jquery event: Now using an internal argument to detect if bubbling on $.event.trigger. The other would fail when it receives an event object with target. Also, the target isn't nulled anymore.
In addition, there was a lot of code running O(n) during bubbling while not needed.
2009-01-02 23:07:16 +00:00
Ariel Flesler 989e3f61f7 jquery event: closes #3772. The extra function on $.event.trigger isn't supported anymore. 2009-01-02 22:23:52 +00:00
John Resig 6a3d1a1e28 Fixed an issue with .not("#foo, bar") not working correctly, closes #3757. 2008-12-31 19:21:24 +00:00
Ariel Flesler c7a14f1391 jquery event: event.timeStamp wasn't being created when passing just the type to the constructor.
Misc: Simplified the readyList execution code.
2008-12-31 03:36:51 +00:00
Ariel Flesler c0446c70d5 jquery event:
* event objects have isDefaultPrevented, isPropagationStopped and isImmediatePropagationStopped methods.
* Removed donative and dohandlers from $.trigger
* event.result carries the last returned data from a handler(not undefined).
* $.trigger doesn't keep bubbling if stopPropagation() is called.
* Same event object is used all along for global trigger
* Fixed the bug where target doesn't change when triggering on many elements.
* The data array on $.trigger was accumulating objects as it bubbles.
testrunner: adding more tests
2008-12-31 02:58:13 +00:00
Ariel Flesler 0a846e5be6 jquery event: removed the argument dohandlers from $.trigger. Uses another approach. 2008-12-30 23:29:14 +00:00
John Resig 4f7441910f Made sure that return false works in .live() along with the event object being passed in as the first argument. 2008-12-30 20:45:33 +00:00
Ariel Flesler a1ca9427ec jquery data: Fixed a weird patch merging issue from [6011] 2008-12-30 02:43:14 +00:00
Ariel Flesler a09dac4406 jquery data: Oops.. forgot to commit the new data module. This is part of [6010]. 2008-12-30 02:40:04 +00:00
Ariel Flesler 4afa608351 jquery data: Closes #3539. Exposed jQuery.queue. Moved all the data and queue functions to their own module. Made the dequeue function more generic(designed to be used on functions). Closes #3748. Reverted a previous modification. 2008-12-30 02:31:26 +00:00
Ariel Flesler 1b0276dc57 jquery support: Closes #3758, fixes a memory leak on IE. Thanks Choan Galvez. 2008-12-29 22:05:02 +00:00
Ariel Flesler 4f99e793fa jquery event: jQuery.Event can be instantiated without the 'new' keyword. 2008-12-29 21:57:29 +00:00
Ariel Flesler d37aeceb69 jquery core: Removed an orphaned line. Thanks mose. 2008-12-27 18:21:54 +00:00
Ariel Flesler 51428a3c9e jquery core: Fixed a global var leak introduced by me on a recent commit. 2008-12-26 15:48:04 +00:00
Ariel Flesler 4ca4ce52f7 jquery event: Closes #3662. Adds a jQuery.Event class. Makes trigger and fix simpler. Adds currentTarget attribute to event objects. Event object isn't passed as part of data. 2008-12-25 21:44:54 +00:00
Ariel Flesler 8cd50a398d jquery core: Closes #3737. Fixed a possible null dereference. 2008-12-25 21:20:41 +00:00
Ariel Flesler eff400e44f jquery selector: Removed a needless line (related to [5992]). 2008-12-25 21:09:08 +00:00
Ariel Flesler e4d8365ec7 jquery fx: Fixed redundant code 2008-12-25 21:00:08 +00:00
Ariel Flesler 654d946ead jquery fx: Closes #3219. jQuery.fn.toggle can accept a boolean argument indicating show/hide. 2008-12-25 20:13:42 +00:00
Ariel Flesler 0a8f96ac3d jquery core: Closes #1681. jQuery.fn.toggleClass can accept a boolean argument indicating add/remove. 2008-12-25 20:12:18 +00:00
Ariel Flesler 0e3e470edc jquery core: Closes #3255. The div used in jQuery.clean is emptied in the end. Cleaning the parentNode's properties of the elements. 2008-12-25 19:47:56 +00:00
Ariel Flesler 4b25b147ab jquery core: Closes #3641. jQuery.merge stopped looping once a 0 was found. 2008-12-25 19:25:30 +00:00
Ariel Flesler 5459180728 jquery core: Closes #3666. Removed old code. 2008-12-25 17:37:58 +00:00
John Resig 47aed822a4 Synced with Sizzle codebase (which removed the use of the caching code). 2008-12-22 16:41:14 +00:00
John Resig 77477d5634 Disabled native event triggering (and, thus, bubbling) for global events. 2008-12-22 14:47:34 +00:00
John Resig c03a280155 Added a new liveQuery/event delegation hybrid method: .live and .die. Easily adapts event delegation to the jQuery style. $("div").live("click", fn); $("div > #foo").live("submit", fn); $("div").die("click"); 2008-12-22 04:59:34 +00:00
John Resig 25885e07b2 Added support for bubbling triggered events. 2008-12-22 01:57:06 +00:00
John Resig 6b09032864 Added support for the new .closest() method (very useful for event delegation). 2008-12-22 00:52:53 +00:00
John Resig c9dd5d9972 Oops, forgot to commit support.js. 2008-12-21 23:06:42 +00:00
John Resig b850ab2b8e Added the new jQuery.support object and removed all uses of jQuery.browser from within jQuery itself (while simultaneously deprecating the use of jQuery.browser). 2008-12-21 21:22:44 +00:00
John Resig 8ee1708ea9 Fixed an issue with domManip where the incorrect document was being used to create the document fragment. 2008-12-21 21:18:40 +00:00
John Resig 6048e40a45 Syncing Sizzle codebase. 2008-12-20 22:45:11 +00:00
John Resig 6f2f1830a4 Added a missing semicolon. 2008-12-20 14:39:36 +00:00
John Resig c85243dfc4 Landing the new Sizzle selector engine. There'll need to be some later tweaks (to make the tests a little more pragmatic - especially for document order elements). But it appears to be passing well and that's enough. Closes #3563. 2008-12-20 01:19:17 +00:00
John Resig 5c1725d689 Rewrote the hide and show methods to fix the issue with Safari not hiding distached elements. Fixed #1239, #2233, #3038, #3343, #3395. They're also faster now, as well. 2008-12-19 18:21:12 +00:00
John Resig 18ee5a93a2 Fixed an issue with domManip where the incorrect clone fragments were being used for elements. 2008-12-19 06:58:18 +00:00
John Resig 80a6a91347 Fixed a problem with multi-namespaced events not targetting the correct functions for execution. 2008-12-19 06:49:44 +00:00
John Resig 62bd7e6817 Fixed an issue with how .data() was expecting output (trigger now returns exact output - or null if none is provided, which was tripping it up). 2008-12-19 06:49:03 +00:00
John Resig 132b8de614 Switched to using DOM Fragments in domManip. 2008-12-19 04:37:54 +00:00
John Resig 2875460f63 Added selector path logging (creates a trail that plugins can use). 2008-12-19 04:37:10 +00:00
John Resig 0935f4a0b1 Removing remaining strict-mode warnings. 2008-12-19 04:36:28 +00:00
John Resig 77344f4c50 Added support for multiple-namespaced events (in bind, trigger, and unbind). 2008-12-19 04:34:12 +00:00
John Resig 4c1e12e889 Simplifying the DOM ready code, no longer attempting to handle stylesheet loading. Closes #2614. 2008-12-19 04:29:48 +00:00
Ariel Flesler 475f89b651 testrunner: adding tests for $.fn.hasClass. 2008-12-16 00:02:17 +00:00
John Resig 615a4ce1b4 IE doesn't care for boolean checks of .createElement - reverted back to using typeof instead. 2008-11-29 01:14:02 +00:00
John Resig d1f089952e Made a mistake in the patch for #3618, landing fix. 2008-11-18 06:00:34 +00:00
John Resig d81dfbcccf The code for handling Ajax timeouts was broken (the abort was being called too early). Fixing this allows the test suite to work again. 2008-11-18 04:53:34 +00:00
John Resig ab551c2b14 Standardized the type checks across core. isFunction and isArray now use Object.prototype.toString to verify the type, .constructor use was removed in favor of typeof, typeof checks now use ===, undefined checks use === undefined. All of this is outlined in the new style guidelines: http://docs.jquery.com/JQuery_Core_Style_Guidelines#Type_Checks. Fixes bug #3618. 2008-11-17 16:32:05 +00:00
John Resig 0aa8d40cdf Landing fixes for tickets #2935 and #2688 (Aborting ajax doesn't stop the setInterval, ajaxStop event isn't getting triggered). 2008-11-14 04:16:00 +00:00
Brandon Aaron 464535e096 fix the long standing 2px offset issue in QuirksMode in IE 2008-11-13 02:35:02 +00:00
John Resig 3b1cf91fa4 Landed the patch, by Diego, that 1) Removes browser sniffing from the ready code and 2) Provides some form of fallback DOM Ready for Iframes in IE. Closes #2614. 2008-11-12 13:18:47 +00:00
Brandon Aaron 5c21e44fce new offset method, faster and no more browser detection 2008-11-10 02:39:03 +00:00
Paul Bakaus b64d60940d core: height() method wasn't working reliably in Opera - rather than returning the actual client height when called on window, it returned the document's height through document.body.clientHeight. The right value to work with is html.clientHeight 2008-11-07 15:44:33 +00:00
Ariel Flesler 325755d4b3 jquery core: closes #3541. Added isArray. 2008-10-29 02:01:22 +00:00
Ariel Flesler 77cfd696ec jquery core: forgot to remove a deprecated warning. 2008-10-29 01:15:47 +00:00
Ariel Flesler 61784e1581 jquery core: improves #3248. Functions are supported by isFunction. 2008-10-29 01:12:27 +00:00
Ariel Flesler 30751dd9f1 jquery fx: closes #3496. $.fx.off = true; turns off animations. 2008-10-22 15:23:37 +00:00
Ariel Flesler ad54d14ae5 jquery event: extra for #3498. Using the new mouse(enter|leave) shortcuts in $.fn.hover. 2008-10-22 10:06:54 +00:00
Ariel Flesler 69cbcf8637 jquery event: closes #3498, adding $.fn.mouseenter & $.fn.mouseleave. 2008-10-21 01:49:11 +00:00
Ariel Flesler 4add9fa989 jquery fx: closes #3495. Animations are synchronous when duration is 0. 2008-10-18 23:27:43 +00:00
Ariel Flesler aa9236e5ea jquery event: closes #3355. Added stopImmediatePropagation() to events. 2008-10-18 22:46:04 +00:00
Ariel Flesler 63bfe1ded1 jquery core: closes #3485. Fixing a memory leak on IE. 2008-10-18 22:22:08 +00:00
Ariel Flesler b69dc841ff jquery core: fix for [5828]. Put 'function' instead of 'string'. 2008-08-14 14:03:05 +00:00
Ariel Flesler ec146fc73d jquery core: closes #3154. makeArray uses typeof instead of attribute sniffing for strings. 2008-08-13 18:16:14 +00:00
Ariel Flesler 5dc7bb7233 jquery ajax: closes #3249. Slight modification on serializeArray, shorter and faster code, and allows a custom form object. 2008-08-13 01:44:36 +00:00
Ariel Flesler 1023cf1d72 jquery core: closes #3248, #3079, #3026, #3176, #3202, #3129. jQuery.makeArray doesn't support functions anymore. Voiding the conflict with Scriptaculous 1.7.x. 2008-08-12 19:34:30 +00:00
Ariel Flesler c9c024280a jquery ajax: misc optimization for $.fn.load(). 2008-08-11 01:35:23 +00:00
Ariel Flesler db076b06f5 jquery core: closes #3241. The 'length' property isn't set to jQuery's prototype anymore. 2008-08-11 00:54:05 +00:00
Ariel Flesler fc38ead4dc jquery core: small size optimizations for val(). 2008-08-10 23:59:01 +00:00
Ariel Flesler bf6f7e7a63 jquery ajax: closes #3231. The ajax setting 'dataFilter' can also parse the response. 2008-08-07 20:41:05 +00:00
Ariel Flesler 9d9c4d2a51 jquery ajax: extends #3087. The xhr factory is now an ajax setting called 'xhr' instead of a method (jQuery.getAjaxTransport). 2008-08-07 13:07:21 +00:00
Ariel Flesler b8ceedbe2b jquery ajax: closes #3087, #2167, #2128. The ajax transport creation process is exposed to allow overriding. 2008-08-04 14:18:06 +00:00
Ariel Flesler 31293063fa jquery event: closes #3127. jQuery.event.special built-in methods were optimized. The mouse(enter|leave) special case is only added for non-IE browsers.Thanks to Mike Helgeson for his help. 2008-07-28 18:31:25 +00:00
Ariel Flesler a3e97062d4 jquery selector: closes #3023. The attribute filter accepts ':'. 2008-07-28 16:34:46 +00:00
Ariel Flesler 23eeaf3854 jquery selector: closes #2939. $('[style]') wasn't being handled well. 2008-07-28 16:23:23 +00:00
Ariel Flesler a27b5d0468 jquery core: closes #2652. val() supports option elements, also simplified the code. 2008-07-23 17:00:32 +00:00
Ariel Flesler 69212c501f jquery core: closes #2968. Simplified isFunction, dropping support for DOM methods and functions like alert() on IE. 2008-07-23 16:18:05 +00:00
Ariel Flesler 43c4b64f32 jquery core: closes #3179. Fallback browser version for non supported browsers. 2008-07-23 15:21:27 +00:00
Ariel Flesler a33f85e691 jquery core: closes #3159. remove() would unbind form.elements instead of a form. 2008-07-15 15:58:01 +00:00
Ariel Flesler b36fe4686c jquery event: closes #3112. It wasn't possible to bind 'data' to special events. 2008-07-09 21:38:28 +00:00
Ariel Flesler e132d6bc53 jquery core: Closes #3033. Removed support for .. selector on jQuery.find. 2008-07-09 19:23:19 +00:00
Ariel Flesler aacdeeb48d jquery fx: closes #3128. Saved some bytes when creating custom animations, using macros. Thanks Mike Helgeson. 2008-07-03 22:54:12 +00:00
Ariel Flesler 112f7b15ae jquery event: Optimization to global unbinding on window unload. Thanks Mike Helgeson. 2008-07-01 02:50:38 +00:00
Ariel Flesler cf78e396db jquery event: closes #3107. Optimization to global event triggering. Thanks Mike Helgeson. 2008-07-01 02:25:55 +00:00
Ariel Flesler 96e4006b74 jquery core: closes #3102, #3051. $.fn.eq() accepts a stringified integer. 2008-06-30 16:17:44 +00:00
Ariel Flesler 18d3e75945 jquery event: fixed a typo in a comment. 2008-06-27 14:17:28 +00:00
Paul Bakaus d1210a5a88 core: revertd last change, breaks width/height logic in css() 2008-06-24 16:16:15 +00:00
Paul Bakaus 201f1b66cc core: changed jQuery.css to num (uses curCSS) in the height/width methods with dramatically increases performance for height/width 2008-06-24 15:55:50 +00:00
Paul Bakaus b5d65d4e49 fx: 1) patch from Ariel removes the need of adding properties like scrollTop and scrollLeft specifically to fx.step - The priority order is style[prop] ? style[prop] : elem[prop], 2) fixed the height/width case - it wasn't possible to animate obj.height/obj.width if there wasn't a style attr. 2008-06-24 10:00:42 +00:00
Ariel Flesler faa502cbc0 jquery ajax: renamed $.fx.speeds.def to _default to match $.fx.step._default naming convention. 2008-06-20 16:56:25 +00:00
Ariel Flesler 6159593520 jquery ajax: making Paul's last change([5735]) shorter. 2008-06-20 16:20:20 +00:00
Paul Bakaus 91a84d233d fx: animate() can now animate any property on a generic object or native wrapper (i.e. window.outerWidth) 2008-06-20 09:02:48 +00:00
Ariel Flesler bf14ac1236 jquery ajax: added a comment explaining the last commit. 2008-06-17 21:31:57 +00:00
Ariel Flesler 35b8157507 jquery ajax: closes #3052. Additional check on httpData() to keep compatibility with older code (form plugin). 2008-06-17 21:03:20 +00:00
Ariel Flesler 335b8816c2 jquery ajax: Fixes #3045. The protocol wasn't being checked to see if a script is required for cross domain requests. 2008-06-17 20:32:15 +00:00
Ariel Flesler 5e50079b14 jquery core: closes #3053. clean() wasn't parsing 0's. So html( 0 ) was failing failing. 2008-06-17 19:57:42 +00:00