<?xml version="1.0" encoding="UTF-8"?>
<tickets type="array">
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-08-02T12:19:37+01:00</created-at>
    <creator-id type="integer">47481</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">102</number>
    <permalink>slider-wont-initialize-correctly-inside-hidden-div-fix-inside</permalink>
    <priority type="integer">18</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag nil="true"></tag>
    <title>Slider won't initialize correctly inside hidden div (fix inside)</title>
    <updated-at type="datetime">2009-12-22T07:14:03+00:00</updated-at>
    <user-id type="integer">80497</user-id>
    <user-name>tozyx</user-name>
    <creator-name>ieowqw (at gmail)</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/102</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>I've run into a problem where, in my situation, I have a slider in a hidden div which becomes visible when an &quot;advanced options&quot; button is clicked. It starts off as display: none and becomes display: block.

Because of the way the slider plugin initialises, it doesn't measure the element and knob correctly, and thinks the slider is 0px wide. This is because it is measuring with offsetWidth and offsetHeight, which doesn't work on hidden elements.

I've made a small change to my mootools-more to address this, and thought I'd share it with everyone. I've changed the following code inside initialize:

switch (this.options.mode){
	case 'vertical':
		this.axis = 'y';
		this.property = 'top';
		offset = 'offsetHeight';
		break;
	case 'horizontal':
		this.axis = 'x';
		this.property = 'left';
		offset = 'offsetWidth';
}

this.half = this.knob[offset] / 2;
this.full = this.element[offset] - this.knob[offset] + (this.options.offset * 2);

into

switch (this.options.mode){
	case 'vertical':
		this.axis = 'y';
		this.property = 'top';
		offset = 'height';
		break;
	case 'horizontal':
		this.axis = 'x';
		this.property = 'left';
		offset = 'width';
}

/* Fix for initializing a slider when the element is hidden */
var elementDimensions = this.element.measure(function() {
   return this.getDimensions();
});
var knobDimensions = this.knob.measure(function() {
   return this.getDimensions();
});
this.half = knobDimensions[offset] / 2;
this.full = elementDimensions[offset] - knobDimensions[offset] + (this.options.offset * 2);

This measures the items in a more reliable way.</original-body>
    <latest-body>I've run into a problem where, in my situation, I have a slider in a hidden div which becomes visible when an &quot;advanced options&quot; button is clicked. It starts off as display: none and becomes display: block.

Because of the way the slider plugin initialises, it doesn't measure the element and knob correctly, and thinks the slider is 0px wide. This is because it is measuring with offsetWidth and offsetHeight, which doesn't work on hidden elements.

I've made a small change to my mootools-more to address this, and thought I'd share it with everyone. I've changed the following code inside initialize:

switch (this.options.mode){
	case 'vertical':
		this.axis = 'y';
		this.property = 'top';
		offset = 'offsetHeight';
		break;
	case 'horizontal':
		this.axis = 'x';
		this.property = 'left';
		offset = 'offsetWidth';
}

this.half = this.knob[offset] / 2;
this.full = this.element[offset] - this.knob[offset] + (this.options.offset * 2);

into

switch (this.options.mode){
	case 'vertical':
		this.axis = 'y';
		this.property = 'top';
		offset = 'height';
		break;
	case 'horizontal':
		this.axis = 'x';
		this.property = 'left';
		offset = 'width';
}

/* Fix for initializing a slider when the element is hidden */
var elementDimensions = this.element.measure(function() {
   return this.getDimensions();
});
var knobDimensions = this.knob.measure(function() {
   return this.getDimensions();
});
this.half = knobDimensions[offset] / 2;
this.full = elementDimensions[offset] - knobDimensions[offset] + (this.options.offset * 2);

This measures the items in a more reliable way.</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;I've run into a problem where, in my situation, I have a slider
in a hidden div which becomes visible when an &quot;advanced options&quot;
button is clicked. It starts off as display: none and becomes
display: block.&lt;/p&gt;
&lt;p&gt;Because of the way the slider plugin initialises, it doesn't
measure the element and knob correctly, and thinks the slider is
0px wide. This is because it is measuring with offsetWidth and
offsetHeight, which doesn't work on hidden elements.&lt;/p&gt;
&lt;p&gt;I've made a small change to my mootools-more to address this,
and thought I'd share it with everyone. I've changed the following
code inside initialize:&lt;/p&gt;
&lt;p&gt;switch (this.options.mode){&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;case 'vertical':
    this.axis = 'y';
    this.property = 'top';
    offset = 'offsetHeight';
    break;
case 'horizontal':
    this.axis = 'x';
    this.property = 'left';
    offset = 'offsetWidth';
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;this.half = this.knob[offset] / 2; this.full =
this.element[offset] - this.knob[offset] + (this.options.offset *
2);&lt;/p&gt;
&lt;p&gt;into&lt;/p&gt;
&lt;p&gt;switch (this.options.mode){&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;case 'vertical':
    this.axis = 'y';
    this.property = 'top';
    offset = 'height';
    break;
case 'horizontal':
    this.axis = 'x';
    this.property = 'left';
    offset = 'width';
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;/ &lt;em&gt;Fix for initializing a slider when the element is
hidden&lt;/em&gt; / var elementDimensions =
this.element.measure(function() { return this.getDimensions(); });
var knobDimensions = this.knob.measure(function() { return
this.getDimensions(); }); this.half = knobDimensions[offset] / 2;
this.full = elementDimensions[offset] - knobDimensions[offset] +
(this.options.offset * 2);&lt;/p&gt;
&lt;p&gt;This measures the items in a more reliable way.&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer" nil="true"></assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-06-05T13:02:03+01:00</created-at>
    <creator-id type="integer">58195</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">68</number>
    <permalink>improving-elementpin-for-ie6</permalink>
    <priority type="integer">3</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>wontfix</state>
    <tag>fix more morph pin</tag>
    <title>improving Element.Pin for IE6</title>
    <updated-at type="datetime">2009-11-06T08:40:26+00:00</updated-at>
    <user-id type="integer">58195</user-id>
    <user-name>kizu (at web-standards)</user-name>
    <creator-name>kizu (at web-standards)</creator-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/68</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>There is a way to minimize the &quot;jittery&quot; of pinned block in IE6 &#8212; if you have a background on a HTML or BODY element and it's background-attachment property is set to &quot;fixed&quot; the pinned element almost stops to jitter, in a magical  way :)

I created a test case &#8212; http://dl.getdropbox.com/u/1077344/Projects/kizu/research/mootools.pin/index.html

At start the pinned element is pinned as always, but after clicking on a button in IE it's behavior becomes somewhat &quot;fixed&quot; :)

I think we can add some rules in a else block where we check for supportsPositionFixed, and then check if there is no background-image on HTML or BODY and then set one of them to
{
	background-image:url(about:blank);
	background-attachment:fixed;
}</original-body>
    <latest-body>There is a way to minimize the &quot;jittery&quot; of pinned block in IE6 &#8212; if you have a background on a HTML or BODY element and it's background-attachment property is set to &quot;fixed&quot; the pinned element almost stops to jitter, in a magical  way :)

I created a test case &#8212; http://dl.getdropbox.com/u/1077344/Projects/kizu/research/mootools.pin/index.html

At start the pinned element is pinned as always, but after clicking on a button in IE it's behavior becomes somewhat &quot;fixed&quot; :)

I think we can add some rules in a else block where we check for supportsPositionFixed, and then check if there is no background-image on HTML or BODY and then set one of them to
{
	background-image:url(about:blank);
	background-attachment:fixed;
}</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;There is a way to minimize the &quot;jittery&quot; of pinned block in IE6
&amp;#8212; if you have a background on a HTML or BODY element and it's
background-attachment property is set to &quot;fixed&quot; the pinned element
almost stops to jitter, in a magical way :)&lt;/p&gt;
&lt;p&gt;I created a test case &amp;#8212; &lt;a href=&quot;http://dl.getdropbox.com/u/1077344/Projects/kizu/research/mootools.pin/index.html&quot;&gt;
http://dl.getdropbox.com/u/10773...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;At start the pinned element is pinned as always, but after
clicking on a button in IE it's behavior becomes somewhat &quot;fixed&quot;
:)&lt;/p&gt;
&lt;p&gt;I think we can add some rules in a else block where we check for
supportsPositionFixed, and then check if there is no
background-image on HTML or BODY and then set one of them to {&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;background-image:url(about:blank);
background-attachment:fixed;
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;}&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-06-17T08:58:39+01:00</created-at>
    <creator-id type="integer">60270</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">75</number>
    <permalink>form-validator-should-ignore-disabled-fields</permalink>
    <priority type="integer">23</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag>formvalidator</tag>
    <title>Form Validator should ignore disabled fields</title>
    <updated-at type="datetime">2009-10-09T01:21:18+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>storeman</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/75</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>I think the form validator ['required'] should ignore disabled fields, these aren't even submitted by the browser, so they can't do any damage.

