Commit 04d917329bdbeffdae56f2b5977b7a7e23a56956
1 parent
8d015212
Exists in
master
and in
7 other branches
Inclusão das bibliotecas para geração de gráfico da linha do tempo (simile)
Showing
94 changed files
with
7409 additions
and
0 deletions
Show diff stats
| ... | ... | @@ -0,0 +1,263 @@ |
| 1 | +CHANGES.txt | |
| 2 | + | |
| 3 | +Version 2.3.0 | |
| 4 | +* Added test 5, really long labels, to test example page rev 1601, LarryK | |
| 5 | +* Added tags/latest, a copy of the latest tagged release. Will be used for | |
| 6 | + referring to examples and other source files from the wiki. This way | |
| 7 | + the wiki references will not need to be updated for each release. | |
| 8 | +* Added test example page for trying and testing event attributes | |
| 9 | + src/webapp/examples/test_example/test.html -- LarryK rev 1598 | |
| 10 | +* Fixed issues caused when events don't have title attribute. | |
| 11 | + Issue tracker #20 -- LarryK rev 1598 | |
| 12 | +* Event tape heights now use theme.event.tape.height. Better than using css since: | |
| 13 | + theme.event.track.height & theme.event.tape.height need to work with each other. | |
| 14 | + It is easier and clearer to set both in the same place (the theme), rather than | |
| 15 | + one in the theme and one in the css. This is a breaking change if you were | |
| 16 | + setting the height in the css. People were having problems with this in the | |
| 17 | + mailing list. | |
| 18 | + | |
| 19 | + Further note about this change since it is undoing someone's work: The tape height | |
| 20 | + on the screen was defined purely by css. But the tape height from the theme was | |
| 21 | + still being used (to some extent) in the sw. In particular, the Theme's tape height | |
| 22 | + is returned by function _paintEventTape in file original-painter. It doesn't make | |
| 23 | + sense for the theme's tape height to be returned by the function when the | |
| 24 | + actual height of the tape was being controlled in the css file. | |
| 25 | + -- LarryK rev 1623 | |
| 26 | +* Un-commented-out | |
| 27 | + div.style.background = color; | |
| 28 | + from Timeline.OriginalEventPainter.prototype._createHighlightDiv function | |
| 29 | + to re-enable event highlighting | |
| 30 | + See http://groups.google.com/group/simile-widgets/browse_thread/thread/acbffeaa662722f8 | |
| 31 | + -- Hunt Culver and LarryK rev 1628 | |
| 32 | +* Bullet-proofing: Fix for issue 34. The Monet example had a latestStart date | |
| 33 | + after the event's earliestEnd. This caused the tape width to be negative. This | |
| 34 | + caused an exception when setting the width value, but only on IE. Fix: changed | |
| 35 | + sources.js to sanity check dates and append error messages to event title if | |
| 36 | + a problem is detected. Updated test example to have events with bad dates. | |
| 37 | + Thank you to Tim Dimsdale for noting that the example didn't run in Monet. | |
| 38 | + -- LarryK rev 1629 | |
| 39 | +* Tape color for overview painter now set. Uses following precedence: event's color attribute, | |
| 40 | + theme.event.duration.color or css color for class timeline-small-event-tape | |
| 41 | + See issue 16 -- LarryK rev 1630 | |
| 42 | +* Update to send css class to computeSize. Fixes: | |
| 43 | + issue 13 - TIMELINE: Event labels wrap on FF 3 on Mac | |
| 44 | + issue 30 - TIMELINE : Event labels wrap when 'classname' attribute is added and text is bold | |
| 45 | + NOTE: fixes don't work unless latest Simile-Ajax library is used. Will be | |
| 46 | + automatically used after it is released. | |
| 47 | + -- LarryK rev 1638 | |
| 48 | +* Added and revised autoWidth. AutoWidth automatically calculates and sets the 'width' for | |
| 49 | + the Timeline's bands and for the overall Timeline. The 'width,' for horizontal | |
| 50 | + Timelines, is actually the 'height' style of the various divs. | |
| 51 | + | |
| 52 | + The event painters do not calculate the tracks of all the events when they are loaded, | |
| 53 | + the event tracks are only calculated when they are viewed or are about to be viewed. | |
| 54 | + In the same way, the needed width is re-calculated whenever a new set of events | |
| 55 | + are viewed or are about to be viewed. If the new needed width is greater than the | |
| 56 | + current width, the increase is animated. See the example. | |
| 57 | + | |
| 58 | + To use autoWidth: | |
| 59 | + 1) You will be modifying the classic theme's settings in your html file. | |
| 60 | + 2) Set the theme's autoWidth to true | |
| 61 | + 3) Optionally update the theme's autoWidthAnimationTime setting. | |
| 62 | + 4) Optionally update the autoWidthMargin settings in the Theme. The margin, per | |
| 63 | + band, is used to set how close the bottom of the lowest track is to the | |
| 64 | + edge of the band's div. The units are total track width. There are two settings, | |
| 65 | + one for overview bands, the second for others. | |
| 66 | + 5) After you have loaded your events, call tl.finishedEventLoading() where tl is the | |
| 67 | + Timeline object returned from Timeline.create. | |
| 68 | + Demo: examples/test_example2/test_example2.html | |
| 69 | + -- LarryK rev 1630, 1643 | |
| 70 | +* Updated License to refer to JQuery -- LarryK rev 1643 | |
| 71 | +* Added License file to zip files -- LarryK rev 1643 | |
| 72 | +* Changed example files to refer to Google Simile directory. -- LarryK rev 1643 | |
| 73 | +* Fixed: autoWidth wasn't working on Safari/Windows. -- LarryK rev 1644 | |
| 74 | +* Fixed issue 33: added event attribute durationEvent. | |
| 75 | + Values of isDuration and durationEvent must be true or false for JSON and | |
| 76 | + "true" or "false" for XML and SPARCL. Otherwise results are indeterminate. | |
| 77 | + This can be a breaking change for event sources that were using values | |
| 78 | + other than the above. -- LarryK rev 1654 | |
| 79 | +* Added event attribute trackNum for developers to specify a track number. | |
| 80 | + See issue 26. -- LarryK rev 1654 | |
| 81 | +* Improve autoWidth for overview bands: calculation should include overviewTrack.offset | |
| 82 | + -- LarryK rev 1655 | |
| 83 | +* Add English day names to en locale -- LarryK rev 1656 | |
| 84 | +* Rebuilt bundle files with new ver of Ajax lib. -- LarryK rev 1658 | |
| 85 | +* Split band.js out of timeline.js. Assign event IDs sequentially rather than using | |
| 86 | + random number generator. Add formated ids to event tapes, labels, icons to | |
| 87 | + enable a single listener to retrieve state from the id. Added support functions | |
| 88 | + event-utils.js. -- LarryK rev 1659 | |
| 89 | +* Highlighting testing using Religions example. Restored event highlight colors to theme | |
| 90 | + to fix. -- LarryK rev 1659 | |
| 91 | +* New feature: When highlighting events on a Timeline, default is to highlight the event's | |
| 92 | + icon or tape. If theme.event.highlightLabelBackground is true, the label's background | |
| 93 | + will also be changed to the highlight color. See the Jewish timeline example. | |
| 94 | + -- LarryK rev 1659 | |
| 95 | +* Fixed issue 31, added event's classname attribute to div for icons too. | |
| 96 | + -- LarryK rev 1659 | |
| 97 | +* event's tape and highlight div's need index num in id since there can be more | |
| 98 | + than one tape div per event. -- And id must be unique. -- LarryK rev 1661 | |
| 99 | +* Added EventPaintListener hook to original-painter. Enables clients to hook into | |
| 100 | + painting life cycle. See original-painter.js. -- LarryK rev 1661 | |
| 101 | +* Changed calculation of labelTop for paintImpreciseInstantEvent to be same | |
| 102 | + calculation as in paintPreciseDurationEvent in original-painter. | |
| 103 | + Problem was that label was too close to tape (and would sometimes overlap) | |
| 104 | + for Imprecise Instant Events. Test example 2, imprecise instant event at | |
| 105 | + year 4400 (with thick tape) looks much better with the change. | |
| 106 | + -- LarryK rev 1661 | |
| 107 | +* Added track.offset setting to original-painter. Enables specific | |
| 108 | + control over top margin of band event painting. Very useful when a | |
| 109 | + Timeline has multiple event bands or a pseudo event band that is just | |
| 110 | + used for labeling above an event band. -- LarryK rev 1661 | |
| 111 | +* Added instant.impreciseIconMargin to original-painter. Enables specific | |
| 112 | + control over top margin of icon (margin between bottom of tape and | |
| 113 | + top of icon). Only used if the event has a tape and an icon. | |
| 114 | + -- LarryK rev 1661 | |
| 115 | +* Added band arg to eventPaintListener listeners -- LarryK rev 1662 | |
| 116 | +* Reworked autoWidth to stop recursive call to painter -- LarryK rev 1663 | |
| 117 | +* Further autoWidth work to have Timeline monitor scroll of bands rather | |
| 118 | + than having bands call up into Timeline. Eliminated sleep for | |
| 119 | + smoother scrolling with autoWidth -- LarryK rev 1664 | |
| 120 | +* Use new maxHeight param from SimileAjax for setting maxHeight of | |
| 121 | + bubbles. Added theme.bubble.maxHeight with default of 0 (no maximum). | |
| 122 | + Old theme param of bubble.height is not used within source of | |
| 123 | + Timeline, so removed it. -- LarryK rev 1667 | |
| 124 | +* Span decorator improvements: now can have null labels. New param of | |
| 125 | + inFront. If true, then the span is in front of all layers but the events. | |
| 126 | + Now uses color attribute if present, else css. -- LarryK rev 1677 | |
| 127 | +* Span point decorator: Now uses color attribute if present, else css. | |
| 128 | + -- LarryK rev 1677 | |
| 129 | +* Timeline start and end feature: Optionally add theme.timeline_start, | |
| 130 | + theme.timeline_stop to disable movement of the Timeline beyond the | |
| 131 | + start and/or stop. The setting affects the entire Timeline and must | |
| 132 | + be set in the theme of the first band. Depending on the relative | |
| 133 | + resolutions of the bands, different amounts of the various bands | |
| 134 | + will be seen when at a start or stop edge, depending on which band | |
| 135 | + was being moved and by how much. In addition to setting the timeline_start | |
| 136 | + and _stop, you may want to add span decorators to cover up the | |
| 137 | + unused parts of the Timeline. See example2. Note that the Timeline | |
| 138 | + will not be movable past a start/stop edge but it can be initially | |
| 139 | + loaded beyond the edges by using the date parameter of the Band Info. | |
| 140 | + -- LarryK rev 1677 | |
| 141 | + | |
| 142 | +* When you run run.bat, we now serve | |
| 143 | + http://localhost:9999/ajax/api - from src/webapp/ajax/api/ | |
| 144 | + http://localhost:9999/timeline - from src/webapp/site/ | |
| 145 | + http://localhost:9999/timeline/api - from src/webapp/timeline/api/ | |
| 146 | + -- David H rev 1705 | |
| 147 | + | |
| 148 | +* PointHighlightDecorator now uses the width parameter, not CSS. | |
| 149 | + Issue is that the Point Highlight Decorator is centered on the point in time | |
| 150 | + being decorated. So the JS needs to calculate based on the width--therefore | |
| 151 | + don't use CSS for width. Thanks to Christian Thiemann. | |
| 152 | +* Revised all examples to use new directory layout. | |
| 153 | + -- LarryK rev 1729 | |
| 154 | +* Added CompactPainter, which allows for large images and can render | |
| 155 | + image stacks. See the new compact-painter example. | |
| 156 | + -- David H rev 1759 | |
| 157 | +* Added Timeline.version string in timeline.js. Issue 60. | |
| 158 | + Added Timeline.writeVersion -- a helper that writes out the | |
| 159 | + current version. Updated examples to use it. | |
| 160 | + Updated build.xml to include Ajax new styles directory. | |
| 161 | + Fixed overview painter to use event's classname attribute if present. | |
| 162 | + Add a test for this to test-example. | |
| 163 | + -- LarryK rev 1813 | |
| 164 | +* Fixed build.xml to not include .bak files. | |
| 165 | + Moved contents of /site up one level into /webapp -- per David H. | |
| 166 | + Fixed library references in all examples to match new dir layout. | |
| 167 | + -- LarryK rev 1814 | |
| 168 | +* Added src/misc/fix_svn_props.txt -- used to correctly set props on | |
| 169 | + example files. Enables them to be run in browser from svn repo. | |
| 170 | + Changed timeline-api to use MIT Simile Ajax v 2.2.0. | |
| 171 | + Changed version to 2.3.0 in anticipation of the release. | |
| 172 | + -- LarryK rev 1821 | |
| 173 | +* Also need to set mime type to be text/xml for xml src files. | |
| 174 | + -- LarryK rev 1822 | |
| 175 | +* Bug fix: misspelled className as classname -- LarryK rev 1823 | |
| 176 | +* Fixed IE-only bug. Chokes on <span id='x' />. Changed to <span id='x'></span> and all is well. | |
| 177 | + Another IE only bug: double class name selectors don't work on | |
| 178 | + IE. Eg <div class 'foo bar' /> should be selected with css selector .foo.bar (or .bar.foo) | |
| 179 | + Works everywhere but ie. So added label-, icon-, tape- to className plus className by | |
| 180 | + itself in original_painter. Additional prefixes: highlight- for event-highlight, | |
| 181 | + small- for overview painter. Problem was caught by test-example. | |
| 182 | + -- LarryK rev 1824 | |
| 183 | +* Updated jetty config file to serve | |
| 184 | + http://localhost:9999/timeline - from src/webapp/ | |
| 185 | + Revised Release Notes for release. | |
| 186 | + -- LarryK rev 1825 | |
| 187 | +* Changed copyright link to be http://code.google.com/p/simile-widgets/ | |
| 188 | + -- LarryK rev 1826 | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | +Version 2.2.0 -- September 23, 2008 | |
| 194 | +* Prep for 2.2.0: updated RELEASE_NOTES -- LarryK rev 1593 | |
| 195 | +* Added comments per MPS in timeline-api.js that bundle=true | |
| 196 | + is needed unless you've installed full source | |
| 197 | + -- LarryK rev 1593 | |
| 198 | +* Added comments to original-painter.js -- LarryK rev 1593 | |
| 199 | +* Re-built to pick up new simile-ajax that includes jquery 1.2.6 | |
| 200 | + -- eob rev 1589 | |
| 201 | + | |
| 202 | +Version 2.1.0 -- September 19, 2008 | |
| 203 | +* Prep for 2.1.0: updated examples, readme. created RELEASE_NOTES LarryK | |
| 204 | +* Added timeline_libraries.zip to build file. Removed install.sh | |
| 205 | + -- LarryK rev 1579 | |
| 206 | +* Event attribute classname is added to the classnames for the event's label | |
| 207 | + and tape divs. Eg classname of 'hot_event' will result in div classes of | |
| 208 | + 'timeline-event-label hot_event' and 'timeline-event-tape hot_event' for | |
| 209 | + the event's Timeline label and tape, respectively. Change is that classname | |
| 210 | + is now added to the tape's div. -- LarryK rev 1576 | |
| 211 | +* Re-worked function Timeline.DefaultEventSource.Event in sources.js to use | |
| 212 | + named arguments (via a hash/anon object) rather than positional arguments. | |
| 213 | + 19 positional arguments are too many! Now much easier and cleaner to add | |
| 214 | + additional event attributes. | |
| 215 | + Note: this is a breaking change for anyone who calls Event directly. But since | |
| 216 | + the wiki page about dynamic events recommends calling loadXML, etc, I | |
| 217 | + hoping that this won't cause anyone much pain. And the new format is | |
| 218 | + MUCH easier to use as a developer. -- LarryK rev 1576 | |
| 219 | +* New event attribute eventID is a 'cookie' attribute that is stored, not used | |
| 220 | + by the Timeline library. If you write a custom labeller or event bubble | |
| 221 | + filler, the attribute can be obtained using the getEventID() method on the | |
| 222 | + event object. -- LarryK rev 1576 | |
| 223 | +* New event attribute caption superceedes hoverText. hoverText is deprecated. | |
| 224 | + For now, it will live on for backwards compatibility. -- LarryK rev 1576 | |
| 225 | +* Event attributes barImage and barRepeat renamed to tapeImage and tapeRepeat. | |
| 226 | + No backwards compatibility. (Breaking change from previous checkin) | |
| 227 | + -- LarryK rev 1576 | |
| 228 | +* Fix: Event color attribute now properly sets the background color of the bar. | |
| 229 | + Note that events (where isDuration = true) have opacity applied. See | |
| 230 | + http://code.google.com/p/simile-widgets/wiki/Timeline_EventSources (LarryK) rev 1569 | |
| 231 | +* New event attribute barImage sets the event's bar div background-image. | |
| 232 | + New event attribute barRepeat sets the background-repeat. Default is 'repeat' | |
| 233 | + Cubism example updated to demonstrate color, textColor, barImage, barRepeat and | |
| 234 | + hoverText attributes. For a handy stripe generator, see | |
| 235 | + http://www.stripegenerator.com (LarryK) rev 1569 | |
| 236 | +* Fix: Event attribute hoverText was not properly processed by JSON or SPARCL sources | |
| 237 | + (LarryK) rev 1569 | |
| 238 | +* Build process now creates timeline_source.zip which has source, examples and the | |
| 239 | + jetty web server. Enables easy access with for folks without svn. (LarryK) rev 1569 | |
| 240 | +* Added copy of JFK timeline in examples with Dutch locale set. | |
| 241 | + (LarryK) rev 1560 | |
| 242 | +* Added forceLocale parameter to timeline-api.js to force a locale for testing | |
| 243 | + (LarryK) rev 1560 | |
| 244 | +* Added Dutch localization (Marko) rev 1560 | |
| 245 | +* Added mouse-wheel scroll. Mouse-wheel acts as left and right arrow keys. Theme | |
| 246 | + controls whether the mouse-wheel scrolls, zooms or moves the page (if the page | |
| 247 | + has a scroll-bar). Docs: see webapp/docs/create-timelines.html | |
| 248 | + (LarryK) rev 1553 | |
| 249 | +* Additional support in timeline-api for using your own server for Timeline | |
| 250 | + libraries (LarryK) rev 1553 | |
| 251 | +* Separation of javascript and css (gm.marko) rev 1326 | |
| 252 | +* Added mouse-wheel zoom functionality. It operates on a per-band basis, keeping | |
| 253 | + the date under the mouse cursor static while the timeline around it scales. | |
| 254 | + Zoom is specified as user-defined steps. Documentation and a working demo in | |
| 255 | + the webapp/docs/create-timelines.html page (halcyon1981) rev 1418 | |
| 256 | +* Added support for 'hoverText' - title pop-ups on Exhibit-based timelines | |
| 257 | + (Vincent.Vazzo) rev 1411 | |
| 258 | + | |
| 259 | + | |
| 260 | +Version 2.0 | |
| 261 | +* Software changes | |
| 262 | +* Moved svn repository to Google code | |
| 263 | + | ... | ... |
| ... | ... | @@ -0,0 +1,39 @@ |
| 1 | +/* | |
| 2 | + * (c) Copyright The SIMILE Project 2006. All rights reserved. | |
| 3 | + * | |
| 4 | + * Redistribution and use in source and binary forms, with or without | |
| 5 | + * modification, are permitted provided that the following conditions | |
| 6 | + * are met: | |
| 7 | + * | |
| 8 | + * 1. Redistributions of source code must retain the above copyright | |
| 9 | + * notice, this list of conditions and the following disclaimer. | |
| 10 | + * | |
| 11 | + * 2. Redistributions in binary form must reproduce the above copyright | |
| 12 | + * notice, this list of conditions and the following disclaimer in the | |
| 13 | + * documentation and/or other materials provided with the distribution. | |
| 14 | + * | |
| 15 | + * 3. The name of the author may not be used to endorse or promote products | |
| 16 | + * derived from this software without specific prior written permission. | |
| 17 | + * | |
| 18 | + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | |
| 19 | + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | |
| 20 | + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | |
| 21 | + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | |
| 22 | + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | |
| 23 | + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
| 24 | + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
| 25 | + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
| 26 | + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | |
| 27 | + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| 28 | + * | |
| 29 | + * Note: JQuery, www.jquery.com is included in the Ajax section of this | |
| 30 | + * distribution. It is covered by its own license: | |
| 31 | + * | |
| 32 | + * Copyright (c) 2008 John Resig (jquery.com) | |
| 33 | + * Dual licensed under the MIT (MIT-LICENSE.txt) | |
| 34 | + * and GPL (GPL-LICENSE.txt) licenses. | |
| 35 | + */ | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | ... | ... |
| ... | ... | @@ -0,0 +1,88 @@ |
| 1 | + | |
| 2 | + T I M E L I N E | |
| 3 | + | |
| 4 | + | |
| 5 | + What is this? | |
| 6 | + ------------- | |
| 7 | + | |
| 8 | + Timeline is a DHTML-based AJAXy timeline. | |
| 9 | + | |
| 10 | + | |
| 11 | + Running Timeline | |
| 12 | + ---------------- | |
| 13 | + | |
| 14 | + Timeline consists of static resources, Javascript libraries, | |
| 15 | + image files and css files. All you really need is to | |
| 16 | + serve those resources off a web server. Any web server will do. | |
| 17 | + | |
| 18 | + Two ways to access the library | |
| 19 | + | |
| 20 | + 1. Unzip either timeline_source.zip or timeline_libraries.zip into | |
| 21 | + a directory served by a webserver. | |
| 22 | + | |
| 23 | + timeline_source.zip includes complete source and example files. Use your | |
| 24 | + browser to see the examples at | |
| 25 | + .../timeline_directory/src/webapp | |
| 26 | + | |
| 27 | + timeline_libraries.zip is the minimum install of the bundled js libraries, | |
| 28 | + css and image files | |
| 29 | + | |
| 30 | + 2. No web server? The timeline project includes a small webserver called | |
| 31 | + Jetty (use the timeline_source.zip file) | |
| 32 | + a) install the Java runtime from Sun | |
| 33 | + b) unzip timeline_source.zip to an install directory | |
| 34 | + c) Open a shell or command prompt to the install directory and type: | |
| 35 | + | |
| 36 | + [win32]> run | |
| 37 | + [unix/macosx]> chmod +x run; ./run | |
| 38 | + | |
| 39 | + and then point your browser to | |
| 40 | + | |
| 41 | + http://127.0.0.1:9999/timeline/ | |
| 42 | + | |
| 43 | + | |
| 44 | + How do I customize Timeline? | |
| 45 | + ---------------------------- | |
| 46 | + | |
| 47 | + Refer to the Timeline web site at | |
| 48 | + http://code.google.com/p/simile-widgets/ | |
| 49 | + | |
| 50 | + | |
| 51 | + Mailing List and Forum | |
| 52 | + ---------------------- | |
| 53 | + | |
| 54 | + Join the community by joining the Google Group SIMILE Widgets | |
| 55 | + http://groups.google.com/group/simile-widgets/ | |
| 56 | + | |
| 57 | + | |
| 58 | + Licensing and legal issues | |
| 59 | + -------------------------- | |
| 60 | + | |
| 61 | + Timeline is open source software and are licensed under the BSD license | |
| 62 | + located in the LICENSE.txt file located in the same directory as this very file | |
| 63 | + you are reading. | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + Credits | |
| 68 | + ------- | |
| 69 | + | |
| 70 | + This software was created by the SIMILE project and originally written | |
| 71 | + by the SIMILE development team (in alphabetical order): | |
| 72 | + | |
| 73 | + - David François Huynh <dfhuynh at csail.mit.edu> | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + --- o --- | |
| 79 | + | |
| 80 | + | |
| 81 | + Thanks for your interest. | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + The SIMILE Project | |
| 87 | + http://simile.mit.edu/ | |
| 88 | + | ... | ... |
pacotes/simile/timeline_2.3.0/timeline_ajax/content/history.html
0 → 100644
pacotes/simile/timeline_2.3.0/timeline_ajax/images/bubble-arrow-point-down.png
0 → 100644
3.57 KB
pacotes/simile/timeline_2.3.0/timeline_ajax/images/bubble-arrow-point-left.png
0 → 100644
3.37 KB
pacotes/simile/timeline_2.3.0/timeline_ajax/images/bubble-arrow-point-right.png
0 → 100644
3.45 KB
pacotes/simile/timeline_2.3.0/timeline_ajax/images/bubble-arrow-point-up.png
0 → 100644
3.33 KB
pacotes/simile/timeline_2.3.0/timeline_ajax/images/bubble-bottom-left.png
0 → 100644
3.16 KB
pacotes/simile/timeline_2.3.0/timeline_ajax/images/bubble-bottom-right.png
0 → 100644
3.21 KB
3.05 KB
3.52 KB
3.54 KB
pacotes/simile/timeline_2.3.0/timeline_ajax/images/bubble-top-left.png
0 → 100644
3.04 KB
pacotes/simile/timeline_2.3.0/timeline_ajax/images/bubble-top-right.png
0 → 100644
3.17 KB
3.02 KB
624 Bytes
196 Bytes
pacotes/simile/timeline_2.3.0/timeline_ajax/images/message-bottom-left.png
0 → 100644
1.31 KB
pacotes/simile/timeline_2.3.0/timeline_ajax/images/message-bottom-right.png
0 → 100644
2.03 KB
717 Bytes
1.85 KB
pacotes/simile/timeline_2.3.0/timeline_ajax/images/message-top-left.png
0 → 100644
918 Bytes
pacotes/simile/timeline_2.3.0/timeline_ajax/images/message-top-right.png
0 → 100644
1.57 KB
pacotes/simile/timeline_2.3.0/timeline_ajax/scripts/signal.js
0 → 100644
| ... | ... | @@ -0,0 +1,43 @@ |
| 1 | +/*================================================== | |
| 2 | + * This file is used to detect that all outstanding | |
| 3 | + * javascript files have been loaded. You can put | |
| 4 | + * a function reference into SimileAjax_onLoad | |
| 5 | + * to have it executed once all javascript files | |
| 6 | + * have loaded. | |
| 7 | + *================================================== | |
| 8 | + */ | |
| 9 | +(function() { | |
| 10 | + var substring = SimileAjax.urlPrefix + "scripts/signal.js"; | |
| 11 | + var heads = document.documentElement.getElementsByTagName("head"); | |
| 12 | + for (var h = 0; h < heads.length; h++) { | |
| 13 | + var node = heads[h].firstChild; | |
| 14 | + while (node != null) { | |
| 15 | + if (node.nodeType == 1 && node.tagName.toLowerCase() == "script") { | |
| 16 | + var url = node.src; | |
| 17 | + var i = url.indexOf(substring); | |
| 18 | + if (i >= 0) { | |
| 19 | + heads[h].removeChild(node); // remove it so we won't hit it again | |
| 20 | + | |
| 21 | + var count = parseInt(url.substr(url.indexOf(substring) + substring.length + 1)); | |
| 22 | + SimileAjax.loadingScriptsCount -= count; | |
| 23 | + if (SimileAjax.loadingScriptsCount == 0) { | |
| 24 | + var f = null; | |
| 25 | + if (typeof SimileAjax_onLoad == "string") { | |
| 26 | + f = eval(SimileAjax_onLoad); | |
| 27 | + SimileAjax_onLoad = null; | |
| 28 | + } else if (typeof SimileAjax_onLoad == "function") { | |
| 29 | + f = SimileAjax_onLoad; | |
| 30 | + SimileAjax_onLoad = null; | |
| 31 | + } | |
| 32 | + | |
| 33 | + if (f != null) { | |
| 34 | + f(); | |
| 35 | + } | |
| 36 | + } | |
| 37 | + return; | |
| 38 | + } | |
| 39 | + } | |
| 40 | + node = node.nextSibling; | |
| 41 | + } | |
| 42 | + } | |
| 43 | +})(); | ... | ... |
pacotes/simile/timeline_2.3.0/timeline_ajax/simile-ajax-api.js
0 → 100644
| ... | ... | @@ -0,0 +1,212 @@ |
| 1 | +/*================================================== | |
| 2 | + * Simile Ajax API | |
| 3 | + * | |
| 4 | + * Include this file in your HTML file as follows: | |
| 5 | + * | |
| 6 | + * <script src="http://simile.mit.edu/ajax/api/simile-ajax-api.js" type="text/javascript"></script> | |
| 7 | + * | |
| 8 | + *================================================== | |
| 9 | + */ | |
| 10 | + | |
| 11 | +if (typeof SimileAjax == "undefined") { | |
| 12 | + var SimileAjax = { | |
| 13 | + loaded: false, | |
| 14 | + loadingScriptsCount: 0, | |
| 15 | + error: null, | |
| 16 | + params: { bundle:"true" } | |
| 17 | + }; | |
| 18 | + | |
| 19 | + SimileAjax.Platform = new Object(); | |
| 20 | + /* | |
| 21 | + HACK: We need these 2 things here because we cannot simply append | |
| 22 | + a <script> element containing code that accesses SimileAjax.Platform | |
| 23 | + to initialize it because IE executes that <script> code first | |
| 24 | + before it loads ajax.js and platform.js. | |
| 25 | + */ | |
| 26 | + | |
| 27 | + var getHead = function(doc) { | |
| 28 | + return doc.getElementsByTagName("head")[0]; | |
| 29 | + }; | |
| 30 | + | |
| 31 | + SimileAjax.findScript = function(doc, substring) { | |
| 32 | + var heads = doc.documentElement.getElementsByTagName("head"); | |
| 33 | + for (var h = 0; h < heads.length; h++) { | |
| 34 | + var node = heads[h].firstChild; | |
| 35 | + while (node != null) { | |
| 36 | + if (node.nodeType == 1 && node.tagName.toLowerCase() == "script") { | |
| 37 | + var url = node.src; | |
| 38 | + var i = url.indexOf(substring); | |
| 39 | + if (i >= 0) { | |
| 40 | + return url; | |
| 41 | + } | |
| 42 | + } | |
| 43 | + node = node.nextSibling; | |
| 44 | + } | |
| 45 | + } | |
| 46 | + return null; | |
| 47 | + }; | |
| 48 | + SimileAjax.includeJavascriptFile = function(doc, url, onerror, charset) { | |
| 49 | + onerror = onerror || ""; | |
| 50 | + if (doc.body == null) { | |
| 51 | + try { | |
| 52 | + var q = "'" + onerror.replace( /'/g, '&apos' ) + "'"; // " | |
| 53 | + doc.write("<script src='" + url + "' onerror="+ q + | |
| 54 | + (charset ? " charset='"+ charset +"'" : "") + | |
| 55 | + " type='text/javascript'>"+ onerror + "</script>"); | |
| 56 | + return; | |
| 57 | + } catch (e) { | |
| 58 | + // fall through | |
| 59 | + } | |
| 60 | + } | |
| 61 | + | |
| 62 | + var script = doc.createElement("script"); | |
| 63 | + if (onerror) { | |
| 64 | + try { script.innerHTML = onerror; } catch(e) {} | |
| 65 | + script.setAttribute("onerror", onerror); | |
| 66 | + } | |
| 67 | + if (charset) { | |
| 68 | + script.setAttribute("charset", charset); | |
| 69 | + } | |
| 70 | + script.type = "text/javascript"; | |
| 71 | + script.language = "JavaScript"; | |
| 72 | + script.src = url; | |
| 73 | + return getHead(doc).appendChild(script); | |
| 74 | + }; | |
| 75 | + SimileAjax.includeJavascriptFiles = function(doc, urlPrefix, filenames) { | |
| 76 | + for (var i = 0; i < filenames.length; i++) { | |
| 77 | + SimileAjax.includeJavascriptFile(doc, urlPrefix + filenames[i]); | |
| 78 | + } | |
| 79 | + SimileAjax.loadingScriptsCount += filenames.length; | |
| 80 | + SimileAjax.includeJavascriptFile(doc, SimileAjax.urlPrefix + "scripts/signal.js?" + filenames.length); | |
| 81 | + }; | |
| 82 | + SimileAjax.includeCssFile = function(doc, url) { | |
| 83 | + if (doc.body == null) { | |
| 84 | + try { | |
| 85 | + doc.write("<link rel='stylesheet' href='" + url + "' type='text/css'/>"); | |
| 86 | + return; | |
| 87 | + } catch (e) { | |
| 88 | + // fall through | |
| 89 | + } | |
| 90 | + } | |
| 91 | + | |
| 92 | + var link = doc.createElement("link"); | |
| 93 | + link.setAttribute("rel", "stylesheet"); | |
| 94 | + link.setAttribute("type", "text/css"); | |
| 95 | + link.setAttribute("href", url); | |
| 96 | + getHead(doc).appendChild(link); | |
| 97 | + }; | |
| 98 | + SimileAjax.includeCssFiles = function(doc, urlPrefix, filenames) { | |
| 99 | + for (var i = 0; i < filenames.length; i++) { | |
| 100 | + SimileAjax.includeCssFile(doc, urlPrefix + filenames[i]); | |
| 101 | + } | |
| 102 | + }; | |
| 103 | + | |
| 104 | + /** | |
| 105 | + * Append into urls each string in suffixes after prefixing it with urlPrefix. | |
| 106 | + * @param {Array} urls | |
| 107 | + * @param {String} urlPrefix | |
| 108 | + * @param {Array} suffixes | |
| 109 | + */ | |
| 110 | + SimileAjax.prefixURLs = function(urls, urlPrefix, suffixes) { | |
| 111 | + for (var i = 0; i < suffixes.length; i++) { | |
| 112 | + urls.push(urlPrefix + suffixes[i]); | |
| 113 | + } | |
| 114 | + }; | |
| 115 | + | |
| 116 | + /** | |
| 117 | + * Parse out the query parameters from a URL | |
| 118 | + * @param {String} url the url to parse, or location.href if undefined | |
| 119 | + * @param {Object} to optional object to extend with the parameters | |
| 120 | + * @param {Object} types optional object mapping keys to value types | |
| 121 | + * (String, Number, Boolean or Array, String by default) | |
| 122 | + * @return a key/value Object whose keys are the query parameter names | |
| 123 | + * @type Object | |
| 124 | + */ | |
| 125 | + SimileAjax.parseURLParameters = function(url, to, types) { | |
| 126 | + to = to || {}; | |
| 127 | + types = types || {}; | |
| 128 | + | |
| 129 | + if (typeof url == "undefined") { | |
| 130 | + url = location.href; | |
| 131 | + } | |
| 132 | + var q = url.indexOf("?"); | |
| 133 | + if (q < 0) { | |
| 134 | + return to; | |
| 135 | + } | |
| 136 | + url = (url+"#").slice(q+1, url.indexOf("#")); // toss the URL fragment | |
| 137 | + | |
| 138 | + var params = url.split("&"), param, parsed = {}; | |
| 139 | + var decode = window.decodeURIComponent || unescape; | |
| 140 | + for (var i = 0; param = params[i]; i++) { | |
| 141 | + var eq = param.indexOf("="); | |
| 142 | + var name = decode(param.slice(0,eq)); | |
| 143 | + var old = parsed[name]; | |
| 144 | + if (typeof old == "undefined") { | |
| 145 | + old = []; | |
| 146 | + } else if (!(old instanceof Array)) { | |
| 147 | + old = [old]; | |
| 148 | + } | |
| 149 | + parsed[name] = old.concat(decode(param.slice(eq+1))); | |
| 150 | + } | |
| 151 | + for (var i in parsed) { | |
| 152 | + if (!parsed.hasOwnProperty(i)) continue; | |
| 153 | + var type = types[i] || String; | |
| 154 | + var data = parsed[i]; | |
| 155 | + if (!(data instanceof Array)) { | |
| 156 | + data = [data]; | |
| 157 | + } | |
| 158 | + if (type === Boolean && data[0] == "false") { | |
| 159 | + to[i] = false; // because Boolean("false") === true | |
| 160 | + } else { | |
| 161 | + to[i] = type.apply(this, data); | |
| 162 | + } | |
| 163 | + } | |
| 164 | + return to; | |
| 165 | + }; | |
| 166 | + | |
| 167 | + (function() { | |
| 168 | + var javascriptFiles = [ | |
| 169 | + "jquery-1.2.6.min.js", | |
| 170 | + "platform.js", | |
| 171 | + "debug.js", | |
| 172 | + "xmlhttp.js", | |
| 173 | + "json.js", | |
| 174 | + "dom.js", | |
| 175 | + "graphics.js", | |
| 176 | + "date-time.js", | |
| 177 | + "string.js", | |
| 178 | + "html.js", | |
| 179 | + "data-structure.js", | |
| 180 | + "units.js", | |
| 181 | + | |
| 182 | + "ajax.js", | |
| 183 | + "history.js", | |
| 184 | + "window-manager.js" | |
| 185 | + ]; | |
| 186 | + var cssFiles = [ | |
| 187 | + "graphics.css" | |
| 188 | + ]; | |
| 189 | + | |
| 190 | + if (typeof SimileAjax_urlPrefix == "string") { | |
| 191 | + SimileAjax.urlPrefix = SimileAjax_urlPrefix; | |
| 192 | + } else { | |
| 193 | + var url = SimileAjax.findScript(document, "simile-ajax-api.js"); | |
| 194 | + if (url == null) { | |
| 195 | + SimileAjax.error = new Error("Failed to derive URL prefix for Simile Ajax API code files"); | |
| 196 | + return; | |
| 197 | + } | |
| 198 | + | |
| 199 | + SimileAjax.urlPrefix = url.substr(0, url.indexOf("simile-ajax-api.js")); | |
| 200 | + } | |
| 201 | + | |
| 202 | + SimileAjax.parseURLParameters(url, SimileAjax.params, {bundle:Boolean}); | |
| 203 | + if (SimileAjax.params.bundle) { | |
| 204 | + SimileAjax.includeJavascriptFiles(document, SimileAjax.urlPrefix, [ "simile-ajax-bundle.js" ]); | |
| 205 | + } else { | |
| 206 | + SimileAjax.includeJavascriptFiles(document, SimileAjax.urlPrefix + "scripts/", javascriptFiles); | |
| 207 | + } | |
| 208 | + SimileAjax.includeCssFiles(document, SimileAjax.urlPrefix + "styles/", cssFiles); | |
| 209 | + | |
| 210 | + SimileAjax.loaded = true; | |
| 211 | + })(); | |
| 212 | +} | ... | ... |
pacotes/simile/timeline_2.3.0/timeline_ajax/simile-ajax-bundle.js
0 → 100644
| ... | ... | @@ -0,0 +1,2623 @@ |
| 1 | + | |
| 2 | + | |
| 3 | +/* jquery-1.2.6.min.js */ | |
| 4 | +(function(){var _jQuery=window.jQuery,_$=window.$; | |
| 5 | +var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context); | |
| 6 | +}; | |
| 7 | +var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined; | |
| 8 | +jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document; | |
| 9 | +if(selector.nodeType){this[0]=selector; | |
| 10 | +this.length=1; | |
| 11 | +return this; | |
| 12 | +}if(typeof selector=="string"){var match=quickExpr.exec(selector); | |
| 13 | +if(match&&(match[1]||!context)){if(match[1]){selector=jQuery.clean([match[1]],context); | |
| 14 | +}else{var elem=document.getElementById(match[3]); | |
| 15 | +if(elem){if(elem.id!=match[3]){return jQuery().find(selector); | |
| 16 | +}return jQuery(elem); | |
| 17 | +}selector=[]; | |
| 18 | +}}else{return jQuery(context).find(selector); | |
| 19 | +}}else{if(jQuery.isFunction(selector)){return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector); | |
| 20 | +}}return this.setArray(jQuery.makeArray(selector)); | |
| 21 | +},jquery:"1.2.6",size:function(){return this.length; | |
| 22 | +},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num]; | |
| 23 | +},pushStack:function(elems){var ret=jQuery(elems); | |
| 24 | +ret.prevObject=this; | |
| 25 | +return ret; | |
| 26 | +},setArray:function(elems){this.length=0; | |
| 27 | +Array.prototype.push.apply(this,elems); | |
| 28 | +return this; | |
| 29 | +},each:function(callback,args){return jQuery.each(this,callback,args); | |
| 30 | +},index:function(elem){var ret=-1; | |
| 31 | +return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this); | |
| 32 | +},attr:function(name,value,type){var options=name; | |
| 33 | +if(name.constructor==String){if(value===undefined){return this[0]&&jQuery[type||"attr"](this[0],name); | |
| 34 | +}else{options={}; | |
| 35 | +options[name]=value; | |
| 36 | +}}return this.each(function(i){for(name in options){jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name)); | |
| 37 | +}}); | |
| 38 | +},css:function(key,value){if((key=="width"||key=="height")&&parseFloat(value)<0){value=undefined; | |
| 39 | +}return this.attr(key,value,"curCSS"); | |
| 40 | +},text:function(text){if(typeof text!="object"&&text!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text)); | |
| 41 | +}var ret=""; | |
| 42 | +jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8){ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]); | |
| 43 | +}}); | |
| 44 | +}); | |
| 45 | +return ret; | |
| 46 | +},wrapAll:function(html){if(this[0]){jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this; | |
| 47 | +while(elem.firstChild){elem=elem.firstChild; | |
| 48 | +}return elem; | |
| 49 | +}).append(this); | |
| 50 | +}return this; | |
| 51 | +},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html); | |
| 52 | +}); | |
| 53 | +},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html); | |
| 54 | +}); | |
| 55 | +},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1){this.appendChild(elem); | |
| 56 | +}}); | |
| 57 | +},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1){this.insertBefore(elem,this.firstChild); | |
| 58 | +}}); | |
| 59 | +},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this); | |
| 60 | +}); | |
| 61 | +},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling); | |
| 62 | +}); | |
| 63 | +},end:function(){return this.prevObject||jQuery([]); | |
| 64 | +},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem); | |
| 65 | +}); | |
| 66 | +return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems); | |
| 67 | +},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div"); | |
| 68 | +container.appendChild(clone); | |
| 69 | +return jQuery.clean([container.innerHTML])[0]; | |
| 70 | +}else{return this.cloneNode(true); | |
| 71 | +}}); | |
| 72 | +var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined){this[expando]=null; | |
| 73 | +}}); | |
| 74 | +if(events===true){this.find("*").andSelf().each(function(i){if(this.nodeType==3){return ; | |
| 75 | +}var events=jQuery.data(this,"events"); | |
| 76 | +for(var type in events){for(var handler in events[type]){jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data); | |
| 77 | +}}}); | |
| 78 | +}return ret; | |
| 79 | +},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i); | |
| 80 | +})||jQuery.multiFilter(selector,this)); | |
| 81 | +},not:function(selector){if(selector.constructor==String){if(isSimple.test(selector)){return this.pushStack(jQuery.multiFilter(selector,this,true)); | |
| 82 | +}else{selector=jQuery.multiFilter(selector,this); | |
| 83 | +}}var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType; | |
| 84 | +return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector; | |
| 85 | +}); | |
| 86 | +},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=="string"?jQuery(selector):jQuery.makeArray(selector)))); | |
| 87 | +},is:function(selector){return !!selector&&jQuery.multiFilter(selector,this).length>0; | |
| 88 | +},hasClass:function(selector){return this.is("."+selector); | |
| 89 | +},val:function(value){if(value==undefined){if(this.length){var elem=this[0]; | |
| 90 | +if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one"; | |
| 91 | +if(index<0){return null; | |
| 92 | +}for(var i=one?index:0,max=one?index+1:options.length; | |
| 93 | +i<max; | |
| 94 | +i++){var option=options[i]; | |
| 95 | +if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value; | |
| 96 | +if(one){return value; | |
| 97 | +}values.push(value); | |
| 98 | +}}return values; | |
| 99 | +}else{return(this[0].value||"").replace(/\r/g,""); | |
| 100 | +}}return undefined; | |
| 101 | +}if(value.constructor==Number){value+=""; | |
| 102 | +}return this.each(function(){if(this.nodeType!=1){return ; | |
| 103 | +}if(value.constructor==Array&&/radio|checkbox/.test(this.type)){this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0); | |
| 104 | +}else{if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value); | |
| 105 | +jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0); | |
| 106 | +}); | |
| 107 | +if(!values.length){this.selectedIndex=-1; | |
| 108 | +}}else{this.value=value; | |
| 109 | +}}}); | |
| 110 | +},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value); | |
| 111 | +},replaceWith:function(value){return this.after(value).remove(); | |
| 112 | +},eq:function(i){return this.slice(i,i+1); | |
| 113 | +},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments)); | |
| 114 | +},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem); | |
| 115 | +})); | |
| 116 | +},andSelf:function(){return this.add(this.prevObject); | |
| 117 | +},data:function(key,value){var parts=key.split("."); | |
| 118 | +parts[1]=parts[1]?"."+parts[1]:""; | |
| 119 | +if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]); | |
| 120 | +if(data===undefined&&this.length){data=jQuery.data(this[0],key); | |
| 121 | +}return data===undefined&&parts[1]?this.data(parts[0]):data; | |
| 122 | +}else{return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value); | |
| 123 | +}); | |
| 124 | +}},removeData:function(key){return this.each(function(){jQuery.removeData(this,key); | |
| 125 | +}); | |
| 126 | +},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems; | |
| 127 | +return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument); | |
| 128 | +if(reverse){elems.reverse(); | |
| 129 | +}}var obj=this; | |
| 130 | +if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr")){obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody")); | |
| 131 | +}var scripts=jQuery([]); | |
| 132 | +jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this; | |
| 133 | +if(jQuery.nodeName(elem,"script")){scripts=scripts.add(elem); | |
| 134 | +}else{if(elem.nodeType==1){scripts=scripts.add(jQuery("script",elem).remove()); | |
| 135 | +}callback.call(obj,elem); | |
| 136 | +}}); | |
| 137 | +scripts.each(evalScript); | |
| 138 | +}); | |
| 139 | +}}; | |
| 140 | +jQuery.fn.init.prototype=jQuery.fn; | |
| 141 | +function evalScript(i,elem){if(elem.src){jQuery.ajax({url:elem.src,async:false,dataType:"script"}); | |
| 142 | +}else{jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||""); | |
| 143 | +}if(elem.parentNode){elem.parentNode.removeChild(elem); | |
| 144 | +}}function now(){return +new Date; | |
| 145 | +}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options; | |
| 146 | +if(target.constructor==Boolean){deep=target; | |
| 147 | +target=arguments[1]||{}; | |
| 148 | +i=2; | |
| 149 | +}if(typeof target!="object"&&typeof target!="function"){target={}; | |
| 150 | +}if(length==i){target=this; | |
| 151 | +--i; | |
| 152 | +}for(; | |
| 153 | +i<length; | |
| 154 | +i++){if((options=arguments[i])!=null){for(var name in options){var src=target[name],copy=options[name]; | |
| 155 | +if(target===copy){continue; | |
| 156 | +}if(deep&©&&typeof copy=="object"&&!copy.nodeType){target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy); | |
| 157 | +}else{if(copy!==undefined){target[name]=copy; | |
| 158 | +}}}}}return target; | |
| 159 | +}; | |
| 160 | +var expando="jQuery"+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{}; | |
| 161 | +jQuery.extend({noConflict:function(deep){window.$=_$; | |
| 162 | +if(deep){window.jQuery=_jQuery; | |
| 163 | +}return jQuery; | |
| 164 | +},isFunction:function(fn){return !!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/^[\s[]?function/.test(fn+""); | |
| 165 | +},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body; | |
| 166 | +},globalEval:function(data){data=jQuery.trim(data); | |
| 167 | +if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script"); | |
| 168 | +script.type="text/javascript"; | |
| 169 | +if(jQuery.browser.msie){script.text=data; | |
| 170 | +}else{script.appendChild(document.createTextNode(data)); | |
| 171 | +}head.insertBefore(script,head.firstChild); | |
| 172 | +head.removeChild(script); | |
| 173 | +}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase(); | |
| 174 | +},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem; | |
| 175 | +var id=elem[expando]; | |
| 176 | +if(!id){id=elem[expando]=++uuid; | |
| 177 | +}if(name&&!jQuery.cache[id]){jQuery.cache[id]={}; | |
| 178 | +}if(data!==undefined){jQuery.cache[id][name]=data; | |
| 179 | +}return name?jQuery.cache[id][name]:id; | |
| 180 | +},removeData:function(elem,name){elem=elem==window?windowData:elem; | |
| 181 | +var id=elem[expando]; | |
| 182 | +if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name]; | |
| 183 | +name=""; | |
| 184 | +for(name in jQuery.cache[id]){break; | |
| 185 | +}if(!name){jQuery.removeData(elem); | |
| 186 | +}}}else{try{delete elem[expando]; | |
| 187 | +}catch(e){if(elem.removeAttribute){elem.removeAttribute(expando); | |
| 188 | +}}delete jQuery.cache[id]; | |
| 189 | +}},each:function(object,callback,args){var name,i=0,length=object.length; | |
| 190 | +if(args){if(length==undefined){for(name in object){if(callback.apply(object[name],args)===false){break; | |
| 191 | +}}}else{for(; | |
| 192 | +i<length; | |
| 193 | +){if(callback.apply(object[i++],args)===false){break; | |
| 194 | +}}}}else{if(length==undefined){for(name in object){if(callback.call(object[name],name,object[name])===false){break; | |
| 195 | +}}}else{for(var value=object[0]; | |
| 196 | +i<length&&callback.call(value,i,value)!==false; | |
| 197 | +value=object[++i]){}}}return object; | |
| 198 | +},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value)){value=value.call(elem,i); | |
| 199 | +}return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value; | |
| 200 | +},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className)){elem.className+=(elem.className?" ":"")+className; | |
| 201 | +}}); | |
| 202 | +},remove:function(elem,classNames){if(elem.nodeType==1){elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return !jQuery.className.has(classNames,className); | |
| 203 | +}).join(" "):""; | |
| 204 | +}},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1; | |
| 205 | +}},swap:function(elem,options,callback){var old={}; | |
| 206 | +for(var name in options){old[name]=elem.style[name]; | |
| 207 | +elem.style[name]=options[name]; | |
| 208 | +}callback.call(elem); | |
| 209 | +for(var name in options){elem.style[name]=old[name]; | |
| 210 | +}},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"]; | |
| 211 | +function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight; | |
| 212 | +var padding=0,border=0; | |
| 213 | +jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0; | |
| 214 | +border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0; | |
| 215 | +}); | |
| 216 | +val-=Math.round(padding+border); | |
| 217 | +}if(jQuery(elem).is(":visible")){getWH(); | |
| 218 | +}else{jQuery.swap(elem,props,getWH); | |
| 219 | +}return Math.max(0,val); | |
| 220 | +}return jQuery.curCSS(elem,name,force); | |
| 221 | +},curCSS:function(elem,name,force){var ret,style=elem.style; | |
| 222 | +function color(elem){if(!jQuery.browser.safari){return false; | |
| 223 | +}var ret=defaultView.getComputedStyle(elem,null); | |
| 224 | +return !ret||ret.getPropertyValue("color")==""; | |
| 225 | +}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity"); | |
| 226 | +return ret==""?"1":ret; | |
| 227 | +}if(jQuery.browser.opera&&name=="display"){var save=style.outline; | |
| 228 | +style.outline="0 solid black"; | |
| 229 | +style.outline=save; | |
| 230 | +}if(name.match(/float/i)){name=styleFloat; | |
| 231 | +}if(!force&&style&&style[name]){ret=style[name]; | |
| 232 | +}else{if(defaultView.getComputedStyle){if(name.match(/float/i)){name="float"; | |
| 233 | +}name=name.replace(/([A-Z])/g,"-$1").toLowerCase(); | |
| 234 | +var computedStyle=defaultView.getComputedStyle(elem,null); | |
| 235 | +if(computedStyle&&!color(elem)){ret=computedStyle.getPropertyValue(name); | |
| 236 | +}else{var swap=[],stack=[],a=elem,i=0; | |
| 237 | +for(; | |
| 238 | +a&&color(a); | |
| 239 | +a=a.parentNode){stack.unshift(a); | |
| 240 | +}for(; | |
| 241 | +i<stack.length; | |
| 242 | +i++){if(color(stack[i])){swap[i]=stack[i].style.display; | |
| 243 | +stack[i].style.display="block"; | |
| 244 | +}}ret=name=="display"&&swap[stack.length-1]!=null?"none":(computedStyle&&computedStyle.getPropertyValue(name))||""; | |
| 245 | +for(i=0; | |
| 246 | +i<swap.length; | |
| 247 | +i++){if(swap[i]!=null){stack[i].style.display=swap[i]; | |
| 248 | +}}}if(name=="opacity"&&ret==""){ret="1"; | |
| 249 | +}}else{if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase(); | |
| 250 | +}); | |
| 251 | +ret=elem.currentStyle[name]||elem.currentStyle[camelCase]; | |
| 252 | +if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left; | |
| 253 | +elem.runtimeStyle.left=elem.currentStyle.left; | |
| 254 | +style.left=ret||0; | |
| 255 | +ret=style.pixelLeft+"px"; | |
| 256 | +style.left=left; | |
| 257 | +elem.runtimeStyle.left=rsLeft; | |
| 258 | +}}}}return ret; | |
| 259 | +},clean:function(elems,context){var ret=[]; | |
| 260 | +context=context||document; | |
| 261 | +if(typeof context.createElement=="undefined"){context=context.ownerDocument||context[0]&&context[0].ownerDocument||document; | |
| 262 | +}jQuery.each(elems,function(i,elem){if(!elem){return ; | |
| 263 | +}if(elem.constructor==Number){elem+=""; | |
| 264 | +}if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">"; | |
| 265 | +}); | |
| 266 | +var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div"); | |
| 267 | +var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""]; | |
| 268 | +div.innerHTML=wrap[1]+elem+wrap[2]; | |
| 269 | +while(wrap[0]--){div=div.lastChild; | |
| 270 | +}if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[]; | |
| 271 | +for(var j=tbody.length-1; | |
| 272 | +j>=0; | |
| 273 | +--j){if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length){tbody[j].parentNode.removeChild(tbody[j]); | |
| 274 | +}}if(/^\s/.test(elem)){div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild); | |
| 275 | +}}elem=jQuery.makeArray(div.childNodes); | |
| 276 | +}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select"))){return ; | |
| 277 | +}if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options){ret.push(elem); | |
| 278 | +}else{ret=jQuery.merge(ret,elem); | |
| 279 | +}}); | |
| 280 | +return ret; | |
| 281 | +},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8){return undefined; | |
| 282 | +}var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie; | |
| 283 | +name=notxml&&jQuery.props[name]||name; | |
| 284 | +if(elem.tagName){var special=/href|src|style/.test(name); | |
| 285 | +if(name=="selected"&&jQuery.browser.safari){elem.parentNode.selectedIndex; | |
| 286 | +}if(name in elem&¬xml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode){throw"type property can't be changed"; | |
| 287 | +}elem[name]=value; | |
| 288 | +}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name)){return elem.getAttributeNode(name).nodeValue; | |
| 289 | +}return elem[name]; | |
| 290 | +}if(msie&¬xml&&name=="style"){return jQuery.attr(elem.style,"cssText",value); | |
| 291 | +}if(set){elem.setAttribute(name,""+value); | |
| 292 | +}var attr=msie&¬xml&&special?elem.getAttribute(name,2):elem.getAttribute(name); | |
| 293 | +return attr===null?undefined:attr; | |
| 294 | +}if(msie&&name=="opacity"){if(set){elem.zoom=1; | |
| 295 | +elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+""=="NaN"?"":"alpha(opacity="+value*100+")"); | |
| 296 | +}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+"":""; | |
| 297 | +}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase(); | |
| 298 | +}); | |
| 299 | +if(set){elem[name]=value; | |
| 300 | +}return elem[name]; | |
| 301 | +},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,""); | |
| 302 | +},makeArray:function(array){var ret=[]; | |
| 303 | +if(array!=null){var i=array.length; | |
| 304 | +if(i==null||array.split||array.setInterval||array.call){ret[0]=array; | |
| 305 | +}else{while(i){ret[--i]=array[i]; | |
| 306 | +}}}return ret; | |
| 307 | +},inArray:function(elem,array){for(var i=0,length=array.length; | |
| 308 | +i<length; | |
| 309 | +i++){if(array[i]===elem){return i; | |
| 310 | +}}return -1; | |
| 311 | +},merge:function(first,second){var i=0,elem,pos=first.length; | |
| 312 | +if(jQuery.browser.msie){while(elem=second[i++]){if(elem.nodeType!=8){first[pos++]=elem; | |
| 313 | +}}}else{while(elem=second[i++]){first[pos++]=elem; | |
| 314 | +}}return first; | |
| 315 | +},unique:function(array){var ret=[],done={}; | |
| 316 | +try{for(var i=0,length=array.length; | |
| 317 | +i<length; | |
| 318 | +i++){var id=jQuery.data(array[i]); | |
| 319 | +if(!done[id]){done[id]=true; | |
| 320 | +ret.push(array[i]); | |
| 321 | +}}}catch(e){ret=array; | |
| 322 | +}return ret; | |
| 323 | +},grep:function(elems,callback,inv){var ret=[]; | |
| 324 | +for(var i=0,length=elems.length; | |
| 325 | +i<length; | |
| 326 | +i++){if(!inv!=!callback(elems[i],i)){ret.push(elems[i]); | |
| 327 | +}}return ret; | |
| 328 | +},map:function(elems,callback){var ret=[]; | |
| 329 | +for(var i=0,length=elems.length; | |
| 330 | +i<length; | |
| 331 | +i++){var value=callback(elems[i],i); | |
| 332 | +if(value!=null){ret[ret.length]=value; | |
| 333 | +}}return ret.concat.apply([],ret); | |
| 334 | +}}); | |
| 335 | +var userAgent=navigator.userAgent.toLowerCase(); | |
| 336 | +jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)}; | |
| 337 | +var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat"; | |
| 338 | +jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}}); | |
| 339 | +jQuery.each({parent:function(elem){return elem.parentNode; | |
| 340 | +},parents:function(elem){return jQuery.dir(elem,"parentNode"); | |
| 341 | +},next:function(elem){return jQuery.nth(elem,2,"nextSibling"); | |
| 342 | +},prev:function(elem){return jQuery.nth(elem,2,"previousSibling"); | |
| 343 | +},nextAll:function(elem){return jQuery.dir(elem,"nextSibling"); | |
| 344 | +},prevAll:function(elem){return jQuery.dir(elem,"previousSibling"); | |
| 345 | +},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem); | |
| 346 | +},children:function(elem){return jQuery.sibling(elem.firstChild); | |
| 347 | +},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes); | |
| 348 | +}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn); | |
| 349 | +if(selector&&typeof selector=="string"){ret=jQuery.multiFilter(selector,ret); | |
| 350 | +}return this.pushStack(jQuery.unique(ret)); | |
| 351 | +}; | |
| 352 | +}); | |
| 353 | +jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments; | |
| 354 | +return this.each(function(){for(var i=0,length=args.length; | |
| 355 | +i<length; | |
| 356 | +i++){jQuery(args[i])[original](this); | |
| 357 | +}}); | |
| 358 | +}; | |
| 359 | +}); | |
| 360 | +jQuery.each({removeAttr:function(name){jQuery.attr(this,name,""); | |
| 361 | +if(this.nodeType==1){this.removeAttribute(name); | |
| 362 | +}},addClass:function(classNames){jQuery.className.add(this,classNames); | |
| 363 | +},removeClass:function(classNames){jQuery.className.remove(this,classNames); | |
| 364 | +},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames); | |
| 365 | +},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this); | |
| 366 | +jQuery.removeData(this); | |
| 367 | +}); | |
| 368 | +if(this.parentNode){this.parentNode.removeChild(this); | |
| 369 | +}}},empty:function(){jQuery(">*",this).remove(); | |
| 370 | +while(this.firstChild){this.removeChild(this.firstChild); | |
| 371 | +}}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments); | |
| 372 | +}; | |
| 373 | +}); | |
| 374 | +jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase(); | |
| 375 | +jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px"); | |
| 376 | +}; | |
| 377 | +}); | |
| 378 | +function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0; | |
| 379 | +}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)"); | |
| 380 | +jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]); | |
| 381 | +},"#":function(a,i,m){return a.getAttribute("id")==m[2]; | |
| 382 | +},":":{lt:function(a,i,m){return i<m[3]-0; | |
| 383 | +},gt:function(a,i,m){return i>m[3]-0; | |
| 384 | +},nth:function(a,i,m){return m[3]-0==i; | |
| 385 | +},eq:function(a,i,m){return m[3]-0==i; | |
| 386 | +},first:function(a,i){return i==0; | |
| 387 | +},last:function(a,i,m,r){return i==r.length-1; | |
| 388 | +},even:function(a,i){return i%2==0; | |
| 389 | +},odd:function(a,i){return i%2; | |
| 390 | +},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a; | |
| 391 | +},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a; | |
| 392 | +},"only-child":function(a){return !jQuery.nth(a.parentNode.lastChild,2,"previousSibling"); | |
| 393 | +},parent:function(a){return a.firstChild; | |
| 394 | +},empty:function(a){return !a.firstChild; | |
| 395 | +},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0; | |
| 396 | +},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden"; | |
| 397 | +},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden"; | |
| 398 | +},enabled:function(a){return !a.disabled; | |
| 399 | +},disabled:function(a){return a.disabled; | |
| 400 | +},checked:function(a){return a.checked; | |
| 401 | +},selected:function(a){return a.selected||jQuery.attr(a,"selected"); | |
| 402 | +},text:function(a){return"text"==a.type; | |
| 403 | +},radio:function(a){return"radio"==a.type; | |
| 404 | +},checkbox:function(a){return"checkbox"==a.type; | |
| 405 | +},file:function(a){return"file"==a.type; | |
| 406 | +},password:function(a){return"password"==a.type; | |
| 407 | +},submit:function(a){return"submit"==a.type; | |
| 408 | +},image:function(a){return"image"==a.type; | |
| 409 | +},reset:function(a){return"reset"==a.type; | |
| 410 | +},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button"); | |
| 411 | +},input:function(a){return/input|select|textarea|button/i.test(a.nodeName); | |
| 412 | +},has:function(a,i,m){return jQuery.find(m[3],a).length; | |
| 413 | +},header:function(a){return/h\d/i.test(a.nodeName); | |
| 414 | +},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem; | |
| 415 | +}).length; | |
| 416 | +}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[]; | |
| 417 | +while(expr&&expr!=old){old=expr; | |
| 418 | +var f=jQuery.filter(expr,elems,not); | |
| 419 | +expr=f.t.replace(/^\s*,\s*/,""); | |
| 420 | +cur=not?elems=f.r:jQuery.merge(cur,f.r); | |
| 421 | +}return cur; | |
| 422 | +},find:function(t,context){if(typeof t!="string"){return[t]; | |
| 423 | +}if(context&&context.nodeType!=1&&context.nodeType!=9){return[]; | |
| 424 | +}context=context||document; | |
| 425 | +var ret=[context],done=[],last,nodeName; | |
| 426 | +while(t&&last!=t){var r=[]; | |
| 427 | +last=t; | |
| 428 | +t=jQuery.trim(t); | |
| 429 | +var foundToken=false,re=quickChild,m=re.exec(t); | |
| 430 | +if(m){nodeName=m[1].toUpperCase(); | |
| 431 | +for(var i=0; | |
| 432 | +ret[i]; | |
| 433 | +i++){for(var c=ret[i].firstChild; | |
| 434 | +c; | |
| 435 | +c=c.nextSibling){if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName)){r.push(c); | |
| 436 | +}}}ret=r; | |
| 437 | +t=t.replace(re,""); | |
| 438 | +if(t.indexOf(" ")==0){continue; | |
| 439 | +}foundToken=true; | |
| 440 | +}else{re=/^([>+~])\s*(\w*)/i; | |
| 441 | +if((m=re.exec(t))!=null){r=[]; | |
| 442 | +var merge={}; | |
| 443 | +nodeName=m[2].toUpperCase(); | |
| 444 | +m=m[1]; | |
| 445 | +for(var j=0,rl=ret.length; | |
| 446 | +j<rl; | |
| 447 | +j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild; | |
| 448 | +for(; | |
| 449 | +n; | |
| 450 | +n=n.nextSibling){if(n.nodeType==1){var id=jQuery.data(n); | |
| 451 | +if(m=="~"&&merge[id]){break; | |
| 452 | +}if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~"){merge[id]=true; | |
| 453 | +}r.push(n); | |
| 454 | +}if(m=="+"){break; | |
| 455 | +}}}}ret=r; | |
| 456 | +t=jQuery.trim(t.replace(re,"")); | |
| 457 | +foundToken=true; | |
| 458 | +}}if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0]){ret.shift(); | |
| 459 | +}done=jQuery.merge(done,ret); | |
| 460 | +r=ret=[context]; | |
| 461 | +t=" "+t.substr(1,t.length); | |
| 462 | +}else{var re2=quickID; | |
| 463 | +var m=re2.exec(t); | |
| 464 | +if(m){m=[0,m[2],m[3],m[1]]; | |
| 465 | +}else{re2=quickClass; | |
| 466 | +m=re2.exec(t); | |
| 467 | +}m[2]=m[2].replace(/\\/g,""); | |
| 468 | +var elem=ret[ret.length-1]; | |
| 469 | +if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]); | |
| 470 | +if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2]){oid=jQuery('[@id="'+m[2]+'"]',elem)[0]; | |
| 471 | +}ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[]; | |
| 472 | +}else{for(var i=0; | |
| 473 | +ret[i]; | |
| 474 | +i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2]; | |
| 475 | +if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object"){tag="param"; | |
| 476 | +}r=jQuery.merge(r,ret[i].getElementsByTagName(tag)); | |
| 477 | +}if(m[1]=="."){r=jQuery.classFilter(r,m[2]); | |
| 478 | +}if(m[1]=="#"){var tmp=[]; | |
| 479 | +for(var i=0; | |
| 480 | +r[i]; | |
| 481 | +i++){if(r[i].getAttribute("id")==m[2]){tmp=[r[i]]; | |
| 482 | +break; | |
| 483 | +}}r=tmp; | |
| 484 | +}ret=r; | |
| 485 | +}t=t.replace(re2,""); | |
| 486 | +}}if(t){var val=jQuery.filter(t,r); | |
| 487 | +ret=r=val.r; | |
| 488 | +t=jQuery.trim(val.t); | |
| 489 | +}}if(t){ret=[]; | |
| 490 | +}if(ret&&context==ret[0]){ret.shift(); | |
| 491 | +}done=jQuery.merge(done,ret); | |
| 492 | +return done; | |
| 493 | +},classFilter:function(r,m,not){m=" "+m+" "; | |
| 494 | +var tmp=[]; | |
| 495 | +for(var i=0; | |
| 496 | +r[i]; | |
| 497 | +i++){var pass=(" "+r[i].className+" ").indexOf(m)>=0; | |
| 498 | +if(!not&&pass||not&&!pass){tmp.push(r[i]); | |
| 499 | +}}return tmp; | |
| 500 | +},filter:function(t,r,not){var last; | |
| 501 | +while(t&&t!=last){last=t; | |
| 502 | +var p=jQuery.parse,m; | |
| 503 | +for(var i=0; | |
| 504 | +p[i]; | |
| 505 | +i++){m=p[i].exec(t); | |
| 506 | +if(m){t=t.substring(m[0].length); | |
| 507 | +m[2]=m[2].replace(/\\/g,""); | |
| 508 | +break; | |
| 509 | +}}if(!m){break; | |
| 510 | +}if(m[1]==":"&&m[2]=="not"){r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]); | |
| 511 | +}else{if(m[1]=="."){r=jQuery.classFilter(r,m[2],not); | |
| 512 | +}else{if(m[1]=="["){var tmp=[],type=m[3]; | |
| 513 | +for(var i=0,rl=r.length; | |
| 514 | +i<rl; | |
| 515 | +i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]]; | |
| 516 | +if(z==null||/href|src|selected/.test(m[2])){z=jQuery.attr(a,m[2])||""; | |
| 517 | +}if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not){tmp.push(a); | |
| 518 | +}}r=tmp; | |
| 519 | +}else{if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0; | |
| 520 | +for(var i=0,rl=r.length; | |
| 521 | +i<rl; | |
| 522 | +i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode); | |
| 523 | +if(!merge[id]){var c=1; | |
| 524 | +for(var n=parentNode.firstChild; | |
| 525 | +n; | |
| 526 | +n=n.nextSibling){if(n.nodeType==1){n.nodeIndex=c++; | |
| 527 | +}}merge[id]=true; | |
| 528 | +}var add=false; | |
| 529 | +if(first==0){if(node.nodeIndex==last){add=true; | |
| 530 | +}}else{if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0){add=true; | |
| 531 | +}}if(add^not){tmp.push(node); | |
| 532 | +}}r=tmp; | |
| 533 | +}else{var fn=jQuery.expr[m[1]]; | |
| 534 | +if(typeof fn=="object"){fn=fn[m[2]]; | |
| 535 | +}if(typeof fn=="string"){fn=eval("false||function(a,i){return "+fn+";}"); | |
| 536 | +}r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r); | |
| 537 | +},not); | |
| 538 | +}}}}}return{r:r,t:t}; | |
| 539 | +},dir:function(elem,dir){var matched=[],cur=elem[dir]; | |
| 540 | +while(cur&&cur!=document){if(cur.nodeType==1){matched.push(cur); | |
| 541 | +}cur=cur[dir]; | |
| 542 | +}return matched; | |
| 543 | +},nth:function(cur,result,dir,elem){result=result||1; | |
| 544 | +var num=0; | |
| 545 | +for(; | |
| 546 | +cur; | |
| 547 | +cur=cur[dir]){if(cur.nodeType==1&&++num==result){break; | |
| 548 | +}}return cur; | |
| 549 | +},sibling:function(n,elem){var r=[]; | |
| 550 | +for(; | |
| 551 | +n; | |
| 552 | +n=n.nextSibling){if(n.nodeType==1&&n!=elem){r.push(n); | |
| 553 | +}}return r; | |
| 554 | +}}); | |
| 555 | +jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8){return ; | |
| 556 | +}if(jQuery.browser.msie&&elem.setInterval){elem=window; | |
| 557 | +}if(!handler.guid){handler.guid=this.guid++; | |
| 558 | +}if(data!=undefined){var fn=handler; | |
| 559 | +handler=this.proxy(fn,function(){return fn.apply(this,arguments); | |
| 560 | +}); | |
| 561 | +handler.data=data; | |
| 562 | +}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered){return jQuery.event.handle.apply(arguments.callee.elem,arguments); | |
| 563 | +}}); | |
| 564 | +handle.elem=elem; | |
| 565 | +jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split("."); | |
| 566 | +type=parts[0]; | |
| 567 | +handler.type=parts[1]; | |
| 568 | +var handlers=events[type]; | |
| 569 | +if(!handlers){handlers=events[type]={}; | |
| 570 | +if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener){elem.addEventListener(type,handle,false); | |
| 571 | +}else{if(elem.attachEvent){elem.attachEvent("on"+type,handle); | |
| 572 | +}}}}handlers[handler.guid]=handler; | |
| 573 | +jQuery.event.global[type]=true; | |
| 574 | +}); | |
| 575 | +elem=null; | |
| 576 | +},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8){return ; | |
| 577 | +}var events=jQuery.data(elem,"events"),ret,index; | |
| 578 | +if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)==".")){for(var type in events){this.remove(elem,type+(types||"")); | |
| 579 | +}}else{if(types.type){handler=types.handler; | |
| 580 | +types=types.type; | |
| 581 | +}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split("."); | |
| 582 | +type=parts[0]; | |
| 583 | +if(events[type]){if(handler){delete events[type][handler.guid]; | |
| 584 | +}else{for(handler in events[type]){if(!parts[1]||events[type][handler].type==parts[1]){delete events[type][handler]; | |
| 585 | +}}}for(ret in events[type]){break; | |
| 586 | +}if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener){elem.removeEventListener(type,jQuery.data(elem,"handle"),false); | |
| 587 | +}else{if(elem.detachEvent){elem.detachEvent("on"+type,jQuery.data(elem,"handle")); | |
| 588 | +}}}ret=null; | |
| 589 | +delete events[type]; | |
| 590 | +}}}); | |
| 591 | +}for(ret in events){break; | |
| 592 | +}if(!ret){var handle=jQuery.data(elem,"handle"); | |
| 593 | +if(handle){handle.elem=null; | |
| 594 | +}jQuery.removeData(elem,"events"); | |
| 595 | +jQuery.removeData(elem,"handle"); | |
| 596 | +}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data); | |
| 597 | +if(type.indexOf("!")>=0){type=type.slice(0,-1); | |
| 598 | +var exclusive=true; | |
| 599 | +}if(!elem){if(this.global[type]){jQuery("*").add([window,document]).trigger(type,data); | |
| 600 | +}}else{if(elem.nodeType==3||elem.nodeType==8){return undefined; | |
| 601 | +}var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault; | |
| 602 | +if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()}); | |
| 603 | +data[0][expando]=true; | |
| 604 | +}data[0].type=type; | |
| 605 | +if(exclusive){data[0].exclusive=true; | |
| 606 | +}var handle=jQuery.data(elem,"handle"); | |
| 607 | +if(handle){val=handle.apply(elem,data); | |
| 608 | +}if((!fn||(jQuery.nodeName(elem,"a")&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false){val=false; | |
| 609 | +}if(event){data.shift(); | |
| 610 | +}if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val)); | |
| 611 | +if(ret!==undefined){val=ret; | |
| 612 | +}}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,"a")&&type=="click")){this.triggered=true; | |
| 613 | +try{elem[type](); | |
| 614 | +}catch(e){}}this.triggered=false; | |
| 615 | +}return val; | |
| 616 | +},handle:function(event){var val,ret,namespace,all,handlers; | |
| 617 | +event=arguments[0]=jQuery.event.fix(event||window.event); | |
| 618 | +namespace=event.type.split("."); | |
| 619 | +event.type=namespace[0]; | |
| 620 | +namespace=namespace[1]; | |
| 621 | +all=!namespace&&!event.exclusive; | |
| 622 | +handlers=(jQuery.data(this,"events")||{})[event.type]; | |
| 623 | +for(var j in handlers){var handler=handlers[j]; | |
| 624 | +if(all||handler.type==namespace){event.handler=handler; | |
| 625 | +event.data=handler.data; | |
| 626 | +ret=handler.apply(this,arguments); | |
| 627 | +if(val!==false){val=ret; | |
| 628 | +}if(ret===false){event.preventDefault(); | |
| 629 | +event.stopPropagation(); | |
| 630 | +}}}return val; | |
| 631 | +},fix:function(event){if(event[expando]==true){return event; | |
| 632 | +}var originalEvent=event; | |
| 633 | +event={originalEvent:originalEvent}; | |
| 634 | +var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" "); | |
| 635 | +for(var i=props.length; | |
| 636 | +i; | |
| 637 | +i--){event[props[i]]=originalEvent[props[i]]; | |
| 638 | +}event[expando]=true; | |
| 639 | +event.preventDefault=function(){if(originalEvent.preventDefault){originalEvent.preventDefault(); | |
| 640 | +}originalEvent.returnValue=false; | |
| 641 | +}; | |
| 642 | +event.stopPropagation=function(){if(originalEvent.stopPropagation){originalEvent.stopPropagation(); | |
| 643 | +}originalEvent.cancelBubble=true; | |
| 644 | +}; | |
| 645 | +event.timeStamp=event.timeStamp||now(); | |
| 646 | +if(!event.target){event.target=event.srcElement||document; | |
| 647 | +}if(event.target.nodeType==3){event.target=event.target.parentNode; | |
| 648 | +}if(!event.relatedTarget&&event.fromElement){event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement; | |
| 649 | +}if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body; | |
| 650 | +event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0); | |
| 651 | +event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0); | |
| 652 | +}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode)){event.which=event.charCode||event.keyCode; | |
| 653 | +}if(!event.metaKey&&event.ctrlKey){event.metaKey=event.ctrlKey; | |
| 654 | +}if(!event.which&&event.button){event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0))); | |
| 655 | +}return event; | |
| 656 | +},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++; | |
| 657 | +return proxy; | |
| 658 | +},special:{ready:{setup:function(){bindReady(); | |
| 659 | +return ; | |
| 660 | +},teardown:function(){return ; | |
| 661 | +}},mouseenter:{setup:function(){if(jQuery.browser.msie){return false; | |
| 662 | +}jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler); | |
| 663 | +return true; | |
| 664 | +},teardown:function(){if(jQuery.browser.msie){return false; | |
| 665 | +}jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler); | |
| 666 | +return true; | |
| 667 | +},handler:function(event){if(withinElement(event,this)){return true; | |
| 668 | +}event.type="mouseenter"; | |
| 669 | +return jQuery.event.handle.apply(this,arguments); | |
| 670 | +}},mouseleave:{setup:function(){if(jQuery.browser.msie){return false; | |
| 671 | +}jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler); | |
| 672 | +return true; | |
| 673 | +},teardown:function(){if(jQuery.browser.msie){return false; | |
| 674 | +}jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler); | |
| 675 | +return true; | |
| 676 | +},handler:function(event){if(withinElement(event,this)){return true; | |
| 677 | +}event.type="mouseleave"; | |
| 678 | +return jQuery.event.handle.apply(this,arguments); | |
| 679 | +}}}}; | |
| 680 | +jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data); | |
| 681 | +}); | |
| 682 | +},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one); | |
| 683 | +return(fn||data).apply(this,arguments); | |
| 684 | +}); | |
| 685 | +return this.each(function(){jQuery.event.add(this,type,one,fn&&data); | |
| 686 | +}); | |
| 687 | +},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn); | |
| 688 | +}); | |
| 689 | +},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn); | |
| 690 | +}); | |
| 691 | +},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn); | |
| 692 | +},toggle:function(fn){var args=arguments,i=1; | |
| 693 | +while(i<args.length){jQuery.event.proxy(fn,args[i++]); | |
| 694 | +}return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i; | |
| 695 | +event.preventDefault(); | |
| 696 | +return args[this.lastToggle++].apply(this,arguments)||false; | |
| 697 | +})); | |
| 698 | +},hover:function(fnOver,fnOut){return this.bind("mouseenter",fnOver).bind("mouseleave",fnOut); | |
| 699 | +},ready:function(fn){bindReady(); | |
| 700 | +if(jQuery.isReady){fn.call(document,jQuery); | |
| 701 | +}else{jQuery.readyList.push(function(){return fn.call(this,jQuery); | |
| 702 | +}); | |
| 703 | +}return this; | |
| 704 | +}}); | |
| 705 | +jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true; | |
| 706 | +if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document); | |
| 707 | +}); | |
| 708 | +jQuery.readyList=null; | |
| 709 | +}jQuery(document).triggerHandler("ready"); | |
| 710 | +}}}); | |
| 711 | +var readyBound=false; | |
| 712 | +function bindReady(){if(readyBound){return ; | |
| 713 | +}readyBound=true; | |
| 714 | +if(document.addEventListener&&!jQuery.browser.opera){document.addEventListener("DOMContentLoaded",jQuery.ready,false); | |
| 715 | +}if(jQuery.browser.msie&&window==top){(function(){if(jQuery.isReady){return ; | |
| 716 | +}try{document.documentElement.doScroll("left"); | |
| 717 | +}catch(error){setTimeout(arguments.callee,0); | |
| 718 | +return ; | |
| 719 | +}jQuery.ready(); | |
| 720 | +})(); | |
| 721 | +}if(jQuery.browser.opera){document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady){return ; | |
| 722 | +}for(var i=0; | |
| 723 | +i<document.styleSheets.length; | |
| 724 | +i++){if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0); | |
| 725 | +return ; | |
| 726 | +}}jQuery.ready(); | |
| 727 | +},false); | |
| 728 | +}if(jQuery.browser.safari){var numStyles; | |
| 729 | +(function(){if(jQuery.isReady){return ; | |
| 730 | +}if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0); | |
| 731 | +return ; | |
| 732 | +}if(numStyles===undefined){numStyles=jQuery("style, link[rel=stylesheet]").length; | |
| 733 | +}if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0); | |
| 734 | +return ; | |
| 735 | +}jQuery.ready(); | |
| 736 | +})(); | |
| 737 | +}jQuery.event.add(window,"load",jQuery.ready); | |
| 738 | +}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,change,select,submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name); | |
| 739 | +}; | |
| 740 | +}); | |
| 741 | +var withinElement=function(event,elem){var parent=event.relatedTarget; | |
| 742 | +while(parent&&parent!=elem){try{parent=parent.parentNode; | |
| 743 | +}catch(error){parent=elem; | |
| 744 | +}}return parent==elem; | |
| 745 | +}; | |
| 746 | +jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind(); | |
| 747 | +}); | |
| 748 | +jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!="string"){return this._load(url); | |
| 749 | +}var off=url.indexOf(" "); | |
| 750 | +if(off>=0){var selector=url.slice(off,url.length); | |
| 751 | +url=url.slice(0,off); | |
| 752 | +}callback=callback||function(){}; | |
| 753 | +var type="GET"; | |
| 754 | +if(params){if(jQuery.isFunction(params)){callback=params; | |
| 755 | +params=null; | |
| 756 | +}else{params=jQuery.param(params); | |
| 757 | +type="POST"; | |
| 758 | +}}var self=this; | |
| 759 | +jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified"){self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText); | |
| 760 | +}self.each(callback,[res.responseText,status,res]); | |
| 761 | +}}); | |
| 762 | +return this; | |
| 763 | +},serialize:function(){return jQuery.param(this.serializeArray()); | |
| 764 | +},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this; | |
| 765 | +}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type)); | |
| 766 | +}).map(function(i,elem){var val=jQuery(this).val(); | |
| 767 | +return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val}; | |
| 768 | +}):{name:elem.name,value:val}; | |
| 769 | +}).get(); | |
| 770 | +}}); | |
| 771 | +jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f); | |
| 772 | +}; | |
| 773 | +}); | |
| 774 | +var jsc=now(); | |
| 775 | +jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data; | |
| 776 | +data=null; | |
| 777 | +}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type}); | |
| 778 | +},getScript:function(url,callback){return jQuery.get(url,null,callback,"script"); | |
| 779 | +},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json"); | |
| 780 | +},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data; | |
| 781 | +data={}; | |
| 782 | +}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type}); | |
| 783 | +},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings); | |
| 784 | +},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s)); | |
| 785 | +var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase(); | |
| 786 | +if(s.data&&s.processData&&typeof s.data!="string"){s.data=jQuery.param(s.data); | |
| 787 | +}if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre)){s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?"; | |
| 788 | +}}else{if(!s.data||!s.data.match(jsre)){s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?"; | |
| 789 | +}}s.dataType="json"; | |
| 790 | +}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++; | |
| 791 | +if(s.data){s.data=(s.data+"").replace(jsre,"="+jsonp+"$1"); | |
| 792 | +}s.url=s.url.replace(jsre,"="+jsonp+"$1"); | |
| 793 | +s.dataType="script"; | |
| 794 | +window[jsonp]=function(tmp){data=tmp; | |
| 795 | +success(); | |
| 796 | +complete(); | |
| 797 | +window[jsonp]=undefined; | |
| 798 | +try{delete window[jsonp]; | |
| 799 | +}catch(e){}if(head){head.removeChild(script); | |
| 800 | +}}; | |
| 801 | +}if(s.dataType=="script"&&s.cache==null){s.cache=false; | |
| 802 | +}if(s.cache===false&&type=="GET"){var ts=now(); | |
| 803 | +var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2"); | |
| 804 | +s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:""); | |
| 805 | +}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data; | |
| 806 | +s.data=null; | |
| 807 | +}if(s.global&&!jQuery.active++){jQuery.event.trigger("ajaxStart"); | |
| 808 | +}var remote=/^(?:\w+:)?\/\/([^\/?#]+)/; | |
| 809 | +if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0]; | |
| 810 | +var script=document.createElement("script"); | |
| 811 | +script.src=s.url; | |
| 812 | +if(s.scriptCharset){script.charset=s.scriptCharset; | |
| 813 | +}if(!jsonp){var done=false; | |
| 814 | +script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true; | |
| 815 | +success(); | |
| 816 | +complete(); | |
| 817 | +head.removeChild(script); | |
| 818 | +}}; | |
| 819 | +}head.appendChild(script); | |
| 820 | +return undefined; | |
| 821 | +}var requestDone=false; | |
| 822 | +var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest(); | |
| 823 | +if(s.username){xhr.open(type,s.url,s.async,s.username,s.password); | |
| 824 | +}else{xhr.open(type,s.url,s.async); | |
| 825 | +}try{if(s.data){xhr.setRequestHeader("Content-Type",s.contentType); | |
| 826 | +}if(s.ifModified){xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT"); | |
| 827 | +}xhr.setRequestHeader("X-Requested-With","XMLHttpRequest"); | |
| 828 | +xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default); | |
| 829 | +}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--; | |
| 830 | +xhr.abort(); | |
| 831 | +return false; | |
| 832 | +}if(s.global){jQuery.event.trigger("ajaxSend",[xhr,s]); | |
| 833 | +}var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true; | |
| 834 | +if(ival){clearInterval(ival); | |
| 835 | +ival=null; | |
| 836 | +}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success"; | |
| 837 | +if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter); | |
| 838 | +}catch(e){status="parsererror"; | |
| 839 | +}}if(status=="success"){var modRes; | |
| 840 | +try{modRes=xhr.getResponseHeader("Last-Modified"); | |
| 841 | +}catch(e){}if(s.ifModified&&modRes){jQuery.lastModified[s.url]=modRes; | |
| 842 | +}if(!jsonp){success(); | |
| 843 | +}}else{jQuery.handleError(s,xhr,status); | |
| 844 | +}complete(); | |
| 845 | +if(s.async){xhr=null; | |
| 846 | +}}}; | |
| 847 | +if(s.async){var ival=setInterval(onreadystatechange,13); | |
| 848 | +if(s.timeout>0){setTimeout(function(){if(xhr){xhr.abort(); | |
| 849 | +if(!requestDone){onreadystatechange("timeout"); | |
| 850 | +}}},s.timeout); | |
| 851 | +}}try{xhr.send(s.data); | |
| 852 | +}catch(e){jQuery.handleError(s,xhr,null,e); | |
| 853 | +}if(!s.async){onreadystatechange(); | |
| 854 | +}function success(){if(s.success){s.success(data,status); | |
| 855 | +}if(s.global){jQuery.event.trigger("ajaxSuccess",[xhr,s]); | |
| 856 | +}}function complete(){if(s.complete){s.complete(xhr,status); | |
| 857 | +}if(s.global){jQuery.event.trigger("ajaxComplete",[xhr,s]); | |
| 858 | +}if(s.global&&!--jQuery.active){jQuery.event.trigger("ajaxStop"); | |
| 859 | +}}return xhr; | |
| 860 | +},handleError:function(s,xhr,status,e){if(s.error){s.error(xhr,status,e); | |
| 861 | +}if(s.global){jQuery.event.trigger("ajaxError",[xhr,s,e]); | |
| 862 | +}},active:0,httpSuccess:function(xhr){try{return !xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined; | |
| 863 | +}catch(e){}return false; | |
| 864 | +},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified"); | |
| 865 | +return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined; | |
| 866 | +}catch(e){}return false; | |
| 867 | +},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText; | |
| 868 | +if(xml&&data.documentElement.tagName=="parsererror"){throw"parsererror"; | |
| 869 | +}if(filter){data=filter(data,type); | |
| 870 | +}if(type=="script"){jQuery.globalEval(data); | |
| 871 | +}if(type=="json"){data=eval("("+data+")"); | |
| 872 | +}return data; | |
| 873 | +},param:function(a){var s=[]; | |
| 874 | +if(a.constructor==Array||a.jquery){jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value)); | |
| 875 | +}); | |
| 876 | +}else{for(var j in a){if(a[j]&&a[j].constructor==Array){jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this)); | |
| 877 | +}); | |
| 878 | +}else{s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j])); | |
| 879 | +}}}return s.join("&").replace(/%20/g,"+"); | |
| 880 | +}}); | |
| 881 | +jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||""; | |
| 882 | +if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body"); | |
| 883 | +this.style.display=elem.css("display"); | |
| 884 | +if(this.style.display=="none"){this.style.display="block"; | |
| 885 | +}elem.remove(); | |
| 886 | +}}).end(); | |
| 887 | +},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display"); | |
| 888 | +this.style.display="none"; | |
| 889 | +}).end(); | |
| 890 | +},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"](); | |
| 891 | +}); | |
| 892 | +},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback); | |
| 893 | +},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback); | |
| 894 | +},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback); | |
| 895 | +},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback); | |
| 896 | +},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback); | |
| 897 | +},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback); | |
| 898 | +},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback); | |
| 899 | +return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1){return false; | |
| 900 | +}var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this; | |
| 901 | +for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden){return opt.complete.call(this); | |
| 902 | +}if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display"); | |
| 903 | +opt.overflow=this.style.overflow; | |
| 904 | +}}if(opt.overflow!=null){this.style.overflow="hidden"; | |
| 905 | +}opt.curAnim=jQuery.extend({},prop); | |
| 906 | +jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name); | |
| 907 | +if(/toggle|show|hide/.test(val)){e[val=="toggle"?hidden?"show":"hide":val](prop); | |
| 908 | +}else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0; | |
| 909 | +if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px"; | |
| 910 | +if(unit!="px"){self.style[name]=(end||1)+unit; | |
| 911 | +start=((end||1)/e.cur(true))*start; | |
| 912 | +self.style[name]=start+unit; | |
| 913 | +}if(parts[1]){end=((parts[1]=="-="?-1:1)*end)+start; | |
| 914 | +}e.custom(start,end,unit); | |
| 915 | +}else{e.custom(start,val,""); | |
| 916 | +}}}); | |
| 917 | +return true; | |
| 918 | +}); | |
| 919 | +},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type; | |
| 920 | +type="fx"; | |
| 921 | +}if(!type||(typeof type=="string"&&!fn)){return queue(this[0],type); | |
| 922 | +}return this.each(function(){if(fn.constructor==Array){queue(this,type,fn); | |
| 923 | +}else{queue(this,type).push(fn); | |
| 924 | +if(queue(this,type).length==1){fn.call(this); | |
| 925 | +}}}); | |
| 926 | +},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers; | |
| 927 | +if(clearQueue){this.queue([]); | |
| 928 | +}this.each(function(){for(var i=timers.length-1; | |
| 929 | +i>=0; | |
| 930 | +i--){if(timers[i].elem==this){if(gotoEnd){timers[i](true); | |
| 931 | +}timers.splice(i,1); | |
| 932 | +}}}); | |
| 933 | +if(!gotoEnd){this.dequeue(); | |
| 934 | +}return this; | |
| 935 | +}}); | |
| 936 | +var queue=function(elem,type,array){if(elem){type=type||"fx"; | |
| 937 | +var q=jQuery.data(elem,type+"queue"); | |
| 938 | +if(!q||array){q=jQuery.data(elem,type+"queue",jQuery.makeArray(array)); | |
| 939 | +}}return q; | |
| 940 | +}; | |
| 941 | +jQuery.fn.dequeue=function(type){type=type||"fx"; | |
| 942 | +return this.each(function(){var q=queue(this,type); | |
| 943 | +q.shift(); | |
| 944 | +if(q.length){q[0].call(this); | |
| 945 | +}}); | |
| 946 | +}; | |
| 947 | +jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing}; | |
| 948 | +opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def; | |
| 949 | +opt.old=opt.complete; | |
| 950 | +opt.complete=function(){if(opt.queue!==false){jQuery(this).dequeue(); | |
| 951 | +}if(jQuery.isFunction(opt.old)){opt.old.call(this); | |
| 952 | +}}; | |
| 953 | +return opt; | |
| 954 | +},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p; | |
| 955 | +},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum; | |
| 956 | +}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options; | |
| 957 | +this.elem=elem; | |
| 958 | +this.prop=prop; | |
| 959 | +if(!options.orig){options.orig={}; | |
| 960 | +}}}); | |
| 961 | +jQuery.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this); | |
| 962 | +}(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this); | |
| 963 | +if(this.prop=="height"||this.prop=="width"){this.elem.style.display="block"; | |
| 964 | +}},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null){return this.elem[this.prop]; | |
| 965 | +}var r=parseFloat(jQuery.css(this.elem,this.prop,force)); | |
| 966 | +return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0; | |
| 967 | +},custom:function(from,to,unit){this.startTime=now(); | |
| 968 | +this.start=from; | |
| 969 | +this.end=to; | |
| 970 | +this.unit=unit||this.unit||"px"; | |
| 971 | +this.now=this.start; | |
| 972 | +this.pos=this.state=0; | |
| 973 | +this.update(); | |
| 974 | +var self=this; | |
| 975 | +function t(gotoEnd){return self.step(gotoEnd); | |
| 976 | +}t.elem=this.elem; | |
| 977 | +jQuery.timers.push(t); | |
| 978 | +if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers; | |
| 979 | +for(var i=0; | |
| 980 | +i<timers.length; | |
| 981 | +i++){if(!timers[i]()){timers.splice(i--,1); | |
| 982 | +}}if(!timers.length){clearInterval(jQuery.timerId); | |
| 983 | +jQuery.timerId=null; | |
| 984 | +}},13); | |
| 985 | +}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop); | |
| 986 | +this.options.show=true; | |
| 987 | +this.custom(0,this.cur()); | |
| 988 | +if(this.prop=="width"||this.prop=="height"){this.elem.style[this.prop]="1px"; | |
| 989 | +}jQuery(this.elem).show(); | |
| 990 | +},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop); | |
| 991 | +this.options.hide=true; | |
| 992 | +this.custom(this.cur(),0); | |
| 993 | +},step:function(gotoEnd){var t=now(); | |
| 994 | +if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end; | |
| 995 | +this.pos=this.state=1; | |
| 996 | +this.update(); | |
| 997 | +this.options.curAnim[this.prop]=true; | |
| 998 | +var done=true; | |
| 999 | +for(var i in this.options.curAnim){if(this.options.curAnim[i]!==true){done=false; | |
| 1000 | +}}if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow; | |
| 1001 | +this.elem.style.display=this.options.display; | |
| 1002 | +if(jQuery.css(this.elem,"display")=="none"){this.elem.style.display="block"; | |
| 1003 | +}}if(this.options.hide){this.elem.style.display="none"; | |
| 1004 | +}if(this.options.hide||this.options.show){for(var p in this.options.curAnim){jQuery.attr(this.elem.style,p,this.options.orig[p]); | |
| 1005 | +}}}if(done){this.options.complete.call(this.elem); | |
| 1006 | +}return false; | |
| 1007 | +}else{var n=t-this.startTime; | |
| 1008 | +this.state=n/this.options.duration; | |
| 1009 | +this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration); | |
| 1010 | +this.now=this.start+((this.end-this.start)*this.pos); | |
| 1011 | +this.update(); | |
| 1012 | +}return true; | |
| 1013 | +}}; | |
| 1014 | +jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now; | |
| 1015 | +},scrollTop:function(fx){fx.elem.scrollTop=fx.now; | |
| 1016 | +},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now); | |
| 1017 | +},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit; | |
| 1018 | +}}}); | |
| 1019 | +jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results; | |
| 1020 | +if(elem){with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed"; | |
| 1021 | +if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect(); | |
| 1022 | +add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop)); | |
| 1023 | +add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop); | |
| 1024 | +}else{add(elem.offsetLeft,elem.offsetTop); | |
| 1025 | +while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop); | |
| 1026 | +if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2){border(offsetParent); | |
| 1027 | +}if(!fixed&&css(offsetParent,"position")=="fixed"){fixed=true; | |
| 1028 | +}offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent; | |
| 1029 | +offsetParent=offsetParent.offsetParent; | |
| 1030 | +}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display"))){add(-parent.scrollLeft,-parent.scrollTop); | |
| 1031 | +}if(mozilla&&css(parent,"overflow")!="visible"){border(parent); | |
| 1032 | +}parent=parent.parentNode; | |
| 1033 | +}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute")){add(-doc.body.offsetLeft,-doc.body.offsetTop); | |
| 1034 | +}if(fixed){add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop)); | |
| 1035 | +}}results={top:top,left:left}; | |
| 1036 | +}}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true)); | |
| 1037 | +}function add(l,t){left+=parseInt(l,10)||0; | |
| 1038 | +top+=parseInt(t,10)||0; | |
| 1039 | +}return results; | |
| 1040 | +}; | |
| 1041 | +jQuery.fn.extend({position:function(){var left=0,top=0,results; | |
| 1042 | +if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset(); | |
| 1043 | +offset.top-=num(this,"marginTop"); | |
| 1044 | +offset.left-=num(this,"marginLeft"); | |
| 1045 | +parentOffset.top+=num(offsetParent,"borderTopWidth"); | |
| 1046 | +parentOffset.left+=num(offsetParent,"borderLeftWidth"); | |
| 1047 | +results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left}; | |
| 1048 | +}return results; | |
| 1049 | +},offsetParent:function(){var offsetParent=this[0].offsetParent; | |
| 1050 | +while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,"position")=="static")){offsetParent=offsetParent.offsetParent; | |
| 1051 | +}return jQuery(offsetParent); | |
| 1052 | +}}); | |
| 1053 | +jQuery.each(["Left","Top"],function(i,name){var method="scroll"+name; | |
| 1054 | +jQuery.fn[method]=function(val){if(!this[0]){return ; | |
| 1055 | +}return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val; | |
| 1056 | +}):this[0]==window||this[0]==document?self[i?"pageYOffset":"pageXOffset"]||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method]; | |
| 1057 | +}; | |
| 1058 | +}); | |
| 1059 | +jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom"; | |
| 1060 | +jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br); | |
| 1061 | +}; | |
| 1062 | +jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0); | |
| 1063 | +}; | |
| 1064 | +}); | |
| 1065 | +})(); | |
| 1066 | + | |
| 1067 | + | |
| 1068 | +/* platform.js */ | |
| 1069 | +SimileAjax.version="pre 2.3.0"; | |
| 1070 | +SimileAjax.jQuery=jQuery.noConflict(true); | |
| 1071 | +if(typeof window["$"]=="undefined"){window.$=SimileAjax.jQuery; | |
| 1072 | +}SimileAjax.Platform.os={isMac:false,isWin:false,isWin32:false,isUnix:false}; | |
| 1073 | +SimileAjax.Platform.browser={isIE:false,isNetscape:false,isMozilla:false,isFirefox:false,isOpera:false,isSafari:false,majorVersion:0,minorVersion:0}; | |
| 1074 | +(function(){var C=navigator.appName.toLowerCase(); | |
| 1075 | +var A=navigator.userAgent.toLowerCase(); | |
| 1076 | +SimileAjax.Platform.os.isMac=(A.indexOf("mac")!=-1); | |
| 1077 | +SimileAjax.Platform.os.isWin=(A.indexOf("win")!=-1); | |
| 1078 | +SimileAjax.Platform.os.isWin32=SimileAjax.Platform.isWin&&(A.indexOf("95")!=-1||A.indexOf("98")!=-1||A.indexOf("nt")!=-1||A.indexOf("win32")!=-1||A.indexOf("32bit")!=-1); | |
| 1079 | +SimileAjax.Platform.os.isUnix=(A.indexOf("x11")!=-1); | |
| 1080 | +SimileAjax.Platform.browser.isIE=(C.indexOf("microsoft")!=-1); | |
| 1081 | +SimileAjax.Platform.browser.isNetscape=(C.indexOf("netscape")!=-1); | |
| 1082 | +SimileAjax.Platform.browser.isMozilla=(A.indexOf("mozilla")!=-1); | |
| 1083 | +SimileAjax.Platform.browser.isFirefox=(A.indexOf("firefox")!=-1); | |
| 1084 | +SimileAjax.Platform.browser.isOpera=(C.indexOf("opera")!=-1); | |
| 1085 | +SimileAjax.Platform.browser.isSafari=(C.indexOf("safari")!=-1); | |
| 1086 | +var E=function(G){var F=G.split("."); | |
| 1087 | +SimileAjax.Platform.browser.majorVersion=parseInt(F[0]); | |
| 1088 | +SimileAjax.Platform.browser.minorVersion=parseInt(F[1]); | |
| 1089 | +}; | |
| 1090 | +var B=function(H,G,I){var F=H.indexOf(G,I); | |
| 1091 | +return F>=0?F:H.length; | |
| 1092 | +}; | |
| 1093 | +if(SimileAjax.Platform.browser.isMozilla){var D=A.indexOf("mozilla/"); | |
| 1094 | +if(D>=0){E(A.substring(D+8,B(A," ",D))); | |
| 1095 | +}}if(SimileAjax.Platform.browser.isIE){var D=A.indexOf("msie "); | |
| 1096 | +if(D>=0){E(A.substring(D+5,B(A,";",D))); | |
| 1097 | +}}if(SimileAjax.Platform.browser.isNetscape){var D=A.indexOf("rv:"); | |
| 1098 | +if(D>=0){E(A.substring(D+3,B(A,")",D))); | |
| 1099 | +}}if(SimileAjax.Platform.browser.isFirefox){var D=A.indexOf("firefox/"); | |
| 1100 | +if(D>=0){E(A.substring(D+8,B(A," ",D))); | |
| 1101 | +}}if(!("localeCompare" in String.prototype)){String.prototype.localeCompare=function(F){if(this<F){return -1; | |
| 1102 | +}else{if(this>F){return 1; | |
| 1103 | +}else{return 0; | |
| 1104 | +}}}; | |
| 1105 | +}})(); | |
| 1106 | +SimileAjax.Platform.getDefaultLocale=function(){return SimileAjax.Platform.clientLocale; | |
| 1107 | +}; | |
| 1108 | + | |
| 1109 | + | |
| 1110 | +/* ajax.js */ | |
| 1111 | +SimileAjax.ListenerQueue=function(A){this._listeners=[]; | |
| 1112 | +this._wildcardHandlerName=A; | |
| 1113 | +}; | |
| 1114 | +SimileAjax.ListenerQueue.prototype.add=function(A){this._listeners.push(A); | |
| 1115 | +}; | |
| 1116 | +SimileAjax.ListenerQueue.prototype.remove=function(C){var A=this._listeners; | |
| 1117 | +for(var B=0; | |
| 1118 | +B<A.length; | |
| 1119 | +B++){if(A[B]==C){A.splice(B,1); | |
| 1120 | +break; | |
| 1121 | +}}}; | |
| 1122 | +SimileAjax.ListenerQueue.prototype.fire=function(C,B){var A=[].concat(this._listeners); | |
| 1123 | +for(var D=0; | |
| 1124 | +D<A.length; | |
| 1125 | +D++){var E=A[D]; | |
| 1126 | +if(C in E){try{E[C].apply(E,B); | |
| 1127 | +}catch(F){SimileAjax.Debug.exception("Error firing event of name "+C,F); | |
| 1128 | +}}else{if(this._wildcardHandlerName!=null&&this._wildcardHandlerName in E){try{E[this._wildcardHandlerName].apply(E,[C]); | |
| 1129 | +}catch(F){SimileAjax.Debug.exception("Error firing event of name "+C+" to wildcard handler",F); | |
| 1130 | +}}}}}; | |
| 1131 | + | |
| 1132 | + | |
| 1133 | +/* data-structure.js */ | |
| 1134 | +SimileAjax.Set=function(A){this._hash={}; | |
| 1135 | +this._count=0; | |
| 1136 | +if(A instanceof Array){for(var B=0; | |
| 1137 | +B<A.length; | |
| 1138 | +B++){this.add(A[B]); | |
| 1139 | +}}else{if(A instanceof SimileAjax.Set){this.addSet(A); | |
| 1140 | +}}}; | |
| 1141 | +SimileAjax.Set.prototype.add=function(A){if(!(A in this._hash)){this._hash[A]=true; | |
| 1142 | +this._count++; | |
| 1143 | +return true; | |
| 1144 | +}return false; | |
| 1145 | +}; | |
| 1146 | +SimileAjax.Set.prototype.addSet=function(B){for(var A in B._hash){this.add(A); | |
| 1147 | +}}; | |
| 1148 | +SimileAjax.Set.prototype.remove=function(A){if(A in this._hash){delete this._hash[A]; | |
| 1149 | +this._count--; | |
| 1150 | +return true; | |
| 1151 | +}return false; | |
| 1152 | +}; | |
| 1153 | +SimileAjax.Set.prototype.removeSet=function(B){for(var A in B._hash){this.remove(A); | |
| 1154 | +}}; | |
| 1155 | +SimileAjax.Set.prototype.retainSet=function(B){for(var A in this._hash){if(!B.contains(A)){delete this._hash[A]; | |
| 1156 | +this._count--; | |
| 1157 | +}}}; | |
| 1158 | +SimileAjax.Set.prototype.contains=function(A){return(A in this._hash); | |
| 1159 | +}; | |
| 1160 | +SimileAjax.Set.prototype.size=function(){return this._count; | |
| 1161 | +}; | |
| 1162 | +SimileAjax.Set.prototype.toArray=function(){var A=[]; | |
| 1163 | +for(var B in this._hash){A.push(B); | |
| 1164 | +}return A; | |
| 1165 | +}; | |
| 1166 | +SimileAjax.Set.prototype.visit=function(A){for(var B in this._hash){if(A(B)==true){break; | |
| 1167 | +}}}; | |
| 1168 | +SimileAjax.SortedArray=function(B,A){this._a=(A instanceof Array)?A:[]; | |
| 1169 | +this._compare=B; | |
| 1170 | +}; | |
| 1171 | +SimileAjax.SortedArray.prototype.add=function(C){var A=this; | |
| 1172 | +var B=this.find(function(D){return A._compare(D,C); | |
| 1173 | +}); | |
| 1174 | +if(B<this._a.length){this._a.splice(B,0,C); | |
| 1175 | +}else{this._a.push(C); | |
| 1176 | +}}; | |
| 1177 | +SimileAjax.SortedArray.prototype.remove=function(C){var A=this; | |
| 1178 | +var B=this.find(function(D){return A._compare(D,C); | |
| 1179 | +}); | |
| 1180 | +while(B<this._a.length&&this._compare(this._a[B],C)==0){if(this._a[B]==C){this._a.splice(B,1); | |
| 1181 | +return true; | |
| 1182 | +}else{B++; | |
| 1183 | +}}return false; | |
| 1184 | +}; | |
| 1185 | +SimileAjax.SortedArray.prototype.removeAll=function(){this._a=[]; | |
| 1186 | +}; | |
| 1187 | +SimileAjax.SortedArray.prototype.elementAt=function(A){return this._a[A]; | |
| 1188 | +}; | |
| 1189 | +SimileAjax.SortedArray.prototype.length=function(){return this._a.length; | |
| 1190 | +}; | |
| 1191 | +SimileAjax.SortedArray.prototype.find=function(D){var B=0; | |
| 1192 | +var A=this._a.length; | |
| 1193 | +while(B<A){var C=Math.floor((B+A)/2); | |
| 1194 | +var E=D(this._a[C]); | |
| 1195 | +if(C==B){return E<0?B+1:B; | |
| 1196 | +}else{if(E<0){B=C; | |
| 1197 | +}else{A=C; | |
| 1198 | +}}}return B; | |
| 1199 | +}; | |
| 1200 | +SimileAjax.SortedArray.prototype.getFirst=function(){return(this._a.length>0)?this._a[0]:null; | |
| 1201 | +}; | |
| 1202 | +SimileAjax.SortedArray.prototype.getLast=function(){return(this._a.length>0)?this._a[this._a.length-1]:null; | |
| 1203 | +}; | |
| 1204 | +SimileAjax.EventIndex=function(B){var A=this; | |
| 1205 | +this._unit=(B!=null)?B:SimileAjax.NativeDateUnit; | |
| 1206 | +this._events=new SimileAjax.SortedArray(function(C,D){return A._unit.compare(C.getStart(),D.getStart()); | |
| 1207 | +}); | |
| 1208 | +this._idToEvent={}; | |
| 1209 | +this._indexed=true; | |
| 1210 | +}; | |
| 1211 | +SimileAjax.EventIndex.prototype.getUnit=function(){return this._unit; | |
| 1212 | +}; | |
| 1213 | +SimileAjax.EventIndex.prototype.getEvent=function(A){return this._idToEvent[A]; | |
| 1214 | +}; | |
| 1215 | +SimileAjax.EventIndex.prototype.add=function(A){this._events.add(A); | |
| 1216 | +this._idToEvent[A.getID()]=A; | |
| 1217 | +this._indexed=false; | |
| 1218 | +}; | |
| 1219 | +SimileAjax.EventIndex.prototype.removeAll=function(){this._events.removeAll(); | |
| 1220 | +this._idToEvent={}; | |
| 1221 | +this._indexed=false; | |
| 1222 | +}; | |
| 1223 | +SimileAjax.EventIndex.prototype.getCount=function(){return this._events.length(); | |
| 1224 | +}; | |
| 1225 | +SimileAjax.EventIndex.prototype.getIterator=function(A,B){if(!this._indexed){this._index(); | |
| 1226 | +}return new SimileAjax.EventIndex._Iterator(this._events,A,B,this._unit); | |
| 1227 | +}; | |
| 1228 | +SimileAjax.EventIndex.prototype.getReverseIterator=function(A,B){if(!this._indexed){this._index(); | |
| 1229 | +}return new SimileAjax.EventIndex._ReverseIterator(this._events,A,B,this._unit); | |
| 1230 | +}; | |
| 1231 | +SimileAjax.EventIndex.prototype.getAllIterator=function(){return new SimileAjax.EventIndex._AllIterator(this._events); | |
| 1232 | +}; | |
| 1233 | +SimileAjax.EventIndex.prototype.getEarliestDate=function(){var A=this._events.getFirst(); | |
| 1234 | +return(A==null)?null:A.getStart(); | |
| 1235 | +}; | |
| 1236 | +SimileAjax.EventIndex.prototype.getLatestDate=function(){var A=this._events.getLast(); | |
| 1237 | +if(A==null){return null; | |
| 1238 | +}if(!this._indexed){this._index(); | |
| 1239 | +}var C=A._earliestOverlapIndex; | |
| 1240 | +var B=this._events.elementAt(C).getEnd(); | |
| 1241 | +for(var D=C+1; | |
| 1242 | +D<this._events.length(); | |
| 1243 | +D++){B=this._unit.later(B,this._events.elementAt(D).getEnd()); | |
| 1244 | +}return B; | |
| 1245 | +}; | |
| 1246 | +SimileAjax.EventIndex.prototype._index=function(){var E=this._events.length(); | |
| 1247 | +for(var F=0; | |
| 1248 | +F<E; | |
| 1249 | +F++){var D=this._events.elementAt(F); | |
| 1250 | +D._earliestOverlapIndex=F; | |
| 1251 | +}var G=1; | |
| 1252 | +for(var F=0; | |
| 1253 | +F<E; | |
| 1254 | +F++){var D=this._events.elementAt(F); | |
| 1255 | +var C=D.getEnd(); | |
| 1256 | +G=Math.max(G,F+1); | |
| 1257 | +while(G<E){var A=this._events.elementAt(G); | |
| 1258 | +var B=A.getStart(); | |
| 1259 | +if(this._unit.compare(B,C)<0){A._earliestOverlapIndex=F; | |
| 1260 | +G++; | |
| 1261 | +}else{break; | |
| 1262 | +}}}this._indexed=true; | |
| 1263 | +}; | |
| 1264 | +SimileAjax.EventIndex._Iterator=function(A,C,D,B){this._events=A; | |
| 1265 | +this._startDate=C; | |
| 1266 | +this._endDate=D; | |
| 1267 | +this._unit=B; | |
| 1268 | +this._currentIndex=A.find(function(E){return B.compare(E.getStart(),C); | |
| 1269 | +}); | |
| 1270 | +if(this._currentIndex-1>=0){this._currentIndex=this._events.elementAt(this._currentIndex-1)._earliestOverlapIndex; | |
| 1271 | +}this._currentIndex--; | |
| 1272 | +this._maxIndex=A.find(function(E){return B.compare(E.getStart(),D); | |
| 1273 | +}); | |
| 1274 | +this._hasNext=false; | |
| 1275 | +this._next=null; | |
| 1276 | +this._findNext(); | |
| 1277 | +}; | |
| 1278 | +SimileAjax.EventIndex._Iterator.prototype={hasNext:function(){return this._hasNext; | |
| 1279 | +},next:function(){if(this._hasNext){var A=this._next; | |
| 1280 | +this._findNext(); | |
| 1281 | +return A; | |
| 1282 | +}else{return null; | |
| 1283 | +}},_findNext:function(){var B=this._unit; | |
| 1284 | +while((++this._currentIndex)<this._maxIndex){var A=this._events.elementAt(this._currentIndex); | |
| 1285 | +if(B.compare(A.getStart(),this._endDate)<0&&B.compare(A.getEnd(),this._startDate)>0){this._next=A; | |
| 1286 | +this._hasNext=true; | |
| 1287 | +return ; | |
| 1288 | +}}this._next=null; | |
| 1289 | +this._hasNext=false; | |
| 1290 | +}}; | |
| 1291 | +SimileAjax.EventIndex._ReverseIterator=function(A,C,D,B){this._events=A; | |
| 1292 | +this._startDate=C; | |
| 1293 | +this._endDate=D; | |
| 1294 | +this._unit=B; | |
| 1295 | +this._minIndex=A.find(function(E){return B.compare(E.getStart(),C); | |
| 1296 | +}); | |
| 1297 | +if(this._minIndex-1>=0){this._minIndex=this._events.elementAt(this._minIndex-1)._earliestOverlapIndex; | |
| 1298 | +}this._maxIndex=A.find(function(E){return B.compare(E.getStart(),D); | |
| 1299 | +}); | |
| 1300 | +this._currentIndex=this._maxIndex; | |
| 1301 | +this._hasNext=false; | |
| 1302 | +this._next=null; | |
| 1303 | +this._findNext(); | |
| 1304 | +}; | |
| 1305 | +SimileAjax.EventIndex._ReverseIterator.prototype={hasNext:function(){return this._hasNext; | |
| 1306 | +},next:function(){if(this._hasNext){var A=this._next; | |
| 1307 | +this._findNext(); | |
| 1308 | +return A; | |
| 1309 | +}else{return null; | |
| 1310 | +}},_findNext:function(){var B=this._unit; | |
| 1311 | +while((--this._currentIndex)>=this._minIndex){var A=this._events.elementAt(this._currentIndex); | |
| 1312 | +if(B.compare(A.getStart(),this._endDate)<0&&B.compare(A.getEnd(),this._startDate)>0){this._next=A; | |
| 1313 | +this._hasNext=true; | |
| 1314 | +return ; | |
| 1315 | +}}this._next=null; | |
| 1316 | +this._hasNext=false; | |
| 1317 | +}}; | |
| 1318 | +SimileAjax.EventIndex._AllIterator=function(A){this._events=A; | |
| 1319 | +this._index=0; | |
| 1320 | +}; | |
| 1321 | +SimileAjax.EventIndex._AllIterator.prototype={hasNext:function(){return this._index<this._events.length(); | |
| 1322 | +},next:function(){return this._index<this._events.length()?this._events.elementAt(this._index++):null; | |
| 1323 | +}}; | |
| 1324 | + | |
| 1325 | + | |
| 1326 | +/* date-time.js */ | |
| 1327 | +SimileAjax.DateTime=new Object(); | |
| 1328 | +SimileAjax.DateTime.MILLISECOND=0; | |
| 1329 | +SimileAjax.DateTime.SECOND=1; | |
| 1330 | +SimileAjax.DateTime.MINUTE=2; | |
| 1331 | +SimileAjax.DateTime.HOUR=3; | |
| 1332 | +SimileAjax.DateTime.DAY=4; | |
| 1333 | +SimileAjax.DateTime.WEEK=5; | |
| 1334 | +SimileAjax.DateTime.MONTH=6; | |
| 1335 | +SimileAjax.DateTime.YEAR=7; | |
| 1336 | +SimileAjax.DateTime.DECADE=8; | |
| 1337 | +SimileAjax.DateTime.CENTURY=9; | |
| 1338 | +SimileAjax.DateTime.MILLENNIUM=10; | |
| 1339 | +SimileAjax.DateTime.EPOCH=-1; | |
| 1340 | +SimileAjax.DateTime.ERA=-2; | |
| 1341 | +SimileAjax.DateTime.gregorianUnitLengths=[]; | |
| 1342 | +(function(){var B=SimileAjax.DateTime; | |
| 1343 | +var A=B.gregorianUnitLengths; | |
| 1344 | +A[B.MILLISECOND]=1; | |
| 1345 | +A[B.SECOND]=1000; | |
| 1346 | +A[B.MINUTE]=A[B.SECOND]*60; | |
| 1347 | +A[B.HOUR]=A[B.MINUTE]*60; | |
| 1348 | +A[B.DAY]=A[B.HOUR]*24; | |
| 1349 | +A[B.WEEK]=A[B.DAY]*7; | |
| 1350 | +A[B.MONTH]=A[B.DAY]*31; | |
| 1351 | +A[B.YEAR]=A[B.DAY]*365; | |
| 1352 | +A[B.DECADE]=A[B.YEAR]*10; | |
| 1353 | +A[B.CENTURY]=A[B.YEAR]*100; | |
| 1354 | +A[B.MILLENNIUM]=A[B.YEAR]*1000; | |
| 1355 | +})(); | |
| 1356 | +SimileAjax.DateTime._dateRegexp=new RegExp("^(-?)([0-9]{4})("+["(-?([0-9]{2})(-?([0-9]{2}))?)","(-?([0-9]{3}))","(-?W([0-9]{2})(-?([1-7]))?)"].join("|")+")?$"); | |
| 1357 | +SimileAjax.DateTime._timezoneRegexp=new RegExp("Z|(([-+])([0-9]{2})(:?([0-9]{2}))?)$"); | |
| 1358 | +SimileAjax.DateTime._timeRegexp=new RegExp("^([0-9]{2})(:?([0-9]{2})(:?([0-9]{2})(.([0-9]+))?)?)?$"); | |
| 1359 | +SimileAjax.DateTime.setIso8601Date=function(G,C){var I=C.match(SimileAjax.DateTime._dateRegexp); | |
| 1360 | +if(!I){throw new Error("Invalid date string: "+C); | |
| 1361 | +}var B=(I[1]=="-")?-1:1; | |
| 1362 | +var J=B*I[2]; | |
| 1363 | +var H=I[5]; | |
| 1364 | +var D=I[7]; | |
| 1365 | +var F=I[9]; | |
| 1366 | +var A=I[11]; | |
| 1367 | +var M=(I[13])?I[13]:1; | |
| 1368 | +G.setUTCFullYear(J); | |
| 1369 | +if(F){G.setUTCMonth(0); | |
| 1370 | +G.setUTCDate(Number(F)); | |
| 1371 | +}else{if(A){G.setUTCMonth(0); | |
| 1372 | +G.setUTCDate(1); | |
| 1373 | +var L=G.getUTCDay(); | |
| 1374 | +var K=(L)?L:7; | |
| 1375 | +var E=Number(M)+(7*Number(A)); | |
| 1376 | +if(K<=4){G.setUTCDate(E+1-K); | |
| 1377 | +}else{G.setUTCDate(E+8-K); | |
| 1378 | +}}else{if(H){G.setUTCDate(1); | |
| 1379 | +G.setUTCMonth(H-1); | |
| 1380 | +}if(D){G.setUTCDate(D); | |
| 1381 | +}}}return G; | |
| 1382 | +}; | |
| 1383 | +SimileAjax.DateTime.setIso8601Time=function(F,D){var G=D.match(SimileAjax.DateTime._timeRegexp); | |
| 1384 | +if(!G){SimileAjax.Debug.warn("Invalid time string: "+D); | |
| 1385 | +return false; | |
| 1386 | +}var A=G[1]; | |
| 1387 | +var E=Number((G[3])?G[3]:0); | |
| 1388 | +var C=(G[5])?G[5]:0; | |
| 1389 | +var B=G[7]?(Number("0."+G[7])*1000):0; | |
| 1390 | +F.setUTCHours(A); | |
| 1391 | +F.setUTCMinutes(E); | |
| 1392 | +F.setUTCSeconds(C); | |
| 1393 | +F.setUTCMilliseconds(B); | |
| 1394 | +return F; | |
| 1395 | +}; | |
| 1396 | +SimileAjax.DateTime.timezoneOffset=new Date().getTimezoneOffset(); | |
| 1397 | +SimileAjax.DateTime.setIso8601=function(B,A){var D=null; | |
| 1398 | +var E=(A.indexOf("T")==-1)?A.split(" "):A.split("T"); | |
| 1399 | +SimileAjax.DateTime.setIso8601Date(B,E[0]); | |
| 1400 | +if(E.length==2){var C=E[1].match(SimileAjax.DateTime._timezoneRegexp); | |
| 1401 | +if(C){if(C[0]=="Z"){D=0; | |
| 1402 | +}else{D=(Number(C[3])*60)+Number(C[5]); | |
| 1403 | +D*=((C[2]=="-")?1:-1); | |
| 1404 | +}E[1]=E[1].substr(0,E[1].length-C[0].length); | |
| 1405 | +}SimileAjax.DateTime.setIso8601Time(B,E[1]); | |
| 1406 | +}if(D==null){D=B.getTimezoneOffset(); | |
| 1407 | +}B.setTime(B.getTime()+D*60000); | |
| 1408 | +return B; | |
| 1409 | +}; | |
| 1410 | +SimileAjax.DateTime.parseIso8601DateTime=function(A){try{return SimileAjax.DateTime.setIso8601(new Date(0),A); | |
| 1411 | +}catch(B){return null; | |
| 1412 | +}}; | |
| 1413 | +SimileAjax.DateTime.parseGregorianDateTime=function(F){if(F==null){return null; | |
| 1414 | +}else{if(F instanceof Date){return F; | |
| 1415 | +}}var B=F.toString(); | |
| 1416 | +if(B.length>0&&B.length<8){var C=B.indexOf(" "); | |
| 1417 | +if(C>0){var A=parseInt(B.substr(0,C)); | |
| 1418 | +var G=B.substr(C+1); | |
| 1419 | +if(G.toLowerCase()=="bc"){A=1-A; | |
| 1420 | +}}else{var A=parseInt(B); | |
| 1421 | +}var E=new Date(0); | |
| 1422 | +E.setUTCFullYear(A); | |
| 1423 | +return E; | |
| 1424 | +}try{return new Date(Date.parse(B)); | |
| 1425 | +}catch(D){return null; | |
| 1426 | +}}; | |
| 1427 | +SimileAjax.DateTime.roundDownToInterval=function(E,B,I,K,A){var F=I*SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]; | |
| 1428 | +var J=new Date(E.getTime()+F); | |
| 1429 | +var C=function(L){L.setUTCMilliseconds(0); | |
| 1430 | +L.setUTCSeconds(0); | |
| 1431 | +L.setUTCMinutes(0); | |
| 1432 | +L.setUTCHours(0); | |
| 1433 | +}; | |
| 1434 | +var D=function(L){C(L); | |
| 1435 | +L.setUTCDate(1); | |
| 1436 | +L.setUTCMonth(0); | |
| 1437 | +}; | |
| 1438 | +switch(B){case SimileAjax.DateTime.MILLISECOND:var H=J.getUTCMilliseconds(); | |
| 1439 | +J.setUTCMilliseconds(H-(H%K)); | |
| 1440 | +break; | |
| 1441 | +case SimileAjax.DateTime.SECOND:J.setUTCMilliseconds(0); | |
| 1442 | +var H=J.getUTCSeconds(); | |
| 1443 | +J.setUTCSeconds(H-(H%K)); | |
| 1444 | +break; | |
| 1445 | +case SimileAjax.DateTime.MINUTE:J.setUTCMilliseconds(0); | |
| 1446 | +J.setUTCSeconds(0); | |
| 1447 | +var H=J.getUTCMinutes(); | |
| 1448 | +J.setTime(J.getTime()-(H%K)*SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.MINUTE]); | |
| 1449 | +break; | |
| 1450 | +case SimileAjax.DateTime.HOUR:J.setUTCMilliseconds(0); | |
| 1451 | +J.setUTCSeconds(0); | |
| 1452 | +J.setUTCMinutes(0); | |
| 1453 | +var H=J.getUTCHours(); | |
| 1454 | +J.setUTCHours(H-(H%K)); | |
| 1455 | +break; | |
| 1456 | +case SimileAjax.DateTime.DAY:C(J); | |
| 1457 | +break; | |
| 1458 | +case SimileAjax.DateTime.WEEK:C(J); | |
| 1459 | +var G=(J.getUTCDay()+7-A)%7; | |
| 1460 | +J.setTime(J.getTime()-G*SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.DAY]); | |
| 1461 | +break; | |
| 1462 | +case SimileAjax.DateTime.MONTH:C(J); | |
| 1463 | +J.setUTCDate(1); | |
| 1464 | +var H=J.getUTCMonth(); | |
| 1465 | +J.setUTCMonth(H-(H%K)); | |
| 1466 | +break; | |
| 1467 | +case SimileAjax.DateTime.YEAR:D(J); | |
| 1468 | +var H=J.getUTCFullYear(); | |
| 1469 | +J.setUTCFullYear(H-(H%K)); | |
| 1470 | +break; | |
| 1471 | +case SimileAjax.DateTime.DECADE:D(J); | |
| 1472 | +J.setUTCFullYear(Math.floor(J.getUTCFullYear()/10)*10); | |
| 1473 | +break; | |
| 1474 | +case SimileAjax.DateTime.CENTURY:D(J); | |
| 1475 | +J.setUTCFullYear(Math.floor(J.getUTCFullYear()/100)*100); | |
| 1476 | +break; | |
| 1477 | +case SimileAjax.DateTime.MILLENNIUM:D(J); | |
| 1478 | +J.setUTCFullYear(Math.floor(J.getUTCFullYear()/1000)*1000); | |
| 1479 | +break; | |
| 1480 | +}E.setTime(J.getTime()-F); | |
| 1481 | +}; | |
| 1482 | +SimileAjax.DateTime.roundUpToInterval=function(C,F,D,A,B){var E=C.getTime(); | |
| 1483 | +SimileAjax.DateTime.roundDownToInterval(C,F,D,A,B); | |
| 1484 | +if(C.getTime()<E){C.setTime(C.getTime()+SimileAjax.DateTime.gregorianUnitLengths[F]*A); | |
| 1485 | +}}; | |
| 1486 | +SimileAjax.DateTime.incrementByInterval=function(A,D,B){B=(typeof B=="undefined")?0:B; | |
| 1487 | +var E=B*SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]; | |
| 1488 | +var C=new Date(A.getTime()+E); | |
| 1489 | +switch(D){case SimileAjax.DateTime.MILLISECOND:C.setTime(C.getTime()+1); | |
| 1490 | +break; | |
| 1491 | +case SimileAjax.DateTime.SECOND:C.setTime(C.getTime()+1000); | |
| 1492 | +break; | |
| 1493 | +case SimileAjax.DateTime.MINUTE:C.setTime(C.getTime()+SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.MINUTE]); | |
| 1494 | +break; | |
| 1495 | +case SimileAjax.DateTime.HOUR:C.setTime(C.getTime()+SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]); | |
| 1496 | +break; | |
| 1497 | +case SimileAjax.DateTime.DAY:C.setUTCDate(C.getUTCDate()+1); | |
| 1498 | +break; | |
| 1499 | +case SimileAjax.DateTime.WEEK:C.setUTCDate(C.getUTCDate()+7); | |
| 1500 | +break; | |
| 1501 | +case SimileAjax.DateTime.MONTH:C.setUTCMonth(C.getUTCMonth()+1); | |
| 1502 | +break; | |
| 1503 | +case SimileAjax.DateTime.YEAR:C.setUTCFullYear(C.getUTCFullYear()+1); | |
| 1504 | +break; | |
| 1505 | +case SimileAjax.DateTime.DECADE:C.setUTCFullYear(C.getUTCFullYear()+10); | |
| 1506 | +break; | |
| 1507 | +case SimileAjax.DateTime.CENTURY:C.setUTCFullYear(C.getUTCFullYear()+100); | |
| 1508 | +break; | |
| 1509 | +case SimileAjax.DateTime.MILLENNIUM:C.setUTCFullYear(C.getUTCFullYear()+1000); | |
| 1510 | +break; | |
| 1511 | +}A.setTime(C.getTime()-E); | |
| 1512 | +}; | |
| 1513 | +SimileAjax.DateTime.removeTimeZoneOffset=function(A,B){return new Date(A.getTime()+B*SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]); | |
| 1514 | +}; | |
| 1515 | +SimileAjax.DateTime.getTimezone=function(){var A=new Date().getTimezoneOffset(); | |
| 1516 | +return A/-60; | |
| 1517 | +}; | |
| 1518 | + | |
| 1519 | + | |
| 1520 | +/* debug.js */ | |
| 1521 | +SimileAjax.Debug={silent:false}; | |
| 1522 | +SimileAjax.Debug.log=function(B){var A; | |
| 1523 | +if("console" in window&&"log" in window.console){A=function(C){console.log(C); | |
| 1524 | +}; | |
| 1525 | +}else{A=function(C){if(!SimileAjax.Debug.silent){alert(C); | |
| 1526 | +}}; | |
| 1527 | +}SimileAjax.Debug.log=A; | |
| 1528 | +A(B); | |
| 1529 | +}; | |
| 1530 | +SimileAjax.Debug.warn=function(B){var A; | |
| 1531 | +if("console" in window&&"warn" in window.console){A=function(C){console.warn(C); | |
| 1532 | +}; | |
| 1533 | +}else{A=function(C){if(!SimileAjax.Debug.silent){alert(C); | |
| 1534 | +}}; | |
| 1535 | +}SimileAjax.Debug.warn=A; | |
| 1536 | +A(B); | |
| 1537 | +}; | |
| 1538 | +SimileAjax.Debug.exception=function(B,D){var A,C=SimileAjax.parseURLParameters(); | |
| 1539 | +if(C.errors=="throw"||SimileAjax.params.errors=="throw"){A=function(F,E){throw (F); | |
| 1540 | +}; | |
| 1541 | +}else{if("console" in window&&"error" in window.console){A=function(F,E){if(E!=null){console.error(E+" %o",F); | |
| 1542 | +}else{console.error(F); | |
| 1543 | +}throw (F); | |
| 1544 | +}; | |
| 1545 | +}else{A=function(F,E){if(!SimileAjax.Debug.silent){alert("Caught exception: "+E+"\n\nDetails: "+("description" in F?F.description:F)); | |
| 1546 | +}throw (F); | |
| 1547 | +}; | |
| 1548 | +}}SimileAjax.Debug.exception=A; | |
| 1549 | +A(B,D); | |
| 1550 | +}; | |
| 1551 | +SimileAjax.Debug.objectToString=function(A){return SimileAjax.Debug._objectToString(A,""); | |
| 1552 | +}; | |
| 1553 | +SimileAjax.Debug._objectToString=function(D,C){var B=C+" "; | |
| 1554 | +if(typeof D=="object"){var A="{"; | |
| 1555 | +for(E in D){A+=B+E+": "+SimileAjax.Debug._objectToString(D[E],B)+"\n"; | |
| 1556 | +}A+=C+"}"; | |
| 1557 | +return A; | |
| 1558 | +}else{if(typeof D=="array"){var A="["; | |
| 1559 | +for(var E=0; | |
| 1560 | +E<D.length; | |
| 1561 | +E++){A+=SimileAjax.Debug._objectToString(D[E],B)+"\n"; | |
| 1562 | +}A+=C+"]"; | |
| 1563 | +return A; | |
| 1564 | +}else{return D; | |
| 1565 | +}}}; | |
| 1566 | + | |
| 1567 | + | |
| 1568 | +/* dom.js */ | |
| 1569 | +SimileAjax.DOM=new Object(); | |
| 1570 | +SimileAjax.DOM.registerEventWithObject=function(C,A,D,B){SimileAjax.DOM.registerEvent(C,A,function(F,E,G){return D[B].call(D,F,E,G); | |
| 1571 | +}); | |
| 1572 | +}; | |
| 1573 | +SimileAjax.DOM.registerEvent=function(C,B,D){var A=function(E){E=(E)?E:((event)?event:null); | |
| 1574 | +if(E){var F=(E.target)?E.target:((E.srcElement)?E.srcElement:null); | |
| 1575 | +if(F){F=(F.nodeType==1||F.nodeType==9)?F:F.parentNode; | |
| 1576 | +}return D(C,E,F); | |
| 1577 | +}return true; | |
| 1578 | +}; | |
| 1579 | +if(SimileAjax.Platform.browser.isIE){C.attachEvent("on"+B,A); | |
| 1580 | +}else{C.addEventListener(B,A,false); | |
| 1581 | +}}; | |
| 1582 | +SimileAjax.DOM.getPageCoordinates=function(B){var E=0; | |
| 1583 | +var D=0; | |
| 1584 | +if(B.nodeType!=1){B=B.parentNode; | |
| 1585 | +}var C=B; | |
| 1586 | +while(C!=null){E+=C.offsetLeft; | |
| 1587 | +D+=C.offsetTop; | |
| 1588 | +C=C.offsetParent; | |
| 1589 | +}var A=document.body; | |
| 1590 | +while(B!=null&&B!=A){if("scrollLeft" in B){E-=B.scrollLeft; | |
| 1591 | +D-=B.scrollTop; | |
| 1592 | +}B=B.parentNode; | |
| 1593 | +}return{left:E,top:D}; | |
| 1594 | +}; | |
| 1595 | +SimileAjax.DOM.getSize=function(B){var A=this.getStyle(B,"width"); | |
| 1596 | +var C=this.getStyle(B,"height"); | |
| 1597 | +if(A.indexOf("px")>-1){A=A.replace("px",""); | |
| 1598 | +}if(C.indexOf("px")>-1){C=C.replace("px",""); | |
| 1599 | +}return{w:A,h:C}; | |
| 1600 | +}; | |
| 1601 | +SimileAjax.DOM.getStyle=function(B,A){if(B.currentStyle){var C=B.currentStyle[A]; | |
| 1602 | +}else{if(window.getComputedStyle){var C=document.defaultView.getComputedStyle(B,null).getPropertyValue(A); | |
| 1603 | +}else{var C=""; | |
| 1604 | +}}return C; | |
| 1605 | +}; | |
| 1606 | +SimileAjax.DOM.getEventRelativeCoordinates=function(B,C){if(SimileAjax.Platform.browser.isIE){if(B.type=="mousewheel"){var A=SimileAjax.DOM.getPageCoordinates(C); | |
| 1607 | +return{x:B.clientX-A.left,y:B.clientY-A.top}; | |
| 1608 | +}else{return{x:B.offsetX,y:B.offsetY}; | |
| 1609 | +}}else{var A=SimileAjax.DOM.getPageCoordinates(C); | |
| 1610 | +if((B.type=="DOMMouseScroll")&&SimileAjax.Platform.browser.isFirefox&&(SimileAjax.Platform.browser.majorVersion==2)){return{x:B.screenX-A.left,y:B.screenY-A.top}; | |
| 1611 | +}else{return{x:B.pageX-A.left,y:B.pageY-A.top}; | |
| 1612 | +}}}; | |
| 1613 | +SimileAjax.DOM.getEventPageCoordinates=function(A){if(SimileAjax.Platform.browser.isIE){return{x:A.clientX+document.body.scrollLeft,y:A.clientY+document.body.scrollTop}; | |
| 1614 | +}else{return{x:A.pageX,y:A.pageY}; | |
| 1615 | +}}; | |
| 1616 | +SimileAjax.DOM.hittest=function(A,C,B){return SimileAjax.DOM._hittest(document.body,A,C,B); | |
| 1617 | +}; | |
| 1618 | +SimileAjax.DOM._hittest=function(C,L,K,A){var M=C.childNodes; | |
| 1619 | +outer:for(var G=0; | |
| 1620 | +G<M.length; | |
| 1621 | +G++){var H=M[G]; | |
| 1622 | +for(var F=0; | |
| 1623 | +F<A.length; | |
| 1624 | +F++){if(H==A[F]){continue outer; | |
| 1625 | +}}if(H.offsetWidth==0&&H.offsetHeight==0){var B=SimileAjax.DOM._hittest(H,L,K,A); | |
| 1626 | +if(B!=H){return B; | |
| 1627 | +}}else{var J=0; | |
| 1628 | +var E=0; | |
| 1629 | +var D=H; | |
| 1630 | +while(D){J+=D.offsetTop; | |
| 1631 | +E+=D.offsetLeft; | |
| 1632 | +D=D.offsetParent; | |
| 1633 | +}if(E<=L&&J<=K&&(L-E)<H.offsetWidth&&(K-J)<H.offsetHeight){return SimileAjax.DOM._hittest(H,L,K,A); | |
| 1634 | +}else{if(H.nodeType==1&&H.tagName=="TR"){var I=SimileAjax.DOM._hittest(H,L,K,A); | |
| 1635 | +if(I!=H){return I; | |
| 1636 | +}}}}}return C; | |
| 1637 | +}; | |
| 1638 | +SimileAjax.DOM.cancelEvent=function(A){A.returnValue=false; | |
| 1639 | +A.cancelBubble=true; | |
| 1640 | +if("preventDefault" in A){A.preventDefault(); | |
| 1641 | +}}; | |
| 1642 | +SimileAjax.DOM.appendClassName=function(D,A){var C=D.className.split(" "); | |
| 1643 | +for(var B=0; | |
| 1644 | +B<C.length; | |
| 1645 | +B++){if(C[B]==A){return ; | |
| 1646 | +}}C.push(A); | |
| 1647 | +D.className=C.join(" "); | |
| 1648 | +}; | |
| 1649 | +SimileAjax.DOM.createInputElement=function(A){var B=document.createElement("div"); | |
| 1650 | +B.innerHTML="<input type='"+A+"' />"; | |
| 1651 | +return B.firstChild; | |
| 1652 | +}; | |
| 1653 | +SimileAjax.DOM.createDOMFromTemplate=function(A){var B={}; | |
| 1654 | +B.elmt=SimileAjax.DOM._createDOMFromTemplate(A,B,null); | |
| 1655 | +return B; | |
| 1656 | +}; | |
| 1657 | +SimileAjax.DOM._createDOMFromTemplate=function(F,G,D){if(F==null){return null; | |
| 1658 | +}else{if(typeof F!="object"){var C=document.createTextNode(F); | |
| 1659 | +if(D!=null){D.appendChild(C); | |
| 1660 | +}return C; | |
| 1661 | +}else{var A=null; | |
| 1662 | +if("tag" in F){var J=F.tag; | |
| 1663 | +if(D!=null){if(J=="tr"){A=D.insertRow(D.rows.length); | |
| 1664 | +}else{if(J=="td"){A=D.insertCell(D.cells.length); | |
| 1665 | +}}}if(A==null){A=J=="input"?SimileAjax.DOM.createInputElement(F.type):document.createElement(J); | |
| 1666 | +if(D!=null){D.appendChild(A); | |
| 1667 | +}}}else{A=F.elmt; | |
| 1668 | +if(D!=null){D.appendChild(A); | |
| 1669 | +}}for(var B in F){var H=F[B]; | |
| 1670 | +if(B=="field"){G[H]=A; | |
| 1671 | +}else{if(B=="className"){A.className=H; | |
| 1672 | +}else{if(B=="id"){A.id=H; | |
| 1673 | +}else{if(B=="title"){A.title=H; | |
| 1674 | +}else{if(B=="type"&&A.tagName=="input"){}else{if(B=="style"){for(n in H){var I=H[n]; | |
| 1675 | +if(n=="float"){n=SimileAjax.Platform.browser.isIE?"styleFloat":"cssFloat"; | |
| 1676 | +}A.style[n]=I; | |
| 1677 | +}}else{if(B=="children"){for(var E=0; | |
| 1678 | +E<H.length; | |
| 1679 | +E++){SimileAjax.DOM._createDOMFromTemplate(H[E],G,A); | |
| 1680 | +}}else{if(B!="tag"&&B!="elmt"){A.setAttribute(B,H); | |
| 1681 | +}}}}}}}}}return A; | |
| 1682 | +}}}; | |
| 1683 | +SimileAjax.DOM._cachedParent=null; | |
| 1684 | +SimileAjax.DOM.createElementFromString=function(A){if(SimileAjax.DOM._cachedParent==null){SimileAjax.DOM._cachedParent=document.createElement("div"); | |
| 1685 | +}SimileAjax.DOM._cachedParent.innerHTML=A; | |
| 1686 | +return SimileAjax.DOM._cachedParent.firstChild; | |
| 1687 | +}; | |
| 1688 | +SimileAjax.DOM.createDOMFromString=function(A,C,D){var B=typeof A=="string"?document.createElement(A):A; | |
| 1689 | +B.innerHTML=C; | |
| 1690 | +var E={elmt:B}; | |
| 1691 | +SimileAjax.DOM._processDOMChildrenConstructedFromString(E,B,D!=null?D:{}); | |
| 1692 | +return E; | |
| 1693 | +}; | |
| 1694 | +SimileAjax.DOM._processDOMConstructedFromString=function(D,A,B){var E=A.id; | |
| 1695 | +if(E!=null&&E.length>0){A.removeAttribute("id"); | |
| 1696 | +if(E in B){var C=A.parentNode; | |
| 1697 | +C.insertBefore(B[E],A); | |
| 1698 | +C.removeChild(A); | |
| 1699 | +D[E]=B[E]; | |
| 1700 | +return ; | |
| 1701 | +}else{D[E]=A; | |
| 1702 | +}}if(A.hasChildNodes()){SimileAjax.DOM._processDOMChildrenConstructedFromString(D,A,B); | |
| 1703 | +}}; | |
| 1704 | +SimileAjax.DOM._processDOMChildrenConstructedFromString=function(E,B,D){var C=B.firstChild; | |
| 1705 | +while(C!=null){var A=C.nextSibling; | |
| 1706 | +if(C.nodeType==1){SimileAjax.DOM._processDOMConstructedFromString(E,C,D); | |
| 1707 | +}C=A; | |
| 1708 | +}}; | |
| 1709 | + | |
| 1710 | + | |
| 1711 | +/* graphics.js */ | |
| 1712 | +SimileAjax.Graphics=new Object(); | |
| 1713 | +SimileAjax.Graphics.pngIsTranslucent=(!SimileAjax.Platform.browser.isIE)||(SimileAjax.Platform.browser.majorVersion>6); | |
| 1714 | +if(!SimileAjax.Graphics.pngIsTranslucent){SimileAjax.includeCssFile(document,SimileAjax.urlPrefix+"styles/graphics-ie6.css"); | |
| 1715 | +}SimileAjax.Graphics._createTranslucentImage1=function(A,C){var B=document.createElement("img"); | |
| 1716 | +B.setAttribute("src",A); | |
| 1717 | +if(C!=null){B.style.verticalAlign=C; | |
| 1718 | +}return B; | |
| 1719 | +}; | |
| 1720 | +SimileAjax.Graphics._createTranslucentImage2=function(A,C){var B=document.createElement("img"); | |
| 1721 | +B.style.width="1px"; | |
| 1722 | +B.style.height="1px"; | |
| 1723 | +B.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+A+"', sizingMethod='image')"; | |
| 1724 | +B.style.verticalAlign=(C!=null)?C:"middle"; | |
| 1725 | +return B; | |
| 1726 | +}; | |
| 1727 | +SimileAjax.Graphics.createTranslucentImage=SimileAjax.Graphics.pngIsTranslucent?SimileAjax.Graphics._createTranslucentImage1:SimileAjax.Graphics._createTranslucentImage2; | |
| 1728 | +SimileAjax.Graphics._createTranslucentImageHTML1=function(A,B){return'<img src="'+A+'"'+(B!=null?' style="vertical-align: '+B+';"':"")+" />"; | |
| 1729 | +}; | |
| 1730 | +SimileAjax.Graphics._createTranslucentImageHTML2=function(A,C){var B="width: 1px; height: 1px; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+A+"', sizingMethod='image');"+(C!=null?" vertical-align: "+C+";":""); | |
| 1731 | +return"<img src='"+A+"' style=\""+B+'" />'; | |
| 1732 | +}; | |
| 1733 | +SimileAjax.Graphics.createTranslucentImageHTML=SimileAjax.Graphics.pngIsTranslucent?SimileAjax.Graphics._createTranslucentImageHTML1:SimileAjax.Graphics._createTranslucentImageHTML2; | |
| 1734 | +SimileAjax.Graphics.setOpacity=function(B,A){if(SimileAjax.Platform.browser.isIE){B.style.filter="progid:DXImageTransform.Microsoft.Alpha(Style=0,Opacity="+A+")"; | |
| 1735 | +}else{var C=(A/100).toString(); | |
| 1736 | +B.style.opacity=C; | |
| 1737 | +B.style.MozOpacity=C; | |
| 1738 | +}}; | |
| 1739 | +SimileAjax.Graphics.bubbleConfig={containerCSSClass:"simileAjax-bubble-container",innerContainerCSSClass:"simileAjax-bubble-innerContainer",contentContainerCSSClass:"simileAjax-bubble-contentContainer",borderGraphicSize:50,borderGraphicCSSClassPrefix:"simileAjax-bubble-border-",arrowGraphicTargetOffset:33,arrowGraphicLength:100,arrowGraphicWidth:49,arrowGraphicCSSClassPrefix:"simileAjax-bubble-arrow-",closeGraphicCSSClass:"simileAjax-bubble-close",extraPadding:20}; | |
| 1740 | +SimileAjax.Graphics.createBubbleForContentAndPoint=function(F,E,C,B,D,A){if(typeof B!="number"){B=300; | |
| 1741 | +}if(typeof A!="number"){A=0; | |
| 1742 | +}F.style.position="absolute"; | |
| 1743 | +F.style.left="-5000px"; | |
| 1744 | +F.style.top="0px"; | |
| 1745 | +F.style.width=B+"px"; | |
| 1746 | +document.body.appendChild(F); | |
| 1747 | +window.setTimeout(function(){var H=F.scrollWidth+10; | |
| 1748 | +var J=F.scrollHeight+10; | |
| 1749 | +var G=0; | |
| 1750 | +if(A>0&&J>A){J=A; | |
| 1751 | +G=H-25; | |
| 1752 | +}var I=SimileAjax.Graphics.createBubbleForPoint(E,C,H,J,D); | |
| 1753 | +document.body.removeChild(F); | |
| 1754 | +F.style.position="static"; | |
| 1755 | +F.style.left=""; | |
| 1756 | +F.style.top=""; | |
| 1757 | +if(G>0){var K=document.createElement("div"); | |
| 1758 | +F.style.width=""; | |
| 1759 | +K.style.width=G+"px"; | |
| 1760 | +K.appendChild(F); | |
| 1761 | +I.content.appendChild(K); | |
| 1762 | +}else{F.style.width=H+"px"; | |
| 1763 | +I.content.appendChild(F); | |
| 1764 | +}},200); | |
| 1765 | +}; | |
| 1766 | +SimileAjax.Graphics.createBubbleForPoint=function(B,A,J,N,F){J=parseInt(J,10); | |
| 1767 | +N=parseInt(N,10); | |
| 1768 | +var E=SimileAjax.Graphics.bubbleConfig; | |
| 1769 | +var M=SimileAjax.Graphics.pngIsTranslucent?"pngTranslucent":"pngNotTranslucent"; | |
| 1770 | +var L=J+2*E.borderGraphicSize; | |
| 1771 | +var O=N+2*E.borderGraphicSize; | |
| 1772 | +var K=function(S){return S+" "+S+"-"+M; | |
| 1773 | +}; | |
| 1774 | +var H=document.createElement("div"); | |
| 1775 | +H.className=K(E.containerCSSClass); | |
| 1776 | +H.style.width=J+"px"; | |
| 1777 | +H.style.height=N+"px"; | |
| 1778 | +var D=document.createElement("div"); | |
| 1779 | +D.className=K(E.innerContainerCSSClass); | |
| 1780 | +H.appendChild(D); | |
| 1781 | +var I=function(){if(!Q._closed){document.body.removeChild(Q._div); | |
| 1782 | +Q._doc=null; | |
| 1783 | +Q._div=null; | |
| 1784 | +Q._content=null; | |
| 1785 | +Q._closed=true; | |
| 1786 | +}}; | |
| 1787 | +var Q={_closed:false}; | |
| 1788 | +var R=SimileAjax.WindowManager.pushLayer(I,true,H); | |
| 1789 | +Q._div=H; | |
| 1790 | +Q.close=function(){SimileAjax.WindowManager.popLayer(R); | |
| 1791 | +}; | |
| 1792 | +var G=function(T){var S=document.createElement("div"); | |
| 1793 | +S.className=K(E.borderGraphicCSSClassPrefix+T); | |
| 1794 | +D.appendChild(S); | |
| 1795 | +}; | |
| 1796 | +G("top-left"); | |
| 1797 | +G("top-right"); | |
| 1798 | +G("bottom-left"); | |
| 1799 | +G("bottom-right"); | |
| 1800 | +G("left"); | |
| 1801 | +G("right"); | |
| 1802 | +G("top"); | |
| 1803 | +G("bottom"); | |
| 1804 | +var C=document.createElement("div"); | |
| 1805 | +C.className=K(E.contentContainerCSSClass); | |
| 1806 | +D.appendChild(C); | |
| 1807 | +Q.content=C; | |
| 1808 | +var P=document.createElement("div"); | |
| 1809 | +P.className=K(E.closeGraphicCSSClass); | |
| 1810 | +D.appendChild(P); | |
| 1811 | +SimileAjax.WindowManager.registerEventWithObject(P,"click",Q,"close"); | |
| 1812 | +(function(){var Y=SimileAjax.Graphics.getWindowDimensions(); | |
| 1813 | +var T=Y.w; | |
| 1814 | +var U=Y.h; | |
| 1815 | +var V=Math.ceil(E.arrowGraphicWidth/2); | |
| 1816 | +var Z=function(b){var a=document.createElement("div"); | |
| 1817 | +a.className=K(E.arrowGraphicCSSClassPrefix+"point-"+b); | |
| 1818 | +D.appendChild(a); | |
| 1819 | +return a; | |
| 1820 | +}; | |
| 1821 | +if(B-V-E.borderGraphicSize-E.extraPadding>0&&B+V+E.borderGraphicSize+E.extraPadding<T){var X=B-Math.round(J/2); | |
| 1822 | +X=B<(T/2)?Math.max(X,E.extraPadding+E.borderGraphicSize):Math.min(X,T-E.extraPadding-E.borderGraphicSize-J); | |
| 1823 | +if((F&&F=="top")||(!F&&(A-E.arrowGraphicTargetOffset-N-E.borderGraphicSize-E.extraPadding>0))){var S=Z("down"); | |
| 1824 | +S.style.left=(B-V-X)+"px"; | |
| 1825 | +H.style.left=X+"px"; | |
| 1826 | +H.style.top=(A-E.arrowGraphicTargetOffset-N)+"px"; | |
| 1827 | +return ; | |
| 1828 | +}else{if((F&&F=="bottom")||(!F&&(A+E.arrowGraphicTargetOffset+N+E.borderGraphicSize+E.extraPadding<U))){var S=Z("up"); | |
| 1829 | +S.style.left=(B-V-X)+"px"; | |
| 1830 | +H.style.left=X+"px"; | |
| 1831 | +H.style.top=(A+E.arrowGraphicTargetOffset)+"px"; | |
| 1832 | +return ; | |
| 1833 | +}}}var W=A-Math.round(N/2); | |
| 1834 | +W=A<(U/2)?Math.max(W,E.extraPadding+E.borderGraphicSize):Math.min(W,U-E.extraPadding-E.borderGraphicSize-N); | |
| 1835 | +if((F&&F=="left")||(!F&&(B-E.arrowGraphicTargetOffset-J-E.borderGraphicSize-E.extraPadding>0))){var S=Z("right"); | |
| 1836 | +S.style.top=(A-V-W)+"px"; | |
| 1837 | +H.style.top=W+"px"; | |
| 1838 | +H.style.left=(B-E.arrowGraphicTargetOffset-J)+"px"; | |
| 1839 | +}else{var S=Z("left"); | |
| 1840 | +S.style.top=(A-V-W)+"px"; | |
| 1841 | +H.style.top=W+"px"; | |
| 1842 | +H.style.left=(B+E.arrowGraphicTargetOffset)+"px"; | |
| 1843 | +}})(); | |
| 1844 | +document.body.appendChild(H); | |
| 1845 | +return Q; | |
| 1846 | +}; | |
| 1847 | +SimileAjax.Graphics.getWindowDimensions=function(){if(typeof window.innerHeight=="number"){return{w:window.innerWidth,h:window.innerHeight}; | |
| 1848 | +}else{if(document.documentElement&&document.documentElement.clientHeight){return{w:document.documentElement.clientWidth,h:document.documentElement.clientHeight}; | |
| 1849 | +}else{if(document.body&&document.body.clientHeight){return{w:document.body.clientWidth,h:document.body.clientHeight}; | |
| 1850 | +}}}}; | |
| 1851 | +SimileAjax.Graphics.createMessageBubble=function(H){var G=H.createElement("div"); | |
| 1852 | +if(SimileAjax.Graphics.pngIsTranslucent){var I=H.createElement("div"); | |
| 1853 | +I.style.height="33px"; | |
| 1854 | +I.style.background="url("+SimileAjax.urlPrefix+"images/message-top-left.png) top left no-repeat"; | |
| 1855 | +I.style.paddingLeft="44px"; | |
| 1856 | +G.appendChild(I); | |
| 1857 | +var D=H.createElement("div"); | |
| 1858 | +D.style.height="33px"; | |
| 1859 | +D.style.background="url("+SimileAjax.urlPrefix+"images/message-top-right.png) top right no-repeat"; | |
| 1860 | +I.appendChild(D); | |
| 1861 | +var F=H.createElement("div"); | |
| 1862 | +F.style.background="url("+SimileAjax.urlPrefix+"images/message-left.png) top left repeat-y"; | |
| 1863 | +F.style.paddingLeft="44px"; | |
| 1864 | +G.appendChild(F); | |
| 1865 | +var B=H.createElement("div"); | |
| 1866 | +B.style.background="url("+SimileAjax.urlPrefix+"images/message-right.png) top right repeat-y"; | |
| 1867 | +B.style.paddingRight="44px"; | |
| 1868 | +F.appendChild(B); | |
| 1869 | +var C=H.createElement("div"); | |
| 1870 | +B.appendChild(C); | |
| 1871 | +var E=H.createElement("div"); | |
| 1872 | +E.style.height="55px"; | |
| 1873 | +E.style.background="url("+SimileAjax.urlPrefix+"images/message-bottom-left.png) bottom left no-repeat"; | |
| 1874 | +E.style.paddingLeft="44px"; | |
| 1875 | +G.appendChild(E); | |
| 1876 | +var A=H.createElement("div"); | |
| 1877 | +A.style.height="55px"; | |
| 1878 | +A.style.background="url("+SimileAjax.urlPrefix+"images/message-bottom-right.png) bottom right no-repeat"; | |
| 1879 | +E.appendChild(A); | |
| 1880 | +}else{G.style.border="2px solid #7777AA"; | |
| 1881 | +G.style.padding="20px"; | |
| 1882 | +G.style.background="white"; | |
| 1883 | +SimileAjax.Graphics.setOpacity(G,90); | |
| 1884 | +var C=H.createElement("div"); | |
| 1885 | +G.appendChild(C); | |
| 1886 | +}return{containerDiv:G,contentDiv:C}; | |
| 1887 | +}; | |
| 1888 | +SimileAjax.Graphics.createAnimation=function(B,E,D,C,A){return new SimileAjax.Graphics._Animation(B,E,D,C,A); | |
| 1889 | +}; | |
| 1890 | +SimileAjax.Graphics._Animation=function(B,E,D,C,A){this.f=B; | |
| 1891 | +this.cont=(typeof A=="function")?A:function(){}; | |
| 1892 | +this.from=E; | |
| 1893 | +this.to=D; | |
| 1894 | +this.current=E; | |
| 1895 | +this.duration=C; | |
| 1896 | +this.start=new Date().getTime(); | |
| 1897 | +this.timePassed=0; | |
| 1898 | +}; | |
| 1899 | +SimileAjax.Graphics._Animation.prototype.run=function(){var A=this; | |
| 1900 | +window.setTimeout(function(){A.step(); | |
| 1901 | +},50); | |
| 1902 | +}; | |
| 1903 | +SimileAjax.Graphics._Animation.prototype.step=function(){this.timePassed+=50; | |
| 1904 | +var A=this.timePassed/this.duration; | |
| 1905 | +var B=-Math.cos(A*Math.PI)/2+0.5; | |
| 1906 | +var D=B*(this.to-this.from)+this.from; | |
| 1907 | +try{this.f(D,D-this.current); | |
| 1908 | +}catch(C){}this.current=D; | |
| 1909 | +if(this.timePassed<this.duration){this.run(); | |
| 1910 | +}else{this.f(this.to,0); | |
| 1911 | +this["cont"](); | |
| 1912 | +}}; | |
| 1913 | +SimileAjax.Graphics.createStructuredDataCopyButton=function(F,B,D,E){var G=document.createElement("div"); | |
| 1914 | +G.style.position="relative"; | |
| 1915 | +G.style.display="inline"; | |
| 1916 | +G.style.width=B+"px"; | |
| 1917 | +G.style.height=D+"px"; | |
| 1918 | +G.style.overflow="hidden"; | |
| 1919 | +G.style.margin="2px"; | |
| 1920 | +if(SimileAjax.Graphics.pngIsTranslucent){G.style.background="url("+F+") no-repeat"; | |
| 1921 | +}else{G.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+F+"', sizingMethod='image')"; | |
| 1922 | +}var A; | |
| 1923 | +if(SimileAjax.Platform.browser.isIE){A="filter:alpha(opacity=0)"; | |
| 1924 | +}else{A="opacity: 0"; | |
| 1925 | +}G.innerHTML="<textarea rows='1' autocomplete='off' value='none' style='"+A+"' />"; | |
| 1926 | +var C=G.firstChild; | |
| 1927 | +C.style.width=B+"px"; | |
| 1928 | +C.style.height=D+"px"; | |
| 1929 | +C.onmousedown=function(H){H=(H)?H:((event)?event:null); | |
| 1930 | +if(H.button==2){C.value=E(); | |
| 1931 | +C.select(); | |
| 1932 | +}}; | |
| 1933 | +return G; | |
| 1934 | +}; | |
| 1935 | +SimileAjax.Graphics.getWidthHeight=function(C){var A,B; | |
| 1936 | +if(C.getBoundingClientRect==null){A=C.offsetWidth; | |
| 1937 | +B=C.offsetHeight; | |
| 1938 | +}else{var D=C.getBoundingClientRect(); | |
| 1939 | +A=Math.ceil(D.right-D.left); | |
| 1940 | +B=Math.ceil(D.bottom-D.top); | |
| 1941 | +}return{width:A,height:B}; | |
| 1942 | +}; | |
| 1943 | +SimileAjax.Graphics.getFontRenderingContext=function(A,B){return new SimileAjax.Graphics._FontRenderingContext(A,B); | |
| 1944 | +}; | |
| 1945 | +SimileAjax.Graphics._FontRenderingContext=function(A,B){this._elmt=A; | |
| 1946 | +this._elmt.style.visibility="hidden"; | |
| 1947 | +if(typeof B=="string"){this._elmt.style.width=B; | |
| 1948 | +}else{if(typeof B=="number"){this._elmt.style.width=B+"px"; | |
| 1949 | +}}}; | |
| 1950 | +SimileAjax.Graphics._FontRenderingContext.prototype.dispose=function(){this._elmt=null; | |
| 1951 | +}; | |
| 1952 | +SimileAjax.Graphics._FontRenderingContext.prototype.update=function(){this._elmt.innerHTML="A"; | |
| 1953 | +this._lineHeight=this._elmt.offsetHeight; | |
| 1954 | +}; | |
| 1955 | +SimileAjax.Graphics._FontRenderingContext.prototype.computeSize=function(D,B){var C=this._elmt; | |
| 1956 | +C.innerHTML=D; | |
| 1957 | +C.className=B===undefined?"":B; | |
| 1958 | +var A=SimileAjax.Graphics.getWidthHeight(C); | |
| 1959 | +C.className=""; | |
| 1960 | +return A; | |
| 1961 | +}; | |
| 1962 | +SimileAjax.Graphics._FontRenderingContext.prototype.getLineHeight=function(){return this._lineHeight; | |
| 1963 | +}; | |
| 1964 | + | |
| 1965 | + | |
| 1966 | +/* history.js */ | |
| 1967 | +SimileAjax.History={maxHistoryLength:10,historyFile:"__history__.html",enabled:true,_initialized:false,_listeners:new SimileAjax.ListenerQueue(),_actions:[],_baseIndex:0,_currentIndex:0,_plainDocumentTitle:document.title}; | |
| 1968 | +SimileAjax.History.formatHistoryEntryTitle=function(A){return SimileAjax.History._plainDocumentTitle+" {"+A+"}"; | |
| 1969 | +}; | |
| 1970 | +SimileAjax.History.initialize=function(){if(SimileAjax.History._initialized){return ; | |
| 1971 | +}if(SimileAjax.History.enabled){var A=document.createElement("iframe"); | |
| 1972 | +A.id="simile-ajax-history"; | |
| 1973 | +A.style.position="absolute"; | |
| 1974 | +A.style.width="10px"; | |
| 1975 | +A.style.height="10px"; | |
| 1976 | +A.style.top="0px"; | |
| 1977 | +A.style.left="0px"; | |
| 1978 | +A.style.visibility="hidden"; | |
| 1979 | +A.src=SimileAjax.History.historyFile+"?0"; | |
| 1980 | +document.body.appendChild(A); | |
| 1981 | +SimileAjax.DOM.registerEvent(A,"load",SimileAjax.History._handleIFrameOnLoad); | |
| 1982 | +SimileAjax.History._iframe=A; | |
| 1983 | +}SimileAjax.History._initialized=true; | |
| 1984 | +}; | |
| 1985 | +SimileAjax.History.addListener=function(A){SimileAjax.History.initialize(); | |
| 1986 | +SimileAjax.History._listeners.add(A); | |
| 1987 | +}; | |
| 1988 | +SimileAjax.History.removeListener=function(A){SimileAjax.History.initialize(); | |
| 1989 | +SimileAjax.History._listeners.remove(A); | |
| 1990 | +}; | |
| 1991 | +SimileAjax.History.addAction=function(A){SimileAjax.History.initialize(); | |
| 1992 | +SimileAjax.History._listeners.fire("onBeforePerform",[A]); | |
| 1993 | +window.setTimeout(function(){try{A.perform(); | |
| 1994 | +SimileAjax.History._listeners.fire("onAfterPerform",[A]); | |
| 1995 | +if(SimileAjax.History.enabled){SimileAjax.History._actions=SimileAjax.History._actions.slice(0,SimileAjax.History._currentIndex-SimileAjax.History._baseIndex); | |
| 1996 | +SimileAjax.History._actions.push(A); | |
| 1997 | +SimileAjax.History._currentIndex++; | |
| 1998 | +var C=SimileAjax.History._actions.length-SimileAjax.History.maxHistoryLength; | |
| 1999 | +if(C>0){SimileAjax.History._actions=SimileAjax.History._actions.slice(C); | |
| 2000 | +SimileAjax.History._baseIndex+=C; | |
| 2001 | +}try{SimileAjax.History._iframe.contentWindow.location.search="?"+SimileAjax.History._currentIndex; | |
| 2002 | +}catch(B){var D=SimileAjax.History.formatHistoryEntryTitle(A.label); | |
| 2003 | +document.title=D; | |
| 2004 | +}}}catch(B){SimileAjax.Debug.exception(B,"Error adding action {"+A.label+"} to history"); | |
| 2005 | +}},0); | |
| 2006 | +}; | |
| 2007 | +SimileAjax.History.addLengthyAction=function(B,A,C){SimileAjax.History.addAction({perform:B,undo:A,label:C,uiLayer:SimileAjax.WindowManager.getBaseLayer(),lengthy:true}); | |
| 2008 | +}; | |
| 2009 | +SimileAjax.History._handleIFrameOnLoad=function(){try{var B=SimileAjax.History._iframe.contentWindow.location.search; | |
| 2010 | +var F=(B.length==0)?0:Math.max(0,parseInt(B.substr(1))); | |
| 2011 | +var D=function(){var G=F-SimileAjax.History._currentIndex; | |
| 2012 | +SimileAjax.History._currentIndex+=G; | |
| 2013 | +SimileAjax.History._baseIndex+=G; | |
| 2014 | +SimileAjax.History._iframe.contentWindow.location.search="?"+F; | |
| 2015 | +}; | |
| 2016 | +if(F<SimileAjax.History._currentIndex){SimileAjax.History._listeners.fire("onBeforeUndoSeveral",[]); | |
| 2017 | +window.setTimeout(function(){while(SimileAjax.History._currentIndex>F&&SimileAjax.History._currentIndex>SimileAjax.History._baseIndex){SimileAjax.History._currentIndex--; | |
| 2018 | +var G=SimileAjax.History._actions[SimileAjax.History._currentIndex-SimileAjax.History._baseIndex]; | |
| 2019 | +try{G.undo(); | |
| 2020 | +}catch(H){SimileAjax.Debug.exception(H,"History: Failed to undo action {"+G.label+"}"); | |
| 2021 | +}}SimileAjax.History._listeners.fire("onAfterUndoSeveral",[]); | |
| 2022 | +D(); | |
| 2023 | +},0); | |
| 2024 | +}else{if(F>SimileAjax.History._currentIndex){SimileAjax.History._listeners.fire("onBeforeRedoSeveral",[]); | |
| 2025 | +window.setTimeout(function(){while(SimileAjax.History._currentIndex<F&&SimileAjax.History._currentIndex-SimileAjax.History._baseIndex<SimileAjax.History._actions.length){var G=SimileAjax.History._actions[SimileAjax.History._currentIndex-SimileAjax.History._baseIndex]; | |
| 2026 | +try{G.perform(); | |
| 2027 | +}catch(H){SimileAjax.Debug.exception(H,"History: Failed to redo action {"+G.label+"}"); | |
| 2028 | +}SimileAjax.History._currentIndex++; | |
| 2029 | +}SimileAjax.History._listeners.fire("onAfterRedoSeveral",[]); | |
| 2030 | +D(); | |
| 2031 | +},0); | |
| 2032 | +}else{var A=SimileAjax.History._currentIndex-SimileAjax.History._baseIndex-1; | |
| 2033 | +var E=(A>=0&&A<SimileAjax.History._actions.length)?SimileAjax.History.formatHistoryEntryTitle(SimileAjax.History._actions[A].label):SimileAjax.History._plainDocumentTitle; | |
| 2034 | +SimileAjax.History._iframe.contentWindow.document.title=E; | |
| 2035 | +document.title=E; | |
| 2036 | +}}}catch(C){}}; | |
| 2037 | +SimileAjax.History.getNextUndoAction=function(){try{var A=SimileAjax.History._currentIndex-SimileAjax.History._baseIndex-1; | |
| 2038 | +return SimileAjax.History._actions[A]; | |
| 2039 | +}catch(B){return null; | |
| 2040 | +}}; | |
| 2041 | +SimileAjax.History.getNextRedoAction=function(){try{var A=SimileAjax.History._currentIndex-SimileAjax.History._baseIndex; | |
| 2042 | +return SimileAjax.History._actions[A]; | |
| 2043 | +}catch(B){return null; | |
| 2044 | +}}; | |
| 2045 | + | |
| 2046 | + | |
| 2047 | +/* html.js */ | |
| 2048 | +SimileAjax.HTML=new Object(); | |
| 2049 | +SimileAjax.HTML._e2uHash={}; | |
| 2050 | +(function(){var A=SimileAjax.HTML._e2uHash; | |
| 2051 | +A["nbsp"]="\u00A0[space]"; | |
| 2052 | +A["iexcl"]="\u00A1"; | |
| 2053 | +A["cent"]="\u00A2"; | |
| 2054 | +A["pound"]="\u00A3"; | |
| 2055 | +A["curren"]="\u00A4"; | |
| 2056 | +A["yen"]="\u00A5"; | |
| 2057 | +A["brvbar"]="\u00A6"; | |
| 2058 | +A["sect"]="\u00A7"; | |
| 2059 | +A["uml"]="\u00A8"; | |
| 2060 | +A["copy"]="\u00A9"; | |
| 2061 | +A["ordf"]="\u00AA"; | |
| 2062 | +A["laquo"]="\u00AB"; | |
| 2063 | +A["not"]="\u00AC"; | |
| 2064 | +A["shy"]="\u00AD"; | |
| 2065 | +A["reg"]="\u00AE"; | |
| 2066 | +A["macr"]="\u00AF"; | |
| 2067 | +A["deg"]="\u00B0"; | |
| 2068 | +A["plusmn"]="\u00B1"; | |
| 2069 | +A["sup2"]="\u00B2"; | |
| 2070 | +A["sup3"]="\u00B3"; | |
| 2071 | +A["acute"]="\u00B4"; | |
| 2072 | +A["micro"]="\u00B5"; | |
| 2073 | +A["para"]="\u00B6"; | |
| 2074 | +A["middot"]="\u00B7"; | |
| 2075 | +A["cedil"]="\u00B8"; | |
| 2076 | +A["sup1"]="\u00B9"; | |
| 2077 | +A["ordm"]="\u00BA"; | |
| 2078 | +A["raquo"]="\u00BB"; | |
| 2079 | +A["frac14"]="\u00BC"; | |
| 2080 | +A["frac12"]="\u00BD"; | |
| 2081 | +A["frac34"]="\u00BE"; | |
| 2082 | +A["iquest"]="\u00BF"; | |
| 2083 | +A["Agrave"]="\u00C0"; | |
| 2084 | +A["Aacute"]="\u00C1"; | |
| 2085 | +A["Acirc"]="\u00C2"; | |
| 2086 | +A["Atilde"]="\u00C3"; | |
| 2087 | +A["Auml"]="\u00C4"; | |
| 2088 | +A["Aring"]="\u00C5"; | |
| 2089 | +A["AElig"]="\u00C6"; | |
| 2090 | +A["Ccedil"]="\u00C7"; | |
| 2091 | +A["Egrave"]="\u00C8"; | |
| 2092 | +A["Eacute"]="\u00C9"; | |
| 2093 | +A["Ecirc"]="\u00CA"; | |
| 2094 | +A["Euml"]="\u00CB"; | |
| 2095 | +A["Igrave"]="\u00CC"; | |
| 2096 | +A["Iacute"]="\u00CD"; | |
| 2097 | +A["Icirc"]="\u00CE"; | |
| 2098 | +A["Iuml"]="\u00CF"; | |
| 2099 | +A["ETH"]="\u00D0"; | |
| 2100 | +A["Ntilde"]="\u00D1"; | |
| 2101 | +A["Ograve"]="\u00D2"; | |
| 2102 | +A["Oacute"]="\u00D3"; | |
| 2103 | +A["Ocirc"]="\u00D4"; | |
| 2104 | +A["Otilde"]="\u00D5"; | |
| 2105 | +A["Ouml"]="\u00D6"; | |
| 2106 | +A["times"]="\u00D7"; | |
| 2107 | +A["Oslash"]="\u00D8"; | |
| 2108 | +A["Ugrave"]="\u00D9"; | |
| 2109 | +A["Uacute"]="\u00DA"; | |
| 2110 | +A["Ucirc"]="\u00DB"; | |
| 2111 | +A["Uuml"]="\u00DC"; | |
| 2112 | +A["Yacute"]="\u00DD"; | |
| 2113 | +A["THORN"]="\u00DE"; | |
| 2114 | +A["szlig"]="\u00DF"; | |
| 2115 | +A["agrave"]="\u00E0"; | |
| 2116 | +A["aacute"]="\u00E1"; | |
| 2117 | +A["acirc"]="\u00E2"; | |
| 2118 | +A["atilde"]="\u00E3"; | |
| 2119 | +A["auml"]="\u00E4"; | |
| 2120 | +A["aring"]="\u00E5"; | |
| 2121 | +A["aelig"]="\u00E6"; | |
| 2122 | +A["ccedil"]="\u00E7"; | |
| 2123 | +A["egrave"]="\u00E8"; | |
| 2124 | +A["eacute"]="\u00E9"; | |
| 2125 | +A["ecirc"]="\u00EA"; | |
| 2126 | +A["euml"]="\u00EB"; | |
| 2127 | +A["igrave"]="\u00EC"; | |
| 2128 | +A["iacute"]="\u00ED"; | |
| 2129 | +A["icirc"]="\u00EE"; | |
| 2130 | +A["iuml"]="\u00EF"; | |
| 2131 | +A["eth"]="\u00F0"; | |
| 2132 | +A["ntilde"]="\u00F1"; | |
| 2133 | +A["ograve"]="\u00F2"; | |
| 2134 | +A["oacute"]="\u00F3"; | |
| 2135 | +A["ocirc"]="\u00F4"; | |
| 2136 | +A["otilde"]="\u00F5"; | |
| 2137 | +A["ouml"]="\u00F6"; | |
| 2138 | +A["divide"]="\u00F7"; | |
| 2139 | +A["oslash"]="\u00F8"; | |
| 2140 | +A["ugrave"]="\u00F9"; | |
| 2141 | +A["uacute"]="\u00FA"; | |
| 2142 | +A["ucirc"]="\u00FB"; | |
| 2143 | +A["uuml"]="\u00FC"; | |
| 2144 | +A["yacute"]="\u00FD"; | |
| 2145 | +A["thorn"]="\u00FE"; | |
| 2146 | +A["yuml"]="\u00FF"; | |
| 2147 | +A["quot"]="\u0022"; | |
| 2148 | +A["amp"]="\u0026"; | |
| 2149 | +A["lt"]="\u003C"; | |
| 2150 | +A["gt"]="\u003E"; | |
| 2151 | +A["OElig"]=""; | |
| 2152 | +A["oelig"]="\u0153"; | |
| 2153 | +A["Scaron"]="\u0160"; | |
| 2154 | +A["scaron"]="\u0161"; | |
| 2155 | +A["Yuml"]="\u0178"; | |
| 2156 | +A["circ"]="\u02C6"; | |
| 2157 | +A["tilde"]="\u02DC"; | |
| 2158 | +A["ensp"]="\u2002"; | |
| 2159 | +A["emsp"]="\u2003"; | |
| 2160 | +A["thinsp"]="\u2009"; | |
| 2161 | +A["zwnj"]="\u200C"; | |
| 2162 | +A["zwj"]="\u200D"; | |
| 2163 | +A["lrm"]="\u200E"; | |
| 2164 | +A["rlm"]="\u200F"; | |
| 2165 | +A["ndash"]="\u2013"; | |
| 2166 | +A["mdash"]="\u2014"; | |
| 2167 | +A["lsquo"]="\u2018"; | |
| 2168 | +A["rsquo"]="\u2019"; | |
| 2169 | +A["sbquo"]="\u201A"; | |
| 2170 | +A["ldquo"]="\u201C"; | |
| 2171 | +A["rdquo"]="\u201D"; | |
| 2172 | +A["bdquo"]="\u201E"; | |
| 2173 | +A["dagger"]="\u2020"; | |
| 2174 | +A["Dagger"]="\u2021"; | |
| 2175 | +A["permil"]="\u2030"; | |
| 2176 | +A["lsaquo"]="\u2039"; | |
| 2177 | +A["rsaquo"]="\u203A"; | |
| 2178 | +A["euro"]="\u20AC"; | |
| 2179 | +A["fnof"]="\u0192"; | |
| 2180 | +A["Alpha"]="\u0391"; | |
| 2181 | +A["Beta"]="\u0392"; | |
| 2182 | +A["Gamma"]="\u0393"; | |
| 2183 | +A["Delta"]="\u0394"; | |
| 2184 | +A["Epsilon"]="\u0395"; | |
| 2185 | +A["Zeta"]="\u0396"; | |
| 2186 | +A["Eta"]="\u0397"; | |
| 2187 | +A["Theta"]="\u0398"; | |
| 2188 | +A["Iota"]="\u0399"; | |
| 2189 | +A["Kappa"]="\u039A"; | |
| 2190 | +A["Lambda"]="\u039B"; | |
| 2191 | +A["Mu"]="\u039C"; | |
| 2192 | +A["Nu"]="\u039D"; | |
| 2193 | +A["Xi"]="\u039E"; | |
| 2194 | +A["Omicron"]="\u039F"; | |
| 2195 | +A["Pi"]="\u03A0"; | |
| 2196 | +A["Rho"]="\u03A1"; | |
| 2197 | +A["Sigma"]="\u03A3"; | |
| 2198 | +A["Tau"]="\u03A4"; | |
| 2199 | +A["Upsilon"]="\u03A5"; | |
| 2200 | +A["Phi"]="\u03A6"; | |
| 2201 | +A["Chi"]="\u03A7"; | |
| 2202 | +A["Psi"]="\u03A8"; | |
| 2203 | +A["Omega"]="\u03A9"; | |
| 2204 | +A["alpha"]="\u03B1"; | |
| 2205 | +A["beta"]="\u03B2"; | |
| 2206 | +A["gamma"]="\u03B3"; | |
| 2207 | +A["delta"]="\u03B4"; | |
| 2208 | +A["epsilon"]="\u03B5"; | |
| 2209 | +A["zeta"]="\u03B6"; | |
| 2210 | +A["eta"]="\u03B7"; | |
| 2211 | +A["theta"]="\u03B8"; | |
| 2212 | +A["iota"]="\u03B9"; | |
| 2213 | +A["kappa"]="\u03BA"; | |
| 2214 | +A["lambda"]="\u03BB"; | |
| 2215 | +A["mu"]="\u03BC"; | |
| 2216 | +A["nu"]="\u03BD"; | |
| 2217 | +A["xi"]="\u03BE"; | |
| 2218 | +A["omicron"]="\u03BF"; | |
| 2219 | +A["pi"]="\u03C0"; | |
| 2220 | +A["rho"]="\u03C1"; | |
| 2221 | +A["sigmaf"]="\u03C2"; | |
| 2222 | +A["sigma"]="\u03C3"; | |
| 2223 | +A["tau"]="\u03C4"; | |
| 2224 | +A["upsilon"]="\u03C5"; | |
| 2225 | +A["phi"]="\u03C6"; | |
| 2226 | +A["chi"]="\u03C7"; | |
| 2227 | +A["psi"]="\u03C8"; | |
| 2228 | +A["omega"]="\u03C9"; | |
| 2229 | +A["thetasym"]="\u03D1"; | |
| 2230 | +A["upsih"]="\u03D2"; | |
| 2231 | +A["piv"]="\u03D6"; | |
| 2232 | +A["bull"]="\u2022"; | |
| 2233 | +A["hellip"]="\u2026"; | |
| 2234 | +A["prime"]="\u2032"; | |
| 2235 | +A["Prime"]="\u2033"; | |
| 2236 | +A["oline"]="\u203E"; | |
| 2237 | +A["frasl"]="\u2044"; | |
| 2238 | +A["weierp"]="\u2118"; | |
| 2239 | +A["image"]="\u2111"; | |
| 2240 | +A["real"]="\u211C"; | |
| 2241 | +A["trade"]="\u2122"; | |
| 2242 | +A["alefsym"]="\u2135"; | |
| 2243 | +A["larr"]="\u2190"; | |
| 2244 | +A["uarr"]="\u2191"; | |
| 2245 | +A["rarr"]="\u2192"; | |
| 2246 | +A["darr"]="\u2193"; | |
| 2247 | +A["harr"]="\u2194"; | |
| 2248 | +A["crarr"]="\u21B5"; | |
| 2249 | +A["lArr"]="\u21D0"; | |
| 2250 | +A["uArr"]="\u21D1"; | |
| 2251 | +A["rArr"]="\u21D2"; | |
| 2252 | +A["dArr"]="\u21D3"; | |
| 2253 | +A["hArr"]="\u21D4"; | |
| 2254 | +A["forall"]="\u2200"; | |
| 2255 | +A["part"]="\u2202"; | |
| 2256 | +A["exist"]="\u2203"; | |
| 2257 | +A["empty"]="\u2205"; | |
| 2258 | +A["nabla"]="\u2207"; | |
| 2259 | +A["isin"]="\u2208"; | |
| 2260 | +A["notin"]="\u2209"; | |
| 2261 | +A["ni"]="\u220B"; | |
| 2262 | +A["prod"]="\u220F"; | |
| 2263 | +A["sum"]="\u2211"; | |
| 2264 | +A["minus"]="\u2212"; | |
| 2265 | +A["lowast"]="\u2217"; | |
| 2266 | +A["radic"]="\u221A"; | |
| 2267 | +A["prop"]="\u221D"; | |
| 2268 | +A["infin"]="\u221E"; | |
| 2269 | +A["ang"]="\u2220"; | |
| 2270 | +A["and"]="\u2227"; | |
| 2271 | +A["or"]="\u2228"; | |
| 2272 | +A["cap"]="\u2229"; | |
| 2273 | +A["cup"]="\u222A"; | |
| 2274 | +A["int"]="\u222B"; | |
| 2275 | +A["there4"]="\u2234"; | |
| 2276 | +A["sim"]="\u223C"; | |
| 2277 | +A["cong"]="\u2245"; | |
| 2278 | +A["asymp"]="\u2248"; | |
| 2279 | +A["ne"]="\u2260"; | |
| 2280 | +A["equiv"]="\u2261"; | |
| 2281 | +A["le"]="\u2264"; | |
| 2282 | +A["ge"]="\u2265"; | |
| 2283 | +A["sub"]="\u2282"; | |
| 2284 | +A["sup"]="\u2283"; | |
| 2285 | +A["nsub"]="\u2284"; | |
| 2286 | +A["sube"]="\u2286"; | |
| 2287 | +A["supe"]="\u2287"; | |
| 2288 | +A["oplus"]="\u2295"; | |
| 2289 | +A["otimes"]="\u2297"; | |
| 2290 | +A["perp"]="\u22A5"; | |
| 2291 | +A["sdot"]="\u22C5"; | |
| 2292 | +A["lceil"]="\u2308"; | |
| 2293 | +A["rceil"]="\u2309"; | |
| 2294 | +A["lfloor"]="\u230A"; | |
| 2295 | +A["rfloor"]="\u230B"; | |
| 2296 | +A["lang"]="\u2329"; | |
| 2297 | +A["rang"]="\u232A"; | |
| 2298 | +A["loz"]="\u25CA"; | |
| 2299 | +A["spades"]="\u2660"; | |
| 2300 | +A["clubs"]="\u2663"; | |
| 2301 | +A["hearts"]="\u2665"; | |
| 2302 | +A["diams"]="\u2666"; | |
| 2303 | +})(); | |
| 2304 | +SimileAjax.HTML.deEntify=function(C){var D=SimileAjax.HTML._e2uHash; | |
| 2305 | +var B=/&(\w+?);/; | |
| 2306 | +while(B.test(C)){var A=C.match(B); | |
| 2307 | +C=C.replace(B,D[A[1]]); | |
| 2308 | +}return C; | |
| 2309 | +}; | |
| 2310 | + | |
| 2311 | + | |
| 2312 | +/* json.js */ | |
| 2313 | +SimileAjax.JSON=new Object(); | |
| 2314 | +(function(){var m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"}; | |
| 2315 | +var s={array:function(x){var a=["["],b,f,i,l=x.length,v; | |
| 2316 | +for(i=0; | |
| 2317 | +i<l; | |
| 2318 | +i+=1){v=x[i]; | |
| 2319 | +f=s[typeof v]; | |
| 2320 | +if(f){v=f(v); | |
| 2321 | +if(typeof v=="string"){if(b){a[a.length]=","; | |
| 2322 | +}a[a.length]=v; | |
| 2323 | +b=true; | |
| 2324 | +}}}a[a.length]="]"; | |
| 2325 | +return a.join(""); | |
| 2326 | +},"boolean":function(x){return String(x); | |
| 2327 | +},"null":function(x){return"null"; | |
| 2328 | +},number:function(x){return isFinite(x)?String(x):"null"; | |
| 2329 | +},object:function(x){if(x){if(x instanceof Array){return s.array(x); | |
| 2330 | +}var a=["{"],b,f,i,v; | |
| 2331 | +for(i in x){v=x[i]; | |
| 2332 | +f=s[typeof v]; | |
| 2333 | +if(f){v=f(v); | |
| 2334 | +if(typeof v=="string"){if(b){a[a.length]=","; | |
| 2335 | +}a.push(s.string(i),":",v); | |
| 2336 | +b=true; | |
| 2337 | +}}}a[a.length]="}"; | |
| 2338 | +return a.join(""); | |
| 2339 | +}return"null"; | |
| 2340 | +},string:function(x){if(/["\\\x00-\x1f]/.test(x)){x=x.replace(/([\x00-\x1f\\"])/g,function(a,b){var c=m[b]; | |
| 2341 | +if(c){return c; | |
| 2342 | +}c=b.charCodeAt(); | |
| 2343 | +return"\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16); | |
| 2344 | +}); | |
| 2345 | +}return'"'+x+'"'; | |
| 2346 | +}}; | |
| 2347 | +SimileAjax.JSON.toJSONString=function(o){if(o instanceof Object){return s.object(o); | |
| 2348 | +}else{if(o instanceof Array){return s.array(o); | |
| 2349 | +}else{return o.toString(); | |
| 2350 | +}}}; | |
| 2351 | +SimileAjax.JSON.parseJSON=function(){try{return !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(this.replace(/"(\\.|[^"\\])*"/g,"")))&&eval("("+this+")"); | |
| 2352 | +}catch(e){return false; | |
| 2353 | +}}; | |
| 2354 | +})(); | |
| 2355 | + | |
| 2356 | + | |
| 2357 | +/* string.js */ | |
| 2358 | +String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,""); | |
| 2359 | +}; | |
| 2360 | +String.prototype.startsWith=function(A){return this.length>=A.length&&this.substr(0,A.length)==A; | |
| 2361 | +}; | |
| 2362 | +String.prototype.endsWith=function(A){return this.length>=A.length&&this.substr(this.length-A.length)==A; | |
| 2363 | +}; | |
| 2364 | +String.substitute=function(C,A){var D=""; | |
| 2365 | +var F=0; | |
| 2366 | +while(F<C.length-1){var B=C.indexOf("%",F); | |
| 2367 | +if(B<0||B==C.length-1){break; | |
| 2368 | +}else{if(B>F&&C.charAt(B-1)=="\\"){D+=C.substring(F,B-1)+"%"; | |
| 2369 | +F=B+1; | |
| 2370 | +}else{var E=parseInt(C.charAt(B+1)); | |
| 2371 | +if(isNaN(E)||E>=A.length){D+=C.substring(F,B+2); | |
| 2372 | +}else{D+=C.substring(F,B)+A[E].toString(); | |
| 2373 | +}F=B+2; | |
| 2374 | +}}}if(F<C.length){D+=C.substring(F); | |
| 2375 | +}return D; | |
| 2376 | +}; | |
| 2377 | + | |
| 2378 | + | |
| 2379 | +/* units.js */ | |
| 2380 | +SimileAjax.NativeDateUnit=new Object(); | |
| 2381 | +SimileAjax.NativeDateUnit.makeDefaultValue=function(){return new Date(); | |
| 2382 | +}; | |
| 2383 | +SimileAjax.NativeDateUnit.cloneValue=function(A){return new Date(A.getTime()); | |
| 2384 | +}; | |
| 2385 | +SimileAjax.NativeDateUnit.getParser=function(A){if(typeof A=="string"){A=A.toLowerCase(); | |
| 2386 | +}return(A=="iso8601"||A=="iso 8601")?SimileAjax.DateTime.parseIso8601DateTime:SimileAjax.DateTime.parseGregorianDateTime; | |
| 2387 | +}; | |
| 2388 | +SimileAjax.NativeDateUnit.parseFromObject=function(A){return SimileAjax.DateTime.parseGregorianDateTime(A); | |
| 2389 | +}; | |
| 2390 | +SimileAjax.NativeDateUnit.toNumber=function(A){return A.getTime(); | |
| 2391 | +}; | |
| 2392 | +SimileAjax.NativeDateUnit.fromNumber=function(A){return new Date(A); | |
| 2393 | +}; | |
| 2394 | +SimileAjax.NativeDateUnit.compare=function(D,C){var B,A; | |
| 2395 | +if(typeof D=="object"){B=D.getTime(); | |
| 2396 | +}else{B=Number(D); | |
| 2397 | +}if(typeof C=="object"){A=C.getTime(); | |
| 2398 | +}else{A=Number(C); | |
| 2399 | +}return B-A; | |
| 2400 | +}; | |
| 2401 | +SimileAjax.NativeDateUnit.earlier=function(B,A){return SimileAjax.NativeDateUnit.compare(B,A)<0?B:A; | |
| 2402 | +}; | |
| 2403 | +SimileAjax.NativeDateUnit.later=function(B,A){return SimileAjax.NativeDateUnit.compare(B,A)>0?B:A; | |
| 2404 | +}; | |
| 2405 | +SimileAjax.NativeDateUnit.change=function(A,B){return new Date(A.getTime()+B); | |
| 2406 | +}; | |
| 2407 | + | |
| 2408 | + | |
| 2409 | +/* window-manager.js */ | |
| 2410 | +SimileAjax.WindowManager={_initialized:false,_listeners:[],_draggedElement:null,_draggedElementCallback:null,_dropTargetHighlightElement:null,_lastCoords:null,_ghostCoords:null,_draggingMode:"",_dragging:false,_layers:[]}; | |
| 2411 | +SimileAjax.WindowManager.initialize=function(){if(SimileAjax.WindowManager._initialized){return ; | |
| 2412 | +}SimileAjax.DOM.registerEvent(document.body,"mousedown",SimileAjax.WindowManager._onBodyMouseDown); | |
| 2413 | +SimileAjax.DOM.registerEvent(document.body,"mousemove",SimileAjax.WindowManager._onBodyMouseMove); | |
| 2414 | +SimileAjax.DOM.registerEvent(document.body,"mouseup",SimileAjax.WindowManager._onBodyMouseUp); | |
| 2415 | +SimileAjax.DOM.registerEvent(document,"keydown",SimileAjax.WindowManager._onBodyKeyDown); | |
| 2416 | +SimileAjax.DOM.registerEvent(document,"keyup",SimileAjax.WindowManager._onBodyKeyUp); | |
| 2417 | +SimileAjax.WindowManager._layers.push({index:0}); | |
| 2418 | +SimileAjax.WindowManager._historyListener={onBeforeUndoSeveral:function(){},onAfterUndoSeveral:function(){},onBeforeUndo:function(){},onAfterUndo:function(){},onBeforeRedoSeveral:function(){},onAfterRedoSeveral:function(){},onBeforeRedo:function(){},onAfterRedo:function(){}}; | |
| 2419 | +SimileAjax.History.addListener(SimileAjax.WindowManager._historyListener); | |
| 2420 | +SimileAjax.WindowManager._initialized=true; | |
| 2421 | +}; | |
| 2422 | +SimileAjax.WindowManager.getBaseLayer=function(){SimileAjax.WindowManager.initialize(); | |
| 2423 | +return SimileAjax.WindowManager._layers[0]; | |
| 2424 | +}; | |
| 2425 | +SimileAjax.WindowManager.getHighestLayer=function(){SimileAjax.WindowManager.initialize(); | |
| 2426 | +return SimileAjax.WindowManager._layers[SimileAjax.WindowManager._layers.length-1]; | |
| 2427 | +}; | |
| 2428 | +SimileAjax.WindowManager.registerEventWithObject=function(D,A,E,B,C){SimileAjax.WindowManager.registerEvent(D,A,function(G,F,H){return E[B].call(E,G,F,H); | |
| 2429 | +},C); | |
| 2430 | +}; | |
| 2431 | +SimileAjax.WindowManager.registerEvent=function(D,B,E,C){if(C==null){C=SimileAjax.WindowManager.getHighestLayer(); | |
| 2432 | +}var A=function(G,F,I){if(SimileAjax.WindowManager._canProcessEventAtLayer(C)){SimileAjax.WindowManager._popToLayer(C.index); | |
| 2433 | +try{E(G,F,I); | |
| 2434 | +}catch(H){SimileAjax.Debug.exception(H); | |
| 2435 | +}}SimileAjax.DOM.cancelEvent(F); | |
| 2436 | +return false; | |
| 2437 | +}; | |
| 2438 | +SimileAjax.DOM.registerEvent(D,B,A); | |
| 2439 | +}; | |
| 2440 | +SimileAjax.WindowManager.pushLayer=function(C,D,B){var A={onPop:C,index:SimileAjax.WindowManager._layers.length,ephemeral:(D),elmt:B}; | |
| 2441 | +SimileAjax.WindowManager._layers.push(A); | |
| 2442 | +return A; | |
| 2443 | +}; | |
| 2444 | +SimileAjax.WindowManager.popLayer=function(B){for(var A=1; | |
| 2445 | +A<SimileAjax.WindowManager._layers.length; | |
| 2446 | +A++){if(SimileAjax.WindowManager._layers[A]==B){SimileAjax.WindowManager._popToLayer(A-1); | |
| 2447 | +break; | |
| 2448 | +}}}; | |
| 2449 | +SimileAjax.WindowManager.popAllLayers=function(){SimileAjax.WindowManager._popToLayer(0); | |
| 2450 | +}; | |
| 2451 | +SimileAjax.WindowManager.registerForDragging=function(B,C,A){SimileAjax.WindowManager.registerEvent(B,"mousedown",function(E,D,F){SimileAjax.WindowManager._handleMouseDown(E,D,C); | |
| 2452 | +},A); | |
| 2453 | +}; | |
| 2454 | +SimileAjax.WindowManager._popToLayer=function(C){while(C+1<SimileAjax.WindowManager._layers.length){try{var A=SimileAjax.WindowManager._layers.pop(); | |
| 2455 | +if(A.onPop!=null){A.onPop(); | |
| 2456 | +}}catch(B){}}}; | |
| 2457 | +SimileAjax.WindowManager._canProcessEventAtLayer=function(B){if(B.index==(SimileAjax.WindowManager._layers.length-1)){return true; | |
| 2458 | +}for(var A=B.index+1; | |
| 2459 | +A<SimileAjax.WindowManager._layers.length; | |
| 2460 | +A++){if(!SimileAjax.WindowManager._layers[A].ephemeral){return false; | |
| 2461 | +}}return true; | |
| 2462 | +}; | |
| 2463 | +SimileAjax.WindowManager.cancelPopups=function(A){var F=(A)?SimileAjax.DOM.getEventPageCoordinates(A):{x:-1,y:-1}; | |
| 2464 | +var E=SimileAjax.WindowManager._layers.length-1; | |
| 2465 | +while(E>0&&SimileAjax.WindowManager._layers[E].ephemeral){var D=SimileAjax.WindowManager._layers[E]; | |
| 2466 | +if(D.elmt!=null){var C=D.elmt; | |
| 2467 | +var B=SimileAjax.DOM.getPageCoordinates(C); | |
| 2468 | +if(F.x>=B.left&&F.x<(B.left+C.offsetWidth)&&F.y>=B.top&&F.y<(B.top+C.offsetHeight)){break; | |
| 2469 | +}}E--; | |
| 2470 | +}SimileAjax.WindowManager._popToLayer(E); | |
| 2471 | +}; | |
| 2472 | +SimileAjax.WindowManager._onBodyMouseDown=function(B,A,C){if(!("eventPhase" in A)||A.eventPhase==A.BUBBLING_PHASE){SimileAjax.WindowManager.cancelPopups(A); | |
| 2473 | +}}; | |
| 2474 | +SimileAjax.WindowManager._handleMouseDown=function(B,A,C){SimileAjax.WindowManager._draggedElement=B; | |
| 2475 | +SimileAjax.WindowManager._draggedElementCallback=C; | |
| 2476 | +SimileAjax.WindowManager._lastCoords={x:A.clientX,y:A.clientY}; | |
| 2477 | +SimileAjax.DOM.cancelEvent(A); | |
| 2478 | +return false; | |
| 2479 | +}; | |
| 2480 | +SimileAjax.WindowManager._onBodyKeyDown=function(C,A,D){if(SimileAjax.WindowManager._dragging){if(A.keyCode==27){SimileAjax.WindowManager._cancelDragging(); | |
| 2481 | +}else{if((A.keyCode==17||A.keyCode==16)&&SimileAjax.WindowManager._draggingMode!="copy"){SimileAjax.WindowManager._draggingMode="copy"; | |
| 2482 | +var B=SimileAjax.Graphics.createTranslucentImage(SimileAjax.urlPrefix+"images/copy.png"); | |
| 2483 | +B.style.position="absolute"; | |
| 2484 | +B.style.left=(SimileAjax.WindowManager._ghostCoords.left-16)+"px"; | |
| 2485 | +B.style.top=(SimileAjax.WindowManager._ghostCoords.top)+"px"; | |
| 2486 | +document.body.appendChild(B); | |
| 2487 | +SimileAjax.WindowManager._draggingModeIndicatorElmt=B; | |
| 2488 | +}}}}; | |
| 2489 | +SimileAjax.WindowManager._onBodyKeyUp=function(B,A,C){if(SimileAjax.WindowManager._dragging){if(A.keyCode==17||A.keyCode==16){SimileAjax.WindowManager._draggingMode=""; | |
| 2490 | +if(SimileAjax.WindowManager._draggingModeIndicatorElmt!=null){document.body.removeChild(SimileAjax.WindowManager._draggingModeIndicatorElmt); | |
| 2491 | +SimileAjax.WindowManager._draggingModeIndicatorElmt=null; | |
| 2492 | +}}}}; | |
| 2493 | +SimileAjax.WindowManager._onBodyMouseMove=function(C,M,B){if(SimileAjax.WindowManager._draggedElement!=null){var L=SimileAjax.WindowManager._draggedElementCallback; | |
| 2494 | +var G=SimileAjax.WindowManager._lastCoords; | |
| 2495 | +var J=M.clientX-G.x; | |
| 2496 | +var I=M.clientY-G.y; | |
| 2497 | +if(!SimileAjax.WindowManager._dragging){if(Math.abs(J)>5||Math.abs(I)>5){try{if("onDragStart" in L){L.onDragStart(); | |
| 2498 | +}if("ghost" in L&&L.ghost){var P=SimileAjax.WindowManager._draggedElement; | |
| 2499 | +SimileAjax.WindowManager._ghostCoords=SimileAjax.DOM.getPageCoordinates(P); | |
| 2500 | +SimileAjax.WindowManager._ghostCoords.left+=J; | |
| 2501 | +SimileAjax.WindowManager._ghostCoords.top+=I; | |
| 2502 | +var K=P.cloneNode(true); | |
| 2503 | +K.style.position="absolute"; | |
| 2504 | +K.style.left=SimileAjax.WindowManager._ghostCoords.left+"px"; | |
| 2505 | +K.style.top=SimileAjax.WindowManager._ghostCoords.top+"px"; | |
| 2506 | +K.style.zIndex=1000; | |
| 2507 | +SimileAjax.Graphics.setOpacity(K,50); | |
| 2508 | +document.body.appendChild(K); | |
| 2509 | +L._ghostElmt=K; | |
| 2510 | +}SimileAjax.WindowManager._dragging=true; | |
| 2511 | +SimileAjax.WindowManager._lastCoords={x:M.clientX,y:M.clientY}; | |
| 2512 | +document.body.focus(); | |
| 2513 | +}catch(H){SimileAjax.Debug.exception("WindowManager: Error handling mouse down",H); | |
| 2514 | +SimileAjax.WindowManager._cancelDragging(); | |
| 2515 | +}}}else{try{SimileAjax.WindowManager._lastCoords={x:M.clientX,y:M.clientY}; | |
| 2516 | +if("onDragBy" in L){L.onDragBy(J,I); | |
| 2517 | +}if("_ghostElmt" in L){var K=L._ghostElmt; | |
| 2518 | +SimileAjax.WindowManager._ghostCoords.left+=J; | |
| 2519 | +SimileAjax.WindowManager._ghostCoords.top+=I; | |
| 2520 | +K.style.left=SimileAjax.WindowManager._ghostCoords.left+"px"; | |
| 2521 | +K.style.top=SimileAjax.WindowManager._ghostCoords.top+"px"; | |
| 2522 | +if(SimileAjax.WindowManager._draggingModeIndicatorElmt!=null){var O=SimileAjax.WindowManager._draggingModeIndicatorElmt; | |
| 2523 | +O.style.left=(SimileAjax.WindowManager._ghostCoords.left-16)+"px"; | |
| 2524 | +O.style.top=SimileAjax.WindowManager._ghostCoords.top+"px"; | |
| 2525 | +}if("droppable" in L&&L.droppable){var N=SimileAjax.DOM.getEventPageCoordinates(M); | |
| 2526 | +var B=SimileAjax.DOM.hittest(N.x,N.y,[SimileAjax.WindowManager._ghostElmt,SimileAjax.WindowManager._dropTargetHighlightElement]); | |
| 2527 | +B=SimileAjax.WindowManager._findDropTarget(B); | |
| 2528 | +if(B!=SimileAjax.WindowManager._potentialDropTarget){if(SimileAjax.WindowManager._dropTargetHighlightElement!=null){document.body.removeChild(SimileAjax.WindowManager._dropTargetHighlightElement); | |
| 2529 | +SimileAjax.WindowManager._dropTargetHighlightElement=null; | |
| 2530 | +SimileAjax.WindowManager._potentialDropTarget=null; | |
| 2531 | +}var A=false; | |
| 2532 | +if(B!=null){if((!("canDropOn" in L)||L.canDropOn(B))&&(!("canDrop" in B)||B.canDrop(SimileAjax.WindowManager._draggedElement))){A=true; | |
| 2533 | +}}if(A){var E=4; | |
| 2534 | +var D=SimileAjax.DOM.getPageCoordinates(B); | |
| 2535 | +var F=document.createElement("div"); | |
| 2536 | +F.style.border=E+"px solid yellow"; | |
| 2537 | +F.style.backgroundColor="yellow"; | |
| 2538 | +F.style.position="absolute"; | |
| 2539 | +F.style.left=D.left+"px"; | |
| 2540 | +F.style.top=D.top+"px"; | |
| 2541 | +F.style.width=(B.offsetWidth-E*2)+"px"; | |
| 2542 | +F.style.height=(B.offsetHeight-E*2)+"px"; | |
| 2543 | +SimileAjax.Graphics.setOpacity(F,30); | |
| 2544 | +document.body.appendChild(F); | |
| 2545 | +SimileAjax.WindowManager._potentialDropTarget=B; | |
| 2546 | +SimileAjax.WindowManager._dropTargetHighlightElement=F; | |
| 2547 | +}}}}}catch(H){SimileAjax.Debug.exception("WindowManager: Error handling mouse move",H); | |
| 2548 | +SimileAjax.WindowManager._cancelDragging(); | |
| 2549 | +}}SimileAjax.DOM.cancelEvent(M); | |
| 2550 | +return false; | |
| 2551 | +}}; | |
| 2552 | +SimileAjax.WindowManager._onBodyMouseUp=function(B,A,E){if(SimileAjax.WindowManager._draggedElement!=null){try{if(SimileAjax.WindowManager._dragging){var C=SimileAjax.WindowManager._draggedElementCallback; | |
| 2553 | +if("onDragEnd" in C){C.onDragEnd(); | |
| 2554 | +}if("droppable" in C&&C.droppable){var D=false; | |
| 2555 | +var E=SimileAjax.WindowManager._potentialDropTarget; | |
| 2556 | +if(E!=null){if((!("canDropOn" in C)||C.canDropOn(E))&&(!("canDrop" in E)||E.canDrop(SimileAjax.WindowManager._draggedElement))){if("onDropOn" in C){C.onDropOn(E); | |
| 2557 | +}E.ondrop(SimileAjax.WindowManager._draggedElement,SimileAjax.WindowManager._draggingMode); | |
| 2558 | +D=true; | |
| 2559 | +}}if(!D){}}}}finally{SimileAjax.WindowManager._cancelDragging(); | |
| 2560 | +}SimileAjax.DOM.cancelEvent(A); | |
| 2561 | +return false; | |
| 2562 | +}}; | |
| 2563 | +SimileAjax.WindowManager._cancelDragging=function(){var A=SimileAjax.WindowManager._draggedElementCallback; | |
| 2564 | +if("_ghostElmt" in A){var B=A._ghostElmt; | |
| 2565 | +document.body.removeChild(B); | |
| 2566 | +delete A._ghostElmt; | |
| 2567 | +}if(SimileAjax.WindowManager._dropTargetHighlightElement!=null){document.body.removeChild(SimileAjax.WindowManager._dropTargetHighlightElement); | |
| 2568 | +SimileAjax.WindowManager._dropTargetHighlightElement=null; | |
| 2569 | +}if(SimileAjax.WindowManager._draggingModeIndicatorElmt!=null){document.body.removeChild(SimileAjax.WindowManager._draggingModeIndicatorElmt); | |
| 2570 | +SimileAjax.WindowManager._draggingModeIndicatorElmt=null; | |
| 2571 | +}SimileAjax.WindowManager._draggedElement=null; | |
| 2572 | +SimileAjax.WindowManager._draggedElementCallback=null; | |
| 2573 | +SimileAjax.WindowManager._potentialDropTarget=null; | |
| 2574 | +SimileAjax.WindowManager._dropTargetHighlightElement=null; | |
| 2575 | +SimileAjax.WindowManager._lastCoords=null; | |
| 2576 | +SimileAjax.WindowManager._ghostCoords=null; | |
| 2577 | +SimileAjax.WindowManager._draggingMode=""; | |
| 2578 | +SimileAjax.WindowManager._dragging=false; | |
| 2579 | +}; | |
| 2580 | +SimileAjax.WindowManager._findDropTarget=function(A){while(A!=null){if("ondrop" in A&&(typeof A.ondrop)=="function"){break; | |
| 2581 | +}A=A.parentNode; | |
| 2582 | +}return A; | |
| 2583 | +}; | |
| 2584 | + | |
| 2585 | + | |
| 2586 | +/* xmlhttp.js */ | |
| 2587 | +SimileAjax.XmlHttp=new Object(); | |
| 2588 | +SimileAjax.XmlHttp._onReadyStateChange=function(A,D,B){switch(A.readyState){case 4:try{if(A.status==0||A.status==200){if(B){B(A); | |
| 2589 | +}}else{if(D){D(A.statusText,A.status,A); | |
| 2590 | +}}}catch(C){SimileAjax.Debug.exception("XmlHttp: Error handling onReadyStateChange",C); | |
| 2591 | +}break; | |
| 2592 | +}}; | |
| 2593 | +SimileAjax.XmlHttp._createRequest=function(){if(SimileAjax.Platform.browser.isIE){var B=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"]; | |
| 2594 | +for(var C=0; | |
| 2595 | +C<B.length; | |
| 2596 | +C++){try{var A=B[C]; | |
| 2597 | +var D=function(){return new ActiveXObject(A); | |
| 2598 | +}; | |
| 2599 | +var F=D(); | |
| 2600 | +SimileAjax.XmlHttp._createRequest=D; | |
| 2601 | +return F; | |
| 2602 | +}catch(E){}}}try{var D=function(){return new XMLHttpRequest(); | |
| 2603 | +}; | |
| 2604 | +var F=D(); | |
| 2605 | +SimileAjax.XmlHttp._createRequest=D; | |
| 2606 | +return F; | |
| 2607 | +}catch(E){throw new Error("Failed to create an XMLHttpRequest object"); | |
| 2608 | +}}; | |
| 2609 | +SimileAjax.XmlHttp.get=function(B,D,C){var A=SimileAjax.XmlHttp._createRequest(); | |
| 2610 | +A.open("GET",B,true); | |
| 2611 | +A.onreadystatechange=function(){SimileAjax.XmlHttp._onReadyStateChange(A,D,C); | |
| 2612 | +}; | |
| 2613 | +A.send(null); | |
| 2614 | +}; | |
| 2615 | +SimileAjax.XmlHttp.post=function(C,A,E,D){var B=SimileAjax.XmlHttp._createRequest(); | |
| 2616 | +B.open("POST",C,true); | |
| 2617 | +B.onreadystatechange=function(){SimileAjax.XmlHttp._onReadyStateChange(B,E,D); | |
| 2618 | +}; | |
| 2619 | +B.send(A); | |
| 2620 | +}; | |
| 2621 | +SimileAjax.XmlHttp._forceXML=function(A){try{A.overrideMimeType("text/xml"); | |
| 2622 | +}catch(B){A.setrequestheader("Content-Type","text/xml"); | |
| 2623 | +}}; | ... | ... |
pacotes/simile/timeline_2.3.0/timeline_ajax/styles/graphics-ie6.css
0 → 100644
| ... | ... | @@ -0,0 +1,77 @@ |
| 1 | +.simileAjax-bubble-border-left-pngNotTranslucent { | |
| 2 | + filter: expression( | |
| 3 | + "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + SimileAjax.urlPrefix + "images/bubble-left.png', sizingMethod='crop')" | |
| 4 | + ); | |
| 5 | +} | |
| 6 | + | |
| 7 | +.simileAjax-bubble-border-right-pngNotTranslucent { | |
| 8 | + filter: expression( | |
| 9 | + "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + SimileAjax.urlPrefix + "images/bubble-right.png', sizingMethod='crop')" | |
| 10 | + ); | |
| 11 | +} | |
| 12 | + | |
| 13 | +.simileAjax-bubble-border-top-pngNotTranslucent { | |
| 14 | + filter: expression( | |
| 15 | + "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + SimileAjax.urlPrefix + "images/bubble-top.png', sizingMethod='crop')" | |
| 16 | + ); | |
| 17 | +} | |
| 18 | + | |
| 19 | +.simileAjax-bubble-border-bottom-pngNotTranslucent { | |
| 20 | + filter: expression( | |
| 21 | + "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + SimileAjax.urlPrefix + "images/bubble-bottom.png', sizingMethod='crop')" | |
| 22 | + ); | |
| 23 | +} | |
| 24 | + | |
| 25 | +.simileAjax-bubble-border-top-left-pngNotTranslucent { | |
| 26 | + filter: expression( | |
| 27 | + "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + SimileAjax.urlPrefix + "images/bubble-top-left.png', sizingMethod='crop')" | |
| 28 | + ); | |
| 29 | +} | |
| 30 | + | |
| 31 | +.simileAjax-bubble-border-top-right-pngNotTranslucent { | |
| 32 | + filter: expression( | |
| 33 | + "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + SimileAjax.urlPrefix + "images/bubble-top-right.png', sizingMethod='crop')" | |
| 34 | + ); | |
| 35 | +} | |
| 36 | + | |
| 37 | +.simileAjax-bubble-border-bottom-left-pngNotTranslucent { | |
| 38 | + filter: expression( | |
| 39 | + "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + SimileAjax.urlPrefix + "images/bubble-bottom-left.png', sizingMethod='crop')" | |
| 40 | + ); | |
| 41 | +} | |
| 42 | + | |
| 43 | +.simileAjax-bubble-border-bottom-right-pngNotTranslucent { | |
| 44 | + filter: expression( | |
| 45 | + "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + SimileAjax.urlPrefix + "images/bubble-bottom-right.png', sizingMethod='crop')" | |
| 46 | + ); | |
| 47 | +} | |
| 48 | + | |
| 49 | +.simileAjax-bubble-arrow-point-left-pngNotTranslucent { | |
| 50 | + filter: expression( | |
| 51 | + "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + SimileAjax.urlPrefix + "images/bubble-arrow-point-left.png', sizingMethod='crop')" | |
| 52 | + ); | |
| 53 | +} | |
| 54 | + | |
| 55 | +.simileAjax-bubble-arrow-point-right-pngNotTranslucent { | |
| 56 | + filter: expression( | |
| 57 | + "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + SimileAjax.urlPrefix + "images/bubble-arrow-point-right.png', sizingMethod='crop')" | |
| 58 | + ); | |
| 59 | +} | |
| 60 | + | |
| 61 | +.simileAjax-bubble-arrow-point-up-pngNotTranslucent { | |
| 62 | + filter: expression( | |
| 63 | + "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + SimileAjax.urlPrefix + "images/bubble-arrow-point-up.png', sizingMethod='crop')" | |
| 64 | + ); | |
| 65 | +} | |
| 66 | + | |
| 67 | +.simileAjax-bubble-arrow-point-down-pngNotTranslucent { | |
| 68 | + filter: expression( | |
| 69 | + "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + SimileAjax.urlPrefix + "images/bubble-arrow-point-down.png', sizingMethod='crop')" | |
| 70 | + ); | |
| 71 | +} | |
| 72 | + | |
| 73 | +.simileAjax-bubble-close-pngNotTranslucent { | |
| 74 | + filter: expression( | |
| 75 | + "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + SimileAjax.urlPrefix + "images/close-button.png', sizingMethod='crop')" | |
| 76 | + ); | |
| 77 | +} | ... | ... |
pacotes/simile/timeline_2.3.0/timeline_ajax/styles/graphics.css
0 → 100644
| ... | ... | @@ -0,0 +1,171 @@ |
| 1 | +div.simileAjax-bubble-container { | |
| 2 | + margin: 0px; | |
| 3 | + padding: 0px; | |
| 4 | + border: none; | |
| 5 | + position: absolute; | |
| 6 | + z-index: 1000; | |
| 7 | +} | |
| 8 | + | |
| 9 | +div.simileAjax-bubble-innerContainer { | |
| 10 | + margin: 0px; | |
| 11 | + padding: 0px; | |
| 12 | + border: none; | |
| 13 | + position: relative; | |
| 14 | + width: 100%; | |
| 15 | + height: 100%; | |
| 16 | + overflow: visible; | |
| 17 | +} | |
| 18 | + | |
| 19 | +div.simileAjax-bubble-contentContainer { | |
| 20 | + margin: 0px; | |
| 21 | + padding: 0px; | |
| 22 | + border: none; | |
| 23 | + position: absolute; | |
| 24 | + left: 0px; | |
| 25 | + top: 0px; | |
| 26 | + width: 100%; | |
| 27 | + height: 100%; | |
| 28 | + overflow: auto; | |
| 29 | + background: white; | |
| 30 | +} | |
| 31 | + | |
| 32 | +div.simileAjax-bubble-border-left { | |
| 33 | + position: absolute; | |
| 34 | + left: -50px; | |
| 35 | + top: 0px; | |
| 36 | + width: 50px; | |
| 37 | + height: 100%; | |
| 38 | +} | |
| 39 | +div.simileAjax-bubble-border-left-pngTranslucent { | |
| 40 | + background: url(../images/bubble-left.png) top right repeat-y; | |
| 41 | +} | |
| 42 | + | |
| 43 | +div.simileAjax-bubble-border-right { | |
| 44 | + position: absolute; | |
| 45 | + right: -50px; | |
| 46 | + top: 0px; | |
| 47 | + width: 50px; | |
| 48 | + height: 100%; | |
| 49 | +} | |
| 50 | +.simileAjax-bubble-border-right-pngTranslucent { | |
| 51 | + background: url(../images/bubble-right.png) top left repeat-y; | |
| 52 | +} | |
| 53 | + | |
| 54 | +div.simileAjax-bubble-border-top { | |
| 55 | + position: absolute; | |
| 56 | + top: -50px; | |
| 57 | + left: 0px; | |
| 58 | + width: 100%; | |
| 59 | + height: 50px; | |
| 60 | +} | |
| 61 | +.simileAjax-bubble-border-top-pngTranslucent { | |
| 62 | + background: url(../images/bubble-top.png) bottom left repeat-x; | |
| 63 | +} | |
| 64 | + | |
| 65 | +div.simileAjax-bubble-border-bottom { | |
| 66 | + position: absolute; | |
| 67 | + bottom: -50px; | |
| 68 | + left: 0px; | |
| 69 | + width: 100%; | |
| 70 | + height: 50px; | |
| 71 | +} | |
| 72 | +.simileAjax-bubble-border-bottom-pngTranslucent { | |
| 73 | + background: url(../images/bubble-bottom.png) top left repeat-x; | |
| 74 | +} | |
| 75 | + | |
| 76 | +div.simileAjax-bubble-border-top-left { | |
| 77 | + position: absolute; | |
| 78 | + top: -50px; | |
| 79 | + left: -50px; | |
| 80 | + width: 50px; | |
| 81 | + height: 50px; | |
| 82 | +} | |
| 83 | +.simileAjax-bubble-border-top-left-pngTranslucent { | |
| 84 | + background: url(../images/bubble-top-left.png) bottom right no-repeat; | |
| 85 | +} | |
| 86 | + | |
| 87 | +div.simileAjax-bubble-border-top-right { | |
| 88 | + position: absolute; | |
| 89 | + top: -50px; | |
| 90 | + right: -50px; | |
| 91 | + width: 50px; | |
| 92 | + height: 50px; | |
| 93 | +} | |
| 94 | +.simileAjax-bubble-border-top-right-pngTranslucent { | |
| 95 | + background: url(../images/bubble-top-right.png) bottom left no-repeat; | |
| 96 | +} | |
| 97 | + | |
| 98 | +div.simileAjax-bubble-border-bottom-left { | |
| 99 | + position: absolute; | |
| 100 | + bottom: -50px; | |
| 101 | + left: -50px; | |
| 102 | + width: 50px; | |
| 103 | + height: 50px; | |
| 104 | +} | |
| 105 | +.simileAjax-bubble-border-bottom-left-pngTranslucent { | |
| 106 | + background: url(../images/bubble-bottom-left.png) top right no-repeat; | |
| 107 | +} | |
| 108 | + | |
| 109 | +div.simileAjax-bubble-border-bottom-right { | |
| 110 | + position: absolute; | |
| 111 | + bottom: -50px; | |
| 112 | + right: -50px; | |
| 113 | + width: 50px; | |
| 114 | + height: 50px; | |
| 115 | +} | |
| 116 | +.simileAjax-bubble-border-bottom-right-pngTranslucent { | |
| 117 | + background: url(../images/bubble-bottom-right.png) top left no-repeat; | |
| 118 | +} | |
| 119 | + | |
| 120 | +div.simileAjax-bubble-arrow-point-left { | |
| 121 | + position: absolute; | |
| 122 | + left: -100px; | |
| 123 | + width: 100px; | |
| 124 | + height: 49px; | |
| 125 | +} | |
| 126 | +.simileAjax-bubble-arrow-point-left-pngTranslucent { | |
| 127 | + background: url(../images/bubble-arrow-point-left.png) center right no-repeat; | |
| 128 | +} | |
| 129 | + | |
| 130 | +div.simileAjax-bubble-arrow-point-right { | |
| 131 | + position: absolute; | |
| 132 | + right: -100px; | |
| 133 | + width: 100px; | |
| 134 | + height: 49px; | |
| 135 | +} | |
| 136 | +.simileAjax-bubble-arrow-point-right-pngTranslucent { | |
| 137 | + background: url(../images/bubble-arrow-point-right.png) center left no-repeat; | |
| 138 | +} | |
| 139 | + | |
| 140 | +div.simileAjax-bubble-arrow-point-up { | |
| 141 | + position: absolute; | |
| 142 | + top: -100px; | |
| 143 | + width: 49px; | |
| 144 | + height: 100px; | |
| 145 | +} | |
| 146 | +.simileAjax-bubble-arrow-point-up-pngTranslucent { | |
| 147 | + background: url(../images/bubble-arrow-point-up.png) bottom center no-repeat; | |
| 148 | +} | |
| 149 | + | |
| 150 | +div.simileAjax-bubble-arrow-point-down { | |
| 151 | + position: absolute; | |
| 152 | + bottom: -100px; | |
| 153 | + width: 49px; | |
| 154 | + height: 100px; | |
| 155 | +} | |
| 156 | +.simileAjax-bubble-arrow-point-down-pngTranslucent { | |
| 157 | + background: url(../images/bubble-arrow-point-down.png) bottom center no-repeat; | |
| 158 | +} | |
| 159 | + | |
| 160 | + | |
| 161 | +div.simileAjax-bubble-close { | |
| 162 | + position: absolute; | |
| 163 | + right: -10px; | |
| 164 | + top: -12px; | |
| 165 | + width: 16px; | |
| 166 | + height: 16px; | |
| 167 | + cursor: pointer; | |
| 168 | +} | |
| 169 | +.simileAjax-bubble-close-pngTranslucent { | |
| 170 | + background: url(../images/close-button.png) no-repeat; | |
| 171 | +} | ... | ... |
534 Bytes
pacotes/simile/timeline_2.3.0/timeline_js/images/bubble-bottom-arrow.png
0 → 100644
1.06 KB
pacotes/simile/timeline_2.3.0/timeline_js/images/bubble-bottom-left.png
0 → 100644
754 Bytes
pacotes/simile/timeline_2.3.0/timeline_js/images/bubble-bottom-right.png
0 → 100644
803 Bytes
1.11 KB
pacotes/simile/timeline_2.3.0/timeline_js/images/bubble-left-arrow.png
0 → 100644
880 Bytes
5.54 KB
pacotes/simile/timeline_2.3.0/timeline_js/images/bubble-right-arrow.png
0 → 100644
941 Bytes
5.55 KB
793 Bytes
560 Bytes
676 Bytes
905 Bytes
624 Bytes
pacotes/simile/timeline_2.3.0/timeline_js/images/copyright-vertical.png
0 → 100644
1.66 KB
1.37 KB
551 Bytes
pacotes/simile/timeline_2.3.0/timeline_js/images/dark-green-circle.png
0 → 100644
513 Bytes
497 Bytes
539 Bytes
pacotes/simile/timeline_2.3.0/timeline_js/images/dull-green-circle.png
0 → 100644
539 Bytes
532 Bytes
513 Bytes
544 Bytes
pacotes/simile/timeline_2.3.0/timeline_js/images/message-bottom-left.png
0 → 100644
1.31 KB
pacotes/simile/timeline_2.3.0/timeline_js/images/message-bottom-right.png
0 → 100644
2.03 KB
717 Bytes
1.85 KB
918 Bytes
pacotes/simile/timeline_2.3.0/timeline_js/images/message-top-right.png
0 → 100644
1.57 KB
1002 Bytes
538 Bytes
5.95 KB
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/cs/labellers.js
0 → 100644
| ... | ... | @@ -0,0 +1,30 @@ |
| 1 | +/*================================================== | |
| 2 | + * Localization of labellers.js | |
| 3 | + *================================================== | |
| 4 | + */ | |
| 5 | + | |
| 6 | +Timeline.GregorianDateLabeller.monthNames["cs"] = [ | |
| 7 | + "Leden", "Únor", "Bøezen", "Duben", "Kvìten", "Èerven", "Èervenec", "Srpen", "Záøí", "Øíjen", "Listopad", "Prosinec" | |
| 8 | +]; | |
| 9 | + | |
| 10 | +Timeline.GregorianDateLabeller.dayNames["cs"] = [ | |
| 11 | + "Ne", "Po", "Út", "St", "Èt", "Pá", "So" | |
| 12 | +]; | |
| 13 | + | |
| 14 | +Timeline.GregorianDateLabeller.labelIntervalFunctions["cs"] = function(date, intervalUnit) { | |
| 15 | + var text; | |
| 16 | + var emphasized = false; | |
| 17 | + | |
| 18 | + var date2 = Timeline.DateTime.removeTimeZoneOffset(date, this._timeZone); | |
| 19 | + | |
| 20 | + switch(intervalUnit) { | |
| 21 | + case Timeline.DateTime.DAY: | |
| 22 | + case Timeline.DateTime.WEEK: | |
| 23 | + text = date2.getUTCDate() + ". " + (date2.getUTCMonth() + 1) + "."; | |
| 24 | + break; | |
| 25 | + default: | |
| 26 | + return this.defaultLabelInterval(date, intervalUnit); | |
| 27 | + } | |
| 28 | + | |
| 29 | + return { text: text, emphasized: emphasized }; | |
| 30 | +}; | ... | ... |
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/cs/timeline.js
0 → 100644
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/de/labellers.js
0 → 100644
| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | +/*================================================== | |
| 2 | + * Localization of labellers.js | |
| 3 | + *================================================== | |
| 4 | + */ | |
| 5 | + | |
| 6 | +Timeline.GregorianDateLabeller.monthNames["de"] = [ | |
| 7 | + "Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez" | |
| 8 | +]; | |
| 9 | + | |
| 10 | +Timeline.GregorianDateLabeller.labelIntervalFunctions["de"] = function(date, intervalUnit) { | |
| 11 | + var text; | |
| 12 | + var emphasized = false; | |
| 13 | + | |
| 14 | + var date2 = Timeline.DateTime.removeTimeZoneOffset(date, this._timeZone); | |
| 15 | + | |
| 16 | + switch(intervalUnit) { | |
| 17 | + case Timeline.DateTime.DAY: | |
| 18 | + case Timeline.DateTime.WEEK: | |
| 19 | + text = date2.getUTCDate() + ". " + | |
| 20 | + Timeline.GregorianDateLabeller.getMonthName(date2.getUTCMonth(), this._locale); | |
| 21 | + break; | |
| 22 | + default: | |
| 23 | + return this.defaultLabelInterval(date, intervalUnit); | |
| 24 | + } | |
| 25 | + | |
| 26 | + return { text: text, emphasized: emphasized }; | |
| 27 | +}; | |
| 0 | 28 | \ No newline at end of file | ... | ... |
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/de/timeline.js
0 → 100644
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/en/labellers.js
0 → 100644
| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | +/*================================================== | |
| 2 | + * Localization of labellers.js | |
| 3 | + *================================================== | |
| 4 | + */ | |
| 5 | + | |
| 6 | +Timeline.GregorianDateLabeller.monthNames["en"] = [ | |
| 7 | + "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" | |
| 8 | +]; | |
| 9 | + | |
| 10 | +Timeline.GregorianDateLabeller.dayNames["en"] = [ | |
| 11 | + "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" | |
| 12 | +]; | ... | ... |
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/en/timeline.js
0 → 100644
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/es/labellers.js
0 → 100644
| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | +/*================================================== | |
| 2 | + * Localization of labellers.js | |
| 3 | + *================================================== | |
| 4 | + */ | |
| 5 | + | |
| 6 | +Timeline.GregorianDateLabeller.monthNames["es"] = [ | |
| 7 | + "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic" | |
| 8 | +]; | ... | ... |
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/es/timeline.js
0 → 100644
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/fr/labellers.js
0 → 100644
| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | +/*================================================== | |
| 2 | + * Localization of labellers.js | |
| 3 | + *================================================== | |
| 4 | + */ | |
| 5 | + | |
| 6 | +Timeline.GregorianDateLabeller.monthNames["fr"] = [ | |
| 7 | + "jan", "fev", "mar", "avr", "mai", "jui", "jui", "aou", "sep", "oct", "nov", "dec" | |
| 8 | +]; | ... | ... |
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/fr/timeline.js
0 → 100644
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/it/labellers.js
0 → 100644
| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | +/*================================================== | |
| 2 | + * Localization of labellers.js | |
| 3 | + *================================================== | |
| 4 | + */ | |
| 5 | + | |
| 6 | +Timeline.GregorianDateLabeller.monthNames["it"] = [ | |
| 7 | + "Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic" | |
| 8 | +]; | ... | ... |
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/it/timeline.js
0 → 100644
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/nl/labellers.js
0 → 100644
| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | +/*================================================== | |
| 2 | + * Localization of labellers.js | |
| 3 | + *================================================== | |
| 4 | + */ | |
| 5 | + | |
| 6 | +/* The Dutch do not capitalize months | |
| 7 | +*/ | |
| 8 | + | |
| 9 | +Timeline.GregorianDateLabeller.monthNames["nl"] = [ | |
| 10 | + "jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec" | |
| 11 | +]; | ... | ... |
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/nl/timeline.js
0 → 100644
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/ru/labellers.js
0 → 100644
| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | +/*================================================== | |
| 2 | + * Localization of labellers.js | |
| 3 | + * | |
| 4 | + * UTF-8 encoded | |
| 5 | + *================================================== | |
| 6 | + */ | |
| 7 | + | |
| 8 | +Timeline.GregorianDateLabeller.monthNames["ru"] = [ | |
| 9 | + "Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек" | |
| 10 | +]; | ... | ... |
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/ru/timeline.js
0 → 100644
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/se/labellers.js
0 → 100644
| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | +/*================================================== | |
| 2 | + * Localization of labellers.js | |
| 3 | + *================================================== | |
| 4 | + */ | |
| 5 | + | |
| 6 | +Timeline.GregorianDateLabeller.monthNames["se"] = [ | |
| 7 | + "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec" | |
| 8 | +]; | |
| 9 | + | |
| 10 | +Timeline.GregorianDateLabeller.dayNames["se"] = [ | |
| 11 | + "Sön", "Mån", "Tis", "Ons", "Tors", "Fre", "Lör" | |
| 12 | +]; | ... | ... |
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/se/timeline.js
0 → 100644
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/tr/labellers.js
0 → 100644
| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | +/*================================================== | |
| 2 | + * Localization of labellers.js | |
| 3 | + *================================================== | |
| 4 | + */ | |
| 5 | + | |
| 6 | +Timeline.GregorianDateLabeller.monthNames["tr"] = [ | |
| 7 | + "Ock", "Şbt", "Mrt", "Nsn", "Mys", "Hzr", "Tem", "Ağs", "Eyl", "Ekm", "Ksm", "Arl" | |
| 8 | +]; | ... | ... |
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/tr/timeline.js
0 → 100644
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/vi/labellers.js
0 → 100644
| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | +/*================================================== | |
| 2 | + * Localization of labellers.js | |
| 3 | + *================================================== | |
| 4 | + */ | |
| 5 | + | |
| 6 | +Timeline.GregorianDateLabeller.monthNames["vi"] = [ | |
| 7 | + "Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5", "Tháng 6", "Tháng 7", "Tháng 8", "Tháng 9", "Tháng 10", "Tháng 11", "Tháng 12" | |
| 8 | +]; | |
| 9 | + | |
| 10 | +Timeline.GregorianDateLabeller.labelIntervalFunctions["vi"] = function(date, intervalUnit) { | |
| 11 | + var text; | |
| 12 | + var emphasized = false; | |
| 13 | + | |
| 14 | + var date2 = Timeline.DateTime.removeTimeZoneOffset(date, this._timeZone); | |
| 15 | + | |
| 16 | + switch(intervalUnit) { | |
| 17 | + case Timeline.DateTime.DAY: | |
| 18 | + case Timeline.DateTime.WEEK: | |
| 19 | + text = date2.getUTCDate() + "/" + (date2.getUTCMonth() + 1); | |
| 20 | + break; | |
| 21 | + default: | |
| 22 | + return this.defaultLabelInterval(date, intervalUnit); | |
| 23 | + } | |
| 24 | + | |
| 25 | + return { text: text, emphasized: emphasized }; | |
| 26 | +}; | ... | ... |
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/vi/timeline.js
0 → 100644
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/zh/labellers.js
0 → 100644
| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | +/*================================================== | |
| 2 | + * Localization of labellers.js | |
| 3 | + *================================================== | |
| 4 | + */ | |
| 5 | + | |
| 6 | +Timeline.GregorianDateLabeller.monthNames["zh"] = [ | |
| 7 | + "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月" | |
| 8 | +]; | |
| 9 | + | |
| 10 | +Timeline.GregorianDateLabeller.labelIntervalFunctions["zh"] = function(date, intervalUnit) { | |
| 11 | + var text; | |
| 12 | + var emphasized = false; | |
| 13 | + | |
| 14 | + var date2 = Timeline.DateTime.removeTimeZoneOffset(date, this._timeZone); | |
| 15 | + | |
| 16 | + switch(intervalUnit) { | |
| 17 | + case Timeline.DateTime.DAY: | |
| 18 | + case Timeline.DateTime.WEEK: | |
| 19 | + text = Timeline.GregorianDateLabeller.getMonthName(date2.getUTCMonth(), this._locale) + | |
| 20 | + date2.getUTCDate() + "日"; | |
| 21 | + break; | |
| 22 | + default: | |
| 23 | + return this.defaultLabelInterval(date, intervalUnit); | |
| 24 | + } | |
| 25 | + | |
| 26 | + return { text: text, emphasized: emphasized }; | |
| 27 | +}; | |
| 0 | 28 | \ No newline at end of file | ... | ... |
pacotes/simile/timeline_2.3.0/timeline_js/scripts/l10n/zh/timeline.js
0 → 100644
pacotes/simile/timeline_2.3.0/timeline_js/timeline-api.js
0 → 100644
| ... | ... | @@ -0,0 +1,280 @@ |
| 1 | +/*================================================== | |
| 2 | + * Timeline API | |
| 3 | + * | |
| 4 | + * This file will load all the Javascript files | |
| 5 | + * necessary to make the standard timeline work. | |
| 6 | + * It also detects the default locale. | |
| 7 | + * | |
| 8 | + * To run from the MIT copy of Timeline: | |
| 9 | + * Include this file in your HTML file as follows: | |
| 10 | + * | |
| 11 | + * <script src="http://static.simile.mit.edu/timeline/api-2.3.0/timeline-api.js" | |
| 12 | + * type="text/javascript"></script> | |
| 13 | + * | |
| 14 | + * | |
| 15 | + * To host the Timeline files on your own server: | |
| 16 | + * 1) Install the Timeline and Simile-Ajax files onto your webserver using | |
| 17 | + * timeline_libraries.zip or timeline_source.zip | |
| 18 | + * | |
| 19 | + * 2) Set global js variables used to send parameters to this script: | |
| 20 | + * Timeline_ajax_url -- url for simile-ajax-api.js | |
| 21 | + * Timeline_urlPrefix -- url for the *directory* that contains timeline-api.js | |
| 22 | + * Include trailing slash | |
| 23 | + * Timeline_parameters='bundle=true'; // you must set bundle to true if you are using | |
| 24 | + * // timeline_libraries.zip since only the | |
| 25 | + * // bundled libraries are included | |
| 26 | + * | |
| 27 | + * eg your html page would include | |
| 28 | + * | |
| 29 | + * <script> | |
| 30 | + * Timeline_ajax_url="http://YOUR_SERVER/javascripts/timeline/timeline_ajax/simile-ajax-api.js"; | |
| 31 | + * Timeline_urlPrefix='http://YOUR_SERVER/javascripts/timeline/timeline_js/'; | |
| 32 | + * Timeline_parameters='bundle=true'; | |
| 33 | + * </script> | |
| 34 | + * <script src="http://YOUR_SERVER/javascripts/timeline/timeline_js/timeline-api.js" | |
| 35 | + * type="text/javascript"> | |
| 36 | + * </script> | |
| 37 | + * | |
| 38 | + * SCRIPT PARAMETERS | |
| 39 | + * This script auto-magically figures out locale and has defaults for other parameters | |
| 40 | + * To set parameters explicity, set js global variable Timeline_parameters or include as | |
| 41 | + * parameters on the url using GET style. Eg the two next lines pass the same parameters: | |
| 42 | + * Timeline_parameters='bundle=true'; // pass parameter via js variable | |
| 43 | + * <script src="http://....timeline-api.js?bundle=true" // pass parameter via url | |
| 44 | + * | |
| 45 | + * Parameters | |
| 46 | + * timeline-use-local-resources -- | |
| 47 | + * bundle -- true: use the single js bundle file; false: load individual files (for debugging) | |
| 48 | + * locales -- | |
| 49 | + * defaultLocale -- | |
| 50 | + * forceLocale -- force locale to be a particular value--used for debugging. Normally locale is determined | |
| 51 | + * by browser's and server's locale settings. | |
| 52 | + *================================================== | |
| 53 | + */ | |
| 54 | + | |
| 55 | +(function() { | |
| 56 | + var useLocalResources = false; | |
| 57 | + if (document.location.search.length > 0) { | |
| 58 | + var params = document.location.search.substr(1).split("&"); | |
| 59 | + for (var i = 0; i < params.length; i++) { | |
| 60 | + if (params[i] == "timeline-use-local-resources") { | |
| 61 | + useLocalResources = true; | |
| 62 | + } | |
| 63 | + } | |
| 64 | + }; | |
| 65 | + | |
| 66 | + var loadMe = function() { | |
| 67 | + if ("Timeline" in window) { | |
| 68 | + return; | |
| 69 | + } | |
| 70 | + | |
| 71 | + window.Timeline = new Object(); | |
| 72 | + window.Timeline.DateTime = window.SimileAjax.DateTime; // for backward compatibility | |
| 73 | + | |
| 74 | + var bundle = false; | |
| 75 | + var javascriptFiles = [ | |
| 76 | + "timeline.js", | |
| 77 | + "band.js", | |
| 78 | + "themes.js", | |
| 79 | + "ethers.js", | |
| 80 | + "ether-painters.js", | |
| 81 | + "event-utils.js", | |
| 82 | + "labellers.js", | |
| 83 | + "sources.js", | |
| 84 | + "original-painter.js", | |
| 85 | + "detailed-painter.js", | |
| 86 | + "overview-painter.js", | |
| 87 | + "compact-painter.js", | |
| 88 | + "decorators.js", | |
| 89 | + "units.js" | |
| 90 | + ]; | |
| 91 | + var cssFiles = [ | |
| 92 | + "timeline.css", | |
| 93 | + "ethers.css", | |
| 94 | + "events.css" | |
| 95 | + ]; | |
| 96 | + | |
| 97 | + var localizedJavascriptFiles = [ | |
| 98 | + "timeline.js", | |
| 99 | + "labellers.js" | |
| 100 | + ]; | |
| 101 | + var localizedCssFiles = [ | |
| 102 | + ]; | |
| 103 | + | |
| 104 | + // ISO-639 language codes, ISO-3166 country codes (2 characters) | |
| 105 | + var supportedLocales = [ | |
| 106 | + "cs", // Czech | |
| 107 | + "de", // German | |
| 108 | + "en", // English | |
| 109 | + "es", // Spanish | |
| 110 | + "fr", // French | |
| 111 | + "it", // Italian | |
| 112 | + "nl", // Dutch (The Netherlands) | |
| 113 | + "ru", // Russian | |
| 114 | + "se", // Swedish | |
| 115 | + "tr", // Turkish | |
| 116 | + "vi", // Vietnamese | |
| 117 | + "zh" // Chinese | |
| 118 | + ]; | |
| 119 | + | |
| 120 | + try { | |
| 121 | + var desiredLocales = [ "en" ], | |
| 122 | + defaultServerLocale = "en", | |
| 123 | + forceLocale = null; | |
| 124 | + | |
| 125 | + var parseURLParameters = function(parameters) { | |
| 126 | + var params = parameters.split("&"); | |
| 127 | + for (var p = 0; p < params.length; p++) { | |
| 128 | + var pair = params[p].split("="); | |
| 129 | + if (pair[0] == "locales") { | |
| 130 | + desiredLocales = desiredLocales.concat(pair[1].split(",")); | |
| 131 | + } else if (pair[0] == "defaultLocale") { | |
| 132 | + defaultServerLocale = pair[1]; | |
| 133 | + } else if (pair[0] == "forceLocale") { | |
| 134 | + forceLocale = pair[1]; | |
| 135 | + desiredLocales = desiredLocales.concat(pair[1].split(",")); | |
| 136 | + } else if (pair[0] == "bundle") { | |
| 137 | + bundle = pair[1] != "false"; | |
| 138 | + } | |
| 139 | + } | |
| 140 | + }; | |
| 141 | + | |
| 142 | + (function() { | |
| 143 | + if (typeof Timeline_urlPrefix == "string") { | |
| 144 | + Timeline.urlPrefix = Timeline_urlPrefix; | |
| 145 | + if (typeof Timeline_parameters == "string") { | |
| 146 | + parseURLParameters(Timeline_parameters); | |
| 147 | + } | |
| 148 | + } else { | |
| 149 | + var heads = document.documentElement.getElementsByTagName("head"); | |
| 150 | + for (var h = 0; h < heads.length; h++) { | |
| 151 | + var scripts = heads[h].getElementsByTagName("script"); | |
| 152 | + for (var s = 0; s < scripts.length; s++) { | |
| 153 | + var url = scripts[s].src; | |
| 154 | + var i = url.indexOf("timeline-api.js"); | |
| 155 | + if (i >= 0) { | |
| 156 | + Timeline.urlPrefix = url.substr(0, i); | |
| 157 | + var q = url.indexOf("?"); | |
| 158 | + if (q > 0) { | |
| 159 | + parseURLParameters(url.substr(q + 1)); | |
| 160 | + } | |
| 161 | + return; | |
| 162 | + } | |
| 163 | + } | |
| 164 | + } | |
| 165 | + throw new Error("Failed to derive URL prefix for Timeline API code files"); | |
| 166 | + } | |
| 167 | + })(); | |
| 168 | + | |
| 169 | + var includeJavascriptFiles = function(urlPrefix, filenames) { | |
| 170 | + SimileAjax.includeJavascriptFiles(document, urlPrefix, filenames); | |
| 171 | + } | |
| 172 | + var includeCssFiles = function(urlPrefix, filenames) { | |
| 173 | + SimileAjax.includeCssFiles(document, urlPrefix, filenames); | |
| 174 | + } | |
| 175 | + | |
| 176 | + /* | |
| 177 | + * Include non-localized files | |
| 178 | + */ | |
| 179 | + if (bundle) { | |
| 180 | + includeJavascriptFiles(Timeline.urlPrefix, [ "timeline-bundle.js" ]); | |
| 181 | + includeCssFiles(Timeline.urlPrefix, [ "timeline-bundle.css" ]); | |
| 182 | + } else { | |
| 183 | + includeJavascriptFiles(Timeline.urlPrefix + "scripts/", javascriptFiles); | |
| 184 | + includeCssFiles(Timeline.urlPrefix + "styles/", cssFiles); | |
| 185 | + } | |
| 186 | + | |
| 187 | + /* | |
| 188 | + * Include localized files | |
| 189 | + */ | |
| 190 | + var loadLocale = []; | |
| 191 | + loadLocale[defaultServerLocale] = true; | |
| 192 | + | |
| 193 | + var tryExactLocale = function(locale) { | |
| 194 | + for (var l = 0; l < supportedLocales.length; l++) { | |
| 195 | + if (locale == supportedLocales[l]) { | |
| 196 | + loadLocale[locale] = true; | |
| 197 | + return true; | |
| 198 | + } | |
| 199 | + } | |
| 200 | + return false; | |
| 201 | + } | |
| 202 | + var tryLocale = function(locale) { | |
| 203 | + if (tryExactLocale(locale)) { | |
| 204 | + return locale; | |
| 205 | + } | |
| 206 | + | |
| 207 | + var dash = locale.indexOf("-"); | |
| 208 | + if (dash > 0 && tryExactLocale(locale.substr(0, dash))) { | |
| 209 | + return locale.substr(0, dash); | |
| 210 | + } | |
| 211 | + | |
| 212 | + return null; | |
| 213 | + } | |
| 214 | + | |
| 215 | + for (var l = 0; l < desiredLocales.length; l++) { | |
| 216 | + tryLocale(desiredLocales[l]); | |
| 217 | + } | |
| 218 | + | |
| 219 | + var defaultClientLocale = defaultServerLocale; | |
| 220 | + var defaultClientLocales = ("language" in navigator ? navigator.language : navigator.browserLanguage).split(";"); | |
| 221 | + for (var l = 0; l < defaultClientLocales.length; l++) { | |
| 222 | + var locale = tryLocale(defaultClientLocales[l]); | |
| 223 | + if (locale != null) { | |
| 224 | + defaultClientLocale = locale; | |
| 225 | + break; | |
| 226 | + } | |
| 227 | + } | |
| 228 | + | |
| 229 | + for (var l = 0; l < supportedLocales.length; l++) { | |
| 230 | + var locale = supportedLocales[l]; | |
| 231 | + if (loadLocale[locale]) { | |
| 232 | + includeJavascriptFiles(Timeline.urlPrefix + "scripts/l10n/" + locale + "/", localizedJavascriptFiles); | |
| 233 | + includeCssFiles(Timeline.urlPrefix + "styles/l10n/" + locale + "/", localizedCssFiles); | |
| 234 | + } | |
| 235 | + } | |
| 236 | + | |
| 237 | + if (forceLocale == null) { | |
| 238 | + Timeline.serverLocale = defaultServerLocale; | |
| 239 | + Timeline.clientLocale = defaultClientLocale; | |
| 240 | + } else { | |
| 241 | + Timeline.serverLocale = forceLocale; | |
| 242 | + Timeline.clientLocale = forceLocale; | |
| 243 | + } | |
| 244 | + } catch (e) { | |
| 245 | + alert(e); | |
| 246 | + } | |
| 247 | + }; | |
| 248 | + | |
| 249 | + /* | |
| 250 | + * Load SimileAjax if it's not already loaded | |
| 251 | + */ | |
| 252 | + if (typeof SimileAjax == "undefined") { | |
| 253 | + window.SimileAjax_onLoad = loadMe; | |
| 254 | + | |
| 255 | + var url = useLocalResources ? | |
| 256 | + "http://127.0.0.1:9999/ajax/api/simile-ajax-api.js?bundle=false" : | |
| 257 | + "http://static.simile.mit.edu/ajax/api-2.2.0/simile-ajax-api.js"; | |
| 258 | + if (typeof Timeline_ajax_url == "string") { | |
| 259 | + url = Timeline_ajax_url; | |
| 260 | + } | |
| 261 | + var createScriptElement = function() { | |
| 262 | + var script = document.createElement("script"); | |
| 263 | + script.type = "text/javascript"; | |
| 264 | + script.language = "JavaScript"; | |
| 265 | + script.src = url; | |
| 266 | + document.getElementsByTagName("head")[0].appendChild(script); | |
| 267 | + } | |
| 268 | + if (document.body == null) { | |
| 269 | + try { | |
| 270 | + document.write("<script src='" + url + "' type='text/javascript'></script>"); | |
| 271 | + } catch (e) { | |
| 272 | + createScriptElement(); | |
| 273 | + } | |
| 274 | + } else { | |
| 275 | + createScriptElement(); | |
| 276 | + } | |
| 277 | + } else { | |
| 278 | + loadMe(); | |
| 279 | + } | |
| 280 | +})(); | ... | ... |
pacotes/simile/timeline_2.3.0/timeline_js/timeline-bundle.css
0 → 100644
| ... | ... | @@ -0,0 +1,229 @@ |
| 1 | + | |
| 2 | + | |
| 3 | +/*------------------- Horizontal / Vertical lines ----------------*/ | |
| 4 | + | |
| 5 | +/* style for ethers */ | |
| 6 | +.timeline-ether-lines{border-color:#666; border-style:dotted; position:absolute;} | |
| 7 | +.timeline-horizontal .timeline-ether-lines{border-width:0 0 0 1px; height:100%; top: 0; width: 1px;} | |
| 8 | +.timeline-vertical .timeline-ether-lines{border-width:1px 0 0; height:1px; left: 0; width: 100%;} | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | +/*---------------- Weekends ---------------------------*/ | |
| 13 | +.timeline-ether-weekends{ | |
| 14 | + position:absolute; | |
| 15 | + background-color:#FFFFE0; | |
| 16 | +} | |
| 17 | + | |
| 18 | +.timeline-vertical .timeline-ether-weekends{left:0;width:100%;} | |
| 19 | +.timeline-horizontal .timeline-ether-weekends{top:0; height:100%;} | |
| 20 | + | |
| 21 | + | |
| 22 | +/*-------------------------- HIGHLIGHT DECORATORS -------------------*/ | |
| 23 | +/* Used for decorators, not used for Timeline Highlight */ | |
| 24 | +.timeline-highlight-decorator, | |
| 25 | +.timeline-highlight-point-decorator{ | |
| 26 | + position:absolute; | |
| 27 | + overflow:hidden; | |
| 28 | +} | |
| 29 | + | |
| 30 | +/* Width of horizontal decorators and Height of vertical decorators is | |
| 31 | + set in the decorator function params */ | |
| 32 | +.timeline-horizontal .timeline-highlight-point-decorator, | |
| 33 | +.timeline-horizontal .timeline-highlight-decorator{ | |
| 34 | + top:0; | |
| 35 | + height:100%; | |
| 36 | +} | |
| 37 | + | |
| 38 | +.timeline-vertical .timeline-highlight-point-decorator, | |
| 39 | +.timeline-vertical .timeline-highlight-decorator{ | |
| 40 | + width:100%; | |
| 41 | + left:0; | |
| 42 | +} | |
| 43 | + | |
| 44 | +.timeline-highlight-decorator{background-color:#FFC080;} | |
| 45 | +.timeline-highlight-point-decorator{background-color:#ff5;} | |
| 46 | + | |
| 47 | + | |
| 48 | +/*---------------------------- LABELS -------------------------*/ | |
| 49 | +.timeline-highlight-label { | |
| 50 | + position:absolute; overflow:hidden; font-size:200%; | |
| 51 | + font-weight:bold; color:#999; } | |
| 52 | + | |
| 53 | + | |
| 54 | +/*---------------- VERTICAL LABEL -------------------*/ | |
| 55 | +.timeline-horizontal .timeline-highlight-label {top:0; height:100%;} | |
| 56 | +.timeline-horizontal .timeline-highlight-label td {vertical-align:middle;} | |
| 57 | +.timeline-horizontal .timeline-highlight-label-start {text-align:right;} | |
| 58 | +.timeline-horizontal .timeline-highlight-label-end {text-align:left;} | |
| 59 | + | |
| 60 | + | |
| 61 | +/*---------------- HORIZONTAL LABEL -------------------*/ | |
| 62 | +.timeline-vertical .timeline-highlight-label {left:0;width:100%;} | |
| 63 | +.timeline-vertical .timeline-highlight-label td {vertical-align:top;} | |
| 64 | +.timeline-vertical .timeline-highlight-label-start {text-align:center;} | |
| 65 | +.timeline-vertical .timeline-highlight-label-end {text-align:center;} | |
| 66 | + | |
| 67 | + | |
| 68 | +/*-------------------------------- DATE LABELS --------------------------------*/ | |
| 69 | +.timeline-date-label { | |
| 70 | + position: absolute; | |
| 71 | + border: solid #aaa; | |
| 72 | + color: #aaa; | |
| 73 | + width: 5em; | |
| 74 | + height: 1.5em;} | |
| 75 | +.timeline-date-label-em {color: #000;} | |
| 76 | + | |
| 77 | +/* horizontal */ | |
| 78 | +.timeline-horizontal .timeline-date-label{padding-left:2px;} | |
| 79 | +.timeline-horizontal .timeline-date-label{border-width:0 0 0 1px;} | |
| 80 | +.timeline-horizontal .timeline-date-label-em{height:2em} | |
| 81 | + | |
| 82 | +/* vertical */ | |
| 83 | +.timeline-vertical .timeline-date-label{padding-top:2px;} | |
| 84 | +.timeline-vertical .timeline-date-label{border-width:1px 0 0;} | |
| 85 | +.timeline-vertical .timeline-date-label-em{width:7em} | |
| 86 | + | |
| 87 | + | |
| 88 | +/*------------------------------- Ether.highlight -------------------------*/ | |
| 89 | +.timeline-ether-highlight{position:absolute; background-color:#fff;} | |
| 90 | +.timeline-horizontal .timeline-ether-highlight{top:2px;} | |
| 91 | +.timeline-vertical .timeline-ether-highlight{left:2px;} | |
| 92 | + | |
| 93 | + | |
| 94 | +/*------------------------------ EVENTS ------------------------------------*/ | |
| 95 | +.timeline-event-icon, .timeline-event-label,.timeline-event-tape{ | |
| 96 | + position:absolute; | |
| 97 | + cursor:pointer; | |
| 98 | +} | |
| 99 | + | |
| 100 | +.timeline-event-tape, | |
| 101 | +.timeline-small-event-tape, | |
| 102 | +.timeline-small-event-icon{ | |
| 103 | + background-color:#58A0DC; | |
| 104 | + overflow:hidden; | |
| 105 | +} | |
| 106 | + | |
| 107 | +.timeline-small-event-tape, | |
| 108 | +.timeline-small-event-icon{ | |
| 109 | + position:absolute; | |
| 110 | +} | |
| 111 | + | |
| 112 | +.timeline-small-event-icon{width:1px; height:6px;} | |
| 113 | + | |
| 114 | + | |
| 115 | +/*--------------------------------- TIMELINE-------------------------*/ | |
| 116 | +.timeline-ether-bg{width:100%; height:100%;} | |
| 117 | +.timeline-band-0 .timeline-ether-bg{background-color:#eee} | |
| 118 | +.timeline-band-1 .timeline-ether-bg{background-color:#ddd} | |
| 119 | +.timeline-band-2 .timeline-ether-bg{background-color:#ccc} | |
| 120 | +.timeline-band-3 .timeline-ether-bg{background-color:#aaa} | |
| 121 | +.timeline-duration-event { | |
| 122 | + position: absolute; | |
| 123 | + overflow: hidden; | |
| 124 | + border: 1px solid blue; | |
| 125 | +} | |
| 126 | + | |
| 127 | +.timeline-instant-event2 { | |
| 128 | + position: absolute; | |
| 129 | + overflow: hidden; | |
| 130 | + border-left: 1px solid blue; | |
| 131 | + padding-left: 2px; | |
| 132 | +} | |
| 133 | + | |
| 134 | +.timeline-instant-event { | |
| 135 | + position: absolute; | |
| 136 | + overflow: hidden; | |
| 137 | +} | |
| 138 | + | |
| 139 | +.timeline-event-bubble-title { | |
| 140 | + font-weight: bold; | |
| 141 | + border-bottom: 1px solid #888; | |
| 142 | + margin-bottom: 0.5em; | |
| 143 | +} | |
| 144 | + | |
| 145 | +.timeline-event-bubble-body { | |
| 146 | +} | |
| 147 | + | |
| 148 | +.timeline-event-bubble-wiki { | |
| 149 | + margin: 0.5em; | |
| 150 | + text-align: right; | |
| 151 | + color: #A0A040; | |
| 152 | +} | |
| 153 | +.timeline-event-bubble-wiki a { | |
| 154 | + color: #A0A040; | |
| 155 | +} | |
| 156 | + | |
| 157 | +.timeline-event-bubble-time { | |
| 158 | + color: #aaa; | |
| 159 | +} | |
| 160 | + | |
| 161 | +.timeline-event-bubble-image { | |
| 162 | + float: right; | |
| 163 | + padding-left: 5px; | |
| 164 | + padding-bottom: 5px; | |
| 165 | +}.timeline-container { | |
| 166 | + position: relative; | |
| 167 | + overflow: hidden; | |
| 168 | +} | |
| 169 | + | |
| 170 | +.timeline-copyright { | |
| 171 | + position: absolute; | |
| 172 | + bottom: 0px; | |
| 173 | + left: 0px; | |
| 174 | + z-index: 1000; | |
| 175 | + cursor: pointer; | |
| 176 | +} | |
| 177 | + | |
| 178 | +.timeline-message-container { | |
| 179 | + position: absolute; | |
| 180 | + top: 30%; | |
| 181 | + left: 35%; | |
| 182 | + right: 35%; | |
| 183 | + z-index: 1000; | |
| 184 | + display: none; | |
| 185 | +} | |
| 186 | +.timeline-message { | |
| 187 | + font-size: 120%; | |
| 188 | + font-weight: bold; | |
| 189 | + text-align: center; | |
| 190 | +} | |
| 191 | +.timeline-message img { | |
| 192 | + vertical-align: middle; | |
| 193 | +} | |
| 194 | + | |
| 195 | +.timeline-band { | |
| 196 | + position: absolute; | |
| 197 | + background: #eee; | |
| 198 | + z-index: 10; | |
| 199 | +} | |
| 200 | + | |
| 201 | +.timeline-band-inner { | |
| 202 | + position: relative; | |
| 203 | + width: 100%; | |
| 204 | + height: 100%; | |
| 205 | +} | |
| 206 | + | |
| 207 | +.timeline-band-input { | |
| 208 | + position: absolute; | |
| 209 | + width: 1em; | |
| 210 | + height: 1em; | |
| 211 | + overflow: hidden; | |
| 212 | + z-index: 0; | |
| 213 | +} | |
| 214 | +.timeline-band-input input{ | |
| 215 | + width: 0; | |
| 216 | +} | |
| 217 | + | |
| 218 | +.timeline-band-layer { | |
| 219 | + position: absolute; | |
| 220 | + width: 100%; | |
| 221 | + height: 100%; | |
| 222 | +} | |
| 223 | + | |
| 224 | +.timeline-band-layer-inner { | |
| 225 | + position: relative; | |
| 226 | + width: 100%; | |
| 227 | + height: 100%; | |
| 228 | +} | |
| 229 | + | ... | ... |
pacotes/simile/timeline_2.3.0/timeline_js/timeline-bundle.js
0 → 100644
| ... | ... | @@ -0,0 +1,2835 @@ |
| 1 | + | |
| 2 | + | |
| 3 | +/* band.js */ | |
| 4 | +Timeline._Band=function(B,G,C){if(B.autoWidth&&typeof G.width=="string"){G.width=G.width.indexOf("%")>-1?0:parseInt(G.width); | |
| 5 | +}this._timeline=B; | |
| 6 | +this._bandInfo=G; | |
| 7 | +this._index=C; | |
| 8 | +this._locale=("locale" in G)?G.locale:Timeline.getDefaultLocale(); | |
| 9 | +this._timeZone=("timeZone" in G)?G.timeZone:0; | |
| 10 | +this._labeller=("labeller" in G)?G.labeller:(("createLabeller" in B.getUnit())?B.getUnit().createLabeller(this._locale,this._timeZone):new Timeline.GregorianDateLabeller(this._locale,this._timeZone)); | |
| 11 | +this._theme=G.theme; | |
| 12 | +this._zoomIndex=("zoomIndex" in G)?G.zoomIndex:0; | |
| 13 | +this._zoomSteps=("zoomSteps" in G)?G.zoomSteps:null; | |
| 14 | +this._dragging=false; | |
| 15 | +this._changing=false; | |
| 16 | +this._originalScrollSpeed=5; | |
| 17 | +this._scrollSpeed=this._originalScrollSpeed; | |
| 18 | +this._onScrollListeners=[]; | |
| 19 | +var A=this; | |
| 20 | +this._syncWithBand=null; | |
| 21 | +this._syncWithBandHandler=function(H){A._onHighlightBandScroll(); | |
| 22 | +}; | |
| 23 | +this._selectorListener=function(H){A._onHighlightBandScroll(); | |
| 24 | +}; | |
| 25 | +var E=this._timeline.getDocument().createElement("div"); | |
| 26 | +E.className="timeline-band-input"; | |
| 27 | +this._timeline.addDiv(E); | |
| 28 | +this._keyboardInput=document.createElement("input"); | |
| 29 | +this._keyboardInput.type="text"; | |
| 30 | +E.appendChild(this._keyboardInput); | |
| 31 | +SimileAjax.DOM.registerEventWithObject(this._keyboardInput,"keydown",this,"_onKeyDown"); | |
| 32 | +SimileAjax.DOM.registerEventWithObject(this._keyboardInput,"keyup",this,"_onKeyUp"); | |
| 33 | +this._div=this._timeline.getDocument().createElement("div"); | |
| 34 | +this._div.id="timeline-band-"+C; | |
| 35 | +this._div.className="timeline-band timeline-band-"+C; | |
| 36 | +this._timeline.addDiv(this._div); | |
| 37 | +SimileAjax.DOM.registerEventWithObject(this._div,"mousedown",this,"_onMouseDown"); | |
| 38 | +SimileAjax.DOM.registerEventWithObject(this._div,"mousemove",this,"_onMouseMove"); | |
| 39 | +SimileAjax.DOM.registerEventWithObject(this._div,"mouseup",this,"_onMouseUp"); | |
| 40 | +SimileAjax.DOM.registerEventWithObject(this._div,"mouseout",this,"_onMouseOut"); | |
| 41 | +SimileAjax.DOM.registerEventWithObject(this._div,"dblclick",this,"_onDblClick"); | |
| 42 | +var F=this._theme!=null?this._theme.mouseWheel:"scroll"; | |
| 43 | +if(F==="zoom"||F==="scroll"||this._zoomSteps){if(SimileAjax.Platform.browser.isFirefox){SimileAjax.DOM.registerEventWithObject(this._div,"DOMMouseScroll",this,"_onMouseScroll"); | |
| 44 | +}else{SimileAjax.DOM.registerEventWithObject(this._div,"mousewheel",this,"_onMouseScroll"); | |
| 45 | +}}this._innerDiv=this._timeline.getDocument().createElement("div"); | |
| 46 | +this._innerDiv.className="timeline-band-inner"; | |
| 47 | +this._div.appendChild(this._innerDiv); | |
| 48 | +this._ether=G.ether; | |
| 49 | +G.ether.initialize(this,B); | |
| 50 | +this._etherPainter=G.etherPainter; | |
| 51 | +G.etherPainter.initialize(this,B); | |
| 52 | +this._eventSource=G.eventSource; | |
| 53 | +if(this._eventSource){this._eventListener={onAddMany:function(){A._onAddMany(); | |
| 54 | +},onClear:function(){A._onClear(); | |
| 55 | +}}; | |
| 56 | +this._eventSource.addListener(this._eventListener); | |
| 57 | +}this._eventPainter=G.eventPainter; | |
| 58 | +this._eventTracksNeeded=0; | |
| 59 | +this._eventTrackIncrement=0; | |
| 60 | +G.eventPainter.initialize(this,B); | |
| 61 | +this._decorators=("decorators" in G)?G.decorators:[]; | |
| 62 | +for(var D=0; | |
| 63 | +D<this._decorators.length; | |
| 64 | +D++){this._decorators[D].initialize(this,B); | |
| 65 | +}}; | |
| 66 | +Timeline._Band.SCROLL_MULTIPLES=5; | |
| 67 | +Timeline._Band.prototype.dispose=function(){this.closeBubble(); | |
| 68 | +if(this._eventSource){this._eventSource.removeListener(this._eventListener); | |
| 69 | +this._eventListener=null; | |
| 70 | +this._eventSource=null; | |
| 71 | +}this._timeline=null; | |
| 72 | +this._bandInfo=null; | |
| 73 | +this._labeller=null; | |
| 74 | +this._ether=null; | |
| 75 | +this._etherPainter=null; | |
| 76 | +this._eventPainter=null; | |
| 77 | +this._decorators=null; | |
| 78 | +this._onScrollListeners=null; | |
| 79 | +this._syncWithBandHandler=null; | |
| 80 | +this._selectorListener=null; | |
| 81 | +this._div=null; | |
| 82 | +this._innerDiv=null; | |
| 83 | +this._keyboardInput=null; | |
| 84 | +}; | |
| 85 | +Timeline._Band.prototype.addOnScrollListener=function(A){this._onScrollListeners.push(A); | |
| 86 | +}; | |
| 87 | +Timeline._Band.prototype.removeOnScrollListener=function(B){for(var A=0; | |
| 88 | +A<this._onScrollListeners.length; | |
| 89 | +A++){if(this._onScrollListeners[A]==B){this._onScrollListeners.splice(A,1); | |
| 90 | +break; | |
| 91 | +}}}; | |
| 92 | +Timeline._Band.prototype.setSyncWithBand=function(B,A){if(this._syncWithBand){this._syncWithBand.removeOnScrollListener(this._syncWithBandHandler); | |
| 93 | +}this._syncWithBand=B; | |
| 94 | +this._syncWithBand.addOnScrollListener(this._syncWithBandHandler); | |
| 95 | +this._highlight=A; | |
| 96 | +this._positionHighlight(); | |
| 97 | +}; | |
| 98 | +Timeline._Band.prototype.getLocale=function(){return this._locale; | |
| 99 | +}; | |
| 100 | +Timeline._Band.prototype.getTimeZone=function(){return this._timeZone; | |
| 101 | +}; | |
| 102 | +Timeline._Band.prototype.getLabeller=function(){return this._labeller; | |
| 103 | +}; | |
| 104 | +Timeline._Band.prototype.getIndex=function(){return this._index; | |
| 105 | +}; | |
| 106 | +Timeline._Band.prototype.getEther=function(){return this._ether; | |
| 107 | +}; | |
| 108 | +Timeline._Band.prototype.getEtherPainter=function(){return this._etherPainter; | |
| 109 | +}; | |
| 110 | +Timeline._Band.prototype.getEventSource=function(){return this._eventSource; | |
| 111 | +}; | |
| 112 | +Timeline._Band.prototype.getEventPainter=function(){return this._eventPainter; | |
| 113 | +}; | |
| 114 | +Timeline._Band.prototype.getTimeline=function(){return this._timeline; | |
| 115 | +}; | |
| 116 | +Timeline._Band.prototype.updateEventTrackInfo=function(A,B){this._eventTrackIncrement=B; | |
| 117 | +if(A>this._eventTracksNeeded){this._eventTracksNeeded=A; | |
| 118 | +}}; | |
| 119 | +Timeline._Band.prototype.checkAutoWidth=function(){if(!this._timeline.autoWidth){return ; | |
| 120 | +}var C=this._eventPainter.getType()=="overview"; | |
| 121 | +var A=C?this._theme.event.overviewTrack.autoWidthMargin:this._theme.event.track.autoWidthMargin; | |
| 122 | +var B=Math.ceil((this._eventTracksNeeded+A)*this._eventTrackIncrement); | |
| 123 | +B+=C?this._theme.event.overviewTrack.offset:this._theme.event.track.offset; | |
| 124 | +var D=this._bandInfo; | |
| 125 | +if(B!=D.width){D.width=B; | |
| 126 | +}}; | |
| 127 | +Timeline._Band.prototype.layout=function(){this.paint(); | |
| 128 | +}; | |
| 129 | +Timeline._Band.prototype.paint=function(){this._etherPainter.paint(); | |
| 130 | +this._paintDecorators(); | |
| 131 | +this._paintEvents(); | |
| 132 | +}; | |
| 133 | +Timeline._Band.prototype.softLayout=function(){this.softPaint(); | |
| 134 | +}; | |
| 135 | +Timeline._Band.prototype.softPaint=function(){this._etherPainter.softPaint(); | |
| 136 | +this._softPaintDecorators(); | |
| 137 | +this._softPaintEvents(); | |
| 138 | +}; | |
| 139 | +Timeline._Band.prototype.setBandShiftAndWidth=function(A,D){var C=this._keyboardInput.parentNode; | |
| 140 | +var B=A+Math.floor(D/2); | |
| 141 | +if(this._timeline.isHorizontal()){this._div.style.top=A+"px"; | |
| 142 | +this._div.style.height=D+"px"; | |
| 143 | +C.style.top=B+"px"; | |
| 144 | +C.style.left="-1em"; | |
| 145 | +}else{this._div.style.left=A+"px"; | |
| 146 | +this._div.style.width=D+"px"; | |
| 147 | +C.style.left=B+"px"; | |
| 148 | +C.style.top="-1em"; | |
| 149 | +}}; | |
| 150 | +Timeline._Band.prototype.getViewWidth=function(){if(this._timeline.isHorizontal()){return this._div.offsetHeight; | |
| 151 | +}else{return this._div.offsetWidth; | |
| 152 | +}}; | |
| 153 | +Timeline._Band.prototype.setViewLength=function(A){this._viewLength=A; | |
| 154 | +this._recenterDiv(); | |
| 155 | +this._onChanging(); | |
| 156 | +}; | |
| 157 | +Timeline._Band.prototype.getViewLength=function(){return this._viewLength; | |
| 158 | +}; | |
| 159 | +Timeline._Band.prototype.getTotalViewLength=function(){return Timeline._Band.SCROLL_MULTIPLES*this._viewLength; | |
| 160 | +}; | |
| 161 | +Timeline._Band.prototype.getViewOffset=function(){return this._viewOffset; | |
| 162 | +}; | |
| 163 | +Timeline._Band.prototype.getMinDate=function(){return this._ether.pixelOffsetToDate(this._viewOffset); | |
| 164 | +}; | |
| 165 | +Timeline._Band.prototype.getMaxDate=function(){return this._ether.pixelOffsetToDate(this._viewOffset+Timeline._Band.SCROLL_MULTIPLES*this._viewLength); | |
| 166 | +}; | |
| 167 | +Timeline._Band.prototype.getMinVisibleDate=function(){return this._ether.pixelOffsetToDate(0); | |
| 168 | +}; | |
| 169 | +Timeline._Band.prototype.getMinVisibleDateAfterDelta=function(A){return this._ether.pixelOffsetToDate(A); | |
| 170 | +}; | |
| 171 | +Timeline._Band.prototype.getMaxVisibleDate=function(){return this._ether.pixelOffsetToDate(this._viewLength); | |
| 172 | +}; | |
| 173 | +Timeline._Band.prototype.getMaxVisibleDateAfterDelta=function(A){return this._ether.pixelOffsetToDate(this._viewLength+A); | |
| 174 | +}; | |
| 175 | +Timeline._Band.prototype.getCenterVisibleDate=function(){return this._ether.pixelOffsetToDate(this._viewLength/2); | |
| 176 | +}; | |
| 177 | +Timeline._Band.prototype.setMinVisibleDate=function(A){if(!this._changing){this._moveEther(Math.round(-this._ether.dateToPixelOffset(A))); | |
| 178 | +}}; | |
| 179 | +Timeline._Band.prototype.setMaxVisibleDate=function(A){if(!this._changing){this._moveEther(Math.round(this._viewLength-this._ether.dateToPixelOffset(A))); | |
| 180 | +}}; | |
| 181 | +Timeline._Band.prototype.setCenterVisibleDate=function(A){if(!this._changing){this._moveEther(Math.round(this._viewLength/2-this._ether.dateToPixelOffset(A))); | |
| 182 | +}}; | |
| 183 | +Timeline._Band.prototype.dateToPixelOffset=function(A){return this._ether.dateToPixelOffset(A)-this._viewOffset; | |
| 184 | +}; | |
| 185 | +Timeline._Band.prototype.pixelOffsetToDate=function(A){return this._ether.pixelOffsetToDate(A+this._viewOffset); | |
| 186 | +}; | |
| 187 | +Timeline._Band.prototype.createLayerDiv=function(C,A){var D=this._timeline.getDocument().createElement("div"); | |
| 188 | +D.className="timeline-band-layer"+(typeof A=="string"?(" "+A):""); | |
| 189 | +D.style.zIndex=C; | |
| 190 | +this._innerDiv.appendChild(D); | |
| 191 | +var B=this._timeline.getDocument().createElement("div"); | |
| 192 | +B.className="timeline-band-layer-inner"; | |
| 193 | +if(SimileAjax.Platform.browser.isIE){B.style.cursor="move"; | |
| 194 | +}else{B.style.cursor="-moz-grab"; | |
| 195 | +}D.appendChild(B); | |
| 196 | +return B; | |
| 197 | +}; | |
| 198 | +Timeline._Band.prototype.removeLayerDiv=function(A){this._innerDiv.removeChild(A.parentNode); | |
| 199 | +}; | |
| 200 | +Timeline._Band.prototype.scrollToCenter=function(A,C){var B=this._ether.dateToPixelOffset(A); | |
| 201 | +if(B<-this._viewLength/2){this.setCenterVisibleDate(this.pixelOffsetToDate(B+this._viewLength)); | |
| 202 | +}else{if(B>3*this._viewLength/2){this.setCenterVisibleDate(this.pixelOffsetToDate(B-this._viewLength)); | |
| 203 | +}}this._autoScroll(Math.round(this._viewLength/2-this._ether.dateToPixelOffset(A)),C); | |
| 204 | +}; | |
| 205 | +Timeline._Band.prototype.showBubbleForEvent=function(C){var A=this.getEventSource().getEvent(C); | |
| 206 | +if(A){var B=this; | |
| 207 | +this.scrollToCenter(A.getStart(),function(){B._eventPainter.showBubble(A); | |
| 208 | +}); | |
| 209 | +}}; | |
| 210 | +Timeline._Band.prototype.zoom=function(C,A,F,E){if(!this._zoomSteps){return ; | |
| 211 | +}A+=this._viewOffset; | |
| 212 | +var D=this._ether.pixelOffsetToDate(A); | |
| 213 | +var B=this._ether.zoom(C); | |
| 214 | +this._etherPainter.zoom(B); | |
| 215 | +this._moveEther(Math.round(-this._ether.dateToPixelOffset(D))); | |
| 216 | +this._moveEther(A); | |
| 217 | +}; | |
| 218 | +Timeline._Band.prototype._onMouseDown=function(B,A,C){this.closeBubble(); | |
| 219 | +this._dragging=true; | |
| 220 | +this._dragX=A.clientX; | |
| 221 | +this._dragY=A.clientY; | |
| 222 | +}; | |
| 223 | +Timeline._Band.prototype._onMouseMove=function(D,A,E){if(this._dragging){var C=A.clientX-this._dragX; | |
| 224 | +var B=A.clientY-this._dragY; | |
| 225 | +this._dragX=A.clientX; | |
| 226 | +this._dragY=A.clientY; | |
| 227 | +this._moveEther(this._timeline.isHorizontal()?C:B); | |
| 228 | +this._positionHighlight(); | |
| 229 | +}}; | |
| 230 | +Timeline._Band.prototype._onMouseUp=function(B,A,C){this._dragging=false; | |
| 231 | +this._keyboardInput.focus(); | |
| 232 | +}; | |
| 233 | +Timeline._Band.prototype._onMouseOut=function(C,B,D){var A=SimileAjax.DOM.getEventRelativeCoordinates(B,C); | |
| 234 | +A.x+=this._viewOffset; | |
| 235 | +if(A.x<0||A.x>C.offsetWidth||A.y<0||A.y>C.offsetHeight){this._dragging=false; | |
| 236 | +}}; | |
| 237 | +Timeline._Band.prototype._onMouseScroll=function(G,H,B){var A=new Date(); | |
| 238 | +A=A.getTime(); | |
| 239 | +if(!this._lastScrollTime||((A-this._lastScrollTime)>50)){this._lastScrollTime=A; | |
| 240 | +var I=0; | |
| 241 | +if(H.wheelDelta){I=H.wheelDelta/120; | |
| 242 | +}else{if(H.detail){I=-H.detail/3; | |
| 243 | +}}var F=this._theme.mouseWheel; | |
| 244 | +if(this._zoomSteps||F==="zoom"){var E=SimileAjax.DOM.getEventRelativeCoordinates(H,G); | |
| 245 | +if(I!=0){var D; | |
| 246 | +if(I>0){D=true; | |
| 247 | +}if(I<0){D=false; | |
| 248 | +}this._timeline.zoom(D,E.x,E.y,G); | |
| 249 | +}}else{if(F==="scroll"){var C=50*(I<0?-1:1); | |
| 250 | +this._moveEther(C); | |
| 251 | +}}}if(H.stopPropagation){H.stopPropagation(); | |
| 252 | +}H.cancelBubble=true; | |
| 253 | +if(H.preventDefault){H.preventDefault(); | |
| 254 | +}H.returnValue=false; | |
| 255 | +}; | |
| 256 | +Timeline._Band.prototype._onDblClick=function(C,B,E){var A=SimileAjax.DOM.getEventRelativeCoordinates(B,C); | |
| 257 | +var D=A.x-(this._viewLength/2-this._viewOffset); | |
| 258 | +this._autoScroll(-D); | |
| 259 | +}; | |
| 260 | +Timeline._Band.prototype._onKeyDown=function(B,A,C){if(!this._dragging){switch(A.keyCode){case 27:break; | |
| 261 | +case 37:case 38:this._scrollSpeed=Math.min(50,Math.abs(this._scrollSpeed*1.05)); | |
| 262 | +this._moveEther(this._scrollSpeed); | |
| 263 | +break; | |
| 264 | +case 39:case 40:this._scrollSpeed=-Math.min(50,Math.abs(this._scrollSpeed*1.05)); | |
| 265 | +this._moveEther(this._scrollSpeed); | |
| 266 | +break; | |
| 267 | +default:return true; | |
| 268 | +}this.closeBubble(); | |
| 269 | +SimileAjax.DOM.cancelEvent(A); | |
| 270 | +return false; | |
| 271 | +}return true; | |
| 272 | +}; | |
| 273 | +Timeline._Band.prototype._onKeyUp=function(B,A,C){if(!this._dragging){this._scrollSpeed=this._originalScrollSpeed; | |
| 274 | +switch(A.keyCode){case 35:this.setCenterVisibleDate(this._eventSource.getLatestDate()); | |
| 275 | +break; | |
| 276 | +case 36:this.setCenterVisibleDate(this._eventSource.getEarliestDate()); | |
| 277 | +break; | |
| 278 | +case 33:this._autoScroll(this._timeline.getPixelLength()); | |
| 279 | +break; | |
| 280 | +case 34:this._autoScroll(-this._timeline.getPixelLength()); | |
| 281 | +break; | |
| 282 | +default:return true; | |
| 283 | +}this.closeBubble(); | |
| 284 | +SimileAjax.DOM.cancelEvent(A); | |
| 285 | +return false; | |
| 286 | +}return true; | |
| 287 | +}; | |
| 288 | +Timeline._Band.prototype._autoScroll=function(D,C){var A=this; | |
| 289 | +var B=SimileAjax.Graphics.createAnimation(function(E,F){A._moveEther(F); | |
| 290 | +},0,D,1000,C); | |
| 291 | +B.run(); | |
| 292 | +}; | |
| 293 | +Timeline._Band.prototype._moveEther=function(A){this.closeBubble(); | |
| 294 | +if(!this._timeline.shiftOK(this._index,A)){return ; | |
| 295 | +}this._viewOffset+=A; | |
| 296 | +this._ether.shiftPixels(-A); | |
| 297 | +if(this._timeline.isHorizontal()){this._div.style.left=this._viewOffset+"px"; | |
| 298 | +}else{this._div.style.top=this._viewOffset+"px"; | |
| 299 | +}if(this._viewOffset>-this._viewLength*0.5||this._viewOffset<-this._viewLength*(Timeline._Band.SCROLL_MULTIPLES-1.5)){this._recenterDiv(); | |
| 300 | +}else{this.softLayout(); | |
| 301 | +}this._onChanging(); | |
| 302 | +}; | |
| 303 | +Timeline._Band.prototype._onChanging=function(){this._changing=true; | |
| 304 | +this._fireOnScroll(); | |
| 305 | +this._setSyncWithBandDate(); | |
| 306 | +this._changing=false; | |
| 307 | +}; | |
| 308 | +Timeline._Band.prototype.busy=function(){return(this._changing); | |
| 309 | +}; | |
| 310 | +Timeline._Band.prototype._fireOnScroll=function(){for(var A=0; | |
| 311 | +A<this._onScrollListeners.length; | |
| 312 | +A++){this._onScrollListeners[A](this); | |
| 313 | +}}; | |
| 314 | +Timeline._Band.prototype._setSyncWithBandDate=function(){if(this._syncWithBand){var A=this._ether.pixelOffsetToDate(this.getViewLength()/2); | |
| 315 | +this._syncWithBand.setCenterVisibleDate(A); | |
| 316 | +}}; | |
| 317 | +Timeline._Band.prototype._onHighlightBandScroll=function(){if(this._syncWithBand){var A=this._syncWithBand.getCenterVisibleDate(); | |
| 318 | +var B=this._ether.dateToPixelOffset(A); | |
| 319 | +this._moveEther(Math.round(this._viewLength/2-B)); | |
| 320 | +if(this._highlight){this._etherPainter.setHighlight(this._syncWithBand.getMinVisibleDate(),this._syncWithBand.getMaxVisibleDate()); | |
| 321 | +}}}; | |
| 322 | +Timeline._Band.prototype._onAddMany=function(){this._paintEvents(); | |
| 323 | +}; | |
| 324 | +Timeline._Band.prototype._onClear=function(){this._paintEvents(); | |
| 325 | +}; | |
| 326 | +Timeline._Band.prototype._positionHighlight=function(){if(this._syncWithBand){var A=this._syncWithBand.getMinVisibleDate(); | |
| 327 | +var B=this._syncWithBand.getMaxVisibleDate(); | |
| 328 | +if(this._highlight){this._etherPainter.setHighlight(A,B); | |
| 329 | +}}}; | |
| 330 | +Timeline._Band.prototype._recenterDiv=function(){this._viewOffset=-this._viewLength*(Timeline._Band.SCROLL_MULTIPLES-1)/2; | |
| 331 | +if(this._timeline.isHorizontal()){this._div.style.left=this._viewOffset+"px"; | |
| 332 | +this._div.style.width=(Timeline._Band.SCROLL_MULTIPLES*this._viewLength)+"px"; | |
| 333 | +}else{this._div.style.top=this._viewOffset+"px"; | |
| 334 | +this._div.style.height=(Timeline._Band.SCROLL_MULTIPLES*this._viewLength)+"px"; | |
| 335 | +}this.layout(); | |
| 336 | +}; | |
| 337 | +Timeline._Band.prototype._paintEvents=function(){this._eventPainter.paint(); | |
| 338 | +}; | |
| 339 | +Timeline._Band.prototype._softPaintEvents=function(){this._eventPainter.softPaint(); | |
| 340 | +}; | |
| 341 | +Timeline._Band.prototype._paintDecorators=function(){for(var A=0; | |
| 342 | +A<this._decorators.length; | |
| 343 | +A++){this._decorators[A].paint(); | |
| 344 | +}}; | |
| 345 | +Timeline._Band.prototype._softPaintDecorators=function(){for(var A=0; | |
| 346 | +A<this._decorators.length; | |
| 347 | +A++){this._decorators[A].softPaint(); | |
| 348 | +}}; | |
| 349 | +Timeline._Band.prototype.closeBubble=function(){SimileAjax.WindowManager.cancelPopups(); | |
| 350 | +}; | |
| 351 | + | |
| 352 | + | |
| 353 | +/* compact-painter.js */ | |
| 354 | +Timeline.CompactEventPainter=function(A){this._params=A; | |
| 355 | +this._onSelectListeners=[]; | |
| 356 | +this._filterMatcher=null; | |
| 357 | +this._highlightMatcher=null; | |
| 358 | +this._frc=null; | |
| 359 | +this._eventIdToElmt={}; | |
| 360 | +}; | |
| 361 | +Timeline.CompactEventPainter.prototype.initialize=function(B,A){this._band=B; | |
| 362 | +this._timeline=A; | |
| 363 | +this._backLayer=null; | |
| 364 | +this._eventLayer=null; | |
| 365 | +this._lineLayer=null; | |
| 366 | +this._highlightLayer=null; | |
| 367 | +this._eventIdToElmt=null; | |
| 368 | +}; | |
| 369 | +Timeline.CompactEventPainter.prototype.addOnSelectListener=function(A){this._onSelectListeners.push(A); | |
| 370 | +}; | |
| 371 | +Timeline.CompactEventPainter.prototype.removeOnSelectListener=function(B){for(var A=0; | |
| 372 | +A<this._onSelectListeners.length; | |
| 373 | +A++){if(this._onSelectListeners[A]==B){this._onSelectListeners.splice(A,1); | |
| 374 | +break; | |
| 375 | +}}}; | |
| 376 | +Timeline.CompactEventPainter.prototype.getFilterMatcher=function(){return this._filterMatcher; | |
| 377 | +}; | |
| 378 | +Timeline.CompactEventPainter.prototype.setFilterMatcher=function(A){this._filterMatcher=A; | |
| 379 | +}; | |
| 380 | +Timeline.CompactEventPainter.prototype.getHighlightMatcher=function(){return this._highlightMatcher; | |
| 381 | +}; | |
| 382 | +Timeline.CompactEventPainter.prototype.setHighlightMatcher=function(A){this._highlightMatcher=A; | |
| 383 | +}; | |
| 384 | +Timeline.CompactEventPainter.prototype.paint=function(){var N=this._band.getEventSource(); | |
| 385 | +if(N==null){return ; | |
| 386 | +}this._eventIdToElmt={}; | |
| 387 | +this._prepareForPainting(); | |
| 388 | +var O=this._params.theme; | |
| 389 | +var L=O.event; | |
| 390 | +var G={trackOffset:"trackOffset" in this._params?this._params.trackOffset:10,trackHeight:"trackHeight" in this._params?this._params.trackHeight:10,tapeHeight:O.event.tape.height,tapeBottomMargin:"tapeBottomMargin" in this._params?this._params.tapeBottomMargin:2,labelBottomMargin:"labelBottomMargin" in this._params?this._params.labelBottomMargin:5,labelRightMargin:"labelRightMargin" in this._params?this._params.labelRightMargin:5,defaultIcon:L.instant.icon,defaultIconWidth:L.instant.iconWidth,defaultIconHeight:L.instant.iconHeight,customIconWidth:"iconWidth" in this._params?this._params.iconWidth:L.instant.iconWidth,customIconHeight:"iconHeight" in this._params?this._params.iconHeight:L.instant.iconHeight,iconLabelGap:"iconLabelGap" in this._params?this._params.iconLabelGap:2,iconBottomMargin:"iconBottomMargin" in this._params?this._params.iconBottomMargin:2}; | |
| 391 | +if("compositeIcon" in this._params){G.compositeIcon=this._params.compositeIcon; | |
| 392 | +G.compositeIconWidth=this._params.compositeIconWidth||G.customIconWidth; | |
| 393 | +G.compositeIconHeight=this._params.compositeIconHeight||G.customIconHeight; | |
| 394 | +}else{G.compositeIcon=G.defaultIcon; | |
| 395 | +G.compositeIconWidth=G.defaultIconWidth; | |
| 396 | +G.compositeIconHeight=G.defaultIconHeight; | |
| 397 | +}G.defaultStackIcon="icon" in this._params.stackConcurrentPreciseInstantEvents?this._params.stackConcurrentPreciseInstantEvents.icon:G.defaultIcon; | |
| 398 | +G.defaultStackIconWidth="iconWidth" in this._params.stackConcurrentPreciseInstantEvents?this._params.stackConcurrentPreciseInstantEvents.iconWidth:G.defaultIconWidth; | |
| 399 | +G.defaultStackIconHeight="iconHeight" in this._params.stackConcurrentPreciseInstantEvents?this._params.stackConcurrentPreciseInstantEvents.iconHeight:G.defaultIconHeight; | |
| 400 | +var B=this._band.getMinDate(); | |
| 401 | +var D=this._band.getMaxDate(); | |
| 402 | +var R=(this._filterMatcher!=null)?this._filterMatcher:function(S){return true; | |
| 403 | +}; | |
| 404 | +var Q=(this._highlightMatcher!=null)?this._highlightMatcher:function(S){return -1; | |
| 405 | +}; | |
| 406 | +var F=N.getEventIterator(B,D); | |
| 407 | +var H="stackConcurrentPreciseInstantEvents" in this._params&&typeof this._params.stackConcurrentPreciseInstantEvents=="object"; | |
| 408 | +var P="collapseConcurrentPreciseInstantEvents" in this._params&&this._params.collapseConcurrentPreciseInstantEvents; | |
| 409 | +if(P||H){var M=[]; | |
| 410 | +var A=null; | |
| 411 | +while(F.hasNext()){var E=F.next(); | |
| 412 | +if(R(E)){if(!E.isInstant()||E.isImprecise()){this.paintEvent(E,G,this._params.theme,Q(E)); | |
| 413 | +}else{if(A!=null&&A.getStart().getTime()==E.getStart().getTime()){M[M.length-1].push(E); | |
| 414 | +}else{M.push([E]); | |
| 415 | +A=E; | |
| 416 | +}}}}for(var J=0; | |
| 417 | +J<M.length; | |
| 418 | +J++){var K=M[J]; | |
| 419 | +if(K.length==1){this.paintEvent(K[0],G,this._params.theme,Q(E)); | |
| 420 | +}else{var C=-1; | |
| 421 | +for(var I=0; | |
| 422 | +C<0&&I<K.length; | |
| 423 | +I++){C=Q(K[I]); | |
| 424 | +}if(H){this.paintStackedPreciseInstantEvents(K,G,this._params.theme,C); | |
| 425 | +}else{this.paintCompositePreciseInstantEvents(K,G,this._params.theme,C); | |
| 426 | +}}}}else{while(F.hasNext()){var E=F.next(); | |
| 427 | +if(R(E)){this.paintEvent(E,G,this._params.theme,Q(E)); | |
| 428 | +}}}this._highlightLayer.style.display="block"; | |
| 429 | +this._lineLayer.style.display="block"; | |
| 430 | +this._eventLayer.style.display="block"; | |
| 431 | +}; | |
| 432 | +Timeline.CompactEventPainter.prototype.softPaint=function(){}; | |
| 433 | +Timeline.CompactEventPainter.prototype._prepareForPainting=function(){var B=this._band; | |
| 434 | +if(this._backLayer==null){this._backLayer=this._band.createLayerDiv(0,"timeline-band-events"); | |
| 435 | +this._backLayer.style.visibility="hidden"; | |
| 436 | +var A=document.createElement("span"); | |
| 437 | +A.className="timeline-event-label"; | |
| 438 | +this._backLayer.appendChild(A); | |
| 439 | +this._frc=SimileAjax.Graphics.getFontRenderingContext(A); | |
| 440 | +}this._frc.update(); | |
| 441 | +this._tracks=[]; | |
| 442 | +if(this._highlightLayer!=null){B.removeLayerDiv(this._highlightLayer); | |
| 443 | +}this._highlightLayer=B.createLayerDiv(105,"timeline-band-highlights"); | |
| 444 | +this._highlightLayer.style.display="none"; | |
| 445 | +if(this._lineLayer!=null){B.removeLayerDiv(this._lineLayer); | |
| 446 | +}this._lineLayer=B.createLayerDiv(110,"timeline-band-lines"); | |
| 447 | +this._lineLayer.style.display="none"; | |
| 448 | +if(this._eventLayer!=null){B.removeLayerDiv(this._eventLayer); | |
| 449 | +}this._eventLayer=B.createLayerDiv(115,"timeline-band-events"); | |
| 450 | +this._eventLayer.style.display="none"; | |
| 451 | +}; | |
| 452 | +Timeline.CompactEventPainter.prototype.paintEvent=function(B,C,D,A){if(B.isInstant()){this.paintInstantEvent(B,C,D,A); | |
| 453 | +}else{this.paintDurationEvent(B,C,D,A); | |
| 454 | +}}; | |
| 455 | +Timeline.CompactEventPainter.prototype.paintInstantEvent=function(B,C,D,A){if(B.isImprecise()){this.paintImpreciseInstantEvent(B,C,D,A); | |
| 456 | +}else{this.paintPreciseInstantEvent(B,C,D,A); | |
| 457 | +}}; | |
| 458 | +Timeline.CompactEventPainter.prototype.paintDurationEvent=function(B,C,D,A){if(B.isImprecise()){this.paintImpreciseDurationEvent(B,C,D,A); | |
| 459 | +}else{this.paintPreciseDurationEvent(B,C,D,A); | |
| 460 | +}}; | |
| 461 | +Timeline.CompactEventPainter.prototype.paintPreciseInstantEvent=function(H,F,B,A){var C={tooltip:H.getProperty("tooltip")||H.getText()}; | |
| 462 | +var E={url:H.getIcon()}; | |
| 463 | +if(E.url==null){E.url=F.defaultIcon; | |
| 464 | +E.width=F.defaultIconWidth; | |
| 465 | +E.height=F.defaultIconHeight; | |
| 466 | +E.className="timeline-event-icon-default"; | |
| 467 | +}else{E.width=H.getProperty("iconWidth")||F.customIconWidth; | |
| 468 | +E.height=H.getProperty("iconHeight")||F.customIconHeight; | |
| 469 | +}var J={text:H.getText(),color:H.getTextColor()||H.getColor(),className:H.getClassName()}; | |
| 470 | +var G=this.paintTapeIconLabel(H.getStart(),C,null,E,J,F,B,A); | |
| 471 | +var I=this; | |
| 472 | +var D=function(L,K,M){return I._onClickInstantEvent(G.iconElmtData.elmt,K,H); | |
| 473 | +}; | |
| 474 | +SimileAjax.DOM.registerEvent(G.iconElmtData.elmt,"mousedown",D); | |
| 475 | +SimileAjax.DOM.registerEvent(G.labelElmtData.elmt,"mousedown",D); | |
| 476 | +this._eventIdToElmt[H.getID()]=G.iconElmtData.elmt; | |
| 477 | +}; | |
| 478 | +Timeline.CompactEventPainter.prototype.paintCompositePreciseInstantEvents=function(J,H,D,B){var K=J[0]; | |
| 479 | +var A=[]; | |
| 480 | +for(var C=0; | |
| 481 | +C<J.length; | |
| 482 | +C++){A.push(J[C].getProperty("tooltip")||J[C].getText()); | |
| 483 | +}var E={tooltip:A.join("; ")}; | |
| 484 | +var G={url:H.compositeIcon,width:H.compositeIconWidth,height:H.compositeIconHeight,className:"timeline-event-icon-composite"}; | |
| 485 | +var M={text:String.substitute(this._params.compositeEventLabelTemplate,[J.length])}; | |
| 486 | +var I=this.paintTapeIconLabel(K.getStart(),E,null,G,M,H,D,B); | |
| 487 | +var L=this; | |
| 488 | +var F=function(O,N,P){return L._onClickMultiplePreciseInstantEvent(I.iconElmtData.elmt,N,J); | |
| 489 | +}; | |
| 490 | +SimileAjax.DOM.registerEvent(I.iconElmtData.elmt,"mousedown",F); | |
| 491 | +SimileAjax.DOM.registerEvent(I.labelElmtData.elmt,"mousedown",F); | |
| 492 | +for(var C=0; | |
| 493 | +C<J.length; | |
| 494 | +C++){this._eventIdToElmt[J[C].getID()]=I.iconElmtData.elmt; | |
| 495 | +}}; | |
| 496 | +Timeline.CompactEventPainter.prototype.paintStackedPreciseInstantEvents=function(T,j,c,E){var S="limit" in this._params.stackConcurrentPreciseInstantEvents?this._params.stackConcurrentPreciseInstantEvents.limit:10; | |
| 497 | +var G="moreMessageTemplate" in this._params.stackConcurrentPreciseInstantEvents?this._params.stackConcurrentPreciseInstantEvents.moreMessageTemplate:"%0 More Events"; | |
| 498 | +var Q=S<=T.length-2; | |
| 499 | +var B=this._band; | |
| 500 | +var L=function(i){return Math.round(B.dateToPixelOffset(i)); | |
| 501 | +}; | |
| 502 | +var O=function(i){var r={url:i.getIcon()}; | |
| 503 | +if(r.url==null){r.url=j.defaultStackIcon; | |
| 504 | +r.width=j.defaultStackIconWidth; | |
| 505 | +r.height=j.defaultStackIconHeight; | |
| 506 | +r.className="timeline-event-icon-stack timeline-event-icon-default"; | |
| 507 | +}else{r.width=i.getProperty("iconWidth")||j.customIconWidth; | |
| 508 | +r.height=i.getProperty("iconHeight")||j.customIconHeight; | |
| 509 | +r.className="timeline-event-icon-stack"; | |
| 510 | +}return r; | |
| 511 | +}; | |
| 512 | +var C=O(T[0]); | |
| 513 | +var V=5; | |
| 514 | +var D=0; | |
| 515 | +var g=0; | |
| 516 | +var p=0; | |
| 517 | +var U=0; | |
| 518 | +var l=[]; | |
| 519 | +for(var n=0; | |
| 520 | +n<T.length&&(!Q||n<S); | |
| 521 | +n++){var b=T[n]; | |
| 522 | +var a=b.getText(); | |
| 523 | +var X=O(b); | |
| 524 | +var W=this._frc.computeSize(a); | |
| 525 | +var K={text:a,iconData:X,labelSize:W,iconLeft:C.width+n*V-X.width}; | |
| 526 | +K.labelLeft=C.width+n*V+j.iconLabelGap; | |
| 527 | +K.top=p; | |
| 528 | +l.push(K); | |
| 529 | +D=Math.min(D,K.iconLeft); | |
| 530 | +p+=W.height; | |
| 531 | +g=Math.max(g,K.labelLeft+W.width); | |
| 532 | +U=Math.max(U,K.top+X.height); | |
| 533 | +}if(Q){var e=String.substitute(G,[T.length-S]); | |
| 534 | +var H=this._frc.computeSize(e); | |
| 535 | +var J=C.width+(S-1)*V+j.iconLabelGap; | |
| 536 | +var m=p; | |
| 537 | +p+=H.height; | |
| 538 | +g=Math.max(g,J+H.width); | |
| 539 | +}g+=j.labelRightMargin; | |
| 540 | +p+=j.labelBottomMargin; | |
| 541 | +U+=j.iconBottomMargin; | |
| 542 | +var F=L(T[0].getStart()); | |
| 543 | +var Y=[]; | |
| 544 | +var N=Math.ceil(Math.max(U,p)/j.trackHeight); | |
| 545 | +var M=C.width+(T.length-1)*V; | |
| 546 | +for(var n=0; | |
| 547 | +n<N; | |
| 548 | +n++){Y.push({start:D,end:M}); | |
| 549 | +}var f=Math.ceil(p/j.trackHeight); | |
| 550 | +for(var n=0; | |
| 551 | +n<f; | |
| 552 | +n++){var P=Y[n]; | |
| 553 | +P.end=Math.max(P.end,g); | |
| 554 | +}var k=this._fitTracks(F,Y); | |
| 555 | +var Z=k*j.trackHeight+j.trackOffset; | |
| 556 | +var q=this._timeline.getDocument().createElement("div"); | |
| 557 | +q.className="timeline-event-icon-stack"; | |
| 558 | +q.style.position="absolute"; | |
| 559 | +q.style.overflow="visible"; | |
| 560 | +q.style.left=F+"px"; | |
| 561 | +q.style.top=Z+"px"; | |
| 562 | +q.style.width=M+"px"; | |
| 563 | +q.style.height=U+"px"; | |
| 564 | +q.innerHTML="<div style='position: relative'></div>"; | |
| 565 | +this._eventLayer.appendChild(q); | |
| 566 | +var I=this; | |
| 567 | +var R=function(r){try{var w=parseInt(this.getAttribute("index")); | |
| 568 | +var u=q.firstChild.childNodes; | |
| 569 | +for(var s=0; | |
| 570 | +s<u.length; | |
| 571 | +s++){var v=u[s]; | |
| 572 | +if(s==w){v.style.zIndex=u.length; | |
| 573 | +}else{v.style.zIndex=u.length-s; | |
| 574 | +}}}catch(t){}}; | |
| 575 | +var d=function(u){var w=l[u]; | |
| 576 | +var r=T[u]; | |
| 577 | +var i=r.getProperty("tooltip")||r.getText(); | |
| 578 | +var v=I._paintEventLabel({tooltip:i},{text:w.text},F+w.labelLeft,Z+w.top,w.labelSize.width,w.labelSize.height,c); | |
| 579 | +v.elmt.setAttribute("index",u); | |
| 580 | +v.elmt.onmouseover=R; | |
| 581 | +var t=SimileAjax.Graphics.createTranslucentImage(w.iconData.url); | |
| 582 | +var s=I._timeline.getDocument().createElement("div"); | |
| 583 | +s.className="timeline-event-icon"+("className" in w.iconData?(" "+w.iconData.className):""); | |
| 584 | +s.style.left=w.iconLeft+"px"; | |
| 585 | +s.style.top=w.top+"px"; | |
| 586 | +s.style.zIndex=(l.length-u); | |
| 587 | +s.appendChild(t); | |
| 588 | +s.setAttribute("index",u); | |
| 589 | +s.onmouseover=R; | |
| 590 | +q.firstChild.appendChild(s); | |
| 591 | +var x=function(z,y,AA){return I._onClickInstantEvent(v.elmt,y,r); | |
| 592 | +}; | |
| 593 | +SimileAjax.DOM.registerEvent(s,"mousedown",x); | |
| 594 | +SimileAjax.DOM.registerEvent(v.elmt,"mousedown",x); | |
| 595 | +I._eventIdToElmt[r.getID()]=s; | |
| 596 | +}; | |
| 597 | +for(var n=0; | |
| 598 | +n<l.length; | |
| 599 | +n++){d(n); | |
| 600 | +}if(Q){var o=T.slice(S); | |
| 601 | +var A=this._paintEventLabel({tooltip:e},{text:e},F+J,Z+m,H.width,H.height,c); | |
| 602 | +var h=function(r,i,s){return I._onClickMultiplePreciseInstantEvent(A.elmt,i,o); | |
| 603 | +}; | |
| 604 | +SimileAjax.DOM.registerEvent(A.elmt,"mousedown",h); | |
| 605 | +for(var n=0; | |
| 606 | +n<o.length; | |
| 607 | +n++){this._eventIdToElmt[o[n].getID()]=A.elmt; | |
| 608 | +}}}; | |
| 609 | +Timeline.CompactEventPainter.prototype.paintImpreciseInstantEvent=function(I,G,B,A){var C={tooltip:I.getProperty("tooltip")||I.getText()}; | |
| 610 | +var E={start:I.getStart(),end:I.getEnd(),latestStart:I.getLatestStart(),earliestEnd:I.getEarliestEnd(),isInstant:true}; | |
| 611 | +var F={url:I.getIcon()}; | |
| 612 | +if(F.url==null){F=null; | |
| 613 | +}else{F.width=I.getProperty("iconWidth")||G.customIconWidth; | |
| 614 | +F.height=I.getProperty("iconHeight")||G.customIconHeight; | |
| 615 | +}var K={text:I.getText(),color:I.getTextColor()||I.getColor(),className:I.getClassName()}; | |
| 616 | +var H=this.paintTapeIconLabel(I.getStart(),C,E,F,K,G,B,A); | |
| 617 | +var J=this; | |
| 618 | +var D=F!=null?function(M,L,N){return J._onClickInstantEvent(H.iconElmtData.elmt,L,I); | |
| 619 | +}:function(M,L,N){return J._onClickInstantEvent(H.labelElmtData.elmt,L,I); | |
| 620 | +}; | |
| 621 | +SimileAjax.DOM.registerEvent(H.labelElmtData.elmt,"mousedown",D); | |
| 622 | +SimileAjax.DOM.registerEvent(H.impreciseTapeElmtData.elmt,"mousedown",D); | |
| 623 | +if(F!=null){SimileAjax.DOM.registerEvent(H.iconElmtData.elmt,"mousedown",D); | |
| 624 | +this._eventIdToElmt[I.getID()]=H.iconElmtData.elmt; | |
| 625 | +}else{this._eventIdToElmt[I.getID()]=H.labelElmtData.elmt; | |
| 626 | +}}; | |
| 627 | +Timeline.CompactEventPainter.prototype.paintPreciseDurationEvent=function(I,G,B,A){var C={tooltip:I.getProperty("tooltip")||I.getText()}; | |
| 628 | +var E={start:I.getStart(),end:I.getEnd(),isInstant:false}; | |
| 629 | +var F={url:I.getIcon()}; | |
| 630 | +if(F.url==null){F=null; | |
| 631 | +}else{F.width=I.getProperty("iconWidth")||G.customIconWidth; | |
| 632 | +F.height=I.getProperty("iconHeight")||G.customIconHeight; | |
| 633 | +}var K={text:I.getText(),color:I.getTextColor()||I.getColor(),className:I.getClassName()}; | |
| 634 | +var H=this.paintTapeIconLabel(I.getLatestStart(),C,E,F,K,G,B,A); | |
| 635 | +var J=this; | |
| 636 | +var D=F!=null?function(M,L,N){return J._onClickInstantEvent(H.iconElmtData.elmt,L,I); | |
| 637 | +}:function(M,L,N){return J._onClickInstantEvent(H.labelElmtData.elmt,L,I); | |
| 638 | +}; | |
| 639 | +SimileAjax.DOM.registerEvent(H.labelElmtData.elmt,"mousedown",D); | |
| 640 | +SimileAjax.DOM.registerEvent(H.tapeElmtData.elmt,"mousedown",D); | |
| 641 | +if(F!=null){SimileAjax.DOM.registerEvent(H.iconElmtData.elmt,"mousedown",D); | |
| 642 | +this._eventIdToElmt[I.getID()]=H.iconElmtData.elmt; | |
| 643 | +}else{this._eventIdToElmt[I.getID()]=H.labelElmtData.elmt; | |
| 644 | +}}; | |
| 645 | +Timeline.CompactEventPainter.prototype.paintImpreciseDurationEvent=function(I,G,B,A){var C={tooltip:I.getProperty("tooltip")||I.getText()}; | |
| 646 | +var E={start:I.getStart(),end:I.getEnd(),latestStart:I.getLatestStart(),earliestEnd:I.getEarliestEnd(),isInstant:false}; | |
| 647 | +var F={url:I.getIcon()}; | |
| 648 | +if(F.url==null){F=null; | |
| 649 | +}else{F.width=I.getProperty("iconWidth")||G.customIconWidth; | |
| 650 | +F.height=I.getProperty("iconHeight")||G.customIconHeight; | |
| 651 | +}var K={text:I.getText(),color:I.getTextColor()||I.getColor(),className:I.getClassName()}; | |
| 652 | +var H=this.paintTapeIconLabel(I.getLatestStart(),C,E,F,K,G,B,A); | |
| 653 | +var J=this; | |
| 654 | +var D=F!=null?function(M,L,N){return J._onClickInstantEvent(H.iconElmtData.elmt,L,I); | |
| 655 | +}:function(M,L,N){return J._onClickInstantEvent(H.labelElmtData.elmt,L,I); | |
| 656 | +}; | |
| 657 | +SimileAjax.DOM.registerEvent(H.labelElmtData.elmt,"mousedown",D); | |
| 658 | +SimileAjax.DOM.registerEvent(H.tapeElmtData.elmt,"mousedown",D); | |
| 659 | +if(F!=null){SimileAjax.DOM.registerEvent(H.iconElmtData.elmt,"mousedown",D); | |
| 660 | +this._eventIdToElmt[I.getID()]=H.iconElmtData.elmt; | |
| 661 | +}else{this._eventIdToElmt[I.getID()]=H.labelElmtData.elmt; | |
| 662 | +}}; | |
| 663 | +Timeline.CompactEventPainter.prototype.paintTapeIconLabel=function(V,O,S,I,a,X,c,Z){var R=this._band; | |
| 664 | +var F=function(e){return Math.round(R.dateToPixelOffset(e)); | |
| 665 | +}; | |
| 666 | +var d=F(V); | |
| 667 | +var W=[]; | |
| 668 | +var b=0; | |
| 669 | +var B=0; | |
| 670 | +var C=0; | |
| 671 | +if(S!=null){b=X.tapeHeight+X.tapeBottomMargin; | |
| 672 | +B=Math.ceil(X.tapeHeight/X.trackHeight); | |
| 673 | +var A=F(S.end)-d; | |
| 674 | +var L=F(S.start)-d; | |
| 675 | +for(var Q=0; | |
| 676 | +Q<B; | |
| 677 | +Q++){W.push({start:L,end:A}); | |
| 678 | +}C=X.trackHeight-(b%X.tapeHeight); | |
| 679 | +}var N=0; | |
| 680 | +var U=0; | |
| 681 | +if(I!=null){if("iconAlign" in I&&I.iconAlign=="center"){N=-Math.floor(I.width/2); | |
| 682 | +}U=N+I.width+X.iconLabelGap; | |
| 683 | +if(B>0){W[B-1].end=Math.max(W[B-1].end,U); | |
| 684 | +}var E=I.height+X.iconBottomMargin+C; | |
| 685 | +while(E>0){W.push({start:N,end:U}); | |
| 686 | +E-=X.trackHeight; | |
| 687 | +}}var P=a.text; | |
| 688 | +var H=this._frc.computeSize(P); | |
| 689 | +var M=H.height+X.labelBottomMargin+C; | |
| 690 | +var J=U+H.width+X.labelRightMargin; | |
| 691 | +if(B>0){W[B-1].end=Math.max(W[B-1].end,J); | |
| 692 | +}for(var Y=0; | |
| 693 | +M>0; | |
| 694 | +Y++){if(B+Y<W.length){var T=W[B+Y]; | |
| 695 | +T.end=J; | |
| 696 | +}else{W.push({start:0,end:J}); | |
| 697 | +}M-=X.trackHeight; | |
| 698 | +}var G=this._fitTracks(d,W); | |
| 699 | +var K=G*X.trackHeight+X.trackOffset; | |
| 700 | +var D={}; | |
| 701 | +D.labelElmtData=this._paintEventLabel(O,a,d+U,K+b,H.width,H.height,c); | |
| 702 | +if(S!=null){if("latestStart" in S||"earliestEnd" in S){D.impreciseTapeElmtData=this._paintEventTape(O,S,X.tapeHeight,K,F(S.start),F(S.end),c.event.duration.impreciseColor,c.event.duration.impreciseOpacity,X,c); | |
| 703 | +}if(!S.isInstant&&"start" in S&&"end" in S){D.tapeElmtData=this._paintEventTape(O,S,X.tapeHeight,K,d,F("earliestEnd" in S?S.earliestEnd:S.end),S.color,100,X,c); | |
| 704 | +}}if(I!=null){D.iconElmtData=this._paintEventIcon(O,I,K+b,d+N,X,c); | |
| 705 | +}return D; | |
| 706 | +}; | |
| 707 | +Timeline.CompactEventPainter.prototype._fitTracks=function(F,C){var H; | |
| 708 | +for(H=0; | |
| 709 | +H<this._tracks.length; | |
| 710 | +H++){var E=true; | |
| 711 | +for(var B=0; | |
| 712 | +B<C.length&&(H+B)<this._tracks.length; | |
| 713 | +B++){var G=this._tracks[H+B]; | |
| 714 | +var A=C[B]; | |
| 715 | +if(F+A.start<G){E=false; | |
| 716 | +break; | |
| 717 | +}}if(E){break; | |
| 718 | +}}for(var D=0; | |
| 719 | +D<C.length; | |
| 720 | +D++){this._tracks[H+D]=F+C[D].end; | |
| 721 | +}return H; | |
| 722 | +}; | |
| 723 | +Timeline.CompactEventPainter.prototype._paintEventIcon=function(C,D,H,G,E,F){var B=SimileAjax.Graphics.createTranslucentImage(D.url); | |
| 724 | +var A=this._timeline.getDocument().createElement("div"); | |
| 725 | +A.className="timeline-event-icon"+("className" in D?(" "+D.className):""); | |
| 726 | +A.style.left=G+"px"; | |
| 727 | +A.style.top=H+"px"; | |
| 728 | +A.appendChild(B); | |
| 729 | +if("tooltip" in C&&typeof C.tooltip=="string"){A.title=C.tooltip; | |
| 730 | +}this._eventLayer.appendChild(A); | |
| 731 | +return{left:G,top:H,width:E.iconWidth,height:E.iconHeight,elmt:A}; | |
| 732 | +}; | |
| 733 | +Timeline.CompactEventPainter.prototype._paintEventLabel=function(E,I,C,F,A,G,D){var H=this._timeline.getDocument(); | |
| 734 | +var B=H.createElement("div"); | |
| 735 | +B.className="timeline-event-label"; | |
| 736 | +B.style.left=C+"px"; | |
| 737 | +B.style.width=(A+1)+"px"; | |
| 738 | +B.style.top=F+"px"; | |
| 739 | +B.innerHTML=I.text; | |
| 740 | +if("tooltip" in E&&typeof E.tooltip=="string"){B.title=E.tooltip; | |
| 741 | +}if("color" in I&&typeof I.color=="string"){B.style.color=I.color; | |
| 742 | +}if("className" in I&&typeof I.className=="string"){B.className+=" "+I.className; | |
| 743 | +}this._eventLayer.appendChild(B); | |
| 744 | +return{left:C,top:F,width:A,height:G,elmt:B}; | |
| 745 | +}; | |
| 746 | +Timeline.CompactEventPainter.prototype._paintEventTape=function(G,H,K,J,D,A,E,C,I,F){var B=A-D; | |
| 747 | +var L=this._timeline.getDocument().createElement("div"); | |
| 748 | +L.className="timeline-event-tape"; | |
| 749 | +L.style.left=D+"px"; | |
| 750 | +L.style.top=J+"px"; | |
| 751 | +L.style.width=B+"px"; | |
| 752 | +L.style.height=K+"px"; | |
| 753 | +if("tooltip" in G&&typeof G.tooltip=="string"){L.title=G.tooltip; | |
| 754 | +}if(E!=null&&typeof H.color=="string"){L.style.backgroundColor=E; | |
| 755 | +}if("backgroundImage" in H&&typeof H.backgroundImage=="string"){L.style.backgroundImage="url("+backgroundImage+")"; | |
| 756 | +L.style.backgroundRepeat=("backgroundRepeat" in H&&typeof H.backgroundRepeat=="string")?H.backgroundRepeat:"repeat"; | |
| 757 | +}SimileAjax.Graphics.setOpacity(L,C); | |
| 758 | +if("className" in H&&typeof H.className=="string"){L.className+=" "+H.className; | |
| 759 | +}this._eventLayer.appendChild(L); | |
| 760 | +return{left:D,top:J,width:B,height:K,elmt:L}; | |
| 761 | +}; | |
| 762 | +Timeline.CompactEventPainter.prototype._createHighlightDiv=function(A,C,E){if(A>=0){var D=this._timeline.getDocument(); | |
| 763 | +var G=E.event; | |
| 764 | +var B=G.highlightColors[Math.min(A,G.highlightColors.length-1)]; | |
| 765 | +var F=D.createElement("div"); | |
| 766 | +F.style.position="absolute"; | |
| 767 | +F.style.overflow="hidden"; | |
| 768 | +F.style.left=(C.left-2)+"px"; | |
| 769 | +F.style.width=(C.width+4)+"px"; | |
| 770 | +F.style.top=(C.top-2)+"px"; | |
| 771 | +F.style.height=(C.height+4)+"px"; | |
| 772 | +this._highlightLayer.appendChild(F); | |
| 773 | +}}; | |
| 774 | +Timeline.CompactEventPainter.prototype._onClickMultiplePreciseInstantEvent=function(E,A,B){var F=SimileAjax.DOM.getPageCoordinates(E); | |
| 775 | +this._showBubble(F.left+Math.ceil(E.offsetWidth/2),F.top+Math.ceil(E.offsetHeight/2),B); | |
| 776 | +var D=[]; | |
| 777 | +for(var C=0; | |
| 778 | +C<B.length; | |
| 779 | +C++){D.push(B[C].getID()); | |
| 780 | +}this._fireOnSelect(D); | |
| 781 | +A.cancelBubble=true; | |
| 782 | +SimileAjax.DOM.cancelEvent(A); | |
| 783 | +return false; | |
| 784 | +}; | |
| 785 | +Timeline.CompactEventPainter.prototype._onClickInstantEvent=function(C,A,B){var D=SimileAjax.DOM.getPageCoordinates(C); | |
| 786 | +this._showBubble(D.left+Math.ceil(C.offsetWidth/2),D.top+Math.ceil(C.offsetHeight/2),[B]); | |
| 787 | +this._fireOnSelect([B.getID()]); | |
| 788 | +A.cancelBubble=true; | |
| 789 | +SimileAjax.DOM.cancelEvent(A); | |
| 790 | +return false; | |
| 791 | +}; | |
| 792 | +Timeline.CompactEventPainter.prototype._onClickDurationEvent=function(F,B,C){if("pageX" in B){var A=B.pageX; | |
| 793 | +var E=B.pageY; | |
| 794 | +}else{var D=SimileAjax.DOM.getPageCoordinates(F); | |
| 795 | +var A=B.offsetX+D.left; | |
| 796 | +var E=B.offsetY+D.top; | |
| 797 | +}this._showBubble(A,E,[C]); | |
| 798 | +this._fireOnSelect([C.getID()]); | |
| 799 | +B.cancelBubble=true; | |
| 800 | +SimileAjax.DOM.cancelEvent(B); | |
| 801 | +return false; | |
| 802 | +}; | |
| 803 | +Timeline.CompactEventPainter.prototype.showBubble=function(A){var B=this._eventIdToElmt[A.getID()]; | |
| 804 | +if(B){var C=SimileAjax.DOM.getPageCoordinates(B); | |
| 805 | +this._showBubble(C.left+B.offsetWidth/2,C.top+B.offsetHeight/2,[A]); | |
| 806 | +}}; | |
| 807 | +Timeline.CompactEventPainter.prototype._showBubble=function(A,F,B){var E=document.createElement("div"); | |
| 808 | +B=("fillInfoBubble" in B)?[B]:B; | |
| 809 | +for(var D=0; | |
| 810 | +D<B.length; | |
| 811 | +D++){var C=document.createElement("div"); | |
| 812 | +E.appendChild(C); | |
| 813 | +B[D].fillInfoBubble(C,this._params.theme,this._band.getLabeller()); | |
| 814 | +}SimileAjax.WindowManager.cancelPopups(); | |
| 815 | +SimileAjax.Graphics.createBubbleForContentAndPoint(E,A,F,this._params.theme.event.bubble.width); | |
| 816 | +}; | |
| 817 | +Timeline.CompactEventPainter.prototype._fireOnSelect=function(B){for(var A=0; | |
| 818 | +A<this._onSelectListeners.length; | |
| 819 | +A++){this._onSelectListeners[A](B); | |
| 820 | +}}; | |
| 821 | + | |
| 822 | + | |
| 823 | +/* decorators.js */ | |
| 824 | +Timeline.SpanHighlightDecorator=function(A){this._unit=A.unit!=null?A.unit:SimileAjax.NativeDateUnit; | |
| 825 | +this._startDate=(typeof A.startDate=="string")?this._unit.parseFromObject(A.startDate):A.startDate; | |
| 826 | +this._endDate=(typeof A.endDate=="string")?this._unit.parseFromObject(A.endDate):A.endDate; | |
| 827 | +this._startLabel=A.startLabel!=null?A.startLabel:""; | |
| 828 | +this._endLabel=A.endLabel!=null?A.endLabel:""; | |
| 829 | +this._color=A.color; | |
| 830 | +this._cssClass=A.cssClass!=null?A.cssClass:null; | |
| 831 | +this._opacity=A.opacity!=null?A.opacity:100; | |
| 832 | +this._zIndex=(A.inFront!=null&&A.inFront)?113:10; | |
| 833 | +}; | |
| 834 | +Timeline.SpanHighlightDecorator.prototype.initialize=function(B,A){this._band=B; | |
| 835 | +this._timeline=A; | |
| 836 | +this._layerDiv=null; | |
| 837 | +}; | |
| 838 | +Timeline.SpanHighlightDecorator.prototype.paint=function(){if(this._layerDiv!=null){this._band.removeLayerDiv(this._layerDiv); | |
| 839 | +}this._layerDiv=this._band.createLayerDiv(this._zIndex); | |
| 840 | +this._layerDiv.setAttribute("name","span-highlight-decorator"); | |
| 841 | +this._layerDiv.style.display="none"; | |
| 842 | +var E=this._band.getMinDate(); | |
| 843 | +var A=this._band.getMaxDate(); | |
| 844 | +if(this._unit.compare(this._startDate,A)<0&&this._unit.compare(this._endDate,E)>0){E=this._unit.later(E,this._startDate); | |
| 845 | +A=this._unit.earlier(A,this._endDate); | |
| 846 | +var F=this._band.dateToPixelOffset(E); | |
| 847 | +var I=this._band.dateToPixelOffset(A); | |
| 848 | +var H=this._timeline.getDocument(); | |
| 849 | +var K=function(){var L=H.createElement("table"); | |
| 850 | +L.insertRow(0).insertCell(0); | |
| 851 | +return L; | |
| 852 | +}; | |
| 853 | +var B=H.createElement("div"); | |
| 854 | +B.className="timeline-highlight-decorator"; | |
| 855 | +if(this._cssClass){B.className+=" "+this._cssClass; | |
| 856 | +}if(this._color!=null){B.style.backgroundColor=this._color; | |
| 857 | +}if(this._opacity<100){SimileAjax.Graphics.setOpacity(B,this._opacity); | |
| 858 | +}this._layerDiv.appendChild(B); | |
| 859 | +var J=K(); | |
| 860 | +J.className="timeline-highlight-label timeline-highlight-label-start"; | |
| 861 | +var C=J.rows[0].cells[0]; | |
| 862 | +C.innerHTML=this._startLabel; | |
| 863 | +if(this._cssClass){C.className="label_"+this._cssClass; | |
| 864 | +}this._layerDiv.appendChild(J); | |
| 865 | +var G=K(); | |
| 866 | +G.className="timeline-highlight-label timeline-highlight-label-end"; | |
| 867 | +var D=G.rows[0].cells[0]; | |
| 868 | +D.innerHTML=this._endLabel; | |
| 869 | +if(this._cssClass){D.className="label_"+this._cssClass; | |
| 870 | +}this._layerDiv.appendChild(G); | |
| 871 | +if(this._timeline.isHorizontal()){B.style.left=F+"px"; | |
| 872 | +B.style.width=(I-F)+"px"; | |
| 873 | +J.style.right=(this._band.getTotalViewLength()-F)+"px"; | |
| 874 | +J.style.width=(this._startLabel.length)+"em"; | |
| 875 | +G.style.left=I+"px"; | |
| 876 | +G.style.width=(this._endLabel.length)+"em"; | |
| 877 | +}else{B.style.top=F+"px"; | |
| 878 | +B.style.height=(I-F)+"px"; | |
| 879 | +J.style.bottom=F+"px"; | |
| 880 | +J.style.height="1.5px"; | |
| 881 | +G.style.top=I+"px"; | |
| 882 | +G.style.height="1.5px"; | |
| 883 | +}}this._layerDiv.style.display="block"; | |
| 884 | +}; | |
| 885 | +Timeline.SpanHighlightDecorator.prototype.softPaint=function(){}; | |
| 886 | +Timeline.PointHighlightDecorator=function(A){this._unit=A.unit!=null?A.unit:SimileAjax.NativeDateUnit; | |
| 887 | +this._date=(typeof A.date=="string")?this._unit.parseFromObject(A.date):A.date; | |
| 888 | +this._width=A.width!=null?A.width:10; | |
| 889 | +this._color=A.color; | |
| 890 | +this._cssClass=A.cssClass!=null?A.cssClass:""; | |
| 891 | +this._opacity=A.opacity!=null?A.opacity:100; | |
| 892 | +}; | |
| 893 | +Timeline.PointHighlightDecorator.prototype.initialize=function(B,A){this._band=B; | |
| 894 | +this._timeline=A; | |
| 895 | +this._layerDiv=null; | |
| 896 | +}; | |
| 897 | +Timeline.PointHighlightDecorator.prototype.paint=function(){if(this._layerDiv!=null){this._band.removeLayerDiv(this._layerDiv); | |
| 898 | +}this._layerDiv=this._band.createLayerDiv(10); | |
| 899 | +this._layerDiv.setAttribute("name","span-highlight-decorator"); | |
| 900 | +this._layerDiv.style.display="none"; | |
| 901 | +var C=this._band.getMinDate(); | |
| 902 | +var E=this._band.getMaxDate(); | |
| 903 | +if(this._unit.compare(this._date,E)<0&&this._unit.compare(this._date,C)>0){var A=this._band.dateToPixelOffset(this._date); | |
| 904 | +var B=A-Math.round(this._width/2); | |
| 905 | +var D=this._timeline.getDocument(); | |
| 906 | +var F=D.createElement("div"); | |
| 907 | +F.className="timeline-highlight-point-decorator"; | |
| 908 | +F.className+=" "+this._cssClass; | |
| 909 | +if(this._color!=null){F.style.backgroundColor=this._color; | |
| 910 | +}if(this._opacity<100){SimileAjax.Graphics.setOpacity(F,this._opacity); | |
| 911 | +}this._layerDiv.appendChild(F); | |
| 912 | +if(this._timeline.isHorizontal()){F.style.left=B+"px"; | |
| 913 | +F.style.width=this._width; | |
| 914 | +}else{F.style.top=B+"px"; | |
| 915 | +F.style.height=this._width; | |
| 916 | +}}this._layerDiv.style.display="block"; | |
| 917 | +}; | |
| 918 | +Timeline.PointHighlightDecorator.prototype.softPaint=function(){}; | |
| 919 | + | |
| 920 | + | |
| 921 | +/* detailed-painter.js */ | |
| 922 | +Timeline.DetailedEventPainter=function(A){this._params=A; | |
| 923 | +this._onSelectListeners=[]; | |
| 924 | +this._filterMatcher=null; | |
| 925 | +this._highlightMatcher=null; | |
| 926 | +this._frc=null; | |
| 927 | +this._eventIdToElmt={}; | |
| 928 | +}; | |
| 929 | +Timeline.DetailedEventPainter.prototype.initialize=function(B,A){this._band=B; | |
| 930 | +this._timeline=A; | |
| 931 | +this._backLayer=null; | |
| 932 | +this._eventLayer=null; | |
| 933 | +this._lineLayer=null; | |
| 934 | +this._highlightLayer=null; | |
| 935 | +this._eventIdToElmt=null; | |
| 936 | +}; | |
| 937 | +Timeline.DetailedEventPainter.prototype.getType=function(){return"detailed"; | |
| 938 | +}; | |
| 939 | +Timeline.DetailedEventPainter.prototype.addOnSelectListener=function(A){this._onSelectListeners.push(A); | |
| 940 | +}; | |
| 941 | +Timeline.DetailedEventPainter.prototype.removeOnSelectListener=function(B){for(var A=0; | |
| 942 | +A<this._onSelectListeners.length; | |
| 943 | +A++){if(this._onSelectListeners[A]==B){this._onSelectListeners.splice(A,1); | |
| 944 | +break; | |
| 945 | +}}}; | |
| 946 | +Timeline.DetailedEventPainter.prototype.getFilterMatcher=function(){return this._filterMatcher; | |
| 947 | +}; | |
| 948 | +Timeline.DetailedEventPainter.prototype.setFilterMatcher=function(A){this._filterMatcher=A; | |
| 949 | +}; | |
| 950 | +Timeline.DetailedEventPainter.prototype.getHighlightMatcher=function(){return this._highlightMatcher; | |
| 951 | +}; | |
| 952 | +Timeline.DetailedEventPainter.prototype.setHighlightMatcher=function(A){this._highlightMatcher=A; | |
| 953 | +}; | |
| 954 | +Timeline.DetailedEventPainter.prototype.paint=function(){var C=this._band.getEventSource(); | |
| 955 | +if(C==null){return ; | |
| 956 | +}this._eventIdToElmt={}; | |
| 957 | +this._prepareForPainting(); | |
| 958 | +var I=this._params.theme.event; | |
| 959 | +var G=Math.max(I.track.height,this._frc.getLineHeight()); | |
| 960 | +var F={trackOffset:Math.round(this._band.getViewWidth()/2-G/2),trackHeight:G,trackGap:I.track.gap,trackIncrement:G+I.track.gap,icon:I.instant.icon,iconWidth:I.instant.iconWidth,iconHeight:I.instant.iconHeight,labelWidth:I.label.width}; | |
| 961 | +var D=this._band.getMinDate(); | |
| 962 | +var B=this._band.getMaxDate(); | |
| 963 | +var J=(this._filterMatcher!=null)?this._filterMatcher:function(K){return true; | |
| 964 | +}; | |
| 965 | +var A=(this._highlightMatcher!=null)?this._highlightMatcher:function(K){return -1; | |
| 966 | +}; | |
| 967 | +var E=C.getEventReverseIterator(D,B); | |
| 968 | +while(E.hasNext()){var H=E.next(); | |
| 969 | +if(J(H)){this.paintEvent(H,F,this._params.theme,A(H)); | |
| 970 | +}}this._highlightLayer.style.display="block"; | |
| 971 | +this._lineLayer.style.display="block"; | |
| 972 | +this._eventLayer.style.display="block"; | |
| 973 | +this._band.updateEventTrackInfo(this._lowerTracks.length+this._upperTracks.length,F.trackIncrement); | |
| 974 | +}; | |
| 975 | +Timeline.DetailedEventPainter.prototype.softPaint=function(){}; | |
| 976 | +Timeline.DetailedEventPainter.prototype._prepareForPainting=function(){var B=this._band; | |
| 977 | +if(this._backLayer==null){this._backLayer=this._band.createLayerDiv(0,"timeline-band-events"); | |
| 978 | +this._backLayer.style.visibility="hidden"; | |
| 979 | +var A=document.createElement("span"); | |
| 980 | +A.className="timeline-event-label"; | |
| 981 | +this._backLayer.appendChild(A); | |
| 982 | +this._frc=SimileAjax.Graphics.getFontRenderingContext(A); | |
| 983 | +}this._frc.update(); | |
| 984 | +this._lowerTracks=[]; | |
| 985 | +this._upperTracks=[]; | |
| 986 | +if(this._highlightLayer!=null){B.removeLayerDiv(this._highlightLayer); | |
| 987 | +}this._highlightLayer=B.createLayerDiv(105,"timeline-band-highlights"); | |
| 988 | +this._highlightLayer.style.display="none"; | |
| 989 | +if(this._lineLayer!=null){B.removeLayerDiv(this._lineLayer); | |
| 990 | +}this._lineLayer=B.createLayerDiv(110,"timeline-band-lines"); | |
| 991 | +this._lineLayer.style.display="none"; | |
| 992 | +if(this._eventLayer!=null){B.removeLayerDiv(this._eventLayer); | |
| 993 | +}this._eventLayer=B.createLayerDiv(110,"timeline-band-events"); | |
| 994 | +this._eventLayer.style.display="none"; | |
| 995 | +}; | |
| 996 | +Timeline.DetailedEventPainter.prototype.paintEvent=function(B,C,D,A){if(B.isInstant()){this.paintInstantEvent(B,C,D,A); | |
| 997 | +}else{this.paintDurationEvent(B,C,D,A); | |
| 998 | +}}; | |
| 999 | +Timeline.DetailedEventPainter.prototype.paintInstantEvent=function(B,C,D,A){if(B.isImprecise()){this.paintImpreciseInstantEvent(B,C,D,A); | |
| 1000 | +}else{this.paintPreciseInstantEvent(B,C,D,A); | |
| 1001 | +}}; | |
| 1002 | +Timeline.DetailedEventPainter.prototype.paintDurationEvent=function(B,C,D,A){if(B.isImprecise()){this.paintImpreciseDurationEvent(B,C,D,A); | |
| 1003 | +}else{this.paintPreciseDurationEvent(B,C,D,A); | |
| 1004 | +}}; | |
| 1005 | +Timeline.DetailedEventPainter.prototype.paintPreciseInstantEvent=function(L,P,S,Q){var T=this._timeline.getDocument(); | |
| 1006 | +var J=L.getText(); | |
| 1007 | +var G=L.getStart(); | |
| 1008 | +var H=Math.round(this._band.dateToPixelOffset(G)); | |
| 1009 | +var A=Math.round(H+P.iconWidth/2); | |
| 1010 | +var C=Math.round(H-P.iconWidth/2); | |
| 1011 | +var E=this._frc.computeSize(J); | |
| 1012 | +var F=this._findFreeTrackForSolid(A,H); | |
| 1013 | +var B=this._paintEventIcon(L,F,C,P,S); | |
| 1014 | +var K=A+S.event.label.offsetFromLine; | |
| 1015 | +var O=F; | |
| 1016 | +var D=this._getTrackData(F); | |
| 1017 | +if(Math.min(D.solid,D.text)>=K+E.width){D.solid=C; | |
| 1018 | +D.text=K; | |
| 1019 | +}else{D.solid=C; | |
| 1020 | +K=H+S.event.label.offsetFromLine; | |
| 1021 | +O=this._findFreeTrackForText(F,K+E.width,function(U){U.line=H-2; | |
| 1022 | +}); | |
| 1023 | +this._getTrackData(O).text=C; | |
| 1024 | +this._paintEventLine(L,H,F,O,P,S); | |
| 1025 | +}var N=Math.round(P.trackOffset+O*P.trackIncrement+P.trackHeight/2-E.height/2); | |
| 1026 | +var R=this._paintEventLabel(L,J,K,N,E.width,E.height,S); | |
| 1027 | +var M=this; | |
| 1028 | +var I=function(V,U,W){return M._onClickInstantEvent(B.elmt,U,L); | |
| 1029 | +}; | |
| 1030 | +SimileAjax.DOM.registerEvent(B.elmt,"mousedown",I); | |
| 1031 | +SimileAjax.DOM.registerEvent(R.elmt,"mousedown",I); | |
| 1032 | +this._createHighlightDiv(Q,B,S); | |
| 1033 | +this._eventIdToElmt[L.getID()]=B.elmt; | |
| 1034 | +}; | |
| 1035 | +Timeline.DetailedEventPainter.prototype.paintImpreciseInstantEvent=function(O,S,W,T){var X=this._timeline.getDocument(); | |
| 1036 | +var M=O.getText(); | |
| 1037 | +var I=O.getStart(); | |
| 1038 | +var U=O.getEnd(); | |
| 1039 | +var K=Math.round(this._band.dateToPixelOffset(I)); | |
| 1040 | +var B=Math.round(this._band.dateToPixelOffset(U)); | |
| 1041 | +var A=Math.round(K+S.iconWidth/2); | |
| 1042 | +var D=Math.round(K-S.iconWidth/2); | |
| 1043 | +var G=this._frc.computeSize(M); | |
| 1044 | +var H=this._findFreeTrackForSolid(B,K); | |
| 1045 | +var E=this._paintEventTape(O,H,K,B,W.event.instant.impreciseColor,W.event.instant.impreciseOpacity,S,W); | |
| 1046 | +var C=this._paintEventIcon(O,H,D,S,W); | |
| 1047 | +var F=this._getTrackData(H); | |
| 1048 | +F.solid=D; | |
| 1049 | +var N=A+W.event.label.offsetFromLine; | |
| 1050 | +var J=N+G.width; | |
| 1051 | +var R; | |
| 1052 | +if(J<B){R=H; | |
| 1053 | +}else{N=K+W.event.label.offsetFromLine; | |
| 1054 | +J=N+G.width; | |
| 1055 | +R=this._findFreeTrackForText(H,J,function(Y){Y.line=K-2; | |
| 1056 | +}); | |
| 1057 | +this._getTrackData(R).text=D; | |
| 1058 | +this._paintEventLine(O,K,H,R,S,W); | |
| 1059 | +}var Q=Math.round(S.trackOffset+R*S.trackIncrement+S.trackHeight/2-G.height/2); | |
| 1060 | +var V=this._paintEventLabel(O,M,N,Q,G.width,G.height,W); | |
| 1061 | +var P=this; | |
| 1062 | +var L=function(Z,Y,a){return P._onClickInstantEvent(C.elmt,Y,O); | |
| 1063 | +}; | |
| 1064 | +SimileAjax.DOM.registerEvent(C.elmt,"mousedown",L); | |
| 1065 | +SimileAjax.DOM.registerEvent(E.elmt,"mousedown",L); | |
| 1066 | +SimileAjax.DOM.registerEvent(V.elmt,"mousedown",L); | |
| 1067 | +this._createHighlightDiv(T,C,W); | |
| 1068 | +this._eventIdToElmt[O.getID()]=C.elmt; | |
| 1069 | +}; | |
| 1070 | +Timeline.DetailedEventPainter.prototype.paintPreciseDurationEvent=function(K,O,T,Q){var U=this._timeline.getDocument(); | |
| 1071 | +var I=K.getText(); | |
| 1072 | +var E=K.getStart(); | |
| 1073 | +var R=K.getEnd(); | |
| 1074 | +var F=Math.round(this._band.dateToPixelOffset(E)); | |
| 1075 | +var A=Math.round(this._band.dateToPixelOffset(R)); | |
| 1076 | +var C=this._frc.computeSize(I); | |
| 1077 | +var D=this._findFreeTrackForSolid(A); | |
| 1078 | +var P=K.getColor(); | |
| 1079 | +P=P!=null?P:T.event.duration.color; | |
| 1080 | +var B=this._paintEventTape(K,D,F,A,P,100,O,T); | |
| 1081 | +var H=this._getTrackData(D); | |
| 1082 | +H.solid=F; | |
| 1083 | +var J=F+T.event.label.offsetFromLine; | |
| 1084 | +var N=this._findFreeTrackForText(D,J+C.width,function(V){V.line=F-2; | |
| 1085 | +}); | |
| 1086 | +this._getTrackData(N).text=F-2; | |
| 1087 | +this._paintEventLine(K,F,D,N,O,T); | |
| 1088 | +var M=Math.round(O.trackOffset+N*O.trackIncrement+O.trackHeight/2-C.height/2); | |
| 1089 | +var S=this._paintEventLabel(K,I,J,M,C.width,C.height,T); | |
| 1090 | +var L=this; | |
| 1091 | +var G=function(W,V,X){return L._onClickDurationEvent(B.elmt,V,K); | |
| 1092 | +}; | |
| 1093 | +SimileAjax.DOM.registerEvent(B.elmt,"mousedown",G); | |
| 1094 | +SimileAjax.DOM.registerEvent(S.elmt,"mousedown",G); | |
| 1095 | +this._createHighlightDiv(Q,B,T); | |
| 1096 | +this._eventIdToElmt[K.getID()]=B.elmt; | |
| 1097 | +}; | |
| 1098 | +Timeline.DetailedEventPainter.prototype.paintImpreciseDurationEvent=function(M,T,Y,V){var Z=this._timeline.getDocument(); | |
| 1099 | +var K=M.getText(); | |
| 1100 | +var G=M.getStart(); | |
| 1101 | +var S=M.getLatestStart(); | |
| 1102 | +var W=M.getEnd(); | |
| 1103 | +var O=M.getEarliestEnd(); | |
| 1104 | +var H=Math.round(this._band.dateToPixelOffset(G)); | |
| 1105 | +var E=Math.round(this._band.dateToPixelOffset(S)); | |
| 1106 | +var A=Math.round(this._band.dateToPixelOffset(W)); | |
| 1107 | +var F=Math.round(this._band.dateToPixelOffset(O)); | |
| 1108 | +var C=this._frc.computeSize(K); | |
| 1109 | +var D=this._findFreeTrackForSolid(A); | |
| 1110 | +var U=M.getColor(); | |
| 1111 | +U=U!=null?U:Y.event.duration.color; | |
| 1112 | +var R=this._paintEventTape(M,D,H,A,Y.event.duration.impreciseColor,Y.event.duration.impreciseOpacity,T,Y); | |
| 1113 | +var B=this._paintEventTape(M,D,E,F,U,100,T,Y); | |
| 1114 | +var J=this._getTrackData(D); | |
| 1115 | +J.solid=H; | |
| 1116 | +var L=E+Y.event.label.offsetFromLine; | |
| 1117 | +var Q=this._findFreeTrackForText(D,L+C.width,function(a){a.line=E-2; | |
| 1118 | +}); | |
| 1119 | +this._getTrackData(Q).text=E-2; | |
| 1120 | +this._paintEventLine(M,E,D,Q,T,Y); | |
| 1121 | +var P=Math.round(T.trackOffset+Q*T.trackIncrement+T.trackHeight/2-C.height/2); | |
| 1122 | +var X=this._paintEventLabel(M,K,L,P,C.width,C.height,Y); | |
| 1123 | +var N=this; | |
| 1124 | +var I=function(b,a,c){return N._onClickDurationEvent(B.elmt,a,M); | |
| 1125 | +}; | |
| 1126 | +SimileAjax.DOM.registerEvent(B.elmt,"mousedown",I); | |
| 1127 | +SimileAjax.DOM.registerEvent(X.elmt,"mousedown",I); | |
| 1128 | +this._createHighlightDiv(V,B,Y); | |
| 1129 | +this._eventIdToElmt[M.getID()]=B.elmt; | |
| 1130 | +}; | |
| 1131 | +Timeline.DetailedEventPainter.prototype._findFreeTrackForSolid=function(D,A){for(var C=0; | |
| 1132 | +true; | |
| 1133 | +C++){if(C<this._lowerTracks.length){var B=this._lowerTracks[C]; | |
| 1134 | +if(Math.min(B.solid,B.text)>D&&(!(A)||B.line>A)){return C; | |
| 1135 | +}}else{this._lowerTracks.push({solid:Number.POSITIVE_INFINITY,text:Number.POSITIVE_INFINITY,line:Number.POSITIVE_INFINITY}); | |
| 1136 | +return C; | |
| 1137 | +}if(C<this._upperTracks.length){var B=this._upperTracks[C]; | |
| 1138 | +if(Math.min(B.solid,B.text)>D&&(!(A)||B.line>A)){return -1-C; | |
| 1139 | +}}else{this._upperTracks.push({solid:Number.POSITIVE_INFINITY,text:Number.POSITIVE_INFINITY,line:Number.POSITIVE_INFINITY}); | |
| 1140 | +return -1-C; | |
| 1141 | +}}}; | |
| 1142 | +Timeline.DetailedEventPainter.prototype._findFreeTrackForText=function(C,A,I){var B; | |
| 1143 | +var E; | |
| 1144 | +var F; | |
| 1145 | +var H; | |
| 1146 | +if(C<0){B=true; | |
| 1147 | +F=-C; | |
| 1148 | +E=this._findFreeUpperTrackForText(F,A); | |
| 1149 | +H=-1-E; | |
| 1150 | +}else{if(C>0){B=false; | |
| 1151 | +F=C+1; | |
| 1152 | +E=this._findFreeLowerTrackForText(F,A); | |
| 1153 | +H=E; | |
| 1154 | +}else{var G=this._findFreeUpperTrackForText(0,A); | |
| 1155 | +var J=this._findFreeLowerTrackForText(1,A); | |
| 1156 | +if(J-1<=G){B=false; | |
| 1157 | +F=1; | |
| 1158 | +E=J; | |
| 1159 | +H=E; | |
| 1160 | +}else{B=true; | |
| 1161 | +F=0; | |
| 1162 | +E=G; | |
| 1163 | +H=-1-E; | |
| 1164 | +}}}if(B){if(E==this._upperTracks.length){this._upperTracks.push({solid:Number.POSITIVE_INFINITY,text:Number.POSITIVE_INFINITY,line:Number.POSITIVE_INFINITY}); | |
| 1165 | +}for(var D=F; | |
| 1166 | +D<E; | |
| 1167 | +D++){I(this._upperTracks[D]); | |
| 1168 | +}}else{if(E==this._lowerTracks.length){this._lowerTracks.push({solid:Number.POSITIVE_INFINITY,text:Number.POSITIVE_INFINITY,line:Number.POSITIVE_INFINITY}); | |
| 1169 | +}for(var D=F; | |
| 1170 | +D<E; | |
| 1171 | +D++){I(this._lowerTracks[D]); | |
| 1172 | +}}return H; | |
| 1173 | +}; | |
| 1174 | +Timeline.DetailedEventPainter.prototype._findFreeLowerTrackForText=function(A,C){for(; | |
| 1175 | +A<this._lowerTracks.length; | |
| 1176 | +A++){var B=this._lowerTracks[A]; | |
| 1177 | +if(Math.min(B.solid,B.text)>=C){break; | |
| 1178 | +}}return A; | |
| 1179 | +}; | |
| 1180 | +Timeline.DetailedEventPainter.prototype._findFreeUpperTrackForText=function(A,C){for(; | |
| 1181 | +A<this._upperTracks.length; | |
| 1182 | +A++){var B=this._upperTracks[A]; | |
| 1183 | +if(Math.min(B.solid,B.text)>=C){break; | |
| 1184 | +}}return A; | |
| 1185 | +}; | |
| 1186 | +Timeline.DetailedEventPainter.prototype._getTrackData=function(A){return(A<0)?this._upperTracks[-A-1]:this._lowerTracks[A]; | |
| 1187 | +}; | |
| 1188 | +Timeline.DetailedEventPainter.prototype._paintEventLine=function(J,E,D,A,G,F){var H=Math.round(G.trackOffset+D*G.trackIncrement+G.trackHeight/2); | |
| 1189 | +var I=Math.round(Math.abs(A-D)*G.trackIncrement); | |
| 1190 | +var C="1px solid "+F.event.label.lineColor; | |
| 1191 | +var B=this._timeline.getDocument().createElement("div"); | |
| 1192 | +B.style.position="absolute"; | |
| 1193 | +B.style.left=E+"px"; | |
| 1194 | +B.style.width=F.event.label.offsetFromLine+"px"; | |
| 1195 | +B.style.height=I+"px"; | |
| 1196 | +if(D>A){B.style.top=(H-I)+"px"; | |
| 1197 | +B.style.borderTop=C; | |
| 1198 | +}else{B.style.top=H+"px"; | |
| 1199 | +B.style.borderBottom=C; | |
| 1200 | +}B.style.borderLeft=C; | |
| 1201 | +this._lineLayer.appendChild(B); | |
| 1202 | +}; | |
| 1203 | +Timeline.DetailedEventPainter.prototype._paintEventIcon=function(J,B,C,F,E){var H=J.getIcon(); | |
| 1204 | +H=H!=null?H:F.icon; | |
| 1205 | +var G=F.trackOffset+B*F.trackIncrement+F.trackHeight/2; | |
| 1206 | +var I=Math.round(G-F.iconHeight/2); | |
| 1207 | +var D=SimileAjax.Graphics.createTranslucentImage(H); | |
| 1208 | +var A=this._timeline.getDocument().createElement("div"); | |
| 1209 | +A.style.position="absolute"; | |
| 1210 | +A.style.left=C+"px"; | |
| 1211 | +A.style.top=I+"px"; | |
| 1212 | +A.appendChild(D); | |
| 1213 | +A.style.cursor="pointer"; | |
| 1214 | +if(J._title!=null){A.title=J._title; | |
| 1215 | +}this._eventLayer.appendChild(A); | |
| 1216 | +return{left:C,top:I,width:F.iconWidth,height:F.iconHeight,elmt:A}; | |
| 1217 | +}; | |
| 1218 | +Timeline.DetailedEventPainter.prototype._paintEventLabel=function(I,J,C,F,A,G,E){var H=this._timeline.getDocument(); | |
| 1219 | +var K=H.createElement("div"); | |
| 1220 | +K.style.position="absolute"; | |
| 1221 | +K.style.left=C+"px"; | |
| 1222 | +K.style.width=A+"px"; | |
| 1223 | +K.style.top=F+"px"; | |
| 1224 | +K.style.height=G+"px"; | |
| 1225 | +K.style.backgroundColor=E.event.label.backgroundColor; | |
| 1226 | +SimileAjax.Graphics.setOpacity(K,E.event.label.backgroundOpacity); | |
| 1227 | +this._eventLayer.appendChild(K); | |
| 1228 | +var B=H.createElement("div"); | |
| 1229 | +B.style.position="absolute"; | |
| 1230 | +B.style.left=C+"px"; | |
| 1231 | +B.style.width=A+"px"; | |
| 1232 | +B.style.top=F+"px"; | |
| 1233 | +B.innerHTML=J; | |
| 1234 | +B.style.cursor="pointer"; | |
| 1235 | +if(I._title!=null){B.title=I._title; | |
| 1236 | +}var D=I.getTextColor(); | |
| 1237 | +if(D==null){D=I.getColor(); | |
| 1238 | +}if(D!=null){B.style.color=D; | |
| 1239 | +}this._eventLayer.appendChild(B); | |
| 1240 | +return{left:C,top:F,width:A,height:G,elmt:B}; | |
| 1241 | +}; | |
| 1242 | +Timeline.DetailedEventPainter.prototype._paintEventTape=function(L,B,D,A,G,C,I,H){var F=A-D; | |
| 1243 | +var E=H.event.tape.height; | |
| 1244 | +var K=I.trackOffset+B*I.trackIncrement+I.trackHeight/2; | |
| 1245 | +var J=Math.round(K-E/2); | |
| 1246 | +var M=this._timeline.getDocument().createElement("div"); | |
| 1247 | +M.style.position="absolute"; | |
| 1248 | +M.style.left=D+"px"; | |
| 1249 | +M.style.width=F+"px"; | |
| 1250 | +M.style.top=J+"px"; | |
| 1251 | +M.style.height=E+"px"; | |
| 1252 | +M.style.backgroundColor=G; | |
| 1253 | +M.style.overflow="hidden"; | |
| 1254 | +M.style.cursor="pointer"; | |
| 1255 | +if(L._title!=null){M.title=L._title; | |
| 1256 | +}SimileAjax.Graphics.setOpacity(M,C); | |
| 1257 | +this._eventLayer.appendChild(M); | |
| 1258 | +return{left:D,top:J,width:F,height:E,elmt:M}; | |
| 1259 | +}; | |
| 1260 | +Timeline.DetailedEventPainter.prototype._createHighlightDiv=function(A,C,E){if(A>=0){var D=this._timeline.getDocument(); | |
| 1261 | +var G=E.event; | |
| 1262 | +var B=G.highlightColors[Math.min(A,G.highlightColors.length-1)]; | |
| 1263 | +var F=D.createElement("div"); | |
| 1264 | +F.style.position="absolute"; | |
| 1265 | +F.style.overflow="hidden"; | |
| 1266 | +F.style.left=(C.left-2)+"px"; | |
| 1267 | +F.style.width=(C.width+4)+"px"; | |
| 1268 | +F.style.top=(C.top-2)+"px"; | |
| 1269 | +F.style.height=(C.height+4)+"px"; | |
| 1270 | +F.style.background=B; | |
| 1271 | +this._highlightLayer.appendChild(F); | |
| 1272 | +}}; | |
| 1273 | +Timeline.DetailedEventPainter.prototype._onClickInstantEvent=function(C,A,B){var D=SimileAjax.DOM.getPageCoordinates(C); | |
| 1274 | +this._showBubble(D.left+Math.ceil(C.offsetWidth/2),D.top+Math.ceil(C.offsetHeight/2),B); | |
| 1275 | +this._fireOnSelect(B.getID()); | |
| 1276 | +A.cancelBubble=true; | |
| 1277 | +SimileAjax.DOM.cancelEvent(A); | |
| 1278 | +return false; | |
| 1279 | +}; | |
| 1280 | +Timeline.DetailedEventPainter.prototype._onClickDurationEvent=function(F,B,C){if("pageX" in B){var A=B.pageX; | |
| 1281 | +var E=B.pageY; | |
| 1282 | +}else{var D=SimileAjax.DOM.getPageCoordinates(F); | |
| 1283 | +var A=B.offsetX+D.left; | |
| 1284 | +var E=B.offsetY+D.top; | |
| 1285 | +}this._showBubble(A,E,C); | |
| 1286 | +this._fireOnSelect(C.getID()); | |
| 1287 | +B.cancelBubble=true; | |
| 1288 | +SimileAjax.DOM.cancelEvent(B); | |
| 1289 | +return false; | |
| 1290 | +}; | |
| 1291 | +Timeline.DetailedEventPainter.prototype.showBubble=function(A){var B=this._eventIdToElmt[A.getID()]; | |
| 1292 | +if(B){var C=SimileAjax.DOM.getPageCoordinates(B); | |
| 1293 | +this._showBubble(C.left+B.offsetWidth/2,C.top+B.offsetHeight/2,A); | |
| 1294 | +}}; | |
| 1295 | +Timeline.DetailedEventPainter.prototype._showBubble=function(B,E,C){var D=document.createElement("div"); | |
| 1296 | +var A=this._params.theme.event.bubble; | |
| 1297 | +C.fillInfoBubble(D,this._params.theme,this._band.getLabeller()); | |
| 1298 | +SimileAjax.WindowManager.cancelPopups(); | |
| 1299 | +SimileAjax.Graphics.createBubbleForContentAndPoint(D,B,E,A.width,null,A.maxHeight); | |
| 1300 | +}; | |
| 1301 | +Timeline.DetailedEventPainter.prototype._fireOnSelect=function(A){for(var B=0; | |
| 1302 | +B<this._onSelectListeners.length; | |
| 1303 | +B++){this._onSelectListeners[B](A); | |
| 1304 | +}}; | |
| 1305 | + | |
| 1306 | + | |
| 1307 | +/* ether-painters.js */ | |
| 1308 | +Timeline.GregorianEtherPainter=function(A){this._params=A; | |
| 1309 | +this._theme=A.theme; | |
| 1310 | +this._unit=A.unit; | |
| 1311 | +this._multiple=("multiple" in A)?A.multiple:1; | |
| 1312 | +}; | |
| 1313 | +Timeline.GregorianEtherPainter.prototype.initialize=function(C,B){this._band=C; | |
| 1314 | +this._timeline=B; | |
| 1315 | +this._backgroundLayer=C.createLayerDiv(0); | |
| 1316 | +this._backgroundLayer.setAttribute("name","ether-background"); | |
| 1317 | +this._backgroundLayer.className="timeline-ether-bg"; | |
| 1318 | +this._markerLayer=null; | |
| 1319 | +this._lineLayer=null; | |
| 1320 | +var D=("align" in this._params&&this._params.align!=undefined)?this._params.align:this._theme.ether.interval.marker[B.isHorizontal()?"hAlign":"vAlign"]; | |
| 1321 | +var A=("showLine" in this._params)?this._params.showLine:this._theme.ether.interval.line.show; | |
| 1322 | +this._intervalMarkerLayout=new Timeline.EtherIntervalMarkerLayout(this._timeline,this._band,this._theme,D,A); | |
| 1323 | +this._highlight=new Timeline.EtherHighlight(this._timeline,this._band,this._theme,this._backgroundLayer); | |
| 1324 | +}; | |
| 1325 | +Timeline.GregorianEtherPainter.prototype.setHighlight=function(A,B){this._highlight.position(A,B); | |
| 1326 | +}; | |
| 1327 | +Timeline.GregorianEtherPainter.prototype.paint=function(){if(this._markerLayer){this._band.removeLayerDiv(this._markerLayer); | |
| 1328 | +}this._markerLayer=this._band.createLayerDiv(100); | |
| 1329 | +this._markerLayer.setAttribute("name","ether-markers"); | |
| 1330 | +this._markerLayer.style.display="none"; | |
| 1331 | +if(this._lineLayer){this._band.removeLayerDiv(this._lineLayer); | |
| 1332 | +}this._lineLayer=this._band.createLayerDiv(1); | |
| 1333 | +this._lineLayer.setAttribute("name","ether-lines"); | |
| 1334 | +this._lineLayer.style.display="none"; | |
| 1335 | +var C=this._band.getMinDate(); | |
| 1336 | +var F=this._band.getMaxDate(); | |
| 1337 | +var A=this._band.getTimeZone(); | |
| 1338 | +var E=this._band.getLabeller(); | |
| 1339 | +SimileAjax.DateTime.roundDownToInterval(C,this._unit,A,this._multiple,this._theme.firstDayOfWeek); | |
| 1340 | +var D=this; | |
| 1341 | +var B=function(G){for(var H=0; | |
| 1342 | +H<D._multiple; | |
| 1343 | +H++){SimileAjax.DateTime.incrementByInterval(G,D._unit); | |
| 1344 | +}}; | |
| 1345 | +while(C.getTime()<F.getTime()){this._intervalMarkerLayout.createIntervalMarker(C,E,this._unit,this._markerLayer,this._lineLayer); | |
| 1346 | +B(C); | |
| 1347 | +}this._markerLayer.style.display="block"; | |
| 1348 | +this._lineLayer.style.display="block"; | |
| 1349 | +}; | |
| 1350 | +Timeline.GregorianEtherPainter.prototype.softPaint=function(){}; | |
| 1351 | +Timeline.GregorianEtherPainter.prototype.zoom=function(A){if(A!=0){this._unit+=A; | |
| 1352 | +}}; | |
| 1353 | +Timeline.HotZoneGregorianEtherPainter=function(G){this._params=G; | |
| 1354 | +this._theme=G.theme; | |
| 1355 | +this._zones=[{startTime:Number.NEGATIVE_INFINITY,endTime:Number.POSITIVE_INFINITY,unit:G.unit,multiple:1}]; | |
| 1356 | +for(var F=0; | |
| 1357 | +F<G.zones.length; | |
| 1358 | +F++){var C=G.zones[F]; | |
| 1359 | +var E=SimileAjax.DateTime.parseGregorianDateTime(C.start).getTime(); | |
| 1360 | +var B=SimileAjax.DateTime.parseGregorianDateTime(C.end).getTime(); | |
| 1361 | +for(var D=0; | |
| 1362 | +D<this._zones.length&&B>E; | |
| 1363 | +D++){var A=this._zones[D]; | |
| 1364 | +if(E<A.endTime){if(E>A.startTime){this._zones.splice(D,0,{startTime:A.startTime,endTime:E,unit:A.unit,multiple:A.multiple}); | |
| 1365 | +D++; | |
| 1366 | +A.startTime=E; | |
| 1367 | +}if(B<A.endTime){this._zones.splice(D,0,{startTime:E,endTime:B,unit:C.unit,multiple:(C.multiple)?C.multiple:1}); | |
| 1368 | +D++; | |
| 1369 | +A.startTime=B; | |
| 1370 | +E=B; | |
| 1371 | +}else{A.multiple=C.multiple; | |
| 1372 | +A.unit=C.unit; | |
| 1373 | +E=A.endTime; | |
| 1374 | +}}}}}; | |
| 1375 | +Timeline.HotZoneGregorianEtherPainter.prototype.initialize=function(C,B){this._band=C; | |
| 1376 | +this._timeline=B; | |
| 1377 | +this._backgroundLayer=C.createLayerDiv(0); | |
| 1378 | +this._backgroundLayer.setAttribute("name","ether-background"); | |
| 1379 | +this._backgroundLayer.className="timeline-ether-bg"; | |
| 1380 | +this._markerLayer=null; | |
| 1381 | +this._lineLayer=null; | |
| 1382 | +var D=("align" in this._params&&this._params.align!=undefined)?this._params.align:this._theme.ether.interval.marker[B.isHorizontal()?"hAlign":"vAlign"]; | |
| 1383 | +var A=("showLine" in this._params)?this._params.showLine:this._theme.ether.interval.line.show; | |
| 1384 | +this._intervalMarkerLayout=new Timeline.EtherIntervalMarkerLayout(this._timeline,this._band,this._theme,D,A); | |
| 1385 | +this._highlight=new Timeline.EtherHighlight(this._timeline,this._band,this._theme,this._backgroundLayer); | |
| 1386 | +}; | |
| 1387 | +Timeline.HotZoneGregorianEtherPainter.prototype.setHighlight=function(A,B){this._highlight.position(A,B); | |
| 1388 | +}; | |
| 1389 | +Timeline.HotZoneGregorianEtherPainter.prototype.paint=function(){if(this._markerLayer){this._band.removeLayerDiv(this._markerLayer); | |
| 1390 | +}this._markerLayer=this._band.createLayerDiv(100); | |
| 1391 | +this._markerLayer.setAttribute("name","ether-markers"); | |
| 1392 | +this._markerLayer.style.display="none"; | |
| 1393 | +if(this._lineLayer){this._band.removeLayerDiv(this._lineLayer); | |
| 1394 | +}this._lineLayer=this._band.createLayerDiv(1); | |
| 1395 | +this._lineLayer.setAttribute("name","ether-lines"); | |
| 1396 | +this._lineLayer.style.display="none"; | |
| 1397 | +var C=this._band.getMinDate(); | |
| 1398 | +var A=this._band.getMaxDate(); | |
| 1399 | +var I=this._band.getTimeZone(); | |
| 1400 | +var L=this._band.getLabeller(); | |
| 1401 | +var B=this; | |
| 1402 | +var J=function(N,M){for(var O=0; | |
| 1403 | +O<M.multiple; | |
| 1404 | +O++){SimileAjax.DateTime.incrementByInterval(N,M.unit); | |
| 1405 | +}}; | |
| 1406 | +var D=0; | |
| 1407 | +while(D<this._zones.length){if(C.getTime()<this._zones[D].endTime){break; | |
| 1408 | +}D++; | |
| 1409 | +}var E=this._zones.length-1; | |
| 1410 | +while(E>=0){if(A.getTime()>this._zones[E].startTime){break; | |
| 1411 | +}E--; | |
| 1412 | +}for(var H=D; | |
| 1413 | +H<=E; | |
| 1414 | +H++){var G=this._zones[H]; | |
| 1415 | +var K=new Date(Math.max(C.getTime(),G.startTime)); | |
| 1416 | +var F=new Date(Math.min(A.getTime(),G.endTime)); | |
| 1417 | +SimileAjax.DateTime.roundDownToInterval(K,G.unit,I,G.multiple,this._theme.firstDayOfWeek); | |
| 1418 | +SimileAjax.DateTime.roundUpToInterval(F,G.unit,I,G.multiple,this._theme.firstDayOfWeek); | |
| 1419 | +while(K.getTime()<F.getTime()){this._intervalMarkerLayout.createIntervalMarker(K,L,G.unit,this._markerLayer,this._lineLayer); | |
| 1420 | +J(K,G); | |
| 1421 | +}}this._markerLayer.style.display="block"; | |
| 1422 | +this._lineLayer.style.display="block"; | |
| 1423 | +}; | |
| 1424 | +Timeline.HotZoneGregorianEtherPainter.prototype.softPaint=function(){}; | |
| 1425 | +Timeline.HotZoneGregorianEtherPainter.prototype.zoom=function(A){if(A!=0){for(var B=0; | |
| 1426 | +B<this._zones.length; | |
| 1427 | +++B){if(this._zones[B]){this._zones[B].unit+=A; | |
| 1428 | +}}}}; | |
| 1429 | +Timeline.YearCountEtherPainter=function(A){this._params=A; | |
| 1430 | +this._theme=A.theme; | |
| 1431 | +this._startDate=SimileAjax.DateTime.parseGregorianDateTime(A.startDate); | |
| 1432 | +this._multiple=("multiple" in A)?A.multiple:1; | |
| 1433 | +}; | |
| 1434 | +Timeline.YearCountEtherPainter.prototype.initialize=function(C,B){this._band=C; | |
| 1435 | +this._timeline=B; | |
| 1436 | +this._backgroundLayer=C.createLayerDiv(0); | |
| 1437 | +this._backgroundLayer.setAttribute("name","ether-background"); | |
| 1438 | +this._backgroundLayer.className="timeline-ether-bg"; | |
| 1439 | +this._markerLayer=null; | |
| 1440 | +this._lineLayer=null; | |
| 1441 | +var D=("align" in this._params)?this._params.align:this._theme.ether.interval.marker[B.isHorizontal()?"hAlign":"vAlign"]; | |
| 1442 | +var A=("showLine" in this._params)?this._params.showLine:this._theme.ether.interval.line.show; | |
| 1443 | +this._intervalMarkerLayout=new Timeline.EtherIntervalMarkerLayout(this._timeline,this._band,this._theme,D,A); | |
| 1444 | +this._highlight=new Timeline.EtherHighlight(this._timeline,this._band,this._theme,this._backgroundLayer); | |
| 1445 | +}; | |
| 1446 | +Timeline.YearCountEtherPainter.prototype.setHighlight=function(A,B){this._highlight.position(A,B); | |
| 1447 | +}; | |
| 1448 | +Timeline.YearCountEtherPainter.prototype.paint=function(){if(this._markerLayer){this._band.removeLayerDiv(this._markerLayer); | |
| 1449 | +}this._markerLayer=this._band.createLayerDiv(100); | |
| 1450 | +this._markerLayer.setAttribute("name","ether-markers"); | |
| 1451 | +this._markerLayer.style.display="none"; | |
| 1452 | +if(this._lineLayer){this._band.removeLayerDiv(this._lineLayer); | |
| 1453 | +}this._lineLayer=this._band.createLayerDiv(1); | |
| 1454 | +this._lineLayer.setAttribute("name","ether-lines"); | |
| 1455 | +this._lineLayer.style.display="none"; | |
| 1456 | +var B=new Date(this._startDate.getTime()); | |
| 1457 | +var F=this._band.getMaxDate(); | |
| 1458 | +var E=this._band.getMinDate().getUTCFullYear()-this._startDate.getUTCFullYear(); | |
| 1459 | +B.setUTCFullYear(this._band.getMinDate().getUTCFullYear()-E%this._multiple); | |
| 1460 | +var C=this; | |
| 1461 | +var A=function(G){for(var H=0; | |
| 1462 | +H<C._multiple; | |
| 1463 | +H++){SimileAjax.DateTime.incrementByInterval(G,SimileAjax.DateTime.YEAR); | |
| 1464 | +}}; | |
| 1465 | +var D={labelInterval:function(G,I){var H=G.getUTCFullYear()-C._startDate.getUTCFullYear(); | |
| 1466 | +return{text:H,emphasized:H==0}; | |
| 1467 | +}}; | |
| 1468 | +while(B.getTime()<F.getTime()){this._intervalMarkerLayout.createIntervalMarker(B,D,SimileAjax.DateTime.YEAR,this._markerLayer,this._lineLayer); | |
| 1469 | +A(B); | |
| 1470 | +}this._markerLayer.style.display="block"; | |
| 1471 | +this._lineLayer.style.display="block"; | |
| 1472 | +}; | |
| 1473 | +Timeline.YearCountEtherPainter.prototype.softPaint=function(){}; | |
| 1474 | +Timeline.QuarterlyEtherPainter=function(A){this._params=A; | |
| 1475 | +this._theme=A.theme; | |
| 1476 | +this._startDate=SimileAjax.DateTime.parseGregorianDateTime(A.startDate); | |
| 1477 | +}; | |
| 1478 | +Timeline.QuarterlyEtherPainter.prototype.initialize=function(C,B){this._band=C; | |
| 1479 | +this._timeline=B; | |
| 1480 | +this._backgroundLayer=C.createLayerDiv(0); | |
| 1481 | +this._backgroundLayer.setAttribute("name","ether-background"); | |
| 1482 | +this._backgroundLayer.className="timeline-ether-bg"; | |
| 1483 | +this._markerLayer=null; | |
| 1484 | +this._lineLayer=null; | |
| 1485 | +var D=("align" in this._params)?this._params.align:this._theme.ether.interval.marker[B.isHorizontal()?"hAlign":"vAlign"]; | |
| 1486 | +var A=("showLine" in this._params)?this._params.showLine:this._theme.ether.interval.line.show; | |
| 1487 | +this._intervalMarkerLayout=new Timeline.EtherIntervalMarkerLayout(this._timeline,this._band,this._theme,D,A); | |
| 1488 | +this._highlight=new Timeline.EtherHighlight(this._timeline,this._band,this._theme,this._backgroundLayer); | |
| 1489 | +}; | |
| 1490 | +Timeline.QuarterlyEtherPainter.prototype.setHighlight=function(A,B){this._highlight.position(A,B); | |
| 1491 | +}; | |
| 1492 | +Timeline.QuarterlyEtherPainter.prototype.paint=function(){if(this._markerLayer){this._band.removeLayerDiv(this._markerLayer); | |
| 1493 | +}this._markerLayer=this._band.createLayerDiv(100); | |
| 1494 | +this._markerLayer.setAttribute("name","ether-markers"); | |
| 1495 | +this._markerLayer.style.display="none"; | |
| 1496 | +if(this._lineLayer){this._band.removeLayerDiv(this._lineLayer); | |
| 1497 | +}this._lineLayer=this._band.createLayerDiv(1); | |
| 1498 | +this._lineLayer.setAttribute("name","ether-lines"); | |
| 1499 | +this._lineLayer.style.display="none"; | |
| 1500 | +var B=new Date(0); | |
| 1501 | +var E=this._band.getMaxDate(); | |
| 1502 | +B.setUTCFullYear(Math.max(this._startDate.getUTCFullYear(),this._band.getMinDate().getUTCFullYear())); | |
| 1503 | +B.setUTCMonth(this._startDate.getUTCMonth()); | |
| 1504 | +var C=this; | |
| 1505 | +var A=function(F){F.setUTCMonth(F.getUTCMonth()+3); | |
| 1506 | +}; | |
| 1507 | +var D={labelInterval:function(G,H){var F=(4+(G.getUTCMonth()-C._startDate.getUTCMonth())/3)%4; | |
| 1508 | +if(F!=0){return{text:"Q"+(F+1),emphasized:false}; | |
| 1509 | +}else{return{text:"Y"+(G.getUTCFullYear()-C._startDate.getUTCFullYear()+1),emphasized:true}; | |
| 1510 | +}}}; | |
| 1511 | +while(B.getTime()<E.getTime()){this._intervalMarkerLayout.createIntervalMarker(B,D,SimileAjax.DateTime.YEAR,this._markerLayer,this._lineLayer); | |
| 1512 | +A(B); | |
| 1513 | +}this._markerLayer.style.display="block"; | |
| 1514 | +this._lineLayer.style.display="block"; | |
| 1515 | +}; | |
| 1516 | +Timeline.QuarterlyEtherPainter.prototype.softPaint=function(){}; | |
| 1517 | +Timeline.EtherIntervalMarkerLayout=function(I,L,C,E,M){var A=I.isHorizontal(); | |
| 1518 | +if(A){if(E=="Top"){this.positionDiv=function(O,N){O.style.left=N+"px"; | |
| 1519 | +O.style.top="0px"; | |
| 1520 | +}; | |
| 1521 | +}else{this.positionDiv=function(O,N){O.style.left=N+"px"; | |
| 1522 | +O.style.bottom="0px"; | |
| 1523 | +}; | |
| 1524 | +}}else{if(E=="Left"){this.positionDiv=function(O,N){O.style.top=N+"px"; | |
| 1525 | +O.style.left="0px"; | |
| 1526 | +}; | |
| 1527 | +}else{this.positionDiv=function(O,N){O.style.top=N+"px"; | |
| 1528 | +O.style.right="0px"; | |
| 1529 | +}; | |
| 1530 | +}}var D=C.ether.interval.marker; | |
| 1531 | +var K=C.ether.interval.line; | |
| 1532 | +var B=C.ether.interval.weekend; | |
| 1533 | +var H=(A?"h":"v")+E; | |
| 1534 | +var G=D[H+"Styler"]; | |
| 1535 | +var J=D[H+"EmphasizedStyler"]; | |
| 1536 | +var F=SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.DAY]; | |
| 1537 | +this.createIntervalMarker=function(T,c,a,Y,P){var U=Math.round(L.dateToPixelOffset(T)); | |
| 1538 | +if(M&&a!=SimileAjax.DateTime.WEEK){var V=I.getDocument().createElement("div"); | |
| 1539 | +V.className="timeline-ether-lines"; | |
| 1540 | +if(K.opacity<100){SimileAjax.Graphics.setOpacity(V,K.opacity); | |
| 1541 | +}if(A){V.style.left=U+"px"; | |
| 1542 | +}else{V.style.top=U+"px"; | |
| 1543 | +}P.appendChild(V); | |
| 1544 | +}if(a==SimileAjax.DateTime.WEEK){var N=C.firstDayOfWeek; | |
| 1545 | +var R=new Date(T.getTime()+(6-N-7)*F); | |
| 1546 | +var b=new Date(R.getTime()+2*F); | |
| 1547 | +var Q=Math.round(L.dateToPixelOffset(R)); | |
| 1548 | +var S=Math.round(L.dateToPixelOffset(b)); | |
| 1549 | +var W=Math.max(1,S-Q); | |
| 1550 | +var X=I.getDocument().createElement("div"); | |
| 1551 | +X.className="timeline-ether-weekends"; | |
| 1552 | +if(B.opacity<100){SimileAjax.Graphics.setOpacity(X,B.opacity); | |
| 1553 | +}if(A){X.style.left=Q+"px"; | |
| 1554 | +X.style.width=W+"px"; | |
| 1555 | +}else{X.style.top=Q+"px"; | |
| 1556 | +X.style.height=W+"px"; | |
| 1557 | +}P.appendChild(X); | |
| 1558 | +}var Z=c.labelInterval(T,a); | |
| 1559 | +var O=I.getDocument().createElement("div"); | |
| 1560 | +O.innerHTML=Z.text; | |
| 1561 | +O.className="timeline-date-label"; | |
| 1562 | +if(Z.emphasized){O.className+=" timeline-date-label-em"; | |
| 1563 | +}this.positionDiv(O,U); | |
| 1564 | +Y.appendChild(O); | |
| 1565 | +return O; | |
| 1566 | +}; | |
| 1567 | +}; | |
| 1568 | +Timeline.EtherHighlight=function(B,E,D,C){var A=B.isHorizontal(); | |
| 1569 | +this._highlightDiv=null; | |
| 1570 | +this._createHighlightDiv=function(){if(this._highlightDiv==null){this._highlightDiv=B.getDocument().createElement("div"); | |
| 1571 | +this._highlightDiv.setAttribute("name","ether-highlight"); | |
| 1572 | +this._highlightDiv.className="timeline-ether-highlight"; | |
| 1573 | +var F=D.ether.highlightOpacity; | |
| 1574 | +if(F<100){SimileAjax.Graphics.setOpacity(this._highlightDiv,F); | |
| 1575 | +}C.appendChild(this._highlightDiv); | |
| 1576 | +}}; | |
| 1577 | +this.position=function(H,J){this._createHighlightDiv(); | |
| 1578 | +var I=Math.round(E.dateToPixelOffset(H)); | |
| 1579 | +var G=Math.round(E.dateToPixelOffset(J)); | |
| 1580 | +var F=Math.max(G-I,3); | |
| 1581 | +if(A){this._highlightDiv.style.left=I+"px"; | |
| 1582 | +this._highlightDiv.style.width=F+"px"; | |
| 1583 | +this._highlightDiv.style.height=(E.getViewWidth()-4)+"px"; | |
| 1584 | +}else{this._highlightDiv.style.top=I+"px"; | |
| 1585 | +this._highlightDiv.style.height=F+"px"; | |
| 1586 | +this._highlightDiv.style.width=(E.getViewWidth()-4)+"px"; | |
| 1587 | +}}; | |
| 1588 | +}; | |
| 1589 | + | |
| 1590 | + | |
| 1591 | +/* ethers.js */ | |
| 1592 | +Timeline.LinearEther=function(A){this._params=A; | |
| 1593 | +this._interval=A.interval; | |
| 1594 | +this._pixelsPerInterval=A.pixelsPerInterval; | |
| 1595 | +}; | |
| 1596 | +Timeline.LinearEther.prototype.initialize=function(B,A){this._band=B; | |
| 1597 | +this._timeline=A; | |
| 1598 | +this._unit=A.getUnit(); | |
| 1599 | +if("startsOn" in this._params){this._start=this._unit.parseFromObject(this._params.startsOn); | |
| 1600 | +}else{if("endsOn" in this._params){this._start=this._unit.parseFromObject(this._params.endsOn); | |
| 1601 | +this.shiftPixels(-this._timeline.getPixelLength()); | |
| 1602 | +}else{if("centersOn" in this._params){this._start=this._unit.parseFromObject(this._params.centersOn); | |
| 1603 | +this.shiftPixels(-this._timeline.getPixelLength()/2); | |
| 1604 | +}else{this._start=this._unit.makeDefaultValue(); | |
| 1605 | +this.shiftPixels(-this._timeline.getPixelLength()/2); | |
| 1606 | +}}}}; | |
| 1607 | +Timeline.LinearEther.prototype.setDate=function(A){this._start=this._unit.cloneValue(A); | |
| 1608 | +}; | |
| 1609 | +Timeline.LinearEther.prototype.shiftPixels=function(B){var A=this._interval*B/this._pixelsPerInterval; | |
| 1610 | +this._start=this._unit.change(this._start,A); | |
| 1611 | +}; | |
| 1612 | +Timeline.LinearEther.prototype.dateToPixelOffset=function(B){var A=this._unit.compare(B,this._start); | |
| 1613 | +return this._pixelsPerInterval*A/this._interval; | |
| 1614 | +}; | |
| 1615 | +Timeline.LinearEther.prototype.pixelOffsetToDate=function(B){var A=B*this._interval/this._pixelsPerInterval; | |
| 1616 | +return this._unit.change(this._start,A); | |
| 1617 | +}; | |
| 1618 | +Timeline.LinearEther.prototype.zoom=function(D){var A=0; | |
| 1619 | +var B=this._band._zoomIndex; | |
| 1620 | +var C=B; | |
| 1621 | +if(D&&(B>0)){C=B-1; | |
| 1622 | +}if(!D&&(B<(this._band._zoomSteps.length-1))){C=B+1; | |
| 1623 | +}this._band._zoomIndex=C; | |
| 1624 | +this._interval=SimileAjax.DateTime.gregorianUnitLengths[this._band._zoomSteps[C].unit]; | |
| 1625 | +this._pixelsPerInterval=this._band._zoomSteps[C].pixelsPerInterval; | |
| 1626 | +A=this._band._zoomSteps[C].unit-this._band._zoomSteps[B].unit; | |
| 1627 | +return A; | |
| 1628 | +}; | |
| 1629 | +Timeline.HotZoneEther=function(A){this._params=A; | |
| 1630 | +this._interval=A.interval; | |
| 1631 | +this._pixelsPerInterval=A.pixelsPerInterval; | |
| 1632 | +this._theme=A.theme; | |
| 1633 | +}; | |
| 1634 | +Timeline.HotZoneEther.prototype.initialize=function(I,H){this._band=I; | |
| 1635 | +this._timeline=H; | |
| 1636 | +this._unit=H.getUnit(); | |
| 1637 | +this._zones=[{startTime:Number.NEGATIVE_INFINITY,endTime:Number.POSITIVE_INFINITY,magnify:1}]; | |
| 1638 | +var D=this._params; | |
| 1639 | +for(var E=0; | |
| 1640 | +E<D.zones.length; | |
| 1641 | +E++){var G=D.zones[E]; | |
| 1642 | +var F=this._unit.parseFromObject(G.start); | |
| 1643 | +var B=this._unit.parseFromObject(G.end); | |
| 1644 | +for(var C=0; | |
| 1645 | +C<this._zones.length&&this._unit.compare(B,F)>0; | |
| 1646 | +C++){var A=this._zones[C]; | |
| 1647 | +if(this._unit.compare(F,A.endTime)<0){if(this._unit.compare(F,A.startTime)>0){this._zones.splice(C,0,{startTime:A.startTime,endTime:F,magnify:A.magnify}); | |
| 1648 | +C++; | |
| 1649 | +A.startTime=F; | |
| 1650 | +}if(this._unit.compare(B,A.endTime)<0){this._zones.splice(C,0,{startTime:F,endTime:B,magnify:G.magnify*A.magnify}); | |
| 1651 | +C++; | |
| 1652 | +A.startTime=B; | |
| 1653 | +F=B; | |
| 1654 | +}else{A.magnify*=G.magnify; | |
| 1655 | +F=A.endTime; | |
| 1656 | +}}}}if("startsOn" in this._params){this._start=this._unit.parseFromObject(this._params.startsOn); | |
| 1657 | +}else{if("endsOn" in this._params){this._start=this._unit.parseFromObject(this._params.endsOn); | |
| 1658 | +this.shiftPixels(-this._timeline.getPixelLength()); | |
| 1659 | +}else{if("centersOn" in this._params){this._start=this._unit.parseFromObject(this._params.centersOn); | |
| 1660 | +this.shiftPixels(-this._timeline.getPixelLength()/2); | |
| 1661 | +}else{this._start=this._unit.makeDefaultValue(); | |
| 1662 | +this.shiftPixels(-this._timeline.getPixelLength()/2); | |
| 1663 | +}}}}; | |
| 1664 | +Timeline.HotZoneEther.prototype.setDate=function(A){this._start=this._unit.cloneValue(A); | |
| 1665 | +}; | |
| 1666 | +Timeline.HotZoneEther.prototype.shiftPixels=function(A){this._start=this.pixelOffsetToDate(A); | |
| 1667 | +}; | |
| 1668 | +Timeline.HotZoneEther.prototype.dateToPixelOffset=function(A){return this._dateDiffToPixelOffset(this._start,A); | |
| 1669 | +}; | |
| 1670 | +Timeline.HotZoneEther.prototype.pixelOffsetToDate=function(A){return this._pixelOffsetToDate(A,this._start); | |
| 1671 | +}; | |
| 1672 | +Timeline.HotZoneEther.prototype.zoom=function(D){var A=0; | |
| 1673 | +var B=this._band._zoomIndex; | |
| 1674 | +var C=B; | |
| 1675 | +if(D&&(B>0)){C=B-1; | |
| 1676 | +}if(!D&&(B<(this._band._zoomSteps.length-1))){C=B+1; | |
| 1677 | +}this._band._zoomIndex=C; | |
| 1678 | +this._interval=SimileAjax.DateTime.gregorianUnitLengths[this._band._zoomSteps[C].unit]; | |
| 1679 | +this._pixelsPerInterval=this._band._zoomSteps[C].pixelsPerInterval; | |
| 1680 | +A=this._band._zoomSteps[C].unit-this._band._zoomSteps[B].unit; | |
| 1681 | +return A; | |
| 1682 | +}; | |
| 1683 | +Timeline.HotZoneEther.prototype._dateDiffToPixelOffset=function(H,C){var D=this._getScale(); | |
| 1684 | +var I=H; | |
| 1685 | +var B=C; | |
| 1686 | +var E=0; | |
| 1687 | +if(this._unit.compare(I,B)<0){var G=0; | |
| 1688 | +while(G<this._zones.length){if(this._unit.compare(I,this._zones[G].endTime)<0){break; | |
| 1689 | +}G++; | |
| 1690 | +}while(this._unit.compare(I,B)<0){var F=this._zones[G]; | |
| 1691 | +var A=this._unit.earlier(B,F.endTime); | |
| 1692 | +E+=(this._unit.compare(A,I)/(D/F.magnify)); | |
| 1693 | +I=A; | |
| 1694 | +G++; | |
| 1695 | +}}else{var G=this._zones.length-1; | |
| 1696 | +while(G>=0){if(this._unit.compare(I,this._zones[G].startTime)>0){break; | |
| 1697 | +}G--; | |
| 1698 | +}while(this._unit.compare(I,B)>0){var F=this._zones[G]; | |
| 1699 | +var A=this._unit.later(B,F.startTime); | |
| 1700 | +E+=(this._unit.compare(A,I)/(D/F.magnify)); | |
| 1701 | +I=A; | |
| 1702 | +G--; | |
| 1703 | +}}return E; | |
| 1704 | +}; | |
| 1705 | +Timeline.HotZoneEther.prototype._pixelOffsetToDate=function(E,B){var G=this._getScale(); | |
| 1706 | +var D=B; | |
| 1707 | +if(E>0){var F=0; | |
| 1708 | +while(F<this._zones.length){if(this._unit.compare(D,this._zones[F].endTime)<0){break; | |
| 1709 | +}F++; | |
| 1710 | +}while(E>0){var A=this._zones[F]; | |
| 1711 | +var H=G/A.magnify; | |
| 1712 | +if(A.endTime==Number.POSITIVE_INFINITY){D=this._unit.change(D,E*H); | |
| 1713 | +E=0; | |
| 1714 | +}else{var C=this._unit.compare(A.endTime,D)/H; | |
| 1715 | +if(C>E){D=this._unit.change(D,E*H); | |
| 1716 | +E=0; | |
| 1717 | +}else{D=A.endTime; | |
| 1718 | +E-=C; | |
| 1719 | +}}F++; | |
| 1720 | +}}else{var F=this._zones.length-1; | |
| 1721 | +while(F>=0){if(this._unit.compare(D,this._zones[F].startTime)>0){break; | |
| 1722 | +}F--; | |
| 1723 | +}E=-E; | |
| 1724 | +while(E>0){var A=this._zones[F]; | |
| 1725 | +var H=G/A.magnify; | |
| 1726 | +if(A.startTime==Number.NEGATIVE_INFINITY){D=this._unit.change(D,-E*H); | |
| 1727 | +E=0; | |
| 1728 | +}else{var C=this._unit.compare(D,A.startTime)/H; | |
| 1729 | +if(C>E){D=this._unit.change(D,-E*H); | |
| 1730 | +E=0; | |
| 1731 | +}else{D=A.startTime; | |
| 1732 | +E-=C; | |
| 1733 | +}}F--; | |
| 1734 | +}}return D; | |
| 1735 | +}; | |
| 1736 | +Timeline.HotZoneEther.prototype._getScale=function(){return this._interval/this._pixelsPerInterval; | |
| 1737 | +}; | |
| 1738 | + | |
| 1739 | + | |
| 1740 | +/* event-utils.js */ | |
| 1741 | +Timeline.EventUtils={}; | |
| 1742 | +Timeline.EventUtils.getNewEventID=function(){if(this._lastEventID==null){this._lastEventID=0; | |
| 1743 | +}this._lastEventID+=1; | |
| 1744 | +return"e"+this._lastEventID; | |
| 1745 | +}; | |
| 1746 | +Timeline.EventUtils.decodeEventElID=function(C){var D=C.split("-"); | |
| 1747 | +if(D[1]!="tl"){alert("Internal Timeline problem 101, please consult support"); | |
| 1748 | +return{band:null,evt:null}; | |
| 1749 | +}var B=Timeline.getTimelineFromID(D[2]); | |
| 1750 | +var E=B.getBand(D[3]); | |
| 1751 | +var A=E.getEventSource.getEvent(D[4]); | |
| 1752 | +return{band:E,evt:A}; | |
| 1753 | +}; | |
| 1754 | +Timeline.EventUtils.encodeEventElID=function(B,D,C,A){return C+"-tl-"+B.timelineID+"-"+D.getIndex()+"-"+A.getID(); | |
| 1755 | +}; | |
| 1756 | + | |
| 1757 | + | |
| 1758 | +/* labellers.js */ | |
| 1759 | +Timeline.GregorianDateLabeller=function(B,A){this._locale=B; | |
| 1760 | +this._timeZone=A; | |
| 1761 | +}; | |
| 1762 | +Timeline.GregorianDateLabeller.monthNames=[]; | |
| 1763 | +Timeline.GregorianDateLabeller.dayNames=[]; | |
| 1764 | +Timeline.GregorianDateLabeller.labelIntervalFunctions=[]; | |
| 1765 | +Timeline.GregorianDateLabeller.getMonthName=function(B,A){return Timeline.GregorianDateLabeller.monthNames[A][B]; | |
| 1766 | +}; | |
| 1767 | +Timeline.GregorianDateLabeller.prototype.labelInterval=function(A,C){var B=Timeline.GregorianDateLabeller.labelIntervalFunctions[this._locale]; | |
| 1768 | +if(B==null){B=Timeline.GregorianDateLabeller.prototype.defaultLabelInterval; | |
| 1769 | +}return B.call(this,A,C); | |
| 1770 | +}; | |
| 1771 | +Timeline.GregorianDateLabeller.prototype.labelPrecise=function(A){return SimileAjax.DateTime.removeTimeZoneOffset(A,this._timeZone).toUTCString(); | |
| 1772 | +}; | |
| 1773 | +Timeline.GregorianDateLabeller.prototype.defaultLabelInterval=function(B,C){var D; | |
| 1774 | +var F=false; | |
| 1775 | +B=SimileAjax.DateTime.removeTimeZoneOffset(B,this._timeZone); | |
| 1776 | +switch(C){case SimileAjax.DateTime.MILLISECOND:D=B.getUTCMilliseconds(); | |
| 1777 | +break; | |
| 1778 | +case SimileAjax.DateTime.SECOND:D=B.getUTCSeconds(); | |
| 1779 | +break; | |
| 1780 | +case SimileAjax.DateTime.MINUTE:var A=B.getUTCMinutes(); | |
| 1781 | +if(A==0){D=B.getUTCHours()+":00"; | |
| 1782 | +F=true; | |
| 1783 | +}else{D=A; | |
| 1784 | +}break; | |
| 1785 | +case SimileAjax.DateTime.HOUR:D=B.getUTCHours()+"hr"; | |
| 1786 | +break; | |
| 1787 | +case SimileAjax.DateTime.DAY:D=Timeline.GregorianDateLabeller.getMonthName(B.getUTCMonth(),this._locale)+" "+B.getUTCDate(); | |
| 1788 | +break; | |
| 1789 | +case SimileAjax.DateTime.WEEK:D=Timeline.GregorianDateLabeller.getMonthName(B.getUTCMonth(),this._locale)+" "+B.getUTCDate(); | |
| 1790 | +break; | |
| 1791 | +case SimileAjax.DateTime.MONTH:var A=B.getUTCMonth(); | |
| 1792 | +if(A!=0){D=Timeline.GregorianDateLabeller.getMonthName(A,this._locale); | |
| 1793 | +break; | |
| 1794 | +}case SimileAjax.DateTime.YEAR:case SimileAjax.DateTime.DECADE:case SimileAjax.DateTime.CENTURY:case SimileAjax.DateTime.MILLENNIUM:var E=B.getUTCFullYear(); | |
| 1795 | +if(E>0){D=B.getUTCFullYear(); | |
| 1796 | +}else{D=(1-E)+"BC"; | |
| 1797 | +}F=(C==SimileAjax.DateTime.MONTH)||(C==SimileAjax.DateTime.DECADE&&E%100==0)||(C==SimileAjax.DateTime.CENTURY&&E%1000==0); | |
| 1798 | +break; | |
| 1799 | +default:D=B.toUTCString(); | |
| 1800 | +}return{text:D,emphasized:F}; | |
| 1801 | +}; | |
| 1802 | + | |
| 1803 | + | |
| 1804 | +/* original-painter.js */ | |
| 1805 | +Timeline.OriginalEventPainter=function(A){this._params=A; | |
| 1806 | +this._onSelectListeners=[]; | |
| 1807 | +this._eventPaintListeners=[]; | |
| 1808 | +this._filterMatcher=null; | |
| 1809 | +this._highlightMatcher=null; | |
| 1810 | +this._frc=null; | |
| 1811 | +this._eventIdToElmt={}; | |
| 1812 | +}; | |
| 1813 | +Timeline.OriginalEventPainter.prototype.initialize=function(B,A){this._band=B; | |
| 1814 | +this._timeline=A; | |
| 1815 | +this._backLayer=null; | |
| 1816 | +this._eventLayer=null; | |
| 1817 | +this._lineLayer=null; | |
| 1818 | +this._highlightLayer=null; | |
| 1819 | +this._eventIdToElmt=null; | |
| 1820 | +}; | |
| 1821 | +Timeline.OriginalEventPainter.prototype.getType=function(){return"original"; | |
| 1822 | +}; | |
| 1823 | +Timeline.OriginalEventPainter.prototype.addOnSelectListener=function(A){this._onSelectListeners.push(A); | |
| 1824 | +}; | |
| 1825 | +Timeline.OriginalEventPainter.prototype.removeOnSelectListener=function(B){for(var A=0; | |
| 1826 | +A<this._onSelectListeners.length; | |
| 1827 | +A++){if(this._onSelectListeners[A]==B){this._onSelectListeners.splice(A,1); | |
| 1828 | +break; | |
| 1829 | +}}}; | |
| 1830 | +Timeline.OriginalEventPainter.prototype.addEventPaintListener=function(A){this._eventPaintListeners.push(A); | |
| 1831 | +}; | |
| 1832 | +Timeline.OriginalEventPainter.prototype.removeEventPaintListener=function(B){for(var A=0; | |
| 1833 | +A<this._eventPaintListeners.length; | |
| 1834 | +A++){if(this._eventPaintListeners[A]==B){this._eventPaintListeners.splice(A,1); | |
| 1835 | +break; | |
| 1836 | +}}}; | |
| 1837 | +Timeline.OriginalEventPainter.prototype.getFilterMatcher=function(){return this._filterMatcher; | |
| 1838 | +}; | |
| 1839 | +Timeline.OriginalEventPainter.prototype.setFilterMatcher=function(A){this._filterMatcher=A; | |
| 1840 | +}; | |
| 1841 | +Timeline.OriginalEventPainter.prototype.getHighlightMatcher=function(){return this._highlightMatcher; | |
| 1842 | +}; | |
| 1843 | +Timeline.OriginalEventPainter.prototype.setHighlightMatcher=function(A){this._highlightMatcher=A; | |
| 1844 | +}; | |
| 1845 | +Timeline.OriginalEventPainter.prototype.paint=function(){var C=this._band.getEventSource(); | |
| 1846 | +if(C==null){return ; | |
| 1847 | +}this._eventIdToElmt={}; | |
| 1848 | +this._fireEventPaintListeners("paintStarting",null,null); | |
| 1849 | +this._prepareForPainting(); | |
| 1850 | +var I=this._params.theme.event; | |
| 1851 | +var G=Math.max(I.track.height,I.tape.height+this._frc.getLineHeight()); | |
| 1852 | +var F={trackOffset:I.track.offset,trackHeight:G,trackGap:I.track.gap,trackIncrement:G+I.track.gap,icon:I.instant.icon,iconWidth:I.instant.iconWidth,iconHeight:I.instant.iconHeight,labelWidth:I.label.width,maxLabelChar:I.label.maxLabelChar,impreciseIconMargin:I.instant.impreciseIconMargin}; | |
| 1853 | +var D=this._band.getMinDate(); | |
| 1854 | +var B=this._band.getMaxDate(); | |
| 1855 | +var J=(this._filterMatcher!=null)?this._filterMatcher:function(K){return true; | |
| 1856 | +}; | |
| 1857 | +var A=(this._highlightMatcher!=null)?this._highlightMatcher:function(K){return -1; | |
| 1858 | +}; | |
| 1859 | +var E=C.getEventReverseIterator(D,B); | |
| 1860 | +while(E.hasNext()){var H=E.next(); | |
| 1861 | +if(J(H)){this.paintEvent(H,F,this._params.theme,A(H)); | |
| 1862 | +}}this._highlightLayer.style.display="block"; | |
| 1863 | +this._lineLayer.style.display="block"; | |
| 1864 | +this._eventLayer.style.display="block"; | |
| 1865 | +this._band.updateEventTrackInfo(this._tracks.length,F.trackIncrement); | |
| 1866 | +this._fireEventPaintListeners("paintEnded",null,null); | |
| 1867 | +}; | |
| 1868 | +Timeline.OriginalEventPainter.prototype.softPaint=function(){}; | |
| 1869 | +Timeline.OriginalEventPainter.prototype._prepareForPainting=function(){var B=this._band; | |
| 1870 | +if(this._backLayer==null){this._backLayer=this._band.createLayerDiv(0,"timeline-band-events"); | |
| 1871 | +this._backLayer.style.visibility="hidden"; | |
| 1872 | +var A=document.createElement("span"); | |
| 1873 | +A.className="timeline-event-label"; | |
| 1874 | +this._backLayer.appendChild(A); | |
| 1875 | +this._frc=SimileAjax.Graphics.getFontRenderingContext(A); | |
| 1876 | +}this._frc.update(); | |
| 1877 | +this._tracks=[]; | |
| 1878 | +if(this._highlightLayer!=null){B.removeLayerDiv(this._highlightLayer); | |
| 1879 | +}this._highlightLayer=B.createLayerDiv(105,"timeline-band-highlights"); | |
| 1880 | +this._highlightLayer.style.display="none"; | |
| 1881 | +if(this._lineLayer!=null){B.removeLayerDiv(this._lineLayer); | |
| 1882 | +}this._lineLayer=B.createLayerDiv(110,"timeline-band-lines"); | |
| 1883 | +this._lineLayer.style.display="none"; | |
| 1884 | +if(this._eventLayer!=null){B.removeLayerDiv(this._eventLayer); | |
| 1885 | +}this._eventLayer=B.createLayerDiv(115,"timeline-band-events"); | |
| 1886 | +this._eventLayer.style.display="none"; | |
| 1887 | +}; | |
| 1888 | +Timeline.OriginalEventPainter.prototype.paintEvent=function(B,C,D,A){if(B.isInstant()){this.paintInstantEvent(B,C,D,A); | |
| 1889 | +}else{this.paintDurationEvent(B,C,D,A); | |
| 1890 | +}}; | |
| 1891 | +Timeline.OriginalEventPainter.prototype.paintInstantEvent=function(B,C,D,A){if(B.isImprecise()){this.paintImpreciseInstantEvent(B,C,D,A); | |
| 1892 | +}else{this.paintPreciseInstantEvent(B,C,D,A); | |
| 1893 | +}}; | |
| 1894 | +Timeline.OriginalEventPainter.prototype.paintDurationEvent=function(B,C,D,A){if(B.isImprecise()){this.paintImpreciseDurationEvent(B,C,D,A); | |
| 1895 | +}else{this.paintPreciseDurationEvent(B,C,D,A); | |
| 1896 | +}}; | |
| 1897 | +Timeline.OriginalEventPainter.prototype.paintPreciseInstantEvent=function(N,S,V,T){var W=this._timeline.getDocument(); | |
| 1898 | +var L=N.getText(); | |
| 1899 | +var H=N.getStart(); | |
| 1900 | +var I=Math.round(this._band.dateToPixelOffset(H)); | |
| 1901 | +var A=Math.round(I+S.iconWidth/2); | |
| 1902 | +var C=Math.round(I-S.iconWidth/2); | |
| 1903 | +var F=this._getLabelDivClassName(N); | |
| 1904 | +var D=this._frc.computeSize(L,F); | |
| 1905 | +var M=A+V.event.label.offsetFromLine; | |
| 1906 | +var J=M+D.width; | |
| 1907 | +var Q=J; | |
| 1908 | +var P=this._findFreeTrack(N,Q); | |
| 1909 | +var R=Math.round(S.trackOffset+P*S.trackIncrement+S.trackHeight/2-D.height/2); | |
| 1910 | +var B=this._paintEventIcon(N,P,C,S,V,0); | |
| 1911 | +var U=this._paintEventLabel(N,L,M,R,D.width,D.height,V,F,T); | |
| 1912 | +var E=[B.elmt,U.elmt]; | |
| 1913 | +var O=this; | |
| 1914 | +var K=function(Y,X,Z){return O._onClickInstantEvent(B.elmt,X,N); | |
| 1915 | +}; | |
| 1916 | +SimileAjax.DOM.registerEvent(B.elmt,"mousedown",K); | |
| 1917 | +SimileAjax.DOM.registerEvent(U.elmt,"mousedown",K); | |
| 1918 | +var G=this._createHighlightDiv(T,B,V,N); | |
| 1919 | +if(G!=null){E.push(G); | |
| 1920 | +}this._fireEventPaintListeners("paintedEvent",N,E); | |
| 1921 | +this._eventIdToElmt[N.getID()]=B.elmt; | |
| 1922 | +this._tracks[P]=C; | |
| 1923 | +}; | |
| 1924 | +Timeline.OriginalEventPainter.prototype.paintImpreciseInstantEvent=function(P,U,Z,W){var b=this._timeline.getDocument(); | |
| 1925 | +var N=P.getText(); | |
| 1926 | +var J=P.getStart(); | |
| 1927 | +var X=P.getEnd(); | |
| 1928 | +var K=Math.round(this._band.dateToPixelOffset(J)); | |
| 1929 | +var B=Math.round(this._band.dateToPixelOffset(X)); | |
| 1930 | +var A=Math.round(K+U.iconWidth/2); | |
| 1931 | +var D=Math.round(K-U.iconWidth/2); | |
| 1932 | +var H=this._getLabelDivClassName(P); | |
| 1933 | +var F=this._frc.computeSize(N,H); | |
| 1934 | +var O=A+Z.event.label.offsetFromLine; | |
| 1935 | +var L=O+F.width; | |
| 1936 | +var S=Math.max(L,B); | |
| 1937 | +var R=this._findFreeTrack(P,S); | |
| 1938 | +var a=Z.event.tape.height; | |
| 1939 | +var T=Math.round(U.trackOffset+R*U.trackIncrement+a); | |
| 1940 | +var C=this._paintEventIcon(P,R,D,U,Z,a); | |
| 1941 | +var Y=this._paintEventLabel(P,N,O,T,F.width,F.height,Z,H,W); | |
| 1942 | +var V=P.getColor(); | |
| 1943 | +V=V!=null?V:Z.event.instant.impreciseColor; | |
| 1944 | +var E=this._paintEventTape(P,R,K,B,V,Z.event.instant.impreciseOpacity,U,Z,0); | |
| 1945 | +var G=[C.elmt,Y.elmt,E.elmt]; | |
| 1946 | +var Q=this; | |
| 1947 | +var M=function(d,c,e){return Q._onClickInstantEvent(C.elmt,c,P); | |
| 1948 | +}; | |
| 1949 | +SimileAjax.DOM.registerEvent(C.elmt,"mousedown",M); | |
| 1950 | +SimileAjax.DOM.registerEvent(E.elmt,"mousedown",M); | |
| 1951 | +SimileAjax.DOM.registerEvent(Y.elmt,"mousedown",M); | |
| 1952 | +var I=this._createHighlightDiv(W,C,Z,P); | |
| 1953 | +if(I!=null){G.push(I); | |
| 1954 | +}this._fireEventPaintListeners("paintedEvent",P,G); | |
| 1955 | +this._eventIdToElmt[P.getID()]=C.elmt; | |
| 1956 | +this._tracks[R]=D; | |
| 1957 | +}; | |
| 1958 | +Timeline.OriginalEventPainter.prototype.paintPreciseDurationEvent=function(M,R,W,T){var X=this._timeline.getDocument(); | |
| 1959 | +var K=M.getText(); | |
| 1960 | +var G=M.getStart(); | |
| 1961 | +var U=M.getEnd(); | |
| 1962 | +var H=Math.round(this._band.dateToPixelOffset(G)); | |
| 1963 | +var A=Math.round(this._band.dateToPixelOffset(U)); | |
| 1964 | +var E=this._getLabelDivClassName(M); | |
| 1965 | +var C=this._frc.computeSize(K,E); | |
| 1966 | +var L=H; | |
| 1967 | +var I=L+C.width; | |
| 1968 | +var P=Math.max(I,A); | |
| 1969 | +var O=this._findFreeTrack(M,P); | |
| 1970 | +var Q=Math.round(R.trackOffset+O*R.trackIncrement+W.event.tape.height); | |
| 1971 | +var S=M.getColor(); | |
| 1972 | +S=S!=null?S:W.event.duration.color; | |
| 1973 | +var B=this._paintEventTape(M,O,H,A,S,100,R,W,0); | |
| 1974 | +var V=this._paintEventLabel(M,K,L,Q,C.width,C.height,W,E,T); | |
| 1975 | +var D=[B.elmt,V.elmt]; | |
| 1976 | +var N=this; | |
| 1977 | +var J=function(Z,Y,a){return N._onClickDurationEvent(B.elmt,Y,M); | |
| 1978 | +}; | |
| 1979 | +SimileAjax.DOM.registerEvent(B.elmt,"mousedown",J); | |
| 1980 | +SimileAjax.DOM.registerEvent(V.elmt,"mousedown",J); | |
| 1981 | +var F=this._createHighlightDiv(T,B,W,M); | |
| 1982 | +if(F!=null){D.push(F); | |
| 1983 | +}this._fireEventPaintListeners("paintedEvent",M,D); | |
| 1984 | +this._eventIdToElmt[M.getID()]=B.elmt; | |
| 1985 | +this._tracks[O]=H; | |
| 1986 | +}; | |
| 1987 | +Timeline.OriginalEventPainter.prototype.paintImpreciseDurationEvent=function(O,W,b,Y){var c=this._timeline.getDocument(); | |
| 1988 | +var M=O.getText(); | |
| 1989 | +var I=O.getStart(); | |
| 1990 | +var V=O.getLatestStart(); | |
| 1991 | +var Z=O.getEnd(); | |
| 1992 | +var Q=O.getEarliestEnd(); | |
| 1993 | +var K=Math.round(this._band.dateToPixelOffset(I)); | |
| 1994 | +var F=Math.round(this._band.dateToPixelOffset(V)); | |
| 1995 | +var A=Math.round(this._band.dateToPixelOffset(Z)); | |
| 1996 | +var G=Math.round(this._band.dateToPixelOffset(Q)); | |
| 1997 | +var E=this._getLabelDivClassName(O); | |
| 1998 | +var C=this._frc.computeSize(M,E); | |
| 1999 | +var N=F; | |
| 2000 | +var J=N+C.width; | |
| 2001 | +var S=Math.max(J,A); | |
| 2002 | +var R=this._findFreeTrack(O,S); | |
| 2003 | +var T=Math.round(W.trackOffset+R*W.trackIncrement+b.event.tape.height); | |
| 2004 | +var X=O.getColor(); | |
| 2005 | +X=X!=null?X:b.event.duration.color; | |
| 2006 | +var U=this._paintEventTape(O,R,K,A,b.event.duration.impreciseColor,b.event.duration.impreciseOpacity,W,b,0); | |
| 2007 | +var B=this._paintEventTape(O,R,F,G,X,100,W,b,1); | |
| 2008 | +var a=this._paintEventLabel(O,M,N,T,C.width,C.height,b,E,Y); | |
| 2009 | +var D=[U.elmt,B.elmt,a.elmt]; | |
| 2010 | +var P=this; | |
| 2011 | +var L=function(e,d,f){return P._onClickDurationEvent(B.elmt,d,O); | |
| 2012 | +}; | |
| 2013 | +SimileAjax.DOM.registerEvent(B.elmt,"mousedown",L); | |
| 2014 | +SimileAjax.DOM.registerEvent(a.elmt,"mousedown",L); | |
| 2015 | +var H=this._createHighlightDiv(Y,B,b,O); | |
| 2016 | +if(H!=null){D.push(H); | |
| 2017 | +}this._fireEventPaintListeners("paintedEvent",O,D); | |
| 2018 | +this._eventIdToElmt[O.getID()]=B.elmt; | |
| 2019 | +this._tracks[R]=K; | |
| 2020 | +}; | |
| 2021 | +Timeline.OriginalEventPainter.prototype._encodeEventElID=function(B,A){return Timeline.EventUtils.encodeEventElID(this._timeline,this._band,B,A); | |
| 2022 | +}; | |
| 2023 | +Timeline.OriginalEventPainter.prototype._findFreeTrack=function(E,D){var A=E.getTrackNum(); | |
| 2024 | +if(A!=null){return A; | |
| 2025 | +}for(var C=0; | |
| 2026 | +C<this._tracks.length; | |
| 2027 | +C++){var B=this._tracks[C]; | |
| 2028 | +if(B>D){break; | |
| 2029 | +}}return C; | |
| 2030 | +}; | |
| 2031 | +Timeline.OriginalEventPainter.prototype._paintEventIcon=function(K,B,C,G,F,D){var I=K.getIcon(); | |
| 2032 | +I=I!=null?I:G.icon; | |
| 2033 | +var J; | |
| 2034 | +if(D>0){J=G.trackOffset+B*G.trackIncrement+D+G.impreciseIconMargin; | |
| 2035 | +}else{var H=G.trackOffset+B*G.trackIncrement+G.trackHeight/2; | |
| 2036 | +J=Math.round(H-G.iconHeight/2); | |
| 2037 | +}var E=SimileAjax.Graphics.createTranslucentImage(I); | |
| 2038 | +var A=this._timeline.getDocument().createElement("div"); | |
| 2039 | +A.className=this._getElClassName("timeline-event-icon",K,"icon"); | |
| 2040 | +A.id=this._encodeEventElID("icon",K); | |
| 2041 | +A.style.left=C+"px"; | |
| 2042 | +A.style.top=J+"px"; | |
| 2043 | +A.appendChild(E); | |
| 2044 | +if(K._title!=null){A.title=K._title; | |
| 2045 | +}this._eventLayer.appendChild(A); | |
| 2046 | +return{left:C,top:J,width:G.iconWidth,height:G.iconHeight,elmt:A}; | |
| 2047 | +}; | |
| 2048 | +Timeline.OriginalEventPainter.prototype._paintEventLabel=function(K,L,D,H,A,J,G,E,C){var I=this._timeline.getDocument(); | |
| 2049 | +var B=I.createElement("div"); | |
| 2050 | +B.className=E; | |
| 2051 | +B.id=this._encodeEventElID("label",K); | |
| 2052 | +B.style.left=D+"px"; | |
| 2053 | +B.style.width=A+"px"; | |
| 2054 | +B.style.top=H+"px"; | |
| 2055 | +B.innerHTML=L; | |
| 2056 | +if(K._title!=null){B.title=K._title; | |
| 2057 | +}var F=K.getTextColor(); | |
| 2058 | +if(F==null){F=K.getColor(); | |
| 2059 | +}if(F!=null){B.style.color=F; | |
| 2060 | +}if(G.event.highlightLabelBackground&&C>=0){B.style.background=this._getHighlightColor(C,G); | |
| 2061 | +}this._eventLayer.appendChild(B); | |
| 2062 | +return{left:D,top:H,width:A,height:J,elmt:B}; | |
| 2063 | +}; | |
| 2064 | +Timeline.OriginalEventPainter.prototype._paintEventTape=function(N,B,D,A,G,C,J,I,M){var F=A-D; | |
| 2065 | +var E=I.event.tape.height; | |
| 2066 | +var K=J.trackOffset+B*J.trackIncrement; | |
| 2067 | +var O=this._timeline.getDocument().createElement("div"); | |
| 2068 | +O.className=this._getElClassName("timeline-event-tape",N,"tape"); | |
| 2069 | +O.id=this._encodeEventElID("tape"+M,N); | |
| 2070 | +O.style.left=D+"px"; | |
| 2071 | +O.style.width=F+"px"; | |
| 2072 | +O.style.height=E+"px"; | |
| 2073 | +O.style.top=K+"px"; | |
| 2074 | +if(N._title!=null){O.title=N._title; | |
| 2075 | +}if(G!=null){O.style.backgroundColor=G; | |
| 2076 | +}var L=N.getTapeImage(); | |
| 2077 | +var H=N.getTapeRepeat(); | |
| 2078 | +H=H!=null?H:"repeat"; | |
| 2079 | +if(L!=null){O.style.backgroundImage="url("+L+")"; | |
| 2080 | +O.style.backgroundRepeat=H; | |
| 2081 | +}SimileAjax.Graphics.setOpacity(O,C); | |
| 2082 | +this._eventLayer.appendChild(O); | |
| 2083 | +return{left:D,top:K,width:F,height:E,elmt:O}; | |
| 2084 | +}; | |
| 2085 | +Timeline.OriginalEventPainter.prototype._getLabelDivClassName=function(A){return this._getElClassName("timeline-event-label",A,"label"); | |
| 2086 | +}; | |
| 2087 | +Timeline.OriginalEventPainter.prototype._getElClassName=function(D,C,A){var E=C.getClassName(),B=[]; | |
| 2088 | +if(E){if(A){B.push(A+"-"+E+" "); | |
| 2089 | +}B.push(E+" "); | |
| 2090 | +}B.push(D); | |
| 2091 | +return(B.join("")); | |
| 2092 | +}; | |
| 2093 | +Timeline.OriginalEventPainter.prototype._getHighlightColor=function(A,B){var C=B.event.highlightColors; | |
| 2094 | +return C[Math.min(A,C.length-1)]; | |
| 2095 | +}; | |
| 2096 | +Timeline.OriginalEventPainter.prototype._createHighlightDiv=function(A,D,F,B){var G=null; | |
| 2097 | +if(A>=0){var E=this._timeline.getDocument(); | |
| 2098 | +var C=this._getHighlightColor(A,F); | |
| 2099 | +G=E.createElement("div"); | |
| 2100 | +G.className=this._getElClassName("timeline-event-highlight",B,"highlight"); | |
| 2101 | +G.id=this._encodeEventElID("highlight0",B); | |
| 2102 | +G.style.position="absolute"; | |
| 2103 | +G.style.overflow="hidden"; | |
| 2104 | +G.style.left=(D.left-2)+"px"; | |
| 2105 | +G.style.width=(D.width+4)+"px"; | |
| 2106 | +G.style.top=(D.top-2)+"px"; | |
| 2107 | +G.style.height=(D.height+4)+"px"; | |
| 2108 | +G.style.background=C; | |
| 2109 | +this._highlightLayer.appendChild(G); | |
| 2110 | +}return G; | |
| 2111 | +}; | |
| 2112 | +Timeline.OriginalEventPainter.prototype._onClickInstantEvent=function(C,A,B){var D=SimileAjax.DOM.getPageCoordinates(C); | |
| 2113 | +this._showBubble(D.left+Math.ceil(C.offsetWidth/2),D.top+Math.ceil(C.offsetHeight/2),B); | |
| 2114 | +this._fireOnSelect(B.getID()); | |
| 2115 | +A.cancelBubble=true; | |
| 2116 | +SimileAjax.DOM.cancelEvent(A); | |
| 2117 | +return false; | |
| 2118 | +}; | |
| 2119 | +Timeline.OriginalEventPainter.prototype._onClickDurationEvent=function(F,B,C){if("pageX" in B){var A=B.pageX; | |
| 2120 | +var E=B.pageY; | |
| 2121 | +}else{var D=SimileAjax.DOM.getPageCoordinates(F); | |
| 2122 | +var A=B.offsetX+D.left; | |
| 2123 | +var E=B.offsetY+D.top; | |
| 2124 | +}this._showBubble(A,E,C); | |
| 2125 | +this._fireOnSelect(C.getID()); | |
| 2126 | +B.cancelBubble=true; | |
| 2127 | +SimileAjax.DOM.cancelEvent(B); | |
| 2128 | +return false; | |
| 2129 | +}; | |
| 2130 | +Timeline.OriginalEventPainter.prototype.showBubble=function(A){var B=this._eventIdToElmt[A.getID()]; | |
| 2131 | +if(B){var C=SimileAjax.DOM.getPageCoordinates(B); | |
| 2132 | +this._showBubble(C.left+B.offsetWidth/2,C.top+B.offsetHeight/2,A); | |
| 2133 | +}}; | |
| 2134 | +Timeline.OriginalEventPainter.prototype._showBubble=function(B,E,C){var D=document.createElement("div"); | |
| 2135 | +var A=this._params.theme.event.bubble; | |
| 2136 | +C.fillInfoBubble(D,this._params.theme,this._band.getLabeller()); | |
| 2137 | +SimileAjax.WindowManager.cancelPopups(); | |
| 2138 | +SimileAjax.Graphics.createBubbleForContentAndPoint(D,B,E,A.width,null,A.maxHeight); | |
| 2139 | +}; | |
| 2140 | +Timeline.OriginalEventPainter.prototype._fireOnSelect=function(A){for(var B=0; | |
| 2141 | +B<this._onSelectListeners.length; | |
| 2142 | +B++){this._onSelectListeners[B](A); | |
| 2143 | +}}; | |
| 2144 | +Timeline.OriginalEventPainter.prototype._fireEventPaintListeners=function(D,A,C){for(var B=0; | |
| 2145 | +B<this._eventPaintListeners.length; | |
| 2146 | +B++){this._eventPaintListeners[B](this._band,D,A,C); | |
| 2147 | +}}; | |
| 2148 | + | |
| 2149 | + | |
| 2150 | +/* overview-painter.js */ | |
| 2151 | +Timeline.OverviewEventPainter=function(A){this._params=A; | |
| 2152 | +this._onSelectListeners=[]; | |
| 2153 | +this._filterMatcher=null; | |
| 2154 | +this._highlightMatcher=null; | |
| 2155 | +}; | |
| 2156 | +Timeline.OverviewEventPainter.prototype.initialize=function(B,A){this._band=B; | |
| 2157 | +this._timeline=A; | |
| 2158 | +this._eventLayer=null; | |
| 2159 | +this._highlightLayer=null; | |
| 2160 | +}; | |
| 2161 | +Timeline.OverviewEventPainter.prototype.getType=function(){return"overview"; | |
| 2162 | +}; | |
| 2163 | +Timeline.OverviewEventPainter.prototype.addOnSelectListener=function(A){this._onSelectListeners.push(A); | |
| 2164 | +}; | |
| 2165 | +Timeline.OverviewEventPainter.prototype.removeOnSelectListener=function(B){for(var A=0; | |
| 2166 | +A<this._onSelectListeners.length; | |
| 2167 | +A++){if(this._onSelectListeners[A]==B){this._onSelectListeners.splice(A,1); | |
| 2168 | +break; | |
| 2169 | +}}}; | |
| 2170 | +Timeline.OverviewEventPainter.prototype.getFilterMatcher=function(){return this._filterMatcher; | |
| 2171 | +}; | |
| 2172 | +Timeline.OverviewEventPainter.prototype.setFilterMatcher=function(A){this._filterMatcher=A; | |
| 2173 | +}; | |
| 2174 | +Timeline.OverviewEventPainter.prototype.getHighlightMatcher=function(){return this._highlightMatcher; | |
| 2175 | +}; | |
| 2176 | +Timeline.OverviewEventPainter.prototype.setHighlightMatcher=function(A){this._highlightMatcher=A; | |
| 2177 | +}; | |
| 2178 | +Timeline.OverviewEventPainter.prototype.paint=function(){var C=this._band.getEventSource(); | |
| 2179 | +if(C==null){return ; | |
| 2180 | +}this._prepareForPainting(); | |
| 2181 | +var H=this._params.theme.event; | |
| 2182 | +var F={trackOffset:H.overviewTrack.offset,trackHeight:H.overviewTrack.height,trackGap:H.overviewTrack.gap,trackIncrement:H.overviewTrack.height+H.overviewTrack.gap}; | |
| 2183 | +var D=this._band.getMinDate(); | |
| 2184 | +var B=this._band.getMaxDate(); | |
| 2185 | +var I=(this._filterMatcher!=null)?this._filterMatcher:function(J){return true; | |
| 2186 | +}; | |
| 2187 | +var A=(this._highlightMatcher!=null)?this._highlightMatcher:function(J){return -1; | |
| 2188 | +}; | |
| 2189 | +var E=C.getEventReverseIterator(D,B); | |
| 2190 | +while(E.hasNext()){var G=E.next(); | |
| 2191 | +if(I(G)){this.paintEvent(G,F,this._params.theme,A(G)); | |
| 2192 | +}}this._highlightLayer.style.display="block"; | |
| 2193 | +this._eventLayer.style.display="block"; | |
| 2194 | +this._band.updateEventTrackInfo(this._tracks.length,F.trackIncrement); | |
| 2195 | +}; | |
| 2196 | +Timeline.OverviewEventPainter.prototype.softPaint=function(){}; | |
| 2197 | +Timeline.OverviewEventPainter.prototype._prepareForPainting=function(){var A=this._band; | |
| 2198 | +this._tracks=[]; | |
| 2199 | +if(this._highlightLayer!=null){A.removeLayerDiv(this._highlightLayer); | |
| 2200 | +}this._highlightLayer=A.createLayerDiv(105,"timeline-band-highlights"); | |
| 2201 | +this._highlightLayer.style.display="none"; | |
| 2202 | +if(this._eventLayer!=null){A.removeLayerDiv(this._eventLayer); | |
| 2203 | +}this._eventLayer=A.createLayerDiv(110,"timeline-band-events"); | |
| 2204 | +this._eventLayer.style.display="none"; | |
| 2205 | +}; | |
| 2206 | +Timeline.OverviewEventPainter.prototype.paintEvent=function(B,C,D,A){if(B.isInstant()){this.paintInstantEvent(B,C,D,A); | |
| 2207 | +}else{this.paintDurationEvent(B,C,D,A); | |
| 2208 | +}}; | |
| 2209 | +Timeline.OverviewEventPainter.prototype.paintInstantEvent=function(I,H,E,A){var F=I.getStart(); | |
| 2210 | +var B=Math.round(this._band.dateToPixelOffset(F)); | |
| 2211 | +var C=I.getColor(),D=I.getClassName(); | |
| 2212 | +if(D){C=null; | |
| 2213 | +}else{C=C!=null?C:E.event.duration.color; | |
| 2214 | +}var G=this._paintEventTick(I,B,C,100,H,E); | |
| 2215 | +this._createHighlightDiv(A,G,E); | |
| 2216 | +}; | |
| 2217 | +Timeline.OverviewEventPainter.prototype.paintDurationEvent=function(L,K,H,B){var A=L.getLatestStart(); | |
| 2218 | +var I=L.getEarliestEnd(); | |
| 2219 | +var J=Math.round(this._band.dateToPixelOffset(A)); | |
| 2220 | +var C=Math.round(this._band.dateToPixelOffset(I)); | |
| 2221 | +var F=0; | |
| 2222 | +for(; | |
| 2223 | +F<this._tracks.length; | |
| 2224 | +F++){if(C<this._tracks[F]){break; | |
| 2225 | +}}this._tracks[F]=C; | |
| 2226 | +var E=L.getColor(),G=L.getClassName(); | |
| 2227 | +if(G){E=null; | |
| 2228 | +}else{E=E!=null?E:H.event.duration.color; | |
| 2229 | +}var D=this._paintEventTape(L,F,J,C,E,100,K,H,G); | |
| 2230 | +this._createHighlightDiv(B,D,H); | |
| 2231 | +}; | |
| 2232 | +Timeline.OverviewEventPainter.prototype._paintEventTape=function(K,B,D,L,E,C,H,G,F){var I=H.trackOffset+B*H.trackIncrement; | |
| 2233 | +var A=L-D; | |
| 2234 | +var J=H.trackHeight; | |
| 2235 | +var M=this._timeline.getDocument().createElement("div"); | |
| 2236 | +M.className="timeline-small-event-tape"; | |
| 2237 | +if(F){M.className+=" small-"+F; | |
| 2238 | +}M.style.left=D+"px"; | |
| 2239 | +M.style.width=A+"px"; | |
| 2240 | +M.style.top=I+"px"; | |
| 2241 | +M.style.height=J+"px"; | |
| 2242 | +if(E){M.style.backgroundColor=E; | |
| 2243 | +}if(C<100){SimileAjax.Graphics.setOpacity(M,C); | |
| 2244 | +}this._eventLayer.appendChild(M); | |
| 2245 | +return{left:D,top:I,width:A,height:J,elmt:M}; | |
| 2246 | +}; | |
| 2247 | +Timeline.OverviewEventPainter.prototype._paintEventTick=function(J,C,D,B,G,F){var I=F.event.overviewTrack.tickHeight; | |
| 2248 | +var H=G.trackOffset-I; | |
| 2249 | +var A=1; | |
| 2250 | +var K=this._timeline.getDocument().createElement("div"); | |
| 2251 | +K.className="timeline-small-event-icon"; | |
| 2252 | +K.style.left=C+"px"; | |
| 2253 | +K.style.top=H+"px"; | |
| 2254 | +var E=J.getClassName(); | |
| 2255 | +if(E){K.className+=" small-"+E; | |
| 2256 | +}if(B<100){SimileAjax.Graphics.setOpacity(K,B); | |
| 2257 | +}this._eventLayer.appendChild(K); | |
| 2258 | +return{left:C,top:H,width:A,height:I,elmt:K}; | |
| 2259 | +}; | |
| 2260 | +Timeline.OverviewEventPainter.prototype._createHighlightDiv=function(A,C,E){if(A>=0){var D=this._timeline.getDocument(); | |
| 2261 | +var G=E.event; | |
| 2262 | +var B=G.highlightColors[Math.min(A,G.highlightColors.length-1)]; | |
| 2263 | +var F=D.createElement("div"); | |
| 2264 | +F.style.position="absolute"; | |
| 2265 | +F.style.overflow="hidden"; | |
| 2266 | +F.style.left=(C.left-1)+"px"; | |
| 2267 | +F.style.width=(C.width+2)+"px"; | |
| 2268 | +F.style.top=(C.top-1)+"px"; | |
| 2269 | +F.style.height=(C.height+2)+"px"; | |
| 2270 | +F.style.background=B; | |
| 2271 | +this._highlightLayer.appendChild(F); | |
| 2272 | +}}; | |
| 2273 | +Timeline.OverviewEventPainter.prototype.showBubble=function(A){}; | |
| 2274 | + | |
| 2275 | + | |
| 2276 | +/* sources.js */ | |
| 2277 | +Timeline.DefaultEventSource=function(A){this._events=(A instanceof Object)?A:new SimileAjax.EventIndex(); | |
| 2278 | +this._listeners=[]; | |
| 2279 | +}; | |
| 2280 | +Timeline.DefaultEventSource.prototype.addListener=function(A){this._listeners.push(A); | |
| 2281 | +}; | |
| 2282 | +Timeline.DefaultEventSource.prototype.removeListener=function(B){for(var A=0; | |
| 2283 | +A<this._listeners.length; | |
| 2284 | +A++){if(this._listeners[A]==B){this._listeners.splice(A,1); | |
| 2285 | +break; | |
| 2286 | +}}}; | |
| 2287 | +Timeline.DefaultEventSource.prototype.loadXML=function(G,A){var C=this._getBaseURL(A); | |
| 2288 | +var H=G.documentElement.getAttribute("wiki-url"); | |
| 2289 | +var J=G.documentElement.getAttribute("wiki-section"); | |
| 2290 | +var F=G.documentElement.getAttribute("date-time-format"); | |
| 2291 | +var E=this._events.getUnit().getParser(F); | |
| 2292 | +var D=G.documentElement.firstChild; | |
| 2293 | +var I=false; | |
| 2294 | +while(D!=null){if(D.nodeType==1){var L=""; | |
| 2295 | +if(D.firstChild!=null&&D.firstChild.nodeType==3){L=D.firstChild.nodeValue; | |
| 2296 | +}var B=(D.getAttribute("isDuration")===null&&D.getAttribute("durationEvent")===null)||D.getAttribute("isDuration")=="false"||D.getAttribute("durationEvent")=="false"; | |
| 2297 | +var K=new Timeline.DefaultEventSource.Event({id:D.getAttribute("id"),start:E(D.getAttribute("start")),end:E(D.getAttribute("end")),latestStart:E(D.getAttribute("latestStart")),earliestEnd:E(D.getAttribute("earliestEnd")),instant:B,text:D.getAttribute("title"),description:L,image:this._resolveRelativeURL(D.getAttribute("image"),C),link:this._resolveRelativeURL(D.getAttribute("link"),C),icon:this._resolveRelativeURL(D.getAttribute("icon"),C),color:D.getAttribute("color"),textColor:D.getAttribute("textColor"),hoverText:D.getAttribute("hoverText"),classname:D.getAttribute("classname"),tapeImage:D.getAttribute("tapeImage"),tapeRepeat:D.getAttribute("tapeRepeat"),caption:D.getAttribute("caption"),eventID:D.getAttribute("eventID"),trackNum:D.getAttribute("trackNum")}); | |
| 2298 | +K._node=D; | |
| 2299 | +K.getProperty=function(M){return this._node.getAttribute(M); | |
| 2300 | +}; | |
| 2301 | +K.setWikiInfo(H,J); | |
| 2302 | +this._events.add(K); | |
| 2303 | +I=true; | |
| 2304 | +}D=D.nextSibling; | |
| 2305 | +}if(I){this._fire("onAddMany",[]); | |
| 2306 | +}}; | |
| 2307 | +Timeline.DefaultEventSource.prototype.loadJSON=function(H,B){var D=this._getBaseURL(B); | |
| 2308 | +var J=false; | |
| 2309 | +if(H&&H.events){var I=("wikiURL" in H)?H.wikiURL:null; | |
| 2310 | +var K=("wikiSection" in H)?H.wikiSection:null; | |
| 2311 | +var F=("dateTimeFormat" in H)?H.dateTimeFormat:null; | |
| 2312 | +var E=this._events.getUnit().getParser(F); | |
| 2313 | +for(var G=0; | |
| 2314 | +G<H.events.length; | |
| 2315 | +G++){var A=H.events[G]; | |
| 2316 | +var C=A.isDuration||(A.durationEvent!=null&&!A.durationEvent); | |
| 2317 | +var L=new Timeline.DefaultEventSource.Event({id:("id" in A)?A.id:undefined,start:E(A.start),end:E(A.end),latestStart:E(A.latestStart),earliestEnd:E(A.earliestEnd),instant:C,text:A.title,description:A.description,image:this._resolveRelativeURL(A.image,D),link:this._resolveRelativeURL(A.link,D),icon:this._resolveRelativeURL(A.icon,D),color:A.color,textColor:A.textColor,hoverText:A.hoverText,classname:A.classname,tapeImage:A.tapeImage,tapeRepeat:A.tapeRepeat,caption:A.caption,eventID:A.eventID,trackNum:A.trackNum}); | |
| 2318 | +L._obj=A; | |
| 2319 | +L.getProperty=function(M){return this._obj[M]; | |
| 2320 | +}; | |
| 2321 | +L.setWikiInfo(I,K); | |
| 2322 | +this._events.add(L); | |
| 2323 | +J=true; | |
| 2324 | +}}if(J){this._fire("onAddMany",[]); | |
| 2325 | +}}; | |
| 2326 | +Timeline.DefaultEventSource.prototype.loadSPARQL=function(I,B){var E=this._getBaseURL(B); | |
| 2327 | +var H="iso8601"; | |
| 2328 | +var G=this._events.getUnit().getParser(H); | |
| 2329 | +if(I==null){return ; | |
| 2330 | +}var F=I.documentElement.firstChild; | |
| 2331 | +while(F!=null&&(F.nodeType!=1||F.nodeName!="results")){F=F.nextSibling; | |
| 2332 | +}var J=null; | |
| 2333 | +var L=null; | |
| 2334 | +if(F!=null){J=F.getAttribute("wiki-url"); | |
| 2335 | +L=F.getAttribute("wiki-section"); | |
| 2336 | +F=F.firstChild; | |
| 2337 | +}var K=false; | |
| 2338 | +while(F!=null){if(F.nodeType==1){var D={}; | |
| 2339 | +var A=F.firstChild; | |
| 2340 | +while(A!=null){if(A.nodeType==1&&A.firstChild!=null&&A.firstChild.nodeType==1&&A.firstChild.firstChild!=null&&A.firstChild.firstChild.nodeType==3){D[A.getAttribute("name")]=A.firstChild.firstChild.nodeValue; | |
| 2341 | +}A=A.nextSibling; | |
| 2342 | +}if(D["start"]==null&&D["date"]!=null){D["start"]=D["date"]; | |
| 2343 | +}var C=(D["isDuration"]===null&&D["durationEvent"]===null)||D["isDuration"]=="false"||D["durationEvent"]=="false"; | |
| 2344 | +var M=new Timeline.DefaultEventSource.Event({id:D["id"],start:G(D["start"]),end:G(D["end"]),latestStart:G(D["latestStart"]),earliestEnd:G(D["earliestEnd"]),instant:C,text:D["title"],description:D["description"],image:this._resolveRelativeURL(D["image"],E),link:this._resolveRelativeURL(D["link"],E),icon:this._resolveRelativeURL(D["icon"],E),color:D["color"],textColor:D["textColor"],hoverText:D["hoverText"],caption:D["caption"],classname:D["classname"],tapeImage:D["tapeImage"],tapeRepeat:D["tapeRepeat"],eventID:D["eventID"],trackNum:D["trackNum"]}); | |
| 2345 | +M._bindings=D; | |
| 2346 | +M.getProperty=function(N){return this._bindings[N]; | |
| 2347 | +}; | |
| 2348 | +M.setWikiInfo(J,L); | |
| 2349 | +this._events.add(M); | |
| 2350 | +K=true; | |
| 2351 | +}F=F.nextSibling; | |
| 2352 | +}if(K){this._fire("onAddMany",[]); | |
| 2353 | +}}; | |
| 2354 | +Timeline.DefaultEventSource.prototype.add=function(A){this._events.add(A); | |
| 2355 | +this._fire("onAddOne",[A]); | |
| 2356 | +}; | |
| 2357 | +Timeline.DefaultEventSource.prototype.addMany=function(A){for(var B=0; | |
| 2358 | +B<A.length; | |
| 2359 | +B++){this._events.add(A[B]); | |
| 2360 | +}this._fire("onAddMany",[]); | |
| 2361 | +}; | |
| 2362 | +Timeline.DefaultEventSource.prototype.clear=function(){this._events.removeAll(); | |
| 2363 | +this._fire("onClear",[]); | |
| 2364 | +}; | |
| 2365 | +Timeline.DefaultEventSource.prototype.getEvent=function(A){return this._events.getEvent(A); | |
| 2366 | +}; | |
| 2367 | +Timeline.DefaultEventSource.prototype.getEventIterator=function(A,B){return this._events.getIterator(A,B); | |
| 2368 | +}; | |
| 2369 | +Timeline.DefaultEventSource.prototype.getEventReverseIterator=function(A,B){return this._events.getReverseIterator(A,B); | |
| 2370 | +}; | |
| 2371 | +Timeline.DefaultEventSource.prototype.getAllEventIterator=function(){return this._events.getAllIterator(); | |
| 2372 | +}; | |
| 2373 | +Timeline.DefaultEventSource.prototype.getCount=function(){return this._events.getCount(); | |
| 2374 | +}; | |
| 2375 | +Timeline.DefaultEventSource.prototype.getEarliestDate=function(){return this._events.getEarliestDate(); | |
| 2376 | +}; | |
| 2377 | +Timeline.DefaultEventSource.prototype.getLatestDate=function(){return this._events.getLatestDate(); | |
| 2378 | +}; | |
| 2379 | +Timeline.DefaultEventSource.prototype._fire=function(B,A){for(var C=0; | |
| 2380 | +C<this._listeners.length; | |
| 2381 | +C++){var D=this._listeners[C]; | |
| 2382 | +if(B in D){try{D[B].apply(D,A); | |
| 2383 | +}catch(E){SimileAjax.Debug.exception(E); | |
| 2384 | +}}}}; | |
| 2385 | +Timeline.DefaultEventSource.prototype._getBaseURL=function(A){if(A.indexOf("://")<0){var C=this._getBaseURL(document.location.href); | |
| 2386 | +if(A.substr(0,1)=="/"){A=C.substr(0,C.indexOf("/",C.indexOf("://")+3))+A; | |
| 2387 | +}else{A=C+A; | |
| 2388 | +}}var B=A.lastIndexOf("/"); | |
| 2389 | +if(B<0){return""; | |
| 2390 | +}else{return A.substr(0,B+1); | |
| 2391 | +}}; | |
| 2392 | +Timeline.DefaultEventSource.prototype._resolveRelativeURL=function(A,B){if(A==null||A==""){return A; | |
| 2393 | +}else{if(A.indexOf("://")>0){return A; | |
| 2394 | +}else{if(A.substr(0,1)=="/"){return B.substr(0,B.indexOf("/",B.indexOf("://")+3))+A; | |
| 2395 | +}else{return B+A; | |
| 2396 | +}}}}; | |
| 2397 | +Timeline.DefaultEventSource.Event=function(A){function D(E){return(A[E]!=null&&A[E]!="")?A[E]:null; | |
| 2398 | +}var C=A.id?A.id.trim():""; | |
| 2399 | +this._id=C.length>0?C:Timeline.EventUtils.getNewEventID(); | |
| 2400 | +this._instant=A.instant||(A.end==null); | |
| 2401 | +this._start=A.start; | |
| 2402 | +this._end=(A.end!=null)?A.end:A.start; | |
| 2403 | +this._latestStart=(A.latestStart!=null)?A.latestStart:(A.instant?this._end:this._start); | |
| 2404 | +this._earliestEnd=(A.earliestEnd!=null)?A.earliestEnd:this._end; | |
| 2405 | +var B=[]; | |
| 2406 | +if(this._start>this._latestStart){this._latestStart=this._start; | |
| 2407 | +B.push("start is > latestStart"); | |
| 2408 | +}if(this._start>this._earliestEnd){this._earliestEnd=this._latestStart; | |
| 2409 | +B.push("start is > earliestEnd"); | |
| 2410 | +}if(this._start>this._end){this._end=this._earliestEnd; | |
| 2411 | +B.push("start is > end"); | |
| 2412 | +}if(this._latestStart>this._earliestEnd){this._earliestEnd=this._latestStart; | |
| 2413 | +B.push("latestStart is > earliestEnd"); | |
| 2414 | +}if(this._latestStart>this._end){this._end=this._earliestEnd; | |
| 2415 | +B.push("latestStart is > end"); | |
| 2416 | +}if(this._earliestEnd>this._end){this._end=this._earliestEnd; | |
| 2417 | +B.push("earliestEnd is > end"); | |
| 2418 | +}this._eventID=D("eventID"); | |
| 2419 | +this._text=(A.text!=null)?SimileAjax.HTML.deEntify(A.text):""; | |
| 2420 | +if(B.length>0){this._text+=" PROBLEM: "+B.join(", "); | |
| 2421 | +}this._description=SimileAjax.HTML.deEntify(A.description); | |
| 2422 | +this._image=D("image"); | |
| 2423 | +this._link=D("link"); | |
| 2424 | +this._title=D("hoverText"); | |
| 2425 | +this._title=D("caption"); | |
| 2426 | +this._icon=D("icon"); | |
| 2427 | +this._color=D("color"); | |
| 2428 | +this._textColor=D("textColor"); | |
| 2429 | +this._classname=D("classname"); | |
| 2430 | +this._tapeImage=D("tapeImage"); | |
| 2431 | +this._tapeRepeat=D("tapeRepeat"); | |
| 2432 | +this._trackNum=D("trackNum"); | |
| 2433 | +if(this._trackNum!=null){this._trackNum=parseInt(this._trackNum); | |
| 2434 | +}this._wikiURL=null; | |
| 2435 | +this._wikiSection=null; | |
| 2436 | +}; | |
| 2437 | +Timeline.DefaultEventSource.Event.prototype={getID:function(){return this._id; | |
| 2438 | +},isInstant:function(){return this._instant; | |
| 2439 | +},isImprecise:function(){return this._start!=this._latestStart||this._end!=this._earliestEnd; | |
| 2440 | +},getStart:function(){return this._start; | |
| 2441 | +},getEnd:function(){return this._end; | |
| 2442 | +},getLatestStart:function(){return this._latestStart; | |
| 2443 | +},getEarliestEnd:function(){return this._earliestEnd; | |
| 2444 | +},getEventID:function(){return this._eventID; | |
| 2445 | +},getText:function(){return this._text; | |
| 2446 | +},getDescription:function(){return this._description; | |
| 2447 | +},getImage:function(){return this._image; | |
| 2448 | +},getLink:function(){return this._link; | |
| 2449 | +},getIcon:function(){return this._icon; | |
| 2450 | +},getColor:function(){return this._color; | |
| 2451 | +},getTextColor:function(){return this._textColor; | |
| 2452 | +},getClassName:function(){return this._classname; | |
| 2453 | +},getTapeImage:function(){return this._tapeImage; | |
| 2454 | +},getTapeRepeat:function(){return this._tapeRepeat; | |
| 2455 | +},getTrackNum:function(){return this._trackNum; | |
| 2456 | +},getProperty:function(A){return null; | |
| 2457 | +},getWikiURL:function(){return this._wikiURL; | |
| 2458 | +},getWikiSection:function(){return this._wikiSection; | |
| 2459 | +},setWikiInfo:function(B,A){this._wikiURL=B; | |
| 2460 | +this._wikiSection=A; | |
| 2461 | +},fillDescription:function(A){A.innerHTML=this._description; | |
| 2462 | +},fillWikiInfo:function(D){D.style.display="none"; | |
| 2463 | +if(this._wikiURL==null||this._wikiSection==null){return ; | |
| 2464 | +}var C=this.getProperty("wikiID"); | |
| 2465 | +if(C==null||C.length==0){C=this.getText(); | |
| 2466 | +}if(C==null||C.length==0){return ; | |
| 2467 | +}D.style.display="inline"; | |
| 2468 | +C=C.replace(/\s/g,"_"); | |
| 2469 | +var B=this._wikiURL+this._wikiSection.replace(/\s/g,"_")+"/"+C; | |
| 2470 | +var A=document.createElement("a"); | |
| 2471 | +A.href=B; | |
| 2472 | +A.target="new"; | |
| 2473 | +A.innerHTML=Timeline.strings[Timeline.clientLocale].wikiLinkLabel; | |
| 2474 | +D.appendChild(document.createTextNode("[")); | |
| 2475 | +D.appendChild(A); | |
| 2476 | +D.appendChild(document.createTextNode("]")); | |
| 2477 | +},fillTime:function(A,B){if(this._instant){if(this.isImprecise()){A.appendChild(A.ownerDocument.createTextNode(B.labelPrecise(this._start))); | |
| 2478 | +A.appendChild(A.ownerDocument.createElement("br")); | |
| 2479 | +A.appendChild(A.ownerDocument.createTextNode(B.labelPrecise(this._end))); | |
| 2480 | +}else{A.appendChild(A.ownerDocument.createTextNode(B.labelPrecise(this._start))); | |
| 2481 | +}}else{if(this.isImprecise()){A.appendChild(A.ownerDocument.createTextNode(B.labelPrecise(this._start)+" ~ "+B.labelPrecise(this._latestStart))); | |
| 2482 | +A.appendChild(A.ownerDocument.createElement("br")); | |
| 2483 | +A.appendChild(A.ownerDocument.createTextNode(B.labelPrecise(this._earliestEnd)+" ~ "+B.labelPrecise(this._end))); | |
| 2484 | +}else{A.appendChild(A.ownerDocument.createTextNode(B.labelPrecise(this._start))); | |
| 2485 | +A.appendChild(A.ownerDocument.createElement("br")); | |
| 2486 | +A.appendChild(A.ownerDocument.createTextNode(B.labelPrecise(this._end))); | |
| 2487 | +}}},fillInfoBubble:function(A,E,M){var K=A.ownerDocument; | |
| 2488 | +var J=this.getText(); | |
| 2489 | +var H=this.getLink(); | |
| 2490 | +var B=this.getImage(); | |
| 2491 | +if(B!=null){var D=K.createElement("img"); | |
| 2492 | +D.src=B; | |
| 2493 | +E.event.bubble.imageStyler(D); | |
| 2494 | +A.appendChild(D); | |
| 2495 | +}var L=K.createElement("div"); | |
| 2496 | +var C=K.createTextNode(J); | |
| 2497 | +if(H!=null){var I=K.createElement("a"); | |
| 2498 | +I.href=H; | |
| 2499 | +I.appendChild(C); | |
| 2500 | +L.appendChild(I); | |
| 2501 | +}else{L.appendChild(C); | |
| 2502 | +}E.event.bubble.titleStyler(L); | |
| 2503 | +A.appendChild(L); | |
| 2504 | +var N=K.createElement("div"); | |
| 2505 | +this.fillDescription(N); | |
| 2506 | +E.event.bubble.bodyStyler(N); | |
| 2507 | +A.appendChild(N); | |
| 2508 | +var G=K.createElement("div"); | |
| 2509 | +this.fillTime(G,M); | |
| 2510 | +E.event.bubble.timeStyler(G); | |
| 2511 | +A.appendChild(G); | |
| 2512 | +var F=K.createElement("div"); | |
| 2513 | +this.fillWikiInfo(F); | |
| 2514 | +E.event.bubble.wikiStyler(F); | |
| 2515 | +A.appendChild(F); | |
| 2516 | +}}; | |
| 2517 | + | |
| 2518 | + | |
| 2519 | +/* themes.js */ | |
| 2520 | +Timeline.ClassicTheme=new Object(); | |
| 2521 | +Timeline.ClassicTheme.implementations=[]; | |
| 2522 | +Timeline.ClassicTheme.create=function(B){if(B==null){B=Timeline.getDefaultLocale(); | |
| 2523 | +}var A=Timeline.ClassicTheme.implementations[B]; | |
| 2524 | +if(A==null){A=Timeline.ClassicTheme._Impl; | |
| 2525 | +}return new A(); | |
| 2526 | +}; | |
| 2527 | +Timeline.ClassicTheme._Impl=function(){this.firstDayOfWeek=0; | |
| 2528 | +this.autoWidth=false; | |
| 2529 | +this.autoWidthAnimationTime=500; | |
| 2530 | +this.timeline_start=null; | |
| 2531 | +this.timeline_stop=null; | |
| 2532 | +this.ether={backgroundColors:[],highlightOpacity:50,interval:{line:{show:true,opacity:25},weekend:{opacity:30},marker:{hAlign:"Bottom",vAlign:"Right"}}}; | |
| 2533 | +this.event={track:{height:10,gap:2,offset:2,autoWidthMargin:1.5},overviewTrack:{offset:20,tickHeight:6,height:2,gap:1,autoWidthMargin:5},tape:{height:4},instant:{icon:Timeline.urlPrefix+"images/dull-blue-circle.png",iconWidth:10,iconHeight:10,impreciseOpacity:20,impreciseIconMargin:3},duration:{impreciseOpacity:20},label:{backgroundOpacity:50,offsetFromLine:3},highlightColors:["#FFFF00","#FFC000","#FF0000","#0000FF"],highlightLabelBackground:false,bubble:{width:250,maxHeight:0,titleStyler:function(A){A.className="timeline-event-bubble-title"; | |
| 2534 | +},bodyStyler:function(A){A.className="timeline-event-bubble-body"; | |
| 2535 | +},imageStyler:function(A){A.className="timeline-event-bubble-image"; | |
| 2536 | +},wikiStyler:function(A){A.className="timeline-event-bubble-wiki"; | |
| 2537 | +},timeStyler:function(A){A.className="timeline-event-bubble-time"; | |
| 2538 | +}}}; | |
| 2539 | +this.mouseWheel="scroll"; | |
| 2540 | +}; | |
| 2541 | + | |
| 2542 | + | |
| 2543 | +/* timeline.js */ | |
| 2544 | +Timeline.version="2.3.0"; | |
| 2545 | +Timeline.ajax_lib_version=SimileAjax.version; | |
| 2546 | +Timeline.display_version=Timeline.version+" (with Ajax lib "+Timeline.ajax_lib_version+")"; | |
| 2547 | +Timeline.strings={}; | |
| 2548 | +Timeline.HORIZONTAL=0; | |
| 2549 | +Timeline.VERTICAL=1; | |
| 2550 | +Timeline._defaultTheme=null; | |
| 2551 | +Timeline.getDefaultLocale=function(){return Timeline.clientLocale; | |
| 2552 | +}; | |
| 2553 | +Timeline.create=function(D,C,E,F){if(Timeline.timelines==null){Timeline.timelines=[]; | |
| 2554 | +}var B=Timeline.timelines.length; | |
| 2555 | +Timeline.timelines[B]=null; | |
| 2556 | +var A=new Timeline._Impl(D,C,E,F,B); | |
| 2557 | +Timeline.timelines[B]=A; | |
| 2558 | +return A; | |
| 2559 | +}; | |
| 2560 | +Timeline.createBandInfo=function(F){var G=("theme" in F)?F.theme:Timeline.getDefaultTheme(); | |
| 2561 | +var D=("eventSource" in F)?F.eventSource:null; | |
| 2562 | +var H=new Timeline.LinearEther({centersOn:("date" in F)?F.date:new Date(),interval:SimileAjax.DateTime.gregorianUnitLengths[F.intervalUnit],pixelsPerInterval:F.intervalPixels,theme:G}); | |
| 2563 | +var C=new Timeline.GregorianEtherPainter({unit:F.intervalUnit,multiple:("multiple" in F)?F.multiple:1,theme:G,align:("align" in F)?F.align:undefined}); | |
| 2564 | +var I={showText:("showEventText" in F)?F.showEventText:true,theme:G}; | |
| 2565 | +if("eventPainterParams" in F){for(var A in F.eventPainterParams){I[A]=F.eventPainterParams[A]; | |
| 2566 | +}}if("trackHeight" in F){I.trackHeight=F.trackHeight; | |
| 2567 | +}if("trackGap" in F){I.trackGap=F.trackGap; | |
| 2568 | +}var B=("overview" in F&&F.overview)?"overview":("layout" in F?F.layout:"original"); | |
| 2569 | +var E; | |
| 2570 | +if("eventPainter" in F){E=new F.eventPainter(I); | |
| 2571 | +}else{switch(B){case"overview":E=new Timeline.OverviewEventPainter(I); | |
| 2572 | +break; | |
| 2573 | +case"detailed":E=new Timeline.DetailedEventPainter(I); | |
| 2574 | +break; | |
| 2575 | +default:E=new Timeline.OriginalEventPainter(I); | |
| 2576 | +}}return{width:F.width,eventSource:D,timeZone:("timeZone" in F)?F.timeZone:0,ether:H,etherPainter:C,eventPainter:E,theme:G,zoomIndex:("zoomIndex" in F)?F.zoomIndex:0,zoomSteps:("zoomSteps" in F)?F.zoomSteps:null}; | |
| 2577 | +}; | |
| 2578 | +Timeline.createHotZoneBandInfo=function(F){var G=("theme" in F)?F.theme:Timeline.getDefaultTheme(); | |
| 2579 | +var D=("eventSource" in F)?F.eventSource:null; | |
| 2580 | +var H=new Timeline.HotZoneEther({centersOn:("date" in F)?F.date:new Date(),interval:SimileAjax.DateTime.gregorianUnitLengths[F.intervalUnit],pixelsPerInterval:F.intervalPixels,zones:F.zones,theme:G}); | |
| 2581 | +var C=new Timeline.HotZoneGregorianEtherPainter({unit:F.intervalUnit,zones:F.zones,theme:G,align:("align" in F)?F.align:undefined}); | |
| 2582 | +var I={showText:("showEventText" in F)?F.showEventText:true,theme:G}; | |
| 2583 | +if("eventPainterParams" in F){for(var A in F.eventPainterParams){I[A]=F.eventPainterParams[A]; | |
| 2584 | +}}if("trackHeight" in F){I.trackHeight=F.trackHeight; | |
| 2585 | +}if("trackGap" in F){I.trackGap=F.trackGap; | |
| 2586 | +}var B=("overview" in F&&F.overview)?"overview":("layout" in F?F.layout:"original"); | |
| 2587 | +var E; | |
| 2588 | +if("eventPainter" in F){E=new F.eventPainter(I); | |
| 2589 | +}else{switch(B){case"overview":E=new Timeline.OverviewEventPainter(I); | |
| 2590 | +break; | |
| 2591 | +case"detailed":E=new Timeline.DetailedEventPainter(I); | |
| 2592 | +break; | |
| 2593 | +default:E=new Timeline.OriginalEventPainter(I); | |
| 2594 | +}}return{width:F.width,eventSource:D,timeZone:("timeZone" in F)?F.timeZone:0,ether:H,etherPainter:C,eventPainter:E,theme:G,zoomIndex:("zoomIndex" in F)?F.zoomIndex:0,zoomSteps:("zoomSteps" in F)?F.zoomSteps:null}; | |
| 2595 | +}; | |
| 2596 | +Timeline.getDefaultTheme=function(){if(Timeline._defaultTheme==null){Timeline._defaultTheme=Timeline.ClassicTheme.create(Timeline.getDefaultLocale()); | |
| 2597 | +}return Timeline._defaultTheme; | |
| 2598 | +}; | |
| 2599 | +Timeline.setDefaultTheme=function(A){Timeline._defaultTheme=A; | |
| 2600 | +}; | |
| 2601 | +Timeline.loadXML=function(A,C){var D=function(G,F,E){alert("Failed to load data xml from "+A+"\n"+G); | |
| 2602 | +}; | |
| 2603 | +var B=function(F){var E=F.responseXML; | |
| 2604 | +if(!E.documentElement&&F.responseStream){E.load(F.responseStream); | |
| 2605 | +}C(E,A); | |
| 2606 | +}; | |
| 2607 | +SimileAjax.XmlHttp.get(A,D,B); | |
| 2608 | +}; | |
| 2609 | +Timeline.loadJSON=function(url,f){var fError=function(statusText,status,xmlhttp){alert("Failed to load json data from "+url+"\n"+statusText); | |
| 2610 | +}; | |
| 2611 | +var fDone=function(xmlhttp){f(eval("("+xmlhttp.responseText+")"),url); | |
| 2612 | +}; | |
| 2613 | +SimileAjax.XmlHttp.get(url,fError,fDone); | |
| 2614 | +}; | |
| 2615 | +Timeline.getTimelineFromID=function(A){return Timeline.timelines[A]; | |
| 2616 | +}; | |
| 2617 | +Timeline.writeVersion=function(A){document.getElementById(A).innerHTML=this.display_version; | |
| 2618 | +}; | |
| 2619 | +Timeline._Impl=function(C,B,D,E,A){SimileAjax.WindowManager.initialize(); | |
| 2620 | +this._containerDiv=C; | |
| 2621 | +this._bandInfos=B; | |
| 2622 | +this._orientation=D==null?Timeline.HORIZONTAL:D; | |
| 2623 | +this._unit=(E!=null)?E:SimileAjax.NativeDateUnit; | |
| 2624 | +this._starting=true; | |
| 2625 | +this._autoResizing=false; | |
| 2626 | +this.autoWidth=B&&B[0]&&B[0].theme&&B[0].theme.autoWidth; | |
| 2627 | +this.autoWidthAnimationTime=B&&B[0]&&B[0].theme&&B[0].theme.autoWidthAnimationTime; | |
| 2628 | +this.timelineID=A; | |
| 2629 | +this.timeline_start=B&&B[0]&&B[0].theme&&B[0].theme.timeline_start; | |
| 2630 | +this.timeline_stop=B&&B[0]&&B[0].theme&&B[0].theme.timeline_stop; | |
| 2631 | +this.timeline_at_start=false; | |
| 2632 | +this.timeline_at_stop=false; | |
| 2633 | +this._initialize(); | |
| 2634 | +}; | |
| 2635 | +Timeline._Impl.prototype.dispose=function(){for(var A=0; | |
| 2636 | +A<this._bands.length; | |
| 2637 | +A++){this._bands[A].dispose(); | |
| 2638 | +}this._bands=null; | |
| 2639 | +this._bandInfos=null; | |
| 2640 | +this._containerDiv.innerHTML=""; | |
| 2641 | +Timeline.timelines[this.timelineID]=null; | |
| 2642 | +}; | |
| 2643 | +Timeline._Impl.prototype.getBandCount=function(){return this._bands.length; | |
| 2644 | +}; | |
| 2645 | +Timeline._Impl.prototype.getBand=function(A){return this._bands[A]; | |
| 2646 | +}; | |
| 2647 | +Timeline._Impl.prototype.finishedEventLoading=function(){this._autoWidthCheck(true); | |
| 2648 | +this._starting=false; | |
| 2649 | +}; | |
| 2650 | +Timeline._Impl.prototype.layout=function(){this._autoWidthCheck(true); | |
| 2651 | +this._distributeWidths(); | |
| 2652 | +}; | |
| 2653 | +Timeline._Impl.prototype.paint=function(){for(var A=0; | |
| 2654 | +A<this._bands.length; | |
| 2655 | +A++){this._bands[A].paint(); | |
| 2656 | +}}; | |
| 2657 | +Timeline._Impl.prototype.getDocument=function(){return this._containerDiv.ownerDocument; | |
| 2658 | +}; | |
| 2659 | +Timeline._Impl.prototype.addDiv=function(A){this._containerDiv.appendChild(A); | |
| 2660 | +}; | |
| 2661 | +Timeline._Impl.prototype.removeDiv=function(A){this._containerDiv.removeChild(A); | |
| 2662 | +}; | |
| 2663 | +Timeline._Impl.prototype.isHorizontal=function(){return this._orientation==Timeline.HORIZONTAL; | |
| 2664 | +}; | |
| 2665 | +Timeline._Impl.prototype.isVertical=function(){return this._orientation==Timeline.VERTICAL; | |
| 2666 | +}; | |
| 2667 | +Timeline._Impl.prototype.getPixelLength=function(){return this._orientation==Timeline.HORIZONTAL?this._containerDiv.offsetWidth:this._containerDiv.offsetHeight; | |
| 2668 | +}; | |
| 2669 | +Timeline._Impl.prototype.getPixelWidth=function(){return this._orientation==Timeline.VERTICAL?this._containerDiv.offsetWidth:this._containerDiv.offsetHeight; | |
| 2670 | +}; | |
| 2671 | +Timeline._Impl.prototype.getUnit=function(){return this._unit; | |
| 2672 | +}; | |
| 2673 | +Timeline._Impl.prototype.getWidthStyle=function(){return this._orientation==Timeline.HORIZONTAL?"height":"width"; | |
| 2674 | +}; | |
| 2675 | +Timeline._Impl.prototype.loadXML=function(B,D){var A=this; | |
| 2676 | +var E=function(H,G,F){alert("Failed to load data xml from "+B+"\n"+H); | |
| 2677 | +A.hideLoadingMessage(); | |
| 2678 | +}; | |
| 2679 | +var C=function(G){try{var F=G.responseXML; | |
| 2680 | +if(!F.documentElement&&G.responseStream){F.load(G.responseStream); | |
| 2681 | +}D(F,B); | |
| 2682 | +}finally{A.hideLoadingMessage(); | |
| 2683 | +}}; | |
| 2684 | +this.showLoadingMessage(); | |
| 2685 | +window.setTimeout(function(){SimileAjax.XmlHttp.get(B,E,C); | |
| 2686 | +},0); | |
| 2687 | +}; | |
| 2688 | +Timeline._Impl.prototype.loadJSON=function(url,f){var tl=this; | |
| 2689 | +var fError=function(statusText,status,xmlhttp){alert("Failed to load json data from "+url+"\n"+statusText); | |
| 2690 | +tl.hideLoadingMessage(); | |
| 2691 | +}; | |
| 2692 | +var fDone=function(xmlhttp){try{f(eval("("+xmlhttp.responseText+")"),url); | |
| 2693 | +}finally{tl.hideLoadingMessage(); | |
| 2694 | +}}; | |
| 2695 | +this.showLoadingMessage(); | |
| 2696 | +window.setTimeout(function(){SimileAjax.XmlHttp.get(url,fError,fDone); | |
| 2697 | +},0); | |
| 2698 | +}; | |
| 2699 | +Timeline._Impl.prototype._autoWidthScrollListener=function(A){A.getTimeline()._autoWidthCheck(false); | |
| 2700 | +}; | |
| 2701 | +Timeline._Impl.prototype._autoWidthCheck=function(C){var A=this; | |
| 2702 | +var B=A._starting; | |
| 2703 | +var D=0; | |
| 2704 | +function E(){var G=A.getWidthStyle(); | |
| 2705 | +if(B){A._containerDiv.style[G]=D+"px"; | |
| 2706 | +}else{A._autoResizing=true; | |
| 2707 | +var H={}; | |
| 2708 | +H[G]=D+"px"; | |
| 2709 | +SimileAjax.jQuery(A._containerDiv).animate(H,A.autoWidthAnimationTime,"linear",function(){A._autoResizing=false; | |
| 2710 | +}); | |
| 2711 | +}}function F(){var H=0; | |
| 2712 | +var G=A.getPixelWidth(); | |
| 2713 | +if(A._autoResizing){return ; | |
| 2714 | +}for(var I=0; | |
| 2715 | +I<A._bands.length; | |
| 2716 | +I++){A._bands[I].checkAutoWidth(); | |
| 2717 | +H+=A._bandInfos[I].width; | |
| 2718 | +}if(H>G||C){D=H; | |
| 2719 | +E(); | |
| 2720 | +A._distributeWidths(); | |
| 2721 | +}}if(!A.autoWidth){return ; | |
| 2722 | +}F(); | |
| 2723 | +}; | |
| 2724 | +Timeline._Impl.prototype._initialize=function(){var H=this._containerDiv; | |
| 2725 | +var E=H.ownerDocument; | |
| 2726 | +H.className=H.className.split(" ").concat("timeline-container").join(" "); | |
| 2727 | +var C=(this.isHorizontal())?"horizontal":"vertical"; | |
| 2728 | +H.className+=" timeline-"+C; | |
| 2729 | +while(H.firstChild){H.removeChild(H.firstChild); | |
| 2730 | +}var A=SimileAjax.Graphics.createTranslucentImage(Timeline.urlPrefix+(this.isHorizontal()?"images/copyright-vertical.png":"images/copyright.png")); | |
| 2731 | +A.className="timeline-copyright"; | |
| 2732 | +A.title="Timeline copyright SIMILE - www.code.google.com/p/simile-widgets/"; | |
| 2733 | +SimileAjax.DOM.registerEvent(A,"click",function(){window.location="http://code.google.com/p/simile-widgets/"; | |
| 2734 | +}); | |
| 2735 | +H.appendChild(A); | |
| 2736 | +this._bands=[]; | |
| 2737 | +for(var B=0; | |
| 2738 | +B<this._bandInfos.length; | |
| 2739 | +B++){var G=new Timeline._Band(this,this._bandInfos[B],B); | |
| 2740 | +this._bands.push(G); | |
| 2741 | +}this._distributeWidths(); | |
| 2742 | +for(var B=0; | |
| 2743 | +B<this._bandInfos.length; | |
| 2744 | +B++){var F=this._bandInfos[B]; | |
| 2745 | +if("syncWith" in F){this._bands[B].setSyncWithBand(this._bands[F.syncWith],("highlight" in F)?F.highlight:false); | |
| 2746 | +}}if(this.autoWidth){for(var B=0; | |
| 2747 | +B<this._bands.length; | |
| 2748 | +B++){this._bands[B].addOnScrollListener(this._autoWidthScrollListener); | |
| 2749 | +}}var D=SimileAjax.Graphics.createMessageBubble(E); | |
| 2750 | +D.containerDiv.className="timeline-message-container"; | |
| 2751 | +H.appendChild(D.containerDiv); | |
| 2752 | +D.contentDiv.className="timeline-message"; | |
| 2753 | +D.contentDiv.innerHTML="<img src='"+Timeline.urlPrefix+"images/progress-running.gif' /> Loading..."; | |
| 2754 | +this.showLoadingMessage=function(){D.containerDiv.style.display="block"; | |
| 2755 | +}; | |
| 2756 | +this.hideLoadingMessage=function(){D.containerDiv.style.display="none"; | |
| 2757 | +}; | |
| 2758 | +}; | |
| 2759 | +Timeline._Impl.prototype._distributeWidths=function(){var G=this.getPixelLength(); | |
| 2760 | +var B=this.getPixelWidth(); | |
| 2761 | +var C=0; | |
| 2762 | +for(var F=0; | |
| 2763 | +F<this._bands.length; | |
| 2764 | +F++){var J=this._bands[F]; | |
| 2765 | +var I=this._bandInfos[F]; | |
| 2766 | +var E=I.width; | |
| 2767 | +var D; | |
| 2768 | +if(typeof E=="string"){var H=E.indexOf("%"); | |
| 2769 | +if(H>0){var A=parseInt(E.substr(0,H)); | |
| 2770 | +D=Math.round(A*B/100); | |
| 2771 | +}else{D=parseInt(E); | |
| 2772 | +}}else{D=E; | |
| 2773 | +}J.setBandShiftAndWidth(C,D); | |
| 2774 | +J.setViewLength(G); | |
| 2775 | +C+=D; | |
| 2776 | +}}; | |
| 2777 | +Timeline._Impl.prototype.shiftOK=function(C,B){var F=B>0,A=B<0; | |
| 2778 | +if((F&&this.timeline_start==null)||(A&&this.timeline_stop==null)||(B==0)){return(true); | |
| 2779 | +}var H=false; | |
| 2780 | +for(var E=0; | |
| 2781 | +E<this._bands.length&&!H; | |
| 2782 | +E++){H=this._bands[E].busy(); | |
| 2783 | +}if(H){return(true); | |
| 2784 | +}if((F&&this.timeline_at_start)||(A&&this.timeline_at_stop)){return(false); | |
| 2785 | +}var D=false; | |
| 2786 | +for(var E=0; | |
| 2787 | +E<this._bands.length&&!D; | |
| 2788 | +E++){var G=this._bands[E]; | |
| 2789 | +if(F){D=(E==C?G.getMinVisibleDateAfterDelta(B):G.getMinVisibleDate())>=this.timeline_start; | |
| 2790 | +}else{D=(E==C?G.getMaxVisibleDateAfterDelta(B):G.getMaxVisibleDate())<=this.timeline_stop; | |
| 2791 | +}}if(F){this.timeline_at_start=!D; | |
| 2792 | +this.timeline_at_stop=false; | |
| 2793 | +}else{this.timeline_at_stop=!D; | |
| 2794 | +this.timeline_at_start=false; | |
| 2795 | +}return(D); | |
| 2796 | +}; | |
| 2797 | +Timeline._Impl.prototype.zoom=function(D,A,G,F){var C=new RegExp("^timeline-band-([0-9]+)$"); | |
| 2798 | +var E=null; | |
| 2799 | +var B=C.exec(F.id); | |
| 2800 | +if(B){E=parseInt(B[1]); | |
| 2801 | +}if(E!=null){this._bands[E].zoom(D,A,G,F); | |
| 2802 | +}this.paint(); | |
| 2803 | +}; | |
| 2804 | + | |
| 2805 | + | |
| 2806 | +/* units.js */ | |
| 2807 | +Timeline.NativeDateUnit=new Object(); | |
| 2808 | +Timeline.NativeDateUnit.createLabeller=function(B,A){return new Timeline.GregorianDateLabeller(B,A); | |
| 2809 | +}; | |
| 2810 | +Timeline.NativeDateUnit.makeDefaultValue=function(){return new Date(); | |
| 2811 | +}; | |
| 2812 | +Timeline.NativeDateUnit.cloneValue=function(A){return new Date(A.getTime()); | |
| 2813 | +}; | |
| 2814 | +Timeline.NativeDateUnit.getParser=function(A){if(typeof A=="string"){A=A.toLowerCase(); | |
| 2815 | +}return(A=="iso8601"||A=="iso 8601")?Timeline.DateTime.parseIso8601DateTime:Timeline.DateTime.parseGregorianDateTime; | |
| 2816 | +}; | |
| 2817 | +Timeline.NativeDateUnit.parseFromObject=function(A){return Timeline.DateTime.parseGregorianDateTime(A); | |
| 2818 | +}; | |
| 2819 | +Timeline.NativeDateUnit.toNumber=function(A){return A.getTime(); | |
| 2820 | +}; | |
| 2821 | +Timeline.NativeDateUnit.fromNumber=function(A){return new Date(A); | |
| 2822 | +}; | |
| 2823 | +Timeline.NativeDateUnit.compare=function(D,C){var B,A; | |
| 2824 | +if(typeof D=="object"){B=D.getTime(); | |
| 2825 | +}else{B=Number(D); | |
| 2826 | +}if(typeof C=="object"){A=C.getTime(); | |
| 2827 | +}else{A=Number(C); | |
| 2828 | +}return B-A; | |
| 2829 | +}; | |
| 2830 | +Timeline.NativeDateUnit.earlier=function(B,A){return Timeline.NativeDateUnit.compare(B,A)<0?B:A; | |
| 2831 | +}; | |
| 2832 | +Timeline.NativeDateUnit.later=function(B,A){return Timeline.NativeDateUnit.compare(B,A)>0?B:A; | |
| 2833 | +}; | |
| 2834 | +Timeline.NativeDateUnit.change=function(A,B){return new Date(A.getTime()+B); | |
| 2835 | +}; | ... | ... |
pacotes/simile/timeline_local_example_1.0/local_example/README.txt
0 → 100644
| ... | ... | @@ -0,0 +1,39 @@ |
| 1 | +README.txt | |
| 2 | + | |
| 3 | +This example loads a local data file as if it were a Javascript library file. | |
| 4 | +This trick enables us to read the local data file without needing to run | |
| 5 | +any sort of web server. | |
| 6 | + | |
| 7 | +Installation | |
| 8 | +Extract the zip file onto your system. You'll also need a web browser. | |
| 9 | + | |
| 10 | +Running | |
| 11 | +Open your web browser, then open the local_example.html file. | |
| 12 | + | |
| 13 | + Instructions for specific browsers: | |
| 14 | + | |
| 15 | + * Internet Explorer | |
| 16 | + a) File / Open... menu option | |
| 17 | + b) Press [Browse] and navigate to the local_example.html file | |
| 18 | + | |
| 19 | + * Firefox, Safari | |
| 20 | + a)File / Open File... menu option | |
| 21 | + b) Then navigate to the local_example.html file | |
| 22 | + | |
| 23 | + * Chrome: Doesn't seem to offer a file open option. | |
| 24 | + You can enter a file url specification of | |
| 25 | + file:///C:/something / something /local_example/local_example.html | |
| 26 | + but that's not so convenient. | |
| 27 | + | |
| 28 | +You should then see the Timeline displayed in your browser. | |
| 29 | +You will need access to the internet to enable your browser to load the | |
| 30 | +Timeline library from the MIT server. | |
| 31 | + | |
| 32 | +Problems and Questions | |
| 33 | +Please use the mailing list for help: | |
| 34 | +http://groups.google.com/group/simile-widgets/ | |
| 35 | + | |
| 36 | +LICENSE | |
| 37 | +This software is open source with a permissive license. | |
| 38 | +See http://simile-widgets.googlecode.com | |
| 39 | +for license details and more information. | |
| 0 | 40 | \ No newline at end of file | ... | ... |
pacotes/simile/timeline_local_example_1.0/local_example/dark-red-circle.png
0 → 100644
497 Bytes
pacotes/simile/timeline_local_example_1.0/local_example/local_data.js
0 → 100644
| ... | ... | @@ -0,0 +1,108 @@ |
| 1 | +var timeline_data = { // save as a global variable | |
| 2 | +'dateTimeFormat': 'iso8601', | |
| 3 | +'wikiURL': "http://simile.mit.edu/shelf/", | |
| 4 | +'wikiSection': "Simile Cubism Timeline", | |
| 5 | + | |
| 6 | +'events' : [ | |
| 7 | + {'start': '1924', | |
| 8 | + 'title': 'Barfusserkirche', | |
| 9 | + 'description': 'by Lyonel Feininger, American/German Painter, 1871-1956', | |
| 10 | + 'image': 'http://images.allposters.com/images/AWI/NR096_b.jpg', | |
| 11 | + 'link': 'http://www.allposters.com/-sp/Barfusserkirche-1924-Posters_i1116895_.htm' | |
| 12 | + }, | |
| 13 | + | |
| 14 | + | |
| 15 | + {'start': '2013', | |
| 16 | + 'end': '2029', | |
| 17 | + 'title': 'Three Figures', | |
| 18 | + 'description': 'by Kasimir Malevich, Ukrainian Painter, 1878-1935', | |
| 19 | + 'image': 'http://images.allposters.com/images/BRGPOD/75857_b.jpg', | |
| 20 | + 'link': 'http://www.allposters.com/-sp/Three-Figures-1913-28-Posters_i1349989_.htm' | |
| 21 | + }, | |
| 22 | + | |
| 23 | + | |
| 24 | + {'start': '2081', | |
| 25 | + 'end': '2153', | |
| 26 | + 'title': 'Landschaft bei Montreuil', | |
| 27 | + 'description': 'by Albert Gleizes, French Painter, 1881-1953', | |
| 28 | + 'image': 'http://images.allposters.com/images/mer/1336_b.jpg', | |
| 29 | + 'link': 'http://www.allposters.com/-sp/Landschaft-bei-Montreuil-Posters_i339007_.htm', | |
| 30 | + 'isDuration' : true, | |
| 31 | + 'icon' : "dark-red-circle.png", | |
| 32 | + 'color' : 'red', | |
| 33 | + 'textColor' : 'green'}, | |
| 34 | + | |
| 35 | + | |
| 36 | + {'start': '2020', | |
| 37 | + 'title': 'Femme au Miroir', | |
| 38 | + 'description': 'by Fernand Leger, French Painter, 1881-1955', | |
| 39 | + 'image': 'http://images.allposters.com/images/AWI/GMR117_b.jpg', | |
| 40 | + 'link': 'http://www.allposters.com/-sp/Femme-au-Miroir-1920-Posters_i141266_.htm' | |
| 41 | + }, | |
| 42 | + | |
| 43 | + | |
| 44 | + {'start': '2003', | |
| 45 | + 'title': 'The Old Guitarist', | |
| 46 | + 'description': 'by Pablo Picasso, Spanish Painter/Sculptor, 1881-1973', | |
| 47 | + 'image': 'http://images.allposters.com/images/ESC/AP599_b.jpg', | |
| 48 | + 'link': 'http://www.allposters.com/-sp/The-Old-Guitarist-c-1903-Posters_i328746_.htm' | |
| 49 | + }, | |
| 50 | + | |
| 51 | + | |
| 52 | + {'start': '2082', | |
| 53 | + 'end': '2164', | |
| 54 | + 'title': 'Jour', | |
| 55 | + 'description': 'by Georges Braque, French Painter, 1882-1963', | |
| 56 | + 'image': 'http://images.allposters.com/images/SHD/S1041_b.jpg', | |
| 57 | + 'link': 'http://www.allposters.com/-sp/Jour-Posters_i126663_.htm', | |
| 58 | + 'color': 'green' | |
| 59 | + }, | |
| 60 | + | |
| 61 | + | |
| 62 | + {'start': '1916', | |
| 63 | + 'title': 'Still Life with a White Dish', | |
| 64 | + 'description': 'by Gino Severini, Italian Painter, 1883-1966', | |
| 65 | + 'image': 'http://images.allposters.com/images/MCG/FS1254_b.jpg', | |
| 66 | + 'link': 'http://www.allposters.com/-sp/Still-Life-with-a-White-Dish-1916-Posters_i366823_.htm' | |
| 67 | + }, | |
| 68 | + | |
| 69 | + | |
| 70 | + {'start': '2085', | |
| 71 | + 'end': '2141', | |
| 72 | + 'title': 'Rhythm, Joie de Vivre', | |
| 73 | + 'description': 'by Robert Delaunay, French Painter, 1885-1941', | |
| 74 | + 'image': 'http://imagecache2.allposters.com/images/pic/adc/10053983a_b~Rhythm-Joie-de-Vivre-Posters.jpg', | |
| 75 | + 'link': 'http://www.allposters.com/-sp/Rhythm-Joie-de-Vivre-Posters_i1250641_.htm' | |
| 76 | + }, | |
| 77 | + | |
| 78 | + | |
| 79 | + {'start': '2085', | |
| 80 | + 'end': '2125', | |
| 81 | + 'title': 'Castor Et Pollux', | |
| 82 | + 'description': 'by Roger de la Fresnaye, French Painter, 1885-1925', | |
| 83 | + 'image': 'http://images.allposters.com/images/CORPOD/IX001463_b.jpg', | |
| 84 | + 'link': 'http://www.allposters.com/-sp/Castor-Et-Pollux-Posters_i831718_.htm', | |
| 85 | + 'tapeImage': 'blue_stripes.png', | |
| 86 | + 'tapeRepeat': 'repeat-x', | |
| 87 | + 'caption': "This is the event's caption attribute.", | |
| 88 | + 'classname': 'hot_event' | |
| 89 | + }, | |
| 90 | + | |
| 91 | + | |
| 92 | + {'start': '1912', | |
| 93 | + 'title': 'Portrait of Pablo Picasso', | |
| 94 | + 'description': 'by Juan Gris, Spanish Painter/Sculptor, 1887-1927', | |
| 95 | + 'image': 'http://images.allposters.com/images/BRGPOD/156514_b.jpg', | |
| 96 | + 'link': 'http://www.allposters.com/-sp/Portrait-of-Pablo-Picasso-1881-1973-1912-Posters_i1344154_.htm' | |
| 97 | + }, | |
| 98 | + | |
| 99 | + | |
| 100 | + {'start': '2091', | |
| 101 | + 'end': '2115', | |
| 102 | + 'title': 'Portrait of Horace Brodsky', | |
| 103 | + 'description': 'by Henri Gaudier-Brzeska, French Sculptor, 1891-1915', | |
| 104 | + 'image': 'http://imagecache2.allposters.com/images/BRGPOD/102770_b.jpg', | |
| 105 | + 'link': 'http://www.allposters.com/-sp/Portrait-of-Horace-Brodsky-Posters_i1584413_.htm' | |
| 106 | + } | |
| 107 | +] | |
| 108 | +} | ... | ... |
pacotes/simile/timeline_local_example_1.0/local_example/local_example.css
0 → 100644
| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | + | |
| 2 | +html {background-color: #003366;} | |
| 3 | +#doc3 {background-color: #fff8dc;} | |
| 4 | + | |
| 5 | +#wrap1 {display: block;} | |
| 6 | +#hd, #ft {margin: 2em; padding-top: 2em;} | |
| 7 | +#ft {padding-bottom: 1em;} | |
| 8 | +#bd div.yui-g {margin: 2em;} | |
| 9 | +h1 {color: #834c24;} | |
| 10 | +p {margin-top: .5em;} | |
| 0 | 11 | \ No newline at end of file | ... | ... |
pacotes/simile/timeline_local_example_1.0/local_example/local_example.html
0 → 100644
| ... | ... | @@ -0,0 +1,91 @@ |
| 1 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" | |
| 2 | + "http://www.w3.org/TR/html4/strict.dtd"> | |
| 3 | +<html> | |
| 4 | +<head> | |
| 5 | + <!-- See http://developer.yahoo.com/yui/grids/ for info on the grid layout --> | |
| 6 | + <title>Local Timeline Example</title> | |
| 7 | + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> | |
| 8 | + | |
| 9 | + <!-- See http://developer.yahoo.com/yui/ for info on the reset, font and base css --> | |
| 10 | + <link rel="stylesheet" href="http://yui.yahooapis.com/2.7.0/build/reset-fonts-grids/reset-fonts-grids.css" type="text/css"> | |
| 11 | + <link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.7.0/build/base/base-min.css"> | |
| 12 | + | |
| 13 | + <!-- Load the Timeline library after reseting the fonts, etc --> | |
| 14 | + <script src="http://static.simile.mit.edu/timeline/api-2.3.0/timeline-api.js?bundle=true" type="text/javascript"></script> | |
| 15 | + | |
| 16 | + <link rel="stylesheet" href="local_example.css" type="text/css"> | |
| 17 | + | |
| 18 | + <!-- Since we don't have our own server, we do something tricky and load our data here as if it were a library file --> | |
| 19 | + <script src="local_data.js" type="text/javascript"></script> | |
| 20 | + | |
| 21 | + <script> | |
| 22 | + var tl; | |
| 23 | + function onLoad() { | |
| 24 | + var tl_el = document.getElementById("tl"); | |
| 25 | + var eventSource1 = new Timeline.DefaultEventSource(); | |
| 26 | + | |
| 27 | + var theme1 = Timeline.ClassicTheme.create(); | |
| 28 | + theme1.autoWidth = true; // Set the Timeline's "width" automatically. | |
| 29 | + // Set autoWidth on the Timeline's first band's theme, | |
| 30 | + // will affect all bands. | |
| 31 | + theme1.timeline_start = new Date(Date.UTC(1890, 0, 1)); | |
| 32 | + theme1.timeline_stop = new Date(Date.UTC(2160, 0, 1)); | |
| 33 | + | |
| 34 | + var d = Timeline.DateTime.parseGregorianDateTime("1900") | |
| 35 | + var bandInfos = [ | |
| 36 | + Timeline.createBandInfo({ | |
| 37 | + width: 45, // set to a minimum, autoWidth will then adjust | |
| 38 | + intervalUnit: Timeline.DateTime.DECADE, | |
| 39 | + intervalPixels: 200, | |
| 40 | + eventSource: eventSource1, | |
| 41 | + date: d, | |
| 42 | + theme: theme1, | |
| 43 | + layout: 'original' // original, overview, detailed | |
| 44 | + }) | |
| 45 | + ]; | |
| 46 | + | |
| 47 | + // create the Timeline | |
| 48 | + tl = Timeline.create(tl_el, bandInfos, Timeline.HORIZONTAL); | |
| 49 | + | |
| 50 | + var url = '.'; // The base url for image, icon and background image | |
| 51 | + // references in the data | |
| 52 | + eventSource1.loadJSON(timeline_data, url); // The data was stored into the | |
| 53 | + // timeline_data variable. | |
| 54 | + tl.layout(); // display the Timeline | |
| 55 | + } | |
| 56 | + | |
| 57 | + var resizeTimerID = null; | |
| 58 | + function onResize() { | |
| 59 | + if (resizeTimerID == null) { | |
| 60 | + resizeTimerID = window.setTimeout(function() { | |
| 61 | + resizeTimerID = null; | |
| 62 | + tl.layout(); | |
| 63 | + }, 500); | |
| 64 | + } | |
| 65 | + } | |
| 66 | + </script> | |
| 67 | + | |
| 68 | +</head> | |
| 69 | +<body onload="onLoad();" onresize="onResize();"> | |
| 70 | +<div id="doc3" class="yui-t7"> | |
| 71 | + <div id="hd" role="banner"> | |
| 72 | + <h1>Local Timeline Example</h1> | |
| 73 | + <p>This example reads a local data file from the disk and displays it using the Simile Timeline library. The software library is retrieved from servers via the Internet.</p> | |
| 74 | + <p>The Timeline will grow automatically to fit the events. Scroll towards 2030 to see it grow. Click on an event to see its details.</p> | |
| 75 | + </div> | |
| 76 | + <div id="bd" role="main"> | |
| 77 | + <div class="yui-g"> | |
| 78 | + <div id='tl'></div> | |
| 79 | + <p>To move the Timeline: use the mouse scroll wheel, the arrow keys or grab and drag the Timeline.</p> | |
| 80 | + </div> | |
| 81 | + </div> | |
| 82 | + <div id="ft" role="contentinfo"> | |
| 83 | + <p>Thanks to the <a href=''>Simile Timeline project</a> Timeline version <span id='tl_ver'></span></p> | |
| 84 | + <script>Timeline.writeVersion('tl_ver')</script> | |
| 85 | + </div> | |
| 86 | +</div> | |
| 87 | + | |
| 88 | +</body> | |
| 89 | +</html> | |
| 90 | + | |
| 91 | + | ... | ... |