From 438912c0c4a4075a5cd74cf9689451c9df4bbe34 Mon Sep 17 00:00:00 2001 From: Alib Date: Mon, 15 Mar 2010 17:56:22 +0100 Subject: New Jquery branch. Initial development version for istreamdev 1.0 --- themes/.svn/all-wcprops | 5 + themes/.svn/entries | 34 + themes/apple/.svn/all-wcprops | 11 + themes/apple/.svn/entries | 65 ++ themes/apple/.svn/text-base/theme.css.svn-base | 727 +++++++++++++++++++++ themes/apple/img/.svn/all-wcprops | 119 ++++ themes/apple/img/.svn/entries | 674 +++++++++++++++++++ .../img/.svn/prop-base/actionButton.png.svn-base | 5 + .../img/.svn/prop-base/backButton.png.svn-base | 5 + .../apple/img/.svn/prop-base/cancel.png.svn-base | 5 + .../apple/img/.svn/prop-base/chevron.png.svn-base | 5 + .../img/.svn/prop-base/grayButton.png.svn-base | 5 + .../img/.svn/prop-base/greenButton.png.svn-base | 5 + .../img/.svn/prop-base/listArrowSel.png.svn-base | 5 + .../img/.svn/prop-base/listGroup.png.svn-base | 5 + .../apple/img/.svn/prop-base/loading.gif.svn-base | 5 + .../apple/img/.svn/prop-base/on_off.png.svn-base | 5 + .../img/.svn/prop-base/pinstripes.png.svn-base | 5 + .../img/.svn/prop-base/redButton.png.svn-base | 5 + .../img/.svn/prop-base/selection.png.svn-base | 5 + themes/apple/img/.svn/prop-base/thumb.png.svn-base | 5 + .../apple/img/.svn/prop-base/toggle.png.svn-base | 5 + .../apple/img/.svn/prop-base/toggleOn.png.svn-base | 5 + .../img/.svn/prop-base/toolButton.png.svn-base | 5 + .../apple/img/.svn/prop-base/toolbar.png.svn-base | 5 + .../img/.svn/prop-base/whiteButton.png.svn-base | 5 + .../img/.svn/text-base/actionButton.png.svn-base | Bin 0 -> 517 bytes .../img/.svn/text-base/backButton.png.svn-base | Bin 0 -> 783 bytes .../apple/img/.svn/text-base/cancel.png.svn-base | Bin 0 -> 362 bytes .../apple/img/.svn/text-base/chevron.png.svn-base | Bin 0 -> 259 bytes .../img/.svn/text-base/grayButton.png.svn-base | Bin 0 -> 943 bytes .../img/.svn/text-base/greenButton.png.svn-base | Bin 0 -> 1935 bytes .../img/.svn/text-base/listArrowSel.png.svn-base | Bin 0 -> 308 bytes .../img/.svn/text-base/listGroup.png.svn-base | Bin 0 -> 2863 bytes .../apple/img/.svn/text-base/loading.gif.svn-base | Bin 0 -> 1435 bytes .../apple/img/.svn/text-base/on_off.png.svn-base | Bin 0 -> 2634 bytes .../img/.svn/text-base/pinstripes.png.svn-base | Bin 0 -> 117 bytes .../img/.svn/text-base/redButton.png.svn-base | Bin 0 -> 1927 bytes .../img/.svn/text-base/selection.png.svn-base | Bin 0 -> 159 bytes themes/apple/img/.svn/text-base/thumb.png.svn-base | Bin 0 -> 2834 bytes .../apple/img/.svn/text-base/toggle.png.svn-base | Bin 0 -> 2815 bytes .../apple/img/.svn/text-base/toggleOn.png.svn-base | Bin 0 -> 163 bytes .../img/.svn/text-base/toolButton.png.svn-base | Bin 0 -> 521 bytes .../apple/img/.svn/text-base/toolbar.png.svn-base | Bin 0 -> 168 bytes .../img/.svn/text-base/whiteButton.png.svn-base | Bin 0 -> 978 bytes themes/apple/img/actionButton.png | Bin 0 -> 517 bytes themes/apple/img/backButton.png | Bin 0 -> 783 bytes themes/apple/img/blueButton.png | Bin 0 -> 517 bytes themes/apple/img/cancel.png | Bin 0 -> 362 bytes themes/apple/img/chevron.png | Bin 0 -> 259 bytes themes/apple/img/grayButton.png | Bin 0 -> 943 bytes themes/apple/img/greenButton.png | Bin 0 -> 1935 bytes themes/apple/img/listArrowSel.png | Bin 0 -> 308 bytes themes/apple/img/listGroup.png | Bin 0 -> 2863 bytes themes/apple/img/loading.gif | Bin 0 -> 1435 bytes themes/apple/img/on_off.png | Bin 0 -> 2634 bytes themes/apple/img/pinstripes.png | Bin 0 -> 117 bytes themes/apple/img/redButton.png | Bin 0 -> 1927 bytes themes/apple/img/selection.png | Bin 0 -> 159 bytes themes/apple/img/thumb.png | Bin 0 -> 2834 bytes themes/apple/img/toggle.png | Bin 0 -> 2815 bytes themes/apple/img/toggleOn.png | Bin 0 -> 163 bytes themes/apple/img/toolButton.png | Bin 0 -> 521 bytes themes/apple/img/toolbar.png | Bin 0 -> 168 bytes themes/apple/img/whiteButton.png | Bin 0 -> 978 bytes themes/apple/theme.css | 727 +++++++++++++++++++++ themes/apple/theme.min.css | 1 + themes/bin/backend.php | 129 ++++ themes/bin/textfiles/addTimer.txt | 1 + themes/bin/textfiles/browseAudio.txt | 21 + themes/bin/textfiles/browseFolder-rec.txt | 22 + themes/bin/textfiles/browseFolder-vid.txt | 20 + themes/bin/textfiles/delTimer.txt | 1 + themes/bin/textfiles/editTimer.txt | 1 + themes/bin/textfiles/getChanInfo.txt | 14 + themes/bin/textfiles/getFullChanList.txt | 34 + themes/bin/textfiles/getGlobals.txt | 6 + themes/bin/textfiles/getRecInfo.txt | 10 + themes/bin/textfiles/getStreamInfo-1.txt | 17 + themes/bin/textfiles/getStreamInfo-2.txt | 16 + themes/bin/textfiles/getStreamInfo-3.txt | 17 + themes/bin/textfiles/getStreamStatus.txt | 1 + themes/bin/textfiles/getTimers.txt | 38 ++ themes/bin/textfiles/getTvCat.txt | 16 + themes/bin/textfiles/getTvChan.txt | 19 + themes/bin/textfiles/getVidInfo.txt | 13 + themes/bin/textfiles/startBroadcast-rec.txt | 2 + themes/bin/textfiles/startBroadcast-tv.txt | 2 + themes/bin/textfiles/startBroadcast-vid.txt | 2 + themes/bin/textfiles/stopBroadcast.txt | 1 + themes/bin/textfiles/streamAudio.txt | 14 + themes/css/istreamdev.css | 316 +++++++++ themes/css/spinningwheel.css | 96 +++ themes/extensions/.svn/all-wcprops | 29 + themes/extensions/.svn/entries | 164 +++++ .../.svn/text-base/jqt.autotitles.js.svn-base | 51 ++ .../.svn/text-base/jqt.floaty.js.svn-base | 92 +++ .../.svn/text-base/jqt.location.js.svn-base | 68 ++ .../.svn/text-base/jqt.offline.js.svn-base | 97 +++ themes/extensions/jqt.autotitles.js | 51 ++ themes/extensions/jqt.floaty.js | 92 +++ themes/extensions/jqt.location.js | 68 ++ themes/extensions/jqt.offline.js | 97 +++ themes/extensions/jquery.blockUI.js | 477 ++++++++++++++ themes/extensions/jquery.httpstream.js | 161 +++++ themes/extensions/jquery.scrollTo-min.js | 11 + themes/extensions/jquery.scrollTo.js | 215 ++++++ themes/getstatus.php.bak | 30 + themes/img/audio.png | Bin 0 -> 858 bytes themes/img/epg.png | Bin 0 -> 927 bytes themes/img/istreamdev.png | Bin 0 -> 7468 bytes themes/img/loading.gif | Bin 0 -> 7100 bytes themes/img/mask-55.png | Bin 0 -> 326 bytes themes/img/mask.png | Bin 0 -> 547 bytes themes/img/media.png | Bin 0 -> 997 bytes themes/img/nologoMEDIA.png | Bin 0 -> 1377 bytes themes/img/nologoREC.png | Bin 0 -> 958 bytes themes/img/nologoTV.png | Bin 0 -> 990 bytes themes/img/rec.png | Bin 0 -> 4528 bytes themes/img/rec_clicked.png | Bin 0 -> 1895 bytes themes/img/record.png | Bin 0 -> 930 bytes themes/img/startup.png | Bin 0 -> 22107 bytes themes/img/stream.png | Bin 0 -> 1576 bytes themes/img/stream_clicked.png | Bin 0 -> 1089 bytes themes/img/sw-alpha.png | Bin 0 -> 2249 bytes themes/img/sw-button-cancel.png | Bin 0 -> 538 bytes themes/img/sw-button-done.png | Bin 0 -> 767 bytes themes/img/sw-header.png | Bin 0 -> 682 bytes themes/img/sw-slot-border.png | Bin 0 -> 126 bytes themes/img/timeroff.png | Bin 0 -> 976 bytes themes/img/timeron.png | Bin 0 -> 974 bytes themes/img/timerrec.png | Bin 0 -> 1185 bytes themes/img/timers.png | Bin 0 -> 913 bytes themes/img/tv.png | Bin 0 -> 922 bytes themes/img/video.png | Bin 0 -> 935 bytes themes/index.html | 244 +++++++ themes/indexfake.html | 551 ++++++++++++++++ themes/istreamdev.manifest | 36 + themes/jqt/.svn/all-wcprops | 11 + themes/jqt/.svn/entries | 65 ++ themes/jqt/.svn/text-base/theme.css.svn-base | 561 ++++++++++++++++ themes/jqt/img/.svn/all-wcprops | 113 ++++ themes/jqt/img/.svn/entries | 640 ++++++++++++++++++ .../img/.svn/prop-base/activeButton.png.svn-base | 5 + .../img/.svn/prop-base/back_button.png.svn-base | 5 + .../prop-base/back_button_clicked.png.svn-base | 5 + .../jqt/img/.svn/prop-base/blueButton.png.svn-base | 5 + themes/jqt/img/.svn/prop-base/button.png.svn-base | 5 + .../img/.svn/prop-base/button_clicked.png.svn-base | 5 + themes/jqt/img/.svn/prop-base/chevron.png.svn-base | 5 + .../img/.svn/prop-base/chevron_circle.png.svn-base | 5 + .../jqt/img/.svn/prop-base/grayButton.png.svn-base | 5 + .../img/.svn/prop-base/greenButton.png.svn-base | 5 + themes/jqt/img/.svn/prop-base/loading.gif.svn-base | 5 + themes/jqt/img/.svn/prop-base/on_off.png.svn-base | 5 + .../jqt/img/.svn/prop-base/redButton.png.svn-base | 5 + themes/jqt/img/.svn/prop-base/rowhead.png.svn-base | 5 + themes/jqt/img/.svn/prop-base/toggle.png.svn-base | 5 + .../jqt/img/.svn/prop-base/toggleOn.png.svn-base | 5 + themes/jqt/img/.svn/prop-base/toolbar.png.svn-base | 5 + .../img/.svn/prop-base/whiteButton.png.svn-base | 5 + .../img/.svn/text-base/activeButton.png.svn-base | Bin 0 -> 1827 bytes .../img/.svn/text-base/back_button.png.svn-base | Bin 0 -> 3756 bytes .../text-base/back_button_clicked.png.svn-base | Bin 0 -> 3741 bytes .../jqt/img/.svn/text-base/blueButton.png.svn-base | Bin 0 -> 1979 bytes themes/jqt/img/.svn/text-base/button.png.svn-base | Bin 0 -> 3315 bytes .../img/.svn/text-base/button_clicked.png.svn-base | Bin 0 -> 3283 bytes themes/jqt/img/.svn/text-base/chevron.png.svn-base | Bin 0 -> 3074 bytes .../img/.svn/text-base/chevron_circle.png.svn-base | Bin 0 -> 1243 bytes .../jqt/img/.svn/text-base/grayButton.png.svn-base | Bin 0 -> 943 bytes .../img/.svn/text-base/greenButton.png.svn-base | Bin 0 -> 1935 bytes themes/jqt/img/.svn/text-base/loading.gif.svn-base | Bin 0 -> 2536 bytes themes/jqt/img/.svn/text-base/on_off.png.svn-base | Bin 0 -> 2496 bytes .../jqt/img/.svn/text-base/redButton.png.svn-base | Bin 0 -> 1927 bytes themes/jqt/img/.svn/text-base/rowhead.png.svn-base | Bin 0 -> 171 bytes themes/jqt/img/.svn/text-base/toggle.png.svn-base | Bin 0 -> 2815 bytes .../jqt/img/.svn/text-base/toggleOn.png.svn-base | Bin 0 -> 163 bytes themes/jqt/img/.svn/text-base/toolbar.png.svn-base | Bin 0 -> 805 bytes .../img/.svn/text-base/whiteButton.png.svn-base | Bin 0 -> 978 bytes themes/jqt/img/activeButton.png | Bin 0 -> 1827 bytes themes/jqt/img/back_button.png | Bin 0 -> 3756 bytes themes/jqt/img/back_button_clicked.png | Bin 0 -> 3741 bytes themes/jqt/img/blueButton.png | Bin 0 -> 1979 bytes themes/jqt/img/button.png | Bin 0 -> 3315 bytes themes/jqt/img/button_clicked.png | Bin 0 -> 3283 bytes themes/jqt/img/chevron.png | Bin 0 -> 3074 bytes themes/jqt/img/chevron_circle.png | Bin 0 -> 1243 bytes themes/jqt/img/grayButton.png | Bin 0 -> 943 bytes themes/jqt/img/greenButton.png | Bin 0 -> 1935 bytes themes/jqt/img/loading.gif | Bin 0 -> 2536 bytes themes/jqt/img/on_off.png | Bin 0 -> 5235 bytes themes/jqt/img/redButton.png | Bin 0 -> 1927 bytes themes/jqt/img/rowhead.png | Bin 0 -> 171 bytes themes/jqt/img/toggle.png | Bin 0 -> 2815 bytes themes/jqt/img/toggleOn.png | Bin 0 -> 163 bytes themes/jqt/img/toolbar.png | Bin 0 -> 805 bytes themes/jqt/img/whiteButton.png | Bin 0 -> 978 bytes themes/jqt/theme.css | 561 ++++++++++++++++ themes/jqt/theme.min.css | 1 + themes/jqtouch/.svn/all-wcprops | 29 + themes/jqtouch/.svn/entries | 164 +++++ themes/jqtouch/.svn/prop-base/jqtouch.css.svn-base | 13 + themes/jqtouch/.svn/prop-base/jqtouch.js.svn-base | 13 + .../.svn/prop-base/jquery.1.3.2.min.js.svn-base | 13 + themes/jqtouch/.svn/text-base/jqtouch.css.svn-base | 373 +++++++++++ themes/jqtouch/.svn/text-base/jqtouch.js.svn-base | 624 ++++++++++++++++++ .../.svn/text-base/jqtouch.transitions.js.svn-base | 60 ++ .../.svn/text-base/jquery.1.3.2.min.js.svn-base | 19 + themes/jqtouch/jqtouch.css | 373 +++++++++++ themes/jqtouch/jqtouch.js | 624 ++++++++++++++++++ themes/jqtouch/jqtouch.min.css | 1 + themes/jqtouch/jqtouch.min.js | 1 + themes/jqtouch/jqtouch.transitions.js | 60 ++ themes/jqtouch/jquery.1.3.2.min.js | 19 + themes/js/functions.js | 112 ++++ themes/js/istreamdev.js | 676 +++++++++++++++++++ themes/js/spinningwheel-min.js | 1 + themes/js/spinningwheel.js | 492 ++++++++++++++ themes/logos/FRANCE 2.png | Bin 0 -> 3490 bytes themes/logos/FRANCE 3.png | Bin 0 -> 3382 bytes themes/logos/TF1.png | Bin 0 -> 1809 bytes themes/ram/session1/stream.m3u8 | 2 + themes/ram/session1/thumb.png | Bin 0 -> 1809 bytes themes/ram/session2/stream.m3u8 | 2 + themes/ram/session2/thumb.png | Bin 0 -> 1809 bytes themes/ram/session3/stream.m3u8 | 2 + themes/ram/session3/thumb.png | Bin 0 -> 6123 bytes themes/ram/temp-logo.png | Bin 0 -> 6123 bytes 228 files changed, 11536 insertions(+) create mode 100644 themes/.svn/all-wcprops create mode 100644 themes/.svn/entries create mode 100644 themes/apple/.svn/all-wcprops create mode 100644 themes/apple/.svn/entries create mode 100644 themes/apple/.svn/text-base/theme.css.svn-base create mode 100644 themes/apple/img/.svn/all-wcprops create mode 100644 themes/apple/img/.svn/entries create mode 100644 themes/apple/img/.svn/prop-base/actionButton.png.svn-base create mode 100644 themes/apple/img/.svn/prop-base/backButton.png.svn-base create mode 100644 themes/apple/img/.svn/prop-base/cancel.png.svn-base create mode 100644 themes/apple/img/.svn/prop-base/chevron.png.svn-base create mode 100644 themes/apple/img/.svn/prop-base/grayButton.png.svn-base create mode 100644 themes/apple/img/.svn/prop-base/greenButton.png.svn-base create mode 100644 themes/apple/img/.svn/prop-base/listArrowSel.png.svn-base create mode 100644 themes/apple/img/.svn/prop-base/listGroup.png.svn-base create mode 100644 themes/apple/img/.svn/prop-base/loading.gif.svn-base create mode 100644 themes/apple/img/.svn/prop-base/on_off.png.svn-base create mode 100644 themes/apple/img/.svn/prop-base/pinstripes.png.svn-base create mode 100644 themes/apple/img/.svn/prop-base/redButton.png.svn-base create mode 100644 themes/apple/img/.svn/prop-base/selection.png.svn-base create mode 100644 themes/apple/img/.svn/prop-base/thumb.png.svn-base create mode 100644 themes/apple/img/.svn/prop-base/toggle.png.svn-base create mode 100644 themes/apple/img/.svn/prop-base/toggleOn.png.svn-base create mode 100644 themes/apple/img/.svn/prop-base/toolButton.png.svn-base create mode 100644 themes/apple/img/.svn/prop-base/toolbar.png.svn-base create mode 100644 themes/apple/img/.svn/prop-base/whiteButton.png.svn-base create mode 100644 themes/apple/img/.svn/text-base/actionButton.png.svn-base create mode 100644 themes/apple/img/.svn/text-base/backButton.png.svn-base create mode 100644 themes/apple/img/.svn/text-base/cancel.png.svn-base create mode 100644 themes/apple/img/.svn/text-base/chevron.png.svn-base create mode 100644 themes/apple/img/.svn/text-base/grayButton.png.svn-base create mode 100644 themes/apple/img/.svn/text-base/greenButton.png.svn-base create mode 100644 themes/apple/img/.svn/text-base/listArrowSel.png.svn-base create mode 100644 themes/apple/img/.svn/text-base/listGroup.png.svn-base create mode 100644 themes/apple/img/.svn/text-base/loading.gif.svn-base create mode 100644 themes/apple/img/.svn/text-base/on_off.png.svn-base create mode 100644 themes/apple/img/.svn/text-base/pinstripes.png.svn-base create mode 100644 themes/apple/img/.svn/text-base/redButton.png.svn-base create mode 100644 themes/apple/img/.svn/text-base/selection.png.svn-base create mode 100644 themes/apple/img/.svn/text-base/thumb.png.svn-base create mode 100644 themes/apple/img/.svn/text-base/toggle.png.svn-base create mode 100644 themes/apple/img/.svn/text-base/toggleOn.png.svn-base create mode 100644 themes/apple/img/.svn/text-base/toolButton.png.svn-base create mode 100644 themes/apple/img/.svn/text-base/toolbar.png.svn-base create mode 100644 themes/apple/img/.svn/text-base/whiteButton.png.svn-base create mode 100644 themes/apple/img/actionButton.png create mode 100644 themes/apple/img/backButton.png create mode 100644 themes/apple/img/blueButton.png create mode 100644 themes/apple/img/cancel.png create mode 100644 themes/apple/img/chevron.png create mode 100644 themes/apple/img/grayButton.png create mode 100644 themes/apple/img/greenButton.png create mode 100644 themes/apple/img/listArrowSel.png create mode 100644 themes/apple/img/listGroup.png create mode 100644 themes/apple/img/loading.gif create mode 100644 themes/apple/img/on_off.png create mode 100644 themes/apple/img/pinstripes.png create mode 100644 themes/apple/img/redButton.png create mode 100644 themes/apple/img/selection.png create mode 100644 themes/apple/img/thumb.png create mode 100644 themes/apple/img/toggle.png create mode 100644 themes/apple/img/toggleOn.png create mode 100644 themes/apple/img/toolButton.png create mode 100644 themes/apple/img/toolbar.png create mode 100644 themes/apple/img/whiteButton.png create mode 100644 themes/apple/theme.css create mode 100644 themes/apple/theme.min.css create mode 100644 themes/bin/backend.php create mode 100644 themes/bin/textfiles/addTimer.txt create mode 100644 themes/bin/textfiles/browseAudio.txt create mode 100644 themes/bin/textfiles/browseFolder-rec.txt create mode 100644 themes/bin/textfiles/browseFolder-vid.txt create mode 100644 themes/bin/textfiles/delTimer.txt create mode 100644 themes/bin/textfiles/editTimer.txt create mode 100644 themes/bin/textfiles/getChanInfo.txt create mode 100644 themes/bin/textfiles/getFullChanList.txt create mode 100644 themes/bin/textfiles/getGlobals.txt create mode 100644 themes/bin/textfiles/getRecInfo.txt create mode 100644 themes/bin/textfiles/getStreamInfo-1.txt create mode 100644 themes/bin/textfiles/getStreamInfo-2.txt create mode 100644 themes/bin/textfiles/getStreamInfo-3.txt create mode 100644 themes/bin/textfiles/getStreamStatus.txt create mode 100644 themes/bin/textfiles/getTimers.txt create mode 100644 themes/bin/textfiles/getTvCat.txt create mode 100644 themes/bin/textfiles/getTvChan.txt create mode 100644 themes/bin/textfiles/getVidInfo.txt create mode 100644 themes/bin/textfiles/startBroadcast-rec.txt create mode 100644 themes/bin/textfiles/startBroadcast-tv.txt create mode 100644 themes/bin/textfiles/startBroadcast-vid.txt create mode 100644 themes/bin/textfiles/stopBroadcast.txt create mode 100644 themes/bin/textfiles/streamAudio.txt create mode 100644 themes/css/istreamdev.css create mode 100644 themes/css/spinningwheel.css create mode 100644 themes/extensions/.svn/all-wcprops create mode 100644 themes/extensions/.svn/entries create mode 100644 themes/extensions/.svn/text-base/jqt.autotitles.js.svn-base create mode 100644 themes/extensions/.svn/text-base/jqt.floaty.js.svn-base create mode 100644 themes/extensions/.svn/text-base/jqt.location.js.svn-base create mode 100644 themes/extensions/.svn/text-base/jqt.offline.js.svn-base create mode 100644 themes/extensions/jqt.autotitles.js create mode 100644 themes/extensions/jqt.floaty.js create mode 100644 themes/extensions/jqt.location.js create mode 100644 themes/extensions/jqt.offline.js create mode 100644 themes/extensions/jquery.blockUI.js create mode 100644 themes/extensions/jquery.httpstream.js create mode 100644 themes/extensions/jquery.scrollTo-min.js create mode 100644 themes/extensions/jquery.scrollTo.js create mode 100755 themes/getstatus.php.bak create mode 100644 themes/img/audio.png create mode 100644 themes/img/epg.png create mode 100644 themes/img/istreamdev.png create mode 100644 themes/img/loading.gif create mode 100644 themes/img/mask-55.png create mode 100644 themes/img/mask.png create mode 100644 themes/img/media.png create mode 100644 themes/img/nologoMEDIA.png create mode 100644 themes/img/nologoREC.png create mode 100644 themes/img/nologoTV.png create mode 100644 themes/img/rec.png create mode 100644 themes/img/rec_clicked.png create mode 100644 themes/img/record.png create mode 100644 themes/img/startup.png create mode 100644 themes/img/stream.png create mode 100644 themes/img/stream_clicked.png create mode 100644 themes/img/sw-alpha.png create mode 100644 themes/img/sw-button-cancel.png create mode 100644 themes/img/sw-button-done.png create mode 100644 themes/img/sw-header.png create mode 100644 themes/img/sw-slot-border.png create mode 100644 themes/img/timeroff.png create mode 100644 themes/img/timeron.png create mode 100644 themes/img/timerrec.png create mode 100644 themes/img/timers.png create mode 100644 themes/img/tv.png create mode 100644 themes/img/video.png create mode 100644 themes/index.html create mode 100644 themes/indexfake.html create mode 100644 themes/istreamdev.manifest create mode 100644 themes/jqt/.svn/all-wcprops create mode 100644 themes/jqt/.svn/entries create mode 100644 themes/jqt/.svn/text-base/theme.css.svn-base create mode 100644 themes/jqt/img/.svn/all-wcprops create mode 100644 themes/jqt/img/.svn/entries create mode 100644 themes/jqt/img/.svn/prop-base/activeButton.png.svn-base create mode 100644 themes/jqt/img/.svn/prop-base/back_button.png.svn-base create mode 100644 themes/jqt/img/.svn/prop-base/back_button_clicked.png.svn-base create mode 100644 themes/jqt/img/.svn/prop-base/blueButton.png.svn-base create mode 100644 themes/jqt/img/.svn/prop-base/button.png.svn-base create mode 100644 themes/jqt/img/.svn/prop-base/button_clicked.png.svn-base create mode 100644 themes/jqt/img/.svn/prop-base/chevron.png.svn-base create mode 100644 themes/jqt/img/.svn/prop-base/chevron_circle.png.svn-base create mode 100644 themes/jqt/img/.svn/prop-base/grayButton.png.svn-base create mode 100644 themes/jqt/img/.svn/prop-base/greenButton.png.svn-base create mode 100644 themes/jqt/img/.svn/prop-base/loading.gif.svn-base create mode 100644 themes/jqt/img/.svn/prop-base/on_off.png.svn-base create mode 100644 themes/jqt/img/.svn/prop-base/redButton.png.svn-base create mode 100644 themes/jqt/img/.svn/prop-base/rowhead.png.svn-base create mode 100644 themes/jqt/img/.svn/prop-base/toggle.png.svn-base create mode 100644 themes/jqt/img/.svn/prop-base/toggleOn.png.svn-base create mode 100644 themes/jqt/img/.svn/prop-base/toolbar.png.svn-base create mode 100644 themes/jqt/img/.svn/prop-base/whiteButton.png.svn-base create mode 100644 themes/jqt/img/.svn/text-base/activeButton.png.svn-base create mode 100644 themes/jqt/img/.svn/text-base/back_button.png.svn-base create mode 100644 themes/jqt/img/.svn/text-base/back_button_clicked.png.svn-base create mode 100644 themes/jqt/img/.svn/text-base/blueButton.png.svn-base create mode 100644 themes/jqt/img/.svn/text-base/button.png.svn-base create mode 100644 themes/jqt/img/.svn/text-base/button_clicked.png.svn-base create mode 100644 themes/jqt/img/.svn/text-base/chevron.png.svn-base create mode 100644 themes/jqt/img/.svn/text-base/chevron_circle.png.svn-base create mode 100644 themes/jqt/img/.svn/text-base/grayButton.png.svn-base create mode 100644 themes/jqt/img/.svn/text-base/greenButton.png.svn-base create mode 100644 themes/jqt/img/.svn/text-base/loading.gif.svn-base create mode 100644 themes/jqt/img/.svn/text-base/on_off.png.svn-base create mode 100644 themes/jqt/img/.svn/text-base/redButton.png.svn-base create mode 100644 themes/jqt/img/.svn/text-base/rowhead.png.svn-base create mode 100644 themes/jqt/img/.svn/text-base/toggle.png.svn-base create mode 100644 themes/jqt/img/.svn/text-base/toggleOn.png.svn-base create mode 100644 themes/jqt/img/.svn/text-base/toolbar.png.svn-base create mode 100644 themes/jqt/img/.svn/text-base/whiteButton.png.svn-base create mode 100644 themes/jqt/img/activeButton.png create mode 100644 themes/jqt/img/back_button.png create mode 100644 themes/jqt/img/back_button_clicked.png create mode 100644 themes/jqt/img/blueButton.png create mode 100644 themes/jqt/img/button.png create mode 100644 themes/jqt/img/button_clicked.png create mode 100644 themes/jqt/img/chevron.png create mode 100644 themes/jqt/img/chevron_circle.png create mode 100644 themes/jqt/img/grayButton.png create mode 100644 themes/jqt/img/greenButton.png create mode 100644 themes/jqt/img/loading.gif create mode 100644 themes/jqt/img/on_off.png create mode 100644 themes/jqt/img/redButton.png create mode 100644 themes/jqt/img/rowhead.png create mode 100644 themes/jqt/img/toggle.png create mode 100644 themes/jqt/img/toggleOn.png create mode 100644 themes/jqt/img/toolbar.png create mode 100644 themes/jqt/img/whiteButton.png create mode 100644 themes/jqt/theme.css create mode 100644 themes/jqt/theme.min.css create mode 100644 themes/jqtouch/.svn/all-wcprops create mode 100644 themes/jqtouch/.svn/entries create mode 100644 themes/jqtouch/.svn/prop-base/jqtouch.css.svn-base create mode 100644 themes/jqtouch/.svn/prop-base/jqtouch.js.svn-base create mode 100644 themes/jqtouch/.svn/prop-base/jquery.1.3.2.min.js.svn-base create mode 100644 themes/jqtouch/.svn/text-base/jqtouch.css.svn-base create mode 100644 themes/jqtouch/.svn/text-base/jqtouch.js.svn-base create mode 100644 themes/jqtouch/.svn/text-base/jqtouch.transitions.js.svn-base create mode 100644 themes/jqtouch/.svn/text-base/jquery.1.3.2.min.js.svn-base create mode 100644 themes/jqtouch/jqtouch.css create mode 100644 themes/jqtouch/jqtouch.js create mode 100644 themes/jqtouch/jqtouch.min.css create mode 100644 themes/jqtouch/jqtouch.min.js create mode 100644 themes/jqtouch/jqtouch.transitions.js create mode 100644 themes/jqtouch/jquery.1.3.2.min.js create mode 100644 themes/js/functions.js create mode 100644 themes/js/istreamdev.js create mode 100644 themes/js/spinningwheel-min.js create mode 100644 themes/js/spinningwheel.js create mode 100644 themes/logos/FRANCE 2.png create mode 100644 themes/logos/FRANCE 3.png create mode 100644 themes/logos/TF1.png create mode 100644 themes/ram/session1/stream.m3u8 create mode 100644 themes/ram/session1/thumb.png create mode 100644 themes/ram/session2/stream.m3u8 create mode 100644 themes/ram/session2/thumb.png create mode 100644 themes/ram/session3/stream.m3u8 create mode 100755 themes/ram/session3/thumb.png create mode 100755 themes/ram/temp-logo.png (limited to 'themes') diff --git a/themes/.svn/all-wcprops b/themes/.svn/all-wcprops new file mode 100644 index 0000000..4e643fd --- /dev/null +++ b/themes/.svn/all-wcprops @@ -0,0 +1,5 @@ +K 25 +svn:wc:ra_dav:version-url +V 30 +/svn/!svn/ver/133/trunk/themes +END diff --git a/themes/.svn/entries b/themes/.svn/entries new file mode 100644 index 0000000..8dd097d --- /dev/null +++ b/themes/.svn/entries @@ -0,0 +1,34 @@ +10 + +dir +133 +http://jqtouch.googlecode.com/svn/trunk/themes +http://jqtouch.googlecode.com/svn + + + +2010-01-15T21:08:54.001495Z +133 +RBoulanouar + + + + + + + + + + + + + + +210952ee-217a-11de-8f7e-2b794b28c5cd + +apple +dir + +jqt +dir + diff --git a/themes/apple/.svn/all-wcprops b/themes/apple/.svn/all-wcprops new file mode 100644 index 0000000..e9ce505 --- /dev/null +++ b/themes/apple/.svn/all-wcprops @@ -0,0 +1,11 @@ +K 25 +svn:wc:ra_dav:version-url +V 36 +/svn/!svn/ver/133/trunk/themes/apple +END +theme.css +K 25 +svn:wc:ra_dav:version-url +V 46 +/svn/!svn/ver/133/trunk/themes/apple/theme.css +END diff --git a/themes/apple/.svn/entries b/themes/apple/.svn/entries new file mode 100644 index 0000000..784f5ef --- /dev/null +++ b/themes/apple/.svn/entries @@ -0,0 +1,65 @@ +10 + +dir +133 +http://jqtouch.googlecode.com/svn/trunk/themes/apple +http://jqtouch.googlecode.com/svn + + + +2010-01-15T21:08:54.001495Z +133 +RBoulanouar + + + + + + + + + + + + + + +210952ee-217a-11de-8f7e-2b794b28c5cd + +theme.css +file + + + + +2010-03-04T14:47:56.243073Z +8c8fb5a689b7a0c55aca13d7a1643151 +2010-01-15T21:08:54.001495Z +133 +RBoulanouar + + + + + + + + + + + + + + + + + + + + + +14938 + +img +dir + diff --git a/themes/apple/.svn/text-base/theme.css.svn-base b/themes/apple/.svn/text-base/theme.css.svn-base new file mode 100644 index 0000000..dbbb4dc --- /dev/null +++ b/themes/apple/.svn/text-base/theme.css.svn-base @@ -0,0 +1,727 @@ +body, #jqt { + background: rgb(0,0,0); +} + +body > *, #jqt > * { + background: rgb(197,204,211) url(img/pinstripes.png); +} + +#jqt h1, #jqt h2 { + font: bold 18px "Helvetica Neue", Helvetica; + text-shadow: rgba(255,255,255,.2) 0 1px 1px; + color: rgb(76, 86, 108); + margin: 10px 20px 6px; +} + +/* @group Toolbar */ + +#jqt .toolbar { + -webkit-box-sizing: border-box; + border-bottom: 1px solid #2d3642; + padding: 10px; + height: 45px; + background: url(img/toolbar.png) #6d84a2 repeat-x; + position: relative; +} + +#jqt .black-translucent .toolbar { + margin-top: 20px; +} + +div#jqt .toolbar > h1 { + position: absolute; + overflow: hidden; + left: 50%; + top: 10px; + line-height: 1em; + margin: 1px 0 0 -75px; + height: 40px; + font-size: 20px; + width: 150px; + font-weight: bold; + text-shadow: rgba(0, 0, 0, 0.4) 0px -1px 0; + text-align: center; + text-overflow: ellipsis; + white-space: nowrap; + color: #fff; +} + +div#jqt.landscape .toolbar > h1 { + margin-left: -125px; + width: 250px; +} + +#jqt .button, #jqt .back, #jqt .cancel, #jqt .add { + position: absolute; + overflow: hidden; + top: 8px; + right: 6px; + margin: 0; + border-width: 0 5px; + padding: 0 3px; + width: auto; + height: 30px; + line-height: 30px; + font-family: inherit; + font-size: 12px; + font-weight: bold; + color: #fff; + text-shadow: rgba(0, 0, 0, 0.5) 0px -1px 0; + text-overflow: ellipsis; + text-decoration: none; + white-space: nowrap; + background: none; + -webkit-border-image: url(img/toolButton.png) 0 5 0 5; +} + +#jqt .button.active, #jqt .cancel.active, #jqt .add.active { + -webkit-border-image: url(img/toolButton.png) 0 5 0 5; +} + +#jqt .blueButton { + -webkit-border-image: url(img/actionButton.png) 0 5 0 5; + border-width: 0 5px; +} + +#jqt .back { + left: 6px; + right: auto; + padding: 0; + max-width: 55px; + border-width: 0 8px 0 14px; + -webkit-border-image: url(img/backButton.png) 0 8 0 14; +} + +#jqt .back.active { + -webkit-border-image: url(img/backButton.png) 0 8 0 14; +} + +#jqt .leftButton, #jqt .cancel { + left: 6px; + right: auto; +} + +#jqt .add { + font-size: 24px; + line-height: 24px; + font-weight: bold; +} + +#jqt .whiteButton, +#jqt .grayButton, #jqt .redButton, #jqt .blueButton, #jqt .greenButton { + display: block; + border-width: 0 12px; + padding: 10px; + text-align: center; + font-size: 20px; + font-weight: bold; + text-decoration: inherit; + color: inherit; +} + +#jqt .whiteButton.active, #jqt .grayButton.active, #jqt .redButton.active, #jqt .blueButton.active, #jqt .greenButton.active, +#jqt .whiteButton:active, #jqt .grayButton:active, #jqt .redButton:active, #jqt .blueButton:active, #jqt .greenButton:active { + -webkit-border-image: url(img/activeButton.png) 0 12 0 12; +} + +#jqt .whiteButton { + -webkit-border-image: url(img/whiteButton.png) 0 12 0 12; + text-shadow: rgba(255, 255, 255, 0.7) 0 1px 0; +} + +#jqt .grayButton { + -webkit-border-image: url(img/grayButton.png) 0 12 0 12; + color: #FFFFFF; +} + +#jqt .redButton { + -webkit-border-image: url(img/redButton.png) 0 12 0 12; + color: #FFFFFF; +} + +#jqt .greenButton { + -webkit-border-image: url(img/greenButton.png) 0 12 0 12; + color: #FFFFFF; +} + +/* @end */ + +/* @group Lists */ + +#jqt h1 + ul, #jqt h2 + ul, #jqt h3 + ul, #jqt h4 + ul, #jqt h5 + ul, #jqt h6 + ul { + margin-top: 0; +} + +#jqt ul { + color: black; + background: #fff; + border: 1px solid #B4B4B4; + font: bold 17px "Helvetica Neue", Helvetica; + padding: 0; + margin: 15px 10px 17px 10px; + -webkit-border-radius: 8px; +} + +#jqt ul li { + color: #666; + border-top: 1px solid #B4B4B4; + list-style-type: none; + padding: 10px 10px 10px 10px; +} + +/* when you have a first LI item on any list */ + +#jqt li:first-child, #jqt li:first-child a { + border-top: 0; + -webkit-border-top-left-radius: 8px; + -webkit-border-top-right-radius: 8px; +} + +#jqt li:last-child, #jqt li:last-child a { + -webkit-border-bottom-left-radius: 8px; + -webkit-border-bottom-right-radius: 8px; +} + +/* universal arrows */ + +#jqt ul li.arrow { + background-image: url(img/chevron.png); + background-position: right center; + background-repeat: no-repeat; +} + +#jqt ul li.arrow a { + padding: 12px 22px 12px 10px; +} + +#jqt #plastic ul li.arrow, #jqt #metal ul li.arrow { + background-image: url(../images/chevron_dg.png); + background-position: right center; + background-repeat: no-repeat; +} + +/* universal links on list */ + +#jqt ul li a, #jqt li.img a + a { + color: #000; + text-decoration: none; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + display: block; + padding: 12px 10px 12px 10px; + margin: -10px; + -webkit-tap-highlight-color: rgba(0,0,0,0); +} + +#jqt ul li a.active { + background: #194fdb url(img/selection.png) 0 0 repeat-x; + color: #fff; +} + +#jqt ul li a.button { + background-color: #194fdb; + color: #fff; +} + +#jqt ul li.img a + a { + margin: -10px 10px -20px -5px; + font-size: 17px; + font-weight: bold; +} + +#jqt ul li.img a + a + a { + font-size: 14px; + font-weight: normal; + margin-left: -10px; + margin-bottom: -10px; + margin-top: 0; +} + +#jqt ul li.img a + small + a { + margin-left: -5px; +} + +#jqt ul li.img a + small + a + a { + margin-left: -10px; + margin-top: -20px; + margin-bottom: -10px; + font-size: 14px; + font-weight: normal; +} + +#jqt ul li.img a + small + a + a + a { + margin-left: 0px !important; + margin-bottom: 0; +} + +#jqt ul li a + a { + color: #000; + font: 14px "Helvetica Neue", Helvetica; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + display: block; + margin: 0; + padding: 0; +} + +#jqt ul li a + a + a, #jqt ul li.img a + a + a + a, #jqt ul li.img a + small + a + a + a { + color: #666; + font: 13px "Helvetica Neue", Helvetica; + margin: 0; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + display: block; + padding: 0; +} + +/* +@end */ + +/* @group Forms */ + +#jqt ul.form li { + padding: 7px 10px; +} + +#jqt ul.form li.error { + border: 2px solid red; +} + +#jqt ul.form li.error + li.error { + border-top: 0; +} + +#jqt ul.form li:hover { + background: #fff; +} + +#jqt ul li input[type="text"], +#jqt ul li input[type="password"], +#jqt ul li input[type="tel"], +#jqt ul li input[type="number"], +#jqt ul li input[type="search"], +#jqt ul li input[type="email"], +#jqt ul li input[type="url"], +#jqt ul li textarea, +#jqt ul li select { + color: #777; + background: #fff url('data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=='); + border: 0; + font: normal 17px "Helvetica Neue", Helvetica; + padding: 0; + display: inline-block; + margin-left: 0px; + width: 100%; + -webkit-appearance: textarea; +} + +#jqt ul li textarea { + height: 120px; + padding: 0; + text-indent: -2px; +} + +#jqt ul li select { + text-indent: 0px; + background: transparent url(../images/chevron.png) no-repeat 103% 3px; + -webkit-appearance: textfield; + margin-left: -6px; + width: 104%; +} + +#jqt ul li input[type="checkbox"], #jqt ul li input[type="radio"] { + margin: 0; + color: rgb(50,79,133); + padding: 10px 10px; +} + +#jqt ul li input[type="checkbox"]:after, #jqt ul li input[type="radio"]:after { + content: attr(title); + font: 17px "Helvetica Neue", Helvetica; + display: block; + width: 246px; + margin: -12px 0 0 17px; +} + +/* @end */ + +/* @group Edge to edge */ +#jqt ul.edgetoedge { + -webkit-border-radius: 0; +} + +#jqt ul.edgetoedge li.sep { + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(139, 159, 171, 1)), to(rgba(181, 193, 201, 1.0))); + border-bottom: 1px solid #b5c1c9; + border-top: 1px solid #b5c1c9; + color: #fff; + font-size: 16px; + margin: 1px 0 0 0; + padding: 2px 10px; + text-shadow: #636a6f 0 1px 0; +} + +#jqt .edgetoedge h4 { + color: #fff; + background: rgb(154,159,170) url(img/listGroup.png) top left repeat-x; + border-top: 1px solid rgb(165,177,186); + text-shadow: #666 0 1px 0; + margin: 0; + padding: 2px 10px; +} + +#jqt .edgetoedge, #jqt .metal { + margin: 0; + padding: 0; + background-color: rgb(255,255,255); +} + +#jqt .edgetoedge ul, #jqt .metal ul, #jqt .plastic ul { + -webkit-border-radius: 0; + margin: 0; + border-left: 0; + border-right: 0; + border-top: 0; +} + +#jqt .metal ul { + border-top: 0; + border-bottom: 0; + background: rgb(180,180,180); +} + +#jqt .edgetoedge ul li:first-child, +#jqt .edgetoedge ul li:first-child a, +#jqt .edgetoedge ul li:last-child, +#jqt .edgetoedge ul li:last-child a, +#jqt .metal ul li:first-child a, +#jqt .metal ul li:last-child a { + -webkit-border-radius: 0; +} + +#jqt .edgetoedge ul li small { + font-size: 16px; + line-height: 28px; +} + +#jqt .edgetoedge li, #jqt .metal li { + -webkit-border-radius: 0; +} + +#jqt .edgetoedge li em { + font-weight: normal; + font-style: normal; +} + +#jqt .edgetoedge h4 + ul { + border-top: 1px solid rgb(152,158,164); + border-bottom: 1px solid rgb(113,125,133); +} + +/* @end */ + +/* @group Mini Label */ + +#jqt ul li small { + color: #369; + font: 17px "Helvetica Neue", Helvetica; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + display: block; + width: 23%; + float: right; + padding: 3px 0px; +} + +#jqt ul li.arrow small { + padding: 0 15px; +} + +#jqt ul li small.counter { + font-size: 17px !important; + line-height: 13px !important; + font-weight: bold; + background: rgb(154,159,170); + color: #fff; + -webkit-border-radius: 11px; + padding: 4px 10px 5px 10px; + display: inline !important; + width: auto; + margin-top: -22px; +} + +#jqt ul li.arrow small.counter { + margin-right: 15px; +} + +/* @end */ + +/* @group Plastic */ + +#jqt #plastic ul li.arrow, #jqt #metal ul li.arrow { + background-image: url(img/listArrow.png); + background-position: right center; + background-repeat: no-repeat; +} + +#jqt .edgetoedge ul, #jqt .metal ul, #jqt .plastic ul { + -webkit-border-radius: 0; + margin: 0; + border-left: 0; + border-right: 0; + border-top: 0; +} + +#jqt .metal ul li { + border-top: 1px solid rgb(238,238,238); + border-bottom: 1px solid rgb(156,158,165); + background: url(../images/bgMetal.png) top left repeat-x; + font-size: 26px; + text-shadow: #fff 0 1px 0; +} + +#jqt .metal ul li a { + line-height: 26px; + margin: 0; + padding: 13px 0; +} + +#jqt .metal ul li a:hover { + color: rgb(0,0,0); +} + +#jqt .metal ul li:hover small { + color: inherit; +} + +#jqt .metal ul li a em { + display: block; + font-size: 14px; + font-style: normal; + color: #444; + width: 50%; + line-height: 14px; +} + +#jqt .metal ul li small { + float: right; + position: relative; + margin-top: 10px; + font-weight: bold; +} + +#jqt .metal ul li.arrow a small { + padding-right: 0; + line-height: 17px; +} + +#jqt .metal ul li.arrow { + background: url(../images/bgMetal.png) top left repeat-x, + url(../images/chevron_dg.png) right center no-repeat; +} + +#jqt .plastic { + margin: 0; + padding: 0; + background: rgb(173,173,173); +} + +#jqt .plastic ul { + -webkit-border-radius: 0; + margin: 0; + border-left: 0; + border-right: 0; + border-top: 0; + background-color: rgb(173,173,173); +} + +#jqt .plastic ul li { + -webkit-border-radius: 0; + border-top: 1px solid rgb(191,191,191); + border-bottom: 1px solid rgb(157,157,157); +} + +#jqt .plastic ul li:nth-child(odd) { + background-color: rgb(152,152,152); + border-top: 1px solid rgb(181,181,181); + border-bottom: 1px solid rgb(138,138,138); +} + +#jqt .plastic ul + p { + font-size: 11px; + color: #2f3237; + text-shadow: none; + padding: 10px 10px; +} + +#jqt .plastic ul + p strong { + font-size: 14px; + line-height: 18px; + text-shadow: #fff 0 1px 0; +} + +#jqt .plastic ul li a { + text-shadow: rgb(211,211,211) 0 1px 0; +} + +#jqt .plastic ul li:nth-child(odd) a { + text-shadow: rgb(191,191,191) 0 1px 0; +} + +#jqt .plastic ul li small { + color: #3C3C3C; + text-shadow: rgb(211,211,211) 0 1px 0; + font-size: 13px; + font-weight: bold; + text-transform: uppercase; + line-height: 24px; +} + +#jqt #plastic ul.minibanner, #jqt #plastic ul.bigbanner { + margin: 10px; + border: 0; + height: 81px; + clear: both; +} + +#jqt #plastic ul.bigbanner { + height: 140px !important; +} + +#jqt #plastic ul.minibanner li { + border: 1px solid rgb(138,138,138); + background-color: rgb(152,152,152); + width: 145px; + height: 81px; + float: left; + -webkit-border-radius: 5px; + padding: 0; +} + +#jqt #plastic ul.bigbanner li { + border: 1px solid rgb(138,138,138); + background-color: rgb(152,152,152); + width: 296px; + height: 140px; + float: left; + -webkit-border-radius: 5px; + padding: 0; + margin-bottom: 4px; +} + +#jqt #plastic ul.minibanner li:first-child { + margin-right: 6px; +} + +#jqt #plastic ul.minibanner li a { + color: transparent; + text-shadow: none; + display: block; + width: 145px; + height: 81px; +} + +#jqt #plastic ul.bigbanner li a { + color: transparent; + text-shadow: none; + display: block; + width: 296px; + height: 145px; +} + +/* @end */ + +/* @group Individual */ + +#jqt ul.individual { + border: 0; + background: none; + clear: both; + overflow: hidden; +} + +#jqt ul.individual li { + color: rgb(183,190,205); + background: white; + border: 1px solid rgb(180,180,180); + font-size: 14px; + text-align: center; + -webkit-border-radius: 8px; + -webkit-box-sizing: border-box; + width: 48%; + float: left; + display: block; + padding: 11px 10px 14px 10px; +} + +#jqt ul.individual li + li { + float: right; +} + +#jqt ul.individual li a { + color: rgb(50,79,133); + line-height: 16px; + margin: -11px -10px -14px -10px; + padding: 11px 10px 14px 10px; + -webkit-border-radius: 8px; +} + +#jqt ul.individual li a:hover { + color: #fff; + background: #36c; +} + +/* @end */ + +/* @group Toggle */ + + +#jqt .toggle { + width: 94px; + position: relative; + height: 27px; + display: block; + overflow: hidden; + float: right; +} + +#jqt .toggle input[type="checkbox"]:checked { + left: 0px; +} + +#jqt .toggle input[type="checkbox"] { + -webkit-tap-highlight-color: rgba(0,0,0,0); + margin: 0; + -webkit-border-radius: 5px; + background: #fff url(img/on_off.png) 0 0 no-repeat; + height: 27px; + overflow: hidden; + width: 149px; + border: 0; + -webkit-appearance: textarea; + background-color: transparent; + -webkit-transition: left .15s; + position: absolute; + top: 0; + left: -55px; +} +/* @end */ + + + +#jqt .info { + background: #dce1eb; + font-size: 12px; + line-height: 16px; + text-align: center; + text-shadow: rgba(255,255,255,.8) 0 1px 0; + color: rgb(76, 86, 108); + padding: 15px; + border-top: 1px solid rgba(76, 86, 108, .3); + font-weight: bold; +} diff --git a/themes/apple/img/.svn/all-wcprops b/themes/apple/img/.svn/all-wcprops new file mode 100644 index 0000000..0f667ce --- /dev/null +++ b/themes/apple/img/.svn/all-wcprops @@ -0,0 +1,119 @@ +K 25 +svn:wc:ra_dav:version-url +V 40 +/svn/!svn/ver/115/trunk/themes/apple/img +END +greenButton.png +K 25 +svn:wc:ra_dav:version-url +V 56 +/svn/!svn/ver/115/trunk/themes/apple/img/greenButton.png +END +backButton.png +K 25 +svn:wc:ra_dav:version-url +V 54 +/svn/!svn/ver/57/trunk/themes/apple/img/backButton.png +END +grayButton.png +K 25 +svn:wc:ra_dav:version-url +V 53 +/svn/!svn/ver/9/trunk/themes/apple/img/grayButton.png +END +loading.gif +K 25 +svn:wc:ra_dav:version-url +V 50 +/svn/!svn/ver/9/trunk/themes/apple/img/loading.gif +END +pinstripes.png +K 25 +svn:wc:ra_dav:version-url +V 53 +/svn/!svn/ver/9/trunk/themes/apple/img/pinstripes.png +END +toolbar.png +K 25 +svn:wc:ra_dav:version-url +V 51 +/svn/!svn/ver/57/trunk/themes/apple/img/toolbar.png +END +chevron.png +K 25 +svn:wc:ra_dav:version-url +V 51 +/svn/!svn/ver/51/trunk/themes/apple/img/chevron.png +END +on_off.png +K 25 +svn:wc:ra_dav:version-url +V 50 +/svn/!svn/ver/57/trunk/themes/apple/img/on_off.png +END +redButton.png +K 25 +svn:wc:ra_dav:version-url +V 54 +/svn/!svn/ver/115/trunk/themes/apple/img/redButton.png +END +actionButton.png +K 25 +svn:wc:ra_dav:version-url +V 57 +/svn/!svn/ver/115/trunk/themes/apple/img/actionButton.png +END +toolButton.png +K 25 +svn:wc:ra_dav:version-url +V 54 +/svn/!svn/ver/57/trunk/themes/apple/img/toolButton.png +END +whiteButton.png +K 25 +svn:wc:ra_dav:version-url +V 54 +/svn/!svn/ver/9/trunk/themes/apple/img/whiteButton.png +END +toggleOn.png +K 25 +svn:wc:ra_dav:version-url +V 51 +/svn/!svn/ver/9/trunk/themes/apple/img/toggleOn.png +END +thumb.png +K 25 +svn:wc:ra_dav:version-url +V 49 +/svn/!svn/ver/57/trunk/themes/apple/img/thumb.png +END +toggle.png +K 25 +svn:wc:ra_dav:version-url +V 49 +/svn/!svn/ver/9/trunk/themes/apple/img/toggle.png +END +selection.png +K 25 +svn:wc:ra_dav:version-url +V 52 +/svn/!svn/ver/9/trunk/themes/apple/img/selection.png +END +cancel.png +K 25 +svn:wc:ra_dav:version-url +V 49 +/svn/!svn/ver/9/trunk/themes/apple/img/cancel.png +END +listGroup.png +K 25 +svn:wc:ra_dav:version-url +V 53 +/svn/!svn/ver/57/trunk/themes/apple/img/listGroup.png +END +listArrowSel.png +K 25 +svn:wc:ra_dav:version-url +V 55 +/svn/!svn/ver/9/trunk/themes/apple/img/listArrowSel.png +END diff --git a/themes/apple/img/.svn/entries b/themes/apple/img/.svn/entries new file mode 100644 index 0000000..19622c8 --- /dev/null +++ b/themes/apple/img/.svn/entries @@ -0,0 +1,674 @@ +10 + +dir +133 +http://jqtouch.googlecode.com/svn/trunk/themes/apple/img +http://jqtouch.googlecode.com/svn + + + +2009-10-25T08:00:04.365941Z +115 +davidcolbykaneda + + + + + + + + + + + + + + +210952ee-217a-11de-8f7e-2b794b28c5cd + +greenButton.png +file + + + + +2010-03-04T14:47:56.238073Z +e77d96f3d42207c60248c958513177d7 +2009-10-25T08:00:04.365941Z +115 +davidcolbykaneda +has-props + + + + + + + + + + + + + + + + + + + + +1935 + +backButton.png +file + + + + +2010-03-04T14:47:56.238073Z +dd5d1b2178d7f29c6988c7b351374865 +2009-09-03T18:03:08.814593Z +57 +davidcolbykaneda +has-props + + + + + + + + + + + + + + + + + + + + +783 + +grayButton.png +file + + + + +2010-03-04T14:47:56.238073Z +1041b36eaff6868d89453dac81019839 +2009-04-11T19:17:40.360466Z +6 +david@dyadcom.com +has-props + + + + + + + + + + + + + + + + + + + + +943 + +loading.gif +file + + + + +2010-03-04T14:47:56.238073Z +da76e45dd725f984f0fb5fd7fa6b5ed0 +2009-04-11T19:17:40.360466Z +6 +david@dyadcom.com +has-props + + + + + + + + + + + + + + + + + + + + +1435 + +pinstripes.png +file + + + + +2010-03-04T14:47:56.239073Z +4083fe1c4e14f5ddd0ba98ac6c55e6af +2009-04-11T19:17:40.360466Z +6 +david@dyadcom.com +has-props + + + + + + + + + + + + + + + + + + + + +117 + +toolbar.png +file + + + + +2010-03-04T14:47:56.239073Z +2e759fec57af1684c18be5ebb4baa329 +2009-09-03T18:03:08.814593Z +57 +davidcolbykaneda +has-props + + + + + + + + + + + + + + + + + + + + +168 + +chevron.png +file + + + + +2010-03-04T14:47:56.239073Z +3d059e6b6957c1be7a1bfdb4316776e6 +2009-08-31T02:22:55.434267Z +51 +davidcolbykaneda +has-props + + + + + + + + + + + + + + + + + + + + +259 + +on_off.png +file + + + + +2010-03-04T14:47:56.239073Z +71f37708819cfac4c2d575ca5d03e587 +2009-09-03T18:03:08.814593Z +57 +davidcolbykaneda +has-props + + + + + + + + + + + + + + + + + + + + +2634 + +redButton.png +file + + + + +2010-03-04T14:47:56.239073Z +c0c9af820d6172e61bd6a8f4cf9c7057 +2009-10-25T08:00:04.365941Z +115 +davidcolbykaneda +has-props + + + + + + + + + + + + + + + + + + + + +1927 + +actionButton.png +file + + + + +2010-03-04T14:47:56.240073Z +d3da8bf9621bdc92397d51c96b495eac +2009-10-25T08:00:04.365941Z +115 +davidcolbykaneda +has-props + + + + + + + + + + + + + + + + + + + + +517 + +toolButton.png +file + + + + +2010-03-04T14:47:56.240073Z +98ca7468d06352b351b6ad50b4c23444 +2009-09-03T18:03:08.814593Z +57 +davidcolbykaneda +has-props + + + + + + + + + + + + + + + + + + + + +521 + +whiteButton.png +file + + + + +2010-03-04T14:47:56.240073Z +17f06c4431d610ecac4361df5845b817 +2009-04-11T19:17:40.360466Z +6 +david@dyadcom.com +has-props + + + + + + + + + + + + + + + + + + + + +978 + +toggleOn.png +file + + + + +2010-03-04T14:47:56.240073Z +d3660086fd6ac805dccaef5339633b64 +2009-04-11T19:17:40.360466Z +6 +david@dyadcom.com +has-props + + + + + + + + + + + + + + + + + + + + +163 + +thumb.png +file + + + + +2010-03-04T14:47:56.241073Z +65de250b1baccedd8b81fa338c8627fe +2009-09-03T18:03:08.814593Z +57 +davidcolbykaneda +has-props + + + + + + + + + + + + + + + + + + + + +2834 + +toggle.png +file + + + + +2010-03-04T14:47:56.241073Z +bdebeb51c0c12ae443b9eb770fbb9bbe +2009-04-11T19:17:40.360466Z +6 +david@dyadcom.com +has-props + + + + + + + + + + + + + + + + + + + + +2815 + +selection.png +file + + + + +2010-03-04T14:47:56.241073Z +af582c91abf093b4a7648de3ed1496da +2009-04-11T19:17:40.360466Z +6 +david@dyadcom.com +has-props + + + + + + + + + + + + + + + + + + + + +159 + +cancel.png +file + + + + +2010-03-04T14:47:56.241073Z +47e9de7efdc94a42890a57d7b952128f +2009-04-11T19:17:40.360466Z +6 +david@dyadcom.com +has-props + + + + + + + + + + + + + + + + + + + + +362 + +listGroup.png +file + + + + +2010-03-04T14:47:56.242073Z +38a0ce9de336bcb064d79ea28223a692 +2009-09-03T18:03:08.814593Z +57 +davidcolbykaneda +has-props + + + + + + + + + + + + + + + + + + + + +2863 + +listArrowSel.png +file + + + + +2010-03-04T14:47:56.242073Z +2f3cce7337192817acdf1c7bd533912a +2009-04-11T19:17:40.360466Z +6 +david@dyadcom.com +has-props + + + + + + + + + + + + + + + + + + + + +308 + diff --git a/themes/apple/img/.svn/prop-base/actionButton.png.svn-base b/themes/apple/img/.svn/prop-base/actionButton.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/apple/img/.svn/prop-base/actionButton.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/apple/img/.svn/prop-base/backButton.png.svn-base b/themes/apple/img/.svn/prop-base/backButton.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/apple/img/.svn/prop-base/backButton.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/apple/img/.svn/prop-base/cancel.png.svn-base b/themes/apple/img/.svn/prop-base/cancel.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/apple/img/.svn/prop-base/cancel.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/apple/img/.svn/prop-base/chevron.png.svn-base b/themes/apple/img/.svn/prop-base/chevron.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/apple/img/.svn/prop-base/chevron.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/apple/img/.svn/prop-base/grayButton.png.svn-base b/themes/apple/img/.svn/prop-base/grayButton.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/apple/img/.svn/prop-base/grayButton.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/apple/img/.svn/prop-base/greenButton.png.svn-base b/themes/apple/img/.svn/prop-base/greenButton.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/apple/img/.svn/prop-base/greenButton.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/apple/img/.svn/prop-base/listArrowSel.png.svn-base b/themes/apple/img/.svn/prop-base/listArrowSel.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/apple/img/.svn/prop-base/listArrowSel.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/apple/img/.svn/prop-base/listGroup.png.svn-base b/themes/apple/img/.svn/prop-base/listGroup.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/apple/img/.svn/prop-base/listGroup.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/apple/img/.svn/prop-base/loading.gif.svn-base b/themes/apple/img/.svn/prop-base/loading.gif.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/apple/img/.svn/prop-base/loading.gif.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/apple/img/.svn/prop-base/on_off.png.svn-base b/themes/apple/img/.svn/prop-base/on_off.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/apple/img/.svn/prop-base/on_off.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/apple/img/.svn/prop-base/pinstripes.png.svn-base b/themes/apple/img/.svn/prop-base/pinstripes.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/apple/img/.svn/prop-base/pinstripes.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/apple/img/.svn/prop-base/redButton.png.svn-base b/themes/apple/img/.svn/prop-base/redButton.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/apple/img/.svn/prop-base/redButton.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/apple/img/.svn/prop-base/selection.png.svn-base b/themes/apple/img/.svn/prop-base/selection.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/apple/img/.svn/prop-base/selection.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/apple/img/.svn/prop-base/thumb.png.svn-base b/themes/apple/img/.svn/prop-base/thumb.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/apple/img/.svn/prop-base/thumb.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/apple/img/.svn/prop-base/toggle.png.svn-base b/themes/apple/img/.svn/prop-base/toggle.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/apple/img/.svn/prop-base/toggle.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/apple/img/.svn/prop-base/toggleOn.png.svn-base b/themes/apple/img/.svn/prop-base/toggleOn.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/apple/img/.svn/prop-base/toggleOn.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/apple/img/.svn/prop-base/toolButton.png.svn-base b/themes/apple/img/.svn/prop-base/toolButton.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/apple/img/.svn/prop-base/toolButton.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/apple/img/.svn/prop-base/toolbar.png.svn-base b/themes/apple/img/.svn/prop-base/toolbar.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/apple/img/.svn/prop-base/toolbar.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/apple/img/.svn/prop-base/whiteButton.png.svn-base b/themes/apple/img/.svn/prop-base/whiteButton.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/apple/img/.svn/prop-base/whiteButton.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/apple/img/.svn/text-base/actionButton.png.svn-base b/themes/apple/img/.svn/text-base/actionButton.png.svn-base new file mode 100644 index 0000000..0f92dfd Binary files /dev/null and b/themes/apple/img/.svn/text-base/actionButton.png.svn-base differ diff --git a/themes/apple/img/.svn/text-base/backButton.png.svn-base b/themes/apple/img/.svn/text-base/backButton.png.svn-base new file mode 100644 index 0000000..935f914 Binary files /dev/null and b/themes/apple/img/.svn/text-base/backButton.png.svn-base differ diff --git a/themes/apple/img/.svn/text-base/cancel.png.svn-base b/themes/apple/img/.svn/text-base/cancel.png.svn-base new file mode 100644 index 0000000..5f6dcc8 Binary files /dev/null and b/themes/apple/img/.svn/text-base/cancel.png.svn-base differ diff --git a/themes/apple/img/.svn/text-base/chevron.png.svn-base b/themes/apple/img/.svn/text-base/chevron.png.svn-base new file mode 100644 index 0000000..6421a16 Binary files /dev/null and b/themes/apple/img/.svn/text-base/chevron.png.svn-base differ diff --git a/themes/apple/img/.svn/text-base/grayButton.png.svn-base b/themes/apple/img/.svn/text-base/grayButton.png.svn-base new file mode 100644 index 0000000..0ce6a30 Binary files /dev/null and b/themes/apple/img/.svn/text-base/grayButton.png.svn-base differ diff --git a/themes/apple/img/.svn/text-base/greenButton.png.svn-base b/themes/apple/img/.svn/text-base/greenButton.png.svn-base new file mode 100644 index 0000000..a45594b Binary files /dev/null and b/themes/apple/img/.svn/text-base/greenButton.png.svn-base differ diff --git a/themes/apple/img/.svn/text-base/listArrowSel.png.svn-base b/themes/apple/img/.svn/text-base/listArrowSel.png.svn-base new file mode 100644 index 0000000..86832eb Binary files /dev/null and b/themes/apple/img/.svn/text-base/listArrowSel.png.svn-base differ diff --git a/themes/apple/img/.svn/text-base/listGroup.png.svn-base b/themes/apple/img/.svn/text-base/listGroup.png.svn-base new file mode 100644 index 0000000..567d858 Binary files /dev/null and b/themes/apple/img/.svn/text-base/listGroup.png.svn-base differ diff --git a/themes/apple/img/.svn/text-base/loading.gif.svn-base b/themes/apple/img/.svn/text-base/loading.gif.svn-base new file mode 100644 index 0000000..8522ddf Binary files /dev/null and b/themes/apple/img/.svn/text-base/loading.gif.svn-base differ diff --git a/themes/apple/img/.svn/text-base/on_off.png.svn-base b/themes/apple/img/.svn/text-base/on_off.png.svn-base new file mode 100644 index 0000000..62325a8 Binary files /dev/null and b/themes/apple/img/.svn/text-base/on_off.png.svn-base differ diff --git a/themes/apple/img/.svn/text-base/pinstripes.png.svn-base b/themes/apple/img/.svn/text-base/pinstripes.png.svn-base new file mode 100644 index 0000000..c997775 Binary files /dev/null and b/themes/apple/img/.svn/text-base/pinstripes.png.svn-base differ diff --git a/themes/apple/img/.svn/text-base/redButton.png.svn-base b/themes/apple/img/.svn/text-base/redButton.png.svn-base new file mode 100644 index 0000000..f5728df Binary files /dev/null and b/themes/apple/img/.svn/text-base/redButton.png.svn-base differ diff --git a/themes/apple/img/.svn/text-base/selection.png.svn-base b/themes/apple/img/.svn/text-base/selection.png.svn-base new file mode 100644 index 0000000..537e3f0 Binary files /dev/null and b/themes/apple/img/.svn/text-base/selection.png.svn-base differ diff --git a/themes/apple/img/.svn/text-base/thumb.png.svn-base b/themes/apple/img/.svn/text-base/thumb.png.svn-base new file mode 100644 index 0000000..81495a0 Binary files /dev/null and b/themes/apple/img/.svn/text-base/thumb.png.svn-base differ diff --git a/themes/apple/img/.svn/text-base/toggle.png.svn-base b/themes/apple/img/.svn/text-base/toggle.png.svn-base new file mode 100644 index 0000000..3b62ebf Binary files /dev/null and b/themes/apple/img/.svn/text-base/toggle.png.svn-base differ diff --git a/themes/apple/img/.svn/text-base/toggleOn.png.svn-base b/themes/apple/img/.svn/text-base/toggleOn.png.svn-base new file mode 100644 index 0000000..b016814 Binary files /dev/null and b/themes/apple/img/.svn/text-base/toggleOn.png.svn-base differ diff --git a/themes/apple/img/.svn/text-base/toolButton.png.svn-base b/themes/apple/img/.svn/text-base/toolButton.png.svn-base new file mode 100644 index 0000000..dfbba4e Binary files /dev/null and b/themes/apple/img/.svn/text-base/toolButton.png.svn-base differ diff --git a/themes/apple/img/.svn/text-base/toolbar.png.svn-base b/themes/apple/img/.svn/text-base/toolbar.png.svn-base new file mode 100644 index 0000000..2159c7d Binary files /dev/null and b/themes/apple/img/.svn/text-base/toolbar.png.svn-base differ diff --git a/themes/apple/img/.svn/text-base/whiteButton.png.svn-base b/themes/apple/img/.svn/text-base/whiteButton.png.svn-base new file mode 100644 index 0000000..5514b27 Binary files /dev/null and b/themes/apple/img/.svn/text-base/whiteButton.png.svn-base differ diff --git a/themes/apple/img/actionButton.png b/themes/apple/img/actionButton.png new file mode 100644 index 0000000..0f92dfd Binary files /dev/null and b/themes/apple/img/actionButton.png differ diff --git a/themes/apple/img/backButton.png b/themes/apple/img/backButton.png new file mode 100644 index 0000000..935f914 Binary files /dev/null and b/themes/apple/img/backButton.png differ diff --git a/themes/apple/img/blueButton.png b/themes/apple/img/blueButton.png new file mode 100644 index 0000000..0f92dfd Binary files /dev/null and b/themes/apple/img/blueButton.png differ diff --git a/themes/apple/img/cancel.png b/themes/apple/img/cancel.png new file mode 100644 index 0000000..5f6dcc8 Binary files /dev/null and b/themes/apple/img/cancel.png differ diff --git a/themes/apple/img/chevron.png b/themes/apple/img/chevron.png new file mode 100644 index 0000000..6421a16 Binary files /dev/null and b/themes/apple/img/chevron.png differ diff --git a/themes/apple/img/grayButton.png b/themes/apple/img/grayButton.png new file mode 100644 index 0000000..0ce6a30 Binary files /dev/null and b/themes/apple/img/grayButton.png differ diff --git a/themes/apple/img/greenButton.png b/themes/apple/img/greenButton.png new file mode 100644 index 0000000..a45594b Binary files /dev/null and b/themes/apple/img/greenButton.png differ diff --git a/themes/apple/img/listArrowSel.png b/themes/apple/img/listArrowSel.png new file mode 100644 index 0000000..86832eb Binary files /dev/null and b/themes/apple/img/listArrowSel.png differ diff --git a/themes/apple/img/listGroup.png b/themes/apple/img/listGroup.png new file mode 100644 index 0000000..567d858 Binary files /dev/null and b/themes/apple/img/listGroup.png differ diff --git a/themes/apple/img/loading.gif b/themes/apple/img/loading.gif new file mode 100644 index 0000000..8522ddf Binary files /dev/null and b/themes/apple/img/loading.gif differ diff --git a/themes/apple/img/on_off.png b/themes/apple/img/on_off.png new file mode 100644 index 0000000..62325a8 Binary files /dev/null and b/themes/apple/img/on_off.png differ diff --git a/themes/apple/img/pinstripes.png b/themes/apple/img/pinstripes.png new file mode 100644 index 0000000..c997775 Binary files /dev/null and b/themes/apple/img/pinstripes.png differ diff --git a/themes/apple/img/redButton.png b/themes/apple/img/redButton.png new file mode 100644 index 0000000..f5728df Binary files /dev/null and b/themes/apple/img/redButton.png differ diff --git a/themes/apple/img/selection.png b/themes/apple/img/selection.png new file mode 100644 index 0000000..537e3f0 Binary files /dev/null and b/themes/apple/img/selection.png differ diff --git a/themes/apple/img/thumb.png b/themes/apple/img/thumb.png new file mode 100644 index 0000000..81495a0 Binary files /dev/null and b/themes/apple/img/thumb.png differ diff --git a/themes/apple/img/toggle.png b/themes/apple/img/toggle.png new file mode 100644 index 0000000..3b62ebf Binary files /dev/null and b/themes/apple/img/toggle.png differ diff --git a/themes/apple/img/toggleOn.png b/themes/apple/img/toggleOn.png new file mode 100644 index 0000000..b016814 Binary files /dev/null and b/themes/apple/img/toggleOn.png differ diff --git a/themes/apple/img/toolButton.png b/themes/apple/img/toolButton.png new file mode 100644 index 0000000..dfbba4e Binary files /dev/null and b/themes/apple/img/toolButton.png differ diff --git a/themes/apple/img/toolbar.png b/themes/apple/img/toolbar.png new file mode 100644 index 0000000..2159c7d Binary files /dev/null and b/themes/apple/img/toolbar.png differ diff --git a/themes/apple/img/whiteButton.png b/themes/apple/img/whiteButton.png new file mode 100644 index 0000000..5514b27 Binary files /dev/null and b/themes/apple/img/whiteButton.png differ diff --git a/themes/apple/theme.css b/themes/apple/theme.css new file mode 100644 index 0000000..dbbb4dc --- /dev/null +++ b/themes/apple/theme.css @@ -0,0 +1,727 @@ +body, #jqt { + background: rgb(0,0,0); +} + +body > *, #jqt > * { + background: rgb(197,204,211) url(img/pinstripes.png); +} + +#jqt h1, #jqt h2 { + font: bold 18px "Helvetica Neue", Helvetica; + text-shadow: rgba(255,255,255,.2) 0 1px 1px; + color: rgb(76, 86, 108); + margin: 10px 20px 6px; +} + +/* @group Toolbar */ + +#jqt .toolbar { + -webkit-box-sizing: border-box; + border-bottom: 1px solid #2d3642; + padding: 10px; + height: 45px; + background: url(img/toolbar.png) #6d84a2 repeat-x; + position: relative; +} + +#jqt .black-translucent .toolbar { + margin-top: 20px; +} + +div#jqt .toolbar > h1 { + position: absolute; + overflow: hidden; + left: 50%; + top: 10px; + line-height: 1em; + margin: 1px 0 0 -75px; + height: 40px; + font-size: 20px; + width: 150px; + font-weight: bold; + text-shadow: rgba(0, 0, 0, 0.4) 0px -1px 0; + text-align: center; + text-overflow: ellipsis; + white-space: nowrap; + color: #fff; +} + +div#jqt.landscape .toolbar > h1 { + margin-left: -125px; + width: 250px; +} + +#jqt .button, #jqt .back, #jqt .cancel, #jqt .add { + position: absolute; + overflow: hidden; + top: 8px; + right: 6px; + margin: 0; + border-width: 0 5px; + padding: 0 3px; + width: auto; + height: 30px; + line-height: 30px; + font-family: inherit; + font-size: 12px; + font-weight: bold; + color: #fff; + text-shadow: rgba(0, 0, 0, 0.5) 0px -1px 0; + text-overflow: ellipsis; + text-decoration: none; + white-space: nowrap; + background: none; + -webkit-border-image: url(img/toolButton.png) 0 5 0 5; +} + +#jqt .button.active, #jqt .cancel.active, #jqt .add.active { + -webkit-border-image: url(img/toolButton.png) 0 5 0 5; +} + +#jqt .blueButton { + -webkit-border-image: url(img/actionButton.png) 0 5 0 5; + border-width: 0 5px; +} + +#jqt .back { + left: 6px; + right: auto; + padding: 0; + max-width: 55px; + border-width: 0 8px 0 14px; + -webkit-border-image: url(img/backButton.png) 0 8 0 14; +} + +#jqt .back.active { + -webkit-border-image: url(img/backButton.png) 0 8 0 14; +} + +#jqt .leftButton, #jqt .cancel { + left: 6px; + right: auto; +} + +#jqt .add { + font-size: 24px; + line-height: 24px; + font-weight: bold; +} + +#jqt .whiteButton, +#jqt .grayButton, #jqt .redButton, #jqt .blueButton, #jqt .greenButton { + display: block; + border-width: 0 12px; + padding: 10px; + text-align: center; + font-size: 20px; + font-weight: bold; + text-decoration: inherit; + color: inherit; +} + +#jqt .whiteButton.active, #jqt .grayButton.active, #jqt .redButton.active, #jqt .blueButton.active, #jqt .greenButton.active, +#jqt .whiteButton:active, #jqt .grayButton:active, #jqt .redButton:active, #jqt .blueButton:active, #jqt .greenButton:active { + -webkit-border-image: url(img/activeButton.png) 0 12 0 12; +} + +#jqt .whiteButton { + -webkit-border-image: url(img/whiteButton.png) 0 12 0 12; + text-shadow: rgba(255, 255, 255, 0.7) 0 1px 0; +} + +#jqt .grayButton { + -webkit-border-image: url(img/grayButton.png) 0 12 0 12; + color: #FFFFFF; +} + +#jqt .redButton { + -webkit-border-image: url(img/redButton.png) 0 12 0 12; + color: #FFFFFF; +} + +#jqt .greenButton { + -webkit-border-image: url(img/greenButton.png) 0 12 0 12; + color: #FFFFFF; +} + +/* @end */ + +/* @group Lists */ + +#jqt h1 + ul, #jqt h2 + ul, #jqt h3 + ul, #jqt h4 + ul, #jqt h5 + ul, #jqt h6 + ul { + margin-top: 0; +} + +#jqt ul { + color: black; + background: #fff; + border: 1px solid #B4B4B4; + font: bold 17px "Helvetica Neue", Helvetica; + padding: 0; + margin: 15px 10px 17px 10px; + -webkit-border-radius: 8px; +} + +#jqt ul li { + color: #666; + border-top: 1px solid #B4B4B4; + list-style-type: none; + padding: 10px 10px 10px 10px; +} + +/* when you have a first LI item on any list */ + +#jqt li:first-child, #jqt li:first-child a { + border-top: 0; + -webkit-border-top-left-radius: 8px; + -webkit-border-top-right-radius: 8px; +} + +#jqt li:last-child, #jqt li:last-child a { + -webkit-border-bottom-left-radius: 8px; + -webkit-border-bottom-right-radius: 8px; +} + +/* universal arrows */ + +#jqt ul li.arrow { + background-image: url(img/chevron.png); + background-position: right center; + background-repeat: no-repeat; +} + +#jqt ul li.arrow a { + padding: 12px 22px 12px 10px; +} + +#jqt #plastic ul li.arrow, #jqt #metal ul li.arrow { + background-image: url(../images/chevron_dg.png); + background-position: right center; + background-repeat: no-repeat; +} + +/* universal links on list */ + +#jqt ul li a, #jqt li.img a + a { + color: #000; + text-decoration: none; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + display: block; + padding: 12px 10px 12px 10px; + margin: -10px; + -webkit-tap-highlight-color: rgba(0,0,0,0); +} + +#jqt ul li a.active { + background: #194fdb url(img/selection.png) 0 0 repeat-x; + color: #fff; +} + +#jqt ul li a.button { + background-color: #194fdb; + color: #fff; +} + +#jqt ul li.img a + a { + margin: -10px 10px -20px -5px; + font-size: 17px; + font-weight: bold; +} + +#jqt ul li.img a + a + a { + font-size: 14px; + font-weight: normal; + margin-left: -10px; + margin-bottom: -10px; + margin-top: 0; +} + +#jqt ul li.img a + small + a { + margin-left: -5px; +} + +#jqt ul li.img a + small + a + a { + margin-left: -10px; + margin-top: -20px; + margin-bottom: -10px; + font-size: 14px; + font-weight: normal; +} + +#jqt ul li.img a + small + a + a + a { + margin-left: 0px !important; + margin-bottom: 0; +} + +#jqt ul li a + a { + color: #000; + font: 14px "Helvetica Neue", Helvetica; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + display: block; + margin: 0; + padding: 0; +} + +#jqt ul li a + a + a, #jqt ul li.img a + a + a + a, #jqt ul li.img a + small + a + a + a { + color: #666; + font: 13px "Helvetica Neue", Helvetica; + margin: 0; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + display: block; + padding: 0; +} + +/* +@end */ + +/* @group Forms */ + +#jqt ul.form li { + padding: 7px 10px; +} + +#jqt ul.form li.error { + border: 2px solid red; +} + +#jqt ul.form li.error + li.error { + border-top: 0; +} + +#jqt ul.form li:hover { + background: #fff; +} + +#jqt ul li input[type="text"], +#jqt ul li input[type="password"], +#jqt ul li input[type="tel"], +#jqt ul li input[type="number"], +#jqt ul li input[type="search"], +#jqt ul li input[type="email"], +#jqt ul li input[type="url"], +#jqt ul li textarea, +#jqt ul li select { + color: #777; + background: #fff url('data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=='); + border: 0; + font: normal 17px "Helvetica Neue", Helvetica; + padding: 0; + display: inline-block; + margin-left: 0px; + width: 100%; + -webkit-appearance: textarea; +} + +#jqt ul li textarea { + height: 120px; + padding: 0; + text-indent: -2px; +} + +#jqt ul li select { + text-indent: 0px; + background: transparent url(../images/chevron.png) no-repeat 103% 3px; + -webkit-appearance: textfield; + margin-left: -6px; + width: 104%; +} + +#jqt ul li input[type="checkbox"], #jqt ul li input[type="radio"] { + margin: 0; + color: rgb(50,79,133); + padding: 10px 10px; +} + +#jqt ul li input[type="checkbox"]:after, #jqt ul li input[type="radio"]:after { + content: attr(title); + font: 17px "Helvetica Neue", Helvetica; + display: block; + width: 246px; + margin: -12px 0 0 17px; +} + +/* @end */ + +/* @group Edge to edge */ +#jqt ul.edgetoedge { + -webkit-border-radius: 0; +} + +#jqt ul.edgetoedge li.sep { + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(139, 159, 171, 1)), to(rgba(181, 193, 201, 1.0))); + border-bottom: 1px solid #b5c1c9; + border-top: 1px solid #b5c1c9; + color: #fff; + font-size: 16px; + margin: 1px 0 0 0; + padding: 2px 10px; + text-shadow: #636a6f 0 1px 0; +} + +#jqt .edgetoedge h4 { + color: #fff; + background: rgb(154,159,170) url(img/listGroup.png) top left repeat-x; + border-top: 1px solid rgb(165,177,186); + text-shadow: #666 0 1px 0; + margin: 0; + padding: 2px 10px; +} + +#jqt .edgetoedge, #jqt .metal { + margin: 0; + padding: 0; + background-color: rgb(255,255,255); +} + +#jqt .edgetoedge ul, #jqt .metal ul, #jqt .plastic ul { + -webkit-border-radius: 0; + margin: 0; + border-left: 0; + border-right: 0; + border-top: 0; +} + +#jqt .metal ul { + border-top: 0; + border-bottom: 0; + background: rgb(180,180,180); +} + +#jqt .edgetoedge ul li:first-child, +#jqt .edgetoedge ul li:first-child a, +#jqt .edgetoedge ul li:last-child, +#jqt .edgetoedge ul li:last-child a, +#jqt .metal ul li:first-child a, +#jqt .metal ul li:last-child a { + -webkit-border-radius: 0; +} + +#jqt .edgetoedge ul li small { + font-size: 16px; + line-height: 28px; +} + +#jqt .edgetoedge li, #jqt .metal li { + -webkit-border-radius: 0; +} + +#jqt .edgetoedge li em { + font-weight: normal; + font-style: normal; +} + +#jqt .edgetoedge h4 + ul { + border-top: 1px solid rgb(152,158,164); + border-bottom: 1px solid rgb(113,125,133); +} + +/* @end */ + +/* @group Mini Label */ + +#jqt ul li small { + color: #369; + font: 17px "Helvetica Neue", Helvetica; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + display: block; + width: 23%; + float: right; + padding: 3px 0px; +} + +#jqt ul li.arrow small { + padding: 0 15px; +} + +#jqt ul li small.counter { + font-size: 17px !important; + line-height: 13px !important; + font-weight: bold; + background: rgb(154,159,170); + color: #fff; + -webkit-border-radius: 11px; + padding: 4px 10px 5px 10px; + display: inline !important; + width: auto; + margin-top: -22px; +} + +#jqt ul li.arrow small.counter { + margin-right: 15px; +} + +/* @end */ + +/* @group Plastic */ + +#jqt #plastic ul li.arrow, #jqt #metal ul li.arrow { + background-image: url(img/listArrow.png); + background-position: right center; + background-repeat: no-repeat; +} + +#jqt .edgetoedge ul, #jqt .metal ul, #jqt .plastic ul { + -webkit-border-radius: 0; + margin: 0; + border-left: 0; + border-right: 0; + border-top: 0; +} + +#jqt .metal ul li { + border-top: 1px solid rgb(238,238,238); + border-bottom: 1px solid rgb(156,158,165); + background: url(../images/bgMetal.png) top left repeat-x; + font-size: 26px; + text-shadow: #fff 0 1px 0; +} + +#jqt .metal ul li a { + line-height: 26px; + margin: 0; + padding: 13px 0; +} + +#jqt .metal ul li a:hover { + color: rgb(0,0,0); +} + +#jqt .metal ul li:hover small { + color: inherit; +} + +#jqt .metal ul li a em { + display: block; + font-size: 14px; + font-style: normal; + color: #444; + width: 50%; + line-height: 14px; +} + +#jqt .metal ul li small { + float: right; + position: relative; + margin-top: 10px; + font-weight: bold; +} + +#jqt .metal ul li.arrow a small { + padding-right: 0; + line-height: 17px; +} + +#jqt .metal ul li.arrow { + background: url(../images/bgMetal.png) top left repeat-x, + url(../images/chevron_dg.png) right center no-repeat; +} + +#jqt .plastic { + margin: 0; + padding: 0; + background: rgb(173,173,173); +} + +#jqt .plastic ul { + -webkit-border-radius: 0; + margin: 0; + border-left: 0; + border-right: 0; + border-top: 0; + background-color: rgb(173,173,173); +} + +#jqt .plastic ul li { + -webkit-border-radius: 0; + border-top: 1px solid rgb(191,191,191); + border-bottom: 1px solid rgb(157,157,157); +} + +#jqt .plastic ul li:nth-child(odd) { + background-color: rgb(152,152,152); + border-top: 1px solid rgb(181,181,181); + border-bottom: 1px solid rgb(138,138,138); +} + +#jqt .plastic ul + p { + font-size: 11px; + color: #2f3237; + text-shadow: none; + padding: 10px 10px; +} + +#jqt .plastic ul + p strong { + font-size: 14px; + line-height: 18px; + text-shadow: #fff 0 1px 0; +} + +#jqt .plastic ul li a { + text-shadow: rgb(211,211,211) 0 1px 0; +} + +#jqt .plastic ul li:nth-child(odd) a { + text-shadow: rgb(191,191,191) 0 1px 0; +} + +#jqt .plastic ul li small { + color: #3C3C3C; + text-shadow: rgb(211,211,211) 0 1px 0; + font-size: 13px; + font-weight: bold; + text-transform: uppercase; + line-height: 24px; +} + +#jqt #plastic ul.minibanner, #jqt #plastic ul.bigbanner { + margin: 10px; + border: 0; + height: 81px; + clear: both; +} + +#jqt #plastic ul.bigbanner { + height: 140px !important; +} + +#jqt #plastic ul.minibanner li { + border: 1px solid rgb(138,138,138); + background-color: rgb(152,152,152); + width: 145px; + height: 81px; + float: left; + -webkit-border-radius: 5px; + padding: 0; +} + +#jqt #plastic ul.bigbanner li { + border: 1px solid rgb(138,138,138); + background-color: rgb(152,152,152); + width: 296px; + height: 140px; + float: left; + -webkit-border-radius: 5px; + padding: 0; + margin-bottom: 4px; +} + +#jqt #plastic ul.minibanner li:first-child { + margin-right: 6px; +} + +#jqt #plastic ul.minibanner li a { + color: transparent; + text-shadow: none; + display: block; + width: 145px; + height: 81px; +} + +#jqt #plastic ul.bigbanner li a { + color: transparent; + text-shadow: none; + display: block; + width: 296px; + height: 145px; +} + +/* @end */ + +/* @group Individual */ + +#jqt ul.individual { + border: 0; + background: none; + clear: both; + overflow: hidden; +} + +#jqt ul.individual li { + color: rgb(183,190,205); + background: white; + border: 1px solid rgb(180,180,180); + font-size: 14px; + text-align: center; + -webkit-border-radius: 8px; + -webkit-box-sizing: border-box; + width: 48%; + float: left; + display: block; + padding: 11px 10px 14px 10px; +} + +#jqt ul.individual li + li { + float: right; +} + +#jqt ul.individual li a { + color: rgb(50,79,133); + line-height: 16px; + margin: -11px -10px -14px -10px; + padding: 11px 10px 14px 10px; + -webkit-border-radius: 8px; +} + +#jqt ul.individual li a:hover { + color: #fff; + background: #36c; +} + +/* @end */ + +/* @group Toggle */ + + +#jqt .toggle { + width: 94px; + position: relative; + height: 27px; + display: block; + overflow: hidden; + float: right; +} + +#jqt .toggle input[type="checkbox"]:checked { + left: 0px; +} + +#jqt .toggle input[type="checkbox"] { + -webkit-tap-highlight-color: rgba(0,0,0,0); + margin: 0; + -webkit-border-radius: 5px; + background: #fff url(img/on_off.png) 0 0 no-repeat; + height: 27px; + overflow: hidden; + width: 149px; + border: 0; + -webkit-appearance: textarea; + background-color: transparent; + -webkit-transition: left .15s; + position: absolute; + top: 0; + left: -55px; +} +/* @end */ + + + +#jqt .info { + background: #dce1eb; + font-size: 12px; + line-height: 16px; + text-align: center; + text-shadow: rgba(255,255,255,.8) 0 1px 0; + color: rgb(76, 86, 108); + padding: 15px; + border-top: 1px solid rgba(76, 86, 108, .3); + font-weight: bold; +} diff --git a/themes/apple/theme.min.css b/themes/apple/theme.min.css new file mode 100644 index 0000000..decc185 --- /dev/null +++ b/themes/apple/theme.min.css @@ -0,0 +1 @@ +body{background:#000;}body>*{background:#c5ccd3 url(img/pinstripes.png);}h1,h2{font:bold 18px Helvetica;text-shadow:rgba(255,255,255,.2) 0 1px 1px;color:#4c566c;margin:10px 20px 6px;}.toolbar{-webkit-box-sizing:border-box;border-bottom:1px solid #2d3642;padding:10px;height:45px;background:url(img/toolbar.png) #6d84a2 repeat-x;position:relative;}.black-translucent .toolbar{margin-top:20px;}.toolbar>h1{position:absolute;overflow:hidden;left:50%;top:10px;line-height:1em;margin:1px 0 0 -75px;height:40px;font-size:20px;width:150px;font-weight:bold;text-shadow:rgba(0,0,0,0.4) 0 -1px 0;text-align:center;text-overflow:ellipsis;white-space:nowrap;color:#fff;}body.landscape .toolbar>h1{margin-left:-125px;width:250px;}.button,.back,.cancel,.add{position:absolute;overflow:hidden;top:8px;right:6px;margin:0;border-width:0 5px;padding:0 3px;width:auto;height:30px;line-height:30px;font-family:inherit;font-size:12px;font-weight:bold;color:#fff;text-shadow:rgba(0,0,0,0.5) 0 -1px 0;text-overflow:ellipsis;text-decoration:none;white-space:nowrap;background:none;-webkit-border-image:url(img/toolButton.png) 0 5 0 5;}.button.active,.back.active,.cancel.active,.add.active{-webkit-border-image:url(img/toolButton.png) 0 5 0 5;}.blueButton{-webkit-border-image:url(img/blueButton.png) 0 5 0 5;border-width:0 5px;}.back{left:6px;right:auto;padding:0;max-width:55px;border-width:0 8px 0 14px;-webkit-border-image:url(img/backButton.png) 0 8 0 14;}.leftButton,.cancel{left:6px;right:auto;}.add{font-size:24px;line-height:24px;font-weight:bold;}.whiteButton,.grayButton{display:block;border-width:0 12px;padding:10px;text-align:center;font-size:20px;font-weight:bold;text-decoration:inherit;color:inherit;}.whiteButton{-webkit-border-image:url(img/whiteButton.png) 0 12 0 12;text-shadow:rgba(255,255,255,0.7) 0 1px 0;}.grayButton{-webkit-border-image:url(img/grayButton.png) 0 12 0 12;color:#FFF;}h1+ul,h2+ul,h3+ul,h4+ul,h5+ul,h6+ul{margin-top:0;}ul{color:black;background:#fff;border:1px solid #B4B4B4;font:bold 17px Helvetica;padding:0;margin:15px 10px 17px 10px;-webkit-border-radius:8px;}ul li{color:#666;border-top:1px solid #B4B4B4;list-style-type:none;padding:10px 10px 10px 10px;}li:first-child,li:first-child a{border-top:0;-webkit-border-top-left-radius:8px;-webkit-border-top-right-radius:8px;}li:last-child,li:last-child a{-webkit-border-bottom-left-radius:8px;-webkit-border-bottom-right-radius:8px;}ul li.arrow{background-image:url(img/chevron.png);background-position:right center;background-repeat:no-repeat;}#plastic ul li.arrow,#metal ul li.arrow{background-image:url(../images/chevron_dg.png);background-position:right center;background-repeat:no-repeat;}ul li a,li.img a+a{color:#000;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;padding:12px 10px 12px 10px;margin:-10px;-webkit-tap-highlight-color:rgba(0,0,0,0);}ul li a.active{background:#194fdb url(img/selection.png) 0 0 repeat-x;color:#fff;}ul li a.button{background-color:#194fdb;color:#fff;}ul li.img a+a{margin:-10px 10px -20px -5px;font-size:17px;font-weight:bold;}ul li.img a+a+a{font-size:14px;font-weight:normal;margin-left:-10px;margin-bottom:-10px;margin-top:0;}ul li.img a+small+a{margin-left:-5px;}ul li.img a+small+a+a{margin-left:-10px;margin-top:-20px;margin-bottom:-10px;font-size:14px;font-weight:normal;}ul li.img a+small+a+a+a{margin-left:0!important;margin-bottom:0;}ul li a+a{color:#000;font:14px Helvetica;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin:0;padding:0;}ul li a+a+a,ul li.img a+a+a+a,ul li.img a+small+a+a+a{color:#666;font:13px Helvetica;margin:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;padding:0;}ul.form li{padding:7px 10px;}ul.form li.error{border:2px solid red;}ul.form li.error+li.error{border-top:0;}ul.form li:hover{background:#fff;}ul li input[type="text"],ul li input[type="password"],ul li textarea,ul li select{color:#777;background:#fff url(../.png);border:0;font:normal 17px Helvetica;padding:0;display:inline-block;margin-left:0;width:100%;-webkit-appearance:textarea;}ul li textarea{height:120px;padding:0;text-indent:-2px;}ul li select{text-indent:0;background:transparent url(../images/chevron.png) no-repeat 103% 3px;-webkit-appearance:textfield;margin-left:-6px;width:104%;}ul li input[type="checkbox"],ul li input[type="radio"]{margin:0;color:#324f85;padding:10px 10px;}ul li input[type="checkbox"]:after,ul li input[type="radio"]:after{content:attr(title);font:17px Helvetica;display:block;width:246px;margin:-12px 0 0 17px;}.edgetoedge h4{color:#fff;background:#9a9faa url(img/listGroup.png) top left repeat-x;border-top:1px solid #a5b1ba;text-shadow:#666 0 1px 0;margin:0;padding:2px 10px;}.edgetoedge,.metal{margin:0;padding:0;background-color:#fff;}.edgetoedge ul,.metal ul,.plastic ul{-webkit-border-radius:0;margin:0;border-left:0;border-right:0;border-top:0;}.metal ul{border-top:0;border-bottom:0;background:#b4b4b4;}.edgetoedge ul li:first-child,.edgetoedge ul li:first-child a,.edgetoedge ul li:last-child,.edgetoedge ul li:last-child a,.metal ul li:first-child a,.metal ul li:last-child a{-webkit-border-radius:0;}.edgetoedge ul li small{font-size:16px;line-height:28px;}.edgetoedge li,.metal li{-webkit-border-radius:0;}.edgetoedge li em{font-weight:normal;font-style:normal;}.edgetoedge h4+ul{border-top:1px solid #989ea4;border-bottom:1px solid #717d85;}ul li small{color:#369;font:17px Helvetica;text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;width:23%;float:right;padding:3px 0;}ul li.arrow small{padding:0 15px;}ul li small.counter{font-size:17px!important;line-height:13px!important;font-weight:bold;background:#9a9faa;color:#fff;-webkit-border-radius:11px;padding:4px 10px 5px 10px;display:inline!important;width:auto;margin-top:-22px;}ul li.arrow small.counter{margin-right:15px;}#plastic ul li.arrow,#metal ul li.arrow{background-image:url(img/listArrow.png);background-position:right center;background-repeat:no-repeat;}.edgetoedge ul,.metal ul,.plastic ul{-webkit-border-radius:0;margin:0;border-left:0;border-right:0;border-top:0;}.metal ul li{border-top:1px solid #eee;border-bottom:1px solid #9c9ea5;background:url(../images/bgMetal.png) top left repeat-x;font-size:26px;text-shadow:#fff 0 1px 0;}.metal ul li a{line-height:26px;margin:0;padding:13px 0;}.metal ul li a:hover{color:#000;}.metal ul li:hover small{color:inherit;}.metal ul li a em{display:block;font-size:14px;font-style:normal;color:#444;width:50%;line-height:14px;}.metal ul li small{float:right;position:relative;margin-top:10px;font-weight:bold;}.metal ul li.arrow a small{padding-right:0;line-height:17px;}.metal ul li.arrow{background:url(../images/bgMetal.png) top left repeat-x,url(../images/chevron_dg.png) right center no-repeat;}.plastic{margin:0;padding:0;background:#adadad;}.plastic ul{-webkit-border-radius:0;margin:0;border-left:0;border-right:0;border-top:0;background-color:#adadad;}.plastic ul li{-webkit-border-radius:0;border-top:1px solid #bfbfbf;border-bottom:1px solid #9d9d9d;}.plastic ul li:nth-child(odd){background-color:#989898;border-top:1px solid #b5b5b5;border-bottom:1px solid #8a8a8a;}.plastic ul+p{font-size:11px;color:#2f3237;text-shadow:none;padding:10px 10px;}.plastic ul+p strong{font-size:14px;line-height:18px;text-shadow:#fff 0 1px 0;}.plastic ul li a{text-shadow:#d3d3d3 0 1px 0;}.plastic ul li:nth-child(odd) a{text-shadow:#bfbfbf 0 1px 0;}.plastic ul li small{color:#3C3C3C;text-shadow:#d3d3d3 0 1px 0;font-size:13px;font-weight:bold;text-transform:uppercase;line-height:24px;}#plastic ul.minibanner,#plastic ul.bigbanner{margin:10px;border:0;height:81px;clear:both;}#plastic ul.bigbanner{height:140px!important;}#plastic ul.minibanner li{border:1px solid #8a8a8a;background-color:#989898;width:145px;height:81px;float:left;-webkit-border-radius:5px;padding:0;}#plastic ul.bigbanner li{border:1px solid #8a8a8a;background-color:#989898;width:296px;height:140px;float:left;-webkit-border-radius:5px;padding:0;margin-bottom:4px;}#plastic ul.minibanner li:first-child{margin-right:6px;}#plastic ul.minibanner li a{color:transparent;text-shadow:none;display:block;width:145px;height:81px;}#plastic ul.bigbanner li a{color:transparent;text-shadow:none;display:block;width:296px;height:145px;}ul.individual{border:0;background:none;clear:both;overflow:hidden;}ul.individual li{color:#b7becd;background:white;border:1px solid #b4b4b4;font-size:14px;text-align:center;-webkit-border-radius:8px;-webkit-box-sizing:border-box;width:48%;float:left;display:block;padding:11px 10px 14px 10px;}ul.individual li+li{float:right;}ul.individual li a{color:#324f85;line-height:16px;margin:-11px -10px -14px -10px;padding:11px 10px 14px 10px;-webkit-border-radius:8px;}ul.individual li a:hover{color:#fff;background:#36c;}.toggle{width:94px;position:relative;height:27px;display:block;overflow:hidden;float:right;}.toggle input[type="checkbox"]:checked{left:0;}.toggle input[type="checkbox"]{-webkit-tap-highlight-color:rgba(0,0,0,0);margin:0;-webkit-border-radius:5px;background:#fff url(img/on_off.png) 0 0 no-repeat;height:27px;overflow:hidden;width:149px;border:0;-webkit-appearance:textarea;background-color:transparent;-webkit-transition:left .15s;position:absolute;top:0;left:-55px;}.info{background:#dce1eb;font-size:12px;line-height:16px;text-align:center;text-shadow:rgba(255,255,255,.8) 0 1px 0;color:#4c566c;padding:15px;border-top:1px solid rgba(76,86,108,.3);font-weight:bold;} \ No newline at end of file diff --git a/themes/bin/backend.php b/themes/bin/backend.php new file mode 100644 index 0000000..54e0058 --- /dev/null +++ b/themes/bin/backend.php @@ -0,0 +1,129 @@ +message; + $status = $data->status; + if ($prevmsg != $message) { + print $tree; + break; + } + else if ($status == "ready") + { + print $tree; + break; + } + usleep(1000); + } + break; + + case ("getTimers"): + $tree = file_get_contents("textfiles/getTimers.txt"); + print $tree; + break; + + case ("editTimer"): + $id = $_REQUEST['id']; + if (id) { + $tree = file_get_contents("textfiles/editTimer.txt"); + } + else { + $tree = file_get_contents("textfiles/addTimer.txt"); + } + print $tree; + break; + + case ("deltimer"): + $tree = file_get_contents("textfiles/delTimer.txt"); + print $tree; + break; + + case ("browseFolder"): + $path = $_REQUEST['path']; + if ( $path == "/video/" ) { + $tree = file_get_contents("textfiles/browseFolder-rec.txt"); + } + else { + $tree = file_get_contents("textfiles/browseFolder-vid.txt"); + } + print $tree; + break; + + case ("browseRec"): + $tree = file_get_contents("textfiles/browseRec.txt"); + print $tree; + break; + + case ("browseAudio"): + $tree = file_get_contents("textfiles/browseAudio.txt"); + print $tree; + break; + + case ("streamAudio"): + $tree = file_get_contents("textfiles/streamAudio.txt"); + print $tree; + break; + } +?> diff --git a/themes/bin/textfiles/addTimer.txt b/themes/bin/textfiles/addTimer.txt new file mode 100644 index 0000000..728616e --- /dev/null +++ b/themes/bin/textfiles/addTimer.txt @@ -0,0 +1 @@ +{ "status": "Ok", "message":"Timer created successfully" } diff --git a/themes/bin/textfiles/browseAudio.txt b/themes/bin/textfiles/browseAudio.txt new file mode 100644 index 0000000..2f91c4f --- /dev/null +++ b/themes/bin/textfiles/browseAudio.txt @@ -0,0 +1,21 @@ +{ + "list": + [ + { + "type": "folder", + "name": "album1", + "path": "/mnt/music/album1" + }, + { + "type": "folder", + "name": "album2", + "path": "/mnt/music/album2" + }, + { + "type": "audio", + "name": "audiofile.mp3", + "length": "3.30", + "path": "/mnt/music/audiofile.mp3" + } + ] +} diff --git a/themes/bin/textfiles/browseFolder-rec.txt b/themes/bin/textfiles/browseFolder-rec.txt new file mode 100644 index 0000000..c3d721c --- /dev/null +++ b/themes/bin/textfiles/browseFolder-rec.txt @@ -0,0 +1,22 @@ +{ + "list": + [ + { + "type": "folder", + "name": "rec1", + "path": "/video/rec1" + }, + { + "type": "folder", + "name": "rec2", + "path": "/video/rec2" + }, + { + "type": "rec", + "name": "2010/02/25 at 23h21", + "path": "/video/rec1/2010-02-25.23.21.3-0.rec" + } + + ] +} + diff --git a/themes/bin/textfiles/browseFolder-vid.txt b/themes/bin/textfiles/browseFolder-vid.txt new file mode 100644 index 0000000..62fecf3 --- /dev/null +++ b/themes/bin/textfiles/browseFolder-vid.txt @@ -0,0 +1,20 @@ +{ + "list": + [ + { + "type": "folder", + "name": "movie1", + "path": "/mnt/videos/movie1" + }, + { + "type": "folder", + "name": "movie2", + "path": "/mnt/videos/movie2" + }, + { + "type": "video", + "name": "videofile.avi", + "path": "/mnt/videos/videofile.avi" + } + ] +} diff --git a/themes/bin/textfiles/delTimer.txt b/themes/bin/textfiles/delTimer.txt new file mode 100644 index 0000000..9ab3b92 --- /dev/null +++ b/themes/bin/textfiles/delTimer.txt @@ -0,0 +1 @@ +{ "status": "ok", "message":"Timer successfully deleted" } diff --git a/themes/bin/textfiles/editTimer.txt b/themes/bin/textfiles/editTimer.txt new file mode 100644 index 0000000..bad3855 --- /dev/null +++ b/themes/bin/textfiles/editTimer.txt @@ -0,0 +1 @@ +{ "status": "Ok", "message":"Timer edited successfully" } diff --git a/themes/bin/textfiles/getChanInfo.txt b/themes/bin/textfiles/getChanInfo.txt new file mode 100644 index 0000000..94f302d --- /dev/null +++ b/themes/bin/textfiles/getChanInfo.txt @@ -0,0 +1,14 @@ +{ + "program": + { + "name": "TF1", + "number": "1", + "now_time": "13h00-13h30", + "now_title": "Journal de 13h", + "now_desc": "Les informations de 13h... Blahblah..", + "next_time": "13h35-13h45", + "next_title": "Météo", + "next_desc": "Le bulletin météo de la journée." + } +} + diff --git a/themes/bin/textfiles/getFullChanList.txt b/themes/bin/textfiles/getFullChanList.txt new file mode 100644 index 0000000..80e0495 --- /dev/null +++ b/themes/bin/textfiles/getFullChanList.txt @@ -0,0 +1,34 @@ +{ + "category": + [ + { + "name": "Nationales&TNT", + "channel": + [ + { + "name": "TF1", + "number": "1" + },{ + "name": "FRANCE 2", + "number": "2" + },{ + "name": "FRANCE 3", + "number": "3" + } + ] + }, + { + "name": "Divertissement", + "channel": + [ + { + "name": "Paris Première", + "number": "10" + },{ + "name": "RTL Télévision", + "number": "11" + } + ] + } + ] +} diff --git a/themes/bin/textfiles/getGlobals.txt b/themes/bin/textfiles/getGlobals.txt new file mode 100644 index 0000000..87a9994 --- /dev/null +++ b/themes/bin/textfiles/getGlobals.txt @@ -0,0 +1,6 @@ +{ + "streamdev_server": "http://127.0.0.1:3000", + "rec_path": "/video/", + "video_path": "/mnt/media/Video/", + "audio_path": "/mnt/media/Music/" +} diff --git a/themes/bin/textfiles/getRecInfo.txt b/themes/bin/textfiles/getRecInfo.txt new file mode 100644 index 0000000..6488ea7 --- /dev/null +++ b/themes/bin/textfiles/getRecInfo.txt @@ -0,0 +1,10 @@ +{ + "program": + { + "name": "Journal de 13h", + "channel": "TF1", + "recorded": "2010-02-02 at 19h30", + "desc": "Les informations de 13h..." + } +} + diff --git a/themes/bin/textfiles/getStreamInfo-1.txt b/themes/bin/textfiles/getStreamInfo-1.txt new file mode 100644 index 0000000..fe89488 --- /dev/null +++ b/themes/bin/textfiles/getStreamInfo-1.txt @@ -0,0 +1,17 @@ +{ + "stream": + { + "session": "1", + "type": "tv", + "name": "TF1", + "mode": "3G", + "now_time": "13h00-13h30", + "now_title": "Journal de 13h", + "now_desc": "Les informations de 13h...", + "next_time": "13h35-13h45", + "next_title": "Météo", + "next_desc": "Le bulletin météo de la journée.", + "thumbwidth" : "80", + "thumbheight" : "80" + } +} diff --git a/themes/bin/textfiles/getStreamInfo-2.txt b/themes/bin/textfiles/getStreamInfo-2.txt new file mode 100644 index 0000000..f097b7f --- /dev/null +++ b/themes/bin/textfiles/getStreamInfo-2.txt @@ -0,0 +1,16 @@ +{ + "stream": + { + "session": "2", + "type": "rec", + "name": "Journal de 13h", + "channel": "TF1", + "recorded": "2010-02-02 at 19h30", + "desc": "Les informations de 13h...", + "mode": "3G", + "thumbwidth": "80", + "thumbheight": "80" + } +} + + diff --git a/themes/bin/textfiles/getStreamInfo-3.txt b/themes/bin/textfiles/getStreamInfo-3.txt new file mode 100644 index 0000000..a0f2558 --- /dev/null +++ b/themes/bin/textfiles/getStreamInfo-3.txt @@ -0,0 +1,17 @@ +{ + "stream": + { + "session": "3", + "type": "vid", + "name": "Mavideo.avi", + "desc": "", + "duration": "1:41:55", + "format": "avi", + "video": "XviD MPEG-4", + "audio": "MPEG Layer 3", + "resolution": "608x256", + "mode": "3G", + "thumbwidth": "180", + "thumbheight": "100" + } +} diff --git a/themes/bin/textfiles/getStreamStatus.txt b/themes/bin/textfiles/getStreamStatus.txt new file mode 100644 index 0000000..d14a003 --- /dev/null +++ b/themes/bin/textfiles/getStreamStatus.txt @@ -0,0 +1 @@ +{"status": "ready","message": "3G Broadcast ready", "url": "ram/session1/stream.m3u8"} diff --git a/themes/bin/textfiles/getTimers.txt b/themes/bin/textfiles/getTimers.txt new file mode 100644 index 0000000..103d110 --- /dev/null +++ b/themes/bin/textfiles/getTimers.txt @@ -0,0 +1,38 @@ +{ + "timer": + [ + { + "id": "1", + "name": "Timername", + "active": "1", + "channumber": "2", + "channame": "FRANCE 2", + "date": "2010-03-10", + "starttime": "2030", + "endtime": "2230", + "running": "0" + }, + { + "id": "2", + "name": "Timername2", + "active": "0", + "channumber": "3", + "channame": "FRANCE 3", + "date": "2010-05-10", + "starttime": "1030", + "endtime": "1230", + "running": "0" + }, + { + "id": "3", + "name": "Timername3", + "active": "1", + "channumber": "4", + "channame": "Canal +", + "date": "2010-03-13", + "starttime": "2030", + "endtime": "2230", + "running": "1" + } + ] +} diff --git a/themes/bin/textfiles/getTvCat.txt b/themes/bin/textfiles/getTvCat.txt new file mode 100644 index 0000000..0d95dca --- /dev/null +++ b/themes/bin/textfiles/getTvCat.txt @@ -0,0 +1,16 @@ +{ + "categories": + [ + { + "name": "Nationales&TNT", + "channels": "17" + },{ + "name": "Divertissements", + "channels": "12" + },{ + "name": "Information", + "channels": "6" + } + ] +} + diff --git a/themes/bin/textfiles/getTvChan.txt b/themes/bin/textfiles/getTvChan.txt new file mode 100644 index 0000000..03d4840 --- /dev/null +++ b/themes/bin/textfiles/getTvChan.txt @@ -0,0 +1,19 @@ +{ + "channel": + [ + { + "name": "TF1", + "number": "1", + "now_title": "Journal de 13h", + },{ + "name": "FRANCE 2", + "number": "2", + "now_title": "Tournez manège", + },{ + "name": "FRANCE 3", + "number": "3", + "now_title": "Journal régional" + } + ] +} + diff --git a/themes/bin/textfiles/getVidInfo.txt b/themes/bin/textfiles/getVidInfo.txt new file mode 100644 index 0000000..11a58f7 --- /dev/null +++ b/themes/bin/textfiles/getVidInfo.txt @@ -0,0 +1,13 @@ +{ + "program": + { + "name": "Mavideo.avi", + "desc": "", + "duration": "1:41:55", + "format": "avi", + "video": "XviD MPEG-4", + "audio": "MPEG Layer 3", + "resolution": "608x256" + } +} + diff --git a/themes/bin/textfiles/startBroadcast-rec.txt b/themes/bin/textfiles/startBroadcast-rec.txt new file mode 100644 index 0000000..e24cc29 --- /dev/null +++ b/themes/bin/textfiles/startBroadcast-rec.txt @@ -0,0 +1,2 @@ +{ "session": "2" } + diff --git a/themes/bin/textfiles/startBroadcast-tv.txt b/themes/bin/textfiles/startBroadcast-tv.txt new file mode 100644 index 0000000..b34344a --- /dev/null +++ b/themes/bin/textfiles/startBroadcast-tv.txt @@ -0,0 +1,2 @@ +{ "session": "1" } + diff --git a/themes/bin/textfiles/startBroadcast-vid.txt b/themes/bin/textfiles/startBroadcast-vid.txt new file mode 100644 index 0000000..a1fffae --- /dev/null +++ b/themes/bin/textfiles/startBroadcast-vid.txt @@ -0,0 +1,2 @@ +{ "session": "3" } + diff --git a/themes/bin/textfiles/stopBroadcast.txt b/themes/bin/textfiles/stopBroadcast.txt new file mode 100644 index 0000000..0b99d06 --- /dev/null +++ b/themes/bin/textfiles/stopBroadcast.txt @@ -0,0 +1 @@ +{ "status": "ok", "message": "Successfully stopped broadcast" } diff --git a/themes/bin/textfiles/streamAudio.txt b/themes/bin/textfiles/streamAudio.txt new file mode 100644 index 0000000..28cca73 --- /dev/null +++ b/themes/bin/textfiles/streamAudio.txt @@ -0,0 +1,14 @@ +{ + playlist: + [ + { + "file": "/istreamdev/playlist/track1.mp3" + }, + { + "file": "/istreamdev/playlist/track2.mp3" + }, + { + "file": "/istreamdev/playlist/track3.mp3" + } + ] +} diff --git a/themes/css/istreamdev.css b/themes/css/istreamdev.css new file mode 100644 index 0000000..ac58b7a --- /dev/null +++ b/themes/css/istreamdev.css @@ -0,0 +1,316 @@ + +div.loader { + font-family: Arial, Helvetica, sans-serif; + font-size: 14px; + + background-image: url(../img/loading.gif); + background-repeat: no-repeat; + background-position: 50% 50%; + text-align: center; + vertical-align: middle; + height: 100%; + width: 100%; + position: absolute; + z-index: 10; + left: 0px; + top: 0px; + opacity: .85; + display: block; + +} + +ul li img.menuicon { +vertical-align: middle; +} + +h1 img.menuicon { +position:relative; +top: 3px; +width: 22px; +height: 20px; +} + +.menuname { +vertical-align: middle; +margin: 0 0 0 10px; +} + +li.forward > a > span, span.substring { +vertical-align: middle; +} +li.channellist { +height: 55px; +background-image: url(../img/chevron.png), -webkit-gradient(linear, 0% 0%, 0% 100%, from(#4c4d4e), to(#404142)); +background-position: right center; +background-repeat: no-repeat; +} + +li.channellist img { +width: 55px; +height: 55px; +vertical-align: middle; +position: relative; +-webkit-mask-box-image: url(../img/mask.png) 80 stretch; +top: 0px; +} + +li.channellist span.name { +margin: 10px 0 0 0px; +left: 90px; +text-overflow: ellipsis; +overflow: hidden; +max-width: 80%!important; +white-space: nowrap; +font-size: 17px; +line-height: normal; +position: absolute; +font-weight: bold; + +} +li.channellist span.comment { +margin: 28px 0 0 0px; +left: 90px; +max-width: 80%!important; +font-size: 14px; +line-height: normal; +position: absolute; +top: 15 px; +font-style: italic; +font-weight: normal; +} + +li.channellist small.counter { + margin-right: 15px; + position: relative; + top: 36px; + font-size: 17px; + line-height: 13px; + font-weight: bold; + background: rgba(0,0,0,.15); + color: #fff; + -webkit-border-radius: 11px; + display: block; + width: auto; + -webkit-box-shadow: rgba(255,255,255,.1) 0 1px 0; +} +ul.thumb { +-webkit-border-radius: 8px; +-webkit-box-shadow: rgba(0,0,0,.3) 1px 1px 3px; +} + +.thumbnail { +vertical-align: middle; +margin: 5px 0 5px 0; +} + +span.streamButton a{ +margin: 5px 5px 5px 5px; +border-width: 0 12px; +padding: 8px; +text-align: center; +font-size: 14px; +font-weight: bold; +text-decoration: inherit; +color: inherit; +-webkit-border-image: url(../img/stream.png) 0 12 0 12; +color: #FFFFFF; +} +span.streamButton a:active{ +color: #aaa; +-webkit-border-image: url(../img/stream_clicked.png) 0 12 0 12; +} +span.recButton a{ +margin: 5px 5px 5px 5px; +border-width: 0 12px; +padding: 8px; +text-align: center; +font-size: 14px; +font-weight: bold; +text-decoration: inherit; +color: inherit; +-webkit-border-image: url(../img/rec.png) 0 12 0 12; +color: #FFFFFF; +} +span.recButton a:active{ +color: #aaa; +-webkit-border-image: url(../img/rec_clicked.png) 0 12 0 12; +} + +ul.streaminfo { +-webkit-border-radius: 8px; +-webkit-box-shadow: rgba(0,0,0,.3) 1px 1px 3px; +} +ul.streaminfo li:first-child, ul.streaminfo li:first-child a { + border-top: 0; + -webkit-border-top-left-radius: 8px; + -webkit-border-top-right-radius: 8px; +} +ul.streaminfo li:last-child, ul.streaminfo li:last-child a { + -webkit-border-bottom-left-radius: 8px; + -webkit-border-bottom-right-radius: 8px; +} + +ul.streaminfo span.name_now, span.name_next { +padding-top: 0px; +padding-right: 10px; +padding-left: 10px; +font-size: 17px; +font-weight: bold; +display: block; +color: white; +text-shadow: rgba(0,0,0,.8) 0 1px 0; +} +ul.streaminfo span.epgtime_now, span.epgtime_next { +padding-top: 0px; +padding-right: 10px; +padding-left: 10px; +font-size: 14px; +font-weight: bold; +display: block; +color: #ccc; +text-shadow: rgba(0,0,0,.8) 0 1px 0; +} +ul.streaminfo span.desc_now { +position: relative; +padding-top: 5px; +padding-right: 10px; +padding-bottom: 10px; +padding-left: 10px; +display: block; +color: white; +font-size: 14px; +font-style: italic; +font-weight: normal; +line-height: normal; + +} + +ul.streamstatus { +-webkit-border-radius: 8px; +-webkit-box-shadow: rgba(0,0,0,.3) 1px 1px 3px; +} +ul.streamstatus span.title { +padding-top: 10px; +padding-right: 10px; +padding-left: 10px; +font-size: 17px; +font-weight: bold; +display: block; +color: white; +text-shadow: rgba(0,0,0,.8) 0 1px 0; +} + +ul.streamstatus span.mode { +position: relative; +padding-top: 10px; +padding-right: 10px; +padding-bottom: 10px; +padding-left: 10px; +display: block; +color: white; +font-size: 14px; +font-style: italic; +font-weight: normal; +line-height: normal; +} +#jqt ul li select option{ +color: #000000; +} +#jqt ul li select optgroup{ +color: #999; +} +span.timertitle { +padding-right: 10px; +padding-left: 10px; +font-size: 14px; +font-weight: bold; +color: #999; +text-shadow: rgba(0,0,0,.8) 0 1px 0; +} +span.menutitle { +padding-right: 10px; +padding-left: 10px; +font-size: 17px; +font-weight: bold; +color: #999; +text-shadow: rgba(0,0,0,.8) 0 1px 0; +} +.formerrormsg { +padding-right: 10px; +padding-left: 10px; +font-size: 12px; +color: #FF8300; + +} +#timers .info { +display: none; +} + +a.cat_but { + +} + +video { +padding-top:5px; +} +li.track small.counter { +margin-right: 15px; +position: relative; +top: -2px; +font-size: 17px; +line-height: 13px; +font-weight: bold; +background: rgba(0,0,0,.15); +color: #fff; +-webkit-border-radius: 11px; +display: block; +width: auto; +-webkit-box-shadow: rgba(255,255,255,.1) 0 1px 0; +} +li.track { +height: 20px; +padding: 0; +} + +li.track .numberbox { +position: relative; +width: 23px; +height: 42px; +top: -10px; +display: block; +float: left; +margin-right: 3px; +border-right: 1px solid #333333; +-webkit-box-shadow: rgba(255,255,255,.1) 0 1px 0; +} +li.track .number { +position: absolute; +color: #9c9ea0; +top: 10px; +left: 2px; +} +li.track a span.tracktitle { +position: relative; +left: 32px; +padding-left: 4px; +top: -3px; +} +li.track div.timebox { +position: relative; +width: 30px; +height: 42px; +top: -38px; +display: block; +float: right; +margin-left: 3px; +border-left: 1px solid #333333; +-webkit-box-shadow: rgba(255,255,255,.1) 0 1px 0; +} +li.track .time { +position: absolute; +color: #9c9ea0; +top: 13px; +left: 5px; +font-size: 14px; +} + diff --git a/themes/css/spinningwheel.css b/themes/css/spinningwheel.css new file mode 100644 index 0000000..169853a --- /dev/null +++ b/themes/css/spinningwheel.css @@ -0,0 +1,96 @@ +#sw-wrapper { + position:absolute; z-index:1000; + left:0; + width:100%; + display:inline !important; + min-height: 0px !important; + font-family:helvetica, sans-serif; + background:rgba(0,0,0,0.7); + text-align:left; +} + +#sw-header { + position:relative; + width:100%; height:43px; + border-top:1px solid #000; border-bottom:1px solid #000; + background:url(../img/sw-header.png) 0 0 repeat-x; + opacity: 0.9; +} + +#sw-cancel, #sw-done { + position:absolute; + top:7px; + height:20px; line-height:20px; + padding:0 5px; margin:0; + border-width:5px; + font-size:12px; font-weight:bold; + text-shadow:rgba(0,0,0,0.8) 0 -1px 0; + color:#fff; +} + +#sw-cancel { + left:7px; + float:left; + -webkit-border-image:url(../img/sw-button-cancel.png) 5; +} + +#sw-done { + right:7px; + float:right; + -webkit-border-image:url(../img/sw-button-done.png) 5; +} + +.sw-pressed { opacity:0.4; } + +#sw-slots-wrapper { + position:relative; z-index:999; + display:block; + height:215px; + padding:0 11px; + overflow:hidden; +} + +#sw-slots { + display:table; + width:100%; + background:#fcfcfc; +} + +#sw-slots div { + display:table-cell; + height:100%; + padding-top:86px; + border-left:2px solid #0d0e0f; + background-color:#fcfcfc; + background-image: url(../img/sw-slot-border.png); + background-position: 0 0, 100% 0; + background-repeat: repeat-y; +} + +#sw-slots div:first-child { border:0; } + +#sw-slots ul { + padding:0 0 85px 0; margin:0; + list-style:none; +} + +#sw-slots .sw-right { text-align:right; } +#sw-slots .sw-shrink { width:1%; } +#sw-slots .sw-readonly { background:#ddd; } + +#sw-slots li { + border-top: 0px solid black !important; + color:#000000 !important; + padding:0 8px; + height:44px; + overflow:hidden; + font:bold 24px/44px Helvetica,sans-serif; +} + +#sw-frame { + position:absolute; z-index:1000; + left:0; right:0; bottom:0; + height:183px; + border-width:16px; + -webkit-border-image:url(../img/sw-alpha.png) 16; +} \ No newline at end of file diff --git a/themes/extensions/.svn/all-wcprops b/themes/extensions/.svn/all-wcprops new file mode 100644 index 0000000..e72a5c1 --- /dev/null +++ b/themes/extensions/.svn/all-wcprops @@ -0,0 +1,29 @@ +K 25 +svn:wc:ra_dav:version-url +V 34 +/svn/!svn/ver/130/trunk/extensions +END +jqt.location.js +K 25 +svn:wc:ra_dav:version-url +V 49 +/svn/!svn/ver/87/trunk/extensions/jqt.location.js +END +jqt.autotitles.js +K 25 +svn:wc:ra_dav:version-url +V 52 +/svn/!svn/ver/130/trunk/extensions/jqt.autotitles.js +END +jqt.floaty.js +K 25 +svn:wc:ra_dav:version-url +V 47 +/svn/!svn/ver/92/trunk/extensions/jqt.floaty.js +END +jqt.offline.js +K 25 +svn:wc:ra_dav:version-url +V 48 +/svn/!svn/ver/88/trunk/extensions/jqt.offline.js +END diff --git a/themes/extensions/.svn/entries b/themes/extensions/.svn/entries new file mode 100644 index 0000000..c0c93cd --- /dev/null +++ b/themes/extensions/.svn/entries @@ -0,0 +1,164 @@ +10 + +dir +133 +http://jqtouch.googlecode.com/svn/trunk/extensions +http://jqtouch.googlecode.com/svn + + + +2010-01-07T21:41:55.246845Z +130 +RBoulanouar + + + + + + + + + + + + + + +210952ee-217a-11de-8f7e-2b794b28c5cd + +jqt.location.js +file + + + + +2010-03-04T14:47:55.242266Z +62b4ccafb57c6d4ad68310e31b9be8c5 +2009-09-29T19:27:22.524742Z +87 +davidcolbykaneda + + + + + + + + + + + + + + + + + + + + + +2359 + +jqt.autotitles.js +file + + + + +2010-03-04T14:47:55.242266Z +7b9fb5c8e2cfa161627e35b8045a3ff6 +2010-01-07T21:41:55.246845Z +130 +RBoulanouar + + + + + + + + + + + + + + + + + + + + + +1674 + +jqt.floaty.js +file + + + + +2010-03-04T14:47:55.242266Z +594e49444cb823a1f98b59728419b309 +2009-10-02T18:26:35.525065Z +92 +davidcolbykaneda + + + + + + + + + + + + + + + + + + + + + +3357 + +jqt.offline.js +file + + + + +2010-03-04T14:47:55.243073Z +f2301fb7d6f82d39cd9cf0e45edfa61d +2009-09-30T17:50:08.206588Z +88 +davidcolbykaneda + + + + + + + + + + + + + + + + + + + + + +3820 + diff --git a/themes/extensions/.svn/text-base/jqt.autotitles.js.svn-base b/themes/extensions/.svn/text-base/jqt.autotitles.js.svn-base new file mode 100644 index 0000000..74ba6f8 --- /dev/null +++ b/themes/extensions/.svn/text-base/jqt.autotitles.js.svn-base @@ -0,0 +1,51 @@ +/* + + _/ _/_/ _/_/_/_/_/ _/ + _/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/ + _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ + _/ + _/ + + Created by David Kaneda + Documentation and issue tracking on Google Code + + Special thanks to Jonathan Stark + and pinch/zoom + + (c) 2009 by jQTouch project members. + See LICENSE.txt for license. + +*/ + +(function($) { + if ($.jQTouch) + { + $.jQTouch.addExtension(function AutoTitles(jQT){ + + var titleSelector='.toolbar h1'; + + $(function(){ + $('#jqt').bind('pageAnimationStart', function(e, data){ + if (data.direction === 'in'){ + var $title = $(titleSelector, $(e.target)); + var $ref = $(e.target).data('referrer'); + if ($title.length && $ref){ + $title.html($ref.text()); + } + } + }); + }); + + function setTitleSelector(ts){ + titleSelector=ts; + } + + return { + setTitleSelector: setTitleSelector + } + + }); + } +})(jQuery); \ No newline at end of file diff --git a/themes/extensions/.svn/text-base/jqt.floaty.js.svn-base b/themes/extensions/.svn/text-base/jqt.floaty.js.svn-base new file mode 100644 index 0000000..63fb5e6 --- /dev/null +++ b/themes/extensions/.svn/text-base/jqt.floaty.js.svn-base @@ -0,0 +1,92 @@ +/* + + _/ _/_/ _/_/_/_/_/ _/ + _/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/ + _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ + _/ + _/ + + Created by David Kaneda + Documentation and issue tracking on Google Code + + Special thanks to Jonathan Stark + and pinch/zoom + + (c) 2009 by jQTouch project members. + See LICENSE.txt for license. + +*/ + +(function($) { + if ($.jQTouch) + { + $.jQTouch.addExtension(function Floaty(jQT){ + + $.fn.makeFloaty = function(options){ + var defaults = { + align: 'top', + spacing: 20, + time: '.3s' + } + var settings = $.extend({}, defaults, options); + settings.align = (settings.align == 'top') ? 'top' : 'bottom'; + + return this.each(function(){ + var $el = $(this); + + $el.css({ + '-webkit-transition': 'top ' + settings.time + ' ease-in-out', + 'display': 'block', + 'min-height': '0 !important' + }).data('settings', settings); + + $(document).bind('scroll', function(){ + if ($el.data('floatyVisible') === true) + { + $el.scrollFloaty(); + } + }); + $el.scrollFloaty(); + }); + } + + $.fn.scrollFloaty = function(){ + return this.each(function(){ + var $el = $(this); + var settings = $el.data('settings'); + var wHeight = $('html').attr('clientHeight'); // WRONG + + var newY = window.pageYOffset + + ((settings.align == 'top') ? + settings.spacing : wHeight - settings.spacing - $el.get(0).offsetHeight); + + $el.css('top', newY).data('floatyVisible', true); + }); + } + + $.fn.hideFloaty = function(){ + return this.each(function(){ + var $el = $(this); + var oh = $el.get(0).offsetHeight; + + $el.css('top', -oh-10).data('floatyVisible', false); + }); + } + + $.fn.toggleFloaty = function(){ + return this.each(function(){ + var $el = $(this); + if ($el.data('floatyVisible') === true){ + $el.hideFloaty(); + } + else + { + $el.scrollFloaty(); + } + }); + } + }); + } +})(jQuery); \ No newline at end of file diff --git a/themes/extensions/.svn/text-base/jqt.location.js.svn-base b/themes/extensions/.svn/text-base/jqt.location.js.svn-base new file mode 100644 index 0000000..a944953 --- /dev/null +++ b/themes/extensions/.svn/text-base/jqt.location.js.svn-base @@ -0,0 +1,68 @@ +/* + + _/ _/_/ _/_/_/_/_/ _/ + _/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/ + _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ + _/ + _/ + + Created by David Kaneda + Documentation and issue tracking on Google Code + + Special thanks to Jonathan Stark + and pinch/zoom + + (c) 2009 by jQTouch project members. + See LICENSE.txt for license. + +*/ + +(function($) { + if ($.jQTouch) + { + $.jQTouch.addExtension(function Location(){ + + var latitude, longitude, callback; + + function checkGeoLocation() { + return navigator.geolocation; + } + function updateLocation(fn) { + if (checkGeoLocation()) + { + callback = fn; + navigator.geolocation.getCurrentPosition(savePosition); + return true; + } else { + console.log('Device not capable of geo-location.'); + fn(false); + return false; + } + } + function savePosition(position) { + latitude = position.coords.latitude; + longitude = position.coords.longitude; + if (callback) { + callback(getLocation()); + } + } + function getLocation() { + if (latitude && longitude) { + return { + latitude: latitude, + longitude: longitude + } + } else { + console.log('No location available. Try calling updateLocation() first.'); + return false; + } + } + return { + updateLocation: updateLocation, + getLocation: getLocation + } + }); + } +})(jQuery); \ No newline at end of file diff --git a/themes/extensions/.svn/text-base/jqt.offline.js.svn-base b/themes/extensions/.svn/text-base/jqt.offline.js.svn-base new file mode 100644 index 0000000..b333a16 --- /dev/null +++ b/themes/extensions/.svn/text-base/jqt.offline.js.svn-base @@ -0,0 +1,97 @@ +/* + + _/ _/_/ _/_/_/_/_/ _/ + _/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/ + _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ + _/ + _/ + + Created by David Kaneda + Documentation and issue tracking on Google Code + + Special thanks to Jonathan Stark + + Lots of this code is specifically derived from Jonathan's book, + "Building iPhone Apps with HTML, CSS, and JavaScript" + + (c) 2009 by jQTouch project members. + See LICENSE.txt for license. + +*/ + +(function($) { + if ($.jQTouch) + { + $.jQTouch.addExtension(function Offline(){ + + // Convenience array of status values + var cacheStatusValues = []; + cacheStatusValues[0] = 'uncached'; + cacheStatusValues[1] = 'idle'; + cacheStatusValues[2] = 'checking'; + cacheStatusValues[3] = 'downloading'; + cacheStatusValues[4] = 'updateready'; + cacheStatusValues[5] = 'obsolete'; + + // Listeners for all possible events + var cache = window.applicationCache; + cache.addEventListener('cached', logEvent, false); + cache.addEventListener('checking', logEvent, false); + cache.addEventListener('downloading', logEvent, false); + cache.addEventListener('error', logEvent, false); + cache.addEventListener('noupdate', logEvent, false); + cache.addEventListener('obsolete', logEvent, false); + cache.addEventListener('progress', logEvent, false); + cache.addEventListener('updateready', logEvent, false); + + // Log every event to the console + function logEvent(e) { + var online, status, type, message; + online = (isOnline()) ? 'yes' : 'no'; + status = cacheStatusValues[cache.status]; + type = e.type; + message = 'online: ' + online; + message+= ', event: ' + type; + message+= ', status: ' + status; + if (type == 'error' && navigator.onLine) { + message+= ' There was an unknown error, check your Cache Manifest.'; + } + console.log(message); + } + + function isOnline() { + return navigator.onLine; + } + + if (!$('html').attr('manifest')) { + console.log('No Cache Manifest listed on the tag.') + } + + // Swap in newly download files when update is ready + cache.addEventListener('updateready', function(e){ + // Don't perform "swap" if this is the first cache + if (cacheStatusValues[cache.status] != 'idle') { + cache.swapCache(); + console.log('Swapped/updated the Cache Manifest.'); + } + } + , false); + + // These two functions check for updates to the manifest file + function checkForUpdates(){ + cache.update(); + } + function autoCheckForUpdates(){ + setInterval(function(){cache.update()}, 10000); + } + + return { + isOnline: isOnline, + checkForUpdates: checkForUpdates, + autoCheckForUpdates: autoCheckForUpdates + } + }); + } +})(jQuery); \ No newline at end of file diff --git a/themes/extensions/jqt.autotitles.js b/themes/extensions/jqt.autotitles.js new file mode 100644 index 0000000..f10142b --- /dev/null +++ b/themes/extensions/jqt.autotitles.js @@ -0,0 +1,51 @@ +/* + + _/ _/_/ _/_/_/_/_/ _/ + _/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/ + _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ + _/ + _/ + + Created by David Kaneda + Documentation and issue tracking on Google Code + + Special thanks to Jonathan Stark + and pinch/zoom + + (c) 2009 by jQTouch project members. + See LICENSE.txt for license. + +*/ + +(function($) { + if ($.jQTouch) + { + $.jQTouch.addExtension(function AutoTitles(jQT){ + + var titleSelector='.toolbar h1'; + + $(function(){ + $('#jqt').bind('pageAnimationStart', function(e, data){ + if (data.direction === 'in'){ + var $title = $(titleSelector, $(e.target)); + var $ref = $(e.target).data('referrer'); + if ($title.length && $ref){ + $title.html($ref.text()); + } + } + }); + }); + + function setTitleSelector(ts){ + titleSelector=ts; + } + + return { + setTitleSelector: setTitleSelector + } + + }); + } +})(jQuery); \ No newline at end of file diff --git a/themes/extensions/jqt.floaty.js b/themes/extensions/jqt.floaty.js new file mode 100644 index 0000000..2ae8f4d --- /dev/null +++ b/themes/extensions/jqt.floaty.js @@ -0,0 +1,92 @@ +/* + + _/ _/_/ _/_/_/_/_/ _/ + _/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/ + _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ + _/ + _/ + + Created by David Kaneda + Documentation and issue tracking on Google Code + + Special thanks to Jonathan Stark + and pinch/zoom + + (c) 2009 by jQTouch project members. + See LICENSE.txt for license. + +*/ + +(function($) { + if ($.jQTouch) + { + $.jQTouch.addExtension(function Floaty(jQT){ + + $.fn.makeFloaty = function(options){ + var defaults = { + align: 'top', + spacing: 20, + time: '.3s' + } + var settings = $.extend({}, defaults, options); + settings.align = (settings.align == 'top') ? 'top' : 'bottom'; + + return this.each(function(){ + var $el = $(this); + + $el.css({ + '-webkit-transition': 'top ' + settings.time + ' ease-in-out', + 'display': 'block', + 'min-height': '0 !important' + }).data('settings', settings); + + $(document).bind('scroll', function(){ + if ($el.data('floatyVisible') === true) + { + $el.scrollFloaty(); + } + }); + $el.scrollFloaty(); + }); + } + + $.fn.scrollFloaty = function(){ + return this.each(function(){ + var $el = $(this); + var settings = $el.data('settings'); + var wHeight = $('html').attr('clientHeight'); // WRONG + + var newY = window.pageYOffset + + ((settings.align == 'top') ? + settings.spacing : wHeight - settings.spacing - $el.get(0).offsetHeight); + + $el.css('top', newY).data('floatyVisible', true); + }); + } + + $.fn.hideFloaty = function(){ + return this.each(function(){ + var $el = $(this); + var oh = $el.get(0).offsetHeight; + + $el.css('top', -oh-10).data('floatyVisible', false); + }); + } + + $.fn.toggleFloaty = function(){ + return this.each(function(){ + var $el = $(this); + if ($el.data('floatyVisible') === true){ + $el.hideFloaty(); + } + else + { + $el.scrollFloaty(); + } + }); + } + }); + } +})(jQuery); \ No newline at end of file diff --git a/themes/extensions/jqt.location.js b/themes/extensions/jqt.location.js new file mode 100644 index 0000000..29b79a0 --- /dev/null +++ b/themes/extensions/jqt.location.js @@ -0,0 +1,68 @@ +/* + + _/ _/_/ _/_/_/_/_/ _/ + _/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/ + _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ + _/ + _/ + + Created by David Kaneda + Documentation and issue tracking on Google Code + + Special thanks to Jonathan Stark + and pinch/zoom + + (c) 2009 by jQTouch project members. + See LICENSE.txt for license. + +*/ + +(function($) { + if ($.jQTouch) + { + $.jQTouch.addExtension(function Location(){ + + var latitude, longitude, callback; + + function checkGeoLocation() { + return navigator.geolocation; + } + function updateLocation(fn) { + if (checkGeoLocation()) + { + callback = fn; + navigator.geolocation.getCurrentPosition(savePosition); + return true; + } else { + console.log('Device not capable of geo-location.'); + fn(false); + return false; + } + } + function savePosition(position) { + latitude = position.coords.latitude; + longitude = position.coords.longitude; + if (callback) { + callback(getLocation()); + } + } + function getLocation() { + if (latitude && longitude) { + return { + latitude: latitude, + longitude: longitude + } + } else { + console.log('No location available. Try calling updateLocation() first.'); + return false; + } + } + return { + updateLocation: updateLocation, + getLocation: getLocation + } + }); + } +})(jQuery); \ No newline at end of file diff --git a/themes/extensions/jqt.offline.js b/themes/extensions/jqt.offline.js new file mode 100644 index 0000000..6145727 --- /dev/null +++ b/themes/extensions/jqt.offline.js @@ -0,0 +1,97 @@ +/* + + _/ _/_/ _/_/_/_/_/ _/ + _/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/ + _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ + _/ + _/ + + Created by David Kaneda + Documentation and issue tracking on Google Code + + Special thanks to Jonathan Stark + + Lots of this code is specifically derived from Jonathan's book, + "Building iPhone Apps with HTML, CSS, and JavaScript" + + (c) 2009 by jQTouch project members. + See LICENSE.txt for license. + +*/ + +(function($) { + if ($.jQTouch) + { + $.jQTouch.addExtension(function Offline(){ + + // Convenience array of status values + var cacheStatusValues = []; + cacheStatusValues[0] = 'uncached'; + cacheStatusValues[1] = 'idle'; + cacheStatusValues[2] = 'checking'; + cacheStatusValues[3] = 'downloading'; + cacheStatusValues[4] = 'updateready'; + cacheStatusValues[5] = 'obsolete'; + + // Listeners for all possible events + var cache = window.applicationCache; + cache.addEventListener('cached', logEvent, false); + cache.addEventListener('checking', logEvent, false); + cache.addEventListener('downloading', logEvent, false); + cache.addEventListener('error', logEvent, false); + cache.addEventListener('noupdate', logEvent, false); + cache.addEventListener('obsolete', logEvent, false); + cache.addEventListener('progress', logEvent, false); + cache.addEventListener('updateready', logEvent, false); + + // Log every event to the console + function logEvent(e) { + var online, status, type, message; + online = (isOnline()) ? 'yes' : 'no'; + status = cacheStatusValues[cache.status]; + type = e.type; + message = 'online: ' + online; + message+= ', event: ' + type; + message+= ', status: ' + status; + if (type == 'error' && navigator.onLine) { + message+= ' There was an unknown error, check your Cache Manifest.'; + } + console.log(message); + } + + function isOnline() { + return navigator.onLine; + } + + if (!$('html').attr('manifest')) { + console.log('No Cache Manifest listed on the tag.') + } + + // Swap in newly download files when update is ready + cache.addEventListener('updateready', function(e){ + // Don't perform "swap" if this is the first cache + if (cacheStatusValues[cache.status] != 'idle') { + cache.swapCache(); + console.log('Swapped/updated the Cache Manifest.'); + } + } + , false); + + // These two functions check for updates to the manifest file + function checkForUpdates(){ + cache.update(); + } + function autoCheckForUpdates(){ + setInterval(function(){cache.update()}, 10000); + } + + return { + isOnline: isOnline, + checkForUpdates: checkForUpdates, + autoCheckForUpdates: autoCheckForUpdates + } + }); + } +})(jQuery); \ No newline at end of file diff --git a/themes/extensions/jquery.blockUI.js b/themes/extensions/jquery.blockUI.js new file mode 100644 index 0000000..f35de1c --- /dev/null +++ b/themes/extensions/jquery.blockUI.js @@ -0,0 +1,477 @@ +/*! + * jQuery blockUI plugin + * Version 2.31 (06-JAN-2010) + * @requires jQuery v1.2.3 or later + * + * Examples at: http://malsup.com/jquery/block/ + * Copyright (c) 2007-2008 M. Alsup + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * Thanks to Amir-Hossein Sobhi for some excellent contributions! + */ + +;(function($) { + +if (/1\.(0|1|2)\.(0|1|2)/.test($.fn.jquery) || /^1.1/.test($.fn.jquery)) { + alert('blockUI requires jQuery v1.2.3 or later! You are using v' + $.fn.jquery); + return; +} + +$.fn._fadeIn = $.fn.fadeIn; + +var noOp = function() {}; + +// this bit is to ensure we don't call setExpression when we shouldn't (with extra muscle to handle +// retarded userAgent strings on Vista) +var mode = document.documentMode || 0; +var setExpr = $.browser.msie && (($.browser.version < 8 && !mode) || mode < 8); +var ie6 = $.browser.msie && /MSIE 6.0/.test(navigator.userAgent) && !mode; + +// global $ methods for blocking/unblocking the entire page +$.blockUI = function(opts) { install(window, opts); }; +$.unblockUI = function(opts) { remove(window, opts); }; + +// convenience method for quick growl-like notifications (http://www.google.com/search?q=growl) +$.growlUI = function(title, message, timeout, onClose) { + var $m = $('
'); + if (title) $m.append('

'+title+'

'); + if (message) $m.append('

'+message+'

'); + if (timeout == undefined) timeout = 3000; + $.blockUI({ + message: $m, fadeIn: 700, fadeOut: 1000, centerY: false, + timeout: timeout, showOverlay: false, + onUnblock: onClose, + css: $.blockUI.defaults.growlCSS + }); +}; + +// plugin method for blocking element content +$.fn.block = function(opts) { + return this.unblock({ fadeOut: 0 }).each(function() { + if ($.css(this,'position') == 'static') + this.style.position = 'relative'; + if ($.browser.msie) + this.style.zoom = 1; // force 'hasLayout' + install(this, opts); + }); +}; + +// plugin method for unblocking element content +$.fn.unblock = function(opts) { + return this.each(function() { + remove(this, opts); + }); +}; + +$.blockUI.version = 2.31; // 2nd generation blocking at no extra cost! + +// override these in your code to change the default behavior and style +$.blockUI.defaults = { + // message displayed when blocking (use null for no message) + message: '

Please wait...

', + + title: null, // title string; only used when theme == true + draggable: true, // only used when theme == true (requires jquery-ui.js to be loaded) + + theme: false, // set to true to use with jQuery UI themes + + // styles for the message when blocking; if you wish to disable + // these and use an external stylesheet then do this in your code: + // $.blockUI.defaults.css = {}; + css: { + padding: 0, + margin: 0, + width: '30%', + top: '40%', + left: '35%', + textAlign: 'center', + color: '#000', + border: '3px solid #aaa', + backgroundColor:'#fff', + cursor: 'wait' + }, + + // minimal style set used when themes are used + themedCSS: { + width: '30%', + top: '40%', + left: '35%' + }, + + // styles for the overlay + overlayCSS: { + backgroundColor: '#000', + opacity: 0.6, + cursor: 'wait' + }, + + // styles applied when using $.growlUI + growlCSS: { + width: '350px', + top: '10px', + left: '', + right: '10px', + border: 'none', + padding: '5px', + opacity: 0.6, + cursor: 'default', + color: '#fff', + backgroundColor: '#000', + '-webkit-border-radius': '10px', + '-moz-border-radius': '10px' + }, + + // IE issues: 'about:blank' fails on HTTPS and javascript:false is s-l-o-w + // (hat tip to Jorge H. N. de Vasconcelos) + iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank', + + // force usage of iframe in non-IE browsers (handy for blocking applets) + forceIframe: false, + + // z-index for the blocking overlay + baseZ: 1000, + + // set these to true to have the message automatically centered + centerX: true, // <-- only effects element blocking (page block controlled via css above) + centerY: true, + + // allow body element to be stetched in ie6; this makes blocking look better + // on "short" pages. disable if you wish to prevent changes to the body height + allowBodyStretch: true, + + // enable if you want key and mouse events to be disabled for content that is blocked + bindEvents: true, + + // be default blockUI will supress tab navigation from leaving blocking content + // (if bindEvents is true) + constrainTabKey: true, + + // fadeIn time in millis; set to 0 to disable fadeIn on block + fadeIn: 200, + + // fadeOut time in millis; set to 0 to disable fadeOut on unblock + fadeOut: 400, + + // time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock + timeout: 0, + + // disable if you don't want to show the overlay + showOverlay: true, + + // if true, focus will be placed in the first available input field when + // page blocking + focusInput: true, + + // suppresses the use of overlay styles on FF/Linux (due to performance issues with opacity) + applyPlatformOpacityRules: true, + + // callback method invoked when fadeIn has completed and blocking message is visible + onBlock: null, + + // callback method invoked when unblocking has completed; the callback is + // passed the element that has been unblocked (which is the window object for page + // blocks) and the options that were passed to the unblock call: + // onUnblock(element, options) + onUnblock: null, + + // don't ask; if you really must know: http://groups.google.com/group/jquery-en/browse_thread/thread/36640a8730503595/2f6a79a77a78e493#2f6a79a77a78e493 + quirksmodeOffsetHack: 4 +}; + +// private data and functions follow... + +var pageBlock = null; +var pageBlockEls = []; + +function install(el, opts) { + var full = (el == window); + var msg = opts && opts.message !== undefined ? opts.message : undefined; + opts = $.extend({}, $.blockUI.defaults, opts || {}); + opts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {}); + var css = $.extend({}, $.blockUI.defaults.css, opts.css || {}); + var themedCSS = $.extend({}, $.blockUI.defaults.themedCSS, opts.themedCSS || {}); + msg = msg === undefined ? opts.message : msg; + + // remove the current block (if there is one) + if (full && pageBlock) + remove(window, {fadeOut:0}); + + // if an existing element is being used as the blocking content then we capture + // its current place in the DOM (and current display style) so we can restore + // it when we unblock + if (msg && typeof msg != 'string' && (msg.parentNode || msg.jquery)) { + var node = msg.jquery ? msg[0] : msg; + var data = {}; + $(el).data('blockUI.history', data); + data.el = node; + data.parent = node.parentNode; + data.display = node.style.display; + data.position = node.style.position; + if (data.parent) + data.parent.removeChild(node); + } + + var z = opts.baseZ; + + // blockUI uses 3 layers for blocking, for simplicity they are all used on every platform; + // layer1 is the iframe layer which is used to supress bleed through of underlying content + // layer2 is the overlay layer which has opacity and a wait cursor (by default) + // layer3 is the message content that is displayed while blocking + + var lyr1 = ($.browser.msie || opts.forceIframe) + ? $('') + : $(''); + var lyr2 = $(''); + + var lyr3; + if (opts.theme && full) { + var s = ''; + lyr3 = $(s); + } + else { + lyr3 = full ? $('') + : $(''); + } + + // if we have a message, style it + if (msg) { + if (opts.theme) { + lyr3.css(themedCSS); + lyr3.addClass('ui-widget-content'); + } + else + lyr3.css(css); + } + + // style the overlay + if (!opts.applyPlatformOpacityRules || !($.browser.mozilla && /Linux/.test(navigator.platform))) + lyr2.css(opts.overlayCSS); + lyr2.css('position', full ? 'fixed' : 'absolute'); + + // make iframe layer transparent in IE + if ($.browser.msie || opts.forceIframe) + lyr1.css('opacity',0.0); + + //$([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : el); + var layers = [lyr1,lyr2,lyr3], $par = full ? $('body') : $(el); + $.each(layers, function() { + this.appendTo($par); + }); + + if (opts.theme && opts.draggable && $.fn.draggable) { + lyr3.draggable({ + handle: '.ui-dialog-titlebar', + cancel: 'li' + }); + } + + // ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling) + var expr = setExpr && (!$.boxModel || $('object,embed', full ? null : el).length > 0); + if (ie6 || expr) { + // give body 100% height + if (full && opts.allowBodyStretch && $.boxModel) + $('html,body').css('height','100%'); + + // fix ie6 issue when blocked element has a border width + if ((ie6 || !$.boxModel) && !full) { + var t = sz(el,'borderTopWidth'), l = sz(el,'borderLeftWidth'); + var fixT = t ? '(0 - '+t+')' : 0; + var fixL = l ? '(0 - '+l+')' : 0; + } + + // simulate fixed position + $.each([lyr1,lyr2,lyr3], function(i,o) { + var s = o[0].style; + s.position = 'absolute'; + if (i < 2) { + full ? s.setExpression('height','Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.boxModel?0:'+opts.quirksmodeOffsetHack+') + "px"') + : s.setExpression('height','this.parentNode.offsetHeight + "px"'); + full ? s.setExpression('width','jQuery.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"') + : s.setExpression('width','this.parentNode.offsetWidth + "px"'); + if (fixL) s.setExpression('left', fixL); + if (fixT) s.setExpression('top', fixT); + } + else if (opts.centerY) { + if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'); + s.marginTop = 0; + } + else if (!opts.centerY && full) { + var top = (opts.css && opts.css.top) ? parseInt(opts.css.top) : 0; + var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + '+top+') + "px"'; + s.setExpression('top',expression); + } + }); + } + + // show the message + if (msg) { + if (opts.theme) + lyr3.find('.ui-widget-content').append(msg); + else + lyr3.append(msg); + if (msg.jquery || msg.nodeType) + $(msg).show(); + } + + if (($.browser.msie || opts.forceIframe) && opts.showOverlay) + lyr1.show(); // opacity is zero + if (opts.fadeIn) { + var cb = opts.onBlock ? opts.onBlock : noOp; + var cb1 = (opts.showOverlay && !msg) ? cb : noOp; + var cb2 = msg ? cb : noOp; + if (opts.showOverlay) + lyr2._fadeIn(opts.fadeIn, cb1); + if (msg) + lyr3._fadeIn(opts.fadeIn, cb2); + } + else { + if (opts.showOverlay) + lyr2.show(); + if (msg) + lyr3.show(); + if (opts.onBlock) + opts.onBlock(); + } + + // bind key and mouse events + bind(1, el, opts); + + if (full) { + pageBlock = lyr3[0]; + pageBlockEls = $(':input:enabled:visible',pageBlock); + if (opts.focusInput) + setTimeout(focus, 20); + } + else + center(lyr3[0], opts.centerX, opts.centerY); + + if (opts.timeout) { + // auto-unblock + var to = setTimeout(function() { + full ? $.unblockUI(opts) : $(el).unblock(opts); + }, opts.timeout); + $(el).data('blockUI.timeout', to); + } +}; + +// remove the block +function remove(el, opts) { + var full = (el == window); + var $el = $(el); + var data = $el.data('blockUI.history'); + var to = $el.data('blockUI.timeout'); + if (to) { + clearTimeout(to); + $el.removeData('blockUI.timeout'); + } + opts = $.extend({}, $.blockUI.defaults, opts || {}); + bind(0, el, opts); // unbind events + + var els; + if (full) // crazy selector to handle odd field errors in ie6/7 + els = $('body').children().filter('.blockUI').add('body > .blockUI'); + else + els = $('.blockUI', el); + + if (full) + pageBlock = pageBlockEls = null; + + if (opts.fadeOut) { + els.fadeOut(opts.fadeOut); + setTimeout(function() { reset(els,data,opts,el); }, opts.fadeOut); + } + else + reset(els, data, opts, el); +}; + +// move blocking element back into the DOM where it started +function reset(els,data,opts,el) { + els.each(function(i,o) { + // remove via DOM calls so we don't lose event handlers + if (this.parentNode) + this.parentNode.removeChild(this); + }); + + if (data && data.el) { + data.el.style.display = data.display; + data.el.style.position = data.position; + if (data.parent) + data.parent.appendChild(data.el); + $(el).removeData('blockUI.history'); + } + + if (typeof opts.onUnblock == 'function') + opts.onUnblock(el,opts); +}; + +// bind/unbind the handler +function bind(b, el, opts) { + var full = el == window, $el = $(el); + + // don't bother unbinding if there is nothing to unbind + if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked'))) + return; + if (!full) + $el.data('blockUI.isBlocked', b); + + // don't bind events when overlay is not in use or if bindEvents is false + if (!opts.bindEvents || (b && !opts.showOverlay)) + return; + + // bind anchors and inputs for mouse and key events + var events = 'mousedown mouseup keydown keypress'; + b ? $(document).bind(events, opts, handler) : $(document).unbind(events, handler); + +// former impl... +// var $e = $('a,:input'); +// b ? $e.bind(events, opts, handler) : $e.unbind(events, handler); +}; + +// event handler to suppress keyboard/mouse events when blocking +function handler(e) { + // allow tab navigation (conditionally) + if (e.keyCode && e.keyCode == 9) { + if (pageBlock && e.data.constrainTabKey) { + var els = pageBlockEls; + var fwd = !e.shiftKey && e.target == els[els.length-1]; + var back = e.shiftKey && e.target == els[0]; + if (fwd || back) { + setTimeout(function(){focus(back)},10); + return false; + } + } + } + // allow events within the message content + if ($(e.target).parents('div.blockMsg').length > 0) + return true; + + // allow events for content that is not being blocked + return $(e.target).parents().children().filter('div.blockUI').length == 0; +}; + +function focus(back) { + if (!pageBlockEls) + return; + var e = pageBlockEls[back===true ? pageBlockEls.length-1 : 0]; + if (e) + e.focus(); +}; + +function center(el, x, y) { + var p = el.parentNode, s = el.style; + var l = ((p.offsetWidth - el.offsetWidth)/2) - sz(p,'borderLeftWidth'); + var t = ((p.offsetHeight - el.offsetHeight)/2) - sz(p,'borderTopWidth'); + if (x) s.left = l > 0 ? (l+'px') : '0'; + if (y) s.top = t > 0 ? (t+'px') : '0'; +}; + +function sz(el, p) { + return parseInt($.css(el,p))||0; +}; + +})(jQuery); diff --git a/themes/extensions/jquery.httpstream.js b/themes/extensions/jquery.httpstream.js new file mode 100644 index 0000000..e1be612 --- /dev/null +++ b/themes/extensions/jquery.httpstream.js @@ -0,0 +1,161 @@ +/* jQuery ajax stream plugin +* Version 0.1 +* Copyright (C) 2009 Chris Tarquini +* Licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License (http://creativecommons.org/licenses/by-sa/3.0/) +* Permissions beyond the scope of this license may be available by contacting petros000[at]hotmail.com. +*/ + +(function($) { + +// Save the original AJAX function +var ajax_old = $.ajax; +var get_old = $.get; +var post_old = $.post; +var active = true; +// Add our settings +$.ajaxSetup({stream: false,pollInterval: 500/*, onDataRecieved: function(){}*/ }); +$.enableAjaxStream = function(enable) +{ +if(typeof enable == 'undefined') enable = !active; +if(!enable) +{ +$.ajax = ajax_old; +$.get = get_old; +$.post = post_old; +active = false; +} +else +{ +$.ajax = ajax_stream; +$.get = ajax_get_stream; +$.post = ajax_post_stream; +active = true; +} + + +} +var ajax_stream = $.ajax = function(options) +{ +//copied from original ajax function + options = jQuery.extend(true, options, jQuery.extend(true, {}, jQuery.ajaxSettings, options)); +if(options.stream) +{ +var timer = 0; +var offset = 0; +var xmlhttp = null; +var lastlen = 0; +var done = false; +var hook = function(xhr) +{ +xmlhttp = xhr; +checkagain(); +} +var fix = function(){ check('stream'); };// fixes weird bug with random numbers as arg +var checkagain = function(){if(!done) timer = setTimeout(fix,options.pollInterval);} +var check = function(status) +{ +if(typeof status == 'undefined') status = "stream"; +if(xmlhttp.status < 3) return; //only get the latest packet if data has been sent +var text = xmlhttp.responseText; +if(status == 'stream') //if we arent streaming then just flush the buffer +{ +if(text.length <= lastlen) { checkagain(); return;} +lastlength = text.length; +if(offset == text.length) { checkagain(); return;} +} +var pkt = text.substr(offset); +offset = text.length; +if($.isFunction(options.OnDataRecieved)) +{ +options.OnDataRecieved(pkt, status, xmlhttp.responseText, xmlhttp); +} +if(xmlhttp.status != 4) +checkagain(); +} +var complete = function(xhr,s) +{ +clearTimeout(timer);//done..stop polling +done = true; +// send final call +check(s); +} +// If the complete callback is set create a new callback that calls the users and outs +if($.isFunction(options.success)) +{ +var oc = options.success; +options.success = function(xhr,s){ complete(xhr,s); oc(xhr,s);}; + +} +else options.success = complete; +// Set up our hook on the beforeSend +if($.isFunction(options.beforeSend)) +{ +var obs = options.beforeSend; +options.beforeSend = function(xhr){ obs(xhr); hook(xhr);}; +} +else options.beforeSend = hook; + +} +ajax_old(options); +} + +var ajax_get_stream = $.get = function(url,data,callback,type,stream) +{ +if($.isFunction(data)) +{ +var orgcb = callback; +callback = data; +if($.isFunction(orgcb)) +{ +stream = orgcb; +} +data = null; + +} +if($.isFunction(type)) +{ +stream = type; +type = undefined; +} +var dostream = $.isFunction(stream); + return jQuery.ajax({ + type: "GET", + url: url, + data: data, + success: callback, + dataType: type, +stream: dostream, +OnDataRecieved: stream + }); + +} + +var ajax_post_stream = $.post = function(url,data,callback,type,stream) +{ + if($.isFunction(data)) + { +var orgcb = callback; + callback = data; + data = {}; +if($.isFunction(orgcb)) { stream = orgcb;} + + } + if($.isFunction(type)) + { + stream = type; + type = undefined; + } + var dostream = $.isFunction(stream); + return jQuery.ajax({ + type: "POST", + url: url, + data: data, + success: callback, + dataType: type, + stream: dostream, + OnDataRecieved: stream + }); + +} + +})(jQuery); diff --git a/themes/extensions/jquery.scrollTo-min.js b/themes/extensions/jquery.scrollTo-min.js new file mode 100644 index 0000000..73a3341 --- /dev/null +++ b/themes/extensions/jquery.scrollTo-min.js @@ -0,0 +1,11 @@ +/** + * jQuery.ScrollTo - Easy element scrolling using jQuery. + * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com + * Dual licensed under MIT and GPL. + * Date: 5/25/2009 + * @author Ariel Flesler + * @version 1.4.2 + * + * http://flesler.blogspot.com/2007/10/jqueryscrollto.html + */ +;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery); \ No newline at end of file diff --git a/themes/extensions/jquery.scrollTo.js b/themes/extensions/jquery.scrollTo.js new file mode 100644 index 0000000..eec31e1 --- /dev/null +++ b/themes/extensions/jquery.scrollTo.js @@ -0,0 +1,215 @@ +/** + * jQuery.ScrollTo + * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com + * Dual licensed under MIT and GPL. + * Date: 5/25/2009 + * + * @projectDescription Easy element scrolling using jQuery. + * http://flesler.blogspot.com/2007/10/jqueryscrollto.html + * Works with jQuery +1.2.6. Tested on FF 2/3, IE 6/7/8, Opera 9.5/6, Safari 3, Chrome 1 on WinXP. + * + * @author Ariel Flesler + * @version 1.4.2 + * + * @id jQuery.scrollTo + * @id jQuery.fn.scrollTo + * @param {String, Number, DOMElement, jQuery, Object} target Where to scroll the matched elements. + * The different options for target are: + * - A number position (will be applied to all axes). + * - A string position ('44', '100px', '+=90', etc ) will be applied to all axes + * - A jQuery/DOM element ( logically, child of the element to scroll ) + * - A string selector, that will be relative to the element to scroll ( 'li:eq(2)', etc ) + * - A hash { top:x, left:y }, x and y can be any kind of number/string like above. +* - A percentage of the container's dimension/s, for example: 50% to go to the middle. + * - The string 'max' for go-to-end. + * @param {Number} duration The OVERALL length of the animation, this argument can be the settings object instead. + * @param {Object,Function} settings Optional set of settings or the onAfter callback. + * @option {String} axis Which axis must be scrolled, use 'x', 'y', 'xy' or 'yx'. + * @option {Number} duration The OVERALL length of the animation. + * @option {String} easing The easing method for the animation. + * @option {Boolean} margin If true, the margin of the target element will be deducted from the final position. + * @option {Object, Number} offset Add/deduct from the end position. One number for both axes or { top:x, left:y }. + * @option {Object, Number} over Add/deduct the height/width multiplied by 'over', can be { top:x, left:y } when using both axes. + * @option {Boolean} queue If true, and both axis are given, the 2nd axis will only be animated after the first one ends. + * @option {Function} onAfter Function to be called after the scrolling ends. + * @option {Function} onAfterFirst If queuing is activated, this function will be called after the first scrolling ends. + * @return {jQuery} Returns the same jQuery object, for chaining. + * + * @desc Scroll to a fixed position + * @example $('div').scrollTo( 340 ); + * + * @desc Scroll relatively to the actual position + * @example $('div').scrollTo( '+=340px', { axis:'y' } ); + * + * @dec Scroll using a selector (relative to the scrolled element) + * @example $('div').scrollTo( 'p.paragraph:eq(2)', 500, { easing:'swing', queue:true, axis:'xy' } ); + * + * @ Scroll to a DOM element (same for jQuery object) + * @example var second_child = document.getElementById('container').firstChild.nextSibling; + * $('#container').scrollTo( second_child, { duration:500, axis:'x', onAfter:function(){ + * alert('scrolled!!'); + * }}); + * + * @desc Scroll on both axes, to different values + * @example $('div').scrollTo( { top: 300, left:'+=200' }, { axis:'xy', offset:-20 } ); + */ +;(function( $ ){ + + var $scrollTo = $.scrollTo = function( target, duration, settings ){ + $(window).scrollTo( target, duration, settings ); + }; + + $scrollTo.defaults = { + axis:'xy', + duration: parseFloat($.fn.jquery) >= 1.3 ? 0 : 1 + }; + + // Returns the element that needs to be animated to scroll the window. + // Kept for backwards compatibility (specially for localScroll & serialScroll) + $scrollTo.window = function( scope ){ + return $(window)._scrollable(); + }; + + // Hack, hack, hack :) + // Returns the real elements to scroll (supports window/iframes, documents and regular nodes) + $.fn._scrollable = function(){ + return this.map(function(){ + var elem = this, + isWin = !elem.nodeName || $.inArray( elem.nodeName.toLowerCase(), ['iframe','#document','html','body'] ) != -1; + + if( !isWin ) + return elem; + + var doc = (elem.contentWindow || elem).document || elem.ownerDocument || elem; + + return $.browser.safari || doc.compatMode == 'BackCompat' ? + doc.body : + doc.documentElement; + }); + }; + + $.fn.scrollTo = function( target, duration, settings ){ + if( typeof duration == 'object' ){ + settings = duration; + duration = 0; + } + if( typeof settings == 'function' ) + settings = { onAfter:settings }; + + if( target == 'max' ) + target = 9e9; + + settings = $.extend( {}, $scrollTo.defaults, settings ); + // Speed is still recognized for backwards compatibility + duration = duration || settings.speed || settings.duration; + // Make sure the settings are given right + settings.queue = settings.queue && settings.axis.length > 1; + + if( settings.queue ) + // Let's keep the overall duration + duration /= 2; + settings.offset = both( settings.offset ); + settings.over = both( settings.over ); + + return this._scrollable().each(function(){ + var elem = this, + $elem = $(elem), + targ = target, toff, attr = {}, + win = $elem.is('html,body'); + + switch( typeof targ ){ + // A number will pass the regex + case 'number': + case 'string': + if( /^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(targ) ){ + targ = both( targ ); + // We are done + break; + } + // Relative selector, no break! + targ = $(targ,this); + case 'object': + // DOMElement / jQuery + if( targ.is || targ.style ) + // Get the real position of the target + toff = (targ = $(targ)).offset(); + } + $.each( settings.axis.split(''), function( i, axis ){ + var Pos = axis == 'x' ? 'Left' : 'Top', + pos = Pos.toLowerCase(), + key = 'scroll' + Pos, + old = elem[key], + max = $scrollTo.max(elem, axis); + + if( toff ){// jQuery / DOMElement + attr[key] = toff[pos] + ( win ? 0 : old - $elem.offset()[pos] ); + + // If it's a dom element, reduce the margin + if( settings.margin ){ + attr[key] -= parseInt(targ.css('margin'+Pos)) || 0; + attr[key] -= parseInt(targ.css('border'+Pos+'Width')) || 0; + } + + attr[key] += settings.offset[pos] || 0; + + if( settings.over[pos] ) + // Scroll to a fraction of its width/height + attr[key] += targ[axis=='x'?'width':'height']() * settings.over[pos]; + }else{ + var val = targ[pos]; + // Handle percentage values + attr[key] = val.slice && val.slice(-1) == '%' ? + parseFloat(val) / 100 * max + : val; + } + + // Number or 'number' + if( /^\d+$/.test(attr[key]) ) + // Check the limits + attr[key] = attr[key] <= 0 ? 0 : Math.min( attr[key], max ); + + // Queueing axes + if( !i && settings.queue ){ + // Don't waste time animating, if there's no need. + if( old != attr[key] ) + // Intermediate animation + animate( settings.onAfterFirst ); + // Don't animate this axis again in the next iteration. + delete attr[key]; + } + }); + + animate( settings.onAfter ); + + function animate( callback ){ + $elem.animate( attr, duration, settings.easing, callback && function(){ + callback.call(this, target, settings); + }); + }; + + }).end(); + }; + + // Max scrolling position, works on quirks mode + // It only fails (not too badly) on IE, quirks mode. + $scrollTo.max = function( elem, axis ){ + var Dim = axis == 'x' ? 'Width' : 'Height', + scroll = 'scroll'+Dim; + + if( !$(elem).is('html,body') ) + return elem[scroll] - $(elem)[Dim.toLowerCase()](); + + var size = 'client' + Dim, + html = elem.ownerDocument.documentElement, + body = elem.ownerDocument.body; + + return Math.max( html[scroll], body[scroll] ) + - Math.min( html[size] , body[size] ); + + }; + + function both( val ){ + return typeof val == 'object' ? val : { top:val, left:val }; + }; + +})( jQuery ); \ No newline at end of file diff --git a/themes/getstatus.php.bak b/themes/getstatus.php.bak new file mode 100755 index 0000000..368991b --- /dev/null +++ b/themes/getstatus.php.bak @@ -0,0 +1,30 @@ +status == "ready") + { + break; + } else if ($data->status == "error") + { + break; + } + $oldtree = $tree; + usleep(1000); + +} + +?> diff --git a/themes/img/audio.png b/themes/img/audio.png new file mode 100644 index 0000000..e0f14a3 Binary files /dev/null and b/themes/img/audio.png differ diff --git a/themes/img/epg.png b/themes/img/epg.png new file mode 100644 index 0000000..7c09685 Binary files /dev/null and b/themes/img/epg.png differ diff --git a/themes/img/istreamdev.png b/themes/img/istreamdev.png new file mode 100644 index 0000000..f4153e4 Binary files /dev/null and b/themes/img/istreamdev.png differ diff --git a/themes/img/loading.gif b/themes/img/loading.gif new file mode 100644 index 0000000..6ab75dd Binary files /dev/null and b/themes/img/loading.gif differ diff --git a/themes/img/mask-55.png b/themes/img/mask-55.png new file mode 100644 index 0000000..182ea20 Binary files /dev/null and b/themes/img/mask-55.png differ diff --git a/themes/img/mask.png b/themes/img/mask.png new file mode 100644 index 0000000..e35a3f8 Binary files /dev/null and b/themes/img/mask.png differ diff --git a/themes/img/media.png b/themes/img/media.png new file mode 100644 index 0000000..647578f Binary files /dev/null and b/themes/img/media.png differ diff --git a/themes/img/nologoMEDIA.png b/themes/img/nologoMEDIA.png new file mode 100644 index 0000000..6510dbe Binary files /dev/null and b/themes/img/nologoMEDIA.png differ diff --git a/themes/img/nologoREC.png b/themes/img/nologoREC.png new file mode 100644 index 0000000..fd15428 Binary files /dev/null and b/themes/img/nologoREC.png differ diff --git a/themes/img/nologoTV.png b/themes/img/nologoTV.png new file mode 100644 index 0000000..4f0a9da Binary files /dev/null and b/themes/img/nologoTV.png differ diff --git a/themes/img/rec.png b/themes/img/rec.png new file mode 100644 index 0000000..d8744bd Binary files /dev/null and b/themes/img/rec.png differ diff --git a/themes/img/rec_clicked.png b/themes/img/rec_clicked.png new file mode 100644 index 0000000..a54d5e2 Binary files /dev/null and b/themes/img/rec_clicked.png differ diff --git a/themes/img/record.png b/themes/img/record.png new file mode 100644 index 0000000..c0a1d79 Binary files /dev/null and b/themes/img/record.png differ diff --git a/themes/img/startup.png b/themes/img/startup.png new file mode 100644 index 0000000..e095c82 Binary files /dev/null and b/themes/img/startup.png differ diff --git a/themes/img/stream.png b/themes/img/stream.png new file mode 100644 index 0000000..16d66d2 Binary files /dev/null and b/themes/img/stream.png differ diff --git a/themes/img/stream_clicked.png b/themes/img/stream_clicked.png new file mode 100644 index 0000000..c63595c Binary files /dev/null and b/themes/img/stream_clicked.png differ diff --git a/themes/img/sw-alpha.png b/themes/img/sw-alpha.png new file mode 100644 index 0000000..b80659a Binary files /dev/null and b/themes/img/sw-alpha.png differ diff --git a/themes/img/sw-button-cancel.png b/themes/img/sw-button-cancel.png new file mode 100644 index 0000000..cea9e38 Binary files /dev/null and b/themes/img/sw-button-cancel.png differ diff --git a/themes/img/sw-button-done.png b/themes/img/sw-button-done.png new file mode 100644 index 0000000..a1e8f32 Binary files /dev/null and b/themes/img/sw-button-done.png differ diff --git a/themes/img/sw-header.png b/themes/img/sw-header.png new file mode 100644 index 0000000..db4ec27 Binary files /dev/null and b/themes/img/sw-header.png differ diff --git a/themes/img/sw-slot-border.png b/themes/img/sw-slot-border.png new file mode 100644 index 0000000..d9f6026 Binary files /dev/null and b/themes/img/sw-slot-border.png differ diff --git a/themes/img/timeroff.png b/themes/img/timeroff.png new file mode 100644 index 0000000..1bf58dd Binary files /dev/null and b/themes/img/timeroff.png differ diff --git a/themes/img/timeron.png b/themes/img/timeron.png new file mode 100644 index 0000000..25ee571 Binary files /dev/null and b/themes/img/timeron.png differ diff --git a/themes/img/timerrec.png b/themes/img/timerrec.png new file mode 100644 index 0000000..e4f5617 Binary files /dev/null and b/themes/img/timerrec.png differ diff --git a/themes/img/timers.png b/themes/img/timers.png new file mode 100644 index 0000000..d7f86e1 Binary files /dev/null and b/themes/img/timers.png differ diff --git a/themes/img/tv.png b/themes/img/tv.png new file mode 100644 index 0000000..74f9fdc Binary files /dev/null and b/themes/img/tv.png differ diff --git a/themes/img/video.png b/themes/img/video.png new file mode 100644 index 0000000..090114a Binary files /dev/null and b/themes/img/video.png differ diff --git a/themes/index.html b/themes/index.html new file mode 100644 index 0000000..66c8fa7 --- /dev/null +++ b/themes/index.html @@ -0,0 +1,244 @@ + + + + + iStreamdev + + + + + + + + + + + + + +
+
+ +
+
+

HOME

+
+ + +
+ + + +
+
+ Home +

CATEGORIES

+
+
    +
+
+ +
+
+ Back + Home +

CHANNELS

+
+
    +
+
+ + + +
+
+ Back + Home +

Channel

+
+
+
    +
  • + +
  • +
  • + +
  • +
+
+
+ Edge 3G WifiRec. +

+
+
+ + +
+
+ +
+
+ Back + Home +

Recordings

+
+
+
    +
  • + + + +
  • +
+

+ Edge 3G WifiRec. +

+
+
+ + +
+
+
+
+ Back + Home +

Video

+
+
+
    +
  • + + + +
  • +
+

+ Edge 3G WifiRec. +

+
+
+ + +
+
+ +
+
+ Back + Home +

+
+
+
    + Status + +
+
    +
+
+ Stop stream + Rec. +

+
+
+ + + + +
+
+ + + + +
+
+ Home +

TIMERS

+
+
+
    +
+ +
+ +
+
+ Back + Home +

+
+
+
    +
  • Active
  • +
+
    +
  • Name
  • +
  • Recording name is missing
  • +
  • +
+
    +
  • + Channel +
  • +
  • + +
  • +
+ + + + + + + +
+
+ + +
+
+ Home +

Audio

+
+ +
+ +
+ + \ No newline at end of file diff --git a/themes/indexfake.html b/themes/indexfake.html new file mode 100644 index 0000000..222335b --- /dev/null +++ b/themes/indexfake.html @@ -0,0 +1,551 @@ + + + + + iStreamdev + + + + + + + + + + + + +
+ +
+
+

HOME

+
+ + +
+ + + +
+
+ Home +

CATEGORIES

+
+
+ + + + + +
+
+ Back + Home +

TF1

+
+
+ +
    + Now: 19h00-19h45 + Tout le monde veut prendre sa place + Jeu présenté par Nagui. Six candidats s'affrontent lors d'un quiz pour prendre la place du champion et remporter des gains. + Next: 19h45-20h45 + Informations +
+
+ Edge 3G WifiRec. +
+
+ + +
+
+ Back + Home +

TF1

+
+
+ +
    + 2010-03-02 19h00-19h45 + Tout le monde veut prendre sa place + Jeu présenté par Nagui. Six candidats s'affrontent lors d'un quiz pour prendre la place du champion et remporter des gains. +
+
    + Status + Now streaming in 3G mode +
+
+ Stop stream + Rec. +

+
+
+ + +
+
+ Home +

RECORDINGS

+
+ +
+ + + +
+
+ Back + Home +

RECORDINGS

+
+ +
+ + + + + + +
+
+ Back + Home +

EDIT TIMER

+
+
+
    +
  • Active
  • +
+
    +
  • Name
  • +
  • Recording name is missing
  • +
  • +
+
    +
  • Channel
  • +
  • +
  • +
+ + + + + + + + + +
+
+ +
+ + \ No newline at end of file diff --git a/themes/istreamdev.manifest b/themes/istreamdev.manifest new file mode 100644 index 0000000..b194aa5 --- /dev/null +++ b/themes/istreamdev.manifest @@ -0,0 +1,36 @@ +CACHE MANIFEST +themes/jqt/img/chevron.png +themes/jqt/img/back_button.png +themes/jqt/img/back_button_clicked.png +themes/jqt/img/button_clicked.png +themes/jqt/img/button.png +themes/jqt/img/button_clicked.png +themes/jqt/img/loading.gif +themes/jqt/img/toolbar.png +themes/jqt/img/on_off.png +img/loading.gif +img/audio.png +img/epg.png +img/media.png +img/record.png +img/timers.png +img/timeron.png +img/timeroff.png +img/timerrec.png +img/tv.png +img/video.png +img/stream.png +img/stream_clicked.png +img/istreamdev.png +img/mask.png +img/nologoTV.png +img/nologoREC.png +img/nologoMEDIA.png +img/rec.png +img/rec_clicked.png +img/sw-alpha.png +img/sw-button-cancel.png +img/sw-button-done.png +img/sw-header.png +img/sw-slot-border.png +logos/* \ No newline at end of file diff --git a/themes/jqt/.svn/all-wcprops b/themes/jqt/.svn/all-wcprops new file mode 100644 index 0000000..9cb8fd9 --- /dev/null +++ b/themes/jqt/.svn/all-wcprops @@ -0,0 +1,11 @@ +K 25 +svn:wc:ra_dav:version-url +V 34 +/svn/!svn/ver/133/trunk/themes/jqt +END +theme.css +K 25 +svn:wc:ra_dav:version-url +V 44 +/svn/!svn/ver/133/trunk/themes/jqt/theme.css +END diff --git a/themes/jqt/.svn/entries b/themes/jqt/.svn/entries new file mode 100644 index 0000000..d6dda81 --- /dev/null +++ b/themes/jqt/.svn/entries @@ -0,0 +1,65 @@ +10 + +dir +133 +http://jqtouch.googlecode.com/svn/trunk/themes/jqt +http://jqtouch.googlecode.com/svn + + + +2010-01-15T21:08:54.001495Z +133 +RBoulanouar + + + + + + + + + + + + + + +210952ee-217a-11de-8f7e-2b794b28c5cd + +theme.css +file + + + + +2010-03-04T14:47:56.967073Z +ea89d52f4a301917d7f4f148d7c2a7d4 +2010-01-15T21:08:54.001495Z +133 +RBoulanouar + + + + + + + + + + + + + + + + + + + + + +14134 + +img +dir + diff --git a/themes/jqt/.svn/text-base/theme.css.svn-base b/themes/jqt/.svn/text-base/theme.css.svn-base new file mode 100644 index 0000000..e429903 --- /dev/null +++ b/themes/jqt/.svn/text-base/theme.css.svn-base @@ -0,0 +1,561 @@ +body, #jqt { + background: #000; + color: #ddd; +} +body > *, div#jqt > * { + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#333), to(#5e5e65)); +} +#jqt h1, #jqt h2 { + font: bold 18px "Helvetica Neue", Helvetica; + text-shadow: rgba(255,255,255,.2) 0 1px 1px; + color: #000; + margin: 10px 20px 5px; +} +/* @group Toolbar */ +#jqt .toolbar { + -webkit-box-sizing: border-box; + border-bottom: 1px solid #000; + padding: 10px; + height: 45px; + background: url(img/toolbar.png) #000000 repeat-x; + position: relative; +} +#jqt .black-translucent .toolbar { + margin-top: 20px; +} +div#jqt .toolbar > h1 { + position: absolute; + overflow: hidden; + left: 50%; + top: 10px; + line-height: 1em; + margin: 1px 0 0 -75px; + height: 40px; + font-size: 20px; + width: 150px; + font-weight: bold; + text-shadow: rgba(0,0,0,1) 0 -1px 1px; + text-align: center; + text-overflow: ellipsis; + white-space: nowrap; + color: #fff; +} +div#jqt.landscape .toolbar > h1 { + margin-left: -125px; + width: 250px; +} +#jqt .button, #jqt .back, #jqt .cancel, #jqt .add { + position: absolute; + overflow: hidden; + top: 8px; + right: 10px; + margin: 0; + border-width: 0 5px; + padding: 0 3px; + width: auto; + height: 30px; + line-height: 30px; + font-family: inherit; + font-size: 12px; + font-weight: bold; + color: #fff; + text-shadow: rgba(0, 0, 0, 0.5) 0px -1px 0; + text-overflow: ellipsis; + text-decoration: none; + white-space: nowrap; + background: none; + -webkit-border-image: url(img/button.png) 0 5 0 5; +} +#jqt .button.active, #jqt .cancel.active, #jqt .add.active { + -webkit-border-image: url(img/button_clicked.png) 0 5 0 5; + color: #aaa; +} +#jqt .blueButton { + -webkit-border-image: url(img/blueButton.png) 0 5 0 5; + border-width: 0 5px; +} +#jqt .back { + left: 6px; + right: auto; + padding: 0; + max-width: 55px; + border-width: 0 8px 0 14px; + -webkit-border-image: url(img/back_button.png) 0 8 0 14; +} +#jqt .back.active { + -webkit-border-image: url(img/back_button_clicked.png) 0 8 0 14; + color: #aaa; +} +#jqt .leftButton, #jqt .cancel { + left: 6px; + right: auto; +} +#jqt .add { + font-size: 24px; + line-height: 24px; + font-weight: bold; +} +#jqt .whiteButton, +#jqt .grayButton, #jqt .redButton, #jqt .blueButton, #jqt .greenButton { + display: block; + border-width: 0 12px; + padding: 10px; + text-align: center; + font-size: 20px; + font-weight: bold; + text-decoration: inherit; + color: inherit; +} + +#jqt .whiteButton.active, #jqt .grayButton.active, #jqt .redButton.active, #jqt .blueButton.active, #jqt .greenButton.active, +#jqt .whiteButton:active, #jqt .grayButton:active, #jqt .redButton:active, #jqt .blueButton:active, #jqt .greenButton:active { + -webkit-border-image: url(img/activeButton.png) 0 12 0 12; +} +#jqt .whiteButton { + -webkit-border-image: url(img/whiteButton.png) 0 12 0 12; + text-shadow: rgba(255, 255, 255, 0.7) 0 1px 0; +} +#jqt .grayButton { + -webkit-border-image: url(img/grayButton.png) 0 12 0 12; + color: #FFFFFF; +} + +#jqt .redButton { + -webkit-border-image: url(img/redButton.png) 0 12 0 12; + color: #FFFFFF; +} + +#jqt .greenButton { + -webkit-border-image: url(img/greenButton.png) 0 12 0 12; + color: #FFFFFF; +} + + +/* @end */ +/* @group Lists */ +#jqt h1 + ul, #jqt h2 + ul, #jqt h3 + ul, #jqt h4 + ul, #jqt h5 + ul, #jqt h6 + ul { + margin-top: 0; +} +#jqt ul { + color: #aaa; + border: 1px solid #333333; + font: bold 18px "Helvetica Neue", Helvetica; + padding: 0; + margin: 15px 10px 17px 10px; +} +#jqt ul.rounded { + -webkit-border-radius: 8px; + -webkit-box-shadow: rgba(0,0,0,.3) 1px 1px 3px; +} +#jqt ul.rounded li:first-child, #jqt ul.rounded li:first-child a { + border-top: 0; + -webkit-border-top-left-radius: 8px; + -webkit-border-top-right-radius: 8px; +} +#jqt ul.rounded li:last-child, #jqt ul.rounded li:last-child a { + -webkit-border-bottom-left-radius: 8px; + -webkit-border-bottom-right-radius: 8px; +} +#jqt ul li { + color: #666; + border-top: 1px solid #333; + border-bottom: #555858; + list-style-type: none; + padding: 10px 10px 10px 10px; + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#4c4d4e), to(#404142)); + overflow: hidden; +} +#jqt ul li.arrow { + background-image: url(img/chevron.png), -webkit-gradient(linear, 0% 0%, 0% 100%, from(#4c4d4e), to(#404142)); + background-position: right center; + background-repeat: no-repeat; +} + +#jqt ul li.arrow a { + padding: 12px 22px 12px 10px; +} + +#jqt ul li.forward { + background-image: url(img/chevron_circle.png), -webkit-gradient(linear, 0% 0%, 0% 100%, from(#4c4d4e), to(#404142)); + background-position: right center; + background-repeat: no-repeat; +} +/* universal links on list */ +#jqt ul li a, #jqt li.img a + a { + color: #fff; + text-decoration: none; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + display: block; + padding: 12px 10px 12px 10px; + margin: -10px; + -webkit-tap-highlight-color: rgba(0,0,0,0); + text-shadow: rgba(0,0,0,.2) 0 1px 1px; +} +#jqt ul li a.active, #jqt ul li a.button { + background-color: #53b401; + color: #fff; +} +#jqt ul li a.active.loading { + background-image: url(img/loading.gif); + background-position: 95% center; + background-repeat: no-repeat; +} +#jqt ul li.arrow a.active { + background-image: url(img/chevron.png); + background-position: right center; + background-repeat: no-repeat; +} +#jqt ul li.forward a.active { + background-image: url(img/chevron_circle.png); + background-position: right center; + background-repeat: no-repeat; +} +#jqt ul li.img a + a { + margin: -10px 10px -20px -5px; + font-size: 17px; + font-weight: bold; +} +#jqt ul li.img a + a + a { + font-size: 14px; + font-weight: normal; + margin-left: -10px; + margin-bottom: -10px; + margin-top: 0; +} +#jqt ul li.img a + small + a { + margin-left: -5px; +} +#jqt ul li.img a + small + a + a { + margin-left: -10px; + margin-top: -20px; + margin-bottom: -10px; + font-size: 14px; + font-weight: normal; +} +#jqt ul li.img a + small + a + a + a { + margin-left: 0px !important; + margin-bottom: 0; +} +#jqt ul li a + a { + color: #000; + font: 14px "Helvetica Neue", Helvetica; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + display: block; + margin: 0; + padding: 0; +} +#jqt ul li a + a + a, #jqt ul li.img a + a + a + a, #jqt ul li.img a + small + a + a + a { + color: #666; + font: 13px "Helvetica Neue", Helvetica; + margin: 0; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + display: block; + padding: 0; +} +/* +@end */ +/* @group Forms */ +#jqt ul.form li { + padding: 7px 10px; +} +#jqt ul.form li.error { + border: 2px solid red; +} +#jqt ul.form li.error + li.error { + border-top: 0; +} +#jqt ul li input[type="text"], +#jqt ul li input[type="password"], +#jqt ul li input[type="tel"], +#jqt ul li input[type="number"], +#jqt ul li input[type="search"], +#jqt ul li input[type="email"], +#jqt ul li input[type="url"], +#jqt ul li textarea, +#jqt ul li select { + color: #777; + background: transparent url('data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=='); + border: 0; + font: normal 17px "Helvetica Neue", Helvetica; + padding: 0; + display: inline-block; + margin-left: 0px; + width: 100%; + -webkit-appearance: textarea; +} +#jqt ul li textarea { + height: 120px; + padding: 0; + text-indent: -2px; +} +#jqt ul li select { + text-indent: 0px; + background: transparent url(img/chevron.png) no-repeat right center; + -webkit-appearance: textfield; + margin-left: -6px; + width: 104%; +} +#jqt ul li input[type="checkbox"], #jqt ul li input[type="radio"] { + margin: 0; + padding: 10px 10px; +} +#jqt ul li input[type="checkbox"]:after, #jqt ul li input[type="radio"]:after { + content: attr(title); + font: 17px "Helvetica Neue", Helvetica; + display: block; + width: 246px; + color: #777; + margin: -12px 0 0 17px; +} +/* @end */ +/* @group Mini Label */ +#jqt ul li small { + color: #64c114; + font: 17px "Helvetica Neue", Helvetica; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + display: block; + width: 23%; + float: right; + padding: 0; +} +#jqt ul li.arrow small { + padding: 0 15px; +} +#jqt ul li small.counter { + font-size: 17px; + line-height: 13px; + font-weight: bold; + background: rgba(0,0,0,.15); + color: #fff; + -webkit-border-radius: 11px; + padding: 4px 10px 5px 10px; + display: block; + width: auto; + margin-top: -22px; + -webkit-box-shadow: rgba(255,255,255,.1) 0 1px 0; +} +#jqt ul li.arrow small.counter { + margin-right: 15px; +} +/* @end */ +/* @group Individual */ +#jqt ul.individual { + border: 0; + background: none; + clear: both; + overflow: hidden; + padding-bottom: 3px; + -webkit-box-shadow: none; +} +#jqt ul.individual li { + background: #4c4d4e; + border: 1px solid #333; + font-size: 14px; + text-align: center; + -webkit-border-radius: 8px; + -webkit-box-sizing: border-box; + width: 48%; + float: left; + display: block; + padding: 11px 10px 14px 10px; + -webkit-box-shadow: rgba(0,0,0,.2) 1px 1px 3px; + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#4c4d4e), to(#404142)); +} +#jqt ul.individual li + li { + float: right; +} +#jqt ul.individual li a { + color: #fff; + line-height: 16px; + margin: -11px -10px -14px -10px; + padding: 11px 10px 14px 10px; + -webkit-border-radius: 8px; +} +/* @end */ +/* @group Toggle */ +#jqt .toggle { + width: 94px; + position: relative; + height: 27px; + display: block; + overflow: hidden; + float: right; +} +#jqt .toggle input[type="checkbox"]:checked { + left: 0px; +} +#jqt .toggle input[type="checkbox"] { + -webkit-appearance: textarea; + -webkit-border-radius: 5px; + -webkit-tap-highlight-color: rgba(0,0,0,0); + -webkit-transition: left .15s; + background-color: transparent; + background: #fff url(img/on_off.png) 0 0 no-repeat; + border: 0; + height: 27px; + left: -55px; + margin: 0; + overflow: hidden; + position: absolute; + top: 0; + width: 149px; +} +/* @end */ +/* @group Info */ +#jqt .info { + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ccc), to(#aaa), color-stop(.6,#CCCCCC)); + font-size: 12px; + line-height: 16px; + text-align: center; + text-shadow: rgba(255,255,255,.8) 0 1px 0; + color: #444; + padding: 15px; + border-top: 1px solid rgba(255,255,255,.2); + font-weight: bold; +} +/* @end */ +/* @group Edge to edge */ +#jqt ul.edgetoedge { + border-width: 1px 0; + margin: 0; + padding: 0; +} +#jqt ul.edgetoedge li { + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#1e1f21), to(#272729)); + border-bottom: 2px solid #000; + border-top: 1px solid #4a4b4d; + font-size: 20px; + margin-bottom: -1px; +} +#jqt ul.edgetoedge li.sep { + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0,0,0,0)), to(rgba(0,0,0,.5))); + border-bottom: 1px solid #111113; + border-top: 1px solid #666; + color: #3e9ac3; + font-size: 16px; + margin: 1px 0 0 0; + padding: 2px 10px; + text-shadow: #000 0 1px 0; +} +#jqt ul.edgetoedge li em { + font-weight: normal; + font-style: normal; +} +/* @end */ +/* @group Plastic */ +#jqt #plastic { + background: #17181a; +} +#jqt ul.plastic { + background: #17181a; + color: #aaa; + font: bold 18px "Helvetica Neue", Helvetica; + margin: 0; + padding: 0; + border-width: 0 0 1px 0; +} +#jqt ul.plastic li { + border-width: 1px 0; + border-style: solid; + border-top-color: #222; + border-bottom-color: #000; + color: #666; + list-style-type: none; + overflow: hidden; + padding: 10px 10px 10px 10px; +} +#jqt ul.plastic li a.active.loading { + background-image: url(img/loading.gif); + background-position: 95% center; + background-repeat: no-repeat; +} +#jqt ul.plastic li small { + color: #888; + font-size: 13px; + font-weight: bold; + line-height: 24px; + text-transform: uppercase; +} +#jqt ul.plastic li:nth-child(odd) { + background-color: #1c1c1f; +} +#jqt ul.plastic li.arrow { + background-image: url(img/chevron.png); + background-position: right center; + background-repeat: no-repeat; +} +#jqt ul.plastic li.arrow a.active { + background-image: url(img/chevron.png); + background-position: right center; + background-repeat: no-repeat; +} +#jqt ul.plastic li.forward { + background-image: url(img/chevron_circle.png); + background-position: right center; + background-repeat: no-repeat; +} +#jqt ul.plastic li.forward a.active { + background-image: url(img/chevron_circle.png); + background-position: right center; + background-repeat: no-repeat; +} +/* @group Metal */ +#jqt ul.metal { + border-bottom: 0; + border-left: 0; + border-right: 0; + border-top: 0; + margin: 0; +} +#jqt ul.metal li { + background-image: none; + border-top: 1px solid #fff; + border-bottom: 1px solid #666; + font-size: 26px; + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(238,238,238,1)), to(rgba(156,158,160,1))); +} +#jqt ul.metal li a { + line-height: 26px; + margin: 0; + text-shadow: #fff 0 1px 0; + padding: 13px 0; +} +#jqt ul.metal li a em { + display: block; + font-size: 14px; + font-style: normal; + color: #444; + width: 50%; + line-height: 14px; +} +#jqt ul.metal li a.active { + color: rgb(0,0,0); +} +#jqt ul.metal li small { + float: right; + position: relative; + margin-top: 10px; + font-weight: bold; +} +#jqt ul.metal li.arrow { + background-image: url(img/chevron.png); + background-position: right center; + background-repeat: no-repeat; + background-image: url(img/chevron.png), -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(238,238,238,1)), to(rgba(156,158,160,1))); + background-repeat: no-repeat; + background-position: right center; +} +#jqt ul.metal li.arrow a small { + padding-right: 15px; + line-height: 17px; +} +/* @end */ diff --git a/themes/jqt/img/.svn/all-wcprops b/themes/jqt/img/.svn/all-wcprops new file mode 100644 index 0000000..93ad5f8 --- /dev/null +++ b/themes/jqt/img/.svn/all-wcprops @@ -0,0 +1,113 @@ +K 25 +svn:wc:ra_dav:version-url +V 38 +/svn/!svn/ver/115/trunk/themes/jqt/img +END +greenButton.png +K 25 +svn:wc:ra_dav:version-url +V 54 +/svn/!svn/ver/115/trunk/themes/jqt/img/greenButton.png +END +grayButton.png +K 25 +svn:wc:ra_dav:version-url +V 51 +/svn/!svn/ver/9/trunk/themes/jqt/img/grayButton.png +END +loading.gif +K 25 +svn:wc:ra_dav:version-url +V 49 +/svn/!svn/ver/57/trunk/themes/jqt/img/loading.gif +END +toolbar.png +K 25 +svn:wc:ra_dav:version-url +V 49 +/svn/!svn/ver/57/trunk/themes/jqt/img/toolbar.png +END +chevron.png +K 25 +svn:wc:ra_dav:version-url +V 49 +/svn/!svn/ver/57/trunk/themes/jqt/img/chevron.png +END +on_off.png +K 25 +svn:wc:ra_dav:version-url +V 48 +/svn/!svn/ver/57/trunk/themes/jqt/img/on_off.png +END +redButton.png +K 25 +svn:wc:ra_dav:version-url +V 52 +/svn/!svn/ver/115/trunk/themes/jqt/img/redButton.png +END +activeButton.png +K 25 +svn:wc:ra_dav:version-url +V 55 +/svn/!svn/ver/115/trunk/themes/jqt/img/activeButton.png +END +back_button_clicked.png +K 25 +svn:wc:ra_dav:version-url +V 60 +/svn/!svn/ver/9/trunk/themes/jqt/img/back_button_clicked.png +END +button.png +K 25 +svn:wc:ra_dav:version-url +V 47 +/svn/!svn/ver/9/trunk/themes/jqt/img/button.png +END +whiteButton.png +K 25 +svn:wc:ra_dav:version-url +V 52 +/svn/!svn/ver/9/trunk/themes/jqt/img/whiteButton.png +END +toggleOn.png +K 25 +svn:wc:ra_dav:version-url +V 49 +/svn/!svn/ver/9/trunk/themes/jqt/img/toggleOn.png +END +toggle.png +K 25 +svn:wc:ra_dav:version-url +V 47 +/svn/!svn/ver/9/trunk/themes/jqt/img/toggle.png +END +blueButton.png +K 25 +svn:wc:ra_dav:version-url +V 53 +/svn/!svn/ver/115/trunk/themes/jqt/img/blueButton.png +END +chevron_circle.png +K 25 +svn:wc:ra_dav:version-url +V 56 +/svn/!svn/ver/57/trunk/themes/jqt/img/chevron_circle.png +END +rowhead.png +K 25 +svn:wc:ra_dav:version-url +V 49 +/svn/!svn/ver/57/trunk/themes/jqt/img/rowhead.png +END +button_clicked.png +K 25 +svn:wc:ra_dav:version-url +V 55 +/svn/!svn/ver/9/trunk/themes/jqt/img/button_clicked.png +END +back_button.png +K 25 +svn:wc:ra_dav:version-url +V 52 +/svn/!svn/ver/9/trunk/themes/jqt/img/back_button.png +END diff --git a/themes/jqt/img/.svn/entries b/themes/jqt/img/.svn/entries new file mode 100644 index 0000000..3fadd7c --- /dev/null +++ b/themes/jqt/img/.svn/entries @@ -0,0 +1,640 @@ +10 + +dir +133 +http://jqtouch.googlecode.com/svn/trunk/themes/jqt/img +http://jqtouch.googlecode.com/svn + + + +2009-10-25T08:00:04.365941Z +115 +davidcolbykaneda + + + + + + + + + + + + + + +210952ee-217a-11de-8f7e-2b794b28c5cd + +greenButton.png +file + + + + +2010-03-04T14:47:56.962073Z +e77d96f3d42207c60248c958513177d7 +2009-10-25T08:00:04.365941Z +115 +davidcolbykaneda +has-props + + + + + + + + + + + + + + + + + + + + +1935 + +grayButton.png +file + + + + +2010-03-04T14:47:56.962073Z +1041b36eaff6868d89453dac81019839 +2009-04-11T19:17:40.360466Z +6 +david@dyadcom.com +has-props + + + + + + + + + + + + + + + + + + + + +943 + +loading.gif +file + + + + +2010-03-04T14:47:56.962073Z +95b7a04cd85d0c04cd12c07d02596e23 +2009-09-03T18:03:08.814593Z +57 +davidcolbykaneda +has-props + + + + + + + + + + + + + + + + + + + + +2536 + +toolbar.png +file + + + + +2010-03-04T14:47:56.963073Z +b869b6ec32d23cc99125a9aecae821fc +2009-09-03T18:03:08.814593Z +57 +davidcolbykaneda +has-props + + + + + + + + + + + + + + + + + + + + +805 + +chevron.png +file + + + + +2010-03-04T14:47:56.963073Z +b97109798e637cea3b114647cc7e86b9 +2009-09-03T18:03:08.814593Z +57 +davidcolbykaneda +has-props + + + + + + + + + + + + + + + + + + + + +3074 + +on_off.png +file + + + + +2010-03-04T14:47:56.963073Z +f0106a0a0b980be828f3d0cfb49f988b +2009-09-03T18:03:08.814593Z +57 +davidcolbykaneda +has-props + + + + + + + + + + + + + + + + + + + + +2496 + +redButton.png +file + + + + +2010-03-04T14:47:56.963073Z +c0c9af820d6172e61bd6a8f4cf9c7057 +2009-10-25T08:00:04.365941Z +115 +davidcolbykaneda +has-props + + + + + + + + + + + + + + + + + + + + +1927 + +activeButton.png +file + + + + +2010-03-04T14:47:56.964073Z +c44b9444f9aec80b5212671948dfccda +2009-10-25T08:00:04.365941Z +115 +davidcolbykaneda +has-props + + + + + + + + + + + + + + + + + + + + +1827 + +back_button_clicked.png +file + + + + +2010-03-04T14:47:56.964073Z +75049a40f200455923c5ee198ac185f4 +2009-04-11T19:17:40.360466Z +6 +david@dyadcom.com +has-props + + + + + + + + + + + + + + + + + + + + +3741 + +button.png +file + + + + +2010-03-04T14:47:56.964073Z +0d3d3aede455501353db2db92d22b808 +2009-04-11T19:17:40.360466Z +6 +david@dyadcom.com +has-props + + + + + + + + + + + + + + + + + + + + +3315 + +whiteButton.png +file + + + + +2010-03-04T14:47:56.964073Z +17f06c4431d610ecac4361df5845b817 +2009-04-11T19:17:40.360466Z +6 +david@dyadcom.com +has-props + + + + + + + + + + + + + + + + + + + + +978 + +toggleOn.png +file + + + + +2010-03-04T14:47:56.964073Z +d3660086fd6ac805dccaef5339633b64 +2009-04-11T19:17:40.360466Z +6 +david@dyadcom.com +has-props + + + + + + + + + + + + + + + + + + + + +163 + +toggle.png +file + + + + +2010-03-04T14:47:56.965073Z +bdebeb51c0c12ae443b9eb770fbb9bbe +2009-04-11T19:17:40.360466Z +6 +david@dyadcom.com +has-props + + + + + + + + + + + + + + + + + + + + +2815 + +blueButton.png +file + + + + +2010-03-04T14:47:56.965073Z +31e6bb205785b14b99f972469309a1d1 +2009-10-25T08:00:04.365941Z +115 +davidcolbykaneda +has-props + + + + + + + + + + + + + + + + + + + + +1979 + +chevron_circle.png +file + + + + +2010-03-04T14:47:56.965073Z +7bdca122d9c225a352e9b5b8fdfa8b75 +2009-09-03T18:03:08.814593Z +57 +davidcolbykaneda +has-props + + + + + + + + + + + + + + + + + + + + +1243 + +rowhead.png +file + + + + +2010-03-04T14:47:56.965073Z +09562c0978c632fc8b15c5612614711e +2009-09-03T18:03:08.814593Z +57 +davidcolbykaneda +has-props + + + + + + + + + + + + + + + + + + + + +171 + +button_clicked.png +file + + + + +2010-03-04T14:47:56.966073Z +0f3e780733d57f036943d65631417f76 +2009-04-11T19:17:40.360466Z +6 +david@dyadcom.com +has-props + + + + + + + + + + + + + + + + + + + + +3283 + +back_button.png +file + + + + +2010-03-04T14:47:56.966073Z +29b39e2432440df4b0b1781dd4a41408 +2009-04-11T19:17:40.360466Z +6 +david@dyadcom.com +has-props + + + + + + + + + + + + + + + + + + + + +3756 + diff --git a/themes/jqt/img/.svn/prop-base/activeButton.png.svn-base b/themes/jqt/img/.svn/prop-base/activeButton.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/jqt/img/.svn/prop-base/activeButton.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/jqt/img/.svn/prop-base/back_button.png.svn-base b/themes/jqt/img/.svn/prop-base/back_button.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/jqt/img/.svn/prop-base/back_button.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/jqt/img/.svn/prop-base/back_button_clicked.png.svn-base b/themes/jqt/img/.svn/prop-base/back_button_clicked.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/jqt/img/.svn/prop-base/back_button_clicked.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/jqt/img/.svn/prop-base/blueButton.png.svn-base b/themes/jqt/img/.svn/prop-base/blueButton.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/jqt/img/.svn/prop-base/blueButton.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/jqt/img/.svn/prop-base/button.png.svn-base b/themes/jqt/img/.svn/prop-base/button.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/jqt/img/.svn/prop-base/button.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/jqt/img/.svn/prop-base/button_clicked.png.svn-base b/themes/jqt/img/.svn/prop-base/button_clicked.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/jqt/img/.svn/prop-base/button_clicked.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/jqt/img/.svn/prop-base/chevron.png.svn-base b/themes/jqt/img/.svn/prop-base/chevron.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/jqt/img/.svn/prop-base/chevron.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/jqt/img/.svn/prop-base/chevron_circle.png.svn-base b/themes/jqt/img/.svn/prop-base/chevron_circle.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/jqt/img/.svn/prop-base/chevron_circle.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/jqt/img/.svn/prop-base/grayButton.png.svn-base b/themes/jqt/img/.svn/prop-base/grayButton.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/jqt/img/.svn/prop-base/grayButton.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/jqt/img/.svn/prop-base/greenButton.png.svn-base b/themes/jqt/img/.svn/prop-base/greenButton.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/jqt/img/.svn/prop-base/greenButton.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/jqt/img/.svn/prop-base/loading.gif.svn-base b/themes/jqt/img/.svn/prop-base/loading.gif.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/jqt/img/.svn/prop-base/loading.gif.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/jqt/img/.svn/prop-base/on_off.png.svn-base b/themes/jqt/img/.svn/prop-base/on_off.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/jqt/img/.svn/prop-base/on_off.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/jqt/img/.svn/prop-base/redButton.png.svn-base b/themes/jqt/img/.svn/prop-base/redButton.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/jqt/img/.svn/prop-base/redButton.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/jqt/img/.svn/prop-base/rowhead.png.svn-base b/themes/jqt/img/.svn/prop-base/rowhead.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/jqt/img/.svn/prop-base/rowhead.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/jqt/img/.svn/prop-base/toggle.png.svn-base b/themes/jqt/img/.svn/prop-base/toggle.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/jqt/img/.svn/prop-base/toggle.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/jqt/img/.svn/prop-base/toggleOn.png.svn-base b/themes/jqt/img/.svn/prop-base/toggleOn.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/jqt/img/.svn/prop-base/toggleOn.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/jqt/img/.svn/prop-base/toolbar.png.svn-base b/themes/jqt/img/.svn/prop-base/toolbar.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/jqt/img/.svn/prop-base/toolbar.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/jqt/img/.svn/prop-base/whiteButton.png.svn-base b/themes/jqt/img/.svn/prop-base/whiteButton.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/themes/jqt/img/.svn/prop-base/whiteButton.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/themes/jqt/img/.svn/text-base/activeButton.png.svn-base b/themes/jqt/img/.svn/text-base/activeButton.png.svn-base new file mode 100644 index 0000000..a472f1b Binary files /dev/null and b/themes/jqt/img/.svn/text-base/activeButton.png.svn-base differ diff --git a/themes/jqt/img/.svn/text-base/back_button.png.svn-base b/themes/jqt/img/.svn/text-base/back_button.png.svn-base new file mode 100644 index 0000000..9873901 Binary files /dev/null and b/themes/jqt/img/.svn/text-base/back_button.png.svn-base differ diff --git a/themes/jqt/img/.svn/text-base/back_button_clicked.png.svn-base b/themes/jqt/img/.svn/text-base/back_button_clicked.png.svn-base new file mode 100644 index 0000000..5ec4230 Binary files /dev/null and b/themes/jqt/img/.svn/text-base/back_button_clicked.png.svn-base differ diff --git a/themes/jqt/img/.svn/text-base/blueButton.png.svn-base b/themes/jqt/img/.svn/text-base/blueButton.png.svn-base new file mode 100644 index 0000000..7c39f27 Binary files /dev/null and b/themes/jqt/img/.svn/text-base/blueButton.png.svn-base differ diff --git a/themes/jqt/img/.svn/text-base/button.png.svn-base b/themes/jqt/img/.svn/text-base/button.png.svn-base new file mode 100644 index 0000000..52cc7e2 Binary files /dev/null and b/themes/jqt/img/.svn/text-base/button.png.svn-base differ diff --git a/themes/jqt/img/.svn/text-base/button_clicked.png.svn-base b/themes/jqt/img/.svn/text-base/button_clicked.png.svn-base new file mode 100644 index 0000000..25d478f Binary files /dev/null and b/themes/jqt/img/.svn/text-base/button_clicked.png.svn-base differ diff --git a/themes/jqt/img/.svn/text-base/chevron.png.svn-base b/themes/jqt/img/.svn/text-base/chevron.png.svn-base new file mode 100644 index 0000000..5bdaa46 Binary files /dev/null and b/themes/jqt/img/.svn/text-base/chevron.png.svn-base differ diff --git a/themes/jqt/img/.svn/text-base/chevron_circle.png.svn-base b/themes/jqt/img/.svn/text-base/chevron_circle.png.svn-base new file mode 100644 index 0000000..b477e7c Binary files /dev/null and b/themes/jqt/img/.svn/text-base/chevron_circle.png.svn-base differ diff --git a/themes/jqt/img/.svn/text-base/grayButton.png.svn-base b/themes/jqt/img/.svn/text-base/grayButton.png.svn-base new file mode 100644 index 0000000..0ce6a30 Binary files /dev/null and b/themes/jqt/img/.svn/text-base/grayButton.png.svn-base differ diff --git a/themes/jqt/img/.svn/text-base/greenButton.png.svn-base b/themes/jqt/img/.svn/text-base/greenButton.png.svn-base new file mode 100644 index 0000000..a45594b Binary files /dev/null and b/themes/jqt/img/.svn/text-base/greenButton.png.svn-base differ diff --git a/themes/jqt/img/.svn/text-base/loading.gif.svn-base b/themes/jqt/img/.svn/text-base/loading.gif.svn-base new file mode 100644 index 0000000..2b4205b Binary files /dev/null and b/themes/jqt/img/.svn/text-base/loading.gif.svn-base differ diff --git a/themes/jqt/img/.svn/text-base/on_off.png.svn-base b/themes/jqt/img/.svn/text-base/on_off.png.svn-base new file mode 100644 index 0000000..95d6d5c Binary files /dev/null and b/themes/jqt/img/.svn/text-base/on_off.png.svn-base differ diff --git a/themes/jqt/img/.svn/text-base/redButton.png.svn-base b/themes/jqt/img/.svn/text-base/redButton.png.svn-base new file mode 100644 index 0000000..f5728df Binary files /dev/null and b/themes/jqt/img/.svn/text-base/redButton.png.svn-base differ diff --git a/themes/jqt/img/.svn/text-base/rowhead.png.svn-base b/themes/jqt/img/.svn/text-base/rowhead.png.svn-base new file mode 100644 index 0000000..b2fa8f6 Binary files /dev/null and b/themes/jqt/img/.svn/text-base/rowhead.png.svn-base differ diff --git a/themes/jqt/img/.svn/text-base/toggle.png.svn-base b/themes/jqt/img/.svn/text-base/toggle.png.svn-base new file mode 100644 index 0000000..3b62ebf Binary files /dev/null and b/themes/jqt/img/.svn/text-base/toggle.png.svn-base differ diff --git a/themes/jqt/img/.svn/text-base/toggleOn.png.svn-base b/themes/jqt/img/.svn/text-base/toggleOn.png.svn-base new file mode 100644 index 0000000..b016814 Binary files /dev/null and b/themes/jqt/img/.svn/text-base/toggleOn.png.svn-base differ diff --git a/themes/jqt/img/.svn/text-base/toolbar.png.svn-base b/themes/jqt/img/.svn/text-base/toolbar.png.svn-base new file mode 100644 index 0000000..c17bcf2 Binary files /dev/null and b/themes/jqt/img/.svn/text-base/toolbar.png.svn-base differ diff --git a/themes/jqt/img/.svn/text-base/whiteButton.png.svn-base b/themes/jqt/img/.svn/text-base/whiteButton.png.svn-base new file mode 100644 index 0000000..5514b27 Binary files /dev/null and b/themes/jqt/img/.svn/text-base/whiteButton.png.svn-base differ diff --git a/themes/jqt/img/activeButton.png b/themes/jqt/img/activeButton.png new file mode 100644 index 0000000..a472f1b Binary files /dev/null and b/themes/jqt/img/activeButton.png differ diff --git a/themes/jqt/img/back_button.png b/themes/jqt/img/back_button.png new file mode 100644 index 0000000..9873901 Binary files /dev/null and b/themes/jqt/img/back_button.png differ diff --git a/themes/jqt/img/back_button_clicked.png b/themes/jqt/img/back_button_clicked.png new file mode 100644 index 0000000..5ec4230 Binary files /dev/null and b/themes/jqt/img/back_button_clicked.png differ diff --git a/themes/jqt/img/blueButton.png b/themes/jqt/img/blueButton.png new file mode 100644 index 0000000..7c39f27 Binary files /dev/null and b/themes/jqt/img/blueButton.png differ diff --git a/themes/jqt/img/button.png b/themes/jqt/img/button.png new file mode 100644 index 0000000..52cc7e2 Binary files /dev/null and b/themes/jqt/img/button.png differ diff --git a/themes/jqt/img/button_clicked.png b/themes/jqt/img/button_clicked.png new file mode 100644 index 0000000..25d478f Binary files /dev/null and b/themes/jqt/img/button_clicked.png differ diff --git a/themes/jqt/img/chevron.png b/themes/jqt/img/chevron.png new file mode 100644 index 0000000..5bdaa46 Binary files /dev/null and b/themes/jqt/img/chevron.png differ diff --git a/themes/jqt/img/chevron_circle.png b/themes/jqt/img/chevron_circle.png new file mode 100644 index 0000000..b477e7c Binary files /dev/null and b/themes/jqt/img/chevron_circle.png differ diff --git a/themes/jqt/img/grayButton.png b/themes/jqt/img/grayButton.png new file mode 100644 index 0000000..0ce6a30 Binary files /dev/null and b/themes/jqt/img/grayButton.png differ diff --git a/themes/jqt/img/greenButton.png b/themes/jqt/img/greenButton.png new file mode 100644 index 0000000..a45594b Binary files /dev/null and b/themes/jqt/img/greenButton.png differ diff --git a/themes/jqt/img/loading.gif b/themes/jqt/img/loading.gif new file mode 100644 index 0000000..2b4205b Binary files /dev/null and b/themes/jqt/img/loading.gif differ diff --git a/themes/jqt/img/on_off.png b/themes/jqt/img/on_off.png new file mode 100644 index 0000000..1fed123 Binary files /dev/null and b/themes/jqt/img/on_off.png differ diff --git a/themes/jqt/img/redButton.png b/themes/jqt/img/redButton.png new file mode 100644 index 0000000..f5728df Binary files /dev/null and b/themes/jqt/img/redButton.png differ diff --git a/themes/jqt/img/rowhead.png b/themes/jqt/img/rowhead.png new file mode 100644 index 0000000..b2fa8f6 Binary files /dev/null and b/themes/jqt/img/rowhead.png differ diff --git a/themes/jqt/img/toggle.png b/themes/jqt/img/toggle.png new file mode 100644 index 0000000..3b62ebf Binary files /dev/null and b/themes/jqt/img/toggle.png differ diff --git a/themes/jqt/img/toggleOn.png b/themes/jqt/img/toggleOn.png new file mode 100644 index 0000000..b016814 Binary files /dev/null and b/themes/jqt/img/toggleOn.png differ diff --git a/themes/jqt/img/toolbar.png b/themes/jqt/img/toolbar.png new file mode 100644 index 0000000..c17bcf2 Binary files /dev/null and b/themes/jqt/img/toolbar.png differ diff --git a/themes/jqt/img/whiteButton.png b/themes/jqt/img/whiteButton.png new file mode 100644 index 0000000..5514b27 Binary files /dev/null and b/themes/jqt/img/whiteButton.png differ diff --git a/themes/jqt/theme.css b/themes/jqt/theme.css new file mode 100644 index 0000000..38f1455 --- /dev/null +++ b/themes/jqt/theme.css @@ -0,0 +1,561 @@ +body, #jqt { + background: #000; + color: #ddd; +} +body > *, div#jqt > * { + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#333), to(#5e5e65)); +} +#jqt h1, #jqt h2 { + font: bold 18px "Helvetica Neue", Helvetica; + text-shadow: rgba(255,255,255,.2) 0 1px 1px; + color: #000; + margin: 10px 20px 5px; +} +/* @group Toolbar */ +#jqt .toolbar { + -webkit-box-sizing: border-box; + border-bottom: 1px solid #000; + padding: 8px; + height: 45px; + background: url(img/toolbar.png) #000000 repeat-x; + position: relative; +} +#jqt .black-translucent .toolbar { + margin-top: 20px; +} +div#jqt .toolbar > h1 { + position: absolute; + overflow: hidden; + left: 48%; + vertical-align:middle; + line-height: 1em; + margin: 1px 0 0 -75px; + height: 40px; + font-size: 18px; + width: 150px; + font-weight: bold; + text-shadow: rgba(0,0,0,1) 0 -1px 1px; + text-align: center; + text-overflow: ellipsis; + white-space: nowrap; + color: #fff; +} +div#jqt.landscape .toolbar > h1 { + margin-left: -125px; + width: 250px; +} +#jqt .button, #jqt .back, #jqt .cancel, #jqt .add { + position: absolute; + overflow: hidden; + top: 8px; + right: 10px; + margin: 0; + border-width: 0 5px; + padding: 0 3px; + width: auto; + height: 30px; + line-height: 30px; + font-family: inherit; + font-size: 12px; + font-weight: bold; + color: #fff; + text-shadow: rgba(0, 0, 0, 0.5) 0px -1px 0; + text-overflow: ellipsis; + text-decoration: none; + white-space: nowrap; + background: none; + -webkit-border-image: url(img/button.png) 0 5 0 5; +} +#jqt .button.active, #jqt .cancel.active, #jqt .add.active { + -webkit-border-image: url(img/button_clicked.png) 0 5 0 5; + color: #aaa; +} +#jqt .blueButton { + -webkit-border-image: url(img/blueButton.png) 0 5 0 5; + border-width: 0 5px; +} +#jqt .back { + left: 6px; + right: auto; + padding: 0; + max-width: 55px; + border-width: 0 8px 0 14px; + -webkit-border-image: url(img/back_button.png) 0 8 0 14; +} +#jqt .back.active { + -webkit-border-image: url(img/back_button_clicked.png) 0 8 0 14; + color: #aaa; +} +#jqt .leftButton, #jqt .cancel { + left: 6px; + right: auto; +} +#jqt .add { + font-size: 24px; + line-height: 24px; + font-weight: bold; +} +#jqt .whiteButton, +#jqt .grayButton, #jqt .redButton, #jqt .blueButton, #jqt .greenButton { + display: block; + border-width: 0 12px; + padding: 10px; + text-align: center; + font-size: 20px; + font-weight: bold; + text-decoration: inherit; + color: inherit; +} + +#jqt .whiteButton.active, #jqt .grayButton.active, #jqt .redButton.active, #jqt .blueButton.active, #jqt .greenButton.active, +#jqt .whiteButton:active, #jqt .grayButton:active, #jqt .redButton:active, #jqt .blueButton:active, #jqt .greenButton:active { + -webkit-border-image: url(img/activeButton.png) 0 12 0 12; +} +#jqt .whiteButton { + -webkit-border-image: url(img/whiteButton.png) 0 12 0 12; + text-shadow: rgba(255, 255, 255, 0.7) 0 1px 0; +} +#jqt .grayButton { + -webkit-border-image: url(img/grayButton.png) 0 12 0 12; + color: #FFFFFF; +} + +#jqt .redButton { + -webkit-border-image: url(img/redButton.png) 0 12 0 12; + color: #FFFFFF; +} + +#jqt .greenButton { + -webkit-border-image: url(img/greenButton.png) 0 12 0 12; + color: #FFFFFF; +} + + +/* @end */ +/* @group Lists */ +#jqt h1 + ul, #jqt h2 + ul, #jqt h3 + ul, #jqt h4 + ul, #jqt h5 + ul, #jqt h6 + ul { + margin-top: 0; +} +#jqt ul { + color: #aaa; + border: 1px solid #333333; + font: bold 18px "Helvetica Neue", Helvetica; + padding: 0; + margin: 15px 10px 17px 10px; +} +#jqt ul.rounded { + -webkit-border-radius: 8px; + -webkit-box-shadow: rgba(0,0,0,.3) 1px 1px 3px; +} +#jqt ul.rounded li:first-child, #jqt ul.rounded li:first-child a { + border-top: 0; + -webkit-border-top-left-radius: 8px; + -webkit-border-top-right-radius: 8px; +} +#jqt ul.rounded li:last-child, #jqt ul.rounded li:last-child a { + -webkit-border-bottom-left-radius: 8px; + -webkit-border-bottom-right-radius: 8px; +} +#jqt ul li { + color: #666; + border-top: 1px solid #333; + border-bottom: #555858; + list-style-type: none; + padding: 10px 10px 10px 10px; + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#4c4d4e), to(#404142)); + overflow: hidden; +} +#jqt ul li.arrow { + background-image: url(img/chevron.png), -webkit-gradient(linear, 0% 0%, 0% 100%, from(#4c4d4e), to(#404142)); + background-position: right center; + background-repeat: no-repeat; +} + +#jqt ul li.arrow a { + padding: 12px 22px 12px 10px; +} + +#jqt ul li.forward { + background-image: url(img/chevron_circle.png), -webkit-gradient(linear, 0% 0%, 0% 100%, from(#4c4d4e), to(#404142)); + background-position: right center; + background-repeat: no-repeat; +} +/* universal links on list */ +#jqt ul li a, #jqt li.img a + a { + color: #fff; + text-decoration: none; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + display: block; + padding: 12px 10px 12px 10px; + margin: -10px; + -webkit-tap-highlight-color: rgba(0,0,0,0); + text-shadow: rgba(0,0,0,.2) 0 1px 1px; +} +#jqt ul li a.active, #jqt ul li a.button { + background-color: #ff8300; + color: #fff; +} +#jqt ul li a.active.loading { + background-image: url(img/loading.gif); + background-position: 95% center; + background-repeat: no-repeat; +} +#jqt ul li.arrow a.active { + background-image: url(img/chevron.png); + background-position: right center; + background-repeat: no-repeat; +} +#jqt ul li.forward a.active { + background-image: url(img/chevron_circle.png); + background-position: right center; + background-repeat: no-repeat; +} +#jqt ul li.img a + a { + margin: -10px 10px -20px -5px; + font-size: 17px; + font-weight: bold; +} +#jqt ul li.img a + a + a { + font-size: 14px; + font-weight: normal; + margin-left: -10px; + margin-bottom: -10px; + margin-top: 0; +} +#jqt ul li.img a + small + a { + margin-left: -5px; +} +#jqt ul li.img a + small + a + a { + margin-left: -10px; + margin-top: -20px; + margin-bottom: -10px; + font-size: 14px; + font-weight: normal; +} +#jqt ul li.img a + small + a + a + a { + margin-left: 0px !important; + margin-bottom: 0; +} +#jqt ul li a + a { + color: #000; + font: 14px "Helvetica Neue", Helvetica; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + display: block; + margin: 0; + padding: 0; +} +#jqt ul li a + a + a, #jqt ul li.img a + a + a + a, #jqt ul li.img a + small + a + a + a { + color: #666; + font: 13px "Helvetica Neue", Helvetica; + margin: 0; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + display: block; + padding: 0; +} +/* +@end */ +/* @group Forms */ +#jqt ul.form li { + padding: 7px 10px; +} +#jqt ul.form li.error { + border: 2px solid red; +} +#jqt ul.form li.error + li.error { + border-top: 0; +} +#jqt ul li input[type="text"], +#jqt ul li input[type="password"], +#jqt ul li input[type="tel"], +#jqt ul li input[type="number"], +#jqt ul li input[type="search"], +#jqt ul li input[type="email"], +#jqt ul li input[type="url"], +#jqt ul li textarea, +#jqt ul li select { + color: #FFFFFF; + background: transparent url('data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=='); + border: 0; + font: bold 17px "Helvetica Neue", Helvetica; + padding: 0; + display: inline-block; + margin-left: 10px; + width: 100%; + -webkit-appearance: textarea; +} +#jqt ul li textarea { + height: 120px; + padding: 0; + text-indent: -2px; +} +#jqt ul li select { + text-indent: 15px; + background: transparent url(img/chevron.png) no-repeat right center; + -webkit-appearance: textfield; + margin-left: -6px; + width: 104%; +} +#jqt ul li input[type="checkbox"], #jqt ul li input[type="radio"] { + margin: 0; + padding: 10px 10px; +} +#jqt ul li input[type="checkbox"]:after, #jqt ul li input[type="radio"]:after { + content: attr(title); + font: 17px "Helvetica Neue", Helvetica; + display: block; + width: 246px; + color: #ff8300; + margin: -12px 0 0 17px; +} +/* @end */ +/* @group Mini Label */ +#jqt ul li small { + color: #64c114; + font: 17px "Helvetica Neue", Helvetica; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + display: block; + width: 23%; + float: right; + padding: 0; +} +#jqt ul li.arrow small { + padding: 0 15px; +} +#jqt ul li small.counter { + font-size: 17px; + line-height: 13px; + font-weight: bold; + background: rgba(0,0,0,.15); + color: #fff; + -webkit-border-radius: 11px; + padding: 4px 10px 5px 10px; + display: block; + width: auto; + margin-top: -25px; + -webkit-box-shadow: rgba(255,255,255,.1) 0 1px 0; +} +#jqt ul li.arrow small.counter { + margin-right: 15px; +} +/* @end */ +/* @group Individual */ +#jqt ul.individual { + border: 0; + background: none; + clear: both; + overflow: hidden; + padding-bottom: 3px; + -webkit-box-shadow: none; +} +#jqt ul.individual li { + background: #4c4d4e; + border: 1px solid #333; + font-size: 14px; + text-align: center; + -webkit-border-radius: 8px; + -webkit-box-sizing: border-box; + width: 48%; + float: left; + display: block; + padding: 11px 10px 14px 10px; + -webkit-box-shadow: rgba(0,0,0,.2) 1px 1px 3px; + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#4c4d4e), to(#404142)); +} +#jqt ul.individual li + li { + float: right; +} +#jqt ul.individual li a { + color: #fff; + line-height: 16px; + margin: -11px -10px -14px -10px; + padding: 11px 10px 14px 10px; + -webkit-border-radius: 8px; +} +/* @end */ +/* @group Toggle */ +#jqt .toggle { + width: 94px; + position: relative; + height: 27px; + display: block; + overflow: hidden; + float: right; +} +#jqt .toggle input[type="checkbox"]:checked { + left: 0px; +} +#jqt .toggle input[type="checkbox"] { + -webkit-appearance: textarea; + -webkit-border-radius: 5px; + -webkit-tap-highlight-color: rgba(0,0,0,0); + -webkit-transition: left .15s; + background-color: transparent; + background: #fff url(img/on_off.png) 0 0 no-repeat; + border: 0; + height: 27px; + left: -55px; + margin: 0; + overflow: hidden; + position: absolute; + top: 0; + width: 149px; +} +/* @end */ +/* @group Info */ +#jqt .info { + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ccc), to(#aaa), color-stop(.6,#CCCCCC)); + font-size: 12px; + line-height: 16px; + text-align: center; + text-shadow: rgba(255,255,255,.8) 0 1px 0; + color: #444; + padding: 15px; + border-top: 1px solid rgba(255,255,255,.2); + font-weight: bold; +} +/* @end */ +/* @group Edge to edge */ +#jqt ul.edgetoedge { + border-width: 1px 0; + margin: 0; + padding: 0; +} +#jqt ul.edgetoedge li { + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#1e1f21), to(#272729)); + border-bottom: 2px solid #000; + border-top: 1px solid #4a4b4d; + font-size: 20px; + margin-bottom: -1px; +} +#jqt ul.edgetoedge li.sep { + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0,0,0,0)), to(rgba(0,0,0,.5))); + border-bottom: 1px solid #111113; + border-top: 1px solid #666; + color: #3e9ac3; + font-size: 16px; + margin: 1px 0 0 0; + padding: 2px 10px; + text-shadow: #000 0 1px 0; +} +#jqt ul.edgetoedge li em { + font-weight: normal; + font-style: normal; +} +/* @end */ +/* @group Plastic */ +#jqt #plastic { + background: #17181a; +} +#jqt ul.plastic { + background: #17181a; + color: #aaa; + font: bold 18px "Helvetica Neue", Helvetica; + margin: 0; + padding: 0; + border-width: 0 0 1px 0; +} +#jqt ul.plastic li { + border-width: 1px 0; + border-style: solid; + border-top-color: #222; + border-bottom-color: #000; + color: #666; + list-style-type: none; + overflow: hidden; + padding: 10px 10px 10px 10px; +} +#jqt ul.plastic li a.active.loading { + background-image: url(img/loading.gif); + background-position: 95% center; + background-repeat: no-repeat; +} +#jqt ul.plastic li small { + color: #888; + font-size: 13px; + font-weight: bold; + line-height: 24px; + text-transform: uppercase; +} +#jqt ul.plastic li:nth-child(odd) { + background-color: #1c1c1f; +} +#jqt ul.plastic li.arrow { + background-image: url(img/chevron.png); + background-position: right center; + background-repeat: no-repeat; +} +#jqt ul.plastic li.arrow a.active { + background-image: url(img/chevron.png); + background-position: right center; + background-repeat: no-repeat; +} +#jqt ul.plastic li.forward { + background-image: url(img/chevron_circle.png); + background-position: right center; + background-repeat: no-repeat; +} +#jqt ul.plastic li.forward a.active { + background-image: url(img/chevron_circle.png); + background-position: right center; + background-repeat: no-repeat; +} +/* @group Metal */ +#jqt ul.metal { + border-bottom: 0; + border-left: 0; + border-right: 0; + border-top: 0; + margin: 0; +} +#jqt ul.metal li { + background-image: none; + border-top: 1px solid #fff; + border-bottom: 1px solid #666; + font-size: 26px; + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(238,238,238,1)), to(rgba(156,158,160,1))); +} +#jqt ul.metal li a { + line-height: 26px; + margin: 0; + text-shadow: #fff 0 1px 0; + padding: 13px 0; +} +#jqt ul.metal li a em { + display: block; + font-size: 14px; + font-style: normal; + color: #444; + width: 50%; + line-height: 14px; +} +#jqt ul.metal li a.active { + color: rgb(0,0,0); +} +#jqt ul.metal li small { + float: right; + position: relative; + margin-top: 10px; + font-weight: bold; +} +#jqt ul.metal li.arrow { + background-image: url(img/chevron.png); + background-position: right center; + background-repeat: no-repeat; + background-image: url(img/chevron.png), -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(238,238,238,1)), to(rgba(156,158,160,1))); + background-repeat: no-repeat; + background-position: right center; +} +#jqt ul.metal li.arrow a small { + padding-right: 15px; + line-height: 17px; +} +/* @end */ diff --git a/themes/jqt/theme.min.css b/themes/jqt/theme.min.css new file mode 100644 index 0000000..0182b88 --- /dev/null +++ b/themes/jqt/theme.min.css @@ -0,0 +1 @@ +body{background:#000;color:#ddd;}body>*{background:-webkit-gradient(linear,0% 0,0% 100%,from(#333),to(#5e5e65));}h1,h2{font:bold 18px Helvetica;text-shadow:rgba(255,255,255,.2) 0 1px 1px;color:#000;margin:10px 20px 5px;}.toolbar{-webkit-box-sizing:border-box;border-bottom:1px solid #000;padding:10px;height:45px;background:url(img/toolbar.png) #000 repeat-x;position:relative;}.black-translucent .toolbar{margin-top:20px;}.toolbar>h1{position:absolute;overflow:hidden;left:50%;top:10px;line-height:1em;margin:1px 0 0 -75px;height:40px;font-size:20px;width:150px;font-weight:bold;text-shadow:rgba(0,0,0,1) 0 -1px 1px;text-align:center;text-overflow:ellipsis;white-space:nowrap;color:#fff;}body.landscape .toolbar>h1{margin-left:-125px;width:250px;}.button,.back,.cancel,.add{position:absolute;overflow:hidden;top:8px;right:10px;margin:0;border-width:0 5px;padding:0 3px;width:auto;height:30px;line-height:30px;font-family:inherit;font-size:12px;font-weight:bold;color:#fff;text-shadow:rgba(0,0,0,0.5) 0 -1px 0;text-overflow:ellipsis;text-decoration:none;white-space:nowrap;background:none;-webkit-border-image:url(img/button.png) 0 5 0 5;}.blueButton{-webkit-border-image:url(img/blueButton.png) 0 5 0 5;border-width:0 5px;}.back{left:6px;right:auto;padding:0;max-width:55px;border-width:0 8px 0 14px;-webkit-border-image:url(img/back_button.png) 0 8 0 14;}.back.active{-webkit-border-image:url(img/back_button_clicked.png) 0 8 0 14;color:#aaa;}.leftButton,.cancel{left:6px;right:auto;}.add{font-size:24px;line-height:24px;font-weight:bold;}.whiteButton,.grayButton{display:block;border-width:0 12px;padding:10px;text-align:center;font-size:20px;font-weight:bold;text-decoration:inherit;color:inherit;}.whiteButton{-webkit-border-image:url(img/whiteButton.png) 0 12 0 12;text-shadow:rgba(255,255,255,0.7) 0 1px 0;}.grayButton{-webkit-border-image:url(img/grayButton.png) 0 12 0 12;color:#FFF;}h1+ul,h2+ul,h3+ul,h4+ul,h5+ul,h6+ul{margin-top:0;}ul{color:#aaa;border:1px solid #333;font:bold 18px Helvetica;padding:0;margin:15px 10px 17px 10px;}ul.rounded{-webkit-border-radius:8px;-webkit-box-shadow:rgba(0,0,0,.3) 1px 1px 3px;}ul.rounded li:first-child,ul.rounded li:first-child a{border-top:0;-webkit-border-top-left-radius:8px;-webkit-border-top-right-radius:8px;}ul.rounded li:last-child,ul.rounded li:last-child a{-webkit-border-bottom-left-radius:8px;-webkit-border-bottom-right-radius:8px;}ul li{color:#666;border-top:1px solid #333;border-bottom:#555858;list-style-type:none;padding:10px 10px 10px 10px;background:-webkit-gradient(linear,0% 0,0% 100%,from(#4c4d4e),to(#404142));overflow:hidden;}ul li.arrow{background-image:url(img/chevron.png),-webkit-gradient(linear,0% 0,0% 100%,from(#4c4d4e),to(#404142));background-position:right center;background-repeat:no-repeat;}ul li.forward{background-image:url(img/chevron_circle.png),-webkit-gradient(linear,0% 0,0% 100%,from(#4c4d4e),to(#404142));background-position:right center;background-repeat:no-repeat;}ul li a,li.img a+a{color:#fff;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;padding:12px 10px 12px 10px;margin:-10px;-webkit-tap-highlight-color:rgba(0,0,0,0);text-shadow:rgba(0,0,0,.2) 0 1px 1px;}ul li a.active,ul li a.button{background-color:#53b401;color:#fff;}ul li a.active.loading{background-image:url(img/loading.gif);background-position:95% center;background-repeat:no-repeat;}ul li.arrow a.active{background-image:url(img/chevron.png);background-position:right center;background-repeat:no-repeat;}ul li.forward a.active{background-image:url(img/chevron_circle.png);background-position:right center;background-repeat:no-repeat;}ul li.img a+a{margin:-10px 10px -20px -5px;font-size:17px;font-weight:bold;}ul li.img a+a+a{font-size:14px;font-weight:normal;margin-left:-10px;margin-bottom:-10px;margin-top:0;}ul li.img a+small+a{margin-left:-5px;}ul li.img a+small+a+a{margin-left:-10px;margin-top:-20px;margin-bottom:-10px;font-size:14px;font-weight:normal;}ul li.img a+small+a+a+a{margin-left:0!important;margin-bottom:0;}ul li a+a{color:#000;font:14px Helvetica;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin:0;padding:0;}ul li a+a+a,ul li.img a+a+a+a,ul li.img a+small+a+a+a{color:#666;font:13px Helvetica;margin:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;padding:0;}ul.form li{padding:7px 10px;}ul.form li.error{border:2px solid red;}ul.form li.error+li.error{border-top:0;}ul li input[type="text"],ul li input[type="password"],ul li textarea,ul li select{color:#777;background:transparent url(../.png);border:0;font:normal 17px Helvetica;padding:0;display:inline-block;margin-left:0;width:100%;-webkit-appearance:textarea;}ul li textarea{height:120px;padding:0;text-indent:-2px;}ul li select{text-indent:0;background:transparent url(img/chevron.png) no-repeat right center;-webkit-appearance:textfield;margin-left:-6px;width:104%;}ul li input[type="checkbox"],ul li input[type="radio"]{margin:0;padding:10px 10px;}ul li input[type="checkbox"]:after,ul li input[type="radio"]:after{content:attr(title);font:17px Helvetica;display:block;width:246px;color:#777;margin:-12px 0 0 17px;}ul li small{color:#64c114;font:17px Helvetica;text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;width:23%;float:right;padding:0;}ul li.arrow small{padding:0 15px;}ul li small.counter{font-size:17px;line-height:13px;font-weight:bold;background:rgba(0,0,0,.15);color:#fff;-webkit-border-radius:11px;padding:4px 10px 5px 10px;display:block;width:auto;margin-top:-22px;-webkit-box-shadow:rgba(255,255,255,.1) 0 1px 0;}ul li.arrow small.counter{margin-right:15px;}ul.individual{border:0;background:none;clear:both;overflow:hidden;padding-bottom:3px;-webkit-box-shadow:none;}ul.individual li{background:#4c4d4e;border:1px solid #333;font-size:14px;text-align:center;-webkit-border-radius:8px;-webkit-box-sizing:border-box;width:48%;float:left;display:block;padding:11px 10px 14px 10px;-webkit-box-shadow:rgba(0,0,0,.2) 1px 1px 3px;background:-webkit-gradient(linear,0% 0,0% 100%,from(#4c4d4e),to(#404142));}ul.individual li+li{float:right;}ul.individual li a{color:#fff;line-height:16px;margin:-11px -10px -14px -10px;padding:11px 10px 14px 10px;-webkit-border-radius:8px;}.toggle{width:94px;position:relative;height:27px;display:block;overflow:hidden;float:right;}.toggle input[type="checkbox"]:checked{left:0;}.toggle input[type="checkbox"]{-webkit-appearance:textarea;-webkit-border-radius:5px;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-transition:left .15s;background-color:transparent;background:#fff url(img/on_off.png) 0 0 no-repeat;border:0;height:27px;left:-55px;margin:0;overflow:hidden;position:absolute;top:0;width:149px;}.info{background:-webkit-gradient(linear,0% 0,0% 100%,from(#ccc),to(#aaa),color-stop(.6,#CCC));font-size:12px;line-height:16px;text-align:center;text-shadow:rgba(255,255,255,.8) 0 1px 0;color:#444;padding:15px;border-top:1px solid rgba(255,255,255,.2);font-weight:bold;}ul.edgetoedge{border-width:1px 0;margin:0;padding:0;}ul.edgetoedge li{background:-webkit-gradient(linear,0% 0,0% 100%,from(#1e1f21),to(#272729));border-bottom:2px solid #000;border-top:1px solid #4a4b4d;font-size:20px;margin-bottom:-1px;}ul.edgetoedge li.sep{background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(0,0,0,0)),to(rgba(0,0,0,.5)));border-bottom:1px solid #111113;border-top:1px solid #666;color:#3e9ac3;font-size:16px;margin:1px 0 0 0;padding:2px 10px;text-shadow:#000 0 1px 0;}ul.edgetoedge li em{font-weight:normal;font-style:normal;}#plastic{background:#17181a;}ul.plastic{background:#17181a;color:#aaa;font:bold 18px Helvetica;margin:0;padding:0;border-width:0 0 1px 0;}ul.plastic li{border-width:1px 0;border-style:solid;border-top-color:#222;border-bottom-color:#000;color:#666;list-style-type:none;overflow:hidden;padding:10px 10px 10px 10px;}ul.plastic li a.active.loading{background-image:url(img/loading.gif);background-position:95% center;background-repeat:no-repeat;}ul.plastic li small{color:#888;font-size:13px;font-weight:bold;line-height:24px;text-transform:uppercase;}ul.plastic li:nth-child(odd){background-color:#1c1c1f;}ul.plastic li.arrow{background-image:url(img/chevron.png);background-position:right center;background-repeat:no-repeat;}ul.plastic li.arrow a.active{background-image:url(img/chevron.png);background-position:right center;background-repeat:no-repeat;}ul.plastic li.forward{background-image:url(img/chevron_circle.png);background-position:right center;background-repeat:no-repeat;}ul.plastic li.forward a.active{background-image:url(img/chevron_circle.png);background-position:right center;background-repeat:no-repeat;}ul.metal{border-bottom:0;border-left:0;border-right:0;border-top:0;margin:0;}ul.metal li{background-image:none;border-top:1px solid #fff;border-bottom:1px solid #666;font-size:26px;background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(238,238,238,1)),to(rgba(156,158,160,1)));}ul.metal li a{line-height:26px;margin:0;text-shadow:#fff 0 1px 0;padding:13px 0;}ul.metal li a em{display:block;font-size:14px;font-style:normal;color:#444;width:50%;line-height:14px;}ul.metal li a.active{color:#000;}ul.metal li small{float:right;position:relative;margin-top:10px;font-weight:bold;}ul.metal li.arrow{background-image:url(img/chevron.png);background-position:right center;background-repeat:no-repeat;background-image:url(img/chevron.png),-webkit-gradient(linear,0% 0,0% 100%,from(rgba(238,238,238,1)),to(rgba(156,158,160,1)));background-repeat:no-repeat;background-position:right center;}ul.metal li.arrow a small{padding-right:15px;line-height:17px;} \ No newline at end of file diff --git a/themes/jqtouch/.svn/all-wcprops b/themes/jqtouch/.svn/all-wcprops new file mode 100644 index 0000000..67b37e1 --- /dev/null +++ b/themes/jqtouch/.svn/all-wcprops @@ -0,0 +1,29 @@ +K 25 +svn:wc:ra_dav:version-url +V 31 +/svn/!svn/ver/133/trunk/jqtouch +END +jqtouch.css +K 25 +svn:wc:ra_dav:version-url +V 43 +/svn/!svn/ver/133/trunk/jqtouch/jqtouch.css +END +jqtouch.transitions.js +K 25 +svn:wc:ra_dav:version-url +V 53 +/svn/!svn/ver/72/trunk/jqtouch/jqtouch.transitions.js +END +jqtouch.js +K 25 +svn:wc:ra_dav:version-url +V 42 +/svn/!svn/ver/133/trunk/jqtouch/jqtouch.js +END +jquery.1.3.2.min.js +K 25 +svn:wc:ra_dav:version-url +V 50 +/svn/!svn/ver/28/trunk/jqtouch/jquery.1.3.2.min.js +END diff --git a/themes/jqtouch/.svn/entries b/themes/jqtouch/.svn/entries new file mode 100644 index 0000000..d44e925 --- /dev/null +++ b/themes/jqtouch/.svn/entries @@ -0,0 +1,164 @@ +10 + +dir +133 +http://jqtouch.googlecode.com/svn/trunk/jqtouch +http://jqtouch.googlecode.com/svn + + + +2010-01-15T21:08:54.001495Z +133 +RBoulanouar + + + + + + + + + + + + + + +210952ee-217a-11de-8f7e-2b794b28c5cd + +jqtouch.css +file + + + + +2010-03-04T14:47:59.244073Z +898ec31c8e5cf1d6252df62fd19ccbda +2010-01-15T21:08:54.001495Z +133 +RBoulanouar +has-props + + + + + + + + + + + + + + + + + + + + +7795 + +jqtouch.transitions.js +file + + + + +2010-03-04T14:47:59.244073Z +7bc05f2402439d5cbec9289f97e57c17 +2009-09-22T22:22:25.485736Z +72 +davidcolbykaneda + + + + + + + + + + + + + + + + + + + + + +2144 + +jqtouch.js +file + + + + +2010-03-04T14:47:59.245073Z +d8734e570dbe87ac837cda20c8b6f4d3 +2010-01-15T21:08:54.001495Z +133 +RBoulanouar +has-props + + + + + + + + + + + + + + + + + + + + +23145 + +jquery.1.3.2.min.js +file + + + + +2010-03-04T14:47:59.245073Z +bb381e2d19d8eace86b34d20759491a5 +2009-07-28T15:50:29.885230Z +28 +david@dyadcom.com +has-props + + + + + + + + + + + + + + + + + + + + +57254 + diff --git a/themes/jqtouch/.svn/prop-base/jqtouch.css.svn-base b/themes/jqtouch/.svn/prop-base/jqtouch.css.svn-base new file mode 100644 index 0000000..be4ccab --- /dev/null +++ b/themes/jqtouch/.svn/prop-base/jqtouch.css.svn-base @@ -0,0 +1,13 @@ +K 13 +svn:eol-style +V 6 +native +K 12 +svn:keywords +V 30 +LastChangedBy Date Revision Id +K 13 +svn:mime-type +V 8 +text/css +END diff --git a/themes/jqtouch/.svn/prop-base/jqtouch.js.svn-base b/themes/jqtouch/.svn/prop-base/jqtouch.js.svn-base new file mode 100644 index 0000000..2897092 --- /dev/null +++ b/themes/jqtouch/.svn/prop-base/jqtouch.js.svn-base @@ -0,0 +1,13 @@ +K 13 +svn:eol-style +V 6 +native +K 12 +svn:keywords +V 30 +LastChangedBy Date Revision Id +K 13 +svn:mime-type +V 15 +text/javascript +END diff --git a/themes/jqtouch/.svn/prop-base/jquery.1.3.2.min.js.svn-base b/themes/jqtouch/.svn/prop-base/jquery.1.3.2.min.js.svn-base new file mode 100644 index 0000000..2897092 --- /dev/null +++ b/themes/jqtouch/.svn/prop-base/jquery.1.3.2.min.js.svn-base @@ -0,0 +1,13 @@ +K 13 +svn:eol-style +V 6 +native +K 12 +svn:keywords +V 30 +LastChangedBy Date Revision Id +K 13 +svn:mime-type +V 15 +text/javascript +END diff --git a/themes/jqtouch/.svn/text-base/jqtouch.css.svn-base b/themes/jqtouch/.svn/text-base/jqtouch.css.svn-base new file mode 100644 index 0000000..5c3e736 --- /dev/null +++ b/themes/jqtouch/.svn/text-base/jqtouch.css.svn-base @@ -0,0 +1,373 @@ +* { + margin: 0; + padding: 0; +} +a { + -webkit-tap-highlight-color: rgba(0,0,0,0); +} + +div#jqt { + /*overflow-x: hidden;*/ + -webkit-user-select: none; + -webkit-text-size-adjust: none; + font-family: "Helvetica Neue", Helvetica; + -webkit-perspective: 800; + -webkit-transform-style: preserve-3d; +} +#jqt .selectable, #jqt input, #jqt textarea { + -webkit-user-select: auto; +} +div#jqt > * { + -webkit-backface-visibility: hidden; + -webkit-box-sizing: border-box; + display: none; + position: absolute; + left: 0; + width: 100%; + -webkit-transform: translate3d(0,0,0) rotate(0) scale(1); + min-height: 420px !important; +} +#jqt.fullscreen > * { + min-height: 460px !important; +} +#jqt.fullscreen.black-translucent > * { + min-height: 480px !important; +} +#jqt.landscape > * { + min-height: 320px !important; +} +div#jqt > .current { + display: block !important; +} + +#jqt .in, #jqt .out { + -webkit-animation-timing-function: ease-in-out; + -webkit-animation-duration: 350ms; +} + +#jqt .slide.in { + -webkit-animation-name: slideinfromright; +} + +#jqt .slide.out { + -webkit-animation-name: slideouttoleft; +} + +#jqt .slide.in.reverse { + -webkit-animation-name: slideinfromleft; +} + +#jqt .slide.out.reverse { + -webkit-animation-name: slideouttoright; +} + +@-webkit-keyframes slideinfromright { + from { -webkit-transform: translateX(100%); } + to { -webkit-transform: translateX(0); } +} + +@-webkit-keyframes slideinfromleft { + from { -webkit-transform: translateX(-100%); } + to { -webkit-transform: translateX(0); } +} + +@-webkit-keyframes slideouttoleft { + from { -webkit-transform: translateX(0); } + to { -webkit-transform: translateX(-100%); } +} + +@-webkit-keyframes slideouttoright { + from { -webkit-transform: translateX(0); } + to { -webkit-transform: translateX(100%); } +} + +@-webkit-keyframes fadein { + from { opacity: 0; } + to { opacity: 1; } +} + +@-webkit-keyframes fadeout { + from { opacity: 1; } + to { opacity: 0; } +} + +#jqt .fade.in { + z-index: 10; + -webkit-animation-name: fadein; +} +#jqt .fade.out { + z-index: 0; +} + +#jqt .dissolve.in { + -webkit-animation-name: fadein; +} + +#jqt .dissolve.out { + -webkit-animation-name: fadeout; +} + + + +#jqt .flip { + -webkit-animation-duration: .65s; +} + +#jqt .flip.in { + -webkit-animation-name: flipinfromleft; +} + +#jqt .flip.out { + -webkit-animation-name: flipouttoleft; +} + +/* Shake it all about */ + +#jqt .flip.in.reverse { + -webkit-animation-name: flipinfromright; +} + +#jqt .flip.out.reverse { + -webkit-animation-name: flipouttoright; +} + +@-webkit-keyframes flipinfromright { + from { -webkit-transform: rotateY(-180deg) scale(.8); } + to { -webkit-transform: rotateY(0) scale(1); } +} + +@-webkit-keyframes flipinfromleft { + from { -webkit-transform: rotateY(180deg) scale(.8); } + to { -webkit-transform: rotateY(0) scale(1); } +} + +@-webkit-keyframes flipouttoleft { + from { -webkit-transform: rotateY(0) scale(1); } + to { -webkit-transform: rotateY(-180deg) scale(.8); } +} + +@-webkit-keyframes flipouttoright { + from { -webkit-transform: rotateY(0) scale(1); } + to { -webkit-transform: rotateY(180deg) scale(.8); } +} + +#jqt .slideup.in { + -webkit-animation-name: slideup; + z-index: 10; +} + +#jqt .slideup.out { + -webkit-animation-name: dontmove; + z-index: 0; +} + +#jqt .slideup.out.reverse { + z-index: 10; + -webkit-animation-name: slidedown; +} + +#jqt .slideup.in.reverse { + z-index: 0; + -webkit-animation-name: dontmove; +} + + +@-webkit-keyframes slideup { + from { -webkit-transform: translateY(100%); } + to { -webkit-transform: translateY(0); } +} + +@-webkit-keyframes slidedown { + from { -webkit-transform: translateY(0); } + to { -webkit-transform: translateY(100%); } +} + + + +/* Hackish, but reliable. */ + +@-webkit-keyframes dontmove { + from { opacity: 1; } + to { opacity: 1; } +} + +#jqt .swap { + -webkit-transform: perspective(800); + -webkit-animation-duration: .7s; +} +#jqt .swap.out { + -webkit-animation-name: swapouttoleft; +} +#jqt .swap.in { + -webkit-animation-name: swapinfromright; +} +#jqt .swap.out.reverse { + -webkit-animation-name: swapouttoright; +} +#jqt .swap.in.reverse { + -webkit-animation-name: swapinfromleft; +} + + +@-webkit-keyframes swapouttoright { + 0% { + -webkit-transform: translate3d(0px, 0px, 0px) rotateY(0deg); + -webkit-animation-timing-function: ease-in-out; + } + 50% { + -webkit-transform: translate3d(-180px, 0px, -400px) rotateY(20deg); + -webkit-animation-timing-function: ease-in; + } + 100% { + -webkit-transform: translate3d(0px, 0px, -800px) rotateY(70deg); + } +} + +@-webkit-keyframes swapouttoleft { + 0% { + -webkit-transform: translate3d(0px, 0px, 0px) rotateY(0deg); + -webkit-animation-timing-function: ease-in-out; + } + 50% { + -webkit-transform: translate3d(180px, 0px, -400px) rotateY(-20deg); + -webkit-animation-timing-function: ease-in; + } + 100% { + -webkit-transform: translate3d(0px, 0px, -800px) rotateY(-70deg); + } +} + +@-webkit-keyframes swapinfromright { + 0% { + -webkit-transform: translate3d(0px, 0px, -800px) rotateY(70deg); + -webkit-animation-timing-function: ease-out; + } + 50% { + -webkit-transform: translate3d(-180px, 0px, -400px) rotateY(20deg); + -webkit-animation-timing-function: ease-in-out; + } + 100% { + -webkit-transform: translate3d(0px, 0px, 0px) rotateY(0deg); + } +} + +@-webkit-keyframes swapinfromleft { + 0% { + -webkit-transform: translate3d(0px, 0px, -800px) rotateY(-70deg); + -webkit-animation-timing-function: ease-out; + } + 50% { + -webkit-transform: translate3d(180px, 0px, -400px) rotateY(-20deg); + -webkit-animation-timing-function: ease-in-out; + } + 100% { + -webkit-transform: translate3d(0px, 0px, 0px) rotateY(0deg); + } +} + +#jqt .cube { + -webkit-animation-duration: .55s; +} + +#jqt .cube.in { + -webkit-animation-name: cubeinfromright; + -webkit-transform-origin: 0% 50%; +} +#jqt .cube.out { + -webkit-animation-name: cubeouttoleft; + -webkit-transform-origin: 100% 50%; +} +#jqt .cube.in.reverse { + -webkit-animation-name: cubeinfromleft; + -webkit-transform-origin: 100% 50%; +} +#jqt .cube.out.reverse { + -webkit-animation-name: cubeouttoright; + -webkit-transform-origin: 0% 50%; + +} + +@-webkit-keyframes cubeinfromleft { + from { + -webkit-transform: rotateY(-90deg) translateZ(320px); + opacity: .5; + } + to { + -webkit-transform: rotateY(0deg) translateZ(0); + opacity: 1; + } +} +@-webkit-keyframes cubeouttoright { + from { + -webkit-transform: rotateY(0deg) translateX(0); + opacity: 1; + } + to { + -webkit-transform: rotateY(90deg) translateZ(320px); + opacity: .5; + } +} +@-webkit-keyframes cubeinfromright { + from { + -webkit-transform: rotateY(90deg) translateZ(320px); + opacity: .5; + } + to { + -webkit-transform: rotateY(0deg) translateZ(0); + opacity: 1; + } +} +@-webkit-keyframes cubeouttoleft { + from { + -webkit-transform: rotateY(0deg) translateZ(0); + opacity: 1; + } + to { + -webkit-transform: rotateY(-90deg) translateZ(320px); + opacity: .5; + } +} + + + + +#jqt .pop { + -webkit-transform-origin: 50% 50%; +} + +#jqt .pop.in { + -webkit-animation-name: popin; + z-index: 10; +} + +#jqt .pop.out.reverse { + -webkit-animation-name: popout; + z-index: 10; +} + +#jqt .pop.in.reverse { + z-index: 0; + -webkit-animation-name: dontmove; +} + +@-webkit-keyframes popin { + from { + -webkit-transform: scale(.2); + opacity: 0; + } + to { + -webkit-transform: scale(1); + opacity: 1; + } +} + +@-webkit-keyframes popout { + from { + -webkit-transform: scale(1); + opacity: 1; + } + to { + -webkit-transform: scale(.2); + opacity: 0; + } +} \ No newline at end of file diff --git a/themes/jqtouch/.svn/text-base/jqtouch.js.svn-base b/themes/jqtouch/.svn/text-base/jqtouch.js.svn-base new file mode 100644 index 0000000..7641727 --- /dev/null +++ b/themes/jqtouch/.svn/text-base/jqtouch.js.svn-base @@ -0,0 +1,624 @@ +/* + + _/ _/_/ _/_/_/_/_/ _/ + _/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/ + _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ + _/ + _/ + + Created by David Kaneda + Documentation and issue tracking on Google Code + + Special thanks to Jonathan Stark + and pinch/zoom + + (c) 2009 by jQTouch project members. + See LICENSE.txt for license. + + $Revision$ + $Date$ + $LastChangedBy$ + +*/ + +(function($) { + $.jQTouch = function(options) { + + // Set support values + $.support.WebKitCSSMatrix = (typeof WebKitCSSMatrix == "object"); + $.support.touch = (typeof Touch == "object"); + $.support.WebKitAnimationEvent = (typeof WebKitTransitionEvent == "object"); + + // Initialize internal variables + var $body, + $head=$('head'), + hist=[], + newPageCount=0, + jQTSettings={}, + hashCheckInterval, + currentPage, + orientation, + isMobileWebKit = RegExp(" Mobile/").test(navigator.userAgent), + tapReady=true, + lastAnimationTime=0, + touchSelectors=[], + publicObj={}, + extensions=$.jQTouch.prototype.extensions, + defaultAnimations=['slide','flip','slideup','swap','cube','pop','dissolve','fade','back'], + animations=[], + hairextensions=''; + // Get the party started + init(options); + + function init(options) { + + var defaults = { + addGlossToIcon: true, + backSelector: '.back, .cancel, .goback', + cacheGetRequests: true, + cubeSelector: '.cube', + dissolveSelector: '.dissolve', + fadeSelector: '.fade', + fixedViewport: true, + flipSelector: '.flip', + formSelector: 'form', + fullScreen: true, + fullScreenClass: 'fullscreen', + icon: null, + touchSelector: 'a, .touch', + popSelector: '.pop', + preloadImages: false, + slideSelector: '#jqt > * > ul li a', + slideupSelector: '.slideup', + startupScreen: null, + statusBar: 'default', // other options: black-translucent, black + submitSelector: '.submit', + swapSelector: '.swap', + useAnimations: true, + useFastTouch: true // Experimental. + }; + jQTSettings = $.extend({}, defaults, options); + + // Preload images + if (jQTSettings.preloadImages) { + for (var i = jQTSettings.preloadImages.length - 1; i >= 0; i--) { + (new Image()).src = jQTSettings.preloadImages[i]; + }; + } + // Set icon + if (jQTSettings.icon) { + var precomposed = (jQTSettings.addGlossToIcon) ? '' : '-precomposed'; + hairextensions += ''; + } + // Set startup screen + if (jQTSettings.startupScreen) { + hairextensions += ''; + } + // Set viewport + if (jQTSettings.fixedViewport) { + hairextensions += ''; + } + // Set full-screen + if (jQTSettings.fullScreen) { + hairextensions += ''; + if (jQTSettings.statusBar) { + hairextensions += ''; + } + } + if (hairextensions) { + $head.prepend(hairextensions); + } + + // Initialize on document load: + $(document).ready(function() { + + // Add extensions + for (var i in extensions) { + var fn = extensions[i]; + if ($.isFunction(fn)) { + $.extend(publicObj, fn(publicObj)); + } + } + + // Add animations + for (var i in defaultAnimations) { + var name = defaultAnimations[i]; + var selector = jQTSettings[name + 'Selector']; + if (typeof(selector) == 'string') { + addAnimation({name:name, selector:selector}); + } + } + + touchSelectors.push('input'); + touchSelectors.push(jQTSettings.touchSelector); + touchSelectors.push(jQTSettings.backSelector); + touchSelectors.push(jQTSettings.submitSelector); + $(touchSelectors.join(', ')).css('-webkit-touch-callout', 'none'); + $(jQTSettings.backSelector).tap(liveTap); + $(jQTSettings.submitSelector).tap(submitParentForm); + + $body = $('#jqt'); + + if (jQTSettings.fullScreenClass && window.navigator.standalone == true) { + $body.addClass(jQTSettings.fullScreenClass + ' ' + jQTSettings.statusBar); + } + + // Create custom live events + $body + .bind('touchstart', handleTouch) + .bind('orientationchange', updateOrientation) + .trigger('orientationchange') + .submit(submitForm); + + if (jQTSettings.useFastTouch && $.support.touch) { + $body.click(function(e) { + var $el = $(e.target); + + if ($el.attr('nodeName')!=='A' && $el.attr('nodeName')!=='AREA' && $el.attr('nodeName')!=='INPUT') { + $el = $el.closest('a, area'); + } + + if ($el.isExternalLink()) { + return true; + } else { + return false; + } + }); + + // This additionally gets rid of form focusses + $body.mousedown(function(e) { + var timeDiff = (new Date()).getTime() - lastAnimationTime; + if (timeDiff < 200) { + return false; + } + }); + } + + // Make sure exactly one child of body has "current" class + if ($('#jqt > .current').length == 0) { + currentPage = $('#jqt > *:first'); + } else { + currentPage = $('#jqt > .current:first'); + $('#jqt > .current').removeClass('current'); + } + + // Go to the top of the "current" page + $(currentPage).addClass('current'); + location.hash = '#' + $(currentPage).attr('id'); + addPageToHistory(currentPage); + scrollTo(0, 0); + startHashCheck(); + }); + } + + // PUBLIC FUNCTIONS + function goBack(to) { + // Init the param + var numberOfPages = Math.min(parseInt(to || 1, 10), hist.length-1), + curPage = hist[0]; + + // Search through the history for an ID + if(isNaN(numberOfPages) && typeof(to) === "string" && to != '#' ) { + for( var i=1, length=hist.length; i < length; i++ ) { + if( '#' + hist[i].id === to ) { + numberOfPages = i; + break; + } + } + } + + // If still nothing, assume one + if(isNaN(numberOfPages) || numberOfPages < 1) { + numberOfPages = 1; + }; + + if (hist.length > 1) { + // Remove all pages in front of the target page + hist.splice(0, numberOfPages); + animatePages(curPage.page, hist[0].page, curPage.animation, curPage.reverse === false); + } else { + location.hash = '#' + curPage.id; + } + + return publicObj; + } + function goTo(toPage, animation, reverse) { + var fromPage = hist[0].page; + + if (typeof(toPage) === 'string') { + toPage = $(toPage); + } + if (typeof(animation) === 'string') { + for (var i = animations.length - 1; i >= 0; i--) { + if (animations[i].name === animation) { + animation = animations[i]; + break; + } + } + } + if (animatePages(fromPage, toPage, animation, reverse)) { + addPageToHistory(toPage, animation, reverse); + return publicObj; + } else { + console.error('Could not animate pages.'); + return false; + } + } + function getOrientation() { + return orientation; + } + + // PRIVATE FUNCTIONS + function liveTap(e){ + + // Grab the clicked element + var $el = $(e.target); + + if ($el.attr('nodeName')!=='A' && $el.attr('nodeName')!=='AREA') { + $el = $el.closest('a, area'); + } + + var target = $el.attr('target'), + hash = $el.attr('hash'), + animation=null; + + if (tapReady == false || !$el.length) { + console.warn('Not able to tap element.'); + return false; + } + + if ($el.isExternalLink()) { + $el.removeClass('active'); + return true; + } + + // Figure out the animation to use + for (var i = animations.length - 1; i >= 0; i--) { + if ($el.is(animations[i].selector)) { + animation = animations[i]; + break; + } + }; + + // User clicked an internal link, fullscreen mode + if (target == '_webapp') { + window.location = $el.attr('href'); + } + // User clicked a back button + else if ($el.is(jQTSettings.backSelector)) { + goBack(hash); + } + // Allow tap on item with no href + else if ($el.attr('href') == '#') { + $el.unselect(); + return true; + } + // Branch on internal or external href + else if (hash && hash!='#') { + $el.addClass('active'); + goTo($(hash).data('referrer', $el), animation, $(this).hasClass('reverse')); + } else { + $el.addClass('loading active'); + showPageByHref($el.attr('href'), { + animation: animation, + callback: function() { + $el.removeClass('loading'); setTimeout($.fn.unselect, 250, $el); + }, + $referrer: $el + }); + } + return false; + } + function addPageToHistory(page, animation, reverse) { + // Grab some info + var pageId = page.attr('id'); + // Prepend info to page history + hist.unshift({ + page: page, + animation: animation, + reverse: reverse || false, + id: pageId + }); + } + function animatePages(fromPage, toPage, animation, backwards) { + // Error check for target page + if (toPage.length === 0) { + $.fn.unselect(); + console.error('Target element is missing.'); + return false; + } + + // Error check for fromPage=toPage + if (toPage.hasClass('current')) { + $.fn.unselect(); + console.error('Target element is the current page.'); + return false; + } + + // Collapse the keyboard + $(':focus').blur(); + + // Make sure we are scrolled up to hide location bar + scrollTo(0, 0); + + // Define callback to run after animation completes + var callback = function animationEnd(event) { + if (animation) { + toPage.removeClass('in ' + animation.name); + fromPage.removeClass('current out ' + animation.name); + if (backwards) { + toPage.toggleClass('reverse'); + fromPage.toggleClass('reverse'); + } + } else { + fromPage.removeClass('current'); + } + + toPage.trigger('pageAnimationEnd', { direction: 'in' }); + fromPage.trigger('pageAnimationEnd', { direction: 'out' }); + + clearInterval(hashCheckInterval); + currentPage = toPage; + location.hash = '#' + currentPage.attr('id'); + startHashCheck(); + + var $originallink = toPage.data('referrer'); + if ($originallink) { + $originallink.unselect(); + } + lastAnimationTime = (new Date()).getTime(); + tapReady = true; + } + + fromPage.trigger('pageAnimationStart', { direction: 'out' }); + toPage.trigger('pageAnimationStart', { direction: 'in' }); + + if ($.support.WebKitAnimationEvent && animation && jQTSettings.useAnimations) { + toPage.one('webkitAnimationEnd', callback); + tapReady = false; + if (backwards) { + toPage.toggleClass('reverse'); + fromPage.toggleClass('reverse'); + } + toPage.addClass(animation.name + ' in current '); + fromPage.addClass(animation.name + ' out'); + + } else { + toPage.addClass('current'); + callback(); + } + + return true; + } + function hashCheck() { + var curid = currentPage.attr('id'); + if (location.hash == '') { + location.hash = '#' + curid; + } else if (location.hash != '#' + curid) { + clearInterval(hashCheckInterval); + goBack(location.hash); + } + } + function startHashCheck() { + hashCheckInterval = setInterval(hashCheck, 100); + } + function insertPages(nodes, animation) { + var targetPage = null; + $(nodes).each(function(index, node) { + var $node = $(this); + if (!$node.attr('id')) { + $node.attr('id', 'page-' + (++newPageCount)); + } + + $body.trigger('pageInserted', {page: $node.appendTo($body)}); + + if ($node.hasClass('current') || !targetPage) { + targetPage = $node; + } + }); + if (targetPage !== null) { + goTo(targetPage, animation); + return targetPage; + } else { + return false; + } + } + function showPageByHref(href, options) { + var defaults = { + data: null, + method: 'GET', + animation: null, + callback: null, + $referrer: null + }; + + var settings = $.extend({}, defaults, options); + + if (href != '#') { + $.ajax({ + url: href, + data: settings.data, + type: settings.method, + success: function (data, textStatus) { + var firstPage = insertPages(data, settings.animation); + if (firstPage) { + if (settings.method == 'GET' && jQTSettings.cacheGetRequests === true && settings.$referrer) { + settings.$referrer.attr('href', '#' + firstPage.attr('id')); + } + if (settings.callback) { + settings.callback(true); + } + } + }, + error: function (data) { + if (settings.$referrer) { + settings.$referrer.unselect(); + } + if (settings.callback) { + settings.callback(false); + } + } + }); + } + else if (settings.$referrer) { + settings.$referrer.unselect(); + } + } + function submitForm(e, callback) { + var $form = (typeof(e)==='string') ? $(e).eq(0) : (e.target ? $(e.target) : $(e)); + + if ($form.length && $form.is(jQTSettings.formSelector)) { + showPageByHref($form.attr('action'), { + data: $form.serialize(), + method: $form.attr('method') || "POST", + animation: animations[0] || null, + callback: callback + }); + return false; + } + return true; + } + function submitParentForm(e) { + var $form = $(this).closest('form'); + if ($form.length) { + evt = jQuery.Event("submit"); + evt.preventDefault(); + $form.trigger(evt); + return false; + } + return true; + } + function addAnimation(animation) { + if (typeof(animation.selector) == 'string' && typeof(animation.name) == 'string') { + animations.push(animation); + $(animation.selector).tap(liveTap); + touchSelectors.push(animation.selector); + } + } + function updateOrientation() { + orientation = window.innerWidth < window.innerHeight ? 'profile' : 'landscape'; + $body.removeClass('profile landscape').addClass(orientation).trigger('turn', {orientation: orientation}); + // scrollTo(0, 0); + } + function handleTouch(e) { + var $el = $(e.target); + + // Only handle touchSelectors + if (!$(e.target).is(touchSelectors.join(', '))) { + var $link = $(e.target).closest('a, area'); + + if ($link.length && $link.is(touchSelectors.join(', '))) { + $el = $link; + } else { + return; + } + } + + if (e) { + var hoverTimeout = null, + startX = event.changedTouches[0].clientX, + startY = event.changedTouches[0].clientY, + startTime = (new Date).getTime(), + deltaX = 0, + deltaY = 0, + deltaT = 0; + + // Let's bind these after the fact, so we can keep some internal values + $el.bind('touchmove', touchmove).bind('touchend', touchend); + + hoverTimeout = setTimeout(function() { + $el.makeActive(); + }, 100); + + } + + // Private touch functions (TODO: insert dirty joke) + function touchmove(e) { + + updateChanges(); + var absX = Math.abs(deltaX); + var absY = Math.abs(deltaY); + + // Check for swipe + if (absX > absY && (absX > 35) && deltaT < 1000) { + $el.trigger('swipe', {direction: (deltaX < 0) ? 'left' : 'right', deltaX: deltaX, deltaY: deltaY }).unbind('touchmove touchend'); + } else if (absY > 1) { + $el.removeClass('active'); + } + + clearTimeout(hoverTimeout); + } + + function touchend() { + updateChanges(); + + if (deltaY === 0 && deltaX === 0) { + $el.makeActive(); + $el.trigger('tap'); + } else { + $el.removeClass('active'); + } + $el.unbind('touchmove touchend'); + clearTimeout(hoverTimeout); + } + + function updateChanges() { + var first = event.changedTouches[0] || null; + deltaX = first.pageX - startX; + deltaY = first.pageY - startY; + deltaT = (new Date).getTime() - startTime; + } + + } // End touch handler + + // Public jQuery Fns + $.fn.unselect = function(obj) { + if (obj) { + obj.removeClass('active'); + } else { + $('.active').removeClass('active'); + } + } + $.fn.makeActive = function() { + return $(this).addClass('active'); + } + $.fn.swipe = function(fn) { + if ($.isFunction(fn)) { + return $(this).bind('swipe', fn); + } else { + return $(this).trigger('swipe'); + } + } + $.fn.tap = function(fn) { + if ($.isFunction(fn)) { + var tapEvent = (jQTSettings.useFastTouch && $.support.touch) ? 'tap' : 'click'; + return $(this).live(tapEvent, fn); + } else { + return $(this).trigger('tap'); + } + } + $.fn.isExternalLink = function() { + var $el = $(this); + return ($el.attr('target') == '_blank' || $el.attr('rel') == 'external' || $el.is('input[type="checkbox"], input[type="radio"], a[href^="http://maps.google.com:"], a[href^="mailto:"], a[href^="tel:"], a[href^="javascript:"], a[href*="youtube.com/v"], a[href*="youtube.com/watch"]')); + } + + publicObj = { + getOrientation: getOrientation, + goBack: goBack, + goTo: goTo, + addAnimation: addAnimation, + submitForm: submitForm + } + + return publicObj; + } + + // Extensions directly manipulate the jQTouch object, before it's initialized. + $.jQTouch.prototype.extensions = []; + $.jQTouch.addExtension = function(extension) { + $.jQTouch.prototype.extensions.push(extension); + } + +})(jQuery); \ No newline at end of file diff --git a/themes/jqtouch/.svn/text-base/jqtouch.transitions.js.svn-base b/themes/jqtouch/.svn/text-base/jqtouch.transitions.js.svn-base new file mode 100644 index 0000000..9d8970f --- /dev/null +++ b/themes/jqtouch/.svn/text-base/jqtouch.transitions.js.svn-base @@ -0,0 +1,60 @@ +/* + + _/ _/_/ _/_/_/_/_/ _/ + _/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/ + _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ + _/ + _/ + + Created by David Kaneda + Documentation and issue tracking on Google Code + + Special thanks to Jonathan Stark + and pinch/zoom + + (c) 2009 by jQTouch project members. + See LICENSE.txt for license. + +*/ + +(function($) { + + $.fn.transition = function(css, options) { + return this.each(function(){ + var $el = $(this); + var defaults = { + speed : '300ms', + callback: null, + ease: 'ease-in-out' + }; + var settings = $.extend({}, defaults, options); + if(settings.speed === 0) { + $el.css(css); + window.setTimeout(settings.callback, 0); + } else { + if ($.browser.safari) + { + var s = []; + for(var i in css) { + s.push(i); + } + $el.css({ + webkitTransitionProperty: s.join(", "), + webkitTransitionDuration: settings.speed, + webkitTransitionTimingFunction: settings.ease + }); + if (settings.callback) { + $el.one('webkitTransitionEnd', settings.callback); + } + setTimeout(function(el){ el.css(css) }, 0, $el); + } + else + { + $el.animate(css, settings.speed, settings.callback); + } + } + }); + } +})(jQuery); \ No newline at end of file diff --git a/themes/jqtouch/.svn/text-base/jquery.1.3.2.min.js.svn-base b/themes/jqtouch/.svn/text-base/jquery.1.3.2.min.js.svn-base new file mode 100644 index 0000000..b1ae21d --- /dev/null +++ b/themes/jqtouch/.svn/text-base/jquery.1.3.2.min.js.svn-base @@ -0,0 +1,19 @@ +/* + * jQuery JavaScript Library v1.3.2 + * http://jquery.com/ + * + * Copyright (c) 2009 John Resig + * Dual licensed under the MIT and GPL licenses. + * http://docs.jquery.com/License + * + * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) + * Revision: 6246 + */ +(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
"]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
","
"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); +/* + * Sizzle CSS Selector Engine - v0.9.3 + * Copyright 2009, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},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 toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},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(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); \ No newline at end of file diff --git a/themes/jqtouch/jqtouch.css b/themes/jqtouch/jqtouch.css new file mode 100644 index 0000000..5c3e736 --- /dev/null +++ b/themes/jqtouch/jqtouch.css @@ -0,0 +1,373 @@ +* { + margin: 0; + padding: 0; +} +a { + -webkit-tap-highlight-color: rgba(0,0,0,0); +} + +div#jqt { + /*overflow-x: hidden;*/ + -webkit-user-select: none; + -webkit-text-size-adjust: none; + font-family: "Helvetica Neue", Helvetica; + -webkit-perspective: 800; + -webkit-transform-style: preserve-3d; +} +#jqt .selectable, #jqt input, #jqt textarea { + -webkit-user-select: auto; +} +div#jqt > * { + -webkit-backface-visibility: hidden; + -webkit-box-sizing: border-box; + display: none; + position: absolute; + left: 0; + width: 100%; + -webkit-transform: translate3d(0,0,0) rotate(0) scale(1); + min-height: 420px !important; +} +#jqt.fullscreen > * { + min-height: 460px !important; +} +#jqt.fullscreen.black-translucent > * { + min-height: 480px !important; +} +#jqt.landscape > * { + min-height: 320px !important; +} +div#jqt > .current { + display: block !important; +} + +#jqt .in, #jqt .out { + -webkit-animation-timing-function: ease-in-out; + -webkit-animation-duration: 350ms; +} + +#jqt .slide.in { + -webkit-animation-name: slideinfromright; +} + +#jqt .slide.out { + -webkit-animation-name: slideouttoleft; +} + +#jqt .slide.in.reverse { + -webkit-animation-name: slideinfromleft; +} + +#jqt .slide.out.reverse { + -webkit-animation-name: slideouttoright; +} + +@-webkit-keyframes slideinfromright { + from { -webkit-transform: translateX(100%); } + to { -webkit-transform: translateX(0); } +} + +@-webkit-keyframes slideinfromleft { + from { -webkit-transform: translateX(-100%); } + to { -webkit-transform: translateX(0); } +} + +@-webkit-keyframes slideouttoleft { + from { -webkit-transform: translateX(0); } + to { -webkit-transform: translateX(-100%); } +} + +@-webkit-keyframes slideouttoright { + from { -webkit-transform: translateX(0); } + to { -webkit-transform: translateX(100%); } +} + +@-webkit-keyframes fadein { + from { opacity: 0; } + to { opacity: 1; } +} + +@-webkit-keyframes fadeout { + from { opacity: 1; } + to { opacity: 0; } +} + +#jqt .fade.in { + z-index: 10; + -webkit-animation-name: fadein; +} +#jqt .fade.out { + z-index: 0; +} + +#jqt .dissolve.in { + -webkit-animation-name: fadein; +} + +#jqt .dissolve.out { + -webkit-animation-name: fadeout; +} + + + +#jqt .flip { + -webkit-animation-duration: .65s; +} + +#jqt .flip.in { + -webkit-animation-name: flipinfromleft; +} + +#jqt .flip.out { + -webkit-animation-name: flipouttoleft; +} + +/* Shake it all about */ + +#jqt .flip.in.reverse { + -webkit-animation-name: flipinfromright; +} + +#jqt .flip.out.reverse { + -webkit-animation-name: flipouttoright; +} + +@-webkit-keyframes flipinfromright { + from { -webkit-transform: rotateY(-180deg) scale(.8); } + to { -webkit-transform: rotateY(0) scale(1); } +} + +@-webkit-keyframes flipinfromleft { + from { -webkit-transform: rotateY(180deg) scale(.8); } + to { -webkit-transform: rotateY(0) scale(1); } +} + +@-webkit-keyframes flipouttoleft { + from { -webkit-transform: rotateY(0) scale(1); } + to { -webkit-transform: rotateY(-180deg) scale(.8); } +} + +@-webkit-keyframes flipouttoright { + from { -webkit-transform: rotateY(0) scale(1); } + to { -webkit-transform: rotateY(180deg) scale(.8); } +} + +#jqt .slideup.in { + -webkit-animation-name: slideup; + z-index: 10; +} + +#jqt .slideup.out { + -webkit-animation-name: dontmove; + z-index: 0; +} + +#jqt .slideup.out.reverse { + z-index: 10; + -webkit-animation-name: slidedown; +} + +#jqt .slideup.in.reverse { + z-index: 0; + -webkit-animation-name: dontmove; +} + + +@-webkit-keyframes slideup { + from { -webkit-transform: translateY(100%); } + to { -webkit-transform: translateY(0); } +} + +@-webkit-keyframes slidedown { + from { -webkit-transform: translateY(0); } + to { -webkit-transform: translateY(100%); } +} + + + +/* Hackish, but reliable. */ + +@-webkit-keyframes dontmove { + from { opacity: 1; } + to { opacity: 1; } +} + +#jqt .swap { + -webkit-transform: perspective(800); + -webkit-animation-duration: .7s; +} +#jqt .swap.out { + -webkit-animation-name: swapouttoleft; +} +#jqt .swap.in { + -webkit-animation-name: swapinfromright; +} +#jqt .swap.out.reverse { + -webkit-animation-name: swapouttoright; +} +#jqt .swap.in.reverse { + -webkit-animation-name: swapinfromleft; +} + + +@-webkit-keyframes swapouttoright { + 0% { + -webkit-transform: translate3d(0px, 0px, 0px) rotateY(0deg); + -webkit-animation-timing-function: ease-in-out; + } + 50% { + -webkit-transform: translate3d(-180px, 0px, -400px) rotateY(20deg); + -webkit-animation-timing-function: ease-in; + } + 100% { + -webkit-transform: translate3d(0px, 0px, -800px) rotateY(70deg); + } +} + +@-webkit-keyframes swapouttoleft { + 0% { + -webkit-transform: translate3d(0px, 0px, 0px) rotateY(0deg); + -webkit-animation-timing-function: ease-in-out; + } + 50% { + -webkit-transform: translate3d(180px, 0px, -400px) rotateY(-20deg); + -webkit-animation-timing-function: ease-in; + } + 100% { + -webkit-transform: translate3d(0px, 0px, -800px) rotateY(-70deg); + } +} + +@-webkit-keyframes swapinfromright { + 0% { + -webkit-transform: translate3d(0px, 0px, -800px) rotateY(70deg); + -webkit-animation-timing-function: ease-out; + } + 50% { + -webkit-transform: translate3d(-180px, 0px, -400px) rotateY(20deg); + -webkit-animation-timing-function: ease-in-out; + } + 100% { + -webkit-transform: translate3d(0px, 0px, 0px) rotateY(0deg); + } +} + +@-webkit-keyframes swapinfromleft { + 0% { + -webkit-transform: translate3d(0px, 0px, -800px) rotateY(-70deg); + -webkit-animation-timing-function: ease-out; + } + 50% { + -webkit-transform: translate3d(180px, 0px, -400px) rotateY(-20deg); + -webkit-animation-timing-function: ease-in-out; + } + 100% { + -webkit-transform: translate3d(0px, 0px, 0px) rotateY(0deg); + } +} + +#jqt .cube { + -webkit-animation-duration: .55s; +} + +#jqt .cube.in { + -webkit-animation-name: cubeinfromright; + -webkit-transform-origin: 0% 50%; +} +#jqt .cube.out { + -webkit-animation-name: cubeouttoleft; + -webkit-transform-origin: 100% 50%; +} +#jqt .cube.in.reverse { + -webkit-animation-name: cubeinfromleft; + -webkit-transform-origin: 100% 50%; +} +#jqt .cube.out.reverse { + -webkit-animation-name: cubeouttoright; + -webkit-transform-origin: 0% 50%; + +} + +@-webkit-keyframes cubeinfromleft { + from { + -webkit-transform: rotateY(-90deg) translateZ(320px); + opacity: .5; + } + to { + -webkit-transform: rotateY(0deg) translateZ(0); + opacity: 1; + } +} +@-webkit-keyframes cubeouttoright { + from { + -webkit-transform: rotateY(0deg) translateX(0); + opacity: 1; + } + to { + -webkit-transform: rotateY(90deg) translateZ(320px); + opacity: .5; + } +} +@-webkit-keyframes cubeinfromright { + from { + -webkit-transform: rotateY(90deg) translateZ(320px); + opacity: .5; + } + to { + -webkit-transform: rotateY(0deg) translateZ(0); + opacity: 1; + } +} +@-webkit-keyframes cubeouttoleft { + from { + -webkit-transform: rotateY(0deg) translateZ(0); + opacity: 1; + } + to { + -webkit-transform: rotateY(-90deg) translateZ(320px); + opacity: .5; + } +} + + + + +#jqt .pop { + -webkit-transform-origin: 50% 50%; +} + +#jqt .pop.in { + -webkit-animation-name: popin; + z-index: 10; +} + +#jqt .pop.out.reverse { + -webkit-animation-name: popout; + z-index: 10; +} + +#jqt .pop.in.reverse { + z-index: 0; + -webkit-animation-name: dontmove; +} + +@-webkit-keyframes popin { + from { + -webkit-transform: scale(.2); + opacity: 0; + } + to { + -webkit-transform: scale(1); + opacity: 1; + } +} + +@-webkit-keyframes popout { + from { + -webkit-transform: scale(1); + opacity: 1; + } + to { + -webkit-transform: scale(.2); + opacity: 0; + } +} \ No newline at end of file diff --git a/themes/jqtouch/jqtouch.js b/themes/jqtouch/jqtouch.js new file mode 100644 index 0000000..b5057eb --- /dev/null +++ b/themes/jqtouch/jqtouch.js @@ -0,0 +1,624 @@ +/* + + _/ _/_/ _/_/_/_/_/ _/ + _/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/ + _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ + _/ + _/ + + Created by David Kaneda + Documentation and issue tracking on Google Code + + Special thanks to Jonathan Stark + and pinch/zoom + + (c) 2009 by jQTouch project members. + See LICENSE.txt for license. + + $Revision: 133 $ + $Date: 2010-01-15 22:08:54 +0100 (ven. 15 janv. 2010) $ + $LastChangedBy: RBoulanouar $ + +*/ + +(function($) { + $.jQTouch = function(options) { + + // Set support values + $.support.WebKitCSSMatrix = (typeof WebKitCSSMatrix == "object"); + $.support.touch = (typeof Touch == "object"); + $.support.WebKitAnimationEvent = (typeof WebKitTransitionEvent == "object"); + + // Initialize internal variables + var $body, + $head=$('head'), + hist=[], + newPageCount=0, + jQTSettings={}, + hashCheckInterval, + currentPage, + orientation, + isMobileWebKit = RegExp(" Mobile/").test(navigator.userAgent), + tapReady=true, + lastAnimationTime=0, + touchSelectors=[], + publicObj={}, + extensions=$.jQTouch.prototype.extensions, + defaultAnimations=['slide','flip','slideup','swap','cube','pop','dissolve','fade','back'], + animations=[], + hairextensions=''; + // Get the party started + init(options); + + function init(options) { + + var defaults = { + addGlossToIcon: true, + backSelector: '.back, .cancel, .goback', + cacheGetRequests: true, + cubeSelector: '.cube', + dissolveSelector: '.dissolve', + fadeSelector: '.fade', + fixedViewport: true, + flipSelector: '.flip', + formSelector: 'form', + fullScreen: true, + fullScreenClass: 'fullscreen', + icon: null, + touchSelector: 'a, .touch', + popSelector: '.pop', + preloadImages: false, + slideSelector: '#jqt > * > ul li a', + slideupSelector: '.slideup', + startupScreen: null, + statusBar: 'default', // other options: black-translucent, black + submitSelector: '.submit', + swapSelector: '.swap', + useAnimations: true, + useFastTouch: true // Experimental. + }; + jQTSettings = $.extend({}, defaults, options); + + // Preload images + if (jQTSettings.preloadImages) { + for (var i = jQTSettings.preloadImages.length - 1; i >= 0; i--) { + (new Image()).src = jQTSettings.preloadImages[i]; + }; + } + // Set icon + if (jQTSettings.icon) { + var precomposed = (jQTSettings.addGlossToIcon) ? '' : '-precomposed'; + hairextensions += ''; + } + // Set startup screen + if (jQTSettings.startupScreen) { + hairextensions += ''; + } + // Set viewport + if (jQTSettings.fixedViewport) { + hairextensions += ''; + } + // Set full-screen + if (jQTSettings.fullScreen) { + hairextensions += ''; + if (jQTSettings.statusBar) { + hairextensions += ''; + } + } + if (hairextensions) { + $head.prepend(hairextensions); + } + + // Initialize on document load: + $(document).ready(function() { + + // Add extensions + for (var i in extensions) { + var fn = extensions[i]; + if ($.isFunction(fn)) { + $.extend(publicObj, fn(publicObj)); + } + } + + // Add animations + for (var i in defaultAnimations) { + var name = defaultAnimations[i]; + var selector = jQTSettings[name + 'Selector']; + if (typeof(selector) == 'string') { + addAnimation({name:name, selector:selector}); + } + } + + touchSelectors.push('input'); + touchSelectors.push(jQTSettings.touchSelector); + touchSelectors.push(jQTSettings.backSelector); + touchSelectors.push(jQTSettings.submitSelector); + $(touchSelectors.join(', ')).css('-webkit-touch-callout', 'none'); + $(jQTSettings.backSelector).tap(liveTap); + $(jQTSettings.submitSelector).tap(submitParentForm); + + $body = $('#jqt'); + + if (jQTSettings.fullScreenClass && window.navigator.standalone == true) { + $body.addClass(jQTSettings.fullScreenClass + ' ' + jQTSettings.statusBar); + } + + // Create custom live events + $body + .bind('touchstart', handleTouch) + .bind('orientationchange', updateOrientation) + .trigger('orientationchange') + .submit(submitForm); + + if (jQTSettings.useFastTouch && $.support.touch) { + $body.click(function(e) { + var $el = $(e.target); + + if ($el.attr('nodeName')!=='A' && $el.attr('nodeName')!=='AREA' && $el.attr('nodeName')!=='INPUT') { + $el = $el.closest('a, area'); + } + + if ($el.isExternalLink()) { + return true; + } else { + return false; + } + }); + + // This additionally gets rid of form focusses + $body.mousedown(function(e) { + var timeDiff = (new Date()).getTime() - lastAnimationTime; + if (timeDiff < 200) { + return false; + } + }); + } + + // Make sure exactly one child of body has "current" class + if ($('#jqt > .current').length == 0) { + currentPage = $('#jqt > *:first'); + } else { + currentPage = $('#jqt > .current:first'); + $('#jqt > .current').removeClass('current'); + } + + // Go to the top of the "current" page + $(currentPage).addClass('current'); + location.hash = '#' + $(currentPage).attr('id'); + addPageToHistory(currentPage); + scrollTo(0, 0); + startHashCheck(); + }); + } + + // PUBLIC FUNCTIONS + function goBack(to) { + // Init the param + var numberOfPages = Math.min(parseInt(to || 1, 10), hist.length-1), + curPage = hist[0]; + + // Search through the history for an ID + if(isNaN(numberOfPages) && typeof(to) === "string" && to != '#' ) { + for( var i=1, length=hist.length; i < length; i++ ) { + if( '#' + hist[i].id === to ) { + numberOfPages = i; + break; + } + } + } + + // If still nothing, assume one + if(isNaN(numberOfPages) || numberOfPages < 1) { + numberOfPages = 1; + }; + + if (hist.length > 1) { + // Remove all pages in front of the target page + hist.splice(0, numberOfPages); + animatePages(curPage.page, hist[0].page, curPage.animation, curPage.reverse === false); + } else { + location.hash = '#' + curPage.id; + } + + return publicObj; + } + function goTo(toPage, animation, reverse) { + var fromPage = hist[0].page; + + if (typeof(toPage) === 'string') { + toPage = $(toPage); + } + if (typeof(animation) === 'string') { + for (var i = animations.length - 1; i >= 0; i--) { + if (animations[i].name === animation) { + animation = animations[i]; + break; + } + } + } + if (animatePages(fromPage, toPage, animation, reverse)) { + addPageToHistory(toPage, animation, reverse); + return publicObj; + } else { + console.error('Could not animate pages.'); + return false; + } + } + function getOrientation() { + return orientation; + } + + // PRIVATE FUNCTIONS + function liveTap(e){ + + // Grab the clicked element + var $el = $(e.target); + + if ($el.attr('nodeName')!=='A' && $el.attr('nodeName')!=='AREA') { + $el = $el.closest('a, area'); + } + + var target = $el.attr('target'), + hash = $el.attr('hash'), + animation=null; + + if (tapReady == false || !$el.length) { + console.warn('Not able to tap element.'); + return false; + } + + if ($el.isExternalLink()) { + $el.removeClass('active'); + return true; + } + + // Figure out the animation to use + for (var i = animations.length - 1; i >= 0; i--) { + if ($el.is(animations[i].selector)) { + animation = animations[i]; + break; + } + }; + + // User clicked an internal link, fullscreen mode + if (target == '_webapp') { + window.location = $el.attr('href'); + } + // User clicked a back button + else if ($el.is(jQTSettings.backSelector)) { + goBack(hash); + } + // Allow tap on item with no href + else if ($el.attr('href') == '#') { + $el.unselect(); + return true; + } + // Branch on internal or external href + else if (hash && hash!='#') { + $el.addClass('active'); + goTo($(hash).data('referrer', $el), animation, $(this).hasClass('reverse')); + } else { + $el.addClass('loading active'); + showPageByHref($el.attr('href'), { + animation: animation, + callback: function() { + $el.removeClass('loading'); setTimeout($.fn.unselect, 250, $el); + }, + $referrer: $el + }); + } + return false; + } + function addPageToHistory(page, animation, reverse) { + // Grab some info + var pageId = page.attr('id'); + // Prepend info to page history + hist.unshift({ + page: page, + animation: animation, + reverse: reverse || false, + id: pageId + }); + } + function animatePages(fromPage, toPage, animation, backwards) { + // Error check for target page + if (toPage.length === 0) { + $.fn.unselect(); + console.error('Target element is missing.'); + return false; + } + + // Error check for fromPage=toPage + if (toPage.hasClass('current')) { + $.fn.unselect(); + console.error('Target element is the current page.'); + return false; + } + + // Collapse the keyboard + $(':focus').blur(); + + // Make sure we are scrolled up to hide location bar + scrollTo(0, 0); + + // Define callback to run after animation completes + var callback = function animationEnd(event) { + if (animation) { + toPage.removeClass('in ' + animation.name); + fromPage.removeClass('current out ' + animation.name); + if (backwards) { + toPage.toggleClass('reverse'); + fromPage.toggleClass('reverse'); + } + } else { + fromPage.removeClass('current'); + } + + toPage.trigger('pageAnimationEnd', { direction: 'in' }); + fromPage.trigger('pageAnimationEnd', { direction: 'out' }); + + clearInterval(hashCheckInterval); + currentPage = toPage; + location.hash = '#' + currentPage.attr('id'); + startHashCheck(); + + var $originallink = toPage.data('referrer'); + if ($originallink) { + $originallink.unselect(); + } + lastAnimationTime = (new Date()).getTime(); + tapReady = true; + } + + fromPage.trigger('pageAnimationStart', { direction: 'out' }); + toPage.trigger('pageAnimationStart', { direction: 'in' }); + + if ($.support.WebKitAnimationEvent && animation && jQTSettings.useAnimations) { + toPage.one('webkitAnimationEnd', callback); + tapReady = false; + if (backwards) { + toPage.toggleClass('reverse'); + fromPage.toggleClass('reverse'); + } + toPage.addClass(animation.name + ' in current '); + fromPage.addClass(animation.name + ' out'); + + } else { + toPage.addClass('current'); + callback(); + } + + return true; + } + function hashCheck() { + var curid = currentPage.attr('id'); + if (location.hash == '') { + location.hash = '#' + curid; + } else if (location.hash != '#' + curid) { + clearInterval(hashCheckInterval); + goBack(location.hash); + } + } + function startHashCheck() { + hashCheckInterval = setInterval(hashCheck, 100); + } + function insertPages(nodes, animation) { + var targetPage = null; + $(nodes).each(function(index, node) { + var $node = $(this); + if (!$node.attr('id')) { + $node.attr('id', 'page-' + (++newPageCount)); + } + + $body.trigger('pageInserted', {page: $node.appendTo($body)}); + + if ($node.hasClass('current') || !targetPage) { + targetPage = $node; + } + }); + if (targetPage !== null) { + goTo(targetPage, animation); + return targetPage; + } else { + return false; + } + } + function showPageByHref(href, options) { + var defaults = { + data: null, + method: 'GET', + animation: null, + callback: null, + $referrer: null + }; + + var settings = $.extend({}, defaults, options); + + if (href != '#') { + $.ajax({ + url: href, + data: settings.data, + type: settings.method, + success: function (data, textStatus) { + var firstPage = insertPages(data, settings.animation); + if (firstPage) { + if (settings.method == 'GET' && jQTSettings.cacheGetRequests === true && settings.$referrer) { + settings.$referrer.attr('href', '#' + firstPage.attr('id')); + } + if (settings.callback) { + settings.callback(true); + } + } + }, + error: function (data) { + if (settings.$referrer) { + settings.$referrer.unselect(); + } + if (settings.callback) { + settings.callback(false); + } + } + }); + } + else if (settings.$referrer) { + settings.$referrer.unselect(); + } + } + function submitForm(e, callback) { + var $form = (typeof(e)==='string') ? $(e).eq(0) : (e.target ? $(e.target) : $(e)); + + if ($form.length && $form.is(jQTSettings.formSelector)) { + showPageByHref($form.attr('action'), { + data: $form.serialize(), + method: $form.attr('method') || "POST", + animation: animations[0] || null, + callback: callback + }); + return false; + } + return true; + } + function submitParentForm(e) { + var $form = $(this).closest('form'); + if ($form.length) { + evt = jQuery.Event("submit"); + evt.preventDefault(); + $form.trigger(evt); + return false; + } + return true; + } + function addAnimation(animation) { + if (typeof(animation.selector) == 'string' && typeof(animation.name) == 'string') { + animations.push(animation); + $(animation.selector).tap(liveTap); + touchSelectors.push(animation.selector); + } + } + function updateOrientation() { + orientation = window.innerWidth < window.innerHeight ? 'profile' : 'landscape'; + $body.removeClass('profile landscape').addClass(orientation).trigger('turn', {orientation: orientation}); + // scrollTo(0, 0); + } + function handleTouch(e) { + var $el = $(e.target); + + // Only handle touchSelectors + if (!$(e.target).is(touchSelectors.join(', '))) { + var $link = $(e.target).closest('a, area'); + + if ($link.length && $link.is(touchSelectors.join(', '))) { + $el = $link; + } else { + return; + } + } + + if (e) { + var hoverTimeout = null, + startX = event.changedTouches[0].clientX, + startY = event.changedTouches[0].clientY, + startTime = (new Date).getTime(), + deltaX = 0, + deltaY = 0, + deltaT = 0; + + // Let's bind these after the fact, so we can keep some internal values + $el.bind('touchmove', touchmove).bind('touchend', touchend); + + hoverTimeout = setTimeout(function() { + $el.makeActive(); + }, 100); + + } + + // Private touch functions (TODO: insert dirty joke) + function touchmove(e) { + + updateChanges(); + var absX = Math.abs(deltaX); + var absY = Math.abs(deltaY); + + // Check for swipe + if (absX > absY && (absX > 35) && deltaT < 1000) { + $el.trigger('swipe', {direction: (deltaX < 0) ? 'left' : 'right', deltaX: deltaX, deltaY: deltaY }).unbind('touchmove touchend'); + } else if (absY > 1) { + $el.removeClass('active'); + } + + clearTimeout(hoverTimeout); + } + + function touchend() { + updateChanges(); + + if (deltaY === 0 && deltaX === 0) { + $el.makeActive(); + $el.trigger('tap'); + } else { + $el.removeClass('active'); + } + $el.unbind('touchmove touchend'); + clearTimeout(hoverTimeout); + } + + function updateChanges() { + var first = event.changedTouches[0] || null; + deltaX = first.pageX - startX; + deltaY = first.pageY - startY; + deltaT = (new Date).getTime() - startTime; + } + + } // End touch handler + + // Public jQuery Fns + $.fn.unselect = function(obj) { + if (obj) { + obj.removeClass('active'); + } else { + $('.active').removeClass('active'); + } + } + $.fn.makeActive = function() { + return $(this).addClass('active'); + } + $.fn.swipe = function(fn) { + if ($.isFunction(fn)) { + return $(this).bind('swipe', fn); + } else { + return $(this).trigger('swipe'); + } + } + $.fn.tap = function(fn) { + if ($.isFunction(fn)) { + var tapEvent = (jQTSettings.useFastTouch && $.support.touch) ? 'tap' : 'click'; + return $(this).live(tapEvent, fn); + } else { + return $(this).trigger('tap'); + } + } + $.fn.isExternalLink = function() { + var $el = $(this); + return ($el.attr('target') == '_blank' || $el.attr('rel') == 'external' || $el.is('input[type="checkbox"], input[type="radio"], a[href^="http://maps.google.com:"], a[href^="mailto:"], a[href^="tel:"], a[href^="javascript:"], a[href*="youtube.com/v"], a[href*="youtube.com/watch"]')); + } + + publicObj = { + getOrientation: getOrientation, + goBack: goBack, + goTo: goTo, + addAnimation: addAnimation, + submitForm: submitForm + } + + return publicObj; + } + + // Extensions directly manipulate the jQTouch object, before it's initialized. + $.jQTouch.prototype.extensions = []; + $.jQTouch.addExtension = function(extension) { + $.jQTouch.prototype.extensions.push(extension); + } + +})(jQuery); \ No newline at end of file diff --git a/themes/jqtouch/jqtouch.min.css b/themes/jqtouch/jqtouch.min.css new file mode 100644 index 0000000..37ef6fe --- /dev/null +++ b/themes/jqtouch/jqtouch.min.css @@ -0,0 +1 @@ +*{margin:0;padding:0;}a{-webkit-tap-highlight-color:rgba(0,0,0,0);}body{overflow-x:hidden;-webkit-user-select:none;-webkit-text-size-adjust:none;font-family:Helvetica;-webkit-perspective:800;-webkit-transform-style:preserve-3d;}.selectable,input,textarea{-webkit-user-select:auto;}body>*{-webkit-backface-visibility:hidden;-webkit-box-sizing:border-box;display:none;position:absolute;left:0;width:100%;-webkit-transform:translate3d(0,0,0) rotate(0) scale(1);min-height:420px!important;}body.fullscreen>*{min-height:460px!important;}body.fullscreen.black-translucent>*{min-height:480px!important;}body.landscape>*{min-height:320px;}body>.current{display:block!important;}.in,.out{-webkit-animation-timing-function:ease-in-out;-webkit-animation-duration:350ms;}.slide.in{-webkit-animation-name:slideinfromright;}.slide.out{-webkit-animation-name:slideouttoleft;}.slide.in.reverse{-webkit-animation-name:slideinfromleft;}.slide.out.reverse{-webkit-animation-name:slideouttoright;}@-webkit-keyframes slideinfromright{from{-webkit-transform:translateX(100%);}to{-webkit-transform:translateX(0);}}@-webkit-keyframes slideinfromleft{from{-webkit-transform:translateX(-100%);}to{-webkit-transform:translateX(0);}}@-webkit-keyframes slideouttoleft{from{-webkit-transform:translateX(0);}to{-webkit-transform:translateX(-100%);}}@-webkit-keyframes slideouttoright{from{-webkit-transform:translateX(0);}to{-webkit-transform:translateX(100%);}}@-webkit-keyframes fadein{from{opacity:0;}to{opacity:1;}}@-webkit-keyframes fadeout{from{opacity:1;}to{opacity:0;}}.fade.in{z-index:10;-webkit-animation-name:fadein;}.fade.out{z-index:0;}.dissolve.in{-webkit-animation-name:fadein;}.dissolve.out{-webkit-animation-name:fadeout;}.flip{-webkit-animation-duration:.65s;}.flip.in{-webkit-animation-name:flipinfromleft;}.flip.out{-webkit-animation-name:flipouttoleft;}.flip.in.reverse{-webkit-animation-name:flipinfromright;}.flip.out.reverse{-webkit-animation-name:flipouttoright;}@-webkit-keyframes flipinfromright{from{-webkit-transform:rotateY(-180deg) scale(.8);}to{-webkit-transform:rotateY(0) scale(1);}}@-webkit-keyframes flipinfromleft{from{-webkit-transform:rotateY(180deg) scale(.8);}to{-webkit-transform:rotateY(0) scale(1);}}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0) scale(1);}to{-webkit-transform:rotateY(-180deg) scale(.8);}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0) scale(1);}to{-webkit-transform:rotateY(180deg) scale(.8);}}.slideup.in{-webkit-animation-name:slideup;z-index:10;}.slideup.out{-webkit-animation-name:dontmove;z-index:0;}.slideup.out.reverse{z-index:10;-webkit-animation-name:slidedown;}.slideup.in.reverse{z-index:0;-webkit-animation-name:dontmove;}@-webkit-keyframes slideup{from{-webkit-transform:translateY(100%);}to{-webkit-transform:translateY(0);}}@-webkit-keyframes slidedown{from{-webkit-transform:translateY(0);}to{-webkit-transform:translateY(100%);}}@-webkit-keyframes dontmove{from{opacity:1;}to{opacity:1;}}.swap{-webkit-transform:perspective(800);-webkit-animation-duration:.7s;}.swap.out{-webkit-animation-name:swapouttoleft;}.swap.in{-webkit-animation-name:swapinfromright;}.swap.out.reverse{-webkit-animation-name:swapouttoright;}.swap.in.reverse{-webkit-animation-name:swapinfromleft;}@-webkit-keyframes swapouttoright{0%{-webkit-transform:translate3d(0px,0px,0px) rotateY(0deg);-webkit-animation-timing-function:ease-in-out;}50%{-webkit-transform:translate3d(-180px,0px,-400px) rotateY(20deg);-webkit-animation-timing-function:ease-in;}100%{-webkit-transform:translate3d(0px,0px,-800px) rotateY(70deg);}}@-webkit-keyframes swapouttoleft{0%{-webkit-transform:translate3d(0px,0px,0px) rotateY(0deg);-webkit-animation-timing-function:ease-in-out;}50%{-webkit-transform:translate3d(180px,0px,-400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;}100%{-webkit-transform:translate3d(0px,0px,-800px) rotateY(-70deg);}}@-webkit-keyframes swapinfromright{0%{-webkit-transform:translate3d(0px,0px,-800px) rotateY(70deg);-webkit-animation-timing-function:ease-out;}50%{-webkit-transform:translate3d(-180px,0px,-400px) rotateY(20deg);-webkit-animation-timing-function:ease-in-out;}100%{-webkit-transform:translate3d(0px,0px,0px) rotateY(0deg);}}@-webkit-keyframes swapinfromleft{0%{-webkit-transform:translate3d(0px,0px,-800px) rotateY(-70deg);-webkit-animation-timing-function:ease-out;}50%{-webkit-transform:translate3d(180px,0px,-400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in-out;}100%{-webkit-transform:translate3d(0px,0px,0px) rotateY(0deg);}}.cube{-webkit-animation-duration:.55s;}.cube.in{-webkit-animation-name:cubeinfromright;-webkit-transform-origin:0 50%;}.cube.out{-webkit-animation-name:cubeouttoleft;-webkit-transform-origin:100% 50%;}.cube.in.reverse{-webkit-animation-name:cubeinfromleft;-webkit-transform-origin:100% 50%;}.cube.out.reverse{-webkit-animation-name:cubeouttoright;-webkit-transform-origin:0 50%;}@-webkit-keyframes cubeinfromleft{from{-webkit-transform:rotateY(-90deg) translateZ(320px);opacity:.5;}to{-webkit-transform:rotateY(0deg) translateZ(0);opacity:1;}}@-webkit-keyframes cubeouttoright{from{-webkit-transform:rotateY(0deg) translateX(0);opacity:1;}to{-webkit-transform:rotateY(90deg) translateZ(320px);opacity:.5;}}@-webkit-keyframes cubeinfromright{from{-webkit-transform:rotateY(90deg) translateZ(320px);opacity:.5;}to{-webkit-transform:rotateY(0deg) translateZ(0);opacity:1;}}@-webkit-keyframes cubeouttoleft{from{-webkit-transform:rotateY(0deg) translateZ(0);opacity:1;}to{-webkit-transform:rotateY(-90deg) translateZ(320px);opacity:.5;}}.pop{-webkit-transform-origin:50% 50%;}.pop.in{-webkit-animation-name:popin;z-index:10;}.pop.out.reverse{-webkit-animation-name:popout;z-index:10;}.pop.in.reverse{z-index:0;-webkit-animation-name:dontmove;}@-webkit-keyframes popin{from{-webkit-transform:scale(.2);opacity:0;}to{-webkit-transform:scale(1);opacity:1;}}@-webkit-keyframes popout{from{-webkit-transform:scale(1);opacity:1;}to{-webkit-transform:scale(.2);opacity:0;}} \ No newline at end of file diff --git a/themes/jqtouch/jqtouch.min.js b/themes/jqtouch/jqtouch.min.js new file mode 100644 index 0000000..f43917e --- /dev/null +++ b/themes/jqtouch/jqtouch.min.js @@ -0,0 +1 @@ +(function($){$.jQTouch=function(_2){$.support.WebKitCSSMatrix=(typeof WebKitCSSMatrix=="object");$.support.touch=(typeof Touch=="object");$.support.WebKitAnimationEvent=(typeof WebKitTransitionEvent=="object");var _3,$head=$("head"),hist=[],newPageCount=0,jQTSettings={},hashCheck,currentPage,orientation,isMobileWebKit=RegExp(" Mobile/").test(navigator.userAgent),tapReady=true,lastAnimationTime=0,touchSelectors=[],publicObj={},extensions=$.jQTouch.prototype.extensions,defaultAnimations=["slide","flip","slideup","swap","cube","pop","dissolve","fade","back"],animations=[],hairextensions="";init(_2);function init(_4){var _5={addGlossToIcon:true,backSelector:".back, .cancel, .goback",cacheGetRequests:true,cubeSelector:".cube",dissolveSelector:".dissolve",fadeSelector:".fade",fixedViewport:true,flipSelector:".flip",formSelector:"form",fullScreen:true,fullScreenClass:"fullscreen",icon:null,touchSelector:"a, .touch",popSelector:".pop",preloadImages:false,slideSelector:"body > * > ul li a",slideupSelector:".slideup",startupScreen:null,statusBar:"default",submitSelector:".submit",swapSelector:".swap",useAnimations:true,useFastTouch:true};jQTSettings=$.extend({},_5,_4);if(jQTSettings.preloadImages){for(var i=jQTSettings.preloadImages.length-1;i>=0;i--){(new Image()).src=jQTSettings.preloadImages[i];}}if(jQTSettings.icon){var _7=(jQTSettings.addGlossToIcon)?"":"-precomposed";hairextensions+="";}if(jQTSettings.startupScreen){hairextensions+="";}if(jQTSettings.fixedViewport){hairextensions+="";}if(jQTSettings.fullScreen){hairextensions+="";if(jQTSettings.statusBar){hairextensions+="";}}if(hairextensions){$head.append(hairextensions);}$(document).ready(function(){for(var i in extensions){var fn=extensions[i];if($.isFunction(fn)){$.extend(publicObj,fn(publicObj));}}for(var i in defaultAnimations){var _a=defaultAnimations[i];var _b=jQTSettings[_a+"Selector"];if(typeof (_b)=="string"){addAnimation({name:_a,selector:_b});}}touchSelectors.push("input");touchSelectors.push(jQTSettings.touchSelector);touchSelectors.push(jQTSettings.backSelector);touchSelectors.push(jQTSettings.submitSelector);$(touchSelectors.join(", ")).css("-webkit-touch-callout","none");$(jQTSettings.backSelector).tap(liveTap);$(jQTSettings.submitSelector).tap(submitParentForm);_3=$("body");if(jQTSettings.fullScreenClass&&window.navigator.standalone==true){_3.addClass(jQTSettings.fullScreenClass+" "+jQTSettings.statusBar);}_3.bind("touchstart",handleTouch).bind("orientationchange",updateOrientation).trigger("orientationchange").submit(submitForm);if(jQTSettings.useFastTouch&&$.support.touch){_3.click(function(e){var _d=$(e.target);if(_d.attr("target")=="_blank"||_d.attr("rel")=="external"||_d.is("input[type=\"checkbox\"]")){return true;}else{return false;}});_3.mousedown(function(e){var _f=(new Date()).getTime()-lastAnimationTime;if(_f<200){return false;}});}if($("body > .current").length==0){currentPage=$("body > *:first");}else{currentPage=$("body > .current:first");$("body > .current").removeClass("current");}$(currentPage).addClass("current");location.hash=$(currentPage).attr("id");addPageToHistory(currentPage);scrollTo(0,0);dumbLoopStart();});}function goBack(to){if(hist.length>1){var _11=Math.min(parseInt(to||1,10),hist.length-1);if(isNaN(_11)&&typeof (to)==="string"&&to!="#"){for(var i=1,length=hist.length;i=0;i--){if(animations[i].name===_17){_17=animations[i];break;}}}if(animatePages(_18,_16,_17)){addPageToHistory(_16,_17);return publicObj;}else{console.error("Could not animate pages.");return false;}}function getOrientation(){return orientation;}function liveTap(e){var $el=$(e.target);if($el.attr("nodeName")!=="A"){$el=$el.parent("a");}var _1c=$el.attr("target"),hash=$el.attr("hash"),animation=null;if(tapReady==false||!$el.length){console.warn("Not able to tap element.");return false;}if($el.attr("target")=="_blank"||$el.attr("rel")=="external"){return true;}for(var i=animations.length-1;i>=0;i--){if($el.is(animations[i].selector)){animation=animations[i];break;}}if(_1c=="_webapp"){window.location=$el.attr("href");}else{if($el.is(jQTSettings.backSelector)){goBack(hash);}else{if(hash&&hash!="#"){$el.addClass("active");goTo($(hash).data("referrer",$el),animation);}else{$el.addClass("loading active");showPageByHref($el.attr("href"),{animation:animation,callback:function(){$el.removeClass("loading");setTimeout($.fn.unselect,250,$el);},$referrer:$el});}}}return false;}function addPageToHistory(_1e,_1f){var _20=_1e.attr("id");hist.unshift({page:_1e,animation:_1f,id:_20});}function animatePages(_21,_22,_23,_24){if(_22.length===0){$.fn.unselect();console.error("Target element is missing.");return false;}$(":focus").blur();scrollTo(0,0);var _25=function(_26){if(_23){_22.removeClass("in reverse "+_23.name);_21.removeClass("current out reverse "+_23.name);}else{_21.removeClass("current");}_22.trigger("pageAnimationEnd",{direction:"in"});_21.trigger("pageAnimationEnd",{direction:"out"});clearInterval(dumbLoop);currentPage=_22;location.hash=currentPage.attr("id");dumbLoopStart();var _27=_22.data("referrer");if(_27){_27.unselect();}lastAnimationTime=(new Date()).getTime();tapReady=true;};_21.trigger("pageAnimationStart",{direction:"out"});_22.trigger("pageAnimationStart",{direction:"in"});if($.support.WebKitAnimationEvent&&_23&&jQTSettings.useAnimations){_22.one("webkitAnimationEnd",_25);tapReady=false;_22.addClass(_23.name+" in current "+(_24?" reverse":""));_21.addClass(_23.name+" out"+(_24?" reverse":""));}else{_22.addClass("current");_25();}return true;}function dumbLoopStart(){dumbLoop=setInterval(function(){var _28=currentPage.attr("id");if(location.hash==""){location.hash="#"+_28;}else{if(location.hash!="#"+_28){try{goBack(location.hash);}catch(e){console.error("Unknown hash change.");}}}},100);}function insertPages(_29,_2a){var _2b=null;$(_29).each(function(_2c,_2d){var _2e=$(this);if(!_2e.attr("id")){_2e.attr("id","page-"+(++newPageCount));}_2e.appendTo(_3);if(_2e.hasClass("current")||!_2b){_2b=_2e;}});if(_2b!==null){goTo(_2b,_2a);return _2b;}else{return false;}}function showPageByHref(_2f,_30){var _31={data:null,method:"GET",animation:null,callback:null,$referrer:null};var _32=$.extend({},_31,_30);if(_2f!="#"){$.ajax({url:_2f,data:_32.data,type:_32.method,success:function(_33,_34){var _35=insertPages(_33,_32.animation);if(_35){if(_32.method=="GET"&&jQTSettings.cacheGetRequests&&_32.$referrer){_32.$referrer.attr("href","#"+_35.attr("id"));}if(_32.callback){_32.callback(true);}}},error:function(_36){if(_32.$referrer){_32.$referrer.unselect();}if(_32.callback){_32.callback(false);}}});}else{if($referrer){$referrer.unselect();}}}function submitForm(e,_38){var _39=(typeof (e)==="string")?$(e):$(e.target);if(_39.length&&_39.is(jQTSettings.formSelector)&&_39.attr("action")){showPageByHref(_39.attr("action"),{data:_39.serialize(),method:_39.attr("method")||"POST",animation:animations[0]||null,callback:_38});return false;}return true;}function submitParentForm(e){var _3b=$(this).closest("form");if(_3b.length){evt=jQuery.Event("submit");evt.preventDefault();_3b.trigger(evt);return false;}return true;}function addAnimation(_3c){if(typeof (_3c.selector)=="string"&&typeof (_3c.name)=="string"){animations.push(_3c);$(_3c.selector).tap(liveTap);touchSelectors.push(_3c.selector);}}function updateOrientation(){orientation=window.innerWidth_43&&(_42>35)&&deltaT<1000){$el.trigger("swipe",{direction:(deltaX<0)?"left":"right"}).unbind("touchmove touchend");}else{if(_43>1){$el.removeClass("active");}}clearTimeout(_40);}function touchend(){updateChanges();if(deltaY===0&&deltaX===0){$el.makeActive();$el.trigger("tap");}else{$el.removeClass("active");}$el.unbind("touchmove touchend");clearTimeout(_40);}function updateChanges(){var _44=event.changedTouches[0]||null;deltaX=_44.pageX-startX;deltaY=_44.pageY-startY;deltaT=(new Date).getTime()-startTime;}}$.fn.unselect=function(obj){if(obj){obj.removeClass("active");}else{$(".active").removeClass("active");}};$.fn.makeActive=function(){return $(this).addClass("active");};$.fn.swipe=function(fn){if($.isFunction(fn)){return this.each(function(i,el){$(el).bind("swipe",fn);});}};$.fn.tap=function(fn){if($.isFunction(fn)){var _4a=(jQTSettings.useFastTouch&&$.support.touch)?"tap":"click";return $(this).live(_4a,fn);}else{$(this).trigger("tap");}};publicObj={getOrientation:getOrientation,goBack:goBack,goTo:goTo,addAnimation:addAnimation,submitForm:submitForm};return publicObj;};$.jQTouch.prototype.extensions=[];$.jQTouch.addExtension=function(_4b){$.jQTouch.prototype.extensions.push(_4b);};})(jQuery); \ No newline at end of file diff --git a/themes/jqtouch/jqtouch.transitions.js b/themes/jqtouch/jqtouch.transitions.js new file mode 100644 index 0000000..3fcdc02 --- /dev/null +++ b/themes/jqtouch/jqtouch.transitions.js @@ -0,0 +1,60 @@ +/* + + _/ _/_/ _/_/_/_/_/ _/ + _/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/ + _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ + _/ + _/ + + Created by David Kaneda + Documentation and issue tracking on Google Code + + Special thanks to Jonathan Stark + and pinch/zoom + + (c) 2009 by jQTouch project members. + See LICENSE.txt for license. + +*/ + +(function($) { + + $.fn.transition = function(css, options) { + return this.each(function(){ + var $el = $(this); + var defaults = { + speed : '300ms', + callback: null, + ease: 'ease-in-out' + }; + var settings = $.extend({}, defaults, options); + if(settings.speed === 0) { + $el.css(css); + window.setTimeout(settings.callback, 0); + } else { + if ($.browser.safari) + { + var s = []; + for(var i in css) { + s.push(i); + } + $el.css({ + webkitTransitionProperty: s.join(", "), + webkitTransitionDuration: settings.speed, + webkitTransitionTimingFunction: settings.ease + }); + if (settings.callback) { + $el.one('webkitTransitionEnd', settings.callback); + } + setTimeout(function(el){ el.css(css) }, 0, $el); + } + else + { + $el.animate(css, settings.speed, settings.callback); + } + } + }); + } +})(jQuery); \ No newline at end of file diff --git a/themes/jqtouch/jquery.1.3.2.min.js b/themes/jqtouch/jquery.1.3.2.min.js new file mode 100644 index 0000000..55c2e6d --- /dev/null +++ b/themes/jqtouch/jquery.1.3.2.min.js @@ -0,0 +1,19 @@ +/* + * jQuery JavaScript Library v1.3.2 + * http://jquery.com/ + * + * Copyright (c) 2009 John Resig + * Dual licensed under the MIT and GPL licenses. + * http://docs.jquery.com/License + * + * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) + * Revision: 6246 + */ +(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
"]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
","
"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); +/* + * Sizzle CSS Selector Engine - v0.9.3 + * Copyright 2009, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},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 toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},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(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); \ No newline at end of file diff --git a/themes/js/functions.js b/themes/js/functions.js new file mode 100644 index 0000000..5db31a3 --- /dev/null +++ b/themes/js/functions.js @@ -0,0 +1,112 @@ +function openSelectDate(timer_year,timer_month,timer_day) { + var now = new Date(); + if ( timer_year == null ) { + var now_year = now.getFullYear(); + var now_month = now.getMonth()+1; + var now_day = now.getDate(); + } + else + { + var now_year = timer_year; + var now_month = timer_month; + var now_day = timer_day; + } + var layer = 'layer_date'; + var days = { }; + var years = { }; + var months = { '01': '01', '02': '02', '03': '03', '04': '04', '05': '05','06': '06', '07': '07', '08': '08', '09': '09', '10': '10', '11': '11', '12': '12' }; + + for( var i = 1; i < 32; i += 1 ) { + days[i] = str_pad(i, 2, '0', 'STR_PAD_LEFT'); + } + + for( i = now.getFullYear(); i < now.getFullYear()+5; i += 1 ) { + years[i] = i; + } + + SpinningWheel.addSlot(years, 'right', now_year ); + SpinningWheel.addSlot(months, '', now_month); + SpinningWheel.addSlot(days, 'right', now_day); + SpinningWheel.setCancelAction(cancel_date); + SpinningWheel.setDoneAction(done_date); + + SpinningWheel.open(); +} + +function done_date() { + var results = SpinningWheel.getSelectedValues(); + + document.getElementById('layer_date').innerHTML = results.values.join('-'); + document.timer.timer_date.value = results.values.join('-'); + $('a').removeClass('active'); +} + +function cancel_date() { +$('a').removeClass('active'); +} +function openSelectTime(layer,timer_hour,timer_minute) { + if ( timer_hour == null ) { + var now = new Date(); + var now_hour = now.getHours(); + var now_minute = now.getMinutes()+1; + } + else + { + var now_hour = timer_hour; + var now_minute = timer_minute; + } + var hours = { }; + var minutes = { }; + + for( var i = 0; i < 24; i += 1 ) { + hours[i] = str_pad(i,2,'0','STR_PAD_LEFT'); + } + + for( var i = 0; i < 60; i += 1 ) { + minutes[i] = str_pad(i,2,'0','STR_PAD_LEFT'); + } + + SpinningWheel.addSlot(hours, 'right', now_hour); + //SpinningWheel.addSlot({ separator: 'h' }, 'readonly shrink'); + SpinningWheel.addSlot(minutes, '', now_minute); + + SpinningWheel.setCancelAction( function() { $('a').removeClass('active');} ); + SpinningWheel.setDoneAction(function () {var results = SpinningWheel.getSelectedValues(); document.getElementById(layer).innerHTML = results.values.join('h');if ( layer == 'layer_starttime' ) { var forminput = 'timer_starttime'; } else { var forminput = 'timer_endtime'; }; eval ("document.timer." + forminput + ".value = results.values.join('')");$('a').removeClass('active'); }); + SpinningWheel.open(); +} + +function str_pad (input, pad_length, pad_string, pad_type) { + // Returns input string padded on the left or right to specified length with pad_string + // + // version: 909.322 + // discuss at: http://phpjs.org/functions/str_pad // + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) + // + namespaced by: Michael White (http://getsprink.com) + // + input by: Marco van Oort + // + bugfixed by: Brett Zamir (http://brett-zamir.me) + // * example 1: str_pad('Kevin van Zonneveld', 30, '-=', 'STR_PAD_LEFT'); // * returns 1: '-=-=-=-=-=-Kevin van Zonneveld' + // * example 2: str_pad('Kevin van Zonneveld', 30, '-', 'STR_PAD_BOTH'); + // * returns 2: '------Kevin van Zonneveld-----' + var half = '', pad_to_go; + var str_pad_repeater = function (s, len) { + var collect = '', i; + + while (collect.length < len) {collect += s;} + collect = collect.substr(0,len); + return collect; + }; + + input += ''; pad_string = pad_string !== undefined ? pad_string : ' '; + + if (pad_type != 'STR_PAD_LEFT' && pad_type != 'STR_PAD_RIGHT' && pad_type != 'STR_PAD_BOTH') { pad_type = 'STR_PAD_RIGHT'; } + if ((pad_to_go = pad_length - input.length) > 0) { + if (pad_type == 'STR_PAD_LEFT') { input = str_pad_repeater(pad_string, pad_to_go) + input; } else if (pad_type == 'STR_PAD_RIGHT') { input = input + str_pad_repeater(pad_string, pad_to_go); } + else if (pad_type == 'STR_PAD_BOTH') { + half = str_pad_repeater(pad_string, Math.ceil(pad_to_go/2)); + input = half + input + half; + input = input.substr(0, pad_length); } + } + + return input; +} + + diff --git a/themes/js/istreamdev.js b/themes/js/istreamdev.js new file mode 100644 index 0000000..fc9247b --- /dev/null +++ b/themes/js/istreamdev.js @@ -0,0 +1,676 @@ +//INIT +jQT = new $.jQTouch({ + icon: 'img/istreamdev.png', + addGlossToIcon: true, + useFastTouch: true, + startupScreen: 'img/startup.png', + statusBar: 'black', + iconIsGlossy: true, + fullscreen: true, + preloadImages: [ + 'themes/jqt/img/chevron.png', + 'themes/jqt/img/back_button.png', + 'themes/jqt/img/back_button_clicked.png', + 'themes/jqt/img/button_clicked.png', + 'themes/jqt/img/button.png', + 'themes/jqt/img/button_clicked.png', + 'themes/jqt/img/loading.gif', + 'themes/jqt/img/toolbar.png', + 'themes/jqt/img/on_off.png', + 'img/loading.gif', + 'img/audio.png', + 'img/epg.png', + 'img/media.png', + 'img/record.png', + 'img/timers.png', + 'img/timeron.png', + 'img/timeroff.png', + 'img/timerrec.png', + 'img/tv.png', + 'img/video.png', + 'img/stream.png', + 'img/stream_clicked.png', + 'img/istreamdev.png', + 'img/mask.png', + 'img/nologoTV.png', + 'img/nologoREC.png', + 'img/nologoMEDIA.png', + 'img/rec.png', + 'img/rec_clicked.png', + 'img/sw-alpha.png', + 'img/sw-button-cancel.png', + 'img/sw-button-done.png', + 'img/sw-header.png', + 'img/sw-slot-border.png' + ] +}); + +// [GENERIC STUFF] +// Global variable + +dataString = "action=getGlobals"; +$.getJSON("bin/backend.php", + dataString, + function(data){ + streamdev_server = data.streamdev_server; + rec_path = data.rec_path; + video_path = data.video_path; + audio_path = data.audio_path; + } + ); +//streamdev_server = "http://127.0.0.1:3000/TS/"; +//rec_path = "/video/"; +//video_path = "/mnt/media/Video/"; +//audio_path = "/mnt/media/Music/"; + + + +//Goto home +$('#home_but').tap(function(event) { + event.preventDefault(); + jQT.goTo('#home','flip'); +}); + +//JSON query loading handler +function json_start(button) { + $(button).addClass('active'); + $('#loader').addClass("loader"); + +} +function json_complete(destination,effect) { + $('#loader').removeClass("loader"); + $('a').removeClass('active'); + jQT.goTo(destination,effect); +} +function hide_loader() { + $('#loader').removeClass("loader"); + $('a').removeClass('active'); +} + +// [/GENERIC STUFF] + +// [HOME SECTION] +//buttons +$('#categories_but').tap(function(event) { + event.preventDefault(); + json_start(this); + gen_categories(); + return false; +}); + +$('#recording_but').tap(function(event) { + event.preventDefault(); + json_start(this); + browser = 1; + gen_browser(rec_path,browser,"Recordings","rec"); + return false; +}); + +$('#timers_but').tap(function(event) { + event.preventDefault(); + json_start(this); + gen_timers(); + return false; +}); + +$('#video_but').tap(function(event) { + event.preventDefault(); + json_start(this); + browser = 1; + gen_browser(video_path,browser,"Videos","vid"); + return false; +}); +// [/HOME SECTION] + +// [TV SECTION] +//buttons +$('#categories ul#cat_menu a').tap(function(event) { + event.preventDefault(); + json_start(this); + var category = $(this).html(); + gen_channels(category); + return false; +}); + +$('#channels ul#chan_menu a').tap(function(event) { + event.preventDefault(); + json_start(this); + var channame = $(this).find('span[class="name"]').html(); + var channumber = $(this).find('small[class="counter"]').html(); + gen_streamchannel(channame,channumber); + return false; +}); + +//Gen Categories +function gen_categories() { + $("#cat_menu").html(''); + var dataString = "action=getTvCat"; + //Json call to get category array + $.getJSON("bin/backend.php", + dataString, + function(data){ + $.each(data.categories, function(i,categories){ + $("#cat_menu").append('
  • ' + categories.name + '' + categories.channels + '
  • '); + }); + json_complete('#categories','cube'); + }) +} + +//Gen Channels +function gen_channels(category) { + $("#chan_menu").html(''); + var dataString = "action=getTvChan&cat=" + category; + //Json call to get category array + $.getJSON("bin/backend.php", + dataString, + function(data){ + $.each(data.channel,function(i,channel){ + $("#chan_menu").append('
  • ' + channel.number + '' + channel.name + '' + channel.now_title + '
  • '); + }); + json_complete('#channels','cube'); + }) +} + + +// [/TV SECTION] +// [STREAM SECTION] +//buttons +$('#streamchannel span.streamButton a').tap(function(event) { + event.preventDefault(); + json_start(this); + var type = $("#streamchannel").find('span[rel="type"]').html(); + var url = $("#streamchannel").find('span[rel="url"]').html(); + var mode = $(this).attr('rel'); + start_broadcast(type,url,mode); + return false; +}); +$('#streamrec span.streamButton a').tap(function(event) { + event.preventDefault(); + json_start(this); + var type = $("#streamrec").find('span[rel="type"]').html(); + var url = $("#streamrec").find('span[rel="url"]').html(); + var mode = $(this).attr('rel'); + start_broadcast(type,url,mode); + return false; +}); +$('#streamvid span.streamButton a').tap(function(event) { + event.preventDefault(); + json_start(this); + var type = $("#streamvid").find('span[rel="type"]').html(); + var url = $("#streamvid").find('span[rel="url"]').html(); + var mode = $(this).attr('rel'); + start_broadcast(type,url,mode); + return false; +}); +$('#streaming span.streamButton a[rel="stopbroadcast"]').tap(function(event) { + event.preventDefault(); + json_start(this); + var session = $("#streaming").find('span[rel="session"]').html(); + stop_broadcast(session); + return false; +}); +//Gen tv start stream +function gen_streamchannel(channame,channumber) { + $('#streamchannel').find('h1').html( ' ' +channame); + $('#streamchannel').find('#thumbnail').attr('src','logos/' + channame + ".png"); + var dataString = "action=getChanInfo&chan=" + channumber; + //Json call to get tv program info + $.getJSON("bin/backend.php", + dataString, + function(data){ + var program = data.program; + $("#streamchannel").find('span[class="name_now"]').html( 'Now: ' + program.now_title ); + $("#streamchannel").find('span[class="epgtime_now"]').html( program.now_time ); + $("#streamchannel").find('span[class="desc_now"]').html( program.now_desc ); + $("#streamchannel").find('span[class="name_next"]').html( 'Next: ' + program.next_title ); + $("#streamchannel").find('span[class="epgtime_next"]').html( program.next_time ); + $("#streamchannel").find('span[rel="url"]').html(streamdev_server + channumber); + $("#streamchannel").find('span[rel="type"]').html('tv'); + json_complete('#streamchannel','cube'); + }); +} + +function gen_streamrec(folder,path) { + var dataString = "action=getRecInfo&rec=" + path + folder; + //Json call to get rec info + $.getJSON("bin/backend.php", + dataString, + function(data){ + var program = data.program; + $('#streamrec').find('h1').html(' ' + program.name); + $('#streamrec').find('#thumbnail').attr('src','logos/' + program.channel + ".png"); + $("#streamrec").find('span[class="name_now"]').html( program.name ); + $("#streamrec").find('span[class="epgtime_now"]').html( 'Recorded: ' + program.recorded ); + $("#streamrec").find('span[class="desc_now"]').html( program.desc ); + $("#streamrec").find('span[rel="url"]').html( path + folder ); + $("#streamrec").find('span[rel="type"]').html('rec'); + json_complete('#streamrec','cube'); + }); +} + +function gen_streamvid(filename,path) { + var dataString = "action=getVidInfo&file=" + path + filename; + //Json call to get rec info + $.getJSON("bin/backend.php", + dataString, + function(data){ + var program = data.program; + $('#streamvid').find('h1').html(' ' + program.name); + $('#streamvid').find('#thumbnail').attr('src','ram/temp-logo.png'); + $("#streamvid").find('span[class="name_now"]').html( program.name ); + $("#streamvid").find('span[class="epgtime_now"]').html( 'Duration: ' + program.duration ); + desc='format: ' + program.format + '
    video: ' + program.video + '
    audio: ' + program.audio + '
    resolution: ' + program.resolution; + $("#streamvid").find('span[class="desc_now"]').html( desc ); + $("#streamvid").find('span[rel="url"]').html( path + filename ); + $("#streamvid").find('span[rel="type"]').html('vid'); + json_complete('#streamvid','cube'); + }); +} +//Gen streaming page +function gen_streaming(session) { + $("#streaming").find('span[rel="session"]').html(session); + var dataString = "action=getStreamInfo&session=" + session; + //Json call to start streaming + $.getJSON("bin/backend.php", + dataString, + function(data){ + var stream = data.stream; + $('#streaming').find('#thumbnail').attr('src','ram/session' + stream.session + '/thumb.png'); + $("#streaming").find('span[rel="thumbwidth"]').html(stream.thumbwidth); + $("#streaming").find('span[rel="thumbheight"]').html(stream.thumbheight); + if (stream.type == "tv") + { + $('#streaming').find('h1').html(' ' + stream.name ); + $('#streaming').find('#player').css('width', '90px'); + var streaminfo = '
  • Now: ' + stream.now_title + ''; + streaminfo += '' + stream.now_time + ''; + streaminfo += '' + stream.now_desc + '
  • '; + streaminfo += '
  • Next: ' + stream.next_title + ''; + streaminfo += '' + stream.next_time + '
  • '; + $("#streaming").find('ul[class="streaminfo"]').html(streaminfo); + } + else if (stream.type == "rec") + { + $('#streaming').find('h1').html(' ' + stream.name ); + $('#streaming').find('#player').css('width', '90px'); + var streaminfo = '
  • ' + stream.name + ''; + streaminfo += 'Recorded: ' + stream.recorded + ''; + streaminfo += '' + stream.desc + '
  • '; + $("#streaming").find('ul[class="streaminfo"]').html(streaminfo); + } + else if (stream.type == "vid") + { + $('#streaming').find('h1').html(' ' + stream.name ); + $('#streaming').find('#player').css('width', '190px'); + var streaminfo = '
  • ' + stream.name + ''; + streaminfo += 'Duration: ' + stream.duration + ''; + desc='format: ' + stream.format + '
    video: ' + stream.video + '
    audio: ' + stream.audio + '
    resolution: ' + stream.resolution; + streaminfo += '' + desc + '
  • '; + $("#streaming").find('ul[class="streaminfo"]').html(streaminfo); + } + $('ul[class="streamstatus"]').find('span[class="mode"]').html('Please wait.'); + $("#streaming").find('span[rel="name"]').html(stream.name); + json_complete('#streaming','cube'); + }); +} + +//Start broadcast +function start_broadcast(type,url,mode) { + var dataString = 'action=startBroadcast&type='+type+'&url='+url; + $.getJSON("bin/backend.php", + dataString, + function(data){ + var session = data.session; + gen_streaming(session); + }); + +} +//Stop broadcast + +function stop_broadcast(session) { + var dataString = 'action=stopBroadcast&session='+session; + $.getJSON("bin/backend.php", + dataString, + function(data) { + var status = data.status; + var message = data.message; + hide_loader(); + jQT.goBack(); + }); +} + +//trick to prevent animation bug with object. +$(document).ready(function(e){ +$('#streaming').bind('pageAnimationEnd', function(event, info){ + if (info.direction == 'in') { + var session = $("#streaming").find('span[rel="session"]').html(); + var name = $("#streaming").find('span[rel="name"]').html(); + playvideo(session,name); + } +}) + +$('#streaming').bind('pageAnimationStart', function(event, info){ + var session = $("#streaming").find('span[rel="session"]').html(); + if (info.direction == 'out') { + $('#player').html(''); + } + }) +}); + +//Get server status & Play video +function playvideo(session,name) { + var prevmsg=""; + var status_OnComplete = function(data) { + var status = data.status; + var message = data.message; + var url = data.url; + var thumbwidth = $('#streaming span[rel="thumbwidth"]').html(); + var thumbheight = $('#streaming span[rel="thumbheight"]').html(); + $('#streaming ul[class="streamstatus"]').find('span[class="mode"]').html(message); + if ( status == "ready" ) { + $('#player').html(''); + return false; + } + prevmsg = message; + status_Start(session,prevmsg); + } + + var status_Start = function(session,prevmsg) { + dataString = "action=getStreamStatus&session=" + session + "&msg=" + prevmsg; + $.getJSON("bin/backend.php", + dataString, + function(data){ + status_OnComplete(data) + }); + } + status_Start(session,prevmsg); +} +// [/STREAM SECTION] + +// [BROWSER SECTION] +//buttons +$('ul[rel="filelist"] li.arrow a').tap(function(event) { + event.preventDefault(); + json_start(this); + var type = $(this).attr('rel'); + var name = $(this).find('span[class="menuname"]').html(); + var path = $(this).parents('div').find('span[rel="path"]').html(); + var browser = $(this).parents('div').find('span[rel="currentbrowser"]').html(); + var foldertype = $(this).parents('div').find('span[rel="foldertype"]').html(); + browser = parseInt(browser); + browser++; + if ( type == "folder" ) + { + newpath=path+name; + gen_browser(newpath,browser,name,foldertype); + } + else if ( type == "rec" ) + { + gen_streamrec(name,path); + } + else if ( type == "video" ) + { + gen_streamvid(name,path); + } + return false; +}); + +$('div[rel="browser"] a[class="back"]').tap(function(event) { + event.preventDefault(); + $(this).parents('div[rel="browser"]').remove(); +}); + +$('div[rel="browser"] #home_but').tap(function(event) { + event.preventDefault(); + $('#home').bind('pageAnimationEnd', function(event, info){ + $('#jqt div[rel="browser"]').remove(); + $('#home').unbind('pageAnimationEnd'); + + }); +}); + +//functions +function gen_browser(path,browser,name,foldertype) { + browser_template = '
    '; + browser_template += '
      '; + browser_template += '
      ' + browser_template += ''; + browser_template += ''; + browser_template += '' + foldertype + ''; + browser_template += '
      '; + $('#jqt').append('
      '), + $('#browser'+browser).html(browser_template); + if ( path == rec_path || path == video_path ) { + toolbar = 'Home'; + if ( foldertype == 'rec' ){ + toolbar += '

      ' + name + '

      '; + } + else { + toolbar += '

      ' + name + '

      '; + } + $('#browser' + browser + ' div[class="toolbar"]').html(toolbar); + } + else { + toolbar = 'Back'; + toolbar += 'Home'; + if ( foldertype == 'rec' ){ + toolbar += '

      ' + name + '

      '; + } + else { + toolbar += '

      ' + name + '

      '; + } + $('#browser' + browser + ' div[class="toolbar"]').html(toolbar); + } + var dataString = 'action=browseFolder&path='+path+'&browser=' + browser; + $.getJSON("bin/backend.php", + dataString, + function(data) { + $("#browser" + browser).find('ul').html(''); + $("#browser" + browser).find('span[rel="path"]').html(path); + $("#browser" + browser).find('span[rel="currentbrowser"]').html(browser); + $.each(data.list, function(i,list){ + if (list.type == "folder") { + $("#browser" + browser).find('ul').append('
    • ' + list.name + '
    • '); + } + else if (list.type == "rec") { + $("#browser" + browser).find('ul').append('
    • ' + list.name + '
    • '); + } + else if ( list.type == "video" ) { + $("#browser" + browser).find('ul').append('
    • ' + list.name + '
    • '); + } + }); + json_complete('#browser' + browser,'cube'); + }); +} + + +// [/BROWSER SECTION] + +// [TIMER SECTION] +//get fullchannel list onload + +$(document).ready(function(e){ +gen_formchanlist(); +}); + +// buttons +$('#timers li[class="arrow"] a').tap(function(event) { + event.preventDefault(); + $(this).addClass('active'); + if ( $(this).attr('rel') == "new" ) { + gen_edittimer(); + } else { + timerid = $(this).attr('rel'); + timerdata = $('#timers ul[rel="timers"] li a[rel="' + timerid + '"]').data("timerdata"); + id = timerdata.id; + name = timerdata.name; + active = timerdata.active; + channumber = timerdata.channumber; + channame = timerdata.channame; + date = timerdata.date; + starttime = timerdata.starttime; + endtime = timerdata.endtime; + gen_edittimer(id,name,active,channumber,channame,date,starttime,endtime); + } +}); + +// gen Timers +function gen_timers(edit) { + $('#timers ul[rel="timers"]').html(''); + var dataString = 'action=getTimers'; + $.getJSON("bin/backend.php", + dataString, + function(data) { + $('#timers ul[rel="timers"]').append('
    • Current timers
    • '); + $.each(data.timer, function(i,timer){ + if ( timer.running == "1" ) { + timerli = '
    • ' + timer.date + ' ' + timer.name + '
    • '; + } + else + { + if ( timer.active == "1" ) { + timerli = '
    • ' + timer.date + ' ' + timer.name + '
    • '; + } else { + timerli = '
    • ' + timer.date + ' ' + timer.name + '
    • '; + } + } + $('#timers ul[rel="timers"]').append(timerli); + $('#timers ul[rel="timers"] li a[rel="' + timer.id + '"]').data("timerdata", timer); + }); + if ( edit ) { + hide_loader(); + jQT.goBack(); + } + else { + json_complete('#timers','cube'); + } + }); +} + +function gen_edittimer(id,name,active,channumber,channame,date,starttime,endtime) { + $('ul[ref="submitbut"]').remove(); + if (id) { + $('#edittimer h1').html(' EDIT TIMER'); + if (active = 1) + { + $('#timer_active').attr("checked", "checked"); + } + $('#timer_id').val(id); + $('#timer_name').val(name); + $('#timer_chan option[value="' + channumber + '"]').attr("selected", "selected"); + $('#timer_date').val(date); + var wheeldate = date; + while (wheeldate.indexOf("-") > -1) + wheeldate = wheeldate.replace("-", ","); + $('#a_date').attr('href', "javascript:openSelectDate(" + wheeldate + ");"); + $('#layer_date').html(date); + $('#timer_starttime').val(starttime); + $('#timer_endtime').val(endtime); + wheelstart_h = starttime.substring(0,2); + wheelstart_m = starttime.substring(2,4); + $('#layer_starttime').html(wheelstart_h + 'h' + wheelstart_m); + $('#a_starttime').attr('href', "javascript:openSelectTime('layer_starttime','" + wheelstart_h + "','" + wheelstart_m + "')"); + wheelend_h = endtime.substring(0,2); + wheelend_m = endtime.substring(2,4); + $('#layer_endtime').html(wheelend_h + 'h' + wheelend_m); + $('#a_endtime').attr('href', "javascript:openSelectTime('layer_endtime','" + wheelend_h + "','" + wheelend_m + "')"); + submitbuttons = '
        '; + submitbuttons += '
      • Edit
      • '; + submitbuttons += '
      • Delete
      '; + $('#timer').append(submitbuttons); + } + else { + $('#edittimer h1').html(' NEW TIMER'); + $('#timer_active').attr("checked", "checked"); + $('#timer_id').val(null); + $('#timer_name').val(null); + $('#timer_chan option').removeAttr("selected"); + $('#timer_chan option[value="1"]').attr("selected", "selected"); + $('#a_date').attr('href', "javascript:openSelectDate();"); + $('#layer_date').html("Select date"); + $('#timer_date').val(null); + $('#timer_starttime').val(null); + $('#timer_endtime').val(null); + $('#a_starttime').attr('href', "javascript:openSelectTime('layer_starttime')"); + $('#layer_starttime').html('Select start time'); + $('#a_endtime').attr('href', "javascript:openSelectTime('layer_endtime')"); + $('#layer_endtime').html('select end time'); + submitbutton = ''; + $('#timer').append(submitbutton); + } + $('.formerror').hide(); + json_complete('#edittimer','cube'); +} +//get full chanlist for timer page ( doing it one time on document load ). +function gen_formchanlist() { + var dataString = 'action=getFullChanList'; + $.getJSON("bin/backend.php", + dataString, + function(data) { + $.each(data.category, function(i,category){ + $('#timer_chan').append(''); + var catname = category.name; + $.each(category.channel, function(j, channel){ + $('#timer_chan optgroup[label="' + catname +'"]').append(''); + }); + $('#timer_chan').append(''); + }); + }); +} + +// TIMER FORM VALIDATION & SUBMIT +$('.submit_form').tap(function(event) { + event.preventDefault(); + $('.formerror').hide(); + $(this).removeClass('active'); + var timer_name = $("input#timer_name").val(); + if (timer_name == "") { + $("li#timer_name_error").show(); + $.scrollTo('#edittimer #ul[rel="name"]'); + return false; + } + var timer_date = $("input#timer_date").val(); + if (timer_date == "") { + $("li#timer_date_error").show(); + $.scrollTo('#edittimer #timer_date_error'); + return false; + } + var timer_starttime = $("input#timer_starttime").val(); + if (timer_starttime == "") { + $("li#timer_starttime_error").show(); + $.scrollTo('#edittimer #timer_starttime_error'); + return false; + } + var timer_endtime = $("input#timer_endtime").val(); + if (timer_endtime == "") { + $("li#timer_endtime_error").show(); + $.scrollTo('#edittimer #timer_endtime_error'); + return false; + } + var timer_id = $("input#timer_id").val(); + var timer_chan = $("select#timer_chan").val(); + var timer_active = $("input#timer_active").val(); + var dataString = 'action=editTimer&id=' + timer_id + '&active=' + timer_active + '&channumber=' + timer_chan + '&date=' + timer_date + '&starttime=' + timer_starttime + '&endtime=' + timer_endtime; + $.getJSON("bin/backend.php", + dataString, + function(data) { + message = data.status + ": " + data.message; + gen_timers("true"); + json_start(this); + showStatus( 0,message ); + return false; + }); + return false; +}); + +function showStatus( timeout, message ) { + if( timeout == 0 ) { + $('#timer_status').html(message); + $('#timer_status').show(); + setTimeout( function() { showStatus( 1, message ); }, 4000 ); + } else if( timeout == 1 ) { + $('#timer_status').hide(); + } +} +// [/TIMER SECTION] \ No newline at end of file diff --git a/themes/js/spinningwheel-min.js b/themes/js/spinningwheel-min.js new file mode 100644 index 0000000..a2b68dd --- /dev/null +++ b/themes/js/spinningwheel-min.js @@ -0,0 +1 @@ +var SpinningWheel={cellHeight:44,friction:0.003,slotData:[],handleEvent:function(e){if(e.type=="touchstart"){this.lockScreen(e);if(e.currentTarget.id=="sw-cancel"||e.currentTarget.id=="sw-done"){this.tapDown(e)}else{if(e.currentTarget.id=="sw-frame"){this.scrollStart(e)}}}else{if(e.type=="touchmove"){this.lockScreen(e);if(e.currentTarget.id=="sw-cancel"||e.currentTarget.id=="sw-done"){this.tapCancel(e)}else{if(e.currentTarget.id=="sw-frame"){this.scrollMove(e)}}}else{if(e.type=="touchend"){if(e.currentTarget.id=="sw-cancel"||e.currentTarget.id=="sw-done"){this.tapUp(e)}else{if(e.currentTarget.id=="sw-frame"){this.scrollEnd(e)}}}else{if(e.type=="webkitTransitionEnd"){if(e.target.id=="sw-wrapper"){this.destroy()}else{this.backWithinBoundaries(e)}}else{if(e.type=="orientationchange"){this.onOrientationChange(e)}else{if(e.type=="scroll"){this.onScroll(e)}}}}}}},onOrientationChange:function(e){window.scrollTo(0,0);this.swWrapper.style.top=window.innerHeight+window.pageYOffset+"px";this.calculateSlotsWidth()},onScroll:function(e){this.swWrapper.style.top=window.innerHeight+window.pageYOffset+"px"},lockScreen:function(e){e.preventDefault();e.stopPropagation()},reset:function(){this.slotEl=[];this.activeSlot=null;this.swWrapper=undefined;this.swSlotWrapper=undefined;this.swSlots=undefined;this.swFrame=undefined},calculateSlotsWidth:function(){var div=this.swSlots.getElementsByTagName("div");for(var i=0;i
      Cancel
      Done
      ';document.body.appendChild(div);this.swWrapper=div;this.swSlotWrapper=document.getElementById("sw-slots-wrapper");this.swSlots=document.getElementById("sw-slots");this.swFrame=document.getElementById("sw-frame");for(l=0;l"}ul.innerHTML=out;div=document.createElement("div");div.className=this.slotData[l].style;div.appendChild(ul);this.swSlots.appendChild(div);ul.slotPosition=l;ul.slotYPosition=0;ul.slotWidth=0;ul.slotMaxScroll=this.swSlotWrapper.clientHeight-ul.clientHeight-86;ul.style.webkitTransitionTimingFunction="cubic-bezier(0, 0, 0.2, 1)";this.slotEl.push(ul);if(this.slotData[l].defaultValue){this.scrollToValue(l,this.slotData[l].defaultValue)}}this.calculateSlotsWidth();document.addEventListener("touchstart",this,false);document.addEventListener("touchmove",this,false);window.addEventListener("orientationchange",this,true);window.addEventListener("scroll",this,true);document.getElementById("sw-cancel").addEventListener("touchstart",this,false);document.getElementById("sw-done").addEventListener("touchstart",this,false);this.swFrame.addEventListener("touchstart",this,false)},open:function(){this.create();this.swWrapper.style.webkitTransitionTimingFunction="ease-out";this.swWrapper.style.webkitTransitionDuration="400ms";this.swWrapper.style.webkitTransform="translate3d(0, -260px, 0)"},destroy:function(){this.swWrapper.removeEventListener("webkitTransitionEnd",this,false);this.swFrame.removeEventListener("touchstart",this,false);document.getElementById("sw-cancel").removeEventListener("touchstart",this,false);document.getElementById("sw-done").removeEventListener("touchstart",this,false);document.removeEventListener("touchstart",this,false);document.removeEventListener("touchmove",this,false);window.removeEventListener("orientationchange",this,true);window.removeEventListener("scroll",this,true);this.slotData=[];this.cancelAction=function(){return false};this.cancelDone=function(){return true};this.reset();document.body.removeChild(document.getElementById("sw-wrapper"))},close:function(){this.swWrapper.style.webkitTransitionTimingFunction="ease-in";this.swWrapper.style.webkitTransitionDuration="400ms";this.swWrapper.style.webkitTransform="translate3d(0, 0, 0)";this.swWrapper.addEventListener("webkitTransitionEnd",this,false)},addSlot:function(values,style,defaultValue){if(!style){style=""}style=style.split(" ");for(var i=0;i0){this.setPosition(i,0)}else{if(this.slotEl[i].slotYPosition0||this.slotEl[this.activeSlot].slotYPosition80){this.scrollStartY=this.slotEl[this.activeSlot].slotYPosition;this.scrollStartTime=e.timeStamp}},scrollEnd:function(e){this.swFrame.removeEventListener("touchmove",this,false);this.swFrame.removeEventListener("touchend",this,false);if(this.slotEl[this.activeSlot].slotYPosition>0||this.slotEl[this.activeSlot].slotYPosition0?0:this.slotEl[this.activeSlot].slotMaxScroll);return false}var scrollDistance=this.slotEl[this.activeSlot].slotYPosition-this.scrollStartY;if(scrollDistance-this.cellHeight/1.5){if(this.slotEl[this.activeSlot].slotYPosition%this.cellHeight){this.scrollTo(this.activeSlot,Math.round(this.slotEl[this.activeSlot].slotYPosition/this.cellHeight)*this.cellHeight,"100ms")}return false}var scrollDuration=e.timeStamp-this.scrollStartTime;var newDuration=(2*scrollDistance/scrollDuration)/this.friction;var newScrollDistance=(this.friction/2)*(newDuration*newDuration);if(newDuration<0){newDuration=-newDuration;newScrollDistance=-newScrollDistance}var newPosition=this.slotEl[this.activeSlot].slotYPosition+newScrollDistance;if(newPosition>0){newPosition/=2;newDuration/=3;if(newPosition>this.swSlotWrapper.clientHeight/4){newPosition=this.swSlotWrapper.clientHeight/4}}else{if(newPosition0||this.slotEl[slotNum].slotYPosition0?0:e.target.slotMaxScroll,"150ms");return false},tapDown:function(e){e.currentTarget.addEventListener("touchmove",this,false);e.currentTarget.addEventListener("touchend",this,false);e.currentTarget.className="sw-pressed"},tapCancel:function(e){e.currentTarget.removeEventListener("touchmove",this,false);e.currentTarget.removeEventListener("touchend",this,false);e.currentTarget.className=""},tapUp:function(e){this.tapCancel(e);if(e.currentTarget.id=="sw-cancel"){this.cancelAction()}else{this.doneAction()}this.close()},setCancelAction:function(action){this.cancelAction=action},setDoneAction:function(action){this.doneAction=action},cancelAction:function(){return false},cancelDone:function(){return true}}; \ No newline at end of file diff --git a/themes/js/spinningwheel.js b/themes/js/spinningwheel.js new file mode 100644 index 0000000..79f8ab6 --- /dev/null +++ b/themes/js/spinningwheel.js @@ -0,0 +1,492 @@ +/** + * + * Find more about the Spinning Wheel function at + * http://cubiq.org/spinning-wheel-on-webkit-for-iphone-ipod-touch/11 + * + * Copyright (c) 2009 Matteo Spinelli, http://cubiq.org/ + * Released under MIT license + * http://cubiq.org/dropbox/mit-license.txt + * + * Version 1.4 - Last updated: 2009.07.09 + * + */ + +var SpinningWheel = { + cellHeight: 44, + friction: 0.003, + slotData: [], + + + /** + * + * Event handler + * + */ + + handleEvent: function (e) { + if (e.type == 'touchstart') { + this.lockScreen(e); + if (e.currentTarget.id == 'sw-cancel' || e.currentTarget.id == 'sw-done') { + this.tapDown(e); + } else if (e.currentTarget.id == 'sw-frame') { + this.scrollStart(e); + } + } else if (e.type == 'touchmove') { + this.lockScreen(e); + + if (e.currentTarget.id == 'sw-cancel' || e.currentTarget.id == 'sw-done') { + this.tapCancel(e); + } else if (e.currentTarget.id == 'sw-frame') { + this.scrollMove(e); + } + } else if (e.type == 'touchend') { + if (e.currentTarget.id == 'sw-cancel' || e.currentTarget.id == 'sw-done') { + this.tapUp(e); + } else if (e.currentTarget.id == 'sw-frame') { + this.scrollEnd(e); + } + } else if (e.type == 'webkitTransitionEnd') { + if (e.target.id == 'sw-wrapper') { + this.destroy(); + } else { + this.backWithinBoundaries(e); + } + } else if (e.type == 'orientationchange') { + this.onOrientationChange(e); + } else if (e.type == 'scroll') { + this.onScroll(e); + } + }, + + + /** + * + * Global events + * + */ + + onOrientationChange: function (e) { + window.scrollTo(0, 0); + this.swWrapper.style.top = window.innerHeight + window.pageYOffset + 'px'; + this.calculateSlotsWidth(); + }, + + onScroll: function (e) { + this.swWrapper.style.top = window.innerHeight + window.pageYOffset + 'px'; + }, + + lockScreen: function (e) { + e.preventDefault(); + e.stopPropagation(); + }, + + + /** + * + * Initialization + * + */ + + reset: function () { + this.slotEl = []; + + this.activeSlot = null; + + this.swWrapper = undefined; + this.swSlotWrapper = undefined; + this.swSlots = undefined; + this.swFrame = undefined; + }, + + calculateSlotsWidth: function () { + var div = this.swSlots.getElementsByTagName('div'); + for (var i = 0; i < div.length; i += 1) { + this.slotEl[i].slotWidth = div[i].offsetWidth; + } + }, + + create: function () { + var i, l, out, ul, div; + + this.reset(); // Initialize object variables + + // Create the Spinning Wheel main wrapper + div = document.createElement('div'); + div.id = 'sw-wrapper'; + div.style.top = window.innerHeight + window.pageYOffset + 'px'; // Place the SW down the actual viewing screen + div.style.webkitTransitionProperty = '-webkit-transform'; + div.innerHTML = '
      Cancel
      Done
      '; + + document.body.appendChild(div); + + this.swWrapper = div; // The SW wrapper + this.swSlotWrapper = document.getElementById('sw-slots-wrapper'); // Slots visible area + this.swSlots = document.getElementById('sw-slots'); // Pseudo table element (inner wrapper) + this.swFrame = document.getElementById('sw-frame'); // The scrolling controller + + // Create HTML slot elements + for (l = 0; l < this.slotData.length; l += 1) { + // Create the slot + ul = document.createElement('ul'); + out = ''; + for (i in this.slotData[l].values) { + out += '
    • ' + this.slotData[l].values[i] + '<' + '/li>'; + } + ul.innerHTML = out; + + div = document.createElement('div'); // Create slot container + div.className = this.slotData[l].style; // Add styles to the container + div.appendChild(ul); + + // Append the slot to the wrapper + this.swSlots.appendChild(div); + + ul.slotPosition = l; // Save the slot position inside the wrapper + ul.slotYPosition = 0; + ul.slotWidth = 0; + ul.slotMaxScroll = this.swSlotWrapper.clientHeight - ul.clientHeight - 86; + ul.style.webkitTransitionTimingFunction = 'cubic-bezier(0, 0, 0.2, 1)'; // Add default transition + + this.slotEl.push(ul); // Save the slot for later use + + // Place the slot to its default position (if other than 0) + if (this.slotData[l].defaultValue) { + this.scrollToValue(l, this.slotData[l].defaultValue); + } + } + + this.calculateSlotsWidth(); + + // Global events + document.addEventListener('touchstart', this, false); // Prevent page scrolling + document.addEventListener('touchmove', this, false); // Prevent page scrolling + window.addEventListener('orientationchange', this, true); // Optimize SW on orientation change + window.addEventListener('scroll', this, true); // Reposition SW on page scroll + + // Cancel/Done buttons events + document.getElementById('sw-cancel').addEventListener('touchstart', this, false); + document.getElementById('sw-done').addEventListener('touchstart', this, false); + + // Add scrolling to the slots + this.swFrame.addEventListener('touchstart', this, false); + }, + + open: function () { + this.create(); + + this.swWrapper.style.webkitTransitionTimingFunction = 'ease-out'; + this.swWrapper.style.webkitTransitionDuration = '400ms'; + this.swWrapper.style.webkitTransform = 'translate3d(0, -260px, 0)'; + }, + + + /** + * + * Unload + * + */ + + destroy: function () { + this.swWrapper.removeEventListener('webkitTransitionEnd', this, false); + + this.swFrame.removeEventListener('touchstart', this, false); + + document.getElementById('sw-cancel').removeEventListener('touchstart', this, false); + document.getElementById('sw-done').removeEventListener('touchstart', this, false); + + document.removeEventListener('touchstart', this, false); + document.removeEventListener('touchmove', this, false); + window.removeEventListener('orientationchange', this, true); + window.removeEventListener('scroll', this, true); + + this.slotData = []; + this.cancelAction = function () { + return false; + }; + + this.cancelDone = function () { + return true; + }; + + this.reset(); + + document.body.removeChild(document.getElementById('sw-wrapper')); + }, + + close: function () { + this.swWrapper.style.webkitTransitionTimingFunction = 'ease-in'; + this.swWrapper.style.webkitTransitionDuration = '400ms'; + this.swWrapper.style.webkitTransform = 'translate3d(0, 0, 0)'; + + this.swWrapper.addEventListener('webkitTransitionEnd', this, false); + }, + + + /** + * + * Generic methods + * + */ + + addSlot: function (values, style, defaultValue) { + if (!style) { + style = ''; + } + + style = style.split(' '); + + for (var i = 0; i < style.length; i += 1) { + style[i] = 'sw-' + style[i]; + } + + style = style.join(' '); + + var obj = { 'values': values, 'style': style, 'defaultValue': defaultValue }; + this.slotData.push(obj); + }, + + getSelectedValues: function () { + var index, count, + i, l, + keys = [], values = []; + + for (i in this.slotEl) { + // Remove any residual animation + this.slotEl[i].removeEventListener('webkitTransitionEnd', this, false); + this.slotEl[i].style.webkitTransitionDuration = '0'; + + if (this.slotEl[i].slotYPosition > 0) { + this.setPosition(i, 0); + } else if (this.slotEl[i].slotYPosition < this.slotEl[i].slotMaxScroll) { + this.setPosition(i, this.slotEl[i].slotMaxScroll); + } + + index = -Math.round(this.slotEl[i].slotYPosition / this.cellHeight); + + count = 0; + for (l in this.slotData[i].values) { + if (count == index) { + keys.push(l); + values.push(this.slotData[i].values[l]); + break; + } + + count += 1; + } + } + + return { 'keys': keys, 'values': values }; + }, + + + /** + * + * Rolling slots + * + */ + + setPosition: function (slot, pos) { + this.slotEl[slot].slotYPosition = pos; + this.slotEl[slot].style.webkitTransform = 'translate3d(0, ' + pos + 'px, 0)'; + }, + + scrollStart: function (e) { + // Find the clicked slot + var xPos = e.targetTouches[0].clientX - this.swSlots.offsetLeft; // Clicked position minus left offset (should be 11px) + + // Find tapped slot + var slot = 0; + for (var i = 0; i < this.slotEl.length; i += 1) { + slot += this.slotEl[i].slotWidth; + + if (xPos < slot) { + this.activeSlot = i; + break; + } + } + + // If slot is readonly do nothing + if (this.slotData[this.activeSlot].style.match('readonly')) { + this.swFrame.removeEventListener('touchmove', this, false); + this.swFrame.removeEventListener('touchend', this, false); + return false; + } + + this.slotEl[this.activeSlot].removeEventListener('webkitTransitionEnd', this, false); // Remove transition event (if any) + this.slotEl[this.activeSlot].style.webkitTransitionDuration = '0'; // Remove any residual transition + + // Stop and hold slot position + var theTransform = window.getComputedStyle(this.slotEl[this.activeSlot]).webkitTransform; + theTransform = new WebKitCSSMatrix(theTransform).m42; + if (theTransform != this.slotEl[this.activeSlot].slotYPosition) { + this.setPosition(this.activeSlot, theTransform); + } + + this.startY = e.targetTouches[0].clientY; + this.scrollStartY = this.slotEl[this.activeSlot].slotYPosition; + this.scrollStartTime = e.timeStamp; + + this.swFrame.addEventListener('touchmove', this, false); + this.swFrame.addEventListener('touchend', this, false); + + return true; + }, + + scrollMove: function (e) { + var topDelta = e.targetTouches[0].clientY - this.startY; + + if (this.slotEl[this.activeSlot].slotYPosition > 0 || this.slotEl[this.activeSlot].slotYPosition < this.slotEl[this.activeSlot].slotMaxScroll) { + topDelta /= 2; + } + + this.setPosition(this.activeSlot, this.slotEl[this.activeSlot].slotYPosition + topDelta); + this.startY = e.targetTouches[0].clientY; + + // Prevent slingshot effect + if (e.timeStamp - this.scrollStartTime > 80) { + this.scrollStartY = this.slotEl[this.activeSlot].slotYPosition; + this.scrollStartTime = e.timeStamp; + } + }, + + scrollEnd: function (e) { + this.swFrame.removeEventListener('touchmove', this, false); + this.swFrame.removeEventListener('touchend', this, false); + + // If we are outside of the boundaries, let's go back to the sheepfold + if (this.slotEl[this.activeSlot].slotYPosition > 0 || this.slotEl[this.activeSlot].slotYPosition < this.slotEl[this.activeSlot].slotMaxScroll) { + this.scrollTo(this.activeSlot, this.slotEl[this.activeSlot].slotYPosition > 0 ? 0 : this.slotEl[this.activeSlot].slotMaxScroll); + return false; + } + + // Lame formula to calculate a fake deceleration + var scrollDistance = this.slotEl[this.activeSlot].slotYPosition - this.scrollStartY; + + // The drag session was too short + if (scrollDistance < this.cellHeight / 1.5 && scrollDistance > -this.cellHeight / 1.5) { + if (this.slotEl[this.activeSlot].slotYPosition % this.cellHeight) { + this.scrollTo(this.activeSlot, Math.round(this.slotEl[this.activeSlot].slotYPosition / this.cellHeight) * this.cellHeight, '100ms'); + } + + return false; + } + + var scrollDuration = e.timeStamp - this.scrollStartTime; + + var newDuration = (2 * scrollDistance / scrollDuration) / this.friction; + var newScrollDistance = (this.friction / 2) * (newDuration * newDuration); + + if (newDuration < 0) { + newDuration = -newDuration; + newScrollDistance = -newScrollDistance; + } + + var newPosition = this.slotEl[this.activeSlot].slotYPosition + newScrollDistance; + + if (newPosition > 0) { + // Prevent the slot to be dragged outside the visible area (top margin) + newPosition /= 2; + newDuration /= 3; + + if (newPosition > this.swSlotWrapper.clientHeight / 4) { + newPosition = this.swSlotWrapper.clientHeight / 4; + } + } else if (newPosition < this.slotEl[this.activeSlot].slotMaxScroll) { + // Prevent the slot to be dragged outside the visible area (bottom margin) + newPosition = (newPosition - this.slotEl[this.activeSlot].slotMaxScroll) / 2 + this.slotEl[this.activeSlot].slotMaxScroll; + newDuration /= 3; + + if (newPosition < this.slotEl[this.activeSlot].slotMaxScroll - this.swSlotWrapper.clientHeight / 4) { + newPosition = this.slotEl[this.activeSlot].slotMaxScroll - this.swSlotWrapper.clientHeight / 4; + } + } else { + newPosition = Math.round(newPosition / this.cellHeight) * this.cellHeight; + } + + this.scrollTo(this.activeSlot, Math.round(newPosition), Math.round(newDuration) + 'ms'); + + return true; + }, + + scrollTo: function (slotNum, dest, runtime) { + this.slotEl[slotNum].style.webkitTransitionDuration = runtime ? runtime : '100ms'; + this.setPosition(slotNum, dest ? dest : 0); + + // If we are outside of the boundaries go back to the sheepfold + if (this.slotEl[slotNum].slotYPosition > 0 || this.slotEl[slotNum].slotYPosition < this.slotEl[slotNum].slotMaxScroll) { + this.slotEl[slotNum].addEventListener('webkitTransitionEnd', this, false); + } + }, + + scrollToValue: function (slot, value) { + var yPos, count, i; + + this.slotEl[slot].removeEventListener('webkitTransitionEnd', this, false); + this.slotEl[slot].style.webkitTransitionDuration = '0'; + + count = 0; + for (i in this.slotData[slot].values) { + if (i == value) { + yPos = count * this.cellHeight; + this.setPosition(slot, yPos); + break; + } + + count -= 1; + } + }, + + backWithinBoundaries: function (e) { + e.target.removeEventListener('webkitTransitionEnd', this, false); + + this.scrollTo(e.target.slotPosition, e.target.slotYPosition > 0 ? 0 : e.target.slotMaxScroll, '150ms'); + return false; + }, + + + /** + * + * Buttons + * + */ + + tapDown: function (e) { + e.currentTarget.addEventListener('touchmove', this, false); + e.currentTarget.addEventListener('touchend', this, false); + e.currentTarget.className = 'sw-pressed'; + }, + + tapCancel: function (e) { + e.currentTarget.removeEventListener('touchmove', this, false); + e.currentTarget.removeEventListener('touchend', this, false); + e.currentTarget.className = ''; + }, + + tapUp: function (e) { + this.tapCancel(e); + + if (e.currentTarget.id == 'sw-cancel') { + this.cancelAction(); + } else { + this.doneAction(); + } + + this.close(); + }, + + setCancelAction: function (action) { + this.cancelAction = action; + }, + + setDoneAction: function (action) { + this.doneAction = action; + }, + + cancelAction: function () { + return false; + }, + + cancelDone: function () { + return true; + } +}; \ No newline at end of file diff --git a/themes/logos/FRANCE 2.png b/themes/logos/FRANCE 2.png new file mode 100644 index 0000000..c77d725 Binary files /dev/null and b/themes/logos/FRANCE 2.png differ diff --git a/themes/logos/FRANCE 3.png b/themes/logos/FRANCE 3.png new file mode 100644 index 0000000..8f20d16 Binary files /dev/null and b/themes/logos/FRANCE 3.png differ diff --git a/themes/logos/TF1.png b/themes/logos/TF1.png new file mode 100644 index 0000000..56b1a74 Binary files /dev/null and b/themes/logos/TF1.png differ diff --git a/themes/ram/session1/stream.m3u8 b/themes/ram/session1/stream.m3u8 new file mode 100644 index 0000000..e3f9509 --- /dev/null +++ b/themes/ram/session1/stream.m3u8 @@ -0,0 +1,2 @@ +#TEST +http://alib.hd.free.fr/istreamdev2/ram/session0/stream1.ts diff --git a/themes/ram/session1/thumb.png b/themes/ram/session1/thumb.png new file mode 100644 index 0000000..56b1a74 Binary files /dev/null and b/themes/ram/session1/thumb.png differ diff --git a/themes/ram/session2/stream.m3u8 b/themes/ram/session2/stream.m3u8 new file mode 100644 index 0000000..e3f9509 --- /dev/null +++ b/themes/ram/session2/stream.m3u8 @@ -0,0 +1,2 @@ +#TEST +http://alib.hd.free.fr/istreamdev2/ram/session0/stream1.ts diff --git a/themes/ram/session2/thumb.png b/themes/ram/session2/thumb.png new file mode 100644 index 0000000..56b1a74 Binary files /dev/null and b/themes/ram/session2/thumb.png differ diff --git a/themes/ram/session3/stream.m3u8 b/themes/ram/session3/stream.m3u8 new file mode 100644 index 0000000..e3f9509 --- /dev/null +++ b/themes/ram/session3/stream.m3u8 @@ -0,0 +1,2 @@ +#TEST +http://alib.hd.free.fr/istreamdev2/ram/session0/stream1.ts diff --git a/themes/ram/session3/thumb.png b/themes/ram/session3/thumb.png new file mode 100755 index 0000000..92d077a Binary files /dev/null and b/themes/ram/session3/thumb.png differ diff --git a/themes/ram/temp-logo.png b/themes/ram/temp-logo.png new file mode 100755 index 0000000..92d077a Binary files /dev/null and b/themes/ram/temp-logo.png differ -- cgit v1.2.3