@@@javascript
['required', {
		errorMsg: function(){
			return FormValidator.getMsg('required');
		},
		test: function(element){
			return element.get('disabled') || !FormValidator.getValidator('IsEmpty').test(element);
		}
	}],
@@@</original-body>
    <latest-body>I think the form validator ['required'] should ignore disabled fields, these aren't even submitted by the browser, so they can't do any damage.

@@@javascript
['required', {
		errorMsg: function(){
			return FormValidator.getMsg('required');
		},
		test: function(element){
			return element.get('disabled') || !FormValidator.getValidator('IsEmpty').test(element);
		}
	}],
@@@</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;I think the form validator ['required'] should ignore disabled
fields, these aren't even submitted by the browser, so they can't
do any damage.&lt;/p&gt;
&lt;p&gt;@@@javascript ['required', {&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;    errorMsg: function(){
        return FormValidator.getMsg('required');
    },
    test: function(element){
        return element.get('disabled') || !FormValidator.getValidator('IsEmpty').test(element);
    }
}],
&lt;/code&gt;
&lt;/pre&gt;

&lt;pre&gt;&lt;code&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-07-01T20:26:53+01:00</created-at>
    <creator-id type="integer">61567</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">82</number>
    <permalink>formvalidator-documentation-not-up-to-date</permalink>
    <priority type="integer">22</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag>formvalidator formvalidator.inline</tag>
    <title>FormValidator documentation not up to date</title>
    <updated-at type="datetime">2009-10-09T01:10:31+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>wontoner</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/82</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>While reading over the documentation at:

http://mootools.net/docs/more/Forms/FormValidator

I saw the instructions &quot;You can define a css class-name value called msgPos as the id of an element into which the validation errors for that input will be inserted..&quot; Which are not currently applicable to FormValidator, but FormValidator.Inline

If you could update those docs it may save some ppl time.

Also, on:

http://mootools.net/docs/more/Forms/FormValidator.Inline

You have the syntax 'new FormValidator(form[, options]);' but it should be 'new FormValidator.Inline(form[, options]);'</original-body>
    <latest-body>While reading over the documentation at:

http://mootools.net/docs/more/Forms/FormValidator

I saw the instructions &quot;You can define a css class-name value called msgPos as the id of an element into which the validation errors for that input will be inserted..&quot; Which are not currently applicable to FormValidator, but FormValidator.Inline

If you could update those docs it may save some ppl time.

Also, on:

http://mootools.net/docs/more/Forms/FormValidator.Inline

You have the syntax 'new FormValidator(form[, options]);' but it should be 'new FormValidator.Inline(form[, options]);'</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;While reading over the documentation at:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://mootools.net/docs/more/Forms/FormValidator&quot;&gt;http://mootools.net/docs/more/Fo...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I saw the instructions &quot;You can define a css class-name value
called msgPos as the id of an element into which the validation
errors for that input will be inserted..&quot; Which are not currently
applicable to FormValidator, but FormValidator.Inline&lt;/p&gt;
&lt;p&gt;If you could update those docs it may save some ppl time.&lt;/p&gt;
&lt;p&gt;Also, on:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://mootools.net/docs/more/Forms/FormValidator.Inline&quot;&gt;http://mootools.net/docs/more/Fo...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You have the syntax 'new FormValidator(form[, options]);' but it
should be 'new FormValidator.Inline(form[, options]);'&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-07-03T12:49:29+01:00</created-at>
    <creator-id type="integer">61763</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">84</number>
    <permalink>website-documentation-error</permalink>
    <priority type="integer">21</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag>documentation</tag>
    <title>Website documentation error</title>
    <updated-at type="datetime">2009-10-09T01:08:14+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>woomla</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/84</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>Hi,

Occasionally I see a documentation error. Can I post it here?

In this case:

http://www.mootools.net/docs/more/Native/URI
  URI Method get
    valid parts

misses 'user' and 'password' and 'path' should be 'file'.</original-body>
    <latest-body>Hi,

Occasionally I see a documentation error. Can I post it here?

In this case:

http://www.mootools.net/docs/more/Native/URI
  URI Method get
    valid parts

misses 'user' and 'password' and 'path' should be 'file'.</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Occasionally I see a documentation error. Can I post it
here?&lt;/p&gt;
&lt;p&gt;In this case:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.mootools.net/docs/more/Native/URI&quot;&gt;http://www.mootools.net/docs/mor...&lt;/a&gt;
URI Method get&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;valid parts
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;misses 'user' and 'password' and 'path' should be 'file'.&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-07-14T22:28:22+01:00</created-at>
    <creator-id type="integer">53118</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">92</number>
    <permalink>tips-improvements-fixes</permalink>
    <priority type="integer">20</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag nil="true"></tag>
    <title>Tips Improvements / fixes</title>
    <updated-at type="datetime">2009-10-09T01:03:03+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>Thomas Allmer</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/92</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>added className 'tip-wrap' by default as you could use it
