From 4054926cba914fb95796079e2928fc049c16c795 Mon Sep 17 00:00:00 2001 From: Andrew McDonough Date: Sat, 7 May 2011 02:16:16 +0100 Subject: [PATCH] removed static --- static/css/fg.menu.css | 114 -- static/css/onepage.css | 59 - static/css/pdf.css | 12 - static/css/reset.css | 53 - static/css/sh_style.css | 66 - static/css/showoff.css | 324 ----- static/css/spinner_bar.gif | Bin 358 -> 0 bytes ...ui-bg_diagonals-small_100_f0efea_40x40.png | Bin 157 -> 0 bytes .../images/ui-bg_flat_35_f0f0f0_40x100.png | Bin 180 -> 0 bytes .../images/ui-bg_glass_55_fcf0ba_1x400.png | Bin 127 -> 0 bytes .../ui-bg_glow-ball_25_2e2e28_600x600.png | Bin 49306 -> 0 bytes .../ui-bg_highlight-soft_100_f0efea_1x100.png | Bin 114 -> 0 bytes .../ui-bg_highlight-soft_25_327E04_1x100.png | Bin 121 -> 0 bytes .../ui-bg_highlight-soft_25_5A9D1A_1x100.png | Bin 123 -> 0 bytes .../ui-bg_highlight-soft_95_ffedad_1x100.png | Bin 130 -> 0 bytes .../ui-bg_inset-soft_22_3b3b35_1x100.png | Bin 161 -> 0 bytes .../theme/images/ui-icons_808080_256x240.png | Bin 4379 -> 0 bytes .../theme/images/ui-icons_8DC262_256x240.png | Bin 4379 -> 0 bytes .../theme/images/ui-icons_cd0a0a_256x240.png | Bin 4379 -> 0 bytes .../theme/images/ui-icons_e7e6e4_256x240.png | Bin 5399 -> 0 bytes .../theme/images/ui-icons_eeeeee_256x240.png | Bin 4379 -> 0 bytes .../theme/images/ui-icons_ffffff_256x240.png | Bin 4379 -> 0 bytes static/css/theme/ui.accordion.css | 9 - static/css/theme/ui.all.css | 2 - static/css/theme/ui.base.css | 9 - static/css/theme/ui.core.css | 37 - static/css/theme/ui.datepicker.css | 62 - static/css/theme/ui.dialog.css | 13 - static/css/theme/ui.progressbar.css | 4 - static/css/theme/ui.resizable.css | 13 - static/css/theme/ui.slider.css | 17 - static/css/theme/ui.tabs.css | 9 - static/css/theme/ui.theme.css | 245 ---- static/index.html | 342 ----- static/js/core.js | 79 - static/js/fg.menu.js | 645 --------- static/js/jTypeWriter.js | 26 - static/js/jquery-1.4.2.min.js | 154 -- static/js/jquery-print.js | 109 -- static/js/jquery.batchImageLoad.js | 56 - static/js/jquery.cookie.js | 96 -- static/js/jquery.cycle.all.js | 1284 ----------------- static/js/jquery.doubletap-0.1.js | 105 -- static/js/jquery.uuid.js | 24 - static/js/jquery.ws-0.3pre.js | 201 --- static/js/onepage.js | 5 - static/js/sh_lang/sh_bison.min.js | 1 - static/js/sh_lang/sh_c.min.js | 1 - static/js/sh_lang/sh_caml.min.js | 1 - static/js/sh_lang/sh_changelog.min.js | 1 - static/js/sh_lang/sh_cpp.min.js | 1 - static/js/sh_lang/sh_csharp.min.js | 1 - static/js/sh_lang/sh_css.min.js | 1 - static/js/sh_lang/sh_cucumber.min.js | 2 - static/js/sh_lang/sh_desktop.min.js | 1 - static/js/sh_lang/sh_diff.min.js | 1 - static/js/sh_lang/sh_flex.min.js | 1 - static/js/sh_lang/sh_glsl.min.js | 1 - static/js/sh_lang/sh_haxe.min.js | 1 - static/js/sh_lang/sh_html.min.js | 1 - static/js/sh_lang/sh_java.min.js | 1 - static/js/sh_lang/sh_javascript.min.js | 1 - static/js/sh_lang/sh_javascript_dom.min.js | 1 - static/js/sh_lang/sh_latex.min.js | 1 - static/js/sh_lang/sh_ldap.min.js | 1 - static/js/sh_lang/sh_log.min.js | 1 - static/js/sh_lang/sh_lsm.min.js | 1 - static/js/sh_lang/sh_m4.min.js | 1 - static/js/sh_lang/sh_makefile.min.js | 1 - static/js/sh_lang/sh_oracle.min.js | 1 - static/js/sh_lang/sh_pascal.min.js | 1 - static/js/sh_lang/sh_perl.min.js | 1 - static/js/sh_lang/sh_php.min.js | 1 - static/js/sh_lang/sh_prolog.min.js | 1 - static/js/sh_lang/sh_properties.min.js | 1 - static/js/sh_lang/sh_python.min.js | 1 - static/js/sh_lang/sh_ruby.min.js | 1 - static/js/sh_lang/sh_scala.min.js | 1 - static/js/sh_lang/sh_sh.min.js | 1 - static/js/sh_lang/sh_slang.min.js | 1 - static/js/sh_lang/sh_sml.min.js | 1 - static/js/sh_lang/sh_spec.min.js | 1 - static/js/sh_lang/sh_sql.min.js | 1 - static/js/sh_lang/sh_tcl.min.js | 1 - static/js/sh_lang/sh_xml.min.js | 1 - static/js/sh_lang/sh_xorg.min.js | 1 - static/js/sh_main.min.js | 4 - static/js/showoff.js | 583 -------- static/js/showoffcore.js | 13 - 89 files changed, 4815 deletions(-) delete mode 100644 static/css/fg.menu.css delete mode 100644 static/css/onepage.css delete mode 100644 static/css/pdf.css delete mode 100644 static/css/reset.css delete mode 100644 static/css/sh_style.css delete mode 100644 static/css/showoff.css delete mode 100644 static/css/spinner_bar.gif delete mode 100644 static/css/theme/images/ui-bg_diagonals-small_100_f0efea_40x40.png delete mode 100644 static/css/theme/images/ui-bg_flat_35_f0f0f0_40x100.png delete mode 100644 static/css/theme/images/ui-bg_glass_55_fcf0ba_1x400.png delete mode 100644 static/css/theme/images/ui-bg_glow-ball_25_2e2e28_600x600.png delete mode 100644 static/css/theme/images/ui-bg_highlight-soft_100_f0efea_1x100.png delete mode 100644 static/css/theme/images/ui-bg_highlight-soft_25_327E04_1x100.png delete mode 100644 static/css/theme/images/ui-bg_highlight-soft_25_5A9D1A_1x100.png delete mode 100644 static/css/theme/images/ui-bg_highlight-soft_95_ffedad_1x100.png delete mode 100644 static/css/theme/images/ui-bg_inset-soft_22_3b3b35_1x100.png delete mode 100644 static/css/theme/images/ui-icons_808080_256x240.png delete mode 100644 static/css/theme/images/ui-icons_8DC262_256x240.png delete mode 100644 static/css/theme/images/ui-icons_cd0a0a_256x240.png delete mode 100644 static/css/theme/images/ui-icons_e7e6e4_256x240.png delete mode 100644 static/css/theme/images/ui-icons_eeeeee_256x240.png delete mode 100644 static/css/theme/images/ui-icons_ffffff_256x240.png delete mode 100644 static/css/theme/ui.accordion.css delete mode 100644 static/css/theme/ui.all.css delete mode 100644 static/css/theme/ui.base.css delete mode 100644 static/css/theme/ui.core.css delete mode 100644 static/css/theme/ui.datepicker.css delete mode 100644 static/css/theme/ui.dialog.css delete mode 100644 static/css/theme/ui.progressbar.css delete mode 100644 static/css/theme/ui.resizable.css delete mode 100644 static/css/theme/ui.slider.css delete mode 100644 static/css/theme/ui.tabs.css delete mode 100644 static/css/theme/ui.theme.css delete mode 100644 static/index.html delete mode 100644 static/js/core.js delete mode 100644 static/js/fg.menu.js delete mode 100644 static/js/jTypeWriter.js delete mode 100644 static/js/jquery-1.4.2.min.js delete mode 100644 static/js/jquery-print.js delete mode 100644 static/js/jquery.batchImageLoad.js delete mode 100644 static/js/jquery.cookie.js delete mode 100644 static/js/jquery.cycle.all.js delete mode 100644 static/js/jquery.doubletap-0.1.js delete mode 100644 static/js/jquery.uuid.js delete mode 100644 static/js/jquery.ws-0.3pre.js delete mode 100644 static/js/onepage.js delete mode 100644 static/js/sh_lang/sh_bison.min.js delete mode 100644 static/js/sh_lang/sh_c.min.js delete mode 100644 static/js/sh_lang/sh_caml.min.js delete mode 100644 static/js/sh_lang/sh_changelog.min.js delete mode 100644 static/js/sh_lang/sh_cpp.min.js delete mode 100644 static/js/sh_lang/sh_csharp.min.js delete mode 100644 static/js/sh_lang/sh_css.min.js delete mode 100644 static/js/sh_lang/sh_cucumber.min.js delete mode 100644 static/js/sh_lang/sh_desktop.min.js delete mode 100644 static/js/sh_lang/sh_diff.min.js delete mode 100644 static/js/sh_lang/sh_flex.min.js delete mode 100644 static/js/sh_lang/sh_glsl.min.js delete mode 100644 static/js/sh_lang/sh_haxe.min.js delete mode 100644 static/js/sh_lang/sh_html.min.js delete mode 100644 static/js/sh_lang/sh_java.min.js delete mode 100644 static/js/sh_lang/sh_javascript.min.js delete mode 100644 static/js/sh_lang/sh_javascript_dom.min.js delete mode 100644 static/js/sh_lang/sh_latex.min.js delete mode 100644 static/js/sh_lang/sh_ldap.min.js delete mode 100644 static/js/sh_lang/sh_log.min.js delete mode 100644 static/js/sh_lang/sh_lsm.min.js delete mode 100644 static/js/sh_lang/sh_m4.min.js delete mode 100644 static/js/sh_lang/sh_makefile.min.js delete mode 100644 static/js/sh_lang/sh_oracle.min.js delete mode 100644 static/js/sh_lang/sh_pascal.min.js delete mode 100644 static/js/sh_lang/sh_perl.min.js delete mode 100644 static/js/sh_lang/sh_php.min.js delete mode 100644 static/js/sh_lang/sh_prolog.min.js delete mode 100644 static/js/sh_lang/sh_properties.min.js delete mode 100644 static/js/sh_lang/sh_python.min.js delete mode 100644 static/js/sh_lang/sh_ruby.min.js delete mode 100644 static/js/sh_lang/sh_scala.min.js delete mode 100644 static/js/sh_lang/sh_sh.min.js delete mode 100644 static/js/sh_lang/sh_slang.min.js delete mode 100644 static/js/sh_lang/sh_sml.min.js delete mode 100644 static/js/sh_lang/sh_spec.min.js delete mode 100644 static/js/sh_lang/sh_sql.min.js delete mode 100644 static/js/sh_lang/sh_tcl.min.js delete mode 100644 static/js/sh_lang/sh_xml.min.js delete mode 100644 static/js/sh_lang/sh_xorg.min.js delete mode 100644 static/js/sh_main.min.js delete mode 100644 static/js/showoff.js delete mode 100644 static/js/showoffcore.js diff --git a/static/css/fg.menu.css b/static/css/fg.menu.css deleted file mode 100644 index 820db38..0000000 --- a/static/css/fg.menu.css +++ /dev/null @@ -1,114 +0,0 @@ -/* Styles for jQuery menu widget -Author: Maggie Wachs, maggie@filamentgroup.com -Date: September 2008 -*/ - - -/* REQUIRED STYLES - the menus will only render correctly with these rules */ - -.fg-menu-container { position: absolute; top:0; left:-999px; padding: .4em; overflow: hidden; } -.fg-menu-container.fg-menu-flyout { overflow: visible; } - -.fg-menu, .fg-menu ul { list-style-type:none; padding: 0; margin:0; } - -.fg-menu { position:relative; } -.fg-menu-flyout .fg-menu { position:static; } - -.fg-menu ul { position:absolute; top:0; } -.fg-menu ul ul { top:-1px; } - -.fg-menu-container.fg-menu-ipod .fg-menu-content, -.fg-menu-container.fg-menu-ipod .fg-menu-content ul { background: none !important; } - -.fg-menu.fg-menu-scroll, -.fg-menu ul.fg-menu-scroll { overflow: scroll; overflow-x: hidden; } - -.fg-menu li { clear:both; float:left; width:100%; margin: 0; padding:0; border: 0; } -.fg-menu li li { font-size:1em; } /* inner li font size must be reset so that they don't blow up */ - -.fg-menu-flyout ul ul { padding: .4em; } -.fg-menu-flyout li { position:relative; } - -.fg-menu-scroll { overflow: scroll; overflow-x: hidden; } - -.fg-menu-breadcrumb { margin: 0; padding: 0; } - -.fg-menu-footer { margin-top: .4em; padding: .4em; } -.fg-menu-header { margin-bottom: .4em; padding: .4em; } - -.fg-menu-breadcrumb li { float: left; list-style: none; margin: 0; padding: 0 .2em; font-size: .9em; opacity: .7; } -.fg-menu-breadcrumb li.fg-menu-prev-list, -.fg-menu-breadcrumb li.fg-menu-current-crumb { clear: left; float: none; opacity: 1; } -.fg-menu-breadcrumb li.fg-menu-current-crumb { padding-top: .2em; } - -.fg-menu-breadcrumb a, -.fg-menu-breadcrumb span { float: left; } - -.fg-menu-footer a:link, -.fg-menu-footer a:visited { float:left; width:100%; text-decoration: none; } -.fg-menu-footer a:hover, -.fg-menu-footer a:active { } - -.fg-menu-footer a span { float:left; cursor: pointer; } - -.fg-menu-breadcrumb .fg-menu-prev-list a:link, -.fg-menu-breadcrumb .fg-menu-prev-list a:visited, -.fg-menu-breadcrumb .fg-menu-prev-list a:hover, -.fg-menu-breadcrumb .fg-menu-prev-list a:active { background-image: none; text-decoration:none; } - -.fg-menu-breadcrumb .fg-menu-prev-list a { float: left; padding-right: .4em; } -.fg-menu-breadcrumb .fg-menu-prev-list a .ui-icon { float: left; } - -.fg-menu-breadcrumb .fg-menu-current-crumb a:link, -.fg-menu-breadcrumb .fg-menu-current-crumb a:visited, -.fg-menu-breadcrumb .fg-menu-current-crumb a:hover, -.fg-menu-breadcrumb .fg-menu-current-crumb a:active { display:block; background-image:none; font-size:1.3em; text-decoration:none; } - - - -/* REQUIRED LINK STYLES: links are "display:block" by default; if the menu options are split into - selectable node links and 'next' links, the script floats the node links left and floats the 'next' links to the right */ - -.fg-menu a:link, -.fg-menu a:visited, -.fg-menu a:hover, -.fg-menu a:active { float:left; width:92%; padding:.3em 3%; text-decoration:none; outline: 0 !important; } - -.fg-menu a { border: 1px dashed transparent; } - -.fg-menu a.ui-state-default:link, -.fg-menu a.ui-state-default:visited, -.fg-menu a.ui-state-default:hover, -.fg-menu a.ui-state-default:active, -.fg-menu a.ui-state-hover:link, -.fg-menu a.ui-state-hover:visited, -.fg-menu a.ui-state-hover:hover, -.fg-menu a.ui-state-hover:active, - .fg-menu a.ui-state-active:link, - .fg-menu a.ui-state-active:visited, - .fg-menu a.ui-state-active:hover, -.fg-menu a.ui-state-active:active { border-style: solid; font-weight: normal; } - -.fg-menu a span { display:block; cursor:pointer; } - - - /* SUGGESTED STYLES - for use with jQuery UI Themeroller CSS */ - -.fg-menu-indicator span { float:left; } -.fg-menu-indicator span.ui-icon { float:right; } - -.fg-menu-content.ui-widget-content, -.fg-menu-content ul.ui-widget-content { border:0; } - - -/* ICONS AND DIVIDERS */ - -.fg-menu.fg-menu-has-icons a:link, -.fg-menu.fg-menu-has-icons a:visited, -.fg-menu.fg-menu-has-icons a:hover, -.fg-menu.fg-menu-has-icons a:active { padding-left:20px; } - -.fg-menu .horizontal-divider hr, .fg-menu .horizontal-divider span { padding:0; margin:5px .6em; } -.fg-menu .horizontal-divider hr { border:0; height:1px; } -.fg-menu .horizontal-divider span { font-size:.9em; text-transform: uppercase; padding-left:.2em; } - diff --git a/static/css/onepage.css b/static/css/onepage.css deleted file mode 100644 index fe59adc..0000000 --- a/static/css/onepage.css +++ /dev/null @@ -1,59 +0,0 @@ -/* Screen */ -@media screen { - .slide { - margin: 10px; - padding: 0; - width: 1020px; - height: 740px; - margin-left:auto; - margin-right:auto; - overflow:hidden; - border: 1px solid #333; - page-break-after: always - } -} - -/* Print */ -@media print { - .slide, .preso { - margin: 10px; - padding: 0; - width: 800px; - height: 600px; - overflow:hidden; - border: none; - page-break-after: always - } -} - -/* iPhone */ -/* Portrait */ -@media screen and (max-width: 320px) -{ - .preso { - margin: 10px; - padding: 0; - width: 320px; - min-height: 480px; - margin-left:auto; - margin-right:auto; -/* overflow:hidden;*/ - border: 1px solid #333; - page-break-after: always - } -} -/* Landscape */ -@media screen and (min-width: 321px) -{ - .preso { - margin: 10px; - padding: 0; - width: 480px; - min-height: 320px; - margin-left:auto; - margin-right:auto; -/* overflow:hidden;*/ - border: 1px solid #333; - page-break-after: always - } -} \ No newline at end of file diff --git a/static/css/pdf.css b/static/css/pdf.css deleted file mode 100644 index ea1989b..0000000 --- a/static/css/pdf.css +++ /dev/null @@ -1,12 +0,0 @@ -.slide { - margin: 0; - padding: 0; - width: 100%; - height: 740px; - margin-left:auto; - margin-right:auto; - overflow:hidden; - page-break-after: always -} - -@page { size: A4 landscape } diff --git a/static/css/reset.css b/static/css/reset.css deleted file mode 100644 index 1c85489..0000000 --- a/static/css/reset.css +++ /dev/null @@ -1,53 +0,0 @@ -/* http://meyerweb.com/eric/tools/css/reset/ */ -/* v1.0 | 20080212 */ - -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, font, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td { - margin: 0; - padding: 0; - border: 0; - outline: 0; - font-size: 100%; - vertical-align: baseline; - background: transparent; -} -body { - line-height: 1; -} -ol, ul { - list-style: none; -} -blockquote, q { - quotes: none; -} -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; - content: none; -} - -/* remember to define focus styles! */ -:focus { - outline: 0; -} - -/* remember to highlight inserts somehow! */ -ins { - text-decoration: none; -} -del { - text-decoration: line-through; -} - -/* tables still need 'cellspacing="0"' in the markup */ -table { - border-collapse: collapse; - border-spacing: 0; -} diff --git a/static/css/sh_style.css b/static/css/sh_style.css deleted file mode 100644 index 12be84b..0000000 --- a/static/css/sh_style.css +++ /dev/null @@ -1,66 +0,0 @@ -pre.sh_sourceCode { - background-color: white; - color: black; - font-style: normal; - font-weight: normal; -} - -pre.sh_sourceCode .sh_keyword { color: blue; font-weight: bold; } /* language keywords */ -pre.sh_sourceCode .sh_type { color: darkgreen; } /* basic types */ -pre.sh_sourceCode .sh_usertype { color: teal; } /* user defined types */ -pre.sh_sourceCode .sh_string { color: red; font-family: monospace; } /* strings and chars */ -pre.sh_sourceCode .sh_regexp { color: orange; font-family: monospace; } /* regular expressions */ -pre.sh_sourceCode .sh_specialchar { color: pink; font-family: monospace; } /* e.g., \n, \t, \\ */ -pre.sh_sourceCode .sh_comment { color: brown; font-style: italic; } /* comments */ -pre.sh_sourceCode .sh_number { color: purple; } /* literal numbers */ -pre.sh_sourceCode .sh_preproc { color: darkblue; font-weight: bold; } /* e.g., #include, import */ -pre.sh_sourceCode .sh_symbol { color: darkred; } /* */ -pre.sh_sourceCode .sh_function { color: black; font-weight: bold; } /* function calls and declarations */ -pre.sh_sourceCode .sh_cbracket { color: red; } /* block brackets (e.g., {, }) */ -pre.sh_sourceCode .sh_todo { font-weight: bold; background-color: cyan; } /* TODO and FIXME */ - -/* Predefined variables and functions (for instance glsl) */ -pre.sh_sourceCode .sh_predef_var { color: darkblue; } -pre.sh_sourceCode .sh_predef_func { color: darkblue; font-weight: bold; } - -/* for OOP */ -pre.sh_sourceCode .sh_classname { color: teal; } - -/* line numbers (not yet implemented) */ -pre.sh_sourceCode .sh_linenum { color: black; font-family: monospace; } - -/* Internet related */ -pre.sh_sourceCode .sh_url { color: blue; text-decoration: underline; font-family: monospace; } - -/* for ChangeLog and Log files */ -pre.sh_sourceCode .sh_date { color: blue; font-weight: bold; } -pre.sh_sourceCode .sh_time, pre.sh_sourceCode .sh_file { color: darkblue; font-weight: bold; } -pre.sh_sourceCode .sh_ip, pre.sh_sourceCode .sh_name { color: darkgreen; } - -/* for Prolog, Perl... */ -pre.sh_sourceCode .sh_variable { color: darkgreen; } - -/* for LaTeX */ -pre.sh_sourceCode .sh_italics { color: darkgreen; font-style: italic; } -pre.sh_sourceCode .sh_bold { color: darkgreen; font-weight: bold; } -pre.sh_sourceCode .sh_underline { color: darkgreen; text-decoration: underline; } -pre.sh_sourceCode .sh_fixed { color: green; font-family: monospace; } -pre.sh_sourceCode .sh_argument { color: darkgreen; } -pre.sh_sourceCode .sh_optionalargument { color: purple; } -pre.sh_sourceCode .sh_math { color: orange; } -pre.sh_sourceCode .sh_bibtex { color: blue; } - -/* for diffs */ -pre.sh_sourceCode .sh_oldfile { color: orange; } -pre.sh_sourceCode .sh_newfile { color: darkgreen; } -pre.sh_sourceCode .sh_difflines { color: blue; } - -/* for css */ -pre.sh_sourceCode .sh_selector { color: purple; } -pre.sh_sourceCode .sh_property { color: blue; } -pre.sh_sourceCode .sh_value { color: darkgreen; font-style: italic; } - -/* other */ -pre.sh_sourceCode .sh_section { color: black; font-weight: bold; } -pre.sh_sourceCode .sh_paren { color: red; } -pre.sh_sourceCode .sh_attribute { color: darkgreen; } diff --git a/static/css/showoff.css b/static/css/showoff.css deleted file mode 100644 index 14dd11e..0000000 --- a/static/css/showoff.css +++ /dev/null @@ -1,324 +0,0 @@ -@media screen { - body { - font-family: "Gill Sans", Helvetica, Arial, sans-serif; - } - - #preso, .slide { - background: #fff; - width: 1020px; - height: 740px; - margin-left:auto; - margin-right:auto; - overflow:hidden; - } - - #footer { - background: #eee; - padding: 2px; - width: 1010px; - height: 20px; - margin-left:auto; - margin-right:auto; - } -} - -/* iPhone */ -/* Portrait */ -@media screen and (max-width: 320px) -{ - #preso { - margin: 0; - padding: 0; - width: 320px; - max-height: 356px; - margin-left:auto; - margin-right:auto; -/* overflow:hidden;*/ - } - #footer { - background: #eee; - margin: 0; - padding: 2px; - width: 320px; - height: 20px; - margin-left:auto; - margin-right:auto; - } -} -/* Landscape */ -@media screen and (max-width: 480px) -{ - #preso { - margin: 0; - padding: 0; -/* min-height: 320px;*/ - width: 480px; - margin-left:auto; - margin-right:auto; - } - #footer { - background: #eee; - margin: 0; - padding: 2px; - width: 480px; - height: 20px; - margin-left:auto; - margin-right:auto; - } -} - -.slide { - border: 1px solid #fff; -} - -.center img { - display:block; - margin-left:auto; - margin-right:auto; -} - -.slide .center { - height: 740px; - width: 1020px; - display: table-cell; - text-align: center; - vertical-align: middle; -} - -.bullets ul { - font-size: 3em; -} -.bullets ul li { - text-align: center; - padding: 25px; -} - -.smbullets ul { - font-size: 2em; -} -.smbullets ul li { - text-align: center; - padding: 10px; -} - -.commandline pre { - font-size: 2em; -} - -.commandline code.command { - color: #000; -} - -.commandline code.result { - color: #444; -} - -.command h1 { - white-space: pre; - font-family: monospace; - font-size: 3em; -} - -.code { - white-space: pre; - font-family: monospace; -} - -.subsection { - background: #008; - color: #fff; -} - -.small { - font-size: 80%; -} - -.smaller { - font-size: 70%; -} - -h1 { font-size: 5em; font-weight: normal; text-align: center;} -h2 { font-size: 3em; font-weight: normal; text-align: center; } -h3 { font-size: 2em; font-weight: normal; text-align: center; } - -h1, h2, h3 { - margin: 0.5em 0; -} - -pre { margin-left: 40px; font-size: 2.8em; } - -.notes { display: none } -.hidden { position:absolute; top:0; left:-9999px; width:1px; height:1px; overflow:hidden; } -.offscreen { position:absolute; top:0; left:-9999px; overflow:hidden; } -#debugInfo { margin-left: 30px; } -#preshow { display: none; } - -#help { - background: #9f9; - position: absolute; - right: 80px; - display: none; - z-index: 2147483647; //max, see http://www.puidokas.com/max-z-index/ -} -#help table tr td.key { - text-align: right; - border-right: 2px solid #8b8; - padding-right: 4px; - font-weight: bold; -} - -.fg-menu-container { - z-index: 2147483647; //max, see http://www.puidokas.com/max-z-index/ -} - -.fg-button { clear:left; margin:0 4px 40px 20px; padding: .4em 1em; text-decoration:none !important; cursor:pointer; position: relative; text-align: center; zoom: 1; } -.fg-button .ui-icon { position: absolute; top: 50%; margin-top: -8px; left: 50%; margin-left: -8px; } -a.fg-button { float:left; } -.fg-button-icon-right { padding-right: 2.1em; } -.fg-button-icon-right .ui-icon { left: auto; right: .2em; margin-left: 0; } - -.fg-button.ui-state-loading .ui-icon { background: url(spinner_bar.gif) no-repeat 0 0; } - -#navmenu { position: absolute; top: 10px; left: 10px; width: 50px; } - -.code .c { color: #999988; font-style: italic } /* Comment */ -.code .err { color: #a61717; background-color: #e3d2d2 } /* Error */ -.code .k { font-weight: bold } /* Keyword */ -.code .o { font-weight: bold } /* Operator */ -.code .cm { color: #999988; font-style: italic } /* Comment.Multiline */ -.code .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ -.code .c1 { color: #999988; font-style: italic } /* Comment.Single */ -.code .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ -.code .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ -.code .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ -.code .ge { font-style: italic } /* Generic.Emph */ -.code .gr { color: #aa0000 } /* Generic.Error */ -.code .gh { color: #999999 } /* Generic.Heading */ -.code .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ -.code .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ -.code .go { color: #888888 } /* Generic.Output */ -.code .gp { color: #555555 } /* Generic.Prompt */ -.code .gs { font-weight: bold } /* Generic.Strong */ -.code .gu { color: #aaaaaa } /* Generic.Subheading */ -.code .gt { color: #aa0000 } /* Generic.Traceback */ -.code .kc { font-weight: bold } /* Keyword.Constant */ -.code .kd { font-weight: bold } /* Keyword.Declaration */ -.code .kp { font-weight: bold } /* Keyword.Pseudo */ -.code .kr { font-weight: bold } /* Keyword.Reserved */ -.code .kt { color: #445588; font-weight: bold } /* Keyword.Type */ -.code .m { color: #009999 } /* Literal.Number */ -.code .s { color: #d14 } /* Literal.String */ -.code .na { color: #008080 } /* Name.Attribute */ -.code .nb { color: #0086B3 } /* Name.Builtin */ -.code .nc { color: #445588; font-weight: bold } /* Name.Class */ -.code .no { color: #008080 } /* Name.Constant */ -.code .ni { color: #800080 } /* Name.Entity */ -.code .ne { color: #990000; font-weight: bold } /* Name.Exception */ -.code .nf { color: #990000; font-weight: bold } /* Name.Function */ -.code .nn { color: #555555 } /* Name.Namespace */ -.code .nt { color: #000080 } /* Name.Tag */ -.code .nv { color: #008080 } /* Name.Variable */ -.code .ow { font-weight: bold } /* Operator.Word */ -.code .w { color: #bbbbbb } /* Text.Whitespace */ -.code .mf { color: #009999 } /* Literal.Number.Float */ -.code .mh { color: #009999 } /* Literal.Number.Hex */ -.code .mi { color: #009999 } /* Literal.Number.Integer */ -.code .mo { color: #009999 } /* Literal.Number.Oct */ -.code .sb { color: #d14 } /* Literal.String.Backtick */ -.code .sc { color: #d14 } /* Literal.String.Char */ -.code .sd { color: #d14 } /* Literal.String.Doc */ -.code .s2 { color: #d14 } /* Literal.String.Double */ -.code .se { color: #d14 } /* Literal.String.Escape */ -.code .sh { color: #d14 } /* Literal.String.Heredoc */ -.code .si { color: #d14 } /* Literal.String.Interpol */ -.code .sx { color: #d14 } /* Literal.String.Other */ -.code .sr { color: #009926 } /* Literal.String.Regex */ -.code .s1 { color: #d14 } /* Literal.String.Single */ -.code .ss { color: #990073 } /* Literal.String.Symbol */ -.code .bp { color: #999999 } /* Name.Builtin.Pseudo */ -.code .vc { color: #008080 } /* Name.Variable.Class */ -.code .vg { color: #008080 } /* Name.Variable.Global */ -.code .vi { color: #008080 } /* Name.Variable.Instance */ -.code .il { color: #009999 } /* Literal.Number.Integer.Long */ - -.results { - background-color:#002200; - color:#00AA00; - font-size:2em; - border:2px solid black; - position: fixed; - top:0px; - width:100%; - padding:15px; - margin:0px; - font-family: monospace; - z-index: 2147483647; //max, see http://www.puidokas.com/max-z-index/ -} - -.executing { - color:#0000FF !important; - background-color: yellow; -} - -#tips, #preshow_timer { - display:inline; - background-color:#000; - color:#fff; - font-size:3em; - border:2px solid black; - position: fixed; - padding:25px; - margin:0px; - z-index: 2147483647; //max, see http://www.puidokas.com/max-z-index/ -} - -#tips { - top: 0px; - right: 0px; - text-align:right; -} - -#preshow_timer { - bottom: 0px; -} - -/** Print **/ -@media print { - body { - font-size: 70%; - } - - #preso, .slide { - border: 1px solid #999; - } - - .slide .center { - width: 600px; - height: 600px; - display: table-cell; - text-align: center; - vertical-align: middle; - } - - #preso, .slide { - background: #fff; - width: 600px; - height: 600px; - margin-left:auto; - margin-right:auto; - overflow:hidden; - } - - #footer { - background: #eee; - padding: 2px; - width: 590px; - height: 20 px; - margin-left:auto; - margin-right:auto; - } - - pre, code { - font-family: Monaco, monospace; - } -} diff --git a/static/css/spinner_bar.gif b/static/css/spinner_bar.gif deleted file mode 100644 index 656ae30fc20d058b17d1fddf95dabc72a91378b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 358 zcmZ?wbhEHb6krfwSj5Wk|Nnmm28Nk4XP!B8#@N^x!Uc*b{^#~{4GDI33~)8lGhk)} z3H@YY|a!(!v51gKE(bg=+yj03-#149uJss;;N< zwwkMYBJ2XmvV&!LIZRbWyDWFy>YjFLI+6#FT*F}sHyZ334xmPCt^tWdT_d3i*8+A8 S$TX;HBveg7u6gRgU=0AfaYdB? diff --git a/static/css/theme/images/ui-bg_diagonals-small_100_f0efea_40x40.png b/static/css/theme/images/ui-bg_diagonals-small_100_f0efea_40x40.png deleted file mode 100644 index 5b663158cbefc87f8b4391629c7c044c7ea83d24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEDV{ElArY-_FDVK&7zj9DOy!k* zSAR+>z-M*W%9ztCkB--hf9!kyPW#)rvZFHj7Nu5mS6aN1x91EQ4=4yQ7#`Sv zqdY*RP=#+E1{@pF!m*t^JZyLz>j b4~LkYGkNYge|6CZn#kbk>gTe~DWM4fRyitb diff --git a/static/css/theme/images/ui-bg_glow-ball_25_2e2e28_600x600.png b/static/css/theme/images/ui-bg_glow-ball_25_2e2e28_600x600.png deleted file mode 100644 index 4fca4827fa363d3fc4d970be1717a8a8518f4fb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49306 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 diff --git a/static/css/theme/images/ui-bg_highlight-soft_100_f0efea_1x100.png b/static/css/theme/images/ui-bg_highlight-soft_100_f0efea_1x100.png deleted file mode 100644 index d6f3c7c38672b53f364b90c06ee7ebff4668943a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l%=POV~E7mtNoT-3>V~E7mtNj}}8v;a_`*R*! z^gTPY^S+JX#;q6BRAM+<{@&m@(7$Bb3Kx~AN36FBFIVp>dVRJb{m8;c;{W#PaBs=A Vt&;fFC<`=;!PC{xWt~$(699qnD-{3$ diff --git a/static/css/theme/images/ui-bg_highlight-soft_25_5A9D1A_1x100.png b/static/css/theme/images/ui-bg_highlight-soft_25_5A9D1A_1x100.png deleted file mode 100644 index 869db19a50829ea95c383161e8b78cdfcca4ac0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l#{26V~E7mtNjOg8w>;vuQ_ux zY|YW0Lir12j4DTtcP+m2*kb)*hCdv+ofcPxCS=HeZCjEv_l4AZ?g=5`v+jQXzpsap Y{KNGcf0Zn7@boFyt=akR{030MOod5s; diff --git a/static/css/theme/images/ui-bg_highlight-soft_95_ffedad_1x100.png b/static/css/theme/images/ui-bg_highlight-soft_95_ffedad_1x100.png deleted file mode 100644 index 12686a5a9cd498c20d82f5d00b103f48b49b81ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l&7bQV~E7mtNjN#4>$-gx&MA| zQ2S(R^yeLWmoy%j*ssvnbfxkLgT0XE3=uyr=S0CdJ$y^Dv|lw&_g#1NnIG1$ edhh;Ur(>R!s2k7y^J)^%PzFy|KbLh*2~7a@3oX9@ diff --git a/static/css/theme/images/ui-bg_inset-soft_22_3b3b35_1x100.png b/static/css/theme/images/ui-bg_inset-soft_22_3b3b35_1x100.png deleted file mode 100644 index 063d3947df8db8de51d7aecb35afac12c801b09b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3Ja)XlH!`axy$!9780gZtXMVJM6&0($462 z?rwF^&;Reeq^6fWaq%)1$|!HBt>4FDaa4l&den~G{>vQGn>r3yil4LGxawWG{o+*{ zRu%Rfd)IikRq)=nKUIIKU5+sNuJH;nH13a0OImh(MWev~$``!u&pBpZUAp2k&`t(V LS3j3^P6gVxoVseLcO3vgCnd1P1UZS6 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 II=IOH0b3M1vj6}9 diff --git a/static/css/theme/images/ui-icons_8DC262_256x240.png b/static/css/theme/images/ui-icons_8DC262_256x240.png deleted file mode 100644 index 34cbac838e2baa9c9d559ff4940edf907d602048..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4379 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 M>tS>&wXu=^1FE+S0{{R3 diff --git a/static/css/theme/images/ui-icons_e7e6e4_256x240.png b/static/css/theme/images/ui-icons_e7e6e4_256x240.png deleted file mode 100644 index e7495a6f8b6fd1c845a7c160bdc5e225fc350d99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5399 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 QzlR^7t*-x|7HJpzKcV51)&Kwi diff --git a/static/css/theme/images/ui-icons_eeeeee_256x240.png b/static/css/theme/images/ui-icons_eeeeee_256x240.png deleted file mode 100644 index 4ab02474835b93bdca8f3294d66a8d966babd3a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4379 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 diff --git a/static/css/theme/images/ui-icons_ffffff_256x240.png b/static/css/theme/images/ui-icons_ffffff_256x240.png deleted file mode 100644 index 746e6fa257e538f5cc358a3102a8ac3919db6df4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4379 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 II=IOH0a+rl`~Uy| diff --git a/static/css/theme/ui.accordion.css b/static/css/theme/ui.accordion.css deleted file mode 100644 index c84ad4e..0000000 --- a/static/css/theme/ui.accordion.css +++ /dev/null @@ -1,9 +0,0 @@ -/* Accordion -----------------------------------*/ -.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } -.ui-accordion li {display: inline;} -.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } -.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em 2.2em; } -.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } -.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; } -.ui-accordion .ui-accordion-content-active { display: block; } \ No newline at end of file diff --git a/static/css/theme/ui.all.css b/static/css/theme/ui.all.css deleted file mode 100644 index 543e4c3..0000000 --- a/static/css/theme/ui.all.css +++ /dev/null @@ -1,2 +0,0 @@ -@import "ui.base.css"; -@import "ui.theme.css"; diff --git a/static/css/theme/ui.base.css b/static/css/theme/ui.base.css deleted file mode 100644 index dadf378..0000000 --- a/static/css/theme/ui.base.css +++ /dev/null @@ -1,9 +0,0 @@ -@import url("ui.core.css"); - -@import url("ui.accordion.css"); -@import url("ui.datepicker.css"); -@import url("ui.dialog.css"); -@import url("ui.progressbar.css"); -@import url("ui.resizable.css"); -@import url("ui.slider.css"); -@import url("ui.tabs.css"); diff --git a/static/css/theme/ui.core.css b/static/css/theme/ui.core.css deleted file mode 100644 index d832ad7..0000000 --- a/static/css/theme/ui.core.css +++ /dev/null @@ -1,37 +0,0 @@ -/* -* jQuery UI CSS Framework -* Copyright (c) 2009 AUTHORS.txt (http://ui.jquery.com/about) -* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. -*/ - -/* Layout helpers -----------------------------------*/ -.ui-helper-hidden { display: none; } -.ui-helper-hidden-accessible { position: absolute; left: -99999999px; } -.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } -.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } -.ui-helper-clearfix { display: inline-block; } -/* required comment for clearfix to work in Opera \*/ -* html .ui-helper-clearfix { height:1%; } -.ui-helper-clearfix { display:block; } -/* end clearfix */ -.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } - - -/* Interaction Cues -----------------------------------*/ -.ui-state-disabled { cursor: default !important; } - - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } - - -/* Misc visuals -----------------------------------*/ - -/* Overlays */ -.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } \ No newline at end of file diff --git a/static/css/theme/ui.datepicker.css b/static/css/theme/ui.datepicker.css deleted file mode 100644 index 92986c9..0000000 --- a/static/css/theme/ui.datepicker.css +++ /dev/null @@ -1,62 +0,0 @@ -/* Datepicker -----------------------------------*/ -.ui-datepicker { width: 17em; padding: .2em .2em 0; } -.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } -.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } -.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } -.ui-datepicker .ui-datepicker-prev { left:2px; } -.ui-datepicker .ui-datepicker-next { right:2px; } -.ui-datepicker .ui-datepicker-prev-hover { left:1px; } -.ui-datepicker .ui-datepicker-next-hover { right:1px; } -.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } -.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } -.ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; margin:1px 0; } -.ui-datepicker select.ui-datepicker-month-year {width: 100%;} -.ui-datepicker select.ui-datepicker-month, -.ui-datepicker select.ui-datepicker-year { width: 49%;} -.ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: right; } -.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } -.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } -.ui-datepicker td { border: 0; padding: 1px; } -.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } -.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } -.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } -.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } - -/* with multiple calendars */ -.ui-datepicker.ui-datepicker-multi { width:auto; } -.ui-datepicker-multi .ui-datepicker-group { float:left; } -.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } -.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } -.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } -.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } -.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } -.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } -.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } -.ui-datepicker-row-break { clear:left; width:100%; } - -/* RTL support */ -.ui-datepicker-rtl { direction: rtl; } -.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } -.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } -.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } -.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } -.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } -.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } -.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } -.ui-datepicker-rtl .ui-datepicker-group { float:right; } -.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } -.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } - -/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ -.ui-datepicker-cover { - display: none; /*sorry for IE5*/ - display/**/: block; /*sorry for IE5*/ - position: absolute; /*must have*/ - z-index: -1; /*must have*/ - filter: mask(); /*must have*/ - top: -4px; /*must have*/ - left: -4px; /*must have*/ - width: 200px; /*must have*/ - height: 200px; /*must have*/ -} \ No newline at end of file diff --git a/static/css/theme/ui.dialog.css b/static/css/theme/ui.dialog.css deleted file mode 100644 index f10f409..0000000 --- a/static/css/theme/ui.dialog.css +++ /dev/null @@ -1,13 +0,0 @@ -/* Dialog -----------------------------------*/ -.ui-dialog { position: relative; padding: .2em; width: 300px; } -.ui-dialog .ui-dialog-titlebar { padding: .5em .3em .3em 1em; position: relative; } -.ui-dialog .ui-dialog-title { float: left; margin: .1em 0 .2em; } -.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } -.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } -.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } -.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; } -.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } -.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; } -.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } -.ui-draggable .ui-dialog-titlebar { cursor: move; } \ No newline at end of file diff --git a/static/css/theme/ui.progressbar.css b/static/css/theme/ui.progressbar.css deleted file mode 100644 index bc0939e..0000000 --- a/static/css/theme/ui.progressbar.css +++ /dev/null @@ -1,4 +0,0 @@ -/* Progressbar -----------------------------------*/ -.ui-progressbar { height:2em; text-align: left; } -.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file diff --git a/static/css/theme/ui.resizable.css b/static/css/theme/ui.resizable.css deleted file mode 100644 index 44efeb2..0000000 --- a/static/css/theme/ui.resizable.css +++ /dev/null @@ -1,13 +0,0 @@ -/* Resizable -----------------------------------*/ -.ui-resizable { position: relative;} -.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} -.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } -.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; } -.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; } -.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; } -.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; } -.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } -.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } -.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } -.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;} \ No newline at end of file diff --git a/static/css/theme/ui.slider.css b/static/css/theme/ui.slider.css deleted file mode 100644 index 0792a48..0000000 --- a/static/css/theme/ui.slider.css +++ /dev/null @@ -1,17 +0,0 @@ -/* Slider -----------------------------------*/ -.ui-slider { position: relative; text-align: left; } -.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } -.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: 1%; display: block; border: 0; } - -.ui-slider-horizontal { height: .8em; } -.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } -.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } -.ui-slider-horizontal .ui-slider-range-min { left: 0; } -.ui-slider-horizontal .ui-slider-range-max { right: 0; } - -.ui-slider-vertical { width: .8em; height: 100px; } -.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } -.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } -.ui-slider-vertical .ui-slider-range-min { bottom: 0; } -.ui-slider-vertical .ui-slider-range-max { top: 0; } \ No newline at end of file diff --git a/static/css/theme/ui.tabs.css b/static/css/theme/ui.tabs.css deleted file mode 100644 index 70ed3ef..0000000 --- a/static/css/theme/ui.tabs.css +++ /dev/null @@ -1,9 +0,0 @@ -/* Tabs -----------------------------------*/ -.ui-tabs {padding: .2em;} -.ui-tabs .ui-tabs-nav { padding: .2em .2em 0 .2em; position: relative; } -.ui-tabs .ui-tabs-nav li { float: left; border-bottom: 0 !important; margin: 0 .2em -1px 0; padding: 0; list-style: none; } -.ui-tabs .ui-tabs-nav li a { display:block; text-decoration: none; padding: .5em 1em; } -.ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: .1em; border-bottom: 0; } -.ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border: 0; background: none; } -.ui-tabs .ui-tabs-hide { display: none !important; } \ No newline at end of file diff --git a/static/css/theme/ui.theme.css b/static/css/theme/ui.theme.css deleted file mode 100644 index 9dcb2bd..0000000 --- a/static/css/theme/ui.theme.css +++ /dev/null @@ -1,245 +0,0 @@ - - -/* -* jQuery UI CSS Framework -* Copyright (c) 2009 AUTHORS.txt (http://ui.jquery.com/about) -* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. -* To view and modify this theme, visit http://ui.jquery.com/themeroller/?ffDefault=segoe%20ui,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=3b3b35&bgTextureHeader=05_inset_soft.png&bgImgOpacityHeader=22&borderColorHeader=59584f&fcHeader=ffffff&iconColorHeader=e7e6e4&bgColorContent=f0efea&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=808080&bgColorDefault=327E04&bgTextureDefault=03_highlight_soft.png&bgImgOpacityDefault=25&borderColorDefault=327E04&fcDefault=ffffff&iconColorDefault=eeeeee&bgColorHover=5A9D1A&bgTextureHover=03_highlight_soft.png&bgImgOpacityHover=25&borderColorHover=327E04&fcHover=ffffff&iconColorHover=ffffff&bgColorActive=f0efea&bgTextureActive=07_diagonals_small.png&bgImgOpacityActive=100&borderColorActive=c4c5c3&fcActive=403D38&iconColorActive=8DC262&bgColorHighlight=fcf0ba&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=e8e1b5&fcHighlight=363636&iconColorHighlight=8DC262&bgColorError=ffedad&bgTextureError=03_highlight_soft.png&bgImgOpacityError=95&borderColorError=e3a345&fcError=cd5c0a&iconColorError=cd0a0a&bgColorOverlay=2e2e28&bgTextureOverlay=21_glow_ball.png&bgImgOpacityOverlay=25&opacityOverlay=65&bgColorShadow=f0f0f0&bgTextureShadow=01_flat.png&bgImgOpacityShadow=35&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px -*/ - - -/* Component containers -----------------------------------*/ -.ui-widget { font-family: segoe ui, Arial, sans-serif; font-size: 1.1em; } -.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: segoe ui, Arial, sans-serif; font-size: 1em; } -.ui-widget-content { border: 1px solid #aaaaaa; background: #f0efea url(images/ui-bg_highlight-soft_100_f0efea_1x100.png) 50% top repeat-x; color: #222222; } -.ui-widget-content a { color: #222222; } -.ui-widget-header { border: 1px solid #59584f; background: #3b3b35 url(images/ui-bg_inset-soft_22_3b3b35_1x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; } -.ui-widget-header a { color: #ffffff; } - -/* Interaction states -----------------------------------*/ -.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #327E04; background: #327E04 url(images/ui-bg_highlight-soft_25_327E04_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #ffffff; outline: none; } -.ui-state-default a { color: #ffffff; text-decoration: none; outline: none; } -.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #327E04; background: #5A9D1A url(images/ui-bg_highlight-soft_25_5A9D1A_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #ffffff; outline: none; } -.ui-state-hover a { color: #ffffff; text-decoration: none; outline: none; } -.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #c4c5c3; background: #f0efea url(images/ui-bg_diagonals-small_100_f0efea_40x40.png) 50% 50% repeat; font-weight: bold; color: #403D38; outline: none; } -.ui-state-active a { color: #403D38; outline: none; text-decoration: none; } - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #e8e1b5; background: #fcf0ba url(images/ui-bg_glass_55_fcf0ba_1x400.png) 50% 50% repeat-x; color: #363636; } -.ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #363636; } -.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #e3a345; background: #ffedad url(images/ui-bg_highlight-soft_95_ffedad_1x100.png) 50% top repeat-x; color: #cd5c0a; } -.ui-state-error a, .ui-widget-content .ui-state-error a { color: #cd5c0a; } -.ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #cd5c0a; } -.ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } -.ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; } -.ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_808080_256x240.png); } -.ui-widget-content .ui-icon {background-image: url(images/ui-icons_808080_256x240.png); } -.ui-widget-header .ui-icon {background-image: url(images/ui-icons_e7e6e4_256x240.png); } -.ui-state-default .ui-icon { background-image: url(images/ui-icons_eeeeee_256x240.png); } -.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } -.ui-state-active .ui-icon {background-image: url(images/ui-icons_8DC262_256x240.png); } -.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_8DC262_256x240.png); } -.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); } - -/* positioning */ -.ui-icon-carat-1-n { background-position: 0 0; } -.ui-icon-carat-1-ne { background-position: -16px 0; } -.ui-icon-carat-1-e { background-position: -32px 0; } -.ui-icon-carat-1-se { background-position: -48px 0; } -.ui-icon-carat-1-s { background-position: -64px 0; } -.ui-icon-carat-1-sw { background-position: -80px 0; } -.ui-icon-carat-1-w { background-position: -96px 0; } -.ui-icon-carat-1-nw { background-position: -112px 0; } -.ui-icon-carat-2-n-s { background-position: -128px 0; } -.ui-icon-carat-2-e-w { background-position: -144px 0; } -.ui-icon-triangle-1-n { background-position: 0 -16px; } -.ui-icon-triangle-1-ne { background-position: -16px -16px; } -.ui-icon-triangle-1-e { background-position: -32px -16px; } -.ui-icon-triangle-1-se { background-position: -48px -16px; } -.ui-icon-triangle-1-s { background-position: -64px -16px; } -.ui-icon-triangle-1-sw { background-position: -80px -16px; } -.ui-icon-triangle-1-w { background-position: -96px -16px; } -.ui-icon-triangle-1-nw { background-position: -112px -16px; } -.ui-icon-triangle-2-n-s { background-position: -128px -16px; } -.ui-icon-triangle-2-e-w { background-position: -144px -16px; } -.ui-icon-arrow-1-n { background-position: 0 -32px; } -.ui-icon-arrow-1-ne { background-position: -16px -32px; } -.ui-icon-arrow-1-e { background-position: -32px -32px; } -.ui-icon-arrow-1-se { background-position: -48px -32px; } -.ui-icon-arrow-1-s { background-position: -64px -32px; } -.ui-icon-arrow-1-sw { background-position: -80px -32px; } -.ui-icon-arrow-1-w { background-position: -96px -32px; } -.ui-icon-arrow-1-nw { background-position: -112px -32px; } -.ui-icon-arrow-2-n-s { background-position: -128px -32px; } -.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } -.ui-icon-arrow-2-e-w { background-position: -160px -32px; } -.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } -.ui-icon-arrowstop-1-n { background-position: -192px -32px; } -.ui-icon-arrowstop-1-e { background-position: -208px -32px; } -.ui-icon-arrowstop-1-s { background-position: -224px -32px; } -.ui-icon-arrowstop-1-w { background-position: -240px -32px; } -.ui-icon-arrowthick-1-n { background-position: 0 -48px; } -.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } -.ui-icon-arrowthick-1-e { background-position: -32px -48px; } -.ui-icon-arrowthick-1-se { background-position: -48px -48px; } -.ui-icon-arrowthick-1-s { background-position: -64px -48px; } -.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } -.ui-icon-arrowthick-1-w { background-position: -96px -48px; } -.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } -.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } -.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } -.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } -.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } -.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } -.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } -.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } -.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } -.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } -.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } -.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } -.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } -.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } -.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } -.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } -.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } -.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } -.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } -.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } -.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } -.ui-icon-arrow-4 { background-position: 0 -80px; } -.ui-icon-arrow-4-diag { background-position: -16px -80px; } -.ui-icon-extlink { background-position: -32px -80px; } -.ui-icon-newwin { background-position: -48px -80px; } -.ui-icon-refresh { background-position: -64px -80px; } -.ui-icon-shuffle { background-position: -80px -80px; } -.ui-icon-transfer-e-w { background-position: -96px -80px; } -.ui-icon-transferthick-e-w { background-position: -112px -80px; } -.ui-icon-folder-collapsed { background-position: 0 -96px; } -.ui-icon-folder-open { background-position: -16px -96px; } -.ui-icon-document { background-position: -32px -96px; } -.ui-icon-document-b { background-position: -48px -96px; } -.ui-icon-note { background-position: -64px -96px; } -.ui-icon-mail-closed { background-position: -80px -96px; } -.ui-icon-mail-open { background-position: -96px -96px; } -.ui-icon-suitcase { background-position: -112px -96px; } -.ui-icon-comment { background-position: -128px -96px; } -.ui-icon-person { background-position: -144px -96px; } -.ui-icon-print { background-position: -160px -96px; } -.ui-icon-trash { background-position: -176px -96px; } -.ui-icon-locked { background-position: -192px -96px; } -.ui-icon-unlocked { background-position: -208px -96px; } -.ui-icon-bookmark { background-position: -224px -96px; } -.ui-icon-tag { background-position: -240px -96px; } -.ui-icon-home { background-position: 0 -112px; } -.ui-icon-flag { background-position: -16px -112px; } -.ui-icon-calendar { background-position: -32px -112px; } -.ui-icon-cart { background-position: -48px -112px; } -.ui-icon-pencil { background-position: -64px -112px; } -.ui-icon-clock { background-position: -80px -112px; } -.ui-icon-disk { background-position: -96px -112px; } -.ui-icon-calculator { background-position: -112px -112px; } -.ui-icon-zoomin { background-position: -128px -112px; } -.ui-icon-zoomout { background-position: -144px -112px; } -.ui-icon-search { background-position: -160px -112px; } -.ui-icon-wrench { background-position: -176px -112px; } -.ui-icon-gear { background-position: -192px -112px; } -.ui-icon-heart { background-position: -208px -112px; } -.ui-icon-star { background-position: -224px -112px; } -.ui-icon-link { background-position: -240px -112px; } -.ui-icon-cancel { background-position: 0 -128px; } -.ui-icon-plus { background-position: -16px -128px; } -.ui-icon-plusthick { background-position: -32px -128px; } -.ui-icon-minus { background-position: -48px -128px; } -.ui-icon-minusthick { background-position: -64px -128px; } -.ui-icon-close { background-position: -80px -128px; } -.ui-icon-closethick { background-position: -96px -128px; } -.ui-icon-key { background-position: -112px -128px; } -.ui-icon-lightbulb { background-position: -128px -128px; } -.ui-icon-scissors { background-position: -144px -128px; } -.ui-icon-clipboard { background-position: -160px -128px; } -.ui-icon-copy { background-position: -176px -128px; } -.ui-icon-contact { background-position: -192px -128px; } -.ui-icon-image { background-position: -208px -128px; } -.ui-icon-video { background-position: -224px -128px; } -.ui-icon-script { background-position: -240px -128px; } -.ui-icon-alert { background-position: 0 -144px; } -.ui-icon-info { background-position: -16px -144px; } -.ui-icon-notice { background-position: -32px -144px; } -.ui-icon-help { background-position: -48px -144px; } -.ui-icon-check { background-position: -64px -144px; } -.ui-icon-bullet { background-position: -80px -144px; } -.ui-icon-radio-off { background-position: -96px -144px; } -.ui-icon-radio-on { background-position: -112px -144px; } -.ui-icon-pin-w { background-position: -128px -144px; } -.ui-icon-pin-s { background-position: -144px -144px; } -.ui-icon-play { background-position: 0 -160px; } -.ui-icon-pause { background-position: -16px -160px; } -.ui-icon-seek-next { background-position: -32px -160px; } -.ui-icon-seek-prev { background-position: -48px -160px; } -.ui-icon-seek-end { background-position: -64px -160px; } -.ui-icon-seek-first { background-position: -80px -160px; } -.ui-icon-stop { background-position: -96px -160px; } -.ui-icon-eject { background-position: -112px -160px; } -.ui-icon-volume-off { background-position: -128px -160px; } -.ui-icon-volume-on { background-position: -144px -160px; } -.ui-icon-power { background-position: 0 -176px; } -.ui-icon-signal-diag { background-position: -16px -176px; } -.ui-icon-signal { background-position: -32px -176px; } -.ui-icon-battery-0 { background-position: -48px -176px; } -.ui-icon-battery-1 { background-position: -64px -176px; } -.ui-icon-battery-2 { background-position: -80px -176px; } -.ui-icon-battery-3 { background-position: -96px -176px; } -.ui-icon-circle-plus { background-position: 0 -192px; } -.ui-icon-circle-minus { background-position: -16px -192px; } -.ui-icon-circle-close { background-position: -32px -192px; } -.ui-icon-circle-triangle-e { background-position: -48px -192px; } -.ui-icon-circle-triangle-s { background-position: -64px -192px; } -.ui-icon-circle-triangle-w { background-position: -80px -192px; } -.ui-icon-circle-triangle-n { background-position: -96px -192px; } -.ui-icon-circle-arrow-e { background-position: -112px -192px; } -.ui-icon-circle-arrow-s { background-position: -128px -192px; } -.ui-icon-circle-arrow-w { background-position: -144px -192px; } -.ui-icon-circle-arrow-n { background-position: -160px -192px; } -.ui-icon-circle-zoomin { background-position: -176px -192px; } -.ui-icon-circle-zoomout { background-position: -192px -192px; } -.ui-icon-circle-check { background-position: -208px -192px; } -.ui-icon-circlesmall-plus { background-position: 0 -208px; } -.ui-icon-circlesmall-minus { background-position: -16px -208px; } -.ui-icon-circlesmall-close { background-position: -32px -208px; } -.ui-icon-squaresmall-plus { background-position: -48px -208px; } -.ui-icon-squaresmall-minus { background-position: -64px -208px; } -.ui-icon-squaresmall-close { background-position: -80px -208px; } -.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } -.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } -.ui-icon-grip-solid-vertical { background-position: -32px -224px; } -.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } -.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } -.ui-icon-grip-diagonal-se { background-position: -80px -224px; } - - -/* Misc visuals -----------------------------------*/ - -/* Corner radius */ -.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; } -.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; } -.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; } -.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; } -.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; } -.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; } -.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; } -.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; } -.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; } - -/* Overlays */ -.ui-widget-overlay { background: #2e2e28 url(images/ui-bg_glow-ball_25_2e2e28_600x600.png) 50% 35% repeat-x; opacity: .65;filter:Alpha(Opacity=65); } -.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #f0f0f0 url(images/ui-bg_flat_35_f0f0f0_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; } \ No newline at end of file diff --git a/static/index.html b/static/index.html deleted file mode 100644 index e76e366..0000000 --- a/static/index.html +++ /dev/null @@ -1,342 +0,0 @@ - - - - - - Tribesports Software Development - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -slides - - -
- - - - - - - - - -
space, →next slide
previous slide
ddebug mode
## <ret>go to slide #
ctable of contents (vi)
ftoggle footer
rreload slides
ztoggle help (this)
-
- -
loading presentation...
- - - - - - diff --git a/static/js/core.js b/static/js/core.js deleted file mode 100644 index 6374470..0000000 --- a/static/js/core.js +++ /dev/null @@ -1,79 +0,0 @@ -// CORE module, abstracts environment-specifics -var CORE = function(){ - - /* - * blatantly ripped off from Douglas Crockford - */ - var modifyLanguage = function(){ - Function.prototype.method = function (name, func) { - if (!this.prototype[name]){ - this.prototype[name] = func; - return this; - } - }; - Function.method('inherits', function(Parent){ - this.prototype = new Parent(); - return this; - }); - Array.method('each', function(f, index){ - for (var i=0; i markup -Version: 3.0, 03.31.2009 - -By: Maggie Costello Wachs (maggie@filamentgroup.com) and Scott Jehl (scott@filamentgroup.com) - http://www.filamentgroup.com - * reference articles: http://www.filamentgroup.com/lab/jquery_ipod_style_drilldown_menu/ - -Copyright (c) 2009 Filament Group -Dual licensed under the MIT (filamentgroup.com/examples/mit-license.txt) and GPL (filamentgroup.com/examples/gpl-license.txt) licenses. ---------------------------------------------------------------------*/ - - -var allUIMenus = []; - -$.fn.menu = function(options){ - var caller = this; - var options = options; - var m = new Menu(caller, options); - allUIMenus.push(m); - - $(this) - .mousedown(function(){ - if (!m.menuOpen) { m.showLoading(); }; - }) - .click(function(){ - if (m.menuOpen == false) { m.showMenu(); } - else { m.kill(); }; - return false; - }); -}; - -function Menu(caller, options){ - var menu = this; - var caller = $(caller); - var container = $('
'+options.content+'
'); - - this.menuOpen = false; - this.menuExists = false; - - var options = jQuery.extend({ - content: null, - width: 180, // width of menu container, must be set or passed in to calculate widths of child menus - maxHeight: 180, // max height of menu (if a drilldown: height does not include breadcrumb) - positionOpts: { - posX: 'left', - posY: 'bottom', - offsetX: 0, - offsetY: 0, - directionH: 'right', - directionV: 'down', - detectH: true, // do horizontal collision detection - detectV: true, // do vertical collision detection - linkToFront: false - }, - showSpeed: 200, // show/hide speed in milliseconds - callerOnState: 'ui-state-active', // class to change the appearance of the link/button when the menu is showing - loadingState: 'ui-state-loading', // class added to the link/button while the menu is created - linkHover: 'ui-state-hover', // class for menu option hover state - linkHoverSecondary: 'li-hover', // alternate class, may be used for multi-level menus - // ----- multi-level menu defaults ----- - crossSpeed: 200, // cross-fade speed for multi-level menus - crumbDefaultText: 'Choose an option:', - backLink: true, // in the ipod-style menu: instead of breadcrumbs, show only a 'back' link - backLinkText: 'Back', - flyOut: false, // multi-level menus are ipod-style by default; this parameter overrides to make a flyout instead - flyOutOnState: 'ui-state-default', - nextMenuLink: 'ui-icon-triangle-1-e', // class to style the link (specifically, a span within the link) used in the multi-level menu to show the next level - topLinkText: 'All', - nextCrumbLink: 'ui-icon-carat-1-e' - }, options); - - var killAllMenus = function(){ - $.each(allUIMenus, function(i){ - if (allUIMenus[i].menuOpen) { allUIMenus[i].kill(); }; - }); - }; - - this.kill = function(){ - caller - .removeClass(options.loadingState) - .removeClass('fg-menu-open') - .removeClass(options.callerOnState); - container.find('li').removeClass(options.linkHoverSecondary).find('a').removeClass(options.linkHover); - if (options.flyOutOnState) { container.find('li a').removeClass(options.flyOutOnState); }; - if (options.callerOnState) { caller.removeClass(options.callerOnState); }; - if (container.is('.fg-menu-ipod')) { menu.resetDrilldownMenu(); }; - if (container.is('.fg-menu-flyout')) { menu.resetFlyoutMenu(); }; - container.parent().hide(); - menu.menuOpen = false; - $(document).unbind('click', killAllMenus); - $(document).unbind('keydown'); - }; - - this.showLoading = function(){ - caller.addClass(options.loadingState); - }; - - this.showMenu = function(){ - killAllMenus(); - if (!menu.menuExists) { menu.create() }; - caller - .addClass('fg-menu-open') - .addClass(options.callerOnState); - container.parent().show().click(function(){ menu.kill(); return false; }); - container.hide().slideDown(options.showSpeed).find('.fg-menu:eq(0)'); - menu.menuOpen = true; - caller.removeClass(options.loadingState); - $(document).click(killAllMenus); - - // assign key events - $(document).keydown(function(event){ - var e; - if (event.which !="") { e = event.which; } - else if (event.charCode != "") { e = event.charCode; } - else if (event.keyCode != "") { e = event.keyCode; } - - var menuType = ($(event.target).parents('div').is('.fg-menu-flyout')) ? 'flyout' : 'ipod' ; - - // vi bindings - switch(e) { - case 72: // left arrow - if (menuType == 'flyout') { - $(event.target).trigger('mouseout'); - if ($('.'+options.flyOutOnState).size() > 0) { $('.'+options.flyOutOnState).trigger('mouseover'); }; - }; - - if (menuType == 'ipod') { - $(event.target).trigger('mouseout'); - if ($('.fg-menu-footer').find('a').size() > 0) { $('.fg-menu-footer').find('a').trigger('click'); }; - if ($('.fg-menu-header').find('a').size() > 0) { $('.fg-menu-current-crumb').prev().find('a').trigger('click'); }; - if ($('.fg-menu-current').prev().is('.fg-menu-indicator')) { - $('.fg-menu-current').prev().trigger('mouseover'); - }; - }; - return false; - break; - - case 75: // up arrow - if ($(event.target).is('.' + options.linkHover)) { - var prevLink = $(event.target).parent().prev().find('a:eq(0)'); - if (prevLink.size() > 0) { - $(event.target).trigger('mouseout'); - prevLink.trigger('mouseover'); - }; - } - else { container.find('a:eq(0)').trigger('mouseover'); } - return false; - break; - - case 76: // right arrow - if ($(event.target).is('.fg-menu-indicator')) { - if (menuType == 'flyout') { - $(event.target).next().find('a:eq(0)').trigger('mouseover'); - } - else if (menuType == 'ipod') { - $(event.target).trigger('click'); - setTimeout(function(){ - $(event.target).next().find('a:eq(0)').trigger('mouseover'); - }, options.crossSpeed); - }; - }; - return false; - break; - - case 74: // down arrow - if ($(event.target).is('.' + options.linkHover)) { - var nextLink = $(event.target).parent().next().find('a:eq(0)'); - if (nextLink.size() > 0) { - $(event.target).trigger('mouseout'); - nextLink.trigger('mouseover'); - }; - } - else { container.find('a:eq(0)').trigger('mouseover'); } - return false; - break; - - case 27: // escape - killAllMenus(); - break; - - case 13: // enter - if ($(event.target).is('.fg-menu-indicator') && menuType == 'ipod') { - $(event.target).trigger('click'); - setTimeout(function(){ - $(event.target).next().find('a:eq(0)').trigger('mouseover'); - }, options.crossSpeed); - }; - break; - }; - }); - }; - - this.create = function(){ - container.css({ width: options.width }).appendTo('body').find('ul:first').not('.fg-menu-breadcrumb').addClass('fg-menu'); - container.find('ul, li a').addClass('ui-corner-all'); - - // aria roles & attributes - container.find('ul').attr('role', 'menu').eq(0).attr('aria-activedescendant','active-menuitem').attr('aria-labelledby', caller.attr('id')); - container.find('li').attr('role', 'menuitem'); - container.find('li:has(ul)').attr('aria-haspopup', 'true').find('ul').attr('aria-expanded', 'false'); - container.find('a').attr('tabindex', '-1'); - - // when there are multiple levels of hierarchy, create flyout or drilldown menu - if (container.find('ul').size() > 1) { - if (options.flyOut) { menu.flyout(container, options); } - else { menu.drilldown(container, options); } - } - else { - container.find('a').click(function(){ - menu.chooseItem(this); - return false; - }); - }; - - if (options.linkHover) { - var allLinks = container.find('.fg-menu li a'); - allLinks.hover( - function(){ - var menuitem = $(this); - $('.'+options.linkHover).removeClass(options.linkHover).blur().parent().removeAttr('id'); - $(this).addClass(options.linkHover).focus().parent().attr('id','active-menuitem'); - }, - function(){ - $(this).removeClass(options.linkHover).blur().parent().removeAttr('id'); - } - ); - }; - - if (options.linkHoverSecondary) { - container.find('.fg-menu li').hover( - function(){ - $(this).siblings('li').removeClass(options.linkHoverSecondary); - if (options.flyOutOnState) { $(this).siblings('li').find('a').removeClass(options.flyOutOnState); } - $(this).addClass(options.linkHoverSecondary); - }, - function(){ $(this).removeClass(options.linkHoverSecondary); } - ); - }; - - menu.setPosition(container, caller, options); - menu.menuExists = true; - }; - - this.chooseItem = function(item){ - menu.kill(); - gotoSlide($(item).attr('rel')); - $('#navmenu').hide(); - }; -}; - -Menu.prototype.flyout = function(container, options) { - var menu = this; - - this.resetFlyoutMenu = function(){ - var allLists = container.find('ul ul'); - allLists.removeClass('ui-widget-content').hide(); - }; - - container.addClass('fg-menu-flyout').find('li:has(ul)').each(function(){ - var linkWidth = container.width(); - var showTimer, hideTimer; - var allSubLists = $(this).find('ul'); - - allSubLists.css({ left: linkWidth, width: linkWidth }).hide(); - - $(this).find('a:eq(0)').addClass('fg-menu-indicator').html('' + $(this).find('a:eq(0)').text() + '').hover( - function(){ - clearTimeout(hideTimer); - var subList = $(this).next(); - if (!fitVertical(subList, $(this).offset().top)) { subList.css({ top: 'auto', bottom: 0 }); }; - if (!fitHorizontal(subList, $(this).offset().left + 100)) { subList.css({ left: 'auto', right: linkWidth, 'z-index': 999 }); }; - showTimer = setTimeout(function(){ - subList.addClass('ui-widget-content').show(options.showSpeed).attr('aria-expanded', 'true'); - }, 300); - }, - function(){ - clearTimeout(showTimer); - var subList = $(this).next(); - hideTimer = setTimeout(function(){ - subList.removeClass('ui-widget-content').hide(options.showSpeed).attr('aria-expanded', 'false'); - }, 400); - } - ); - - $(this).find('ul a').hover( - function(){ - clearTimeout(hideTimer); - if ($(this).parents('ul').prev().is('a.fg-menu-indicator')) { - $(this).parents('ul').prev().addClass(options.flyOutOnState); - } - }, - function(){ - hideTimer = setTimeout(function(){ - allSubLists.hide(options.showSpeed); - container.find(options.flyOutOnState).removeClass(options.flyOutOnState); - }, 500); - } - ); - }); - - container.find('a').click(function(){ - menu.chooseItem(this); - return false; - }); -}; - - -Menu.prototype.drilldown = function(container, options) { - var menu = this; - var topList = container.find('.fg-menu'); - var breadcrumb = $('
    '); - var crumbDefaultHeader = $('
  • '+options.crumbDefaultText+'
  • '); - var firstCrumbText = (options.backLink) ? options.backLinkText : options.topLinkText; - var firstCrumbClass = (options.backLink) ? 'fg-menu-prev-list' : 'fg-menu-all-lists'; - var firstCrumbLinkClass = (options.backLink) ? 'ui-state-default ui-corner-all' : ''; - var firstCrumbIcon = (options.backLink) ? '' : ''; - var firstCrumb = $('
  • '+firstCrumbIcon+firstCrumbText+'
  • '); - - container.addClass('fg-menu-ipod'); - - if (options.backLink) { breadcrumb.addClass('fg-menu-footer').appendTo(container).hide(); } - else { breadcrumb.addClass('fg-menu-header').prependTo(container); }; - breadcrumb.append(crumbDefaultHeader); - - var checkMenuHeight = function(el){ - if (el.height() > options.maxHeight) { el.addClass('fg-menu-scroll') }; - el.css({ height: options.maxHeight }); - }; - - var resetChildMenu = function(el){ el.removeClass('fg-menu-scroll').removeClass('fg-menu-current').height('auto'); }; - - this.resetDrilldownMenu = function(){ - $('.fg-menu-current').removeClass('fg-menu-current'); - topList.animate({ left: 0 }, options.crossSpeed, function(){ - $(this).find('ul').each(function(){ - $(this).hide(); - resetChildMenu($(this)); - }); - topList.addClass('fg-menu-current'); - }); - $('.fg-menu-all-lists').find('span').remove(); - breadcrumb.empty().append(crumbDefaultHeader); - $('.fg-menu-footer').empty().hide(); - checkMenuHeight(topList); - }; - - topList - .addClass('fg-menu-content fg-menu-current ui-widget-content ui-helper-clearfix') - .css({ width: container.width() }) - .find('ul') - .css({ width: container.width(), left: container.width() }) - .addClass('ui-widget-content') - .hide(); - checkMenuHeight(topList); - - topList.find('a').each(function(){ - // if the link opens a child menu: - if ($(this).next().is('ul')) { - $(this) - .addClass('fg-menu-indicator') - .each(function(){ $(this).html('' + $(this).text() + ''); }) - .click(function(){ // ----- show the next menu - var nextList = $(this).next(); - var parentUl = $(this).parents('ul:eq(0)'); - var parentLeft = (parentUl.is('.fg-menu-content')) ? 0 : parseFloat(topList.css('left')); - var nextLeftVal = Math.round(parentLeft - parseFloat(container.width())); - var footer = $('.fg-menu-footer'); - - // show next menu - resetChildMenu(parentUl); - checkMenuHeight(nextList); - topList.animate({ left: nextLeftVal }, options.crossSpeed); - nextList.show().addClass('fg-menu-current').attr('aria-expanded', 'true'); - - var setPrevMenu = function(backlink){ - var b = backlink; - var c = $('.fg-menu-current'); - var prevList = c.parents('ul:eq(0)'); - c.hide().attr('aria-expanded', 'false'); - resetChildMenu(c); - checkMenuHeight(prevList); - prevList.addClass('fg-menu-current').attr('aria-expanded', 'true'); - if (prevList.hasClass('fg-menu-content')) { b.remove(); footer.hide(); }; - }; - - // initialize "back" link - if (options.backLink) { - if (footer.find('a').size() == 0) { - footer.show(); - $(' Back') - .appendTo(footer) - .click(function(){ // ----- show the previous menu - var b = $(this); - var prevLeftVal = parseFloat(topList.css('left')) + container.width(); - topList.animate({ left: prevLeftVal }, options.crossSpeed, function(){ - setPrevMenu(b); - }); - return false; - }); - } - } - // or initialize top breadcrumb - else { - if (breadcrumb.find('li').size() == 1){ - breadcrumb.empty().append(firstCrumb); - firstCrumb.find('a').click(function(){ - menu.resetDrilldownMenu(); - return false; - }); - } - $('.fg-menu-current-crumb').removeClass('fg-menu-current-crumb'); - var crumbText = $(this).find('span:eq(0)').text(); - var newCrumb = $('
  • '+crumbText+'
  • '); - newCrumb - .appendTo(breadcrumb) - .find('a').click(function(){ - if ($(this).parent().is('.fg-menu-current-crumb')){ - menu.chooseItem(this); - } - else { - var newLeftVal = - ($('.fg-menu-current').parents('ul').size() - 1) * 180; - topList.animate({ left: newLeftVal }, options.crossSpeed, function(){ - setPrevMenu(); - }); - - // make this the current crumb, delete all breadcrumbs after this one, and navigate to the relevant menu - $(this).parent().addClass('fg-menu-current-crumb').find('span').remove(); - $(this).parent().nextAll().remove(); - }; - return false; - }); - newCrumb.prev().append(' '); - }; - return false; - }); - } - // if the link is a leaf node (doesn't open a child menu) - else { - $(this).click(function(){ - menu.chooseItem(this); - return false; - }); - }; - }); -}; - - -/* Menu.prototype.setPosition parameters (defaults noted with *): - referrer = the link (or other element) used to show the overlaid object - settings = can override the defaults: - - posX/Y: where the top left corner of the object should be positioned in relation to its referrer. - X: left*, center, right - Y: top, center, bottom* - - offsetX/Y: the number of pixels to be offset from the x or y position. Can be a positive or negative number. - - directionH/V: where the entire menu should appear in relation to its referrer. - Horizontal: left*, right - Vertical: up, down* - - detectH/V: detect the viewport horizontally / vertically - - linkToFront: copy the menu link and place it on top of the menu (visual effect to make it look like it overlaps the object) */ - -Menu.prototype.setPosition = function(widget, caller, options) { - var el = widget; - var referrer = caller; - var dims = { - refX: referrer.offset().left, - refY: referrer.offset().top, - refW: referrer.getTotalWidth(), - refH: referrer.getTotalHeight() - }; - var options = options; - var xVal, yVal; - - var helper = $('
    '); - helper.css({ position: 'absolute', left: dims.refX, top: dims.refY, width: dims.refW, height: dims.refH }); - el.wrap(helper); - - // get X pos - switch(options.positionOpts.posX) { - case 'left': xVal = 0; - break; - case 'center': xVal = dims.refW / 2; - break; - case 'right': xVal = dims.refW; - break; - }; - - // get Y pos - switch(options.positionOpts.posY) { - case 'top': yVal = 0; - break; - case 'center': yVal = dims.refH / 2; - break; - case 'bottom': yVal = dims.refH; - break; - }; - - // add the offsets (zero by default) - xVal += options.positionOpts.offsetX; - yVal += options.positionOpts.offsetY; - - // position the object vertically - if (options.positionOpts.directionV == 'up') { - el.css({ top: 'auto', bottom: yVal }); - if (options.positionOpts.detectV && !fitVertical(el)) { - el.css({ bottom: 'auto', top: yVal }); - } - } - else { - el.css({ bottom: 'auto', top: yVal }); - if (options.positionOpts.detectV && !fitVertical(el)) { - el.css({ top: 'auto', bottom: yVal }); - } - }; - - // and horizontally - if (options.positionOpts.directionH == 'left') { - el.css({ left: 'auto', right: xVal }); - if (options.positionOpts.detectH && !fitHorizontal(el)) { - el.css({ right: 'auto', left: xVal }); - } - } - else { - el.css({ right: 'auto', left: xVal }); - if (options.positionOpts.detectH && !fitHorizontal(el)) { - el.css({ left: 'auto', right: xVal }); - } - }; - - // if specified, clone the referring element and position it so that it appears on top of the menu - if (options.positionOpts.linkToFront) { - referrer.clone().addClass('linkClone').css({ - position: 'absolute', - top: 0, - right: 'auto', - bottom: 'auto', - left: 0, - width: referrer.width(), - height: referrer.height() - }).insertAfter(el); - }; -}; - - -/* Utilities to sort and find viewport dimensions */ - -function sortBigToSmall(a, b) { return b - a; }; - -jQuery.fn.getTotalWidth = function(){ - return $(this).width() + parseInt($(this).css('paddingRight')) + parseInt($(this).css('paddingLeft')) + parseInt($(this).css('borderRightWidth')) + parseInt($(this).css('borderLeftWidth')); -}; - -jQuery.fn.getTotalHeight = function(){ - return $(this).height() + parseInt($(this).css('paddingTop')) + parseInt($(this).css('paddingBottom')) + parseInt($(this).css('borderTopWidth')) + parseInt($(this).css('borderBottomWidth')); -}; - -function getScrollTop(){ - return self.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop; -}; - -function getScrollLeft(){ - return self.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft; -}; - -function getWindowHeight(){ - var de = document.documentElement; - return self.innerHeight || (de && de.clientHeight) || document.body.clientHeight; -}; - -function getWindowWidth(){ - var de = document.documentElement; - return self.innerWidth || (de && de.clientWidth) || document.body.clientWidth; -}; - -/* Utilities to test whether an element will fit in the viewport - Parameters: - el = element to position, required - leftOffset / topOffset = optional parameter if the offset cannot be calculated (i.e., if the object is in the DOM but is set to display: 'none') */ - -function fitHorizontal(el, leftOffset){ - var leftVal = parseInt(leftOffset) || $(el).offset().left; - return (leftVal + $(el).width() <= getWindowWidth() + getScrollLeft() && leftVal - getScrollLeft() >= 0); -}; - -function fitVertical(el, topOffset){ - var topVal = parseInt(topOffset) || $(el).offset().top; - return (topVal + $(el).height() <= getWindowHeight() + getScrollTop() && topVal - getScrollTop() >= 0); -}; - -/*-------------------------------------------------------------------- - * javascript method: "pxToEm" - * by: - Scott Jehl (scott@filamentgroup.com) - Maggie Wachs (maggie@filamentgroup.com) - http://www.filamentgroup.com - * - * Copyright (c) 2008 Filament Group - * Dual licensed under the MIT (filamentgroup.com/examples/mit-license.txt) and GPL (filamentgroup.com/examples/gpl-license.txt) licenses. - * - * Description: Extends the native Number and String objects with pxToEm method. pxToEm converts a pixel value to ems depending on inherited font size. - * Article: http://www.filamentgroup.com/lab/retaining_scalable_interfaces_with_pixel_to_em_conversion/ - * Demo: http://www.filamentgroup.com/examples/pxToEm/ - * - * Options: - scope: string or jQuery selector for font-size scoping - reverse: Boolean, true reverses the conversion to em-px - * Dependencies: jQuery library - * Usage Example: myPixelValue.pxToEm(); or myPixelValue.pxToEm({'scope':'#navigation', reverse: true}); - * - * Version: 2.0, 08.01.2008 - * Changelog: - * 08.02.2007 initial Version 1.0 - * 08.01.2008 - fixed font-size calculation for IE ---------------------------------------------------------------------*/ - -Number.prototype.pxToEm = String.prototype.pxToEm = function(settings){ - //set defaults - settings = jQuery.extend({ - scope: 'body', - reverse: false - }, settings); - - var pxVal = (this == '') ? 0 : parseFloat(this); - var scopeVal; - var getWindowWidth = function(){ - var de = document.documentElement; - return self.innerWidth || (de && de.clientWidth) || document.body.clientWidth; - }; - - /* When a percentage-based font-size is set on the body, IE returns that percent of the window width as the font-size. - For example, if the body font-size is 62.5% and the window width is 1000px, IE will return 625px as the font-size. - When this happens, we calculate the correct body font-size (%) and multiply it by 16 (the standard browser font size) - to get an accurate em value. */ - - if (settings.scope == 'body' && $.browser.msie && (parseFloat($('body').css('font-size')) / getWindowWidth()).toFixed(1) > 0.0) { - var calcFontSize = function(){ - return (parseFloat($('body').css('font-size'))/getWindowWidth()).toFixed(3) * 16; - }; - scopeVal = calcFontSize(); - } - else { scopeVal = parseFloat(jQuery(settings.scope).css("font-size")); }; - - var result = (settings.reverse == true) ? (pxVal * scopeVal).toFixed(2) + 'px' : (pxVal / scopeVal).toFixed(2) + 'em'; - return result; -}; \ No newline at end of file diff --git a/static/js/jTypeWriter.js b/static/js/jTypeWriter.js deleted file mode 100644 index ac12b0a..0000000 --- a/static/js/jTypeWriter.js +++ /dev/null @@ -1,26 +0,0 @@ -// jTypeWriter, JQuery plugin -// v 1.1 -// Licensed under GPL licenses. -// Copyright (C) 2008 Nikos "DuMmWiaM" Kontis, info@dummwiam.com -// http://www.DuMmWiaM.com/jTypeWriter -// ---------------------------------------------------------------------------- -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// ---------------------------------------------------------------------------- - -eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(7($){$.u.v=7(b){5 c,8,w,r,x,A;5 d=$.W({},$.u.v.H,b);5 e=d.I*J;5 f=d.K.X();5 g=d.L;5 h=d.M;5 j=d.9;5 k=d.N;5 l=d.O;5 m=(f=="Y")?" ":".";5 n=P Q();5 o=0;y(i=0;io?n[i].6.p:o;t o+=n[i].6.p;$(q[i]).9("")}B();7 B(){c=e/o;8=0;w=r=0;x=(!g)?C(S,c):C(T,c)};7 S(){8++;y(i=0;i=8){4(f=="s"){a.3.9(a.6.U(0,8))}t{a.3.z(a.6[8-1]);4(8=o){D()}};7 T(){$3=n[w];4(f=="s"){$3.3.9($3.6.U(0,++r))}t{$3.3.z($3.6[r++]);4(r<$3.6.p)$3.3.z(m)}4(r>=$3.6.p){w++;r=0}8++;4(8>=o){D()}};7 D(){E(x);4(f!="s"){}4(k){4(l)A=C(V,l*J);t F()}h()};7 F(){y(i=0;i)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/, -Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&& -(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this, -a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b=== -"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this, -function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b
    a"; -var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected, -parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent= -false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n= -s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true, -applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando]; -else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this, -a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b=== -w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i, -cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected= -c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed"); -a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g, -function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split("."); -k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a), -C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B=0){a.type= -e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&& -f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive; -if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data", -e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a, -"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a, -d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, -e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift(); -t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D|| -g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()}, -CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m, -g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)}, -text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}}, -setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return hl[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h= -h[3];l=0;for(m=h.length;l=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m=== -"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g, -h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&& -q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML=""; -if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="

    ";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}(); -(function(){var g=s.createElement("div");g.innerHTML="
    ";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}: -function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f0)for(var j=d;j0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j= -{},i;if(f&&a.length){e=0;for(var o=a.length;e-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a=== -"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode", -d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")? -a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType=== -1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/"},F={option:[1,""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div
    ","
    "];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= -c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, -wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, -prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, -this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); -return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja, -""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]); -return this}else{e=0;for(var j=d.length;e0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["", -""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]===""&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e= -c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]? -c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja= -function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter= -Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a, -"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f= -a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b= -a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=//gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!== -"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("
    ").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this}, -serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), -function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href, -global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&& -e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)? -"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache=== -false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B= -false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since", -c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E|| -d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x); -g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status=== -1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b=== -"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional; -if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration=== -"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]|| -c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start; -this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now= -this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem, -e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b
    "; -a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b); -c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a, -d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top- -f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset": -"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in -e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window); \ No newline at end of file diff --git a/static/js/jquery-print.js b/static/js/jquery-print.js deleted file mode 100644 index 09000c2..0000000 --- a/static/js/jquery-print.js +++ /dev/null @@ -1,109 +0,0 @@ -(function($) { - - function print_array(obj, opts) { - var result = []; - for (var i = 0; i < Math.min(opts.max_array, obj.length); i++) - result.push($.print(obj[i], $.extend({}, opts, { max_array: 3, max_string: 40 }))); - - if (obj.length > opts.max_array) - result.push((obj.length - opts.max_array) + ' more...'); - if (result.length == 0) return "[]" - return "[ " + result.join(", ") + " ]"; - } - - function print_element(obj) { - if (obj.nodeType == 1) { - var result = []; - var properties = [ 'className', 'id' ]; - var extra = { - 'input': ['type', 'name', 'value'], - 'a': ['href', 'target'], - 'form': ['method', 'action'], - 'script': ['src'], - 'link': ['href'], - 'img': ['src'] - }; - - $.each(properties.concat(extra[obj.tagName.toLowerCase()] || []), function(){ - if (obj[this]) - result.push(' ' + this.replace('className', 'class') + "=" + $.print(obj[this])) - }); - return "<" + obj.tagName.toLowerCase() - + result.join('') + ">"; - } - } - - function print_object(obj, opts) { - var seen = opts.seen || [ obj ]; - - var result = [], key, value; - for (var k in obj) { - if (obj.hasOwnProperty(k) && $.inArray(obj[k], seen) < 0) { - seen.push(obj[k]); - value = $.print(obj[k], $.extend({}, opts, { max_array: 6, max_string: 40, seen: seen })); - } else - value = "..."; - result.push(k + ": " + value); - } - if (result.length == 0) return "{}"; - return "{ " + result.join(", ") + " }"; - } - - function print_string(value, opts) { - var character_substitutions = { - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }; - var r = /["\\\x00-\x1f\x7f-\x9f]/g; - - var str = r.test(value) - ? value.replace(r, function (a) { - var c = character_substitutions[a]; - if (c) return c; - c = a.charCodeAt(); - return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16); - }) - : value ; - if (str.length > opts.max_string) - return str.slice(0, opts.max_string + 1) + '..."'; - else - return str; - } - - $.print = function(obj, options) { - var opts = $.extend({}, { max_array: 10, max_string: 100 }, options); - - if (typeof obj == 'undefined') - return "undefined"; - else if (typeof obj == 'boolean') - return obj.toString(); - else if (typeof obj == 'number') - return obj.toString(); - else if (!obj) - return "null"; - else if (typeof obj == 'string') - return print_string(obj, opts); - else if (obj instanceof RegExp) - return obj.toString(); - else if (obj instanceof Array || obj.callee || obj.item) - return print_array(obj, opts); - else if (typeof obj == 'function' || obj instanceof Function) - return obj.toString().match(/^([^)]*\))/)[1]; - else if (obj.nodeType) - return print_element(obj); - else if (obj instanceof jQuery) - return "$(" + $.print(obj.get()) + ")"; - else if (obj instanceof Error) - return print_object(obj, $.extend({}, options, { max_string: 200 })); - else if (obj instanceof Object) - return print_object(obj, opts); - else - return obj.toString().replace(/\n\s*/g, ''); - } - -})(jQuery); \ No newline at end of file diff --git a/static/js/jquery.batchImageLoad.js b/static/js/jquery.batchImageLoad.js deleted file mode 100644 index 2d4f3de..0000000 --- a/static/js/jquery.batchImageLoad.js +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Plugin which is applied on a list of img objects and calls - * the specified callback function, only when all of them are loaded (or errored). - * @author: H. Yankov (hristo.yankov at gmail dot com) - * @version: 1.0.0 (Feb/22/2010) - * http://yankov.us - */ - -(function($) { -$.fn.batchImageLoad = function(options) { - var images = $(this); - var originalTotalImagesCount = images.size(); - var totalImagesCount = originalTotalImagesCount; - var elementsLoaded = 0; - - // Init - $.fn.batchImageLoad.defaults = { - loadingCompleteCallback: null, - imageLoadedCallback: null - } - var opts = $.extend({}, $.fn.batchImageLoad.defaults, options); - - // Start - images.each(function() { - // The image has already been loaded (cached) - if ($(this)[0].complete) { - totalImagesCount--; - if (opts.imageLoadedCallback) opts.imageLoadedCallback(elementsLoaded, originalTotalImagesCount); - // The image is loading, so attach the listener - } else { - $(this).load(function() { - elementsLoaded++; - - if (opts.imageLoadedCallback) opts.imageLoadedCallback(elementsLoaded, originalTotalImagesCount); - - // An image has been loaded - if (elementsLoaded >= totalImagesCount) - if (opts.loadingCompleteCallback) opts.loadingCompleteCallback(); - }); - $(this).error(function() { - elementsLoaded++; - - if (opts.imageLoadedCallback) opts.imageLoadedCallback(elementsLoaded, originalTotalImagesCount); - - // The image has errored - if (elementsLoaded >= totalImagesCount) - if (opts.loadingCompleteCallback) opts.loadingCompleteCallback(); - }); - } - }); - - // There are no unloaded images - if (totalImagesCount <= 0) - if (opts.loadingCompleteCallback) opts.loadingCompleteCallback(); -}; -})(jQuery); \ No newline at end of file diff --git a/static/js/jquery.cookie.js b/static/js/jquery.cookie.js deleted file mode 100644 index 6df1fac..0000000 --- a/static/js/jquery.cookie.js +++ /dev/null @@ -1,96 +0,0 @@ -/** - * Cookie plugin - * - * Copyright (c) 2006 Klaus Hartl (stilbuero.de) - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - * - */ - -/** - * Create a cookie with the given name and value and other optional parameters. - * - * @example $.cookie('the_cookie', 'the_value'); - * @desc Set the value of a cookie. - * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true }); - * @desc Create a cookie with all available options. - * @example $.cookie('the_cookie', 'the_value'); - * @desc Create a session cookie. - * @example $.cookie('the_cookie', null); - * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain - * used when the cookie was set. - * - * @param String name The name of the cookie. - * @param String value The value of the cookie. - * @param Object options An object literal containing key/value pairs to provide optional cookie attributes. - * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object. - * If a negative value is specified (e.g. a date in the past), the cookie will be deleted. - * If set to null or omitted, the cookie will be a session cookie and will not be retained - * when the the browser exits. - * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie). - * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie). - * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will - * require a secure protocol (like HTTPS). - * @type undefined - * - * @name $.cookie - * @cat Plugins/Cookie - * @author Klaus Hartl/klaus.hartl@stilbuero.de - */ - -/** - * Get the value of a cookie with the given name. - * - * @example $.cookie('the_cookie'); - * @desc Get the value of a cookie. - * - * @param String name The name of the cookie. - * @return The value of the cookie. - * @type String - * - * @name $.cookie - * @cat Plugins/Cookie - * @author Klaus Hartl/klaus.hartl@stilbuero.de - */ -jQuery.cookie = function(name, value, options) { - if (typeof value != 'undefined') { // name and value given, set cookie - options = options || {}; - if (value === null) { - value = ''; - options.expires = -1; - } - var expires = ''; - if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { - var date; - if (typeof options.expires == 'number') { - date = new Date(); - date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); - } else { - date = options.expires; - } - expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE - } - // CAUTION: Needed to parenthesize options.path and options.domain - // in the following expressions, otherwise they evaluate to undefined - // in the packed version for some reason... - var path = options.path ? '; path=' + (options.path) : ''; - var domain = options.domain ? '; domain=' + (options.domain) : ''; - var secure = options.secure ? '; secure' : ''; - document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); - } else { // only name given, get cookie - var cookieValue = null; - if (document.cookie && document.cookie != '') { - var cookies = document.cookie.split(';'); - for (var i = 0; i < cookies.length; i++) { - var cookie = jQuery.trim(cookies[i]); - // Does this cookie string begin with the name we want? - if (cookie.substring(0, name.length + 1) == (name + '=')) { - cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); - break; - } - } - } - return cookieValue; - } -}; \ No newline at end of file diff --git a/static/js/jquery.cycle.all.js b/static/js/jquery.cycle.all.js deleted file mode 100644 index 1d8441a..0000000 --- a/static/js/jquery.cycle.all.js +++ /dev/null @@ -1,1284 +0,0 @@ -/*! - * jQuery Cycle Plugin (with Transition Definitions) - * Examples and documentation at: http://jquery.malsup.com/cycle/ - * Copyright (c) 2007-2010 M. Alsup - * Version: 2.80 (05-MAR-2010) - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - * Requires: jQuery v1.2.6 or later - */ -;(function($) { - -var ver = '2.80'; - -// if $.support is not defined (pre jQuery 1.3) add what I need -if ($.support == undefined) { - $.support = { - opacity: !($.browser.msie) - }; -} - -function debug(s) { - if ($.fn.cycle.debug) - log(s); -} -function log() { - if (window.console && window.console.log) - window.console.log('[cycle] ' + Array.prototype.join.call(arguments,' ')); -}; - -// the options arg can be... -// a number - indicates an immediate transition should occur to the given slide index -// a string - 'pause', 'resume', 'toggle', 'next', 'prev', 'stop', 'destroy' or the name of a transition effect (ie, 'fade', 'zoom', etc) -// an object - properties to control the slideshow -// -// the arg2 arg can be... -// the name of an fx (only used in conjunction with a numeric value for 'options') -// the value true (only used in first arg == 'resume') and indicates -// that the resume should occur immediately (not wait for next timeout) - -$.fn.cycle = function(options, arg2) { - var o = { s: this.selector, c: this.context }; - - // in 1.3+ we can fix mistakes with the ready state - if (this.length === 0 && options != 'stop') { - if (!$.isReady && o.s) { - log('DOM not ready, queuing slideshow'); - $(function() { - $(o.s,o.c).cycle(options,arg2); - }); - return this; - } - // is your DOM ready? http://docs.jquery.com/Tutorials:Introducing_$(document).ready() - log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)')); - return this; - } - - // iterate the matched nodeset - return this.each(function() { - var opts = handleArguments(this, options, arg2); - if (opts === false) - return; - - opts.updateActivePagerLink = opts.updateActivePagerLink || $.fn.cycle.updateActivePagerLink; - - // stop existing slideshow for this container (if there is one) - if (this.cycleTimeout) - clearTimeout(this.cycleTimeout); - this.cycleTimeout = this.cyclePause = 0; - - var $cont = $(this); - var $slides = opts.slideExpr ? $(opts.slideExpr, this) : $cont.children(); - var els = $slides.get(); - if (els.length < 2) { - log('terminating; too few slides: ' + els.length); - return; - } - - var opts2 = buildOptions($cont, $slides, els, opts, o); - if (opts2 === false) - return; - - var startTime = opts2.continuous ? 10 : getTimeout(opts2.currSlide, opts2.nextSlide, opts2, !opts2.rev); - - // if it's an auto slideshow, kick it off - if (startTime) { - startTime += (opts2.delay || 0); - if (startTime < 10) - startTime = 10; - debug('first timeout: ' + startTime); - this.cycleTimeout = setTimeout(function(){go(els,opts2,0,!opts2.rev)}, startTime); - } - }); -}; - -// process the args that were passed to the plugin fn -function handleArguments(cont, options, arg2) { - if (cont.cycleStop == undefined) - cont.cycleStop = 0; - if (options === undefined || options === null) - options = {}; - if (options.constructor == String) { - switch(options) { - case 'destroy': - case 'stop': - var opts = $(cont).data('cycle.opts'); - if (!opts) - return false; - cont.cycleStop++; // callbacks look for change - if (cont.cycleTimeout) - clearTimeout(cont.cycleTimeout); - cont.cycleTimeout = 0; - $(cont).removeData('cycle.opts'); - if (options == 'destroy') - destroy(opts); - return false; - case 'toggle': - cont.cyclePause = (cont.cyclePause === 1) ? 0 : 1; - return false; - case 'pause': - cont.cyclePause = 1; - return false; - case 'resume': - cont.cyclePause = 0; - if (arg2 === true) { // resume now! - options = $(cont).data('cycle.opts'); - if (!options) { - log('options not found, can not resume'); - return false; - } - if (cont.cycleTimeout) { - clearTimeout(cont.cycleTimeout); - cont.cycleTimeout = 0; - } - go(options.elements, options, 1, 1); - } - return false; - case 'prev': - case 'next': - var opts = $(cont).data('cycle.opts'); - if (!opts) { - log('options not found, "prev/next" ignored'); - return false; - } - $.fn.cycle[options](opts); - return false; - default: - options = { fx: options }; - }; - return options; - } - else if (options.constructor == Number) { - // go to the requested slide - var num = options; - options = $(cont).data('cycle.opts'); - if (!options) { - log('options not found, can not advance slide'); - return false; - } - if (num < 0 || num >= options.elements.length) { - log('invalid slide index: ' + num); - return false; - } - options.nextSlide = num; - if (cont.cycleTimeout) { - clearTimeout(cont.cycleTimeout); - cont.cycleTimeout = 0; - } - if (typeof arg2 == 'string') - options.oneTimeFx = arg2; - go(options.elements, options, 1, num >= options.currSlide); - return false; - } - return options; -}; - -function removeFilter(el, opts) { - if (!$.support.opacity && opts.cleartype && el.style.filter) { - try { el.style.removeAttribute('filter'); } - catch(smother) {} // handle old opera versions - } -}; - -// unbind event handlers -function destroy(opts) { - if (opts.next) - $(opts.next).unbind(opts.prevNextEvent); - if (opts.prev) - $(opts.prev).unbind(opts.prevNextEvent); - - if (opts.pager || opts.pagerAnchorBuilder) - $.each(opts.pagerAnchors || [], function() { - this.unbind().remove(); - }); - opts.pagerAnchors = null; - if (opts.destroy) // callback - opts.destroy(opts); -}; - -// one-time initialization -function buildOptions($cont, $slides, els, options, o) { - // support metadata plugin (v1.0 and v2.0) - var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {}); - if (opts.autostop) - opts.countdown = opts.autostopCount || els.length; - - var cont = $cont[0]; - $cont.data('cycle.opts', opts); - opts.$cont = $cont; - opts.stopCount = cont.cycleStop; - opts.elements = els; - opts.before = opts.before ? [opts.before] : []; - opts.after = opts.after ? [opts.after] : []; - opts.after.unshift(function(){ opts.busy=0; }); - - // push some after callbacks - if (!$.support.opacity && opts.cleartype) - opts.after.push(function() { removeFilter(this, opts); }); - if (opts.continuous) - opts.after.push(function() { go(els,opts,0,!opts.rev); }); - - saveOriginalOpts(opts); - - // clearType corrections - if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg) - clearTypeFix($slides); - - // container requires non-static position so that slides can be position within - if ($cont.css('position') == 'static') - $cont.css('position', 'relative'); - if (opts.width) - $cont.width(opts.width); - if (opts.height && opts.height != 'auto') - $cont.height(opts.height); - - if (opts.startingSlide) - opts.startingSlide = parseInt(opts.startingSlide); - - // if random, mix up the slide array - if (opts.random) { - opts.randomMap = []; - for (var i = 0; i < els.length; i++) - opts.randomMap.push(i); - opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;}); - opts.randomIndex = 1; - opts.startingSlide = opts.randomMap[1]; - } - else if (opts.startingSlide >= els.length) - opts.startingSlide = 0; // catch bogus input - opts.currSlide = opts.startingSlide || 0; - var first = opts.startingSlide; - - // set position and zIndex on all the slides - $slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) { - var z = first ? i >= first ? els.length - (i-first) : first-i : els.length-i; - $(this).css('z-index', z) - }); - - // make sure first slide is visible - $(els[first]).css('opacity',1).show(); // opacity bit needed to handle restart use case - removeFilter(els[first], opts); - - // stretch slides - if (opts.fit && opts.width) - $slides.width(opts.width); - if (opts.fit && opts.height && opts.height != 'auto') - $slides.height(opts.height); - - // stretch container - var reshape = opts.containerResize && !$cont.innerHeight(); - if (reshape) { // do this only if container has no size http://tinyurl.com/da2oa9 - var maxw = 0, maxh = 0; - for(var j=0; j < els.length; j++) { - var $e = $(els[j]), e = $e[0], w = $e.outerWidth(), h = $e.outerHeight(); - if (!w) w = e.offsetWidth || e.width || $e.attr('width') - if (!h) h = e.offsetHeight || e.height || $e.attr('height'); - maxw = w > maxw ? w : maxw; - maxh = h > maxh ? h : maxh; - } - if (maxw > 0 && maxh > 0) - $cont.css({width:maxw+'px',height:maxh+'px'}); - } - - if (opts.pause) - $cont.hover(function(){this.cyclePause++;},function(){this.cyclePause--;}); - - if (supportMultiTransitions(opts) === false) - return false; - - // apparently a lot of people use image slideshows without height/width attributes on the images. - // Cycle 2.50+ requires the sizing info for every slide; this block tries to deal with that. - var requeue = false; - options.requeueAttempts = options.requeueAttempts || 0; - $slides.each(function() { - // try to get height/width of each slide - var $el = $(this); - this.cycleH = (opts.fit && opts.height) ? opts.height : ($el.height() || this.offsetHeight || this.height || $el.attr('height') || 0); - this.cycleW = (opts.fit && opts.width) ? opts.width : ($el.width() || this.offsetWidth || this.width || $el.attr('width') || 0); - - if ( $el.is('img') ) { - // sigh.. sniffing, hacking, shrugging... this crappy hack tries to account for what browsers do when - // an image is being downloaded and the markup did not include sizing info (height/width attributes); - // there seems to be some "default" sizes used in this situation - var loadingIE = ($.browser.msie && this.cycleW == 28 && this.cycleH == 30 && !this.complete); - var loadingFF = ($.browser.mozilla && this.cycleW == 34 && this.cycleH == 19 && !this.complete); - var loadingOp = ($.browser.opera && ((this.cycleW == 42 && this.cycleH == 19) || (this.cycleW == 37 && this.cycleH == 17)) && !this.complete); - var loadingOther = (this.cycleH == 0 && this.cycleW == 0 && !this.complete); - // don't requeue for images that are still loading but have a valid size - if (loadingIE || loadingFF || loadingOp || loadingOther) { - if (o.s && opts.requeueOnImageNotLoaded && ++options.requeueAttempts < 100) { // track retry count so we don't loop forever - log(options.requeueAttempts,' - img slide not loaded, requeuing slideshow: ', this.src, this.cycleW, this.cycleH); - setTimeout(function() {$(o.s,o.c).cycle(options)}, opts.requeueTimeout); - requeue = true; - return false; // break each loop - } - else { - log('could not determine size of image: '+this.src, this.cycleW, this.cycleH); - } - } - } - return true; - }); - - if (requeue) - return false; - - opts.cssBefore = opts.cssBefore || {}; - opts.animIn = opts.animIn || {}; - opts.animOut = opts.animOut || {}; - - $slides.not(':eq('+first+')').css(opts.cssBefore); - if (opts.cssFirst) - $($slides[first]).css(opts.cssFirst); - - if (opts.timeout) { - opts.timeout = parseInt(opts.timeout); - // ensure that timeout and speed settings are sane - if (opts.speed.constructor == String) - opts.speed = $.fx.speeds[opts.speed] || parseInt(opts.speed); - if (!opts.sync) - opts.speed = opts.speed / 2; - while((opts.timeout - opts.speed) < 250) // sanitize timeout - opts.timeout += opts.speed; - } - if (opts.easing) - opts.easeIn = opts.easeOut = opts.easing; - if (!opts.speedIn) - opts.speedIn = opts.speed; - if (!opts.speedOut) - opts.speedOut = opts.speed; - - opts.slideCount = els.length; - opts.currSlide = opts.lastSlide = first; - if (opts.random) { - if (++opts.randomIndex == els.length) - opts.randomIndex = 0; - opts.nextSlide = opts.randomMap[opts.randomIndex]; - } - else - opts.nextSlide = opts.startingSlide >= (els.length-1) ? 0 : opts.startingSlide+1; - - // run transition init fn - if (!opts.multiFx) { - var init = $.fn.cycle.transitions[opts.fx]; - if ($.isFunction(init)) - init($cont, $slides, opts); - else if (opts.fx != 'custom' && !opts.multiFx) { - log('unknown transition: ' + opts.fx,'; slideshow terminating'); - return false; - } - } - - // fire artificial events - var e0 = $slides[first]; - if (opts.before.length) - opts.before[0].apply(e0, [e0, e0, opts, true]); - if (opts.after.length > 1) - opts.after[1].apply(e0, [e0, e0, opts, true]); - - if (opts.next) - $(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?-1:1)}); - if (opts.prev) - $(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?1:-1)}); - if (opts.pager || opts.pagerAnchorBuilder) - buildPager(els,opts); - - exposeAddSlide(opts, els); - - return opts; -}; - -// save off original opts so we can restore after clearing state -function saveOriginalOpts(opts) { - opts.original = { before: [], after: [] }; - opts.original.cssBefore = $.extend({}, opts.cssBefore); - opts.original.cssAfter = $.extend({}, opts.cssAfter); - opts.original.animIn = $.extend({}, opts.animIn); - opts.original.animOut = $.extend({}, opts.animOut); - $.each(opts.before, function() { opts.original.before.push(this); }); - $.each(opts.after, function() { opts.original.after.push(this); }); -}; - -function supportMultiTransitions(opts) { - var i, tx, txs = $.fn.cycle.transitions; - // look for multiple effects - if (opts.fx.indexOf(',') > 0) { - opts.multiFx = true; - opts.fxs = opts.fx.replace(/\s*/g,'').split(','); - // discard any bogus effect names - for (i=0; i < opts.fxs.length; i++) { - var fx = opts.fxs[i]; - tx = txs[fx]; - if (!tx || !txs.hasOwnProperty(fx) || !$.isFunction(tx)) { - log('discarding unknown transition: ',fx); - opts.fxs.splice(i,1); - i--; - } - } - // if we have an empty list then we threw everything away! - if (!opts.fxs.length) { - log('No valid transitions named; slideshow terminating.'); - return false; - } - } - else if (opts.fx == 'all') { // auto-gen the list of transitions - opts.multiFx = true; - opts.fxs = []; - for (p in txs) { - tx = txs[p]; - if (txs.hasOwnProperty(p) && $.isFunction(tx)) - opts.fxs.push(p); - } - } - if (opts.multiFx && opts.randomizeEffects) { - // munge the fxs array to make effect selection random - var r1 = Math.floor(Math.random() * 20) + 30; - for (i = 0; i < r1; i++) { - var r2 = Math.floor(Math.random() * opts.fxs.length); - opts.fxs.push(opts.fxs.splice(r2,1)[0]); - } - debug('randomized fx sequence: ',opts.fxs); - } - return true; -}; - -// provide a mechanism for adding slides after the slideshow has started -function exposeAddSlide(opts, els) { - opts.addSlide = function(newSlide, prepend) { - var $s = $(newSlide), s = $s[0]; - if (!opts.autostopCount) - opts.countdown++; - els[prepend?'unshift':'push'](s); - if (opts.els) - opts.els[prepend?'unshift':'push'](s); // shuffle needs this - opts.slideCount = els.length; - - $s.css('position','absolute'); - $s[prepend?'prependTo':'appendTo'](opts.$cont); - - if (prepend) { - opts.currSlide++; - opts.nextSlide++; - } - - if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg) - clearTypeFix($s); - - if (opts.fit && opts.width) - $s.width(opts.width); - if (opts.fit && opts.height && opts.height != 'auto') - $slides.height(opts.height); - s.cycleH = (opts.fit && opts.height) ? opts.height : $s.height(); - s.cycleW = (opts.fit && opts.width) ? opts.width : $s.width(); - - $s.css(opts.cssBefore); - - if (opts.pager || opts.pagerAnchorBuilder) - $.fn.cycle.createPagerAnchor(els.length-1, s, $(opts.pager), els, opts); - - if ($.isFunction(opts.onAddSlide)) - opts.onAddSlide($s); - else - $s.hide(); // default behavior - }; -} - -// reset internal state; we do this on every pass in order to support multiple effects -$.fn.cycle.resetState = function(opts, fx) { - fx = fx || opts.fx; - opts.before = []; opts.after = []; - opts.cssBefore = $.extend({}, opts.original.cssBefore); - opts.cssAfter = $.extend({}, opts.original.cssAfter); - opts.animIn = $.extend({}, opts.original.animIn); - opts.animOut = $.extend({}, opts.original.animOut); - opts.fxFn = null; - $.each(opts.original.before, function() { opts.before.push(this); }); - $.each(opts.original.after, function() { opts.after.push(this); }); - - // re-init - var init = $.fn.cycle.transitions[fx]; - if ($.isFunction(init)) - init(opts.$cont, $(opts.elements), opts); -}; - -// this is the main engine fn, it handles the timeouts, callbacks and slide index mgmt -function go(els, opts, manual, fwd) { - // opts.busy is true if we're in the middle of an animation - if (manual && opts.busy && opts.manualTrump) { - // let manual transitions requests trump active ones - $(els).stop(true,true); - opts.busy = false; - } - // don't begin another timeout-based transition if there is one active - if (opts.busy) - return; - - var p = opts.$cont[0], curr = els[opts.currSlide], next = els[opts.nextSlide]; - - // stop cycling if we have an outstanding stop request - if (p.cycleStop != opts.stopCount || p.cycleTimeout === 0 && !manual) - return; - - // check to see if we should stop cycling based on autostop options - if (!manual && !p.cyclePause && - ((opts.autostop && (--opts.countdown <= 0)) || - (opts.nowrap && !opts.random && opts.nextSlide < opts.currSlide))) { - if (opts.end) - opts.end(opts); - return; - } - - // if slideshow is paused, only transition on a manual trigger - if ((manual || !p.cyclePause) && (opts.nextSlide != opts.currSlide)) { - var fx = opts.fx; - // keep trying to get the slide size if we don't have it yet - curr.cycleH = curr.cycleH || $(curr).height(); - curr.cycleW = curr.cycleW || $(curr).width(); - next.cycleH = next.cycleH || $(next).height(); - next.cycleW = next.cycleW || $(next).width(); - - // support multiple transition types - if (opts.multiFx) { - if (opts.lastFx == undefined || ++opts.lastFx >= opts.fxs.length) - opts.lastFx = 0; - fx = opts.fxs[opts.lastFx]; - opts.currFx = fx; - } - - // one-time fx overrides apply to: $('div').cycle(3,'zoom'); - if (opts.oneTimeFx) { - fx = opts.oneTimeFx; - opts.oneTimeFx = null; - } - - $.fn.cycle.resetState(opts, fx); - - // run the before callbacks - if (opts.before.length) - $.each(opts.before, function(i,o) { - if (p.cycleStop != opts.stopCount) return; - o.apply(next, [curr, next, opts, fwd]); - }); - - // stage the after callacks - var after = function() { - $.each(opts.after, function(i,o) { - if (p.cycleStop != opts.stopCount) return; - o.apply(next, [curr, next, opts, fwd]); - }); - }; - - // get ready to perform the transition - opts.busy = 1; - if (opts.fxFn) // fx function provided? - opts.fxFn(curr, next, opts, after, fwd); - else if ($.isFunction($.fn.cycle[opts.fx])) // fx plugin ? - $.fn.cycle[opts.fx](curr, next, opts, after); - else - $.fn.cycle.custom(curr, next, opts, after, manual && opts.fastOnEvent); - - // calculate the next slide - opts.lastSlide = opts.currSlide; - if (opts.random) { - opts.currSlide = opts.nextSlide; - if (++opts.randomIndex == els.length) - opts.randomIndex = 0; - opts.nextSlide = opts.randomMap[opts.randomIndex]; - } - else { // sequence - var roll = (opts.nextSlide + 1) == els.length; - opts.nextSlide = roll ? 0 : opts.nextSlide+1; - opts.currSlide = roll ? els.length-1 : opts.nextSlide-1; - } - - if (opts.pager) - opts.updateActivePagerLink(opts.pager, opts.currSlide, opts.activePagerClass); - } - - // stage the next transition - var ms = 0; - if (opts.timeout && !opts.continuous) - ms = getTimeout(curr, next, opts, fwd); - else if (opts.continuous && p.cyclePause) // continuous shows work off an after callback, not this timer logic - ms = 10; - if (ms > 0) - p.cycleTimeout = setTimeout(function(){ go(els, opts, 0, !opts.rev) }, ms); -}; - -// invoked after transition -$.fn.cycle.updateActivePagerLink = function(pager, currSlide, clsName) { - $(pager).each(function() { - $(this).find('a').removeClass(clsName).filter('a:eq('+currSlide+')').addClass(clsName); - }); -}; - -// calculate timeout value for current transition -function getTimeout(curr, next, opts, fwd) { - if (opts.timeoutFn) { - // call user provided calc fn - var t = opts.timeoutFn(curr,next,opts,fwd); - while ((t - opts.speed) < 250) // sanitize timeout - t += opts.speed; - debug('calculated timeout: ' + t + '; speed: ' + opts.speed); - if (t !== false) - return t; - } - return opts.timeout; -}; - -// expose next/prev function, caller must pass in state -$.fn.cycle.next = function(opts) { advance(opts, opts.rev?-1:1); }; -$.fn.cycle.prev = function(opts) { advance(opts, opts.rev?1:-1);}; - -// advance slide forward or back -function advance(opts, val) { - var els = opts.elements; - var p = opts.$cont[0], timeout = p.cycleTimeout; - if (timeout) { - clearTimeout(timeout); - p.cycleTimeout = 0; - } - if (opts.random && val < 0) { - // move back to the previously display slide - opts.randomIndex--; - if (--opts.randomIndex == -2) - opts.randomIndex = els.length-2; - else if (opts.randomIndex == -1) - opts.randomIndex = els.length-1; - opts.nextSlide = opts.randomMap[opts.randomIndex]; - } - else if (opts.random) { - opts.nextSlide = opts.randomMap[opts.randomIndex]; - } - else { - opts.nextSlide = opts.currSlide + val; - if (opts.nextSlide < 0) { - if (opts.nowrap) return false; - opts.nextSlide = els.length - 1; - } - else if (opts.nextSlide >= els.length) { - if (opts.nowrap) return false; - opts.nextSlide = 0; - } - } - - if ($.isFunction(opts.prevNextClick)) - opts.prevNextClick(val > 0, opts.nextSlide, els[opts.nextSlide]); - go(els, opts, 1, val>=0); - return false; -}; - -function buildPager(els, opts) { - var $p = $(opts.pager); - $.each(els, function(i,o) { - $.fn.cycle.createPagerAnchor(i,o,$p,els,opts); - }); - opts.updateActivePagerLink(opts.pager, opts.startingSlide, opts.activePagerClass); -}; - -$.fn.cycle.createPagerAnchor = function(i, el, $p, els, opts) { - var a; - if ($.isFunction(opts.pagerAnchorBuilder)) - a = opts.pagerAnchorBuilder(i,el); - else - a = ''+(i+1)+''; - - if (!a) - return; - var $a = $(a); - // don't reparent if anchor is in the dom - if ($a.parents('body').length === 0) { - var arr = []; - if ($p.length > 1) { - $p.each(function() { - var $clone = $a.clone(true); - $(this).append($clone); - arr.push($clone[0]); - }); - $a = $(arr); - } - else { - $a.appendTo($p); - } - } - - opts.pagerAnchors = opts.pagerAnchors || []; - opts.pagerAnchors.push($a); - $a.bind(opts.pagerEvent, function(e) { - e.preventDefault(); - opts.nextSlide = i; - var p = opts.$cont[0], timeout = p.cycleTimeout; - if (timeout) { - clearTimeout(timeout); - p.cycleTimeout = 0; - } - if ($.isFunction(opts.pagerClick)) - opts.pagerClick(opts.nextSlide, els[opts.nextSlide]); - go(els,opts,1,opts.currSlide < i); // trigger the trans -// return false; - }); - - if ( ! /^click/.test(opts.pagerEvent) && !opts.allowPagerClickBubble) - $a.bind('click.cycle', function(){return false;}); // supress click - - if (opts.pauseOnPagerHover) - $a.hover(function() { opts.$cont[0].cyclePause++; }, function() { opts.$cont[0].cyclePause--; } ); -}; - -// helper fn to calculate the number of slides between the current and the next -$.fn.cycle.hopsFromLast = function(opts, fwd) { - var hops, l = opts.lastSlide, c = opts.currSlide; - if (fwd) - hops = c > l ? c - l : opts.slideCount - l; - else - hops = c < l ? l - c : l + opts.slideCount - c; - return hops; -}; - -// fix clearType problems in ie6 by setting an explicit bg color -// (otherwise text slides look horrible during a fade transition) -function clearTypeFix($slides) { - function hex(s) { - s = parseInt(s).toString(16); - return s.length < 2 ? '0'+s : s; - }; - function getBg(e) { - for ( ; e && e.nodeName.toLowerCase() != 'html'; e = e.parentNode) { - var v = $.css(e,'background-color'); - if (v.indexOf('rgb') >= 0 ) { - var rgb = v.match(/\d+/g); - return '#'+ hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]); - } - if (v && v != 'transparent') - return v; - } - return '#ffffff'; - }; - $slides.each(function() { $(this).css('background-color', getBg(this)); }); -}; - -// reset common props before the next transition -$.fn.cycle.commonReset = function(curr,next,opts,w,h,rev) { - $(opts.elements).not(curr).hide(); - opts.cssBefore.opacity = 1; - opts.cssBefore.display = 'block'; - if (w !== false && next.cycleW > 0) - opts.cssBefore.width = next.cycleW; - if (h !== false && next.cycleH > 0) - opts.cssBefore.height = next.cycleH; - opts.cssAfter = opts.cssAfter || {}; - opts.cssAfter.display = 'none'; - $(curr).css('zIndex',opts.slideCount + (rev === true ? 1 : 0)); - $(next).css('zIndex',opts.slideCount + (rev === true ? 0 : 1)); -}; - -// the actual fn for effecting a transition -$.fn.cycle.custom = function(curr, next, opts, cb, speedOverride) { - var $l = $(curr), $n = $(next); - var speedIn = opts.speedIn, speedOut = opts.speedOut, easeIn = opts.easeIn, easeOut = opts.easeOut; - $n.css(opts.cssBefore); - if (speedOverride) { - if (typeof speedOverride == 'number') - speedIn = speedOut = speedOverride; - else - speedIn = speedOut = 1; - easeIn = easeOut = null; - } - var fn = function() {$n.animate(opts.animIn, speedIn, easeIn, cb)}; - $l.animate(opts.animOut, speedOut, easeOut, function() { - if (opts.cssAfter) $l.css(opts.cssAfter); - if (!opts.sync) fn(); - }); - if (opts.sync) fn(); -}; - -// transition definitions - only fade is defined here, transition pack defines the rest -$.fn.cycle.transitions = { - fade: function($cont, $slides, opts) { - $slides.not(':eq('+opts.currSlide+')').css('opacity',0); - opts.before.push(function(curr,next,opts) { - $.fn.cycle.commonReset(curr,next,opts); - opts.cssBefore.opacity = 0; - }); - opts.animIn = { opacity: 1 }; - opts.animOut = { opacity: 0 }; - opts.cssBefore = { top: 0, left: 0 }; - } -}; - -$.fn.cycle.ver = function() { return ver; }; - -// override these globally if you like (they are all optional) -$.fn.cycle.defaults = { - fx: 'fade', // name of transition effect (or comma separated names, ex: fade,scrollUp,shuffle) - timeout: 4000, // milliseconds between slide transitions (0 to disable auto advance) - timeoutFn: null, // callback for determining per-slide timeout value: function(currSlideElement, nextSlideElement, options, forwardFlag) - continuous: 0, // true to start next transition immediately after current one completes - speed: 1000, // speed of the transition (any valid fx speed value) - speedIn: null, // speed of the 'in' transition - speedOut: null, // speed of the 'out' transition - next: null, // selector for element to use as click trigger for next slide - prev: null, // selector for element to use as click trigger for previous slide - prevNextClick: null, // callback fn for prev/next clicks: function(isNext, zeroBasedSlideIndex, slideElement) - prevNextEvent:'click.cycle',// event which drives the manual transition to the previous or next slide - pager: null, // selector for element to use as pager container - pagerClick: null, // callback fn for pager clicks: function(zeroBasedSlideIndex, slideElement) - pagerEvent: 'click.cycle', // name of event which drives the pager navigation - allowPagerClickBubble: false, // allows or prevents click event on pager anchors from bubbling - pagerAnchorBuilder: null, // callback fn for building anchor links: function(index, DOMelement) - before: null, // transition callback (scope set to element to be shown): function(currSlideElement, nextSlideElement, options, forwardFlag) - after: null, // transition callback (scope set to element that was shown): function(currSlideElement, nextSlideElement, options, forwardFlag) - end: null, // callback invoked when the slideshow terminates (use with autostop or nowrap options): function(options) - easing: null, // easing method for both in and out transitions - easeIn: null, // easing for "in" transition - easeOut: null, // easing for "out" transition - shuffle: null, // coords for shuffle animation, ex: { top:15, left: 200 } - animIn: null, // properties that define how the slide animates in - animOut: null, // properties that define how the slide animates out - cssBefore: null, // properties that define the initial state of the slide before transitioning in - cssAfter: null, // properties that defined the state of the slide after transitioning out - fxFn: null, // function used to control the transition: function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag) - height: 'auto', // container height - startingSlide: 0, // zero-based index of the first slide to be displayed - sync: 1, // true if in/out transitions should occur simultaneously - random: 0, // true for random, false for sequence (not applicable to shuffle fx) - fit: 0, // force slides to fit container - containerResize: 1, // resize container to fit largest slide - pause: 0, // true to enable "pause on hover" - pauseOnPagerHover: 0, // true to pause when hovering over pager link - autostop: 0, // true to end slideshow after X transitions (where X == slide count) - autostopCount: 0, // number of transitions (optionally used with autostop to define X) - delay: 0, // additional delay (in ms) for first transition (hint: can be negative) - slideExpr: null, // expression for selecting slides (if something other than all children is required) - cleartype: !$.support.opacity, // true if clearType corrections should be applied (for IE) - cleartypeNoBg: false, // set to true to disable extra cleartype fixing (leave false to force background color setting on slides) - nowrap: 0, // true to prevent slideshow from wrapping - fastOnEvent: 0, // force fast transitions when triggered manually (via pager or prev/next); value == time in ms - randomizeEffects: 1, // valid when multiple effects are used; true to make the effect sequence random - rev: 0, // causes animations to transition in reverse - manualTrump: true, // causes manual transition to stop an active transition instead of being ignored - requeueOnImageNotLoaded: true, // requeue the slideshow if any image slides are not yet loaded - requeueTimeout: 250, // ms delay for requeue - activePagerClass: 'activeSlide', // class name used for the active pager link - updateActivePagerLink: null // callback fn invoked to update the active pager link (adds/removes activePagerClass style) -}; - -})(jQuery); - - -/*! - * jQuery Cycle Plugin Transition Definitions - * This script is a plugin for the jQuery Cycle Plugin - * Examples and documentation at: http://malsup.com/jquery/cycle/ - * Copyright (c) 2007-2008 M. Alsup - * Version: 2.72 - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - */ -(function($) { - -// -// These functions define one-time slide initialization for the named -// transitions. To save file size feel free to remove any of these that you -// don't need. -// -$.fn.cycle.transitions.none = function($cont, $slides, opts) { - opts.fxFn = function(curr,next,opts,after){ - opts.cssBefore = { top: 0, left: 0 }; - $.fn.cycle.commonReset(curr,next,opts); - $(next).css(opts.cssBefore); - $(next).show(); - $(curr).hide(); - if (opts.cssAfter) $(curr).css(opts.cssAfter); - after(); - }; -} - -// scrollUp/Down/Left/Right -$.fn.cycle.transitions.scrollUp = function($cont, $slides, opts) { - $cont.css('overflow','hidden'); - opts.before.push($.fn.cycle.commonReset); - var h = $cont.height(); - opts.cssBefore ={ top: h, left: 0 }; - opts.cssFirst = { top: 0 }; - opts.animIn = { top: 0 }; - opts.animOut = { top: -h }; -}; -$.fn.cycle.transitions.scrollDown = function($cont, $slides, opts) { - $cont.css('overflow','hidden'); - opts.before.push($.fn.cycle.commonReset); - var h = $cont.height(); - opts.cssFirst = { top: 0 }; - opts.cssBefore= { top: -h, left: 0 }; - opts.animIn = { top: 0 }; - opts.animOut = { top: h }; -}; -$.fn.cycle.transitions.scrollLeft = function($cont, $slides, opts) { - $cont.css('overflow','hidden'); - opts.before.push($.fn.cycle.commonReset); - var w = $cont.width(); - opts.cssFirst = { left: 0 }; - opts.cssBefore= { left: w, top: 0 }; - opts.animIn = { left: 0 }; - opts.animOut = { left: 0-w }; -}; -$.fn.cycle.transitions.scrollRight = function($cont, $slides, opts) { - $cont.css('overflow','hidden'); - opts.before.push($.fn.cycle.commonReset); - var w = $cont.width(); - opts.cssFirst = { left: 0 }; - opts.cssBefore= { left: -w, top: 0 }; - opts.animIn = { left: 0 }; - opts.animOut = { left: w }; -}; -$.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) { - $cont.css('overflow','hidden').width(); - opts.before.push(function(curr, next, opts, fwd) { - $.fn.cycle.commonReset(curr,next,opts); - opts.cssBefore.left = fwd ? (next.cycleW-1) : (1-next.cycleW); - opts.animOut.left = fwd ? -curr.cycleW : curr.cycleW; - }); - opts.cssFirst = { left: 0 }; - opts.cssBefore= { top: 0 }; - opts.animIn = { left: 0 }; - opts.animOut = { top: 0 }; -}; -$.fn.cycle.transitions.scrollVert = function($cont, $slides, opts) { - $cont.css('overflow','hidden'); - opts.before.push(function(curr, next, opts, fwd) { - $.fn.cycle.commonReset(curr,next,opts); - opts.cssBefore.top = fwd ? (1-next.cycleH) : (next.cycleH-1); - opts.animOut.top = fwd ? curr.cycleH : -curr.cycleH; - }); - opts.cssFirst = { top: 0 }; - opts.cssBefore= { left: 0 }; - opts.animIn = { top: 0 }; - opts.animOut = { left: 0 }; -}; - -// slideX/slideY -$.fn.cycle.transitions.slideX = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $(opts.elements).not(curr).hide(); - $.fn.cycle.commonReset(curr,next,opts,false,true); - opts.animIn.width = next.cycleW; - }); - opts.cssBefore = { left: 0, top: 0, width: 0 }; - opts.animIn = { width: 'show' }; - opts.animOut = { width: 0 }; -}; -$.fn.cycle.transitions.slideY = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $(opts.elements).not(curr).hide(); - $.fn.cycle.commonReset(curr,next,opts,true,false); - opts.animIn.height = next.cycleH; - }); - opts.cssBefore = { left: 0, top: 0, height: 0 }; - opts.animIn = { height: 'show' }; - opts.animOut = { height: 0 }; -}; - -// shuffle -$.fn.cycle.transitions.shuffle = function($cont, $slides, opts) { - var i, w = $cont.css('overflow', 'visible').width(); - $slides.css({left: 0, top: 0}); - opts.before.push(function(curr,next,opts) { - $.fn.cycle.commonReset(curr,next,opts,true,true,true); - }); - // only adjust speed once! - if (!opts.speedAdjusted) { - opts.speed = opts.speed / 2; // shuffle has 2 transitions - opts.speedAdjusted = true; - } - opts.random = 0; - opts.shuffle = opts.shuffle || {left:-w, top:15}; - opts.els = []; - for (i=0; i < $slides.length; i++) - opts.els.push($slides[i]); - - for (i=0; i < opts.currSlide; i++) - opts.els.push(opts.els.shift()); - - // custom transition fn (hat tip to Benjamin Sterling for this bit of sweetness!) - opts.fxFn = function(curr, next, opts, cb, fwd) { - var $el = fwd ? $(curr) : $(next); - $(next).css(opts.cssBefore); - var count = opts.slideCount; - $el.animate(opts.shuffle, opts.speedIn, opts.easeIn, function() { - var hops = $.fn.cycle.hopsFromLast(opts, fwd); - for (var k=0; k < hops; k++) - fwd ? opts.els.push(opts.els.shift()) : opts.els.unshift(opts.els.pop()); - if (fwd) { - for (var i=0, len=opts.els.length; i < len; i++) - $(opts.els[i]).css('z-index', len-i+count); - } - else { - var z = $(curr).css('z-index'); - $el.css('z-index', parseInt(z)+1+count); - } - $el.animate({left:0, top:0}, opts.speedOut, opts.easeOut, function() { - $(fwd ? this : curr).hide(); - if (cb) cb(); - }); - }); - }; - opts.cssBefore = { display: 'block', opacity: 1, top: 0, left: 0 }; -}; - -// turnUp/Down/Left/Right -$.fn.cycle.transitions.turnUp = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,true,false); - opts.cssBefore.top = next.cycleH; - opts.animIn.height = next.cycleH; - }); - opts.cssFirst = { top: 0 }; - opts.cssBefore = { left: 0, height: 0 }; - opts.animIn = { top: 0 }; - opts.animOut = { height: 0 }; -}; -$.fn.cycle.transitions.turnDown = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,true,false); - opts.animIn.height = next.cycleH; - opts.animOut.top = curr.cycleH; - }); - opts.cssFirst = { top: 0 }; - opts.cssBefore = { left: 0, top: 0, height: 0 }; - opts.animOut = { height: 0 }; -}; -$.fn.cycle.transitions.turnLeft = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,false,true); - opts.cssBefore.left = next.cycleW; - opts.animIn.width = next.cycleW; - }); - opts.cssBefore = { top: 0, width: 0 }; - opts.animIn = { left: 0 }; - opts.animOut = { width: 0 }; -}; -$.fn.cycle.transitions.turnRight = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,false,true); - opts.animIn.width = next.cycleW; - opts.animOut.left = curr.cycleW; - }); - opts.cssBefore = { top: 0, left: 0, width: 0 }; - opts.animIn = { left: 0 }; - opts.animOut = { width: 0 }; -}; - -// zoom -$.fn.cycle.transitions.zoom = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,false,false,true); - opts.cssBefore.top = next.cycleH/2; - opts.cssBefore.left = next.cycleW/2; - opts.animIn = { top: 0, left: 0, width: next.cycleW, height: next.cycleH }; - opts.animOut = { width: 0, height: 0, top: curr.cycleH/2, left: curr.cycleW/2 }; - }); - opts.cssFirst = { top:0, left: 0 }; - opts.cssBefore = { width: 0, height: 0 }; -}; - -// fadeZoom -$.fn.cycle.transitions.fadeZoom = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,false,false); - opts.cssBefore.left = next.cycleW/2; - opts.cssBefore.top = next.cycleH/2; - opts.animIn = { top: 0, left: 0, width: next.cycleW, height: next.cycleH }; - }); - opts.cssBefore = { width: 0, height: 0 }; - opts.animOut = { opacity: 0 }; -}; - -// blindX -$.fn.cycle.transitions.blindX = function($cont, $slides, opts) { - var w = $cont.css('overflow','hidden').width(); - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts); - opts.animIn.width = next.cycleW; - opts.animOut.left = curr.cycleW; - }); - opts.cssBefore = { left: w, top: 0 }; - opts.animIn = { left: 0 }; - opts.animOut = { left: w }; -}; -// blindY -$.fn.cycle.transitions.blindY = function($cont, $slides, opts) { - var h = $cont.css('overflow','hidden').height(); - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts); - opts.animIn.height = next.cycleH; - opts.animOut.top = curr.cycleH; - }); - opts.cssBefore = { top: h, left: 0 }; - opts.animIn = { top: 0 }; - opts.animOut = { top: h }; -}; -// blindZ -$.fn.cycle.transitions.blindZ = function($cont, $slides, opts) { - var h = $cont.css('overflow','hidden').height(); - var w = $cont.width(); - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts); - opts.animIn.height = next.cycleH; - opts.animOut.top = curr.cycleH; - }); - opts.cssBefore = { top: h, left: w }; - opts.animIn = { top: 0, left: 0 }; - opts.animOut = { top: h, left: w }; -}; - -// growX - grow horizontally from centered 0 width -$.fn.cycle.transitions.growX = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,false,true); - opts.cssBefore.left = this.cycleW/2; - opts.animIn = { left: 0, width: this.cycleW }; - opts.animOut = { left: 0 }; - }); - opts.cssBefore = { width: 0, top: 0 }; -}; -// growY - grow vertically from centered 0 height -$.fn.cycle.transitions.growY = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,true,false); - opts.cssBefore.top = this.cycleH/2; - opts.animIn = { top: 0, height: this.cycleH }; - opts.animOut = { top: 0 }; - }); - opts.cssBefore = { height: 0, left: 0 }; -}; - -// curtainX - squeeze in both edges horizontally -$.fn.cycle.transitions.curtainX = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,false,true,true); - opts.cssBefore.left = next.cycleW/2; - opts.animIn = { left: 0, width: this.cycleW }; - opts.animOut = { left: curr.cycleW/2, width: 0 }; - }); - opts.cssBefore = { top: 0, width: 0 }; -}; -// curtainY - squeeze in both edges vertically -$.fn.cycle.transitions.curtainY = function($cont, $slides, opts) { - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,true,false,true); - opts.cssBefore.top = next.cycleH/2; - opts.animIn = { top: 0, height: next.cycleH }; - opts.animOut = { top: curr.cycleH/2, height: 0 }; - }); - opts.cssBefore = { left: 0, height: 0 }; -}; - -// cover - curr slide covered by next slide -$.fn.cycle.transitions.cover = function($cont, $slides, opts) { - var d = opts.direction || 'left'; - var w = $cont.css('overflow','hidden').width(); - var h = $cont.height(); - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts); - if (d == 'right') - opts.cssBefore.left = -w; - else if (d == 'up') - opts.cssBefore.top = h; - else if (d == 'down') - opts.cssBefore.top = -h; - else - opts.cssBefore.left = w; - }); - opts.animIn = { left: 0, top: 0}; - opts.animOut = { opacity: 1 }; - opts.cssBefore = { top: 0, left: 0 }; -}; - -// uncover - curr slide moves off next slide -$.fn.cycle.transitions.uncover = function($cont, $slides, opts) { - var d = opts.direction || 'left'; - var w = $cont.css('overflow','hidden').width(); - var h = $cont.height(); - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,true,true,true); - if (d == 'right') - opts.animOut.left = w; - else if (d == 'up') - opts.animOut.top = -h; - else if (d == 'down') - opts.animOut.top = h; - else - opts.animOut.left = -w; - }); - opts.animIn = { left: 0, top: 0 }; - opts.animOut = { opacity: 1 }; - opts.cssBefore = { top: 0, left: 0 }; -}; - -// toss - move top slide and fade away -$.fn.cycle.transitions.toss = function($cont, $slides, opts) { - var w = $cont.css('overflow','visible').width(); - var h = $cont.height(); - opts.before.push(function(curr, next, opts) { - $.fn.cycle.commonReset(curr,next,opts,true,true,true); - // provide default toss settings if animOut not provided - if (!opts.animOut.left && !opts.animOut.top) - opts.animOut = { left: w*2, top: -h/2, opacity: 0 }; - else - opts.animOut.opacity = 0; - }); - opts.cssBefore = { left: 0, top: 0 }; - opts.animIn = { left: 0 }; -}; - -// wipe - clip animation -$.fn.cycle.transitions.wipe = function($cont, $slides, opts) { - var w = $cont.css('overflow','hidden').width(); - var h = $cont.height(); - opts.cssBefore = opts.cssBefore || {}; - var clip; - if (opts.clip) { - if (/l2r/.test(opts.clip)) - clip = 'rect(0px 0px '+h+'px 0px)'; - else if (/r2l/.test(opts.clip)) - clip = 'rect(0px '+w+'px '+h+'px '+w+'px)'; - else if (/t2b/.test(opts.clip)) - clip = 'rect(0px '+w+'px 0px 0px)'; - else if (/b2t/.test(opts.clip)) - clip = 'rect('+h+'px '+w+'px '+h+'px 0px)'; - else if (/zoom/.test(opts.clip)) { - var top = parseInt(h/2); - var left = parseInt(w/2); - clip = 'rect('+top+'px '+left+'px '+top+'px '+left+'px)'; - } - } - - opts.cssBefore.clip = opts.cssBefore.clip || clip || 'rect(0px 0px 0px 0px)'; - - var d = opts.cssBefore.clip.match(/(\d+)/g); - var t = parseInt(d[0]), r = parseInt(d[1]), b = parseInt(d[2]), l = parseInt(d[3]); - - opts.before.push(function(curr, next, opts) { - if (curr == next) return; - var $curr = $(curr), $next = $(next); - $.fn.cycle.commonReset(curr,next,opts,true,true,false); - opts.cssAfter.display = 'block'; - - var step = 1, count = parseInt((opts.speedIn / 13)) - 1; - (function f() { - var tt = t ? t - parseInt(step * (t/count)) : 0; - var ll = l ? l - parseInt(step * (l/count)) : 0; - var bb = b < h ? b + parseInt(step * ((h-b)/count || 1)) : h; - var rr = r < w ? r + parseInt(step * ((w-r)/count || 1)) : w; - $next.css({ clip: 'rect('+tt+'px '+rr+'px '+bb+'px '+ll+'px)' }); - (step++ <= count) ? setTimeout(f, 13) : $curr.css('display', 'none'); - })(); - }); - opts.cssBefore = { display: 'block', opacity: 1, top: 0, left: 0 }; - opts.animIn = { left: 0 }; - opts.animOut = { left: 0 }; -}; - -})(jQuery); diff --git a/static/js/jquery.doubletap-0.1.js b/static/js/jquery.doubletap-0.1.js deleted file mode 100644 index 2a33f55..0000000 --- a/static/js/jquery.doubletap-0.1.js +++ /dev/null @@ -1,105 +0,0 @@ -(function($) { - var touchStatus = function(target, touch) { - this.target = $(target); - this.touch = touch; - this.startX = this.currentX = touch.screenX; - this.startY = this.currentY = touch.screenY; - this.eventType = null; - } - touchStatus.latestTap = null; - - touchStatus.prototype.move = function(touch) { - this.currentX = touch.screenX; - this.currentY = touch.screenY; - } - - touchStatus.prototype.process = function() { - var offsetX = this.currentX - this.startX; - var offsetY = this.currentY - this.startY; - if(offsetX == 0 && offsetY == 0) { - this.checkForDoubleTap() - } else if(Math.abs(offsetY) > Math.abs(offsetX)) { - this.eventType = offsetY > 0 ? 'swipedown' : 'swipeup'; - this.target.trigger('swipe', [this]) - } else { - this.eventType = offsetX > 0 ? 'swiperight' : 'swipeleft'; - this.target.trigger('swipe', [this]) - } - this.target.trigger(this.eventType, [this]) - this.target.trigger('touch', [this]) - } - - touchStatus.prototype.checkForDoubleTap = function() { - if(touchStatus.latestTap) { - if((new Date() - touchStatus.latestTap) < 400) - this.eventType = 'doubletap' - } - if(!this.eventType) this.eventType = 'tap' - touchStatus.latestTap = new Date() - } - - var swipeEvents = function(elements) { - elements.bind('touchstart', this.touchStart); - elements.bind('touchmove', this.touchMove); - elements.bind('touchcancel', this.touchCancel); - elements.bind('touchend', this.touchEnd); - } - - swipeEvents.prototype.touchStart = function(evt) { - var target = this; - swipeEvents.eachTouch(evt, function(touch) { - swipeEvents.touches[touch.identifier] = new touchStatus(target, touch); - }) - } - - swipeEvents.prototype.touchMove = function(evt) { - swipeEvents.eachTouch(evt, function(touch) { - var loc = swipeEvents.touches[touch.identifier] - if(loc) loc.move(touch) - }) - } - - swipeEvents.prototype.touchCancel = function(evt) { - swipeEvents.eachTouch(evt, function(touch) { - swipeEvents.purge(touch, true) - }) - } - - swipeEvents.prototype.touchEnd = function(evt) { - swipeEvents.eachTouch(evt, function(touch) { - swipeEvents.purge(touch) - }) - } - - swipeEvents.touches = {} - swipeEvents.purge = function(touch, cancelled) { - if(!cancelled) { - var loc = swipeEvents.touches[touch.identifier] - if(loc) loc.process() - } - delete swipeEvents.touches[touch.identifier] - } - - swipeEvents.eachTouch = function(evt, callback) { - var evt = evt.originalEvent; - var num = evt.changedTouches.length; - for(var i = 0; i < num; i++) { - callback(evt.changedTouches[i]) - } - } - - // adds custom events: - // touch // all events - // swipe // only swipe* events - // swipeleft - // swiperight - // swipeup - // swipedown - // tap - // doubletap - $.fn.addSwipeEvents = function(callback) { - new swipeEvents(this); - if(callback) this.bind('touch', callback) - return this; - } -})(jQuery); \ No newline at end of file diff --git a/static/js/jquery.uuid.js b/static/js/jquery.uuid.js deleted file mode 100644 index f22bf2d..0000000 --- a/static/js/jquery.uuid.js +++ /dev/null @@ -1,24 +0,0 @@ -/* -Usage 1: define the default prefix by using an object with the property prefix as a parameter which contains a string value; {prefix: 'id'} -Usage 2: call the function jQuery.uuid() with a string parameter p to be used as a prefix to generate a random uuid; -Usage 3: call the function jQuery.uuid() with no parameters to generate a uuid with the default prefix; defaul prefix: '' (empty string) -*/ - -/* -Generate fragment of random numbers -*/ -jQuery._uuid_default_prefix = ''; -jQuery._uuidlet = function () { - return(((1+Math.random())*0x10000)|0).toString(16).substring(1); -}; -/* -Generates random uuid -*/ -jQuery.uuid = function (p) { - if (typeof(p) == 'object' && typeof(p.prefix) == 'string') { - jQuery._uuid_default_prefix = p.prefix; - } else { - p = p || jQuery._uuid_default_prefix || ''; - return(p+jQuery._uuidlet()+jQuery._uuidlet()+"-"+jQuery._uuidlet()+"-"+jQuery._uuidlet()+"-"+jQuery._uuidlet()+"-"+jQuery._uuidlet()+jQuery._uuidlet()+jQuery._uuidlet()); - }; -}; \ No newline at end of file diff --git a/static/js/jquery.ws-0.3pre.js b/static/js/jquery.ws-0.3pre.js deleted file mode 100644 index 9942d35..0000000 --- a/static/js/jquery.ws-0.3pre.js +++ /dev/null @@ -1,201 +0,0 @@ - -(function($){ - -$.ws = { - -//========================================================== -// jQuery plugin jquery.ws.js -// for Web Sockets -// need Browser Chrome4.0.249.0+ -// Demo http://bloga.jp/ws/jq/ -// serverside sample @see http://blog.livedoor.jp/kotesaki/archives/1355651.html - - name : "ws", - version : "0.3-noenc-pre", - demo : "http://bloga.jp/ws/jq/conn/b1.htm", - author : "Toshiro Takahashi", - lisence : "same as jQuery @see http://docs.jquery.com/Licensing", - update : 'http://jsgt.org/lib/jquery/plugin/ws/update.txt', - ver : '', - - //Default settings - wsSettings: { - url : "ws://"+location.host, - data : null,//The data which transmit a message - onopen : function(e){},//callback on opened. - onmessage : function(msg,wsObject){},//callback on received - onclose : function(){},//callback on cloased - hbStr : "Heartbeat",//if null then no Heartbeat - hbinterval : 60000,//dafault 60sec, min=5000 - onheartbeat: function(){}//callback on heartbeatsended - }, - wsSetup: function( settings ) { - jQuery.extend( jQuery.ws.wsSettings, settings ); - } - - //Note: if you want to stop no-support alert dialog, - //$.ws.wsSetup({nonosupportmsg:true}); -}; - - /* - //========================================================== - // Method - // Basic Method of this pulgin for Web Sockets - - $.conn( settings ) - - */ - $.extend($.ws ,{ - - conn : function( s ){ - - s = $.extend(true, s, $.extend(true, {}, $.ws.wsSettings, s)); - - if ("WebSocket" in window) { - - var url=s.url , - //WS Object - wsoj = new WebSocket( url ) , - data = s.data , - //Heartbeat - _MIN_HBINTERVAL=5000, - _INI_HBINTERVAL=60000, - hbtimer=null, - hbStr = (s.hbStr===null)?null:(typeof s.hbStr==='string')?s.hbStr:'Heartbeat', - hbinterval = (typeof s.hbinterval==='number')? - (s.hbinterval>=_MIN_HBINTERVAL)?s.hbinterval:_INI_HBINTERVAL - :_INI_HBINTERVAL; - - //WS Events bind - $(wsoj) - .bind("open",function(e){ - if(s.onopen){ s.onopen(e); } ; - if(s.hbStr!==null){ - hbtimer = setInterval(function(){ - $(wsoj).wssend(hbStr); - if(wsoj.onheartbeat){wsoj.onheartbeat(wsoj)} - }, hbinterval); - } - }) - .bind("message",function(e){ - if(s.onmessage){ - s.onmessage( - e.originalEvent.data - .replace(//g, ""), - wsoj - ); - } - }) - .bind("close",function(){ - if(s.onclose){ - s.onclose(); - } - if(hbtimer) { - clearInterval(hbtimer); - hbtimer = null; - } - wsoj=null; - }); - - //Add Event to only Instance for on after Hertbeat - if(s.hbStr!==null){ - wsoj.onheartbeat=function(woj){ - s.onheartbeat(woj); - } - } - - //WS send - $(wsoj).wssend(data); - - //WS auto cloase - $(window) - .bind("unload",function(e){ - wsoj.close();wsoj=null; - }); - - return wsoj; - - } else { - //no support, message once. - if(!$.ws.nosupport){ - if(!s.nonosupportmsg) - alert("no support, please use Chrome4 (v 4.0.238.0 +) or \n Safari nightly"); - $.ws.nosupport=true; - } - } - } - - }); - - /* - //========================================================== - // Method - // Sub Methods for Web Sockets - - $(Selectors).wsload( url, data, fn ) - $(Selectors).wssend(data) - $(Selectors).wsclose() - - */ - $.fn.extend({ - - //like $(Selectors).load() Some codes from jQuery1.3.2 - wsload : function( url, data, fn ){ - - var off = url.indexOf(" "); - if ( off >= 0 ) { - var selector = url.slice(off, url.length); - url = url.slice(0, off); - } - - if ( data ) - if ( $.isFunction( data ) ) { - fn = data; - data = null; - } else if( typeof data === "object" ) { - data = $.param( data ); - } - var self = this; - - $.ws.conn({ - url : url, - data : data, - onmessage : function(msg, wsoj){ - if ( wsoj.readyState == wsoj.OPEN ) - self.html( selector ? - $("
    ") - .append(msg) - .find(selector) : - msg ); - - if( fn ) - self.each( fn, [msg, wsoj.readyState, wsoj] ); - } - }); - - return this; - }, - - //Send to WS Server $(webSocketOj).wssend(data) - wssend : function(data){ - var oj=this[0]; - if(typeof oj!=="object" && oj.toString()!=="[object WebSocket]"){return this;} - if(data){ - oj.send(data); - } - return this; - }, - - //Close Web Sockets - wsclose : function(){ - var oj=this[0]; - if(typeof oj!=="object" && oj.toString()!=="[object WebSocket]"){return this;} - oj.close(); - oj=null; - return this; - } - }); - -})(jQuery) \ No newline at end of file diff --git a/static/js/onepage.js b/static/js/onepage.js deleted file mode 100644 index c1f3ad6..0000000 --- a/static/js/onepage.js +++ /dev/null @@ -1,5 +0,0 @@ -function setupOnePage() { - sh_highlightDocument('/js/sh_lang/', '.min.js') - - centerSlides($("#slides > .slide")) -} \ No newline at end of file diff --git a/static/js/sh_lang/sh_bison.min.js b/static/js/sh_lang/sh_bison.min.js deleted file mode 100644 index 183c884..0000000 --- a/static/js/sh_lang/sh_bison.min.js +++ /dev/null @@ -1 +0,0 @@ -if(!this.sh_languages){this.sh_languages={}}sh_languages.bison=[[[/^%\{/g,"sh_preproc",1,1],[/^%[sx]/g,"sh_preproc",16,1],[/^%option/g,"sh_preproc",17,1],[/^%(?:array|pointer|[aceknopr])/g,"sh_preproc",-1],[/[A-Za-z_][A-Za-z0-9_-]*/g,"sh_preproc",19,1],[/^%%/g,"sh_preproc",20,1]],[[/^%\}/g,"sh_preproc",-2],[/(\b(?:class|struct|typename))([ \t]+)([A-Za-z0-9_]+)/g,["sh_keyword","sh_normal","sh_classname"],-1],[/\b(?:class|const_cast|delete|dynamic_cast|explicit|false|friend|inline|mutable|namespace|new|operator|private|protected|public|reinterpret_cast|static_cast|template|this|throw|true|try|typeid|typename|using|virtual)\b/g,"sh_keyword",-1],[/\/\/\//g,"sh_comment",2],[/\/\//g,"sh_comment",8],[/\/\*\*/g,"sh_comment",9],[/\/\*/g,"sh_comment",10],[/(\bstruct)([ \t]+)([A-Za-z0-9_]+)/g,["sh_keyword","sh_normal","sh_classname"],-1],[/^[ \t]*#(?:[ \t]*include)/g,"sh_preproc",11,1],[/^[ \t]*#(?:[ \t]*[A-Za-z0-9_]*)/g,"sh_preproc",-1],[/\b[+-]?(?:(?:0x[A-Fa-f0-9]+)|(?:(?:[\d]*\.)?[\d]+(?:[eE][+-]?[\d]+)?))u?(?:(?:int(?:8|16|32|64))|L)?\b/g,"sh_number",-1],[/"/g,"sh_string",14],[/'/g,"sh_string",15],[/\b(?:__asm|__cdecl|__declspec|__export|__far16|__fastcall|__fortran|__import|__pascal|__rtti|__stdcall|_asm|_cdecl|__except|_export|_far16|_fastcall|__finally|_fortran|_import|_pascal|_stdcall|__thread|__try|asm|auto|break|case|catch|cdecl|const|continue|default|do|else|enum|extern|for|goto|if|pascal|register|return|sizeof|static|struct|switch|typedef|union|volatile|while)\b/g,"sh_keyword",-1],[/\b(?:bool|char|double|float|int|long|short|signed|unsigned|void|wchar_t)\b/g,"sh_type",-1],[/~|!|%|\^|\*|\(|\)|-|\+|=|\[|\]|\\|:|;|,|\.|\/|\?|&|<|>|\|/g,"sh_symbol",-1],[/\{|\}/g,"sh_cbracket",-1],[/(?:[A-Za-z]|_)[A-Za-z0-9_]*(?=[ \t]*\()/g,"sh_function",-1],[/([A-Za-z](?:[^`~!@#$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\s]|[_])*)((?:<.*>)?)(\s+(?=[*&]*[A-Za-z][^`~!@#$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\s]*\s*[`~!@#$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\[\]]+))/g,["sh_usertype","sh_usertype","sh_normal"],-1]],[[/$/g,null,-2],[/(?:?)|(?:?)/g,"sh_url",-1],[/<\?xml/g,"sh_preproc",3,1],[//g,"sh_keyword",-1],[/<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)/g,"sh_keyword",7,1],[/&(?:[A-Za-z0-9]+);/g,"sh_preproc",-1],[/<(?:\/)?[A-Za-z][A-Za-z0-9]*(?:\/)?>/g,"sh_keyword",-1],[/<(?:\/)?[A-Za-z][A-Za-z0-9]*/g,"sh_keyword",7,1],[/@[A-Za-z]+/g,"sh_type",-1],[/(?:TODO|FIXME|BUG)(?:[:]?)/g,"sh_todo",-1]],[[/\?>/g,"sh_preproc",-2],[/([^=" \t>]+)([ \t]*)(=?)/g,["sh_type","sh_normal","sh_symbol"],-1],[/"/g,"sh_string",4]],[[/\\(?:\\|")/g,null,-1],[/"/g,"sh_string",-2]],[[/>/g,"sh_preproc",-2],[/([^=" \t>]+)([ \t]*)(=?)/g,["sh_type","sh_normal","sh_symbol"],-1],[/"/g,"sh_string",4]],[[/-->/g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[//g,"sh_comment",-2],[/