diff --git a/css/ui-lightness/jquery-ui-1.8.17.custom.css b/css/ui-lightness/jquery-ui-1.8.17.custom.css deleted file mode 100644 index 57f11c967..000000000 --- a/css/ui-lightness/jquery-ui-1.8.17.custom.css +++ /dev/null @@ -1,565 +0,0 @@ -/* - * jQuery UI CSS Framework 1.8.17 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - */ - -/* Layout helpers -----------------------------------*/ -.ui-helper-hidden { display: none; } -.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } -.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:before, .ui-helper-clearfix:after { content: ""; display: table; } -.ui-helper-clearfix:after { clear: both; } -.ui-helper-clearfix { zoom: 1; } -.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%; } - - -/* - * jQuery UI CSS Framework 1.8.17 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - * - * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px - */ - - -/* Component containers -----------------------------------*/ -.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; } -.ui-widget .ui-widget { font-size: 1em; } -.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; } -.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; } -.ui-widget-content a { color: #333333; } -.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.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, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; } -.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; } -.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; } -.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; } -.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; } -.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; } -.ui-widget :active { outline: none; } - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; } -.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } -.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; } -.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; } -.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; } -.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } -.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } -.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); } -.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } -.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } -.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); } -.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } -.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } -.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); } -.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_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-start { background-position: -80px -160px; } -/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ -.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-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; } -.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; } -.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; } -.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } - -/* Overlays */ -.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); } -.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/* - * jQuery UI Resizable 1.8.17 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Resizable#theming - */ -.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: 0; } -.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } -.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } -.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; 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;}/* - * jQuery UI Selectable 1.8.17 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Selectable#theming - */ -.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } -/* - * jQuery UI Accordion 1.8.17 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Accordion#theming - */ -/* IE/Win - Fix animation bug - #4615 */ -.ui-accordion { width: 100%; } -.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } -.ui-accordion .ui-accordion-li-fix { 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 .7em; } -.ui-accordion-icons .ui-accordion-header a { padding-left: 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; zoom: 1; } -.ui-accordion .ui-accordion-content-active { display: block; } -/* - * jQuery UI Autocomplete 1.8.17 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Autocomplete#theming - */ -.ui-autocomplete { position: absolute; cursor: default; } - -/* workarounds */ -* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ - -/* - * jQuery UI Menu 1.8.17 - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Menu#theming - */ -.ui-menu { - list-style:none; - padding: 2px; - margin: 0; - display:block; - float: left; -} -.ui-menu .ui-menu { - margin-top: -3px; -} -.ui-menu .ui-menu-item { - margin:0; - padding: 0; - zoom: 1; - float: left; - clear: left; - width: 100%; -} -.ui-menu .ui-menu-item a { - text-decoration:none; - display:block; - padding:.2em .4em; - line-height:1.5; - zoom:1; -} -.ui-menu .ui-menu-item a.ui-state-hover, -.ui-menu .ui-menu-item a.ui-state-active { - font-weight: normal; - margin: -1px; -} -/* - * jQuery UI Button 1.8.17 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Button#theming - */ -.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ -.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ -button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ -.ui-button-icons-only { width: 3.4em; } -button.ui-button-icons-only { width: 3.7em; } - -/*button text element */ -.ui-button .ui-button-text { display: block; line-height: 1.4; } -.ui-button-text-only .ui-button-text { padding: .4em 1em; } -.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } -.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } -.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } -.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } -/* no icon support for input elements, provide padding by default */ -input.ui-button { padding: .4em 1em; } - -/*button icon element(s) */ -.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } -.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } -.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } -.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } -.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } - -/*button sets*/ -.ui-buttonset { margin-right: 7px; } -.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } - -/* workarounds */ -button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ -/* - * jQuery UI Dialog 1.8.17 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Dialog#theming - */ -.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } -.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; } -.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } -.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 { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } -.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 .ui-dialog-buttonset { float: right; } -.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } -.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } -.ui-draggable .ui-dialog-titlebar { cursor: move; } -/* - * jQuery UI Slider 1.8.17 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Slider#theming - */ -.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: .7em; display: block; border: 0; background-position: 0 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; }/* - * jQuery UI Tabs 1.8.17 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Tabs#theming - */ -.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ -.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } -.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } -.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } -.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } -.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } -.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ -.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } -.ui-tabs .ui-tabs-hide { display: none !important; } -/* - * jQuery UI Datepicker 1.8.17 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Datepicker#theming - */ -.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } -.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 { 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 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:both; width:100%; font-size:0em; } - -/* 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*/ -}/* - * jQuery UI Progressbar 1.8.17 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Progressbar#theming - */ -.ui-progressbar { height:2em; text-align: left; overflow: hidden; } -.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file diff --git a/css/ui-lightness/jquery-ui-1.8.2.custom.css b/css/ui-lightness/jquery-ui-1.8.2.custom.css deleted file mode 100644 index 00628d326..000000000 --- a/css/ui-lightness/jquery-ui-1.8.2.custom.css +++ /dev/null @@ -1,489 +0,0 @@ -/* -* jQuery UI CSS Framework -* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.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%; } - - -/* -* jQuery UI CSS Framework -* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) -* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. -* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px -*/ - - -/* Component containers -----------------------------------*/ -.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; } -.ui-widget .ui-widget { font-size: 1em; } -.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; } -.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; } -.ui-widget-content a { color: #333333; } -.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.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, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; } -.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; } -.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; } -.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; } -.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; } -.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; } -.ui-widget :active { outline: none; } - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; } -.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } -.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; } -.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; } -.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; } -.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } -.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } -.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); } -.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } -.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } -.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); } -.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } -.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } -.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); } -.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_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-start { background-position: -80px -160px; } -/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ -.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; border-top-left-radius: 4px; } -.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; } -.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; } -.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } -.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; } -.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } -.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } -.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; } -.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; } - -/* Overlays */ -.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); } -.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/* 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: 0; } -.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } -.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } -.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; 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;}/* Selectable -----------------------------------*/ -.ui-selectable-helper { border:1px dotted black } -/* Accordion -----------------------------------*/ -.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } -.ui-accordion .ui-accordion-li-fix { 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 .7em; } -/* IE7-/Win - Fix extra vertical space in lists */ -.ui-accordion a { zoom: 1; } -.ui-accordion-icons .ui-accordion-header a { padding-left: 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; zoom: 1; } -.ui-accordion .ui-accordion-content-active { display: block; }/* Autocomplete -----------------------------------*/ -.ui-autocomplete { position: absolute; cursor: default; } -.ui-autocomplete-loading { background: white url('images/ui-anim_basic_16x16.gif') right center no-repeat; } - -/* workarounds */ -* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ - -/* Menu -----------------------------------*/ -.ui-menu { - list-style:none; - padding: 2px; - margin: 0; - display:block; -} -.ui-menu .ui-menu { - margin-top: -3px; -} -.ui-menu .ui-menu-item { - margin:0; - padding: 0; - zoom: 1; - float: left; - clear: left; - width: 100%; -} -.ui-menu .ui-menu-item a { - text-decoration:none; - display:block; - padding:.2em .4em; - line-height:1.5; - zoom:1; -} -.ui-menu .ui-menu-item a.ui-state-hover, -.ui-menu .ui-menu-item a.ui-state-active { - font-weight: normal; - margin: -1px; -} -/* Button -----------------------------------*/ - -.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ -.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ -button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ -.ui-button-icons-only { width: 3.4em; } -button.ui-button-icons-only { width: 3.7em; } - -/*button text element */ -.ui-button .ui-button-text { display: block; line-height: 1.4; } -.ui-button-text-only .ui-button-text { padding: .4em 1em; } -.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } -.ui-button-text-icon .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } -.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } -/* no icon support for input elements, provide padding by default */ -input.ui-button { padding: .4em 1em; } - -/*button icon element(s) */ -.ui-button-icon-only .ui-icon, .ui-button-text-icon .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } -.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } -.ui-button-text-icon .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } -.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } - -/*button sets*/ -.ui-buttonset { margin-right: 7px; } -.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } - -/* workarounds */ -button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ - - - - - -/* Dialog -----------------------------------*/ -.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } -.ui-dialog .ui-dialog-titlebar { padding: .5em 1em .3em; position: relative; } -.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .2em 0; } -.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; zoom: 1; } -.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; } -/* 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: .7em; display: block; border: 0; background-position: 0 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; }/* Tabs -----------------------------------*/ -.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ -.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } -.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } -.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } -.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } -.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } -.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ -.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } -.ui-tabs .ui-tabs-hide { display: none !important; } -/* 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 { 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 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:both; 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*/ -}/* 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/js/charts.js b/js/charts.js deleted file mode 100644 index 7e4cfce6f..000000000 --- a/js/charts.js +++ /dev/null @@ -1,279 +0,0 @@ -// jQuery UI style "widget" for charts -Raphael.fn.ball = function (x, y, r, hue) -{ - hue = hue || 0; - return this.set( - this.ellipse(x, y + r - r / 3, r, r / 2).attr({fill: "rhsb(" + hue + ", 0, .25)-hsb(" + hue + ", 0, .25)", stroke: "none", opacity: 0}), - this.ellipse(x, y, r, r).attr({fill: "0-#000-#ccc-#000", stroke: "none"}), - this.ellipse(x, y, r*0.95, r*0.95 ).attr({fill: "r(.5,.9)hsb(" + hue + ", 0, .75)-hsb(" + hue + ", 0, .25)", stroke: "none"}), - this.ellipse(x, y, r - r / 5, r - r / 20).attr({stroke: "none", fill: "r(.5,.1)#ccc-#ccc", opacity: 0}) - ); -}; - -$(function() -{ - // the widget definition, where "itop" is the namespace, - // "pie_chart" the widget name - $.widget( "itop.pie_chart", - { - // default options - options: - { - chart_id: '', - chart_label: '', - values: [], - labels: [], - hrefs: [] - }, - - // the constructor - _create: function() - { - var me = this; - - this.element - .addClass('itop-pie_chart'); - - this.oR = Raphael(this.element.get(0), this.element.width(), this.element.height()); - $(window).bind('resize.pie_chart', function() { me._refresh(); }); - this._refresh(); - }, - _clear_r: function() - { - this.oR.clear(); - }, - // called when created, and later when changing options - _refresh: function() - { - this._clear_r(); - - var me = this; - this._compute_size(); - this.oR.ball(this.x, this.y, this.r, 0); - - var aColors = []; - var hue = 0; - var brightness = 1; - for(index = 0; index < 30; index++) - { - hue = (hue+137) % 360; - brightness = 1-((Math.floor(index / 3) % 4) / 8); - aColors.push('hsba('+(hue/360.0)+',1,'+brightness+',0.6)'); - //aColors.push('hsba('+(hue/360.0)+',0.5,0.5,0.4)'); - } - - - var aVals = this.options.values.slice(0); // Clone the array since the pie function will alter it - this.pie = this.oR.piechart(this.x, this.y, this.r, aVals, { legend: this.options.labels, legendpos: "east", href: this.options.hrefs, colors: aColors }); - this.oR.text(this.x, 10, this.options.chart_label).attr({ font: "20px 'Fontin Sans', Fontin-Sans, sans-serif" }); - this.pie.hover( - function () - { - var positiveAngle = (360 + this.mangle) % 360; - this.sector.attr({opacity: 0.5}); - //this.sector.stop(); - //this.sector.scale(1.1, 1.1, this.cx, this.cy); - - - if (this.label) - { - //this.label[0].stop(); - //this.label[0].attr({ r: 7.5 }); - this.label[1].attr({ "font-weight": 800 }); - - } - if (this.label_highlight == undefined) - { - var oBBox = this.label.getBBox(); - this.label_highlight = this.label_highlight || me.oR.rect(oBBox.x - 2, oBBox.y - 2, oBBox.width + 4, oBBox.height + 4, 4).attr({'stroke': '#ccc', fill: '#ccc'}).toBack(); - } - this.label_highlight.show(); - - //this.marker = this.marker || r.label(this.mx, this.my, this.value.value, 0, 12); - var alpha = 2*Math.PI * this.mangle / 360; - var iDir = Math.floor(((45 + 360 + this.mangle) % 360) / 90); - var aDirs = ['right', 'up', 'left', 'down']; - var sDir = aDirs[iDir]; - this.marker = this.marker || me.oR.popup(this.cx + Math.cos(alpha) *(this.r), this.cy - Math.sin(alpha) *(this.r), me.options.labels[this.value.order]+': '+this.value.valueOf(), sDir); - this.marker.show(); - - }, - function () - { - this.sector.attr({opacity:1}); - //this.sector.animate({ transform: 's1 1 ' + this.cx + ' ' + this.cy }, 500); - if (this.label) - { - //this.label[0].animate({ r: 5 }, 200, "bounce"); - this.label[1].attr({ "font-weight": 400 }); - } - this.marker && this.marker.hide(); - this.label_highlight && this.label_highlight.hide(); - - }); - }, - // events bound via _bind are removed automatically - // revert other modifications here - _destroy: function() - { - this.element - .removeClass('itop-pie_chart'); - - $(window).unbind('resize.pie_chart'); - }, - // _setOptions is called with a hash of all options that are changing - _setOptions: function() - { - // in 1.9 would use _superApply - this._superApply(arguments); - }, - // _setOption is called for each individual option that is changing - _setOption: function( key, value ) - { - // in 1.9 would use _super - this._superApply(arguments); - }, - _compute_size: function() - { - var legendWidth = 100; - var titleHeight = 20; - var iW = this.element.width(); - var iH = this.element.height(); - - if (iH == 0) - { - iH = 0.75*iW; - this.element.height(iH); - } - this.r = (6*Math.min(iW-legendWidth, iH-titleHeight)/7) / 2; // 1/6 is for the drop shadow - - this.x = (iW-legendWidth) / 2; - this.y = titleHeight+(iH-titleHeight) / 2; - }, - _draw_ball: function(x, y, r) - { - return this.oR.set( - this.oR.ellipse(x, y + r - r / 3, r, r / 2).attr({fill: "rhsb(1, 0, .25)-hsb(1, 0, .25)", stroke: "none", opacity: 0}), - this.oR.ellipse(x, y, r, r).attr({fill: "0-#000-#ccc-#000", stroke: "none"}), - this.oR.ellipse(x, y, r*0.95, r*0.95 ).attr({fill: "r(.5,.9)hsb(1, 0, .75)-hsb(1, 0, .25)", stroke: "none"}), - this.oR.ellipse(x, y, r - r / 5, r - r / 20).attr({stroke: "none", fill: "r(.5,.1)#ccc-#ccc", opacity: 0}) - ); - } - }); -}); - -$(function() -{ - // the widget definition, where "itop" is the namespace, - // "heatmap_chart" the widget name - $.widget( "itop.heatmap_chart", - { - // default options - options: - { - chart_id: '', - chart_label: '', - hrefs: {}, - values: {}, - axis_x: {}, - axis_y: {} - }, - - // the constructor - _create: function() - { - var me = this; - - this.element - .addClass('itop-heatmap_chart'); - - this.oR = Raphael(this.element.get(0), this.element.width(), this.element.height()); - this._compute_size(); - this.oR.text(this.x, 10, this.options.chart_label).attr({ font: "20px 'Fontin Sans', Fontin-Sans, sans-serif" }); - - var iX = 0; - - var xs = []; - var axisx = []; - var ys = []; - var axisy = []; - var data = []; - var hrefs = []; - for(var x in this.options.axis_x) - { - var iY = 0; - axisx.push(this.options.axis_x[x]); - - for(var y in this.options.axis_y) - { - xs.push(iX); - ys.push(iY); - data.push(this.options.values[x][y]); - // Not working yet - //hrefs.push(this.options.hrefs[x][y]); - iY = iY + 1; - } - iX = iX + 1; - } - for(var y in this.options.axis_y) - { - axisy.push(this.options.axis_y[y]); - } - /* - xs = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], - ys = [7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], - data = [294, 300, 204, 255, 348, 383, 334, 217, 114, 33, 44, 26, 41, 39, 52, 17, 13, 2, 0, 2, 5, 6, 64, 153, 294, 313, 195, 280, 365, 392, 340, 184, 87, 35, 43, 55, 53, 79, 49, 19, 6, 1, 0, 1, 1, 10, 50, 181, 246, 246, 220, 249, 355, 373, 332, 233, 85, 54, 28, 33, 45, 72, 54, 28, 5, 5, 0, 1, 2, 3, 58, 167, 206, 245, 194, 207, 334, 290, 261, 160, 61, 28, 11, 26, 33, 46, 36, 5, 6, 0, 0, 0, 0, 0, 0, 9, 9, 10, 7, 10, 14, 3, 3, 7, 0, 3, 4, 4, 6, 28, 24, 3, 5, 0, 0, 0, 0, 0, 0, 4, 3, 4, 4, 3, 4, 13, 10, 7, 2, 3, 6, 1, 9, 33, 32, 6, 2, 1, 3, 0, 0, 4, 40, 128, 212, 263, 202, 248, 307, 306, 284, 222, 79, 39, 26, 33, 40, 61, 54, 17, 3, 0, 0, 0, 3, 7, 70, 199], - axisy = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], - axisx = ["12am", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12pm", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11"]; - */ - this.oR.dotchart(10, this.y, this.width, this.height, xs, ys, data, {symbol: "o", max: 30, heat: true, axis: "0 0 1 1", axisxstep: axisx.length - 1, axisystep: axisy.length - 1, axisxlabels: axisx, axisxtype: " ", axisytype: " ", axisylabels: axisy, href: hrefs}).hover(function () { - this.marker = this.marker || me.oR.tag(this.x, this.y, this.value, 0, this.r + 2).insertBefore(this); - this.marker.show(); - }, function () { - this.marker && this.marker.hide(); - }); - - - }, - - // called when created, and later when changing options - _refresh: function() - { - }, - // events bound via _bind are removed automatically - // revert other modifications here - _destroy: function() - { - this.element - .removeClass('itop-heatmap_chart'); - }, - // _setOptions is called with a hash of all options that are changing - _setOptions: function() - { - // in 1.9 would use _superApply - this._superApply(arguments); - }, - // _setOption is called for each individual option that is changing - _setOption: function( key, value ) - { - // in 1.9 would use _super - this._superApply(arguments); - }, - _compute_size: function() - { - var titleHeight = 20; - var iW = this.element.width(); - var iH = this.element.height(); - - if (iH == 0) - { - iH = 0.75*iW; - this.element.height(iH); - } - this.x = (iW) / 2; - this.y = titleHeight; - this.width = iW; - this.height = iH - titleHeight; - } - }); -}); \ No newline at end of file diff --git a/js/dimensions.js b/js/dimensions.js deleted file mode 100644 index cb7922705..000000000 --- a/js/dimensions.js +++ /dev/null @@ -1,317 +0,0 @@ -/** - * This plugin overrides jQuery's height() and width() functions and - * adds more handy stuff for cross-browser compatibility. - */ - -/** - * Returns the css height value for the first matched element. - * If used on document, returns the document's height (innerHeight) - * If used on window, returns the viewport's (window) height - * - * @example $("#testdiv").height() - * @result "200px" - * - * @example $(document).height(); - * @result 800 - * - * @example $(window).height(); - * @result 400 - * - * @name height - * @type Object - * @cat Plugins/Dimensions - */ -jQuery.fn.height = function() { - if ( this.get(0) == window ) - return self.innerHeight || - jQuery.boxModel && document.documentElement.clientHeight || - document.body.clientHeight; - if ( this.get(0) == document ) - return Math.max( document.body.scrollHeight, document.body.offsetHeight ); - - return this.css("height", arguments[0]); -}; - -/** - * Returns the css width value for the first matched element. - * If used on document, returns the document's width (innerWidth) - * If used on window, returns the viewport's (window) width - * - * @example $("#testdiv").width() - * @result "200px" - * - * @example $(document).width(); - * @result 800 - * - * @example $(window).width(); - * @result 400 - * - * @name width - * @type Object - * @cat Plugins/Dimensions - */ -jQuery.fn.width = function() { - if ( this.get(0) == window ) - return self.innerWidth || - jQuery.boxModel && document.documentElement.clientWidth || - document.body.clientWidth; - - if ( this.get(0) == document ) - return Math.max( document.body.scrollWidth, document.body.offsetWidth ); - - return this.css("width", arguments[0]); -}; - -/** - * Returns the inner height value (without border) for the first matched element. - * If used on document, returns the document's height (innerHeight) - * If used on window, returns the viewport's (window) height - * - * @example $("#testdiv").innerHeight() - * @result 800 - * - * @name innerHeight - * @type Number - * @cat Plugins/Dimensions - */ -jQuery.fn.innerHeight = function() { - return this.get(0) == window || this.get(0) == document ? - this.height() : - this.get(0).offsetHeight - parseInt(this.css("borderTop") || 0) - parseInt(this.css("borderBottom") || 0); -}; - -/** - * Returns the inner width value (without border) for the first matched element. - * If used on document, returns the document's Width (innerWidth) - * If used on window, returns the viewport's (window) width - * - * @example $("#testdiv").innerWidth() - * @result 1000 - * - * @name innerWidth - * @type Number - * @cat Plugins/Dimensions - */ -jQuery.fn.innerWidth = function() { - return this.get(0) == window || this.get(0) == document ? - this.width() : - this.get(0).offsetWidth - parseInt(this.css("borderLeft") || 0) - parseInt(this.css("borderRight") || 0); -}; - -/** - * Returns the outer height value (including border) for the first matched element. - * Cannot be used on document or window. - * - * @example $("#testdiv").outerHeight() - * @result 1000 - * - * @name outerHeight - * @type Number - * @cat Plugins/Dimensions - */ -jQuery.fn.outerHeight = function() { - return this.get(0) == window || this.get(0) == document ? - this.height() : - this.get(0).offsetHeight; -}; - -/** - * Returns the outer width value (including border) for the first matched element. - * Cannot be used on document or window. - * - * @example $("#testdiv").outerWidth() - * @result 1000 - * - * @name outerWidth - * @type Number - * @cat Plugins/Dimensions - */ -jQuery.fn.outerWidth = function() { - return this.get(0) == window || this.get(0) == document ? - this.width() : - this.get(0).offsetWidth; -}; - -/** - * Returns how many pixels the user has scrolled to the right (scrollLeft). - * Works on containers with overflow: auto and window/document. - * - * @example $("#testdiv").scrollLeft() - * @result 100 - * - * @name scrollLeft - * @type Number - * @cat Plugins/Dimensions - */ -jQuery.fn.scrollLeft = function() { - if ( this.get(0) == window || this.get(0) == document ) - return self.pageXOffset || - jQuery.boxModel && document.documentElement.scrollLeft || - document.body.scrollLeft; - - return this.get(0).scrollLeft; -}; - -/** - * Returns how many pixels the user has scrolled to the bottom (scrollTop). - * Works on containers with overflow: auto and window/document. - * - * @example $("#testdiv").scrollTop() - * @result 100 - * - * @name scrollTop - * @type Number - * @cat Plugins/Dimensions - */ -jQuery.fn.scrollTop = function() { - if ( this.get(0) == window || this.get(0) == document ) - return self.pageYOffset || - jQuery.boxModel && document.documentElement.scrollTop || - document.body.scrollTop; - - return this.get(0).scrollTop; -}; - -/** - * This returns an object with top, left, width, height, borderLeft, - * borderTop, marginLeft, marginTop, scrollLeft, scrollTop, - * pageXOffset, pageYOffset. - * - * The top and left values include the scroll offsets but the - * scrollLeft and scrollTop properties of the returned object - * are the combined scroll offets of the parent elements - * (not including the window scroll offsets). This is not the - * same as the element's scrollTop and scrollLeft. - * - * For accurate readings make sure to use pixel values. - * - * @name offset - * @type Object - * @cat Plugins/Dimensions - * @author Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net) - */ -/** - * This returns an object with top, left, width, height, borderLeft, - * borderTop, marginLeft, marginTop, scrollLeft, scrollTop, - * pageXOffset, pageYOffset. - * - * The top and left values include the scroll offsets but the - * scrollLeft and scrollTop properties of the returned object - * are the combined scroll offets of the parent elements - * (not including the window scroll offsets). This is not the - * same as the element's scrollTop and scrollLeft. - * - * For accurate readings make sure to use pixel values. - * - * @name offset - * @type Object - * @param String refElement This is an expression. The offset returned will be relative to the first matched element. - * @cat Plugins/Dimensions - * @author Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net) - */ -/** - * This returns an object with top, left, width, height, borderLeft, - * borderTop, marginLeft, marginTop, scrollLeft, scrollTop, - * pageXOffset, pageYOffset. - * - * The top and left values include the scroll offsets but the - * scrollLeft and scrollTop properties of the returned object - * are the combined scroll offets of the parent elements - * (not including the window scroll offsets). This is not the - * same as the element's scrollTop and scrollLeft. - * - * For accurate readings make sure to use pixel values. - * - * @name offset - * @type Object - * @param jQuery refElement The offset returned will be relative to the first matched element. - * @cat Plugins/Dimensions - * @author Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net) - */ -/** - * This returns an object with top, left, width, height, borderLeft, - * borderTop, marginLeft, marginTop, scrollLeft, scrollTop, - * pageXOffset, pageYOffset. - * - * The top and left values include the scroll offsets but the - * scrollLeft and scrollTop properties of the returned object - * are the combined scroll offets of the parent elements - * (not including the window scroll offsets). This is not the - * same as the element's scrollTop and scrollLeft. - * - * For accurate readings make sure to use pixel values. - * - * @name offset - * @type Object - * @param HTMLElement refElement The offset returned will be relative to this element. - * @cat Plugins/Dimensions - * @author Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net) - */ -jQuery.fn.offset = function(refElem) { - if (!this[0]) throw 'jQuery.fn.offset requires an element.'; - - refElem = (refElem) ? jQuery(refElem)[0] : null; - var x = 0, y = 0, elem = this[0], parent = this[0], sl = 0, st = 0; - do { - if (parent.tagName == 'BODY' || parent.tagName == 'HTML') { - // Safari and IE don't add margin for static and relative - if ((jQuery.browser.safari || jQuery.browser.msie) && jQuery.css(parent, 'position') != 'absolute') { - x += parseInt(jQuery.css(parent, 'marginLeft')) || 0; - y += parseInt(jQuery.css(parent, 'marginTop')) || 0; - } - break; - } - - x += parent.offsetLeft || 0; - y += parent.offsetTop || 0; - - // Mozilla and IE do not add the border - if (jQuery.browser.mozilla || jQuery.browser.msie) { - x += parseInt(jQuery.css(parent, 'borderLeftWidth')) || 0; - y += parseInt(jQuery.css(parent, 'borderTopWidth')) || 0; - } - - // Mozilla removes the border if the parent has overflow hidden - if (jQuery.browser.mozilla && jQuery.css(parent, 'overflow') == 'hidden') { - x += parseInt(jQuery.css(parent, 'borderLeftWidth')) || 0; - y += parseInt(jQuery.css(parent, 'borderTopWidth')) || 0; - } - - // Need to get scroll offsets in-between offsetParents - var op = parent.offsetParent; - do { - sl += parent.scrollLeft || 0; - st += parent.scrollTop || 0; - parent = parent.parentNode; - } while (parent != op); - } while (parent); - - if (refElem) { // Get the relative offset - var offset = jQuery(refElem).offset(); - x = x - offset.left; - y = y - offset.top; - sl = sl - offset.scrollLeft; - st = st - offset.scrollTop; - } - - // Safari and Opera do not add the border for the element - if (jQuery.browser.safari || jQuery.browser.opera) { - x += parseInt(jQuery.css(elem, 'borderLeftWidth')) || 0; - y += parseInt(jQuery.css(elem, 'borderTopWidth')) || 0; - } - - return { - top: y - st, - left: x - sl, - width: elem.offsetWidth, - height: elem.offsetHeight, - borderTop: parseInt(jQuery.css(elem, 'borderTopWidth')) || 0, - borderLeft: parseInt(jQuery.css(elem, 'borderLeftWidth')) || 0, - marginTop: parseInt(jQuery.css(elem, 'marginTopWidth')) || 0, - marginLeft: parseInt(jQuery.css(elem, 'marginLeftWidth')) || 0, - scrollTop: st, - scrollLeft: sl, - pageYOffset: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0, - pageXOffset: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0 - }; -}; \ No newline at end of file diff --git a/js/g.dot.js b/js/g.dot.js deleted file mode 100755 index 17f4c965b..000000000 --- a/js/g.dot.js +++ /dev/null @@ -1,156 +0,0 @@ -/*! - * g.Raphael 0.5 - Charting library, based on Raphaël - * - * Copyright (c) 2009 Dmitry Baranovskiy (http://g.raphaeljs.com) - * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license. - */ -(function () { - var colorValue = function (value, total, s, b) { - return 'hsb(' + [Math.min((1 - value / total) * .4, 1), s || .75, b || .75] + ')'; - }; - - function Dotchart(paper, x, y, width, height, valuesx, valuesy, size, opts) { - - var chartinst = this; - - function drawAxis(ax) { - +ax[0] && (ax[0] = chartinst.axis(x + gutter, y + gutter, width - 2 * gutter, minx, maxx, opts.axisxstep || Math.floor((width - 2 * gutter) / 20), 2, opts.axisxlabels || null, opts.axisxtype || "t", null, paper)); - +ax[1] && (ax[1] = chartinst.axis(x + width - gutter, y + height - gutter, height - 2 * gutter, miny, maxy, opts.axisystep || Math.floor((height - 2 * gutter) / 20), 3, opts.axisylabels || null, opts.axisytype || "t", null, paper)); - +ax[2] && (ax[2] = chartinst.axis(x + gutter, y + height - gutter + maxR, width - 2 * gutter, minx, maxx, opts.axisxstep || Math.floor((width - 2 * gutter) / 20), 0, opts.axisxlabels || null, opts.axisxtype || "t", null, paper)); - +ax[3] && (ax[3] = chartinst.axis(x + gutter - maxR, y + height - gutter, height - 2 * gutter, miny, maxy, opts.axisystep || Math.floor((height - 2 * gutter) / 20), 1, opts.axisylabels || null, opts.axisytype || "t", null, paper)); - } - - opts = opts || {}; - var xdim = chartinst.snapEnds(Math.min.apply(Math, valuesx), Math.max.apply(Math, valuesx), valuesx.length - 1), - minx = xdim.from, - maxx = xdim.to, - gutter = opts.gutter || 10, - ydim = chartinst.snapEnds(Math.min.apply(Math, valuesy), Math.max.apply(Math, valuesy), valuesy.length - 1), - miny = ydim.from, - maxy = ydim.to, - len = Math.max(valuesx.length, valuesy.length, size.length), - symbol = paper[opts.symbol] || "circle", - res = paper.set(), - series = paper.set(), - max = opts.max || 100, - top = Math.max.apply(Math, size), - R = [], - k = Math.sqrt(top / Math.PI) * 2 / max; - - for (var i = 0; i < len; i++) { - R[i] = Math.min(Math.sqrt(size[i] / Math.PI) * 2 / k, max); - } - - gutter = Math.max.apply(Math, R.concat(gutter)); - - var axis = paper.set(), - maxR = Math.max.apply(Math, R); - - if (opts.axis) { - var ax = (opts.axis + "").split(/[,\s]+/); - - drawAxis.call(chartinst, ax); - - var g = [], b = []; - - for (var i = 0, ii = ax.length; i < ii; i++) { - var bb = ax[i].all ? ax[i].all.getBBox()[["height", "width"][i % 2]] : 0; - - g[i] = bb + gutter; - b[i] = bb; - } - - gutter = Math.max.apply(Math, g.concat(gutter)); - - for (var i = 0, ii = ax.length; i < ii; i++) if (ax[i].all) { - ax[i].remove(); - ax[i] = 1; - } - - drawAxis.call(chartinst, ax); - - for (var i = 0, ii = ax.length; i < ii; i++) if (ax[i].all) { - axis.push(ax[i].all); - } - - res.axis = axis; - } - - var kx = (width - gutter * 2) / ((maxx - minx) || 1), - ky = (height - gutter * 2) / ((maxy - miny) || 1); - - for (var i = 0, ii = valuesy.length; i < ii; i++) { - var sym = paper.raphael.is(symbol, "array") ? symbol[i] : symbol, - X = x + gutter + (valuesx[i] - minx) * kx, - Y = y + height - gutter - (valuesy[i] - miny) * ky; - - sym && R[i] && series.push(paper[sym](X, Y, R[i]).attr({ fill: opts.heat ? colorValue(R[i], maxR) : chartinst.colors[0], "fill-opacity": opts.opacity ? R[i] / max : 1, stroke: "none" })); - } - - var covers = paper.set(); - - for (var i = 0, ii = valuesy.length; i < ii; i++) { - var X = x + gutter + (valuesx[i] - minx) * kx, - Y = y + height - gutter - (valuesy[i] - miny) * ky; - - covers.push(paper.circle(X, Y, maxR).attr(chartinst.shim)); - opts.href && opts.href[i] && covers[i].attr({href: opts.href[i]}); - covers[i].r = +R[i].toFixed(3); - covers[i].x = +X.toFixed(3); - covers[i].y = +Y.toFixed(3); - covers[i].X = valuesx[i]; - covers[i].Y = valuesy[i]; - covers[i].value = size[i] || 0; - covers[i].dot = series[i]; - } - - res.covers = covers; - res.series = series; - res.push(series, axis, covers); - - res.hover = function (fin, fout) { - covers.mouseover(fin).mouseout(fout); - return this; - }; - - res.click = function (f) { - covers.click(f); - return this; - }; - - res.each = function (f) { - if (!paper.raphael.is(f, "function")) { - return this; - } - - for (var i = covers.length; i--;) { - f.call(covers[i]); - } - - return this; - }; - - res.href = function (map) { - var cover; - - for (var i = covers.length; i--;) { - cover = covers[i]; - - if (cover.X == map.x && cover.Y == map.y && cover.value == map.value) { - cover.attr({href: map.href}); - } - } - }; - return res; - }; - - //inheritance - var F = function() {}; - F.prototype = Raphael.g - Dotchart.prototype = new F; - - //public - Raphael.fn.dotchart = function(x, y, width, height, valuesx, valuesy, size, opts) { - return new Dotchart(this, x, y, width, height, valuesx, valuesy, size, opts); - } -})(); diff --git a/js/g.pie.js b/js/g.pie.js deleted file mode 100755 index 99f4e0f75..000000000 --- a/js/g.pie.js +++ /dev/null @@ -1,255 +0,0 @@ -/* - * g.Raphael 0.5 - Charting library, based on Raphaël - * - * Copyright (c) 2009 Dmitry Baranovskiy (http://g.raphaeljs.com) - * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license. - */ -(function () { - - function Piechart(paper, cx, cy, r, values, opts) { - opts = opts || {}; - - var chartinst = this, - sectors = [], - covers = paper.set(), - chart = paper.set(), - series = paper.set(), - order = [], - len = values.length, - angle = 0, - total = 0, - others = 0, - cut = 9, - defcut = true; - - function sector(cx, cy, r, startAngle, endAngle, fill) { - var rad = Math.PI / 180, - x1 = cx + r * Math.cos(-startAngle * rad), - x2 = cx + r * Math.cos(-endAngle * rad), - xm = cx + r / 2 * Math.cos(-(startAngle + (endAngle - startAngle) / 2) * rad), - y1 = cy + r * Math.sin(-startAngle * rad), - y2 = cy + r * Math.sin(-endAngle * rad), - ym = cy + r / 2 * Math.sin(-(startAngle + (endAngle - startAngle) / 2) * rad), - res = [ - "M", cx, cy, - "L", x1, y1, - "A", r, r, 0, +(Math.abs(endAngle - startAngle) > 180), 1, x2, y2, - "z" - ]; - - res.middle = { x: xm, y: ym }; - return res; - } - - chart.covers = covers; - - if (len == 1) { - series.push(paper.circle(cx, cy, r).attr({ fill: chartinst.colors[0], stroke: opts.stroke || "#fff", "stroke-width": opts.strokewidth == null ? 1 : opts.strokewidth })); - covers.push(paper.circle(cx, cy, r).attr(chartinst.shim)); - total = values[0]; - values[0] = { value: values[0], order: 0, valueOf: function () { return this.value; } }; - series[0].middle = {x: cx, y: cy}; - series[0].mangle = 180; - } else { - for (var i = 0; i < len; i++) { - total += values[i]; - values[i] = { value: values[i], order: i, valueOf: function () { return this.value; } }; - } - - values.sort(function (a, b) { - return b.value - a.value; - }); - - for (i = 0; i < len; i++) { - if (defcut && values[i] * 360 / total <= 1.5) { - cut = i; - defcut = false; - } - - if (i > cut) { - defcut = false; - values[cut].value += values[i]; - values[cut].others = true; - others = values[cut].value; - } - } - - len = Math.min(cut + 1, values.length); - others && values.splice(len) && (values[cut].others = true); - - for (i = 0; i < len; i++) { - var mangle = angle - 360 * values[i] / total / 2; - - if (!i) { - angle = 90 - mangle; - mangle = angle - 360 * values[i] / total / 2; - } - - if (opts.init) { - var ipath = sector(cx, cy, 1, angle, angle - 360 * values[i] / total).join(","); - } - - var path = sector(cx, cy, r, angle, angle -= 360 * values[i] / total); - var p = paper.path(opts.init ? ipath : path).attr({ fill: opts.colors && opts.colors[i] || chartinst.colors[i] || "#666", stroke: opts.stroke || "#fff", "stroke-width": (opts.strokewidth == null ? 1 : opts.strokewidth), "stroke-linejoin": "round" }); - - p.value = values[i]; - p.middle = path.middle; - p.mangle = mangle; - sectors.push(p); - series.push(p); - opts.init && p.animate({ path: path.join(",") }, (+opts.init - 1) || 1000, ">"); - } - - for (i = 0; i < len; i++) { - p = paper.path(sectors[i].attr("path")).attr(chartinst.shim); - p.attr = function () {}; - opts.href && opts.href[i] && p.attr({ href: opts.href[i] }); - covers.push(p); - series.push(p); - } - } - - chart.hover = function (fin, fout) { - fout = fout || function () {}; - - var that = this; - - for (var i = 0; i < len; i++) { - (function (sector, cover, j) { - var o = { - sector: sector, - cover: cover, - cx: cx, - cy: cy, - mx: sector.middle.x, - my: sector.middle.y, - mangle: sector.mangle, - r: r, - value: values[j], - total: total, - label: that.labels && that.labels[j] - }; - cover.mouseover(function () { - fin.call(o); - }).mouseout(function () { - fout.call(o); - }); - })(series[i], covers[i], i); - } - return this; - }; - - // x: where label could be put - // y: where label could be put - // value: value to show - // total: total number to count % - chart.each = function (f) { - var that = this; - - for (var i = 0; i < len; i++) { - (function (sector, cover, j) { - var o = { - sector: sector, - cover: cover, - cx: cx, - cy: cy, - x: sector.middle.x, - y: sector.middle.y, - mangle: sector.mangle, - r: r, - value: values[j], - total: total, - label: that.labels && that.labels[j] - }; - f.call(o); - })(series[i], covers[i], i); - } - return this; - }; - - chart.click = function (f) { - var that = this; - - for (var i = 0; i < len; i++) { - (function (sector, cover, j) { - var o = { - sector: sector, - cover: cover, - cx: cx, - cy: cy, - mx: sector.middle.x, - my: sector.middle.y, - mangle: sector.mangle, - r: r, - value: values[j], - total: total, - label: that.labels && that.labels[j] - }; - cover.click(function () { f.call(o); }); - })(series[i], covers[i], i); - } - return this; - }; - - chart.inject = function (element) { - element.insertBefore(covers[0]); - }; - - var legend = function (labels, otherslabel, mark, dir) { - var x = cx + r + r / 5, - y = cy, - h = y + 10; - - labels = labels || []; - dir = (dir && dir.toLowerCase && dir.toLowerCase()) || "east"; - mark = paper[mark && mark.toLowerCase()] || "circle"; - chart.labels = paper.set(); - - for (var i = 0; i < len; i++) { - var clr = series[i].attr("fill"), - j = values[i].order, - txt; - - values[i].others && (labels[j] = otherslabel || "Others"); - labels[j] = chartinst.labelise(labels[j], values[i], total); - chart.labels.push(paper.set()); - chart.labels[i].push(paper[mark](x + 5, h, 5).attr({ fill: clr, stroke: "none" })); - chart.labels[i].push(txt = paper.text(x + 20, h, labels[j] || values[j]).attr(chartinst.txtattr).attr({ fill: opts.legendcolor || "#000", "text-anchor": "start"})); - covers[i].label = chart.labels[i]; - h += txt.getBBox().height * 1.2; - } - - var bb = chart.labels.getBBox(), - tr = { - east: [0, -bb.height / 2], - west: [-bb.width - 2 * r - 20, -bb.height / 2], - north: [-r - bb.width / 2, -r - bb.height - 10], - south: [-r - bb.width / 2, r + 10] - }[dir]; - - chart.labels.translate.apply(chart.labels, tr); - chart.push(chart.labels); - }; - - if (opts.legend) { - legend(opts.legend, opts.legendothers, opts.legendmark, opts.legendpos); - } - - chart.push(series, covers); - chart.series = series; - chart.covers = covers; - - return chart; - }; - - //inheritance - var F = function() {}; - F.prototype = Raphael.g; - Piechart.prototype = new F; - - //public - Raphael.fn.piechart = function(cx, cy, r, values, opts) { - return new Piechart(this, cx, cy, r, values, opts); - } - -})(); diff --git a/js/g.raphael.js b/js/g.raphael.js deleted file mode 100755 index f49ffb510..000000000 --- a/js/g.raphael.js +++ /dev/null @@ -1,887 +0,0 @@ -/*! - * g.Raphael 0.5 - Charting library, based on Raphaël - * - * Copyright (c) 2009 Dmitry Baranovskiy (http://g.raphaeljs.com) - * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license. - */ - -/* - * Tooltips on Element prototype - */ -/*\ - * Element.popup - [ method ] - ** - * Puts the context Element in a 'popup' tooltip. Can also be used on sets. - ** - > Parameters - ** - - dir (string) location of Element relative to the tail: `'down'`, `'left'`, `'up'` [default], or `'right'`. - - size (number) amount of bevel/padding around the Element, as well as half the width and height of the tail [default: `5`] - - x (number) x coordinate of the popup's tail [default: Element's `x` or `cx`] - - y (number) y coordinate of the popup's tail [default: Element's `y` or `cy`] - ** - = (object) path element of the popup - > Usage - | paper.circle(50, 50, 5).attr({ - | stroke: "#fff", - | fill: "0-#c9de96-#8ab66b:44-#398235" - | }).popup(); - \*/ -Raphael.el.popup = function (dir, size, x, y) { - var paper = this.paper || this[0].paper, - bb, xy, center, cw, ch; - - if (!paper) return; - - switch (this.type) { - case 'text': - case 'circle': - case 'ellipse': center = true; break; - default: center = false; - } - - dir = dir == null ? 'up' : dir; - size = size || 5; - bb = this.getBBox(); - - x = typeof x == 'number' ? x : (center ? bb.x + bb.width / 2 : bb.x); - y = typeof y == 'number' ? y : (center ? bb.y + bb.height / 2 : bb.y); - cw = Math.max(bb.width / 2 - size, 0); - ch = Math.max(bb.height / 2 - size, 0); - - this.translate(x - bb.x - (center ? bb.width / 2 : 0), y - bb.y - (center ? bb.height / 2 : 0)); - bb = this.getBBox(); - - var paths = { - up: [ - 'M', x, y, - 'l', -size, -size, -cw, 0, - 'a', size, size, 0, 0, 1, -size, -size, - 'l', 0, -bb.height, - 'a', size, size, 0, 0, 1, size, -size, - 'l', size * 2 + cw * 2, 0, - 'a', size, size, 0, 0, 1, size, size, - 'l', 0, bb.height, - 'a', size, size, 0, 0, 1, -size, size, - 'l', -cw, 0, - 'z' - ].join(','), - down: [ - 'M', x, y, - 'l', size, size, cw, 0, - 'a', size, size, 0, 0, 1, size, size, - 'l', 0, bb.height, - 'a', size, size, 0, 0, 1, -size, size, - 'l', -(size * 2 + cw * 2), 0, - 'a', size, size, 0, 0, 1, -size, -size, - 'l', 0, -bb.height, - 'a', size, size, 0, 0, 1, size, -size, - 'l', cw, 0, - 'z' - ].join(','), - left: [ - 'M', x, y, - 'l', -size, size, 0, ch, - 'a', size, size, 0, 0, 1, -size, size, - 'l', -bb.width, 0, - 'a', size, size, 0, 0, 1, -size, -size, - 'l', 0, -(size * 2 + ch * 2), - 'a', size, size, 0, 0, 1, size, -size, - 'l', bb.width, 0, - 'a', size, size, 0, 0, 1, size, size, - 'l', 0, ch, - 'z' - ].join(','), - right: [ - 'M', x, y, - 'l', size, -size, 0, -ch, - 'a', size, size, 0, 0, 1, size, -size, - 'l', bb.width, 0, - 'a', size, size, 0, 0, 1, size, size, - 'l', 0, size * 2 + ch * 2, - 'a', size, size, 0, 0, 1, -size, size, - 'l', -bb.width, 0, - 'a', size, size, 0, 0, 1, -size, -size, - 'l', 0, -ch, - 'z' - ].join(',') - }; - - xy = { - up: { x: -!center * (bb.width / 2), y: -size * 2 - (center ? bb.height / 2 : bb.height) }, - down: { x: -!center * (bb.width / 2), y: size * 2 + (center ? bb.height / 2 : bb.height) }, - left: { x: -size * 2 - (center ? bb.width / 2 : bb.width), y: -!center * (bb.height / 2) }, - right: { x: size * 2 + (center ? bb.width / 2 : bb.width), y: -!center * (bb.height / 2) } - }[dir]; - - this.translate(xy.x, xy.y); - return paper.path(paths[dir]).attr({ fill: "#000", stroke: "none" }).insertBefore(this.node ? this : this[0]); -}; - -/*\ - * Element.tag - [ method ] - ** - * Puts the context Element in a 'tag' tooltip. Can also be used on sets. - ** - > Parameters - ** - - angle (number) angle of orientation in degrees [default: `0`] - - r (number) radius of the loop [default: `5`] - - x (number) x coordinate of the center of the tag loop [default: Element's `x` or `cx`] - - y (number) y coordinate of the center of the tag loop [default: Element's `x` or `cx`] - ** - = (object) path element of the tag - > Usage - | paper.circle(50, 50, 15).attr({ - | stroke: "#fff", - | fill: "0-#c9de96-#8ab66b:44-#398235" - | }).tag(60); - \*/ -Raphael.el.tag = function (angle, r, x, y) { - var d = 3, - paper = this.paper || this[0].paper; - - if (!paper) return; - - var p = paper.path().attr({ fill: '#000', stroke: '#000' }), - bb = this.getBBox(), - dx, R, center, tmp; - - switch (this.type) { - case 'text': - case 'circle': - case 'ellipse': center = true; break; - default: center = false; - } - - angle = angle || 0; - x = typeof x == 'number' ? x : (center ? bb.x + bb.width / 2 : bb.x); - y = typeof y == 'number' ? y : (center ? bb.y + bb.height / 2 : bb.y); - r = r == null ? 5 : r; - R = .5522 * r; - - if (bb.height >= r * 2) { - p.attr({ - path: [ - "M", x, y + r, - "a", r, r, 0, 1, 1, 0, -r * 2, r, r, 0, 1, 1, 0, r * 2, - "m", 0, -r * 2 -d, - "a", r + d, r + d, 0, 1, 0, 0, (r + d) * 2, - "L", x + r + d, y + bb.height / 2 + d, - "l", bb.width + 2 * d, 0, 0, -bb.height - 2 * d, -bb.width - 2 * d, 0, - "L", x, y - r - d - ].join(",") - }); - } else { - dx = Math.sqrt(Math.pow(r + d, 2) - Math.pow(bb.height / 2 + d, 2)); - p.attr({ - path: [ - "M", x, y + r, - "c", -R, 0, -r, R - r, -r, -r, 0, -R, r - R, -r, r, -r, R, 0, r, r - R, r, r, 0, R, R - r, r, -r, r, - "M", x + dx, y - bb.height / 2 - d, - "a", r + d, r + d, 0, 1, 0, 0, bb.height + 2 * d, - "l", r + d - dx + bb.width + 2 * d, 0, 0, -bb.height - 2 * d, - "L", x + dx, y - bb.height / 2 - d - ].join(",") - }); - } - - angle = 360 - angle; - p.rotate(angle, x, y); - - if (this.attrs) { - //elements - this.attr(this.attrs.x ? 'x' : 'cx', x + r + d + (!center ? this.type == 'text' ? bb.width : 0 : bb.width / 2)).attr('y', center ? y : y - bb.height / 2); - this.rotate(angle, x, y); - angle > 90 && angle < 270 && this.attr(this.attrs.x ? 'x' : 'cx', x - r - d - (!center ? bb.width : bb.width / 2)).rotate(180, x, y); - } else { - //sets - if (angle > 90 && angle < 270) { - this.translate(x - bb.x - bb.width - r - d, y - bb.y - bb.height / 2); - this.rotate(angle - 180, bb.x + bb.width + r + d, bb.y + bb.height / 2); - } else { - this.translate(x - bb.x + r + d, y - bb.y - bb.height / 2); - this.rotate(angle, bb.x - r - d, bb.y + bb.height / 2); - } - } - - return p.insertBefore(this.node ? this : this[0]); -}; - -/*\ - * Element.drop - [ method ] - ** - * Puts the context Element in a 'drop' tooltip. Can also be used on sets. - ** - > Parameters - ** - - angle (number) angle of orientation in degrees [default: `0`] - - x (number) x coordinate of the drop's point [default: Element's `x` or `cx`] - - y (number) y coordinate of the drop's point [default: Element's `x` or `cx`] - ** - = (object) path element of the drop - > Usage - | paper.circle(50, 50, 8).attr({ - | stroke: "#fff", - | fill: "0-#c9de96-#8ab66b:44-#398235" - | }).drop(60); - \*/ -Raphael.el.drop = function (angle, x, y) { - var bb = this.getBBox(), - paper = this.paper || this[0].paper, - center, size, p, dx, dy; - - if (!paper) return; - - switch (this.type) { - case 'text': - case 'circle': - case 'ellipse': center = true; break; - default: center = false; - } - - angle = angle || 0; - - x = typeof x == 'number' ? x : (center ? bb.x + bb.width / 2 : bb.x); - y = typeof y == 'number' ? y : (center ? bb.y + bb.height / 2 : bb.y); - size = Math.max(bb.width, bb.height) + Math.min(bb.width, bb.height); - p = paper.path([ - "M", x, y, - "l", size, 0, - "A", size * .4, size * .4, 0, 1, 0, x + size * .7, y - size * .7, - "z" - ]).attr({fill: "#000", stroke: "none"}).rotate(22.5 - angle, x, y); - - angle = (angle + 90) * Math.PI / 180; - dx = (x + size * Math.sin(angle)) - (center ? 0 : bb.width / 2); - dy = (y + size * Math.cos(angle)) - (center ? 0 : bb.height / 2); - - this.attrs ? - this.attr(this.attrs.x ? 'x' : 'cx', dx).attr(this.attrs.y ? 'y' : 'cy', dy) : - this.translate(dx - bb.x, dy - bb.y); - - return p.insertBefore(this.node ? this : this[0]); -}; - -/*\ - * Element.flag - [ method ] - ** - * Puts the context Element in a 'flag' tooltip. Can also be used on sets. - ** - > Parameters - ** - - angle (number) angle of orientation in degrees [default: `0`] - - x (number) x coordinate of the flag's point [default: Element's `x` or `cx`] - - y (number) y coordinate of the flag's point [default: Element's `x` or `cx`] - ** - = (object) path element of the flag - > Usage - | paper.circle(50, 50, 10).attr({ - | stroke: "#fff", - | fill: "0-#c9de96-#8ab66b:44-#398235" - | }).flag(60); - \*/ -Raphael.el.flag = function (angle, x, y) { - var d = 3, - paper = this.paper || this[0].paper; - - if (!paper) return; - - var p = paper.path().attr({ fill: '#000', stroke: '#000' }), - bb = this.getBBox(), - h = bb.height / 2, - center; - - switch (this.type) { - case 'text': - case 'circle': - case 'ellipse': center = true; break; - default: center = false; - } - - angle = angle || 0; - x = typeof x == 'number' ? x : (center ? bb.x + bb.width / 2 : bb.x); - y = typeof y == 'number' ? y : (center ? bb.y + bb.height / 2: bb.y); - - p.attr({ - path: [ - "M", x, y, - "l", h + d, -h - d, bb.width + 2 * d, 0, 0, bb.height + 2 * d, -bb.width - 2 * d, 0, - "z" - ].join(",") - }); - - angle = 360 - angle; - p.rotate(angle, x, y); - - if (this.attrs) { - //elements - this.attr(this.attrs.x ? 'x' : 'cx', x + h + d + (!center ? this.type == 'text' ? bb.width : 0 : bb.width / 2)).attr('y', center ? y : y - bb.height / 2); - this.rotate(angle, x, y); - angle > 90 && angle < 270 && this.attr(this.attrs.x ? 'x' : 'cx', x - h - d - (!center ? bb.width : bb.width / 2)).rotate(180, x, y); - } else { - //sets - if (angle > 90 && angle < 270) { - this.translate(x - bb.x - bb.width - h - d, y - bb.y - bb.height / 2); - this.rotate(angle - 180, bb.x + bb.width + h + d, bb.y + bb.height / 2); - } else { - this.translate(x - bb.x + h + d, y - bb.y - bb.height / 2); - this.rotate(angle, bb.x - h - d, bb.y + bb.height / 2); - } - } - - return p.insertBefore(this.node ? this : this[0]); -}; - -/*\ - * Element.label - [ method ] - ** - * Puts the context Element in a 'label' tooltip. Can also be used on sets. - ** - = (object) path element of the label. - > Usage - | paper.circle(50, 50, 10).attr({ - | stroke: "#fff", - | fill: "0-#c9de96-#8ab66b:44-#398235" - | }).label(); - \*/ -Raphael.el.label = function () { - var bb = this.getBBox(), - paper = this.paper || this[0].paper, - r = Math.min(20, bb.width + 10, bb.height + 10) / 2; - - if (!paper) return; - - return paper.rect(bb.x - r / 2, bb.y - r / 2, bb.width + r, bb.height + r, r).attr({ stroke: 'none', fill: '#000' }).insertBefore(this.node ? this : this[0]); -}; - -/*\ - * Element.blob - [ method ] - ** - * Puts the context Element in a 'blob' tooltip. Can also be used on sets. - ** - > Parameters - ** - - angle (number) angle of orientation in degrees [default: `0`] - - x (number) x coordinate of the blob's tail [default: Element's `x` or `cx`] - - y (number) y coordinate of the blob's tail [default: Element's `x` or `cx`] - ** - = (object) path element of the blob - > Usage - | paper.circle(50, 50, 8).attr({ - | stroke: "#fff", - | fill: "0-#c9de96-#8ab66b:44-#398235" - | }).blob(60); - \*/ -Raphael.el.blob = function (angle, x, y) { - var bb = this.getBBox(), - rad = Math.PI / 180, - paper = this.paper || this[0].paper, - p, center, size; - - if (!paper) return; - - switch (this.type) { - case 'text': - case 'circle': - case 'ellipse': center = true; break; - default: center = false; - } - - p = paper.path().attr({ fill: "#000", stroke: "none" }); - angle = (+angle + 1 ? angle : 45) + 90; - size = Math.min(bb.height, bb.width); - x = typeof x == 'number' ? x : (center ? bb.x + bb.width / 2 : bb.x); - y = typeof y == 'number' ? y : (center ? bb.y + bb.height / 2 : bb.y); - - var w = Math.max(bb.width + size, size * 25 / 12), - h = Math.max(bb.height + size, size * 25 / 12), - x2 = x + size * Math.sin((angle - 22.5) * rad), - y2 = y + size * Math.cos((angle - 22.5) * rad), - x1 = x + size * Math.sin((angle + 22.5) * rad), - y1 = y + size * Math.cos((angle + 22.5) * rad), - dx = (x1 - x2) / 2, - dy = (y1 - y2) / 2, - rx = w / 2, - ry = h / 2, - k = -Math.sqrt(Math.abs(rx * rx * ry * ry - rx * rx * dy * dy - ry * ry * dx * dx) / (rx * rx * dy * dy + ry * ry * dx * dx)), - cx = k * rx * dy / ry + (x1 + x2) / 2, - cy = k * -ry * dx / rx + (y1 + y2) / 2; - - p.attr({ - x: cx, - y: cy, - path: [ - "M", x, y, - "L", x1, y1, - "A", rx, ry, 0, 1, 1, x2, y2, - "z" - ].join(",") - }); - - this.translate(cx - bb.x - bb.width / 2, cy - bb.y - bb.height / 2); - - return p.insertBefore(this.node ? this : this[0]); -}; - -/* - * Tooltips on Paper prototype - */ -/*\ - * Paper.label - [ method ] - ** - * Puts the given `text` into a 'label' tooltip. The text is given a default style according to @g.txtattr. See @Element.label - ** - > Parameters - ** - - x (number) x coordinate of the center of the label - - y (number) y coordinate of the center of the label - - text (string) text to place inside the label - ** - = (object) set containing the label path and the text element - > Usage - | paper.label(50, 50, "$9.99"); - \*/ -Raphael.fn.label = function (x, y, text) { - var set = this.set(); - - text = this.text(x, y, text).attr(Raphael.g.txtattr); - return set.push(text.label(), text); -}; - -/*\ - * Paper.popup - [ method ] - ** - * Puts the given `text` into a 'popup' tooltip. The text is given a default style according to @g.txtattr. See @Element.popup - * - * Note: The `dir` parameter has changed from g.Raphael 0.4.1 to 0.5. The options `0`, `1`, `2`, and `3` has been changed to `'down'`, `'left'`, `'up'`, and `'right'` respectively. - ** - > Parameters - ** - - x (number) x coordinate of the popup's tail - - y (number) y coordinate of the popup's tail - - text (string) text to place inside the popup - - dir (string) location of the text relative to the tail: `'down'`, `'left'`, `'up'` [default], or `'right'`. - - size (number) amount of padding around the Element [default: `5`] - ** - = (object) set containing the popup path and the text element - > Usage - | paper.popup(50, 50, "$9.99", 'down'); - \*/ -Raphael.fn.popup = function (x, y, text, dir, size) { - var set = this.set(); - - text = this.text(x, y, text).attr(Raphael.g.txtattr); - return set.push(text.popup(dir, size), text); -}; - -/*\ - * Paper.tag - [ method ] - ** - * Puts the given text into a 'tag' tooltip. The text is given a default style according to @g.txtattr. See @Element.tag - ** - > Parameters - ** - - x (number) x coordinate of the center of the tag loop - - y (number) y coordinate of the center of the tag loop - - text (string) text to place inside the tag - - angle (number) angle of orientation in degrees [default: `0`] - - r (number) radius of the loop [default: `5`] - ** - = (object) set containing the tag path and the text element - > Usage - | paper.tag(50, 50, "$9.99", 60); - \*/ -Raphael.fn.tag = function (x, y, text, angle, r) { - var set = this.set(); - - text = this.text(x, y, text).attr(Raphael.g.txtattr); - return set.push(text.tag(angle, r), text); -}; - -/*\ - * Paper.flag - [ method ] - ** - * Puts the given `text` into a 'flag' tooltip. The text is given a default style according to @g.txtattr. See @Element.flag - ** - > Parameters - ** - - x (number) x coordinate of the flag's point - - y (number) y coordinate of the flag's point - - text (string) text to place inside the flag - - angle (number) angle of orientation in degrees [default: `0`] - ** - = (object) set containing the flag path and the text element - > Usage - | paper.flag(50, 50, "$9.99", 60); - \*/ -Raphael.fn.flag = function (x, y, text, angle) { - var set = this.set(); - - text = this.text(x, y, text).attr(Raphael.g.txtattr); - return set.push(text.flag(angle), text); -}; - -/*\ - * Paper.drop - [ method ] - ** - * Puts the given text into a 'drop' tooltip. The text is given a default style according to @g.txtattr. See @Element.drop - ** - > Parameters - ** - - x (number) x coordinate of the drop's point - - y (number) y coordinate of the drop's point - - text (string) text to place inside the drop - - angle (number) angle of orientation in degrees [default: `0`] - ** - = (object) set containing the drop path and the text element - > Usage - | paper.drop(50, 50, "$9.99", 60); - \*/ -Raphael.fn.drop = function (x, y, text, angle) { - var set = this.set(); - - text = this.text(x, y, text).attr(Raphael.g.txtattr); - return set.push(text.drop(angle), text); -}; - -/*\ - * Paper.blob - [ method ] - ** - * Puts the given text into a 'blob' tooltip. The text is given a default style according to @g.txtattr. See @Element.blob - ** - > Parameters - ** - - x (number) x coordinate of the blob's tail - - y (number) y coordinate of the blob's tail - - text (string) text to place inside the blob - - angle (number) angle of orientation in degrees [default: `0`] - ** - = (object) set containing the blob path and the text element - > Usage - | paper.blob(50, 50, "$9.99", 60); - \*/ -Raphael.fn.blob = function (x, y, text, angle) { - var set = this.set(); - - text = this.text(x, y, text).attr(Raphael.g.txtattr); - return set.push(text.blob(angle), text); -}; - -/** - * Brightness functions on the Element prototype - */ -/*\ - * Element.lighter - [ method ] - ** - * Makes the context element lighter by increasing the brightness and reducing the saturation by a given factor. Can be called on Sets. - ** - > Parameters - ** - - times (number) adjustment factor [default: `2`] - ** - = (object) Element - > Usage - | paper.circle(50, 50, 20).attr({ - | fill: "#ff0000", - | stroke: "#fff", - | "stroke-width": 2 - | }).lighter(6); - \*/ -Raphael.el.lighter = function (times) { - times = times || 2; - - var fs = [this.attrs.fill, this.attrs.stroke]; - - this.fs = this.fs || [fs[0], fs[1]]; - - fs[0] = Raphael.rgb2hsb(Raphael.getRGB(fs[0]).hex); - fs[1] = Raphael.rgb2hsb(Raphael.getRGB(fs[1]).hex); - fs[0].b = Math.min(fs[0].b * times, 1); - fs[0].s = fs[0].s / times; - fs[1].b = Math.min(fs[1].b * times, 1); - fs[1].s = fs[1].s / times; - - this.attr({fill: "hsb(" + [fs[0].h, fs[0].s, fs[0].b] + ")", stroke: "hsb(" + [fs[1].h, fs[1].s, fs[1].b] + ")"}); - return this; -}; - -/*\ - * Element.darker - [ method ] - ** - * Makes the context element darker by decreasing the brightness and increasing the saturation by a given factor. Can be called on Sets. - ** - > Parameters - ** - - times (number) adjustment factor [default: `2`] - ** - = (object) Element - > Usage - | paper.circle(50, 50, 20).attr({ - | fill: "#ff0000", - | stroke: "#fff", - | "stroke-width": 2 - | }).darker(6); - \*/ -Raphael.el.darker = function (times) { - times = times || 2; - - var fs = [this.attrs.fill, this.attrs.stroke]; - - this.fs = this.fs || [fs[0], fs[1]]; - - fs[0] = Raphael.rgb2hsb(Raphael.getRGB(fs[0]).hex); - fs[1] = Raphael.rgb2hsb(Raphael.getRGB(fs[1]).hex); - fs[0].s = Math.min(fs[0].s * times, 1); - fs[0].b = fs[0].b / times; - fs[1].s = Math.min(fs[1].s * times, 1); - fs[1].b = fs[1].b / times; - - this.attr({fill: "hsb(" + [fs[0].h, fs[0].s, fs[0].b] + ")", stroke: "hsb(" + [fs[1].h, fs[1].s, fs[1].b] + ")"}); - return this; -}; - -/*\ - * Element.resetBrightness - [ method ] - ** - * Resets brightness and saturation levels to their original values. See @Element.lighter and @Element.darker. Can be called on Sets. - ** - = (object) Element - > Usage - | paper.circle(50, 50, 20).attr({ - | fill: "#ff0000", - | stroke: "#fff", - | "stroke-width": 2 - | }).lighter(6).resetBrightness(); - \*/ -Raphael.el.resetBrightness = function () { - if (this.fs) { - this.attr({ fill: this.fs[0], stroke: this.fs[1] }); - delete this.fs; - } - return this; -}; - -//alias to set prototype -(function () { - var brightness = ['lighter', 'darker', 'resetBrightness'], - tooltips = ['popup', 'tag', 'flag', 'label', 'drop', 'blob']; - - for (var f in tooltips) (function (name) { - Raphael.st[name] = function () { - return Raphael.el[name].apply(this, arguments); - }; - })(tooltips[f]); - - for (var f in brightness) (function (name) { - Raphael.st[name] = function () { - for (var i = 0; i < this.length; i++) { - this[i][name].apply(this[i], arguments); - } - - return this; - }; - })(brightness[f]); -})(); - -//chart prototype for storing common functions -Raphael.g = { - /*\ - * g.shim - [ object ] - ** - * An attribute object that charts will set on all generated shims (shims being the invisible objects that mouse events are bound to) - ** - > Default value - | { stroke: 'none', fill: '#000', 'fill-opacity': 0 } - \*/ - shim: { stroke: 'none', fill: '#000', 'fill-opacity': 0 }, - - /*\ - * g.txtattr - [ object ] - ** - * An attribute object that charts and tooltips will set on any generated text - ** - > Default value - | { font: '12px Arial, sans-serif', fill: '#fff' } - \*/ - txtattr: { font: '12px Arial, sans-serif', fill: '#fff' }, - - /*\ - * g.colors - [ array ] - ** - * An array of color values that charts will iterate through when drawing chart data values. - ** - \*/ - colors: (function () { - var hues = [.6, .2, .05, .1333, .75, 0], - colors = []; - - for (var i = 0; i < 10; i++) { - if (i < hues.length) { - colors.push('hsb(' + hues[i] + ',.75, .75)'); - } else { - colors.push('hsb(' + hues[i - hues.length] + ', 1, .5)'); - } - } - - return colors; - })(), - - snapEnds: function(from, to, steps) { - var f = from, - t = to; - - if (f == t) { - return {from: f, to: t, power: 0}; - } - - function round(a) { - return Math.abs(a - .5) < .25 ? ~~(a) + .5 : Math.round(a); - } - - var d = (t - f) / steps, - r = ~~(d), - R = r, - i = 0; - - if (r) { - while (R) { - i--; - R = ~~(d * Math.pow(10, i)) / Math.pow(10, i); - } - - i ++; - } else { - while (!r) { - i = i || 1; - r = ~~(d * Math.pow(10, i)) / Math.pow(10, i); - i++; - } - - i && i--; - } - - t = round(to * Math.pow(10, i)) / Math.pow(10, i); - - if (t < to) { - t = round((to + .5) * Math.pow(10, i)) / Math.pow(10, i); - } - - f = round((from - (i > 0 ? 0 : .5)) * Math.pow(10, i)) / Math.pow(10, i); - return { from: f, to: t, power: i }; - }, - - axis: function (x, y, length, from, to, steps, orientation, labels, type, dashsize, paper) { - dashsize = dashsize == null ? 2 : dashsize; - type = type || "t"; - steps = steps || 10; - paper = arguments[arguments.length-1] //paper is always last argument - - var path = type == "|" || type == " " ? ["M", x + .5, y, "l", 0, .001] : orientation == 1 || orientation == 3 ? ["M", x + .5, y, "l", 0, -length] : ["M", x, y + .5, "l", length, 0], - ends = this.snapEnds(from, to, steps), - f = ends.from, - t = ends.to, - i = ends.power, - j = 0, - txtattr = { font: "11px 'Fontin Sans', Fontin-Sans, sans-serif" }, - text = paper.set(), - d; - - d = (t - f) / steps; - - var label = f, - rnd = i > 0 ? i : 0; - dx = length / steps; - - if (+orientation == 1 || +orientation == 3) { - var Y = y, - addon = (orientation - 1 ? 1 : -1) * (dashsize + 3 + !!(orientation - 1)); - - while (Y >= y - length) { - type != "-" && type != " " && (path = path.concat(["M", x - (type == "+" || type == "|" ? dashsize : !(orientation - 1) * dashsize * 2), Y + .5, "l", dashsize * 2 + 1, 0])); - text.push(paper.text(x + addon, Y, (labels && labels[j++]) || (Math.round(label) == label ? label : +label.toFixed(rnd))).attr(txtattr).attr({ "text-anchor": orientation - 1 ? "start" : "end" })); - label += d; - Y -= dx; - } - - if (Math.round(Y + dx - (y - length))) { - type != "-" && type != " " && (path = path.concat(["M", x - (type == "+" || type == "|" ? dashsize : !(orientation - 1) * dashsize * 2), y - length + .5, "l", dashsize * 2 + 1, 0])); - text.push(paper.text(x + addon, y - length, (labels && labels[j]) || (Math.round(label) == label ? label : +label.toFixed(rnd))).attr(txtattr).attr({ "text-anchor": orientation - 1 ? "start" : "end" })); - } - } else { - label = f; - rnd = (i > 0) * i; - addon = (orientation ? -1 : 1) * (dashsize + 9 + !orientation); - - var X = x, - dx = length / steps, - txt = 0, - prev = 0; - - while (X <= x + length) { - type != "-" && type != " " && (path = path.concat(["M", X + .5, y - (type == "+" ? dashsize : !!orientation * dashsize * 2), "l", 0, dashsize * 2 + 1])); - text.push(txt = paper.text(X, y + addon, (labels && labels[j++]) || (Math.round(label) == label ? label : +label.toFixed(rnd))).attr(txtattr)); - - var bb = txt.getBBox(); - - if (prev >= bb.x - 5) { - text.pop(text.length - 1).remove(); - } else { - prev = bb.x + bb.width; - } - - label += d; - X += dx; - } - - if (Math.round(X - dx - x - length)) { - type != "-" && type != " " && (path = path.concat(["M", x + length + .5, y - (type == "+" ? dashsize : !!orientation * dashsize * 2), "l", 0, dashsize * 2 + 1])); - text.push(paper.text(x + length, y + addon, (labels && labels[j]) || (Math.round(label) == label ? label : +label.toFixed(rnd))).attr(txtattr)); - } - } - - var res = paper.path(path); - - res.text = text; - res.all = paper.set([res, text]); - res.remove = function () { - this.text.remove(); - this.constructor.prototype.remove.call(this); - }; - - return res; - }, - - labelise: function(label, val, total) { - if (label) { - return (label + "").replace(/(##+(?:\.#+)?)|(%%+(?:\.%+)?)/g, function (all, value, percent) { - if (value) { - return (+val).toFixed(value.replace(/^#+\.?/g, "").length); - } - if (percent) { - return (val * 100 / total).toFixed(percent.replace(/^%+\.?/g, "").length) + "%"; - } - }); - } else { - return (+val).toFixed(0); - } - } -} diff --git a/js/jqModal.js b/js/jqModal.js deleted file mode 100644 index 4257d8122..000000000 --- a/js/jqModal.js +++ /dev/null @@ -1,67 +0,0 @@ -/* - * jqModal - Minimalist Modaling with jQuery - * - * Copyright (c) 2007 Brice Burgess , http://www.iceburg.net - * Licensed under the MIT License: - * http://www.opensource.org/licenses/mit-license.php - * - * $Version: 2007.08.17 +r11 - * - */ -(function($) { -$.fn.jqm=function(o){ -var _o = { -zIndex: 3000, -overlay: 50, -overlayClass: 'jqmOverlay', -closeClass: 'jqmClose', -trigger: '.jqModal', -ajax: false, -target: false, -modal: false, -toTop: false, -onShow: false, -onHide: false, -onLoad: false -}; -return this.each(function(){if(this._jqm)return; s++; this._jqm=s; -H[s]={c:$.extend(_o, o),a:false,w:$(this).addClass('jqmID'+s),s:s}; -if(_o.trigger)$(this).jqmAddTrigger(_o.trigger); -});}; - -$.fn.jqmAddClose=function(e){hs(this,e,'jqmHide'); return this;}; -$.fn.jqmAddTrigger=function(e){hs(this,e,'jqmShow'); return this;}; -$.fn.jqmShow=function(t){return this.each(function(){if(!H[this._jqm].a)$.jqm.open(this._jqm,t)});}; -$.fn.jqmHide=function(t){return this.each(function(){if(H[this._jqm].a)$.jqm.close(this._jqm,t)});}; - -$.jqm = { -hash:{}, -open:function(s,t){var h=H[s],c=h.c,cc='.'+c.closeClass,z=(/^\d+$/.test(h.w.css('z-index')))?h.w.css('z-index'):c.zIndex,o=$('
').css({height:'100%',width:'100%',position:'fixed',left:0,top:0,'z-index':z-1,opacity:c.overlay/100});h.t=t;h.a=true;h.w.css('z-index',z); - if(c.modal) {if(!A[0])F('bind');A.push(s);o.css('cursor','wait');} - else if(c.overlay > 0)h.w.jqmAddClose(o); - else o=false; - - h.o=(o)?o.addClass(c.overlayClass).prependTo('body'):false; - if(ie6){$('html,body').css({height:'100%',width:'100%'});if(o){o=o.css({position:'absolute'})[0];for(var y in {Top:1,Left:1})o.style.setExpression(y.toLowerCase(),"(_=(document.documentElement.scroll"+y+" || document.body.scroll"+y+"))+'px'");}} - - if(c.ajax) {var r=c.target||h.w,u=c.ajax,r=(typeof r == 'string')?$(r,h.w):$(r),u=(u.substr(0,1) == '@')?$(t).attr(u.substring(1)):u; - r.load(u,function(){if(c.onLoad)c.onLoad.call(this,h);if(cc)h.w.jqmAddClose($(cc,h.w));e(h);});} - else if(cc)h.w.jqmAddClose($(cc,h.w)); - - if(c.toTop&&h.o)h.w.before('').insertAfter(h.o); - (c.onShow)?c.onShow(h):h.w.show();e(h);return false; -}, -close:function(s){var h=H[s];h.a=false; - if(A[0]){A.pop();if(!A[0])F('unbind');} - if(h.c.toTop&&h.o)$('#jqmP'+h.w[0]._jqm).after(h.w).remove(); - if(h.c.onHide)h.c.onHide(h);else{h.w.hide();if(h.o)h.o.remove();} return false; -}}; -var s=0,H=$.jqm.hash,A=[],ie6=$.browser.msie&&($.browser.version == "6.0"), -i=$('').css({opacity:0}), -e=function(h){if(ie6)if(h.o)h.o.html('

').prepend(i);else if(!$('iframe.jqm',h.w)[0])h.w.prepend(i); f(h);}, -f=function(h){try{$(':input:visible',h.w)[0].focus();}catch(e){}}, -F=function(t){$()[t]("keypress",m)[t]("keydown",m)[t]("mousedown",m);}, -m=function(e){var h=H[A[A.length-1]],r=(!$(e.target).parents('.jqmID'+h.s)[0]);if(r)f(h);return !r;}, -hs=function(w,e,y){var s=[];w.each(function(){s.push(this._jqm)}); - $(e).each(function(){if(this[y])$.extend(this[y],s);else{this[y]=s;$(this).click(function(){for(var i in {jqmShow:1,jqmHide:1})for(var s in this[i])if(H[this[i][s]])H[this[i][s]].w[i](this);return false;});}});}; -})(jQuery); \ No newline at end of file diff --git a/js/jquery.bgiframe.js b/js/jquery.bgiframe.js deleted file mode 100644 index d414b4ac2..000000000 --- a/js/jquery.bgiframe.js +++ /dev/null @@ -1,49 +0,0 @@ -/* Copyright (c) 2006 Brandon Aaron (http://brandonaaron.net) - * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) - * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses. - * - * $LastChangedDate: 2007-02-18 22:09:54 -0600 (Sun, 18 Feb 2007) $ - * $Rev: 1379 $ - */ - -/** - * The bgiframe is chainable and applies the iframe hack to get - * around zIndex issues in IE6. It will only apply itself in IE - * and adds a class to the iframe called 'bgiframe'. - * - * It does take borders into consideration but all values - * need to be in pixels and the element needs to have - * position relative or absolute. - * - * NOTICE: This plugin uses CSS expersions in order to work - * with an element's borders, height and with and can result in poor - * performance when used on an element that changes properties - * like size and position a lot. Two of these expressions can be - * removed if border doesn't matter and performance does. - * See lines 39 and 40 below and set top: 0 and left: 0 - * instead of their current values. - * - * @example $('div').bgiframe(); - * @before

Paragraph

- * @result
'); - var iframe = $("#jQuery_history")[0].contentWindow.document; - iframe.open(); - iframe.close(); - iframe.location.hash = this._curHash; - } - else if ($.browser.safari) { - // etablish back/forward stacks - this._historyBackStack = []; - this._historyBackStack.length = history.length; - this._historyForwardStack = []; - this._isFirst = true; - this._dontCheck = false; - } - this._callback(this._curHash.replace(/^#/, '')); - setInterval(this._check, 100); - }, - - add: function(hash) { - // This makes the looping function do something - this._historyBackStack.push(hash); - - this._historyForwardStack.length = 0; // clear forwardStack (true click occured) - this._isFirst = true; - }, - - _check: function() { - if($.browser.msie) { - // On IE, check for location.hash of iframe - var ihistory = $("#jQuery_history")[0]; - var iframe = ihistory.contentDocument || ihistory.contentWindow.document; - var current_hash = iframe.location.hash; - if(current_hash != $.history._curHash) { - - location.hash = current_hash; - $.history._curHash = current_hash; - $.history._callback(current_hash.replace(/^#/, '')); - - } - } else if ($.browser.safari) { - if (!$.history._dontCheck) { - var historyDelta = history.length - $.history._historyBackStack.length; - - if (historyDelta) { // back or forward button has been pushed - $.history._isFirst = false; - if (historyDelta < 0) { // back button has been pushed - // move items to forward stack - for (var i = 0; i < Math.abs(historyDelta); i++) $.history._historyForwardStack.unshift($.history._historyBackStack.pop()); - } else { // forward button has been pushed - // move items to back stack - for (var i = 0; i < historyDelta; i++) $.history._historyBackStack.push($.history._historyForwardStack.shift()); - } - var cachedHash = $.history._historyBackStack[$.history._historyBackStack.length - 1]; - if (cachedHash != undefined) { - $.history._curHash = location.hash; - $.history._callback(cachedHash); - } - } else if ($.history._historyBackStack[$.history._historyBackStack.length - 1] == undefined && !$.history._isFirst) { - // back button has been pushed to beginning and URL already pointed to hash (e.g. a bookmark) - // document.URL doesn't change in Safari - if (document.URL.indexOf('#') >= 0) { - $.history._callback(document.URL.split('#')[1]); - } else { - $.history._callback(''); - } - $.history._isFirst = true; - } - } - } else { - // otherwise, check for location.hash - var current_hash = location.hash; - if(current_hash != $.history._curHash) { - $.history._curHash = current_hash; - $.history._callback(current_hash.replace(/^#/, '')); - } - } - }, - - load: function(hash) { - var newhash; - - if ($.browser.safari) { - newhash = hash; - } else { - newhash = '#' + hash; - location.hash = newhash; - } - this._curHash = newhash; - - if ($.browser.msie) { - var ihistory = $("#jQuery_history")[0]; // TODO: need contentDocument? - var iframe = ihistory.contentWindow.document; - iframe.open(); - iframe.close(); - iframe.location.hash = newhash; - this._callback(hash); - } - else if ($.browser.safari) { - this._dontCheck = true; - // Manually keep track of the history values for Safari - this.add(hash); - - // Wait a while before allowing checking so that Safari has time to update the "history" object - // correctly (otherwise the check loop would detect a false change in hash). - var fn = function() {$.history._dontCheck = false;}; - window.setTimeout(fn, 200); - this._callback(hash); - // N.B. "location.hash=" must be the last line of code for Safari as execution stops afterwards. - // By explicitly using the "location.hash" command (instead of using a variable set to "location.hash") the - // URL in the browser and the "history" object are both updated correctly. - location.hash = newhash; - } - else { - this._callback(hash); - } - } -}); - -$(document).ready(function() { - $.history = new History(); // singleton instance -}); - -})(jQuery); diff --git a/js/jquery.history_remote.pack.js b/js/jquery.history_remote.pack.js deleted file mode 100644 index c62a48c23..000000000 --- a/js/jquery.history_remote.pack.js +++ /dev/null @@ -1 +0,0 @@ -eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[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}('(4($){$.H=1f 4(){3 h=\'19\';3 6=7.2;3 F=U;3 l;b.n=4(){};3 C=4(){$(\'.s-p\').1a()};$(9).Q(h,C);5($.y.1b){3 u,m=q;$(4(){u=$(\'<8 1s="1c: 1d;">\').L(9.M).1e(0);3 8=u.E.9;8.V();8.R();5(6&&6!=\'#\'){8.7.2=6.S(\'#\',\'\')}});b.n=4(2){6=2;3 8=u.E.9;8.V();8.R();8.7.2=2.S(\'#\',\'\')};l=4(){3 8=u.E.9;3 k=8.7.2;5(k!=6){6=k;5(k&&k!=\'#\'){$(\'a[@d$="\'+k+\'"]\').f();7.2=k}g 5(m){7.2=\'\';$(9).A(h)}}m=B}}g 5($.y.1g||$.y.1h){b.n=4(2){6=2};l=4(){5(7.2){5(6!=7.2){6=7.2;$(\'a[@d$="\'+6+\'"]\').f()}}g 5(6){6=\'\';$(9).A(h)}}}g 5($.y.1i){3 c,o,x;$(4(){c=[];c.j=z.j;o=[]});3 r=q,m=q;x=4(2){c.Z(2);o.j=0;r=q};b.n=4(2){6=2;x(6)};l=4(){3 t=z.j-c.j;5(t){r=q;5(t<0){X(3 i=0;i<1j.1k(t);i++)o.1m(c.1n())}g{X(3 i=0;i=0){$(\'a[@d$="\'+\'#\'+9.N.14(\'#\')[1]+\'"]\').f()}g 5(m){$(9).A(h)}r=B}m=B}}b.16=4(D){5(W D==\'4\'){$(9).18(h,C).Q(h,D)}5(7.2&&W x==\'T\'){$(\'a.s[@d$="\'+7.2+\'"]\').f()}5(l&&F==U){F=1l(l,1p)}}};$.I.s=4(p,v){v=$.1q({P:\'s-\'},v||{});3 G=$(p).12()&&$(p)||$(\'\').L(\'M\');G.15(\'s-p\');O b.17(4(i){3 10=b.d;3 2=\'#\'+v.P+(i+1);b.d=2;$(b).f(4(e){3 w=e.Y;G.1o(10,4(){5(w){$.H.n(2)}})})})};$.I.z=4(){O b.f(4(e){3 w=e.Y;5(w){$.H.n(b.2)}})}})(1r);',62,91,'||hash|var|function|if|_currentHash|location|iframe|document||this|_backStack|href||click|else|RESET_EVENT||length|iframeHash|_observeHistory|initialized|update|_forwardStack|output|false|isFirst|remote|historyDelta|_historyIframe|settings|trueClick|_addHistory|browser|history|trigger|true|_defaultReset|callback|contentWindow|_intervalId|target|ajaxHistory|fn|div|cachedHash|appendTo|body|URL|return|hashPrefix|bind|close|replace|undefined|null|open|typeof|for|clientX|push|remoteURL|shift|size|indexOf|split|addClass|initialize|each|unbind|historyReset|empty|msie|display|none|get|new|mozilla|opera|safari|Math|abs|setInterval|unshift|pop|load|200|extend|jQuery|style'.split('|'),0,{})) diff --git a/js/jquery.latest.js b/js/jquery.latest.js deleted file mode 100644 index 88e661eec..000000000 --- a/js/jquery.latest.js +++ /dev/null @@ -1,3549 +0,0 @@ -(function(){ -/* - * jQuery 1.2.6 - New Wave Javascript - * - * Copyright (c) 2008 John Resig (jquery.com) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $ - * $Rev: 5685 $ - */ - -// Map over jQuery in case of overwrite -var _jQuery = window.jQuery, -// Map over the $ in case of overwrite - _$ = window.$; - -var jQuery = window.jQuery = window.$ = function( selector, context ) { - // The jQuery object is actually just the init constructor 'enhanced' - return new jQuery.fn.init( selector, context ); -}; - -// A simple way to check for HTML strings or ID strings -// (both of which we optimize for) -var quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/, - -// Is it a simple selector - isSimple = /^.[^:#\[\.]*$/, - -// Will speed up references to undefined, and allows munging its name. - undefined; - -jQuery.fn = jQuery.prototype = { - init: function( selector, context ) { - // Make sure that a selection was provided - selector = selector || document; - - // Handle $(DOMElement) - if ( selector.nodeType ) { - this[0] = selector; - this.length = 1; - return this; - } - // Handle HTML strings - if ( typeof selector == "string" ) { - // Are we dealing with HTML string or an ID? - var match = quickExpr.exec( selector ); - - // Verify a match, and that no context was specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) - selector = jQuery.clean( [ match[1] ], context ); - - // HANDLE: $("#id") - else { - var elem = document.getElementById( match[3] ); - - // Make sure an element was located - if ( elem ){ - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id != match[3] ) - return jQuery().find( selector ); - - // Otherwise, we inject the element directly into the jQuery object - return jQuery( elem ); - } - selector = []; - } - - // HANDLE: $(expr, [context]) - // (which is just equivalent to: $(content).find(expr) - } else - return jQuery( context ).find( selector ); - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) - return jQuery( document )[ jQuery.fn.ready ? "ready" : "load" ]( selector ); - - return this.setArray(jQuery.makeArray(selector)); - }, - - // The current version of jQuery being used - jquery: "1.2.6", - - // The number of elements contained in the matched element set - size: function() { - return this.length; - }, - - // The number of elements contained in the matched element set - length: 0, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num == undefined ? - - // Return a 'clean' array - jQuery.makeArray( this ) : - - // Return just the object - this[ num ]; - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - // Build a new jQuery matched element set - var ret = jQuery( elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - // Return the newly-formed element set - return ret; - }, - - // Force the current matched set of elements to become - // the specified array of elements (destroying the stack in the process) - // You should use pushStack() in order to do this, but maintain the stack - setArray: function( elems ) { - // Resetting the length to 0, then using the native Array push - // is a super-fast way to populate an object with array-like properties - this.length = 0; - Array.prototype.push.apply( this, elems ); - - return this; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); - }, - - // Determine the position of an element within - // the matched set of elements - index: function( elem ) { - var ret = -1; - - // Locate the position of the desired element - return jQuery.inArray( - // If it receives a jQuery object, the first element is used - elem && elem.jquery ? elem[0] : elem - , this ); - }, - - attr: function( name, value, type ) { - var options = name; - - // Look for the case where we're accessing a style value - if ( name.constructor == String ) - if ( value === undefined ) - return this[0] && jQuery[ type || "attr" ]( this[0], name ); - - else { - options = {}; - options[ name ] = value; - } - - // Check to see if we're setting style values - return this.each(function(i){ - // Set all the styles - for ( name in options ) - jQuery.attr( - type ? - this.style : - this, - name, jQuery.prop( this, options[ name ], type, i, name ) - ); - }); - }, - - css: function( key, value ) { - // ignore negative width and height values - if ( (key == 'width' || key == 'height') && parseFloat(value) < 0 ) - value = undefined; - return this.attr( key, value, "curCSS" ); - }, - - text: function( text ) { - if ( typeof text != "object" && text != null ) - return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) ); - - var ret = ""; - - jQuery.each( text || this, function(){ - jQuery.each( this.childNodes, function(){ - if ( this.nodeType != 8 ) - ret += this.nodeType != 1 ? - this.nodeValue : - jQuery.fn.text( [ this ] ); - }); - }); - - return ret; - }, - - wrapAll: function( html ) { - if ( this[0] ) - // The elements to wrap the target around - jQuery( html, this[0].ownerDocument ) - .clone() - .insertBefore( this[0] ) - .map(function(){ - var elem = this; - - while ( elem.firstChild ) - elem = elem.firstChild; - - return elem; - }) - .append(this); - - return this; - }, - - wrapInner: function( html ) { - return this.each(function(){ - jQuery( this ).contents().wrapAll( html ); - }); - }, - - wrap: function( html ) { - return this.each(function(){ - jQuery( this ).wrapAll( html ); - }); - }, - - append: function() { - return this.domManip(arguments, true, false, function(elem){ - if (this.nodeType == 1) - this.appendChild( elem ); - }); - }, - - prepend: function() { - return this.domManip(arguments, true, true, function(elem){ - if (this.nodeType == 1) - this.insertBefore( elem, this.firstChild ); - }); - }, - - before: function() { - return this.domManip(arguments, false, false, function(elem){ - this.parentNode.insertBefore( elem, this ); - }); - }, - - after: function() { - return this.domManip(arguments, false, true, function(elem){ - this.parentNode.insertBefore( elem, this.nextSibling ); - }); - }, - - end: function() { - return this.prevObject || jQuery( [] ); - }, - - find: function( selector ) { - var elems = jQuery.map(this, function(elem){ - return jQuery.find( selector, elem ); - }); - - return this.pushStack( /[^+>] [^+>]/.test( selector ) || selector.indexOf("..") > -1 ? - jQuery.unique( elems ) : - elems ); - }, - - clone: function( events ) { - // Do the clone - var ret = this.map(function(){ - if ( jQuery.browser.msie && !jQuery.isXMLDoc(this) ) { - // IE copies events bound via attachEvent when - // using cloneNode. Calling detachEvent on the - // clone will also remove the events from the orignal - // In order to get around this, we use innerHTML. - // Unfortunately, this means some modifications to - // attributes in IE that are actually only stored - // as properties will not be copied (such as the - // the name attribute on an input). - var clone = this.cloneNode(true), - container = document.createElement("div"); - container.appendChild(clone); - return jQuery.clean([container.innerHTML])[0]; - } else - return this.cloneNode(true); - }); - - // Need to set the expando to null on the cloned set if it exists - // removeData doesn't work here, IE removes it from the original as well - // this is primarily for IE but the data expando shouldn't be copied over in any browser - var clone = ret.find("*").andSelf().each(function(){ - if ( this[ expando ] != undefined ) - this[ expando ] = null; - }); - - // Copy the events from the original to the clone - if ( events === true ) - this.find("*").andSelf().each(function(i){ - if (this.nodeType == 3) - return; - var events = jQuery.data( this, "events" ); - - for ( var type in events ) - for ( var handler in events[ type ] ) - jQuery.event.add( clone[ i ], type, events[ type ][ handler ], events[ type ][ handler ].data ); - }); - - // Return the cloned set - return ret; - }, - - filter: function( selector ) { - return this.pushStack( - jQuery.isFunction( selector ) && - jQuery.grep(this, function(elem, i){ - return selector.call( elem, i ); - }) || - - jQuery.multiFilter( selector, this ) ); - }, - - not: function( selector ) { - if ( selector.constructor == String ) - // test special case where just one selector is passed in - if ( isSimple.test( selector ) ) - return this.pushStack( jQuery.multiFilter( selector, this, true ) ); - else - selector = jQuery.multiFilter( selector, this ); - - var isArrayLike = selector.length && selector[selector.length - 1] !== undefined && !selector.nodeType; - return this.filter(function() { - return isArrayLike ? jQuery.inArray( this, selector ) < 0 : this != selector; - }); - }, - - add: function( selector ) { - return this.pushStack( jQuery.unique( jQuery.merge( - this.get(), - typeof selector == 'string' ? - jQuery( selector ) : - jQuery.makeArray( selector ) - ))); - }, - - is: function( selector ) { - return !!selector && jQuery.multiFilter( selector, this ).length > 0; - }, - - hasClass: function( selector ) { - return this.is( "." + selector ); - }, - - val: function( value ) { - if ( value == undefined ) { - - if ( this.length ) { - var elem = this[0]; - - // We need to handle select boxes special - if ( jQuery.nodeName( elem, "select" ) ) { - var index = elem.selectedIndex, - values = [], - options = elem.options, - one = elem.type == "select-one"; - - // Nothing was selected - if ( index < 0 ) - return null; - - // Loop through all the selected options - for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { - var option = options[ i ]; - - if ( option.selected ) { - // Get the specifc value for the option - value = jQuery.browser.msie && !option.attributes.value.specified ? option.text : option.value; - - // We don't need an array for one selects - if ( one ) - return value; - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - - // Everything else, we just grab the value - } else - return (this[0].value || "").replace(/\r/g, ""); - - } - - return undefined; - } - - if( value.constructor == Number ) - value += ''; - - return this.each(function(){ - if ( this.nodeType != 1 ) - return; - - if ( value.constructor == Array && /radio|checkbox/.test( this.type ) ) - this.checked = (jQuery.inArray(this.value, value) >= 0 || - jQuery.inArray(this.name, value) >= 0); - - else if ( jQuery.nodeName( this, "select" ) ) { - var values = jQuery.makeArray(value); - - jQuery( "option", this ).each(function(){ - this.selected = (jQuery.inArray( this.value, values ) >= 0 || - jQuery.inArray( this.text, values ) >= 0); - }); - - if ( !values.length ) - this.selectedIndex = -1; - - } else - this.value = value; - }); - }, - - html: function( value ) { - return value == undefined ? - (this[0] ? - this[0].innerHTML : - null) : - this.empty().append( value ); - }, - - replaceWith: function( value ) { - return this.after( value ).remove(); - }, - - eq: function( i ) { - return this.slice( i, i + 1 ); - }, - - slice: function() { - return this.pushStack( Array.prototype.slice.apply( this, arguments ) ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map(this, function(elem, i){ - return callback.call( elem, i, elem ); - })); - }, - - andSelf: function() { - return this.add( this.prevObject ); - }, - - data: function( key, value ){ - var parts = key.split("."); - parts[1] = parts[1] ? "." + parts[1] : ""; - - if ( value === undefined ) { - var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); - - if ( data === undefined && this.length ) - data = jQuery.data( this[0], key ); - - return data === undefined && parts[1] ? - this.data( parts[0] ) : - data; - } else - return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function(){ - jQuery.data( this, key, value ); - }); - }, - - removeData: function( key ){ - return this.each(function(){ - jQuery.removeData( this, key ); - }); - }, - - domManip: function( args, table, reverse, callback ) { - var clone = this.length > 1, elems; - - return this.each(function(){ - if ( !elems ) { - elems = jQuery.clean( args, this.ownerDocument ); - - if ( reverse ) - elems.reverse(); - } - - var obj = this; - - if ( table && jQuery.nodeName( this, "table" ) && jQuery.nodeName( elems[0], "tr" ) ) - obj = this.getElementsByTagName("tbody")[0] || this.appendChild( this.ownerDocument.createElement("tbody") ); - - var scripts = jQuery( [] ); - - jQuery.each(elems, function(){ - var elem = clone ? - jQuery( this ).clone( true )[0] : - this; - - // execute all scripts after the elements have been injected - if ( jQuery.nodeName( elem, "script" ) ) - scripts = scripts.add( elem ); - else { - // Remove any inner scripts for later evaluation - if ( elem.nodeType == 1 ) - scripts = scripts.add( jQuery( "script", elem ).remove() ); - - // Inject the elements into the document - callback.call( obj, elem ); - } - }); - - scripts.each( evalScript ); - }); - } -}; - -// Give the init function the jQuery prototype for later instantiation -jQuery.fn.init.prototype = jQuery.fn; - -function evalScript( i, elem ) { - if ( elem.src ) - jQuery.ajax({ - url: elem.src, - async: false, - dataType: "script" - }); - - else - jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" ); - - if ( elem.parentNode ) - elem.parentNode.removeChild( elem ); -} - -function now(){ - return +new Date; -} - -jQuery.extend = jQuery.fn.extend = function() { - // copy reference to target object - var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options; - - // Handle a deep copy situation - if ( target.constructor == Boolean ) { - deep = target; - target = arguments[1] || {}; - // skip the boolean and the target - i = 2; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target != "object" && typeof target != "function" ) - target = {}; - - // extend jQuery itself if only one argument is passed - if ( length == i ) { - target = this; - --i; - } - - for ( ; i < length; i++ ) - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) - // Extend the base object - for ( var name in options ) { - var src = target[ name ], copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) - continue; - - // Recurse if we're merging object values - if ( deep && copy && typeof copy == "object" && !copy.nodeType ) - target[ name ] = jQuery.extend( deep, - // Never move original objects, clone them - src || ( copy.length != null ? [ ] : { } ) - , copy ); - - // Don't bring in undefined values - else if ( copy !== undefined ) - target[ name ] = copy; - - } - - // Return the modified object - return target; -}; - -var expando = "jQuery" + now(), uuid = 0, windowData = {}, - // exclude the following css properties to add px - exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i, - // cache defaultView - defaultView = document.defaultView || {}; - -jQuery.extend({ - noConflict: function( deep ) { - window.$ = _$; - - if ( deep ) - window.jQuery = _jQuery; - - return jQuery; - }, - - // See test/unit/core.js for details concerning this function. - isFunction: function( fn ) { - return !!fn && typeof fn != "string" && !fn.nodeName && - fn.constructor != Array && /^[\s[]?function/.test( fn + "" ); - }, - - // check if an element is in a (or is an) XML document - isXMLDoc: function( elem ) { - return elem.documentElement && !elem.body || - elem.tagName && elem.ownerDocument && !elem.ownerDocument.body; - }, - - // Evalulates a script in a global context - globalEval: function( data ) { - data = jQuery.trim( data ); - - if ( data ) { - // Inspired by code by Andrea Giammarchi - // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html - var head = document.getElementsByTagName("head")[0] || document.documentElement, - script = document.createElement("script"); - - script.type = "text/javascript"; - if ( jQuery.browser.msie ) - script.text = data; - else - script.appendChild( document.createTextNode( data ) ); - - // Use insertBefore instead of appendChild to circumvent an IE6 bug. - // This arises when a base node is used (#2709). - head.insertBefore( script, head.firstChild ); - head.removeChild( script ); - } - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase(); - }, - - cache: {}, - - data: function( elem, name, data ) { - elem = elem == window ? - windowData : - elem; - - var id = elem[ expando ]; - - // Compute a unique ID for the element - if ( !id ) - id = elem[ expando ] = ++uuid; - - // Only generate the data cache if we're - // trying to access or manipulate it - if ( name && !jQuery.cache[ id ] ) - jQuery.cache[ id ] = {}; - - // Prevent overriding the named cache with undefined values - if ( data !== undefined ) - jQuery.cache[ id ][ name ] = data; - - // Return the named cache data, or the ID for the element - return name ? - jQuery.cache[ id ][ name ] : - id; - }, - - removeData: function( elem, name ) { - elem = elem == window ? - windowData : - elem; - - var id = elem[ expando ]; - - // If we want to remove a specific section of the element's data - if ( name ) { - if ( jQuery.cache[ id ] ) { - // Remove the section of cache data - delete jQuery.cache[ id ][ name ]; - - // If we've removed all the data, remove the element's cache - name = ""; - - for ( name in jQuery.cache[ id ] ) - break; - - if ( !name ) - jQuery.removeData( elem ); - } - - // Otherwise, we want to remove all of the element's data - } else { - // Clean up the element expando - try { - delete elem[ expando ]; - } catch(e){ - // IE has trouble directly removing the expando - // but it's ok with using removeAttribute - if ( elem.removeAttribute ) - elem.removeAttribute( expando ); - } - - // Completely remove the data cache - delete jQuery.cache[ id ]; - } - }, - - // args is for internal usage only - each: function( object, callback, args ) { - var name, i = 0, length = object.length; - - if ( args ) { - if ( length == undefined ) { - for ( name in object ) - if ( callback.apply( object[ name ], args ) === false ) - break; - } else - for ( ; i < length; ) - if ( callback.apply( object[ i++ ], args ) === false ) - break; - - // A special, fast, case for the most common use of each - } else { - if ( length == undefined ) { - for ( name in object ) - if ( callback.call( object[ name ], name, object[ name ] ) === false ) - break; - } else - for ( var value = object[0]; - i < length && callback.call( value, i, value ) !== false; value = object[++i] ){} - } - - return object; - }, - - prop: function( elem, value, type, i, name ) { - // Handle executable functions - if ( jQuery.isFunction( value ) ) - value = value.call( elem, i ); - - // Handle passing in a number to a CSS property - return value && value.constructor == Number && type == "curCSS" && !exclude.test( name ) ? - value + "px" : - value; - }, - - className: { - // internal only, use addClass("class") - add: function( elem, classNames ) { - jQuery.each((classNames || "").split(/\s+/), function(i, className){ - if ( elem.nodeType == 1 && !jQuery.className.has( elem.className, className ) ) - elem.className += (elem.className ? " " : "") + className; - }); - }, - - // internal only, use removeClass("class") - remove: function( elem, classNames ) { - if (elem.nodeType == 1) - elem.className = classNames != undefined ? - jQuery.grep(elem.className.split(/\s+/), function(className){ - return !jQuery.className.has( classNames, className ); - }).join(" ") : - ""; - }, - - // internal only, use hasClass("class") - has: function( elem, className ) { - return jQuery.inArray( className, (elem.className || elem).toString().split(/\s+/) ) > -1; - } - }, - - // A method for quickly swapping in/out CSS properties to get correct calculations - swap: function( elem, options, callback ) { - var old = {}; - // Remember the old values, and insert the new ones - for ( var name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - callback.call( elem ); - - // Revert the old values - for ( var name in options ) - elem.style[ name ] = old[ name ]; - }, - - css: function( elem, name, force ) { - if ( name == "width" || name == "height" ) { - var val, props = { position: "absolute", visibility: "hidden", display:"block" }, which = name == "width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ]; - - function getWH() { - val = name == "width" ? elem.offsetWidth : elem.offsetHeight; - var padding = 0, border = 0; - jQuery.each( which, function() { - padding += parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0; - border += parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0; - }); - val -= Math.round(padding + border); - } - - if ( jQuery(elem).is(":visible") ) - getWH(); - else - jQuery.swap( elem, props, getWH ); - - return Math.max(0, val); - } - - return jQuery.curCSS( elem, name, force ); - }, - - curCSS: function( elem, name, force ) { - var ret, style = elem.style; - - // A helper method for determining if an element's values are broken - function color( elem ) { - if ( !jQuery.browser.safari ) - return false; - - // defaultView is cached - var ret = defaultView.getComputedStyle( elem, null ); - return !ret || ret.getPropertyValue("color") == ""; - } - - // We need to handle opacity special in IE - if ( name == "opacity" && jQuery.browser.msie ) { - ret = jQuery.attr( style, "opacity" ); - - return ret == "" ? - "1" : - ret; - } - // Opera sometimes will give the wrong display answer, this fixes it, see #2037 - if ( jQuery.browser.opera && name == "display" ) { - var save = style.outline; - style.outline = "0 solid black"; - style.outline = save; - } - - // Make sure we're using the right name for getting the float value - if ( name.match( /float/i ) ) - name = styleFloat; - - if ( !force && style && style[ name ] ) - ret = style[ name ]; - - else if ( defaultView.getComputedStyle ) { - - // Only "float" is needed here - if ( name.match( /float/i ) ) - name = "float"; - - name = name.replace( /([A-Z])/g, "-$1" ).toLowerCase(); - - var computedStyle = defaultView.getComputedStyle( elem, null ); - - if ( computedStyle && !color( elem ) ) - ret = computedStyle.getPropertyValue( name ); - - // If the element isn't reporting its values properly in Safari - // then some display: none elements are involved - else { - var swap = [], stack = [], a = elem, i = 0; - - // Locate all of the parent display: none elements - for ( ; a && color(a); a = a.parentNode ) - stack.unshift(a); - - // Go through and make them visible, but in reverse - // (It would be better if we knew the exact display type that they had) - for ( ; i < stack.length; i++ ) - if ( color( stack[ i ] ) ) { - swap[ i ] = stack[ i ].style.display; - stack[ i ].style.display = "block"; - } - - // Since we flip the display style, we have to handle that - // one special, otherwise get the value - ret = name == "display" && swap[ stack.length - 1 ] != null ? - "none" : - ( computedStyle && computedStyle.getPropertyValue( name ) ) || ""; - - // Finally, revert the display styles back - for ( i = 0; i < swap.length; i++ ) - if ( swap[ i ] != null ) - stack[ i ].style.display = swap[ i ]; - } - - // We should always get a number back from opacity - if ( name == "opacity" && ret == "" ) - ret = "1"; - - } else if ( elem.currentStyle ) { - var camelCase = name.replace(/\-(\w)/g, function(all, letter){ - return letter.toUpperCase(); - }); - - ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ]; - - // From the awesome hack by Dean Edwards - // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 - - // If we're not dealing with a regular pixel number - // but a number that has a weird ending, we need to convert it to pixels - if ( !/^\d+(px)?$/i.test( ret ) && /^\d/.test( ret ) ) { - // Remember the original values - var left = style.left, rsLeft = elem.runtimeStyle.left; - - // Put in the new values to get a computed value out - elem.runtimeStyle.left = elem.currentStyle.left; - style.left = ret || 0; - ret = style.pixelLeft + "px"; - - // Revert the changed values - style.left = left; - elem.runtimeStyle.left = rsLeft; - } - } - - return ret; - }, - - clean: function( elems, context ) { - var ret = []; - context = context || document; - // !context.createElement fails in IE with an error but returns typeof 'object' - if (typeof context.createElement == 'undefined') - context = context.ownerDocument || context[0] && context[0].ownerDocument || document; - - jQuery.each(elems, function(i, elem){ - if ( !elem ) - return; - - if ( elem.constructor == Number ) - elem += ''; - - // Convert html string into DOM nodes - if ( typeof elem == "string" ) { - // Fix "XHTML"-style tags in all browsers - elem = elem.replace(/(<(\w+)[^>]*?)\/>/g, function(all, front, tag){ - return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ? - all : - front + ">"; - }); - - // Trim whitespace, otherwise indexOf won't work as expected - var tags = jQuery.trim( elem ).toLowerCase(), div = context.createElement("div"); - - var wrap = - // option or optgroup - !tags.indexOf("", "" ] || - - !tags.indexOf("", "" ] || - - tags.match(/^<(thead|tbody|tfoot|colg|cap)/) && - [ 1, "", "
" ] || - - !tags.indexOf("", "" ] || - - // matched above - (!tags.indexOf("", "" ] || - - !tags.indexOf("", "" ] || - - // IE can't serialize and