fire an Event during the attachment of an element so you could start with a fade out element [otherwise the tooltip will pop up the first time as it can't find an value to tween from]
remove the display: none in elementLeave as it prevents you from fading a tooltip out

I sent you an pull request (1ed98b1)</original-body>
    <latest-body>added className 'tip-wrap' by default as you could use it
fire an Event during the attachment of an element so you could start with a fade out element [otherwise the tooltip will pop up the first time as it can't find an value to tween from]
remove the display: none in elementLeave as it prevents you from fading a tooltip out

I sent you an pull request (1ed98b1)</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;added className 'tip-wrap' by default as you could use it fire
an Event during the attachment of an element so you could start
with a fade out element [otherwise the tooltip will pop up the
first time as it can't find an value to tween from] remove the
display: none in elementLeave as it prevents you from fading a
tooltip out&lt;/p&gt;
&lt;p&gt;I sent you an pull request (1ed98b1)&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-09-04T15:23:12+01:00</created-at>
    <creator-id type="integer">61691</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">116</number>
    <permalink>need-an-event-to-fire-on-queue-endcomplete</permalink>
    <priority type="integer">15</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag>request.queue</tag>
    <title>Need an event to fire on queue end/complete</title>
    <updated-at type="datetime">2009-10-08T23:24:58+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>Ray</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/116</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>Need an event that fires when the queue is completed all requests and after their own event handlers.

onRequestComplete appears to fire with every request's complete, but before the requests own onComplete.
onRequestEnd doesn't appear to fire.

I have a form that has a field onBlur(grab ajax data, onComplete(update totals)), and users updating the data in the field, blurs by clicking submit, which submits the form before the ajax onComplete()</original-body>
    <latest-body>Need an event that fires when the queue is completed all requests and after their own event handlers.

onRequestComplete appears to fire with every request's complete, but before the requests own onComplete.
onRequestEnd doesn't appear to fire.

I have a form that has a field onBlur(grab ajax data, onComplete(update totals)), and users updating the data in the field, blurs by clicking submit, which submits the form before the ajax onComplete()</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;Need an event that fires when the queue is completed all
requests and after their own event handlers.&lt;/p&gt;
&lt;p&gt;onRequestComplete appears to fire with every request's complete,
but before the requests own onComplete.&lt;br&gt;
onRequestEnd doesn't appear to fire.&lt;/p&gt;
&lt;p&gt;I have a form that has a field onBlur(grab ajax data,
onComplete(update totals)), and users updating the data in the
field, blurs by clicking submit, which submits the form before the
ajax onComplete()&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">28477</assigned-user-id>
    <attachments-count type="integer">1</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-07-25T01:26:42+01:00</created-at>
    <creator-id type="integer">63965</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">96</number>
    <permalink>type-in-dutch-datelang-august-month-name</permalink>
    <priority type="integer">3</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag>1.2.3.2 date moolang typo</tag>
    <title>Type in dutch date.lang august month name</title>
    <updated-at type="datetime">2009-10-08T17:16:59+01:00</updated-at>
    <user-id type="integer">28477</user-id>
    <user-name>Scott Kyle</user-name>
    <creator-name>KoenWilliame</creator-name>
    <assigned-user-name>Scott Kyle</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/96</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>augustus is spelled augustys

In attachment the patch...</original-body>
    <latest-body>augustus is spelled augustys

In attachment the patch...</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;augustus is spelled augustys&lt;/p&gt;
&lt;p&gt;In attachment the patch...&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-07-29T10:51:53+01:00</created-at>
    <creator-id type="integer">39002</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">98</number>
    <permalink>requestqueue-documentation-inconsistencies</permalink>
    <priority type="integer">19</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag nil="true"></tag>
    <title>Request.Queue documentation inconsistencies</title>
    <updated-at type="datetime">2009-10-08T06:59:23+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>Jasper Smet</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/98</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>Hi,

Just wanted to let you guys know that the callback methods described in the documentation of Request.Queue or not consistent with the actual code:

callbacks in documentation :

    * onRequestStart
    * onRequestEnd
    * onRequestSuccess
    * onRequestComplete
    * onRequestCancel
    * onRequestException
    * onRequestFailure

callbacks in actual code (at http://github.com/mootools/mootools-more/blob/66f6742d1f0859c2903a06e641091966cc756b68/Source/Request/Request.Queue.js)

    * onRequest
    * onSuccess
    * onComplete
    * onCancel
    * onException
    * onFailure

Can someone please adjust this in the documentation to prevent confusion? I spent some time figuring out why this didn't work in an adobe air application i am building.

Thanks and keep up the great work!!</original-body>
    <latest-body>Hi,

Just wanted to let you guys know that the callback methods described in the documentation of Request.Queue or not consistent with the actual code:

callbacks in documentation :

    * onRequestStart
    * onRequestEnd
    * onRequestSuccess
    * onRequestComplete
    * onRequestCancel
    * onRequestException
    * onRequestFailure

callbacks in actual code (at http://github.com/mootools/mootools-more/blob/66f6742d1f0859c2903a06e641091966cc756b68/Source/Request/Request.Queue.js)

    * onRequest
    * onSuccess
    * onComplete
    * onCancel
    * onException
    * onFailure

Can someone please adjust this in the documentation to prevent confusion? I spent some time figuring out why this didn't work in an adobe air application i am building.

Thanks and keep up the great work!!</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Just wanted to let you guys know that the callback methods
described in the documentation of Request.Queue or not consistent
with the actual code:&lt;/p&gt;
&lt;p&gt;callbacks in documentation :&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;* onRequestStart
* onRequestEnd
* onRequestSuccess
* onRequestComplete
* onRequestCancel
* onRequestException
* onRequestFailure
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;callbacks in actual code (at &lt;a href=&quot;http://github.com/mootools/mootools-more/blob/66f6742d1f0859c2903a06e641091966cc756b68/Source/Request/Request.Queue.js)&quot;&gt;
http://github.com/mootools/mooto...&lt;/a&gt;&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;* onRequest
* onSuccess
* onComplete
* onCancel
* onException
* onFailure
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;Can someone please adjust this in the documentation to prevent
confusion? I spent some time figuring out why this didn't work in
an adobe air application i am building.&lt;/p&gt;
&lt;p&gt;Thanks and keep up the great work!!&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-08-07T10:12:06+01:00</created-at>
    <creator-id type="integer">23031</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">104</number>
    <permalink>documentation-correction-in-fxfxaccordion</permalink>
    <priority type="integer">17</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag nil="true"></tag>
    <title>Documentation correction in Fx/Fx.Accordion</title>
    <updated-at type="datetime">2009-10-08T06:53:51+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>Jaik</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/104</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>The documentation states:

# fixedHeight - (boolean: defaults to false) If set to true, displayed elements will have a fixed height.
# fixedWidth - (boolean: defaults to false) If set to true, displayed elements will have a fixed width.


However, the code actually accepts a height and width value for these arguments, or a boolean false, but not a boolean true.</original-body>
    <latest-body>The documentation states:

# fixedHeight - (boolean: defaults to false) If set to true, displayed elements will have a fixed height.
# fixedWidth - (boolean: defaults to false) If set to true, displayed elements will have a fixed width.


However, the code actually accepts a height and width value for these arguments, or a boolean false, but not a boolean true.</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;The documentation states:&lt;/p&gt;
&lt;h1&gt;fixedHeight - (boolean: defaults to false) If set to true,
displayed elements will have a fixed height.&lt;/h1&gt;
&lt;h1&gt;fixedWidth - (boolean: defaults to false) If set to true,
displayed elements will have a fixed width.&lt;/h1&gt;
&lt;p&gt;However, the code actually accepts a height and width value for
these arguments, or a boolean false, but not a boolean true.&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-07-25T22:18:24+01:00</created-at>
    <creator-id type="integer">22206</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">97</number>
    <permalink>when-elementdissolve-is-called-before-a-reveal-fx-is-finished-the-element-gets-hidden-and-wont-show-on-reveal</permalink>
    <priority type="integer">16</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag>fx reveal snap</tag>
    <title>When Element:dissolve is called before a reveal fx is finished - the element gets hidden and won't show on reveal.</title>
    <updated-at type="datetime">2009-10-08T05:53:14+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>elado</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/97</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>A code sample:

@@@ javascript
&lt;script type=&quot;text/javascript&quot;&gt;
window.addEvent(&quot;domready&quot;,function () {
	var x=$(&quot;x&quot;);
	$(&quot;reveal&quot;).addEvent(&quot;click&quot;,function (e) {
		e.stop();
		x.reveal();
	});
	$(&quot;dissolve&quot;).addEvent(&quot;click&quot;,function (e) {
		e.stop();
		x.dissolve();
	});
})
&lt;/script&gt;

&lt;button type=&quot;button&quot; id=&quot;reveal&quot;&gt;reveal&lt;/button&gt;
&lt;button type=&quot;button&quot; id=&quot;dissolve&quot;&gt;dissolve&lt;/button&gt;

&lt;div id=&quot;x&quot; style=&quot;display:none;border:1px solid #000;&quot;&gt;
open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;
&lt;/div&gt;
@@@

When &quot;reveal&quot; is clicked and before the fx is finished, &quot;dissolve&quot; is clicked, the element gets hidden and clicking &quot;reveal&quot; again doesn't work.</original-body>
    <latest-body>A code sample:

@@@ javascript
&lt;script type=&quot;text/javascript&quot;&gt;
window.addEvent(&quot;domready&quot;,function () {
	var x=$(&quot;x&quot;);
	$(&quot;reveal&quot;).addEvent(&quot;click&quot;,function (e) {
		e.stop();
		x.reveal();
	});
	$(&quot;dissolve&quot;).addEvent(&quot;click&quot;,function (e) {
		e.stop();
		x.dissolve();
	});
})
&lt;/script&gt;

&lt;button type=&quot;button&quot; id=&quot;reveal&quot;&gt;reveal&lt;/button&gt;
&lt;button type=&quot;button&quot; id=&quot;dissolve&quot;&gt;dissolve&lt;/button&gt;

&lt;div id=&quot;x&quot; style=&quot;display:none;border:1px solid #000;&quot;&gt;
open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;open&lt;br/&gt;
&lt;/div&gt;
@@@

When &quot;reveal&quot; is clicked and before the fx is finished, &quot;dissolve&quot; is clicked, the element gets hidden and clicking &quot;reveal&quot; again doesn't work.</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;A code sample:&lt;/p&gt;


&lt;pre&gt;&lt;code class=&quot;javascript&quot;&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;
window.addEvent(&amp;quot;domready&amp;quot;,function () {
	var x=$(&amp;quot;x&amp;quot;);
	$(&amp;quot;reveal&amp;quot;).addEvent(&amp;quot;click&amp;quot;,function (e) {
		e.stop();
		x.reveal();
	});
	$(&amp;quot;dissolve&amp;quot;).addEvent(&amp;quot;click&amp;quot;,function (e) {
		e.stop();
		x.dissolve();
	});
})
&amp;lt;/script&amp;gt;

&amp;lt;button type=&amp;quot;button&amp;quot; id=&amp;quot;reveal&amp;quot;&amp;gt;reveal&amp;lt;/button&amp;gt;
&amp;lt;button type=&amp;quot;button&amp;quot; id=&amp;quot;dissolve&amp;quot;&amp;gt;dissolve&amp;lt;/button&amp;gt;

&amp;lt;div id=&amp;quot;x&amp;quot; style=&amp;quot;display:none;border:1px solid #000;&amp;quot;&amp;gt;
open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;open&amp;lt;br/&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;When &quot;reveal&quot; is clicked and before the fx is finished,
&quot;dissolve&quot; is clicked, the element gets hidden and clicking
&quot;reveal&quot; again doesn't work.&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-09-10T14:50:04+01:00</created-at>
    <creator-id type="integer">69276</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">117</number>
    <permalink>slider-only-click-on-the-knob</permalink>
    <priority type="integer">5</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag>clickelement slider</tag>
    <title>Slider: Only click on the knob</title>
    <updated-at type="datetime">2009-10-08T01:52:12+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>sargerasy</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/117</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>Use slider, when you only click at the knob element and not move it,release mouse button, then you click other place, the clickElement function will not work correctly.
My solution: Add a onCancel function in dragOptions, make isDragging false.</original-body>
    <latest-body>Use slider, when you only click at the knob element and not move it,release mouse button, then you click other place, the clickElement function will not work correctly.
My solution: Add a onCancel function in dragOptions, make isDragging false.</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;Use slider, when you only click at the knob element and not move
it,release mouse button, then you click other place, the
clickElement function will not work correctly.&lt;br&gt;
My solution: Add a onCancel function in dragOptions, make
isDragging false.&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-07-30T02:04:08+01:00</created-at>
    <creator-id type="integer">21410</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">99</number>
    <permalink>elementinsertatcursor-ie7-and-newlines</permalink>
    <priority type="integer">14</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag>element more &quot;text range&quot;</tag>
    <title>Element.insertAtCursor(), IE7 and newlines</title>
    <updated-at type="datetime">2009-10-08T01:51:18+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>Artnez</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/99</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>Very simple to recreate the problem:
1) Start with a blank &lt;textarea&gt;
2) Type a few characters into the textarea
3) Create a few newlines (hit enter a few times)
4) Try insertAtCursor()

IE ignores the trailing newlines and inserts your text just after the text you created in Step 2 above.

After testing things out it seems that when you do [text range].text.length, IE ignores trailing newlines.</original-body>
    <latest-body>Very simple to recreate the problem:
1) Start with a blank &lt;textarea&gt;
2) Type a few characters into the textarea
3) Create a few newlines (hit enter a few times)
4) Try insertAtCursor()

