| | 57 | }, |
|---|
| | 58 | |
|---|
| | 59 | create: function(data, bubbles, cancelable, element) { |
|---|
| | 60 | var event; |
|---|
| | 61 | |
|---|
| | 62 | if (document.createEvent) { // gecko, safari |
|---|
| | 63 | bubbles = bubbles || false; |
|---|
| | 64 | cancelable = cancelable || false; |
|---|
| | 65 | |
|---|
| | 66 | if (Prototype.Browser.WebKit) { |
|---|
| | 67 | event = document.createEvent('HTMLEvents'); |
|---|
| | 68 | event.initEvent('click', bubbles, cancelable); |
|---|
| | 69 | } |
|---|
| | 70 | else { // gecko uses MouseEvents |
|---|
| | 71 | event = document.createEvent('MouseEvents'); |
|---|
| | 72 | event.initMouseEvent |
|---|
| | 73 | ('click', bubbles, cancelable, window, |
|---|
| | 74 | 0, 0, 0, 0, 0, false, false, false, false, 0, null); |
|---|
| | 75 | } |
|---|
| | 76 | } |
|---|
| | 77 | else { // msie |
|---|
| | 78 | event = document.createEventObject(); |
|---|
| | 79 | event.eventType = 'onclick'; |
|---|
| | 80 | } |
|---|
| | 81 | |
|---|
| | 82 | event.eventData = data; |
|---|
| | 83 | if (element) Event.dispatch(element, event); |
|---|
| | 84 | return event; |
|---|
| | 85 | }, |
|---|
| | 86 | |
|---|
| | 87 | dispatch: function(element, event) { |
|---|
| | 88 | if (document.createEvent) |
|---|
| | 89 | return element.dispatchEvent(event); |
|---|
| | 90 | return element.fireEvent(event.eventType || 'onclick', event); |
|---|