IE ignores the trailing newlines and inserts your text just after the text you created in Step 2 above.

After testing things out it seems that when you do [text range].text.length, IE ignores trailing newlines.</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;Very simple to recreate the problem: 1) Start with a blank 2)
Type a few characters into the textarea 3) Create a few newlines
(hit enter a few times) 4) Try insertAtCursor()&lt;/p&gt;
&lt;p&gt;IE ignores the trailing newlines and inserts your text just
after the text you created in Step 2 above.&lt;/p&gt;
&lt;p&gt;After testing things out it seems that when you do [text
range].text.length, IE ignores trailing newlines.&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-09-24T02:13:23+01:00</created-at>
    <creator-id type="integer">55058</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">127</number>
    <permalink>overtext-tips-hook-onto-dom-change</permalink>
    <priority type="integer">13</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag nil="true"></tag>
    <title>Overtext, Tips - hook onto DOM change?</title>
    <updated-at type="datetime">2009-10-08T01:50:44+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>Varyen</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/127</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body></original-body>
    <latest-body></latest-body>
    <original-body-html></original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-07-22T13:32:19+01:00</created-at>
    <creator-id type="integer">63297</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">94</number>
    <permalink>fxsortswap-not-chainable-in-mootools-more-1231</permalink>
    <priority type="integer">12</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag>fx sort</tag>
    <title>Fx.Sort.swap not chainable in MooTools More 1.2.3.1</title>
    <updated-at type="datetime">2009-10-08T01:35:02+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>Tommy Valand</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/94</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>The last line of the swap-method is like this: this.sort(newOrder);

Should be this: return this.sort(newOrder);</original-body>
    <latest-body>The last line of the swap-method is like this: this.sort(newOrder);

Should be this: return this.sort(newOrder);</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;The last line of the swap-method is like this:
this.sort(newOrder);&lt;/p&gt;
&lt;p&gt;Should be this: return this.sort(newOrder);&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-09-18T11:26:33+01:00</created-at>
    <creator-id type="integer">63297</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">122</number>
    <permalink>bug-in-formvalidator-when-ignorehiddentrue</permalink>
    <priority type="integer">11</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag>formvalidator ignorehidden</tag>
    <title>Bug in FormValidator when ignoreHidden=true</title>
    <updated-at type="datetime">2009-10-08T01:30:54+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>Tommy Valand</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/122</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>The original code doesn't fire the elementValidate field if the field is hidden, but it still validates it. The result is that the form doesn't submit if a hidden field is invalid, regardless of the igonreHidden option.

Original code:
@@@ javascript
test: function(className, field, warn){
	var validator = this.getValidator(className);
	field = document.id(field);
	if (field.hasClass('ignoreValidation')) return true;
	warn = $pick(warn, false);
	if (field.hasClass('warnOnly')) warn = true;
	var isValid = validator ? validator.test(field) : true;
	if (validator &amp;&amp; this.isVisible(field)) this.fireEvent('elementValidate', [isValid, field, className, warn]);
	if (warn) return true;
	return isValid;
},
isVisible : function(field){
	if (!this.options.ignoreHidden) return true;
	while(field != document.body){
		if (document.id(field).getStyle('display') == 'none') return false;
		field = field.getParent();
	}
	return true;
}
@@@

Suggested change:
Move the ignoreHidden-check to the test-method, and do the test at the top of this.

@@@ javascript
test: function(className, field, warn){
	field = document.id(field);
	if(this.options.ignoreHidden &amp;&amp; !this.isVisible(field) ){ return true; }
	var validator = this.getValidator(className);
	
	if (field.hasClass('ignoreValidation')) return true;
	warn = $pick(warn, false);
	if (field.hasClass('warnOnly')) warn = true;
	var isValid = validator ? validator.test(field) : true;
	if (validator &amp;&amp; this.isVisible(field)) this.fireEvent('elementValidate', [isValid, field, className, warn]);
	if (warn) return true;
	return isValid;
},
isVisible : function(field){
	while(field != document.body){
		if (document.id(field).getStyle('display') == 'none') return false;
		field = field.getParent();
	}
	return true;
}
@@@</original-body>
    <latest-body>The original code doesn't fire the elementValidate field if the field is hidden, but it still validates it. The result is that the form doesn't submit if a hidden field is invalid, regardless of the igonreHidden option.

Original code:
@@@ javascript
test: function(className, field, warn){
	var validator = this.getValidator(className);
	field = document.id(field);
	if (field.hasClass('ignoreValidation')) return true;
	warn = $pick(warn, false);
	if (field.hasClass('warnOnly')) warn = true;
	var isValid = validator ? validator.test(field) : true;
	if (validator &amp;&amp; this.isVisible(field)) this.fireEvent('elementValidate', [isValid, field, className, warn]);
	if (warn) return true;
	return isValid;
},
isVisible : function(field){
	if (!this.options.ignoreHidden) return true;
	while(field != document.body){
		if (document.id(field).getStyle('display') == 'none') return false;
		field = field.getParent();
	}
	return true;
}
@@@

Suggested change:
Move the ignoreHidden-check to the test-method, and do the test at the top of this.

@@@ javascript
test: function(className, field, warn){
	field = document.id(field);
	if(this.options.ignoreHidden &amp;&amp; !this.isVisible(field) ){ return true; }
	var validator = this.getValidator(className);
	
	if (field.hasClass('ignoreValidation')) return true;
	warn = $pick(warn, false);
	if (field.hasClass('warnOnly')) warn = true;
	var isValid = validator ? validator.test(field) : true;
	if (validator &amp;&amp; this.isVisible(field)) this.fireEvent('elementValidate', [isValid, field, className, warn]);
	if (warn) return true;
	return isValid;
},
isVisible : function(field){
	while(field != document.body){
		if (document.id(field).getStyle('display') == 'none') return false;
		field = field.getParent();
	}
	return true;
}
@@@</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;The original code doesn't fire the elementValidate field if the
field is hidden, but it still validates it. The result is that the
form doesn't submit if a hidden field is invalid, regardless of the
igonreHidden option.&lt;/p&gt;
&lt;p&gt;Original code:&lt;br&gt;&lt;/p&gt;
&lt;pre&gt;
&lt;code class=
&quot;javascript&quot;&gt;test: function(className, field, warn){&lt;br&gt;
&lt;br&gt;


&lt;/code&gt;
&lt;/pre&gt;
&lt;pre&gt;
&lt;code class=
&quot;javascript&quot;&gt;&lt;code&gt;var validator = this.getValidator(className);
field = document.id(field);
if (field.hasClass('ignoreValidation')) return true;
warn = $pick(warn, false);
if (field.hasClass('warnOnly')) warn = true;
var isValid = validator ? validator.test(field) : true;
if (validator &amp;amp;amp;&amp;amp;amp; this.isVisible(field)) this.fireEvent('elementValidate', [isValid, field, className, warn]);
if (warn) return true;
return isValid;&lt;/code&gt;&lt;/code&gt;
&lt;/pre&gt;
&lt;pre&gt;


&lt;br&gt;
},
isVisible : function(field){

&lt;/pre&gt;
&lt;pre&gt;
&lt;code&gt;if (!this.options.ignoreHidden) return true;
while(field != document.body){
    if (document.id(field).getStyle('display') == 'none') return false;
    field = field.getParent();
}
return true;&lt;/code&gt;
&lt;/pre&gt;
&lt;pre&gt;


&lt;br&gt;
}
&lt;/pre&gt;
&lt;p&gt;Suggested change:&lt;br&gt;
Move the ignoreHidden-check to the test-method, and do the test at
the top of this.&lt;/p&gt;
&lt;pre&gt;
&lt;code class=&quot;javascript&quot;&gt;test: function(className, field, warn){
    field = document.id(field);
    if(this.options.ignoreHidden &amp;amp;&amp;amp; !this.isVisible(field) ){ return true; }
    var validator = this.getValidator(className);
    
    if (field.hasClass('ignoreValidation')) return true;
    warn = $pick(warn, false);
    if (field.hasClass('warnOnly')) warn = true;
    var isValid = validator ? validator.test(field) : true;
    if (validator &amp;amp;&amp;amp; this.isVisible(field)) this.fireEvent('elementValidate', [isValid, field, className, warn]);
    if (warn) return true;
    return isValid;
},
isVisible : function(field){
    while(field != document.body){
        if (document.id(field).getStyle('display') == 'none') return false;
        field = field.getParent();
    }
    return true;
}&lt;/code&gt;
&lt;/pre&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-09-21T08:22:20+01:00</created-at>
    <creator-id type="integer">70442</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">123</number>
    <permalink>tips-nesting-bug</permalink>
    <priority type="integer">10</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag nil="true"></tag>
    <title>Tips nesting bug</title>
    <updated-at type="datetime">2009-10-08T01:28:06+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>Coen Hyde</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/123</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>There is a slight bug when an element with a tip is nested inside another element that also has a tip. When the mouse exits the nested element the tip from the parent fails to reappear. Here is a quick hack i did to solve the problem.

var TipsExtended = new Class({
	
	Extends: Tips,
	
	elementLeave: function(event, element){
		this.parent(event, element);
		if (parentNode = this.parentHasTooltip(element)) {
			parentNode.fireEvent('mouseenter', event);
		}
	},
	
	parentHasTooltip: function(element) {
		parentNode = element.getParent();
		if (parentNode.retrieve('tip:enter')) return parentNode;
		
		if (parentNode.get('tag') == 'body') return false;
		else return this.parentHasTooltip(parentNode);
	}
	
});</original-body>
    <latest-body>There is a slight bug when an element with a tip is nested inside another element that also has a tip. When the mouse exits the nested element the tip from the parent fails to reappear. Here is a quick hack i did to solve the problem.

var TipsExtended = new Class({
	
	Extends: Tips,
	
	elementLeave: function(event, element){
		this.parent(event, element);
		if (parentNode = this.parentHasTooltip(element)) {
			parentNode.fireEvent('mouseenter', event);
		}
	},
	
	parentHasTooltip: function(element) {
		parentNode = element.getParent();
		if (parentNode.retrieve('tip:enter')) return parentNode;
		
		if (parentNode.get('tag') == 'body') return false;
		else return this.parentHasTooltip(parentNode);
	}
	
});</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;There is a slight bug when an element with a tip is nested
inside another element that also has a tip. When the mouse exits
the nested element the tip from the parent fails to reappear. Here
is a quick hack i did to solve the problem.&lt;/p&gt;
&lt;p&gt;var TipsExtended = new Class({&lt;br&gt;&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;Extends: Tips,

elementLeave: function(event, element){
    this.parent(event, element);
    if (parentNode = this.parentHasTooltip(element)) {
        parentNode.fireEvent('mouseenter', event);
    }
},

parentHasTooltip: function(element) {
    parentNode = element.getParent();
    if (parentNode.retrieve('tip:enter')) return parentNode;

    if (parentNode.get('tag') == 'body') return false;
    else return this.parentHasTooltip(parentNode);
}&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;});&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-09-24T01:09:09+01:00</created-at>
    <creator-id type="integer">55058</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">126</number>
    <permalink>overtext-should-set-focus-on-input-after-clicking</permalink>
    <priority type="integer">9</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag>usability</tag>
    <title>Overtext: should set focus on input after clicking</title>
    <updated-at type="datetime">2009-10-08T01:12:09+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>Varyen</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/126</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>Hi,

I think you should focus on input after clicking on tip, assigned to input by overtext. When i click on input i want to start typing or paste something into it, but i can't do it without one extra clicking :).

This is applicable only if you click right on tip.

	focus: function(){
		if (!this.text.isDisplayed() || this.element.get('disabled')) return;
		this.hide();
		this.element.focus(); // just add something like that
	},

Tested in FF 3.5, Chrome.</original-body>
    <latest-body>Hi,

I think you should focus on input after clicking on tip, assigned to input by overtext. When i click on input i want to start typing or paste something into it, but i can't do it without one extra clicking :).

This is applicable only if you click right on tip.

	focus: function(){
		if (!this.text.isDisplayed() || this.element.get('disabled')) return;
		this.hide();
		this.element.focus(); // just add something like that
	},

Tested in FF 3.5, Chrome.</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I think you should focus on input after clicking on tip,
assigned to input by overtext. When i click on input i want to
start typing or paste something into it, but i can't do it without
one extra clicking :).&lt;/p&gt;
&lt;p&gt;This is applicable only if you click right on tip.&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;focus: function(){
    if (!this.text.isDisplayed() || this.element.get('disabled')) return;
    this.hide();
    this.element.focus(); // just add something like that
},&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;Tested in FF 3.5, Chrome.&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-09-25T11:24:07+01:00</created-at>
    <creator-id type="integer">48624</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">131</number>
    <permalink>classocclude-shortcut-not-as-described-in-docs</permalink>
    <priority type="integer">8</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag nil="true"></tag>
    <title>Class.Occlude shortcut not as described in docs</title>
    <updated-at type="datetime">2009-10-08T00:58:12+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>Robb3h</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/131</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>Hi there,

Not sure if it's the documentation or the functionality which is wrong but the mootools docs say:

&quot;In the example above, because we have a toElement method and because we define the property property in the class, the method occlude doesn't require any arguments as it uses these by default.&quot;

While in reality the toElement function doesn't appear to be used, as the code in Class.Occlude checks for the element with:

element = document.id(element || this.element);

and so using toElement does not allow you to use the shortcut. The clientcide example is correct however.</original-body>
    <latest-body>Hi there,

Not sure if it's the documentation or the functionality which is wrong but the mootools docs say:

&quot;In the example above, because we have a toElement method and because we define the property property in the class, the method occlude doesn't require any arguments as it uses these by default.&quot;

While in reality the toElement function doesn't appear to be used, as the code in Class.Occlude checks for the element with:

element = document.id(element || this.element);

and so using toElement does not allow you to use the shortcut. The clientcide example is correct however.</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;Hi there,&lt;/p&gt;
&lt;p&gt;Not sure if it's the documentation or the functionality which is
wrong but the mootools docs say:&lt;/p&gt;
&lt;p&gt;&quot;In the example above, because we have a toElement method and
because we define the property property in the class, the method
occlude doesn't require any arguments as it uses these by
default.&quot;&lt;/p&gt;
&lt;p&gt;While in reality the toElement function doesn't appear to be
used, as the code in Class.Occlude checks for the element with:&lt;/p&gt;
&lt;p&gt;element = document.id(element || this.element);&lt;/p&gt;
&lt;p&gt;and so using toElement does not allow you to use the shortcut.
The clientcide example is correct however.&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-10-03T00:36:29+01:00</created-at>
    <creator-id type="integer">22512</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">133</number>
    <permalink>assetjavascript-documention</permalink>
    <priority type="integer">7</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag>documentation</tag>
    <title>Asset.javascript() documention</title>
    <updated-at type="datetime">2009-10-08T00:56:03+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>batman42ca</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/133</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>The documentation for Asset.javascript() doesn't show that there is an onload() event</original-body>
    <latest-body>The documentation for Asset.javascript() doesn't show that there is an onload() event</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;The documentation for Asset.javascript() doesn't show that there
is an onload() event&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-09-24T07:15:59+01:00</created-at>
    <creator-id type="integer">29571</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">128</number>
    <permalink>sliders-fail-when-initialized-under-various-display-property-use-cases</permalink>
    <priority type="integer">6</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag>display measure offsetwidth slider</tag>
    <title>Sliders fail when initialized under various display property use cases</title>
    <updated-at type="datetime">2009-10-08T00:50:47+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>csuwldcat</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/128</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>Basically if you are using Fx.Reveal or any other mechanism that sets either the slider element or its parent element to display: none; and try to init a slider, you end up with a non-working slider that throws no errors.  It sticks at 0 because the slider script in More measures the offsetWidth on a display none element thus it thinks the slider is 0px wide.

Needless to say NaN hilariousity ensues and you find yourself wanting to stab yourself in the eye with a rusty nail, jk...but seriously, it sucks. 

I would assume the script should be coded to use the  measure More plugin so that it can actually derive a height. 

If that isn't clear just give me a holler.

BTW, still cant upload my test pages with &quot;attach a file&quot; - so that is why i keep just writing this stuff out ;)</original-body>
    <latest-body>Basically if you are using Fx.Reveal or any other mechanism that sets either the slider element or its parent element to display: none; and try to init a slider, you end up with a non-working slider that throws no errors.  It sticks at 0 because the slider script in More measures the offsetWidth on a display none element thus it thinks the slider is 0px wide.

Needless to say NaN hilariousity ensues and you find yourself wanting to stab yourself in the eye with a rusty nail, jk...but seriously, it sucks. 

I would assume the script should be coded to use the  measure More plugin so that it can actually derive a height. 

If that isn't clear just give me a holler.

BTW, still cant upload my test pages with &quot;attach a file&quot; - so that is why i keep just writing this stuff out ;)</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;Basically if you are using Fx.Reveal or any other mechanism that
sets either the slider element or its parent element to display:
none; and try to init a slider, you end up with a non-working
slider that throws no errors. It sticks at 0 because the slider
script in More measures the offsetWidth on a display none element
thus it thinks the slider is 0px wide.&lt;/p&gt;
&lt;p&gt;Needless to say NaN hilariousity ensues and you find yourself
wanting to stab yourself in the eye with a rusty nail, jk...but
seriously, it sucks.&lt;/p&gt;
&lt;p&gt;I would assume the script should be coded to use the measure
More plugin so that it can actually derive a height.&lt;/p&gt;
&lt;p&gt;If that isn't clear just give me a holler.&lt;/p&gt;
&lt;p&gt;BTW, still cant upload my test pages with &quot;attach a file&quot; - so
that is why i keep just writing this stuff out ;)&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">28477</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-09-24T23:20:45+01:00</created-at>
    <creator-id type="integer">22895</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">130</number>
    <permalink>docs-element-elementshortcuts-swapclass</permalink>
    <priority type="integer">1</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag>documentation element more shortcuts swapclass</tag>
    <title>Docs / Element / Element.Shortcuts / swapClass</title>
    <updated-at type="datetime">2009-09-25T08:38:41+01:00</updated-at>
    <user-id type="integer">28477</user-id>
    <user-name>Scott Kyle</user-name>
    <creator-name>dEEf</creator-name>
    <assigned-user-name>Scott Kyle</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/130</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>mootools-more / Docs / Element / Element.Shortcuts 

The documentation of the swapClass method is reverse to the actual method.</original-body>
    <latest-body>mootools-more / Docs / Element / Element.Shortcuts 

The documentation of the swapClass method is reverse to the actual method.</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;mootools-more / Docs / Element / Element.Shortcuts&lt;/p&gt;
&lt;p&gt;The documentation of the swapClass method is reverse to the
actual method.&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer" nil="true"></assigned-user-id>
    <attachments-count type="integer">3</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-06-08T16:06:32+01:00</created-at>
    <creator-id type="integer">35838</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">70</number>
    <permalink>sortable-slow-on-firefox-on-linux</permalink>
    <priority type="integer">1</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>wontfix</state>
    <tag>performace sortable</tag>
    <title>Sortable slow on FireFox on Linux</title>
    <updated-at type="datetime">2009-09-14T07:32:37+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>Declan Conlon</creator-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/70</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>Mootools version: Latest from website, included as attachment.

I'm having some trouble with sortables on FF, performance-wise that is. For the attached test case I'm seeing horrible laggy behaviour. It works perfectly in webkit browsers and IE7. While not exhaustive I've tried it in a number of FF versions and all are prone to the laggy behaviour, including 3.5 betas.

Attached is a test case and a screenshot of a firebug profile showing the dominating functions(may or may not help).

It looks like mootools is doing a lot of work, perhaps it can be optimised.</original-body>
    <latest-body>Mootools version: Latest from website, included as attachment.

I'm having some trouble with sortables on FF, performance-wise that is. For the attached test case I'm seeing horrible laggy behaviour. It works perfectly in webkit browsers and IE7. While not exhaustive I've tried it in a number of FF versions and all are prone to the laggy behaviour, including 3.5 betas.

Attached is a test case and a screenshot of a firebug profile showing the dominating functions(may or may not help).

It looks like mootools is doing a lot of work, perhaps it can be optimised.</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;Mootools version: Latest from website, included as
attachment.&lt;/p&gt;
&lt;p&gt;I'm having some trouble with sortables on FF, performance-wise
that is. For the attached test case I'm seeing horrible laggy
behaviour. It works perfectly in webkit browsers and IE7. While not
exhaustive I've tried it in a number of FF versions and all are
prone to the laggy behaviour, including 3.5 betas.&lt;/p&gt;
&lt;p&gt;Attached is a test case and a screenshot of a firebug profile
showing the dominating functions(may or may not help).&lt;/p&gt;
&lt;p&gt;It looks like mootools is doing a lot of work, perhaps it can be
optimised.&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-07-14T09:39:27+01:00</created-at>
    <creator-id type="integer">62670</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">91</number>
    <permalink>mootools-12-drag-drop-flaw</permalink>
    <priority type="integer">2</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>invalid</state>
    <tag>drag</tag>
    <title>Mootools 1.2 Drag &amp; Drop flaw</title>
    <updated-at type="datetime">2009-09-14T07:32:34+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>cliffton</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/91</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>hi,

I am building a drag &amp; drop page base on the Drag.Cart demo. However I am using 
1.2 core + plugin. Everything works ok except for the handling of &quot;emptydrop&quot; part. 1.11 version handles this beautifully with the &quot;emptydrop&quot; event. But now, eveytime when I click on a draggable item without dragging it and release the mouse click (mouse up), a clone will be injected into the document and stays there without being disposed. This problem no longer exists when the item is being dragged. Does anyone has any idea to go around this problem ? This is a nice piece of code from mootools. Thanks.

window.addEvent('domready', function() { 

	var drops = $$('.drop_area');
	
	$$('.item').each(function(item) {
		
		item.removeEvents();
		item.addEvent('mousedown', function(e) {
			e.stop();
			
			var clone = this.clone()
			.setStyles(this.getCoordinates())
			.setStyles({'opacity': 0.7, 'position': 'absolute'})
			.inject(document.body);

			var drag = clone.makeDraggable({
				droppables: drops,
				onComplete: function() {
					this.detach();
				},
				onEnter: function(el, over) {
					over.tween('background-color','#98B5C1');
				},
				onLeave: function(el, over) {
					over.tween('background-color','#fff');
				},
				onDrop: function(el, over) {
					
					if(over)
					{
						// do something ...
						over.tween('background-color','#fff');
					}
					clone.dispose();
				}
			});

			drag.start(e);
		});
	});
});</original-body>
    <latest-body>hi,

I am building a drag &amp; drop page base on the Drag.Cart demo. However I am using 
1.2 core + plugin. Everything works ok except for the handling of &quot;emptydrop&quot; part. 1.11 version handles this beautifully with the &quot;emptydrop&quot; event. But now, eveytime when I click on a draggable item without dragging it and release the mouse click (mouse up), a clone will be injected into the document and stays there without being disposed. This problem no longer exists when the item is being dragged. Does anyone has any idea to go around this problem ? This is a nice piece of code from mootools. Thanks.

window.addEvent('domready', function() { 

	var drops = $$('.drop_area');
	
	$$('.item').each(function(item) {
		
		item.removeEvents();
		item.addEvent('mousedown', function(e) {
			e.stop();
			
			var clone = this.clone()
			.setStyles(this.getCoordinates())
			.setStyles({'opacity': 0.7, 'position': 'absolute'})
			.inject(document.body);

			var drag = clone.makeDraggable({
				droppables: drops,
				onComplete: function() {
					this.detach();
				},
				onEnter: function(el, over) {
					over.tween('background-color','#98B5C1');
				},
				onLeave: function(el, over) {
					over.tween('background-color','#fff');
				},
				onDrop: function(el, over) {
					
					if(over)
					{
						// do something ...
						over.tween('background-color','#fff');
					}
					clone.dispose();
				}
			});

			drag.start(e);
		});
	});
});</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;hi,&lt;/p&gt;
&lt;p&gt;I am building a drag &amp;amp; drop page base on the Drag.Cart demo.
However I am using 1.2 core + plugin. Everything works ok except
for the handling of &quot;emptydrop&quot; part. 1.11 version handles this
beautifully with the &quot;emptydrop&quot; event. But now, eveytime when I
click on a draggable item without dragging it and release the mouse
click (mouse up), a clone will be injected into the document and
stays there without being disposed. This problem no longer exists
when the item is being dragged. Does anyone has any idea to go
around this problem ? This is a nice piece of code from mootools.
Thanks.&lt;/p&gt;
&lt;p&gt;window.addEvent('domready', function() {&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;var drops = $$('.drop_area');

$$('.item').each(function(item) {

    item.removeEvents();
    item.addEvent('mousedown', function(e) {
        e.stop();

        var clone = this.clone()
        .setStyles(this.getCoordinates())
        .setStyles({'opacity': 0.7, 'position': 'absolute'})
        .inject(document.body);

        var drag = clone.makeDraggable({
            droppables: drops,
            onComplete: function() {
                this.detach();
            },
            onEnter: function(el, over) {
                over.tween('background-color','#98B5C1');
            },
            onLeave: function(el, over) {
                over.tween('background-color','#fff');
            },
            onDrop: function(el, over) {

                if(over)
                {
                    // do something ...
                    over.tween('background-color','#fff');
                }
                clone.dispose();
            }
        });

        drag.start(e);
    });
});
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;});&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">28080</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-06-11T03:44:19+01:00</created-at>
    <creator-id type="integer">59665</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">72</number>
    <permalink>mootools-more-1222-safari-4-elementsimplement</permalink>
    <priority type="integer">1</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag nil="true"></tag>
    <title>MooTools-More 1.2.2.2 + Safari 4 + Elements.Implement</title>
    <updated-at type="datetime">2009-08-19T20:47:40+01:00</updated-at>
    <user-id type="integer">28477</user-id>
    <user-name>Scott Kyle</user-name>
    <creator-name>Aaron Dixon</creator-name>
    <assigned-user-name>Sebastian Markb&#229;ge</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/72</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>When I include MooTools-More 1.2.2.2 and use Elements.Implement in Safari 4 (Windows) I get a xxx [undefined] is not a function error. This error goes away if I take the reference to MooTools-More out.

Elements.Implement({
    myMethod:function() {
        return true;
    }
});

func = function() {
    $$(el).myMethod();
}

window.addEvent(&quot;domready&quot;, func);</original-body>
    <latest-body>When I include MooTools-More 1.2.2.2 and use Elements.Implement in Safari 4 (Windows) I get a xxx [undefined] is not a function error. This error goes away if I take the reference to MooTools-More out.

Elements.Implement({
    myMethod:function() {
        return true;
    }
});

func = function() {
    $$(el).myMethod();
}

window.addEvent(&quot;domready&quot;, func);</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;When I include MooTools-More 1.2.2.2 and use Elements.Implement
in Safari 4 (Windows) I get a xxx [undefined] is not a function
error. This error goes away if I take the reference to
MooTools-More out.&lt;/p&gt;
&lt;p&gt;Elements.Implement({&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;myMethod:function() {
    return true;
}
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;});&lt;/p&gt;
&lt;p&gt;func = function() {&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;$$(el).myMethod();
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;window.addEvent(&quot;domready&quot;, func);&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
  <ticket>
    <assigned-user-id type="integer">23242</assigned-user-id>
    <attachments-count type="integer">0</attachments-count>
    <closed type="boolean">true</closed>
    <created-at type="datetime">2009-07-13T23:59:52+01:00</created-at>
    <creator-id type="integer">53118</creator-id>
    <milestone-due-on type="datetime" nil="true"></milestone-due-on>
    <milestone-id type="integer">41986</milestone-id>
    <number type="integer">90</number>
    <permalink>tips-change-from-thisposition-to-thissetposition-refert</permalink>
    <priority type="integer">3</priority>
    <project-id type="integer">24057</project-id>
    <raw-data type="binary" nil="true" encoding="base64"></raw-data>
    <state>resolved</state>
    <tag nil="true"></tag>
    <title>Tips change from this.position to this.setPosition refert</title>
    <updated-at type="datetime">2009-07-14T16:44:10+01:00</updated-at>
    <user-id type="integer">23242</user-id>
    <user-name>Aaron Newton</user-name>
    <creator-name>Thomas Allmer</creator-name>
    <assigned-user-name>Aaron Newton</assigned-user-name>
    <url>http://mootools.lighthouseapp.com/projects/24057/tickets/90</url>
    <milestone-title>1.2.4.1</milestone-title>
    <original-body>the namechange from postion to setPosition in Element.Dimensions.js and has nothing to do with Tips this.position right?

so you should revert the change from this.position to this.setPosition as Tips has it's own position function...
and yeah it won't work with setPosition... right?

it's just 2 replacements... do you need a pull request / patch for that?</original-body>
    <latest-body>the namechange from postion to setPosition in Element.Dimensions.js and has nothing to do with Tips this.position right?

so you should revert the change from this.position to this.setPosition as Tips has it's own position function...
and yeah it won't work with setPosition... right?

it's just 2 replacements... do you need a pull request / patch for that?</latest-body>
    <original-body-html>&lt;div&gt;&lt;p&gt;the namechange from postion to setPosition in
Element.Dimensions.js and has nothing to do with Tips this.position
right?&lt;/p&gt;
&lt;p&gt;so you should revert the change from this.position to
this.setPosition as Tips has it's own position function... and yeah
it won't work with setPosition... right?&lt;/p&gt;
&lt;p&gt;it's just 2 replacements... do you need a pull request / patch
for that?&lt;/p&gt;&lt;/div&gt;</original-body-html>
  </ticket>
</tickets>
