Fisheye: Tag 1.2 refers to a dead (removed) revision in file `lams_central/web/includes/javascript/jquery-ui/ui.dialog-1.5.2.min.js'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_central/web/includes/javascript/jquery-ui/version.txt =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/Attic/version.txt,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/version.txt 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1 @@ +1.6rc2 \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/themes/default/ui.all.css =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/Attic/ui.all.css,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/themes/default/ui.all.css 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1,869 @@ +/* + * jQuery UI screen structure and presentation + * This CSS file was generated by ThemeRoller, a Filament Group Project for jQuery UI + * Author: Scott Jehl, scott@filamentgroup.com, http://www.filamentgroup.com + * Visit themeroller.com +*/ + + + + +/*UI accordion*/ +.ui-accordion { + /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; + font-family: Verdana, Arial, sans-serif; + border-bottom: 1px solid #d3d3d3; +} +.ui-accordion-group { + /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; + border: 1px solid #d3d3d3; + border-bottom: none; +} +.ui-accordion-header { + /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; + cursor: pointer; + background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x; +} +.ui-accordion-header a { + /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; + display: block; + font-size: 1.1em; + font-weight: normal; + text-decoration: none; + padding: .5em .5em .5em 1.7em; + color: #555555; + background: url(images/888888_7x7_arrow_right.gif) .5em 50% no-repeat; +} +.ui-accordion-header a:hover { + background: url(images/454545_7x7_arrow_right.gif) .5em 50% no-repeat; + color: #212121; +} +.ui-accordion-header:hover { + background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x; + color: #212121; +} +.selected .ui-accordion-header, .selected .ui-accordion-header:hover { + background: #ffffff url(images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x; +} +.selected .ui-accordion-header a, .selected .ui-accordion-header a:hover { + color: #222222; + background: url(images/222222_7x7_arrow_down.gif) .5em 50% no-repeat; +} +.ui-accordion-content { + padding: 1.5em 1.7em; + background: #ffffff; + color: #222222; + font-size: 1.1em; +} + + +/*slider*/ +.ui-slider { + /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; + font-family: Verdana, Arial, sans-serif; + background: #ffffff; + border: 1px solid #d3d3d3; + height: .8em; + position: relative; +} +.ui-slider-handle { + /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; + position: absolute; + z-index: 2; + top: -3px; + width: 1.2em; + height: 1.2em; + background: #ffffff url(images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x; + border: 1px solid #dddddd; +} +.ui-slider-handle:hover { + background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x; + border: 1px solid #999999; +} +.ui-slider-handle-active, .ui-slider-handle-active:hover { + background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x; + border: 1px solid #dddddd; +} +.ui-slider-range { + /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; + height: .8em; + background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x; + position: absolute; + border: 1px solid #d3d3d3; + border-left: 0; + border-right: 0; + top: -1px; + z-index: 1; +} + + + + + + +/*dialog*/ +.ui-dialog { + /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; + font-family: Verdana, Arial, sans-serif; + background: #ffffff; + color: #222222; + border: 4px solid #d3d3d3; + position: relative; +} +.ui-dialog-content { + border: 1px solid #d3d3d3; + background: #ffffff; + color: #222222; +} +.ui-resizable-handle { + position: absolute; + font-size: 0.1px; + z-index: 99999; +} +.ui-resizable .ui-resizable-handle { + display: block; +} +body .ui-resizable-disabled .ui-resizable-handle { display: none; } /* use 'body' to make it more specific (css order) */ +body .ui-resizable-autohide .ui-resizable-handle { display: none; } /* use 'body' to make it more specific (css order) */ +.ui-resizable-n { + cursor: n-resize; + height: 7px; + width: 100%; + top: -5px; + left: 0px; +} +.ui-resizable-s { + cursor: s-resize; + height: 7px; + width: 100%; + bottom: -5px; + left: 0px; +} +.ui-resizable-e { + cursor: e-resize; + width: 7px; + right: -5px; + top: 0px; + height: 100%; +} +.ui-resizable-w { + cursor: w-resize; + width: 7px; + left: -5px; + top: 0px; + height: 100%; +} +.ui-resizable-se { + cursor: se-resize; + width: 13px; + height: 13px; + right: 0px; + bottom: 0px; + background: url(images/222222_11x11_icon_resize_se.gif) no-repeat 0 0; +} +.ui-resizable-sw { + cursor: sw-resize; + width: 9px; + height: 9px; + left: 0px; + bottom: 0px; +} +.ui-resizable-nw { + cursor: nw-resize; + width: 9px; + height: 9px; + left: 0px; + top: 0px; +} +.ui-resizable-ne { + cursor: ne-resize; + width: 9px; + height: 9px; + right: 0px; + top: 0px; +} +.ui-dialog-titlebar { + /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; + padding: .5em 1.5em .5em 1em; + color: #555555; + background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x; + border-bottom: 1px solid #d3d3d3; + font-size: 1.1em; + font-weight: normal; + position: relative; +} +.ui-dialog-title { + +} +.ui-dialog-titlebar-close { + /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; + background: url(images/888888_11x11_icon_close.gif) 0 0 no-repeat; + position: absolute; + right: 8px; + top: .7em; + width: 11px; + height: 11px; + z-index: 100; +} +.ui-dialog-titlebar-close-hover, .ui-dialog-titlebar-close:hover { + background: url(images/454545_11x11_icon_close.gif) 0 0 no-repeat; +} +.ui-dialog-titlebar-close:active { + background: url(images/222222_11x11_icon_close.gif) 0 0 no-repeat; +} +.ui-dialog-titlebar-close span { + display: none; +} +.ui-dialog-content { + /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; + background: #ffffff; + color: #222222; + padding: 1.5em 1.7em; +} +.ui-dialog-buttonpane { + position: absolute; + bottom: 0; + width: 100%; + text-align: left; + border-top: 1px solid #d3d3d3; + background: ; +} +.ui-dialog-buttonpane button { + margin: .5em 0 .5em 8px; + color: #555555; + background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x; + font-size: 1.1em; + border: 1px solid #d3d3d3; + cursor: pointer; + padding: .2em .6em .3em .6em; + line-height: 1.4em; +} +.ui-dialog-buttonpane button:hover { + color: #212121; + background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x; + border: 1px solid #999999; +} +.ui-dialog-buttonpane button:active { + color: #222222; + background: #ffffff url(images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x; + border: 1px solid #dddddd; +} +/* This file skins dialog */ +.ui-dialog.ui-draggable .ui-dialog-titlebar, +.ui-dialog.ui-draggable .ui-dialog-titlebar { + cursor: move; +} + + + + + + + +/*datepicker*/ +/* Main Style Sheet for jQuery UI date picker */ +.ui-datepicker-div, #ui-datepicker-div, .ui-datepicker-inline { + /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; + font-family: Verdana, Arial, sans-serif; + background: #ffffff; + font-size: 1.1em; + border: 4px solid #d3d3d3; + width: 15.5em; + padding: 2.5em .5em .5em .5em; + position: relative; +} +#ui-datepicker-div, .ui-datepicker-div { + z-index: 9999; /*must have*/ + display: none; + background: #ffffff; +} +.ui-datepicker-inline { + float: left; + display: block; +} +.ui-datepicker-control { + display: none; +} +.ui-datepicker-current { + display: none; +} +.ui-datepicker-next, .ui-datepicker-prev { + position: absolute; + left: .5em; + top: .5em; + background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x; +} +.ui-datepicker-next { + left: 14.6em; +} +.ui-datepicker-next:hover, .ui-datepicker-prev:hover { + background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x; +} +.ui-datepicker-next a, .ui-datepicker-prev a { + text-indent: -999999px; + width: 1.3em; + height: 1.4em; + display: block; + font-size: 1em; + background: url(images/888888_7x7_arrow_left.gif) 50% 50% no-repeat; + border: 1px solid #d3d3d3; + cursor: pointer; +} +.ui-datepicker-next a { + background: url(images/888888_7x7_arrow_right.gif) 50% 50% no-repeat; +} +.ui-datepicker-prev a:hover { + background: url(images/454545_7x7_arrow_left.gif) 50% 50% no-repeat; +} +.ui-datepicker-next a:hover { + background: url(images/454545_7x7_arrow_right.gif) 50% 50% no-repeat; +} +.ui-datepicker-prev a:active { + background: url(images/222222_7x7_arrow_left.gif) 50% 50% no-repeat; +} +.ui-datepicker-next a:active { + background: url(images/222222_7x7_arrow_right.gif) 50% 50% no-repeat; +} +.ui-datepicker-header select { + border: 1px solid #d3d3d3; + color: #555555; + background: #e6e6e6; + font-size: 1em; + line-height: 1.4em; + position: absolute; + top: .5em; + margin: 0 !important; + +} +.ui-datepicker-header select.ui-datepicker-new-month { +width: 7em; +left: 2.2em; +} +.ui-datepicker-header select.ui-datepicker-new-year { +width: 5em; +left: 9.4em; +} +table.ui-datepicker { + width: 15.5em; + text-align: right; +} +table.ui-datepicker td a { + padding: .1em .3em .1em 0; + display: block; + color: #555555; + background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x; + cursor: pointer; + border: 1px solid #ffffff; +} +table.ui-datepicker td a:hover { + border: 1px solid #999999; + color: #212121; + background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x; +} +table.ui-datepicker td a:active { + border: 1px solid #dddddd; + color: #222222; + background: #ffffff url(images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x; +} +table.ui-datepicker .ui-datepicker-title-row td { + padding: .3em 0; + text-align: center; + font-size: .9em; + color: #222222; + text-transform: uppercase; + /*border-bottom: 1px solid #d3d3d3;*/ +} + +table.ui-datepicker .ui-datepicker-title-row td a { + color: #222222; +} + + + + + + +/*colorpicker*/ +.ui-colorpicker { + width: 356px; + height: 176px; + overflow: hidden; + position: absolute; + background: url(images/colorpicker_background.png); + font-family: Arial, Helvetica, sans-serif; + display: none; +} +.ui-colorpicker-color { + width: 150px; + height: 150px; + left: 14px; + top: 13px; + position: absolute; + background: #f00; + overflow: hidden; + cursor: crosshair; +} +.ui-colorpicker-color div { + position: absolute; + top: 0; + left: 0; + width: 150px; + height: 150px; + background: url(images/colorpicker_overlay.png); +} +.ui-colorpicker-color div div { + position: absolute; + top: 0; + left: 0; + width: 11px; + height: 11px; + overflow: hidden; + background: url(images/colorpicker_select.gif); + margin: -5px 0 0 -5px; +} +.ui-colorpicker-hue { + position: absolute; + top: 13px; + left: 171px; + width: 35px; + height: 150px; + cursor: n-resize; +} +.ui-colorpicker-hue div { + position: absolute; + width: 35px; + height: 9px; + overflow: hidden; + background: url(images/colorpicker_indic.gif) left top; + margin: -4px 0 0 0; + left: 0px; +} +.ui-colorpicker-new-color { + position: absolute; + width: 60px; + height: 30px; + left: 213px; + top: 13px; + background: #f00; +} +.ui-colorpicker-current-color { + position: absolute; + width: 60px; + height: 30px; + left: 283px; + top: 13px; + background: #f00; +} +.colorpicker input { + background-color: transparent; + border: 1px solid transparent; + position: absolute; + font-size: 10px; + font-family: Arial, Helvetica, sans-serif; + color: #898989; + top: 4px; + right: 11px; + text-align: right; + margin: 0; + padding: 0; + height: 11px; +} +.ui-colorpicker-hex { + position: absolute; + width: 72px; + height: 22px; + background: url(images/colorpicker_hex.png) top; + left: 212px; + top: 142px; +} +.ui-colorpicker input { + height: 15px; +} +.ui-colorpicker-hex input { + margin-left: 18px; + right: 6px; + width: 47px; +} +.ui-colorpicker-field { + height: 22px; + width: 62px; + background-position: top; + position: absolute; +} +.ui-colorpicker-field label { + padding-left: 17px; + font-size: 10px; +} +.ui-colorpicker-field input { + width: 25px; +} +.ui-colorpicker-field span { + position: absolute; + width: 12px; + height: 22px; + overflow: hidden; + top: 0; + right: 0; + cursor: n-resize; +} +.ui-colorpicker-rgb-r { + background-image: url(images/colorpicker_rgb_r.png); + top: 52px; + left: 212px; +} +.ui-colorpicker-rgb-g { + background-image: url(images/colorpicker_rgb_g.png); + top: 82px; + left: 212px; +} +.ui-colorpicker-rgb-b { + background-image: url(images/colorpicker_rgb_b.png); + top: 112px; + left: 212px; +} +.ui-colorpicker-hsb-h { + background-image: url(images/colorpicker_hsb_h.png); + top: 52px; + left: 282px; +} +.ui-colorpicker-hsb-s { + background-image: url(images/colorpicker_hsb_s.png); + top: 82px; + left: 282px; +} +.ui-colorpicker-hsb-b { + background-image: url(images/colorpicker_hsb_b.png); + top: 112px; + left: 282px; +} +.ui-colorpicker-submit { + position: absolute; + left: 296px; + top: 144px; + overflow: hidden; +} +.ui-colorpicker-focus { + background-position: center; +} +.ui-colorpicker-hex.ui-colorpicker-focus { + background-position: bottom; +} +.ui-colorpicker-submit.ui-colorpicker-focus { + background-position: bottom; +} +.ui-colorpicker-slider { + background-position: bottom; +} + + +/*autocomplete*/ +.ui-autocomplete-results { + /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; + font-family: Verdana, Arial, sans-serif; + font-size: 1.1em; + + border: 1px solid #d3d3d3; + background: #ffffff; + color: #222222; + + overflow: hidden; + z-index: 99999; +} + +.ui-autocomplete-results ul { + width: 100%; + list-style-position: outside; + list-style: none; + padding: 0; + margin: 0; +} + +.ui-autocomplete-results li { + margin: 0px; + padding: 2px 5px; + cursor: default; + display: block; + /* + if width will be 100% horizontal scrollbar will apear + when scroll mode will be used + */ + /*width: 100%;*/ + font: menu; + font-size: 12px; + /* + it is very important, if line-height not setted or setted + in relative units scroll will be broken in firefox + */ + line-height: 16px; + overflow: hidden; + + + border: 1px solid #d3d3d3; + background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x; + font-weight: normal; + color: #555555 !important; + +} + +.ui-autocomplete-loading { + background: white url('indicator.gif') right center no-repeat; +} + +.ui-autocomplete-results li.ui-autocomplete-over { + border: 1px solid #999999; + background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x; + font-weight: normal; + color: #212121 !important; +} + + + + + +/* ProgressBar */ + +.ui-progressbar { + width: 400px; height: 20px; + border: 1px #ccc solid; + background:#E0E8F3 url(images/bg.gif) repeat-x scroll 0%; + position:relative; +} + +.ui-progressbar-wrap { + position: relative; + height: auto; + width: auto; + line-height: 18px; + _line-height: 16px; +} + +.ui-progressbar-bar { + background:#9CBFEE url(images/progress-bg.gif) repeat-x scroll left center; + border-bottom:1px solid #7FA9E4; + border-right:1px solid #7FA9E4; + border-top:1px solid #D1E4FD; + position: absolute; +} + +.ui-progressbar-text { + color:#fff; + overflow: hidden; + white-space: nowrap; + font-size: 11px; + font-weight: bold; + padding-left: 5px; +} + +.ui-progressbar-text-back { + color:#000; + padding-top: 1px; + padding-bottom: 1px; + padding-right: 1px; +} + +.ui-progressbar-disabled { + opacity:.5; + filter:Alpha(Opacity=50); +} + + +/* custom */ +.ui-progressbar-text.right-align { + text-align: right; + padding: 0 5px 0 0; +} +.ui-progressbar-inner-custom { + background: url(images/custom-bar.gif) repeat-x scroll left center; + border-bottom:1px solid #EFEFEF; + border-right:0pt none; + border-top:1px solid #BEBEBE; + height:15px; +} +.bold { + color: red !important; +} +.ui-hidden { + left:-10000px; + position:absolute; + top:-10000px; + visibility:hidden; +} + + + +/* +Generic ThemeRoller Classes +>> Make your jQuery Components ThemeRoller-Compatible! +*/ + +/*component global class*/ +.ui-component { + /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; + font-family: Verdana, Arial, sans-serif; + font-size: 1.1em; +} +/*component content styles*/ +.ui-component-content { + border: 1px solid #d3d3d3; + background: #ffffff; + color: #222222; +} +.ui-component-content a { + color: #222222; + text-decoration: underline; +} +/*component states*/ +.ui-default-state { + border: 1px solid #d3d3d3; + background: #e6e6e6 url(images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x; + font-weight: normal; + color: #555555 !important; +} +.ui-default-state a { + color: #555555; +} +.ui-default-state:hover, .ui-hover-state { + border: 1px solid #999999; + background: #dadada url(images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x; + font-weight: normal; + color: #212121 !important; +} +.ui-hover-state a { + color: #212121; +} +.ui-default-state:active, .ui-active-state { + border: 1px solid #dddddd; + background: #ffffff url(images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x; + font-weight: normal; + color: #222222 !important; + outline: none; +} +.ui-active-state a { + color: #222222; + outline: none; +} +/*icons*/ +.ui-arrow-right-default {background: url(images/888888_7x7_arrow_right.gif) no-repeat 50% 50%;} +.ui-arrow-right-default:hover, .ui-arrow-right-hover {background: url(images/454545_7x7_arrow_right.gif) no-repeat 50% 50%;} +.ui-arrow-right-default:active, .ui-arrow-right-active {background: url(images/222222_7x7_arrow_right.gif) no-repeat 50% 50%;} +.ui-arrow-left-default {background: url(images/888888_7x7_arrow_left.gif) no-repeat 50% 50%;} +.ui-arrow-left-default:hover, .ui-arrow-left-hover {background: url(images/454545_7x7_arrow_left.gif) no-repeat 50% 50%;} +.ui-arrow-left-default:active, .ui-arrow-left-active {background: url(images/222222_7x7_arrow_left.gif) no-repeat 50% 50%;} +.ui-arrow-down-default {background: url(images/888888_7x7_arrow_down.gif) no-repeat 50% 50%;} +.ui-arrow-down-default:hover, .ui-arrow-down-hover {background: url(images/454545_7x7_arrow_down.gif) no-repeat 50% 50%;} +.ui-arrow-down-default:active, .ui-arrow-down-active {background: url(images/222222_7x7_arrow_down.gif) no-repeat 50% 50%;} +.ui-arrow-up-default {background: url(images/888888_7x7_arrow_up.gif) no-repeat 50% 50%;} +.ui-arrow-up-default:hover, .ui-arrow-up-hover {background: url(images/454545_7x7_arrow_up.gif) no-repeat 50% 50%;} +.ui-arrow-up-default:active, .ui-arrow-up-active {background: url(images/222222_7x7_arrow_up.gif) no-repeat 50% 50%;} +.ui-close-default {background: url(images/888888_11x11_icon_close.gif) no-repeat 50% 50%;} +.ui-close-default:hover, .ui-close-hover {background: url(images/454545_11x11_icon_close.gif) no-repeat 50% 50%;} +.ui-close-default:active, .ui-close-active {background: url(images/222222_11x11_icon_close.gif) no-repeat 50% 50%;} +.ui-folder-closed-default {background: url(images/888888_11x11_icon_folder_closed.gif) no-repeat 50% 50%;} +.ui-folder-closed-default:hover, .ui-folder-closed-hover {background: url(images/454545_11x11_icon_folder_closed.gif) no-repeat 50% 50%;} +.ui-folder-closed-default:active, .ui-folder-closed-active {background: url(images/222222_11x11_icon_folder_closed.gif) no-repeat 50% 50%;} +.ui-folder-open-default {background: url(images/888888_11x11_icon_folder_open.gif) no-repeat 50% 50%;} +.ui-folder-open-default:hover, .ui-folder-open-hover {background: url(images/454545_11x11_icon_folder_open.gif) no-repeat 50% 50%;} +.ui-folder-open-default:active, .ui-folder-open-active {background: url(images/222222_11x11_icon_folder_open.gif) no-repeat 50% 50%;} +.ui-doc-default {background: url(images/888888_11x11_icon_doc.gif) no-repeat 50% 50%;} +.ui-doc-default:hover, .ui-doc-hover {background: url(images/454545_11x11_icon_doc.gif) no-repeat 50% 50%;} +.ui-doc-default:active, .ui-doc-active {background: url(images/222222_11x11_icon_doc.gif) no-repeat 50% 50%;} +.ui-arrows-leftright-default {background: url(images/888888_11x11_icon_arrows_leftright.gif) no-repeat 50% 50%;} +.ui-arrows-leftright-default:hover, .ui-arrows-leftright-hover {background: url(images/454545_11x11_icon_arrows_leftright.gif) no-repeat 50% 50%;} +.ui-arrows-leftright-default:active, .ui-arrows-leftright-active {background: url(images/222222_11x11_icon_arrows_leftright.gif) no-repeat 50% 50%;} +.ui-arrows-updown-default {background: url(images/888888_11x11_icon_arrows_updown.gif) no-repeat 50% 50%;} +.ui-arrows-updown-default:hover, .ui-arrows-updown-hover {background: url(images/454545_11x11_icon_arrows_updown.gif) no-repeat 50% 50%;} +.ui-arrows-updown-default:active, .ui-arrows-updown-active {background: url(images/222222_11x11_icon_arrows_updown.gif) no-repeat 50% 50%;} +.ui-minus-default {background: url(images/888888_11x11_icon_minus.gif) no-repeat 50% 50%;} +.ui-minus-default:hover, .ui-minus-hover {background: url(images/454545_11x11_icon_minus.gif) no-repeat 50% 50%;} +.ui-minus-default:active, .ui-minus-active {background: url(images/222222_11x11_icon_minus.gif) no-repeat 50% 50%;} +.ui-plus-default {background: url(images/888888_11x11_icon_plus.gif) no-repeat 50% 50%;} +.ui-plus-default:hover, .ui-plus-hover {background: url(images/454545_11x11_icon_plus.gif) no-repeat 50% 50%;} +.ui-plus-default:active, .ui-plus-active {background: url(images/222222_11x11_icon_plus.gif) no-repeat 50% 50%;} +/*hidden elements*/ +.ui-hidden { + display: none;/* for accessible hiding: position: absolute; left: -99999999px*/; +} +.ui-accessible-hidden { + position: absolute; left: -99999999px; +} +/*reset styles*/ +.ui-reset { + /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; +} +/*clearfix class*/ +.ui-clearfix:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} +.ui-clearfix {display: inline-block;} +/* Hides from IE-mac \*/ +* html .ui-clearfix {height: 1%;} +.ui-clearfix {display: block;} +/* End hide from IE-mac */ + +/* Note: for resizable styles, use the styles listed above in the dialog section */ + + + + +/* UI Spinner */ +.ui-spinner { + width: 15em; + display: block; + position: relative; + overflow: hidden; + border: 1px solid #999; + background: #FEFEFE url(./images/spinner-bg.gif) repeat-x left bottom; + padding: 0 5px; +} + +.ui-spinner-disabled { + background: #F4F4F4; + color: #CCC; +} + +.ui-spinner-box { + width: 90%; + height: 100%; + float: left; + font-size: 125%; + border: none; + background: none; + padding: 0; +} + +.ui-spinner-up, +.ui-spinner-down { + width: 10%; + height: 50%; + font-size: 0.5em; + padding: 0; + margin: 0; + z-index: 100; + text-align: center; + vertical-align: middle; + position: absolute; + right: 0; + cursor: default; + border: 1px solid #999; + border-right: none; + border-top: none; +} + +.ui-spinner-down { + bottom: 0; + border-bottom: 0; +} + +.ui-spinner-pressed { + background: #FEFEFE; +} + +.ui-spinner-list, +.ui-spinner-listitem { + margin: 0; + padding: 0; +} \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/themes/default/ui.datepicker.css =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/Attic/ui.datepicker.css,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/themes/default/ui.datepicker.css 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1,213 @@ +/* Main Style Sheet for jQuery UI date picker */ +#ui-datepicker-div, .ui-datepicker-inline { + font-family: Arial, Helvetica, sans-serif; + font-size: 14px; + padding: 0; + margin: 0; + background: #ddd; + width: 185px; +} +#ui-datepicker-div { + display: none; + border: 1px solid #777; + z-index: 100; /*must have*/ +} +.ui-datepicker-inline { + float: left; + display: block; + border: 0; +} +.ui-datepicker-rtl { + direction: rtl; +} +.ui-datepicker-dialog { + padding: 5px !important; + border: 4px ridge #ddd !important; +} +.ui-datepicker-disabled { + position: absolute; + z-index: 100; + background-color: white; + opacity: 0.5; +} +button.ui-datepicker-trigger { + width: 25px; +} +img.ui-datepicker-trigger { + margin: 2px; + vertical-align: middle; +} +.ui-datepicker-prompt { + float: left; + padding: 2px; + background: #ddd; + color: #000; +} +* html .ui-datepicker-prompt { + width: 185px; +} +.ui-datepicker-control, .ui-datepicker-links, .ui-datepicker-header, .ui-datepicker { + clear: both; + float: left; + width: 100%; + color: #fff; +} +.ui-datepicker-control { + background: #400; + padding: 2px 0px; +} +.ui-datepicker-links { + background: #000; + padding: 2px 0px; +} +.ui-datepicker-control, .ui-datepicker-links { + font-weight: bold; + font-size: 80%; +} +.ui-datepicker-links label { /* disabled links */ + padding: 2px 5px; + color: #888; +} +.ui-datepicker-clear, .ui-datepicker-prev { + float: left; + width: 34%; +} +.ui-datepicker-rtl .ui-datepicker-clear, .ui-datepicker-rtl .ui-datepicker-prev { + float: right; + text-align: right; +} +.ui-datepicker-current { + float: left; + width: 30%; + text-align: center; +} +.ui-datepicker-close, .ui-datepicker-next { + float: right; + width: 34%; + text-align: right; +} +.ui-datepicker-rtl .ui-datepicker-close, .ui-datepicker-rtl .ui-datepicker-next { + float: left; + text-align: left; +} +.ui-datepicker-header { + padding: 1px 0 3px; + background: #333; + text-align: center; + font-weight: bold; + height: 1.3em; +} +.ui-datepicker-header select { + background: #333; + color: #fff; + border: 0px; + font-weight: bold; +} +.ui-datepicker { + background: #ccc; + text-align: center; + font-size: 100%; +} +.ui-datepicker a { + display: block; + width: 100%; +} +.ui-datepicker-title-row { + background: #777; +} +.ui-datepicker-days-row { + background: #eee; + color: #666; +} +.ui-datepicker-week-col { + background: #777; + color: #fff; +} +.ui-datepicker-days-cell { + color: #000; + border: 1px solid #ddd; +} +.ui-datepicker-days-cell a{ + display: block; +} +.ui-datepicker-week-end-cell { + background: #ddd; +} +.ui-datepicker-title-row .ui-datepicker-week-end-cell { + background: #777; +} +.ui-datepicker-days-cell-over { + background: #fff; + border: 1px solid #777; +} +.ui-datepicker-unselectable { + color: #888; +} +.ui-datepicker-today { + background: #fcc !important; +} +.ui-datepicker-current-day { + background: #999 !important; +} +.ui-datepicker-status { + background: #ddd; + width: 100%; + font-size: 80%; + text-align: center; +} + +/* ________ Datepicker Links _______ + +** Reset link properties and then override them with !important */ +#ui-datepicker-div a, .ui-datepicker-inline a { + cursor: pointer; + margin: 0; + padding: 0; + background: none; + color: #000; +} +.ui-datepicker-inline .ui-datepicker-links a { + padding: 0 5px !important; +} +.ui-datepicker-control a, .ui-datepicker-links a { + padding: 2px 5px !important; + color: #eee !important; +} +.ui-datepicker-title-row a { + color: #eee !important; +} +.ui-datepicker-control a:hover { + background: #fdd !important; + color: #333 !important; +} +.ui-datepicker-links a:hover, .ui-datepicker-title-row a:hover { + background: #ddd !important; + color: #333 !important; +} + +/* ___________ MULTIPLE MONTHS _________*/ + +.ui-datepicker-multi .ui-datepicker { + border: 1px solid #777; +} +.ui-datepicker-one-month { + float: left; + width: 185px; +} +.ui-datepicker-new-row { + clear: left; +} + +/* ___________ IE6 IFRAME FIX ________ */ + +.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*/ +} Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/222222_11x11_icon_arrows_leftright.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/222222_11x11_icon_arrows_leftright.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/222222_11x11_icon_arrows_updown.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/222222_11x11_icon_arrows_updown.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/222222_11x11_icon_close.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/222222_11x11_icon_close.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/222222_11x11_icon_doc.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/222222_11x11_icon_doc.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/222222_11x11_icon_folder_closed.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/222222_11x11_icon_folder_closed.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/222222_11x11_icon_folder_open.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/222222_11x11_icon_folder_open.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/222222_11x11_icon_minus.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/222222_11x11_icon_minus.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/222222_11x11_icon_plus.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/222222_11x11_icon_plus.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/222222_11x11_icon_resize_se.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/222222_11x11_icon_resize_se.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/222222_7x7_arrow_down.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/222222_7x7_arrow_down.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/222222_7x7_arrow_left.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/222222_7x7_arrow_left.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/222222_7x7_arrow_right.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/222222_7x7_arrow_right.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/222222_7x7_arrow_up.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/222222_7x7_arrow_up.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/454545_11x11_icon_arrows_leftright.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/454545_11x11_icon_arrows_leftright.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/454545_11x11_icon_arrows_updown.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/454545_11x11_icon_arrows_updown.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/454545_11x11_icon_close.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/454545_11x11_icon_close.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/454545_11x11_icon_doc.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/454545_11x11_icon_doc.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/454545_11x11_icon_folder_closed.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/454545_11x11_icon_folder_closed.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/454545_11x11_icon_folder_open.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/454545_11x11_icon_folder_open.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/454545_11x11_icon_minus.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/454545_11x11_icon_minus.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/454545_11x11_icon_plus.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/454545_11x11_icon_plus.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/454545_7x7_arrow_down.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/454545_7x7_arrow_down.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/454545_7x7_arrow_left.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/454545_7x7_arrow_left.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/454545_7x7_arrow_right.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/454545_7x7_arrow_right.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/454545_7x7_arrow_up.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/454545_7x7_arrow_up.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/888888_11x11_icon_arrows_leftright.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/888888_11x11_icon_arrows_leftright.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/888888_11x11_icon_arrows_updown.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/888888_11x11_icon_arrows_updown.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/888888_11x11_icon_close.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/888888_11x11_icon_close.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/888888_11x11_icon_doc.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/888888_11x11_icon_doc.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/888888_11x11_icon_folder_closed.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/888888_11x11_icon_folder_closed.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/888888_11x11_icon_folder_open.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/888888_11x11_icon_folder_open.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/888888_11x11_icon_minus.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/888888_11x11_icon_minus.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/888888_11x11_icon_plus.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/888888_11x11_icon_plus.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/888888_7x7_arrow_down.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/888888_7x7_arrow_down.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/888888_7x7_arrow_left.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/888888_7x7_arrow_left.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/888888_7x7_arrow_right.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/888888_7x7_arrow_right.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/888888_7x7_arrow_up.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/888888_7x7_arrow_up.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/bg.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/bg.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/colorpicker_background.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/colorpicker_background.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/colorpicker_hex.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/colorpicker_hex.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/colorpicker_hsb_b.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/colorpicker_hsb_b.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/colorpicker_hsb_h.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/colorpicker_hsb_h.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/colorpicker_hsb_s.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/colorpicker_hsb_s.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/colorpicker_indic.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/colorpicker_indic.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/colorpicker_overlay.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/colorpicker_overlay.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/colorpicker_rgb_b.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/colorpicker_rgb_b.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/colorpicker_rgb_g.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/colorpicker_rgb_g.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/colorpicker_rgb_r.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/colorpicker_rgb_r.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/colorpicker_select.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/colorpicker_select.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/colorpicker_submit.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/colorpicker_submit.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/custom_background.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/custom_background.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/custom_hex.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/custom_hex.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/custom_hsb_b.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/custom_hsb_b.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/custom_hsb_h.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/custom_hsb_h.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/custom_hsb_s.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/custom_hsb_s.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/custom_indic.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/custom_indic.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/custom_rgb_b.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/custom_rgb_b.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/custom_rgb_g.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/custom_rgb_g.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/custom_rgb_r.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/custom_rgb_r.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/custom_submit.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/custom_submit.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/dadada_40x100_textures_02_glass_75.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/dadada_40x100_textures_02_glass_75.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/e6e6e6_40x100_textures_02_glass_75.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/e6e6e6_40x100_textures_02_glass_75.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/ffffff_40x100_textures_02_glass_65.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/ffffff_40x100_textures_02_glass_65.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/progress-bg.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/progress-bg.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/select.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/select.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/select2.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/select2.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/default/images/spinner-bg.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/default/images/Attic/spinner-bg.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/flora.accordion.css =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/Attic/flora.accordion.css,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/themes/flora/flora.accordion.css 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,39 @@ +.ui-accordion { margin: 0; padding: 0; list-style-type: none; } +.ui-accordion li { margin: 0; margin-bottom: 2px; padding: 0; } +.ui-accordion li .ui-accordion-header { + display: block; + padding-left: 5px; + margin-right: 3px; + height: 28px; + background-image: url(i/accordion-middle.png); + color: #000; + text-decoration: none; + line-height: 28px; + position: relative; + left: 3px; +} +.ui-accordion li .ui-accordion-right { + display: block; + background-image: url(i/accordion-right.png); + position: absolute; + top: 0px; + right: -3px; + height: 28px; + width: 3px; +} +.ui-accordion li .ui-accordion-left { + display: block; + background-image: url(i/accordion-left.png); + background-repeat: no-repeat; + position: absolute; + height: 28px; + width: 3px; +} + +.ui-accordion li:hover .ui-accordion-left { background-image: url(i/accordion-left-over.png); } +.ui-accordion li:hover .ui-accordion-header { background-image: url(i/accordion-middle-over.png); } +.ui-accordion li:hover .ui-accordion-right { background-image: url(i/accordion-right-over.png); } + +.ui-accordion li.selected .ui-accordion-left { background-image: url(i/accordion-left-act.png); } +.ui-accordion li.selected .ui-accordion-header { background-image: url(i/accordion-middle-act.png); } +.ui-accordion li.selected .ui-accordion-right { background-image: url(i/accordion-right-act.png); } Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/flora.all.css =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/Attic/flora.all.css,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/themes/flora/flora.all.css 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,7 @@ +@import "flora.css"; +@import "flora.accordion.css"; +@import "flora.datepicker.css"; +@import "flora.dialog.css"; +@import "flora.resizable.css"; +@import "flora.slider.css"; +@import "flora.tabs.css"; Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/flora.css =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/Attic/flora.css,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/themes/flora/flora.css 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,2 @@ +.ui-wrapper { border: 1px solid #50A029; } +.ui-wrapper input, .ui-wrapper textarea { border: 0; } Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/flora.datepicker.css =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/Attic/flora.datepicker.css,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/themes/flora/flora.datepicker.css 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,222 @@ +/* Main Flora Style Sheet for jQuery UI ui-datepicker */ +#ui-datepicker-div, .ui-datepicker-inline { + font-family: Arial,Helvetica,sans-serif; + font-size: 14px; + padding: 0; + margin: 0; + background: #E0F4D7; + width: 185px; +} +#ui-datepicker-div { + display: none; + border: 1px solid #FF9900; + z-index: 10; +} +.ui-datepicker-inline { + float: left; + display: block; + border: 0; +} +.ui-datepicker-rtl { + direction: rtl; +} +.ui-datepicker-dialog { + padding: 5px !important; + border: 4px ridge #83C948 !important; +} +.ui-datepicker-disabled { + position: absolute; + z-index: 10; + background-color: white; + opacity: 0.5; +} +button.ui-datepicker-trigger { + width: 25px; +} +img.ui-datepicker-trigger { + margin: 2px; + vertical-align: middle; +} +.ui-datepicker-prompt { + float: left; + padding: 2px; + background: #E0F4D7; + color: #000; +} +*html .ui-datepicker-prompt { + width: 185px; +} +.ui-datepicker-control, .ui-datepicker-links, .ui-datepicker-header, .ui-datepicker { + clear: both; + float: left; + width: 100%; + color: #FFF; +} +.ui-datepicker-control { + background: #FF9900; + padding: 2px 0px; +} +.ui-datepicker-links { + background: #E0F4D7; + padding: 2px 0px; +} +.ui-datepicker-control, .ui-datepicker-links { + font-weight: bold; + font-size: 80%; + letter-spacing: 1px; +} +.ui-datepicker-links label { + padding: 2px 5px; + color: #888; +} +.ui-datepicker-clear, .ui-datepicker-prev { + float: left; + width: 34%; +} +.ui-datepicker-rtl .ui-datepicker-clear, .ui-datepicker-rtl .ui-datepicker-prev { + float: right; + text-align: right; +} +.ui-datepicker-current { + float: left; + width: 30%; + text-align: center; +} +.ui-datepicker-close, .ui-datepicker-next { + float: right; + width: 34%; + text-align: right; +} +.ui-datepicker-rtl .ui-datepicker-close, .ui-datepicker-rtl .ui-datepicker-next { + float: left; + text-align: left; +} +.ui-datepicker-header { + padding: 1px 0 3px; + background: #83C948; + text-align: center; + font-weight: bold; + height: 1.3em; +} +.ui-datepicker-header select { + background: #83C948; + color: #000; + border: 0px; + font-weight: bold; +} +.ui-datepicker { + background: #CCC; + text-align: center; + font-size: 100%; +} +.ui-datepicker a { + display: block; + width: 100%; +} +.ui-datepicker-title-row { + background: #B1DB87; + color: #000; +} +.ui-datepicker-title-row .ui-datepicker-week-end-cell { + background: #B1DB87; +} +.ui-datepicker-days-row { + background: #FFF; + color: #666; +} +.ui-datepicker-week-col { + background: #B1DB87; + color: #000; +} +.ui-datepicker-days-cell { + color: #000; + border: 1px solid #DDD; +} +.ui-datepicker-days-cell a { + display: block; +} +.ui-datepicker-week-end-cell { + background: #E0F4D7; +} +.ui-datepicker-unselectable { + color: #888; +} +.ui-datepicker-week-over, .ui-datepicker-week-over .ui-datepicker-week-end-cell { + background: #B1DB87 !important; +} +.ui-datepicker-days-cell-over, .ui-datepicker-days-cell-over.ui-datepicker-week-end-cell { + background: #FFF !important; + border: 1px solid #777; +} +* html .ui-datepicker-title-row .ui-datepicker-week-end-cell { + background: #B1DB87 !important; +} +* html .ui-datepicker-week-end-cell { + background: #E0F4D7 !important; + border: 1px solid #DDD !important; +} +* html .ui-datepicker-days-cell-over { + background: #FFF !important; + border: 1px solid #777 !important; +} +* html .ui-datepicker-current-day { + background: #83C948 !important; +} +.ui-datepicker-today { + background: #B1DB87 !important; +} +.ui-datepicker-current-day { + background: #83C948 !important; +} +.ui-datepicker-status { + background: #E0F4D7; + width: 100%; + font-size: 80%; + text-align: center; +} +#ui-datepicker-div a, .ui-datepicker-inline a { + cursor: pointer; + margin: 0; + padding: 0; + background: none; + color: #000; +} +.ui-datepicker-inline .ui-datepicker-links a { + padding: 0 5px !important; +} +.ui-datepicker-control a, .ui-datepicker-links a { + padding: 2px 5px !important; + color: #000 !important; +} +.ui-datepicker-title-row a { + color: #000 !important; +} +.ui-datepicker-control a:hover { + background: #FDD !important; + color: #333 !important; +} +.ui-datepicker-links a:hover, .ui-datepicker-title-row a:hover { + background: #FFF !important; + color: #333 !important; +} +.ui-datepicker-multi .ui-datepicker { + border: 1px solid #83C948; +} +.ui-datepicker-one-month { + float: left; + width: 185px; +} +.ui-datepicker-new-row { + clear: left; +} +.ui-datepicker-cover { + display: none; + display/**/: block; + position: absolute; + z-index: -1; + filter: mask(); + top: -4px; + left: -4px; + width: 193px; + height: 200px; +} Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/flora.dialog.css =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/Attic/flora.dialog.css,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/themes/flora/flora.dialog.css 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,100 @@ +/* This file skins dialog */ + +.flora .ui-dialog, +.flora.ui-dialog { + background-color: #e6f7d4; +} + +.flora .ui-dialog .ui-dialog-titlebar, +.flora.ui-dialog .ui-dialog-titlebar { + border-bottom: 1px solid #d8d2aa; + background: #ff9900 url(i/dialog-title.gif) repeat-x; + padding: 0px; + height: 28px; + _height: 29px; +} + +.flora .ui-draggable .ui-dialog-titlebar, +.flora.ui-draggable .ui-dialog-titlebar { + cursor: move; +} + +.flora .ui-draggable-disabled .ui-dialog-titlebar, +.flora.ui-draggable-disabled .ui-dialog-titlebar { + cursor: default; +} + +.flora .ui-dialog .ui-dialog-titlebar-close, +.flora.ui-dialog .ui-dialog-titlebar-close { + width: 16px; + height: 16px; + background: url(i/dialog-titlebar-close.png) no-repeat; + position:absolute; + top: 6px; + right: 7px; + cursor: default; +} + +.flora .ui-dialog .ui-dialog-titlebar-close span, +.flora.ui-dialog .ui-dialog-titlebar-close span { + display: none; +} + +.flora .ui-dialog .ui-dialog-titlebar-close-hover, +.flora.ui-dialog .ui-dialog-titlebar-close-hover { + background: url(i/dialog-titlebar-close-hover.png) no-repeat; +} + +.flora .ui-dialog .ui-dialog-title, +.flora.ui-dialog .ui-dialog-title { + margin-left: 5px; + color: white; + font-weight: bold; + position: relative; + top: 7px; + left: 4px; +} + +.flora .ui-dialog .ui-dialog-content, +.flora.ui-dialog .ui-dialog-content { + margin: 1.2em; +} + +.flora .ui-dialog .ui-dialog-buttonpane, +.flora.ui-dialog .ui-dialog-buttonpane { + position: absolute; + bottom: 8px; + right: 12px; + width: 100%; + text-align: right; +} + +.flora .ui-dialog .ui-dialog-buttonpane button, +.flora.ui-dialog .ui-dialog-buttonpane button { + margin: 6px; +} + +/* Dialog handle styles */ +.flora .ui-dialog .ui-resizable-n, +.flora.ui-dialog .ui-resizable-n { cursor: n-resize; height: 6px; width: 100%; top: 0px; left: 0px; background: transparent url(i/dialog-n.gif) repeat scroll center top; } + +.flora .ui-dialog .ui-resizable-s, +.flora.ui-dialog .ui-resizable-s { cursor: s-resize; height: 8px; width: 100%; bottom: 0px; left: 0px; background: transparent url(i/dialog-s.gif) repeat scroll center top; } + +.flora .ui-dialog .ui-resizable-e, +.flora.ui-dialog .ui-resizable-e { cursor: e-resize; width: 7px; right: 0px; top: 0px; height: 100%; background: transparent url(i/dialog-e.gif) repeat scroll right center; } + +.flora .ui-dialog .ui-resizable-w, +.flora.ui-dialog .ui-resizable-w { cursor: w-resize; width: 7px; left: 0px; top: 0px; height: 100%; background: transparent url(i/dialog-w.gif) repeat scroll right center; } + +.flora .ui-dialog .ui-resizable-se, +.flora.ui-dialog .ui-resizable-se { cursor: se-resize; width: 9px; height: 9px; right: 0px; bottom: 0px; background: transparent url(i/dialog-se.gif); } + +.flora .ui-dialog .ui-resizable-sw, +.flora.ui-dialog .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: 0px; bottom: 0px; background: transparent url(i/dialog-sw.gif); } + +.flora .ui-dialog .ui-resizable-nw, +.flora.ui-dialog .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 29px; left: 0px; top: 0px; background: transparent url(i/dialog-nw.gif); } + +.flora .ui-dialog .ui-resizable-ne, +.flora.ui-dialog .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 29px; right: 0px; top: 0px; background: transparent url(i/dialog-ne.gif); } Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/flora.resizable.css =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/Attic/flora.resizable.css,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/themes/flora/flora.resizable.css 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,20 @@ +/* This file skins resizables */ + +.ui-resizable { position: relative; } + +/* Global handle styles */ +.ui-resizable-handle { position: absolute; display: none; font-size: 0.1px; } +.ui-resizable .ui-resizable-handle { display: block; } +body .ui-resizable-disabled .ui-resizable-handle { display: none; } /* use 'body' to make it more specific (css order) */ +body .ui-resizable-autohide .ui-resizable-handle { display: none; } /* use 'body' to make it more specific (css order) */ + +.ui-resizable-n { cursor: n-resize; height: 6px; width: 100%; top: 0px; left: 0px; background: transparent url(i/resizable-n.gif) repeat scroll center top; } +.ui-resizable-s { cursor: s-resize; height: 6px; width: 100%; bottom: 0px; left: 0px; background: transparent url(i/resizable-s.gif) repeat scroll center top; } + +.ui-resizable-e { cursor: e-resize; width: 6px; right: 0px; top: 0px; height: 100%; background: transparent url(i/resizable-e.gif) repeat scroll right center; } +.ui-resizable-w { cursor: w-resize; width: 6px; left: 0px; top: 0px; height: 100%; background: transparent url(i/resizable-w.gif) repeat scroll right center; } + +.ui-resizable-se { cursor: se-resize; width: 9px; height: 9px; right: 0px; bottom: 0px; background: transparent url(i/resizable-se.gif); } +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: 0px; bottom: 0px; background: transparent url(i/resizable-sw.gif); } +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: 0px; top: 0px; background: transparent url(i/resizable-nw.gif); } +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: 0px; top: 0px; background: transparent url(i/resizable-ne.gif); } Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/flora.slider.css =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/Attic/flora.slider.css,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/themes/flora/flora.slider.css 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,11 @@ +/* This file skins sliders */ + +.ui-slider { width: 200px; height: 23px; position: relative; background-repeat: no-repeat; background-position: center center; } +.ui-slider-handle { position: absolute; z-index: 1; height: 23px; width: 12px; top: 0px; left: 0px; background-image: url(i/slider-handle.gif); } +.ui-slider-handle-active { border: 1px dotted black; } +.ui-slider-disabled .ui-slider-handle { opacity: 0.5; filter: alpha(opacity=50); } +.ui-slider-range { position: absolute; background: #50A029; opacity: 0.3; filter: alpha(opacity=30); width: 100%; height: 100%; } + +/* Default slider backgrounds */ +.ui-slider, .ui-slider-1 { background-image: url(i/slider-bg-1.png); } +.ui-slider-2 { background-image: url(i/slider-bg-2.png); } Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/flora.tabs.css =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/Attic/flora.tabs.css,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/themes/flora/flora.tabs.css 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,104 @@ +@import "flora.css"; + +/* Caution! Ensure accessibility in print and other media types... */ +@media projection, screen { /* Use class for showing/hiding tab content, so that visibility can be better controlled in different media types... */ + .ui-tabs-hide { + display: none !important; + } +} + +/* Hide useless elements in print layouts... */ +@media print { + .ui-tabs-nav { + display: none; + } +} + +/* Skin */ +.ui-tabs-nav, .ui-tabs-panel { + font-family: "Trebuchet MS", Trebuchet, Verdana, Helvetica, Arial, sans-serif; + font-size: 12px; +} +.ui-tabs-nav { + list-style: none; + margin: 0; + padding: 0 0 0 3px; +} +.ui-tabs-nav:after { /* clearing without presentational markup, IE gets extra treatment */ + display: block; + clear: both; + content: " "; +} +.ui-tabs-nav li { + float: left; + margin: 0 0 0 2px; + font-weight: bold; +} +.ui-tabs-nav a, .ui-tabs-nav a span { + float: left; /* fixes dir=ltr problem and other quirks IE */ + padding: 0 12px; + background: url(i/tabs.png) no-repeat; +} +.ui-tabs-nav a { + margin: 5px 0 0; /* position: relative makes opacity fail for disabled tab in IE */ + padding-left: 0; + background-position: 100% 0; + text-decoration: none; + white-space: nowrap; /* @ IE 6 */ + outline: 0; /* @ Firefox, prevent dotted border after click */ +} +.ui-tabs-nav a:link, .ui-tabs-nav a:visited { + color: #fff; +} +.ui-tabs-nav .ui-tabs-selected a { + position: relative; + top: 1px; + z-index: 2; + margin-top: 0; + background-position: 100% -23px; +} +.ui-tabs-nav a span { + padding-top: 1px; + padding-right: 0; + height: 20px; + background-position: 0 0; + line-height: 20px; +} +.ui-tabs-nav .ui-tabs-selected a span { + padding-top: 0; + height: 27px; + background-position: 0 -23px; + line-height: 27px; +} +.ui-tabs-nav .ui-tabs-selected a:link, .ui-tabs-nav .ui-tabs-selected a:visited, +.ui-tabs-nav .ui-tabs-disabled a:link, .ui-tabs-nav .ui-tabs-disabled a:visited { /* @ Opera, use pseudo classes otherwise it confuses cursor... */ + cursor: text; +} +.ui-tabs-nav a:hover, .ui-tabs-nav a:focus, .ui-tabs-nav a:active, +.ui-tabs-nav .ui-tabs-unselect a:hover, .ui-tabs-nav .ui-tabs-unselect a:focus, .ui-tabs-nav .ui-tabs-unselect a:active { /* @ Opera, we need to be explicit again here now... */ + cursor: pointer; +} +.ui-tabs-disabled { + opacity: .4; + filter: alpha(opacity=40); +} +.ui-tabs-nav .ui-tabs-disabled a:link, .ui-tabs-nav .ui-tabs-disabled a:visited { + color: #000; +} +.ui-tabs-panel { + border: 1px solid #519e2d; + padding: 10px; + background: #fff; /* declare background color for container to avoid distorted fonts in IE while fading */ +} +/*.ui-tabs-loading em { + padding: 0 0 0 20px; + background: url(loading.gif) no-repeat 0 50%; +}*/ + +/* Additional IE specific bug fixes... */ +* html .ui-tabs-nav { /* auto clear @ IE 6 & IE 7 Quirks Mode */ + display: inline-block; +} +*:first-child+html .ui-tabs-nav { /* auto clear @ IE 7 Standards Mode - do not group selectors, otherwise IE 6 will ignore complete rule (because of the unknown + combinator)... */ + display: inline-block; +} Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/accordion-left-act.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/accordion-left-act.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/accordion-left-over.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/accordion-left-over.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/accordion-left.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/accordion-left.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/accordion-middle-act.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/accordion-middle-act.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/accordion-middle-over.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/accordion-middle-over.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/accordion-middle.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/accordion-middle.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/accordion-right-act.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/accordion-right-act.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/accordion-right-over.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/accordion-right-over.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/accordion-right.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/accordion-right.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/dialog-e.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/dialog-e.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/dialog-n.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/dialog-n.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/dialog-ne.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/dialog-ne.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/dialog-nw.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/dialog-nw.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/dialog-s.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/dialog-s.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/dialog-se.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/dialog-se.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/dialog-sw.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/dialog-sw.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/dialog-title.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/dialog-title.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/dialog-titlebar-close-hover.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/dialog-titlebar-close-hover.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/dialog-titlebar-close.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/dialog-titlebar-close.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/dialog-w.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/dialog-w.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/resizable-e.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/resizable-e.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/resizable-n.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/resizable-n.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/resizable-ne.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/resizable-ne.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/resizable-nw.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/resizable-nw.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/resizable-s.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/resizable-s.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/resizable-se.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/resizable-se.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/resizable-sw.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/resizable-sw.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/resizable-w.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/resizable-w.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/slider-bg-1.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/slider-bg-1.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/slider-bg-2.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/slider-bg-2.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/slider-handle.gif =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/slider-handle.gif,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/themes/flora/i/tabs.png =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/themes/flora/i/Attic/tabs.png,v diff -u Binary files differ Index: lams_central/web/includes/javascript/jquery-ui/ui/effects.blind.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/effects.blind.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/effects.blind.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,49 @@ +/* + * jQuery UI Effects Blind @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Blind + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.blind = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','left']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode + var direction = o.options.direction || 'vertical'; // Default direction + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + var wrapper = $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper + var ref = (direction == 'vertical') ? 'height' : 'width'; + var distance = (direction == 'vertical') ? wrapper.height() : wrapper.width(); + if(mode == 'show') wrapper.css(ref, 0); // Shift + + // Animation + var animation = {}; + animation[ref] = mode == 'show' ? distance : 0; + + // Animate + wrapper.animate(animation, o.duration, o.options.easing, function() { + if(mode == 'hide') el.hide(); // Hide + $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(el[0], arguments); // Callback + el.dequeue(); + }); + + }); + +}; + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/effects.bounce.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/effects.bounce.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/effects.bounce.js 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1,78 @@ +/* + * jQuery UI Effects Bounce @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Bounce + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.bounce = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','left']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode + var direction = o.options.direction || 'up'; // Default direction + var distance = o.options.distance || 20; // Default distance + var times = o.options.times || 5; // Default # of times + var speed = o.duration || 250; // Default speed per bounce + if (/show|hide/.test(mode)) props.push('opacity'); // Avoid touching opacity to prevent clearType and PNG issues in IE + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + $.effects.createWrapper(el); // Create Wrapper + var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; + var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; + var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) / 3 : el.outerWidth({margin:true}) / 3); + if (mode == 'show') el.css('opacity', 0).css(ref, motion == 'pos' ? -distance : distance); // Shift + if (mode == 'hide') distance = distance / (times * 2); + if (mode != 'hide') times--; + + // Animate + if (mode == 'show') { // Show Bounce + var animation = {opacity: 1}; + animation[ref] = (motion == 'pos' ? '+=' : '-=') + distance; + el.animate(animation, speed / 2, o.options.easing); + distance = distance / 2; + times--; + }; + for (var i = 0; i < times; i++) { // Bounces + var animation1 = {}, animation2 = {}; + animation1[ref] = (motion == 'pos' ? '-=' : '+=') + distance; + animation2[ref] = (motion == 'pos' ? '+=' : '-=') + distance; + el.animate(animation1, speed / 2, o.options.easing).animate(animation2, speed / 2, o.options.easing); + distance = (mode == 'hide') ? distance * 2 : distance / 2; + }; + if (mode == 'hide') { // Last Bounce + var animation = {opacity: 0}; + animation[ref] = (motion == 'pos' ? '-=' : '+=') + distance; + el.animate(animation, speed / 2, o.options.easing, function(){ + el.hide(); // Hide + $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(this, arguments); // Callback + }); + } else { + var animation1 = {}, animation2 = {}; + animation1[ref] = (motion == 'pos' ? '-=' : '+=') + distance; + animation2[ref] = (motion == 'pos' ? '+=' : '-=') + distance; + el.animate(animation1, speed / 2, o.options.easing).animate(animation2, speed / 2, o.options.easing, function(){ + $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(this, arguments); // Callback + }); + }; + el.queue('fx', function() { el.dequeue(); }); + el.dequeue(); + }); + +}; + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/effects.clip.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/effects.clip.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/effects.clip.js 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1,54 @@ +/* + * jQuery UI Effects Clip @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Clip + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.clip = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','left','height','width']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode + var direction = o.options.direction || 'vertical'; // Default direction + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + var wrapper = $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper + var animate = el[0].tagName == 'IMG' ? wrapper : el; + var ref = { + size: (direction == 'vertical') ? 'height' : 'width', + position: (direction == 'vertical') ? 'top' : 'left' + }; + var distance = (direction == 'vertical') ? animate.height() : animate.width(); + if(mode == 'show') { animate.css(ref.size, 0); animate.css(ref.position, distance / 2); } // Shift + + // Animation + var animation = {}; + animation[ref.size] = mode == 'show' ? distance : 0; + animation[ref.position] = mode == 'show' ? 0 : distance / 2; + + // Animate + animate.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { + if(mode == 'hide') el.hide(); // Hide + $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(el[0], arguments); // Callback + el.dequeue(); + }}); + + }); + +}; + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/effects.core.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/effects.core.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/effects.core.js 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1,509 @@ +/* + * jQuery UI Effects @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/ + */ +;(function($) { + +$.effects = $.effects || {}; //Add the 'effects' scope + +$.extend($.effects, { + save: function(el, set) { + for(var i=0;i'); + var wrapper = el.parent(); + if (el.css('position') == 'static'){ + wrapper.css({position: 'relative'}); + el.css({position: 'relative'}); + } else { + var top = el.css('top'); if(isNaN(parseInt(top))) top = 'auto'; + var left = el.css('left'); if(isNaN(parseInt(left))) left = 'auto'; + wrapper.css({ position: el.css('position'), top: top, left: left, zIndex: el.css('z-index') }).show(); + el.css({position: 'relative', top:0, left:0}); + } + wrapper.css(props); + return wrapper; + }, + removeWrapper: function(el) { + if (el.parent().attr('id') == 'fxWrapper') + return el.parent().replaceWith(el); + return el; + }, + setTransition: function(el, list, factor, val) { + val = val || {}; + $.each(list,function(i, x){ + unit = el.cssUnit(x); + if (unit[0] > 0) val[x] = unit[0] * factor + unit[1]; + }); + return val; + }, + animateClass: function(value, duration, easing, callback) { + + var cb = (typeof easing == "function" ? easing : (callback ? callback : null)); + var ea = (typeof easing == "object" ? easing : null); + + return this.each(function() { + + var offset = {}; var that = $(this); var oldStyleAttr = that.attr("style") || ''; + if(typeof oldStyleAttr == 'object') oldStyleAttr = oldStyleAttr["cssText"]; /* Stupidly in IE, style is a object.. */ + if(value.toggle) { that.hasClass(value.toggle) ? value.remove = value.toggle : value.add = value.toggle; } + + //Let's get a style offset + var oldStyle = $.extend({}, (document.defaultView ? document.defaultView.getComputedStyle(this,null) : this.currentStyle)); + if(value.add) that.addClass(value.add); if(value.remove) that.removeClass(value.remove); + var newStyle = $.extend({}, (document.defaultView ? document.defaultView.getComputedStyle(this,null) : this.currentStyle)); + if(value.add) that.removeClass(value.add); if(value.remove) that.addClass(value.remove); + + // The main function to form the object for animation + for(var n in newStyle) { + if( typeof newStyle[n] != "function" && newStyle[n] /* No functions and null properties */ + && n.indexOf("Moz") == -1 && n.indexOf("length") == -1 /* No mozilla spezific render properties. */ + && newStyle[n] != oldStyle[n] /* Only values that have changed are used for the animation */ + && (n.match(/color/i) || (!n.match(/color/i) && !isNaN(parseInt(newStyle[n],10)))) /* Only things that can be parsed to integers or colors */ + && (oldStyle.position != "static" || (oldStyle.position == "static" && !n.match(/left|top|bottom|right/))) /* No need for positions when dealing with static positions */ + ) offset[n] = newStyle[n]; + } + + that.animate(offset, duration, ea, function() { // Animate the newly constructed offset object + // Change style attribute back to original. For stupid IE, we need to clear the damn object. + if(typeof $(this).attr("style") == 'object') { $(this).attr("style")["cssText"] = ""; $(this).attr("style")["cssText"] = oldStyleAttr; } else $(this).attr("style", oldStyleAttr); + if(value.add) $(this).addClass(value.add); if(value.remove) $(this).removeClass(value.remove); + if(cb) cb.apply(this, arguments); + }); + + }); + } +}); + +//Extend the methods of jQuery +$.fn.extend({ + //Save old methods + _show: $.fn.show, + _hide: $.fn.hide, + __toggle: $.fn.toggle, + _addClass: $.fn.addClass, + _removeClass: $.fn.removeClass, + _toggleClass: $.fn.toggleClass, + // New ec methods + effect: function(fx,o,speed,callback) { + return $.effects[fx] ? $.effects[fx].call(this, {method: fx, options: o || {}, duration: speed, callback: callback }) : null; + }, + show: function() { + if(!arguments[0] || (arguments[0].constructor == Number || /(slow|normal|fast)/.test(arguments[0]))) + return this._show.apply(this, arguments); + else { + var o = arguments[1] || {}; o['mode'] = 'show'; + return this.effect.apply(this, [arguments[0], o, arguments[2] || o.duration, arguments[3] || o.callback]); + } + }, + hide: function() { + if(!arguments[0] || (arguments[0].constructor == Number || /(slow|normal|fast)/.test(arguments[0]))) + return this._hide.apply(this, arguments); + else { + var o = arguments[1] || {}; o['mode'] = 'hide'; + return this.effect.apply(this, [arguments[0], o, arguments[2] || o.duration, arguments[3] || o.callback]); + } + }, + toggle: function(){ + if(!arguments[0] || (arguments[0].constructor == Number || /(slow|normal|fast)/.test(arguments[0])) || (arguments[0].constructor == Function)) + return this.__toggle.apply(this, arguments); + else { + var o = arguments[1] || {}; o['mode'] = 'toggle'; + return this.effect.apply(this, [arguments[0], o, arguments[2] || o.duration, arguments[3] || o.callback]); + } + }, + addClass: function(classNames,speed,easing,callback) { + return speed ? $.effects.animateClass.apply(this, [{ add: classNames },speed,easing,callback]) : this._addClass(classNames); + }, + removeClass: function(classNames,speed,easing,callback) { + return speed ? $.effects.animateClass.apply(this, [{ remove: classNames },speed,easing,callback]) : this._removeClass(classNames); + }, + toggleClass: function(classNames,speed,easing,callback) { + return speed ? $.effects.animateClass.apply(this, [{ toggle: classNames },speed,easing,callback]) : this._toggleClass(classNames); + }, + morph: function(remove,add,speed,easing,callback) { + return $.effects.animateClass.apply(this, [{ add: add, remove: remove },speed,easing,callback]); + }, + switchClass: function() { + return this.morph.apply(this, arguments); + }, + // helper functions + cssUnit: function(key) { + var style = this.css(key), val = []; + $.each( ['em','px','%','pt'], function(i, unit){ + if(style.indexOf(unit) > 0) + val = [parseFloat(style), unit]; + }); + return val; + } +}); + +/* + * jQuery Color Animations + * Copyright 2007 John Resig + * Released under the MIT and GPL licenses. + */ + +// We override the animation for all of these color styles +jQuery.each(['backgroundColor', 'borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor', 'color', 'outlineColor'], function(i,attr){ + jQuery.fx.step[attr] = function(fx){ + if ( fx.state == 0 ) { + fx.start = getColor( fx.elem, attr ); + fx.end = getRGB( fx.end ); + } + + fx.elem.style[attr] = "rgb(" + [ + Math.max(Math.min( parseInt((fx.pos * (fx.end[0] - fx.start[0])) + fx.start[0]), 255), 0), + Math.max(Math.min( parseInt((fx.pos * (fx.end[1] - fx.start[1])) + fx.start[1]), 255), 0), + Math.max(Math.min( parseInt((fx.pos * (fx.end[2] - fx.start[2])) + fx.start[2]), 255), 0) + ].join(",") + ")"; + } +}); + +// Color Conversion functions from highlightFade +// By Blair Mitchelmore +// http://jquery.offput.ca/highlightFade/ + +// Parse strings looking for color tuples [255,255,255] +function getRGB(color) { + var result; + + // Check if we're already dealing with an array of colors + if ( color && color.constructor == Array && color.length == 3 ) + return color; + + // Look for rgb(num,num,num) + if (result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color)) + return [parseInt(result[1]), parseInt(result[2]), parseInt(result[3])]; + + // Look for rgb(num%,num%,num%) + if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color)) + return [parseFloat(result[1])*2.55, parseFloat(result[2])*2.55, parseFloat(result[3])*2.55]; + + // Look for #a0b1c2 + if (result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color)) + return [parseInt(result[1],16), parseInt(result[2],16), parseInt(result[3],16)]; + + // Look for #fff + if (result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color)) + return [parseInt(result[1]+result[1],16), parseInt(result[2]+result[2],16), parseInt(result[3]+result[3],16)]; + + // Look for rgba(0, 0, 0, 0) == transparent in Safari 3 + if (result = /rgba\(0, 0, 0, 0\)/.exec(color)) + return colors['transparent'] + + // Otherwise, we're most likely dealing with a named color + return colors[jQuery.trim(color).toLowerCase()]; +} + +function getColor(elem, attr) { + var color; + + do { + color = jQuery.curCSS(elem, attr); + + // Keep going until we find an element that has color, or we hit the body + if ( color != '' && color != 'transparent' || jQuery.nodeName(elem, "body") ) + break; + + attr = "backgroundColor"; + } while ( elem = elem.parentNode ); + + return getRGB(color); +}; + +// Some named colors to work with +// From Interface by Stefan Petre +// http://interface.eyecon.ro/ + +var colors = { + aqua:[0,255,255], + azure:[240,255,255], + beige:[245,245,220], + black:[0,0,0], + blue:[0,0,255], + brown:[165,42,42], + cyan:[0,255,255], + darkblue:[0,0,139], + darkcyan:[0,139,139], + darkgrey:[169,169,169], + darkgreen:[0,100,0], + darkkhaki:[189,183,107], + darkmagenta:[139,0,139], + darkolivegreen:[85,107,47], + darkorange:[255,140,0], + darkorchid:[153,50,204], + darkred:[139,0,0], + darksalmon:[233,150,122], + darkviolet:[148,0,211], + fuchsia:[255,0,255], + gold:[255,215,0], + green:[0,128,0], + indigo:[75,0,130], + khaki:[240,230,140], + lightblue:[173,216,230], + lightcyan:[224,255,255], + lightgreen:[144,238,144], + lightgrey:[211,211,211], + lightpink:[255,182,193], + lightyellow:[255,255,224], + lime:[0,255,0], + magenta:[255,0,255], + maroon:[128,0,0], + navy:[0,0,128], + olive:[128,128,0], + orange:[255,165,0], + pink:[255,192,203], + purple:[128,0,128], + violet:[128,0,128], + red:[255,0,0], + silver:[192,192,192], + white:[255,255,255], + yellow:[255,255,0], + transparent: [255,255,255] +}; + +/* + * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ + * + * Uses the built in easing capabilities added In jQuery 1.1 + * to offer multiple easing options + * + * TERMS OF USE - jQuery Easing + * + * Open source under the BSD License. + * + * Copyright © 2008 George McGinley Smith + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * Neither the name of the author nor the names of contributors may be used to endorse + * or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * +*/ + +// t: current time, b: begInnIng value, c: change In value, d: duration +jQuery.easing['jswing'] = jQuery.easing['swing']; + +jQuery.extend( jQuery.easing, +{ + def: 'easeOutQuad', + swing: function (x, t, b, c, d) { + //alert(jQuery.easing.default); + return jQuery.easing[jQuery.easing.def](x, t, b, c, d); + }, + easeInQuad: function (x, t, b, c, d) { + return c*(t/=d)*t + b; + }, + easeOutQuad: function (x, t, b, c, d) { + return -c *(t/=d)*(t-2) + b; + }, + easeInOutQuad: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return c/2*t*t + b; + return -c/2 * ((--t)*(t-2) - 1) + b; + }, + easeInCubic: function (x, t, b, c, d) { + return c*(t/=d)*t*t + b; + }, + easeOutCubic: function (x, t, b, c, d) { + return c*((t=t/d-1)*t*t + 1) + b; + }, + easeInOutCubic: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return c/2*t*t*t + b; + return c/2*((t-=2)*t*t + 2) + b; + }, + easeInQuart: function (x, t, b, c, d) { + return c*(t/=d)*t*t*t + b; + }, + easeOutQuart: function (x, t, b, c, d) { + return -c * ((t=t/d-1)*t*t*t - 1) + b; + }, + easeInOutQuart: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return c/2*t*t*t*t + b; + return -c/2 * ((t-=2)*t*t*t - 2) + b; + }, + easeInQuint: function (x, t, b, c, d) { + return c*(t/=d)*t*t*t*t + b; + }, + easeOutQuint: function (x, t, b, c, d) { + return c*((t=t/d-1)*t*t*t*t + 1) + b; + }, + easeInOutQuint: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; + return c/2*((t-=2)*t*t*t*t + 2) + b; + }, + easeInSine: function (x, t, b, c, d) { + return -c * Math.cos(t/d * (Math.PI/2)) + c + b; + }, + easeOutSine: function (x, t, b, c, d) { + return c * Math.sin(t/d * (Math.PI/2)) + b; + }, + easeInOutSine: function (x, t, b, c, d) { + return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; + }, + easeInExpo: function (x, t, b, c, d) { + return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b; + }, + easeOutExpo: function (x, t, b, c, d) { + return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; + }, + easeInOutExpo: function (x, t, b, c, d) { + if (t==0) return b; + if (t==d) return b+c; + if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b; + return c/2 * (-Math.pow(2, -10 * --t) + 2) + b; + }, + easeInCirc: function (x, t, b, c, d) { + return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; + }, + easeOutCirc: function (x, t, b, c, d) { + return c * Math.sqrt(1 - (t=t/d-1)*t) + b; + }, + easeInOutCirc: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; + return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; + }, + easeInElastic: function (x, t, b, c, d) { + var s=1.70158;var p=0;var a=c; + if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; + if (a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + }, + easeOutElastic: function (x, t, b, c, d) { + var s=1.70158;var p=0;var a=c; + if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; + if (a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; + }, + easeInOutElastic: function (x, t, b, c, d) { + var s=1.70158;var p=0;var a=c; + if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5); + if (a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; + }, + easeInBack: function (x, t, b, c, d, s) { + if (s == undefined) s = 1.70158; + return c*(t/=d)*t*((s+1)*t - s) + b; + }, + easeOutBack: function (x, t, b, c, d, s) { + if (s == undefined) s = 1.70158; + return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; + }, + easeInOutBack: function (x, t, b, c, d, s) { + if (s == undefined) s = 1.70158; + if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; + return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; + }, + easeInBounce: function (x, t, b, c, d) { + return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b; + }, + easeOutBounce: function (x, t, b, c, d) { + if ((t/=d) < (1/2.75)) { + return c*(7.5625*t*t) + b; + } else if (t < (2/2.75)) { + return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; + } else if (t < (2.5/2.75)) { + return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; + } else { + return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; + } + }, + easeInOutBounce: function (x, t, b, c, d) { + if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b; + return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; + } +}); + +/* + * + * TERMS OF USE - EASING EQUATIONS + * + * Open source under the BSD License. + * + * Copyright © 2001 Robert Penner + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * Neither the name of the author nor the names of contributors may be used to endorse + * or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/effects.drop.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/effects.drop.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/effects.drop.js 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1,50 @@ +/* + * jQuery UI Effects Drop @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Drop + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.drop = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','left','opacity']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode + var direction = o.options.direction || 'left'; // Default Direction + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + $.effects.createWrapper(el); // Create Wrapper + var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; + var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; + var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) / 2 : el.outerWidth({margin:true}) / 2); + if (mode == 'show') el.css('opacity', 0).css(ref, motion == 'pos' ? -distance : distance); // Shift + + // Animation + var animation = {opacity: mode == 'show' ? 1 : 0}; + animation[ref] = (mode == 'show' ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance; + + // Animate + el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { + if(mode == 'hide') el.hide(); // Hide + $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(this, arguments); // Callback + el.dequeue(); + }}); + + }); + +}; + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/effects.explode.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/effects.explode.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/effects.explode.js 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1,79 @@ +/* + * jQuery UI Effects Explode @VERSION + * + * Copyright (c) 2008 Paul Bakaus (ui.jquery.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Explode + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.explode = function(o) { + + return this.queue(function() { + + var rows = o.options.pieces ? Math.round(Math.sqrt(o.options.pieces)) : 3; + var cells = o.options.pieces ? Math.round(Math.sqrt(o.options.pieces)) : 3; + + o.options.mode = o.options.mode == 'toggle' ? ($(this).is(':visible') ? 'hide' : 'show') : o.options.mode; + var el = $(this).show().css('visibility', 'hidden'); + var offset = el.offset(); + + //Substract the margins - not fixing the problem yet. + offset.top -= parseInt(el.css("marginTop")) || 0; + offset.left -= parseInt(el.css("marginLeft")) || 0; + + var width = el.outerWidth(true); + var height = el.outerHeight(true); + + for(var i=0;i') + .css({ + position: 'absolute', + visibility: 'visible', + left: -j*(width/cells), + top: -i*(height/rows) + }) + .parent() + .addClass('effects-explode') + .css({ + position: 'absolute', + overflow: 'hidden', + width: width/cells, + height: height/rows, + left: offset.left + j*(width/cells) + (o.options.mode == 'show' ? (j-Math.floor(cells/2))*(width/cells) : 0), + top: offset.top + i*(height/rows) + (o.options.mode == 'show' ? (i-Math.floor(rows/2))*(height/rows) : 0), + opacity: o.options.mode == 'show' ? 0 : 1 + }).animate({ + left: offset.left + j*(width/cells) + (o.options.mode == 'show' ? 0 : (j-Math.floor(cells/2))*(width/cells)), + top: offset.top + i*(height/rows) + (o.options.mode == 'show' ? 0 : (i-Math.floor(rows/2))*(height/rows)), + opacity: o.options.mode == 'show' ? 1 : 0 + }, o.duration || 500); + } + } + + // Set a timeout, to call the callback approx. when the other animations have finished + setTimeout(function() { + + o.options.mode == 'show' ? el.css({ visibility: 'visible' }) : el.css({ visibility: 'visible' }).hide(); + if(o.callback) o.callback.apply(el[0]); // Callback + el.dequeue(); + + $('.effects-explode').remove(); + + }, o.duration || 500); + + + }); + +}; + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/effects.fold.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/effects.fold.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/effects.fold.js 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1,55 @@ +/* + * jQuery UI Effects Fold @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Fold + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.fold = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','left']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode + var size = o.options.size || 15; // Default fold size + var horizFirst = !(!o.options.horizFirst); // Ensure a boolean value + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + var wrapper = $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper + var widthFirst = ((mode == 'show') != horizFirst); + var ref = widthFirst ? ['width', 'height'] : ['height', 'width']; + var distance = widthFirst ? [wrapper.width(), wrapper.height()] : [wrapper.height(), wrapper.width()]; + var percent = /([0-9]+)%/.exec(size); + if(percent) size = parseInt(percent[1]) / 100 * distance[mode == 'hide' ? 0 : 1]; + if(mode == 'show') wrapper.css(horizFirst ? {height: 0, width: size} : {height: size, width: 0}); // Shift + + // Animation + var animation1 = {}, animation2 = {}; + animation1[ref[0]] = mode == 'show' ? distance[0] : size; + animation2[ref[1]] = mode == 'show' ? distance[1] : 0; + + // Animate + wrapper.animate(animation1, o.duration / 2, o.options.easing) + .animate(animation2, o.duration / 2, o.options.easing, function() { + if(mode == 'hide') el.hide(); // Hide + $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(el[0], arguments); // Callback + el.dequeue(); + }); + + }); + +}; + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/effects.highlight.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/effects.highlight.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/effects.highlight.js 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1,48 @@ +/* + * jQuery UI Effects Highlight @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Highlight + * + * Depends: + * effects.core.js + */ +;(function($) { + +$.effects.highlight = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['backgroundImage','backgroundColor','opacity']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode + var color = o.options.color || "#ffff99"; // Default highlight color + var oldColor = el.css("backgroundColor"); + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + el.css({backgroundImage: 'none', backgroundColor: color}); // Shift + + // Animation + var animation = {backgroundColor: oldColor }; + if (mode == "hide") animation['opacity'] = 0; + + // Animate + el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { + if(mode == "hide") el.hide(); + $.effects.restore(el, props); + if (mode == "show" && jQuery.browser.msie) this.style.removeAttribute('filter'); + if(o.callback) o.callback.apply(this, arguments); + el.dequeue(); + }}); + + }); + +}; + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/effects.pulsate.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/effects.pulsate.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/effects.pulsate.js 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1,55 @@ +/* + * jQuery UI Effects Pulsate @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Pulsate + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.pulsate = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this); + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode + var times = o.options.times || 5; // Default # of times + + // Adjust + if (mode == 'hide') times--; + if (el.is(':hidden')) { // Show fadeIn + el.css('opacity', 0); + el.show(); // Show + el.animate({opacity: 1}, o.duration / 2, o.options.easing); + times = times-2; + } + + // Animate + for (var i = 0; i < times; i++) { // Pulsate + el.animate({opacity: 0}, o.duration / 2, o.options.easing).animate({opacity: 1}, o.duration / 2, o.options.easing); + }; + if (mode == 'hide') { // Last Pulse + el.animate({opacity: 0}, o.duration / 2, o.options.easing, function(){ + el.hide(); // Hide + if(o.callback) o.callback.apply(this, arguments); // Callback + }); + } else { + el.animate({opacity: 0}, o.duration / 2, o.options.easing).animate({opacity: 1}, o.duration / 2, o.options.easing, function(){ + if(o.callback) o.callback.apply(this, arguments); // Callback + }); + }; + el.queue('fx', function() { el.dequeue(); }); + el.dequeue(); + }); + +}; + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/effects.scale.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/effects.scale.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/effects.scale.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,180 @@ +/* + * jQuery UI Effects Scale @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Scale + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.puff = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this); + + // Set options + var options = $.extend(true, {}, o.options); + var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode + var percent = parseInt(o.options.percent) || 150; // Set default puff percent + options.fade = true; // It's not a puff if it doesn't fade! :) + var original = {height: el.height(), width: el.width()}; // Save original + + // Adjust + var factor = percent / 100; + el.from = (mode == 'hide') ? original : {height: original.height * factor, width: original.width * factor}; + + // Animation + options.from = el.from; + options.percent = (mode == 'hide') ? percent : 100; + options.mode = mode; + + // Animate + el.effect('scale', options, o.duration, o.callback); + el.dequeue(); + }); + +}; + +$.effects.scale = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this); + + // Set options + var options = $.extend(true, {}, o.options); + var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode + var percent = parseInt(o.options.percent) || (parseInt(o.options.percent) == 0 ? 0 : (mode == 'hide' ? 0 : 100)); // Set default scaling percent + var direction = o.options.direction || 'both'; // Set default axis + var origin = o.options.origin; // The origin of the scaling + if (mode != 'effect') { // Set default origin and restore for show/hide + options.origin = origin || ['middle','center']; + options.restore = true; + } + var original = {height: el.height(), width: el.width()}; // Save original + el.from = o.options.from || (mode == 'show' ? {height: 0, width: 0} : original); // Default from state + + // Adjust + var factor = { // Set scaling factor + y: direction != 'horizontal' ? (percent / 100) : 1, + x: direction != 'vertical' ? (percent / 100) : 1 + }; + el.to = {height: original.height * factor.y, width: original.width * factor.x}; // Set to state + + if (o.options.fade) { // Fade option to support puff + if (mode == 'show') {el.from.opacity = 0; el.to.opacity = 1;}; + if (mode == 'hide') {el.from.opacity = 1; el.to.opacity = 0;}; + }; + + // Animation + options.from = el.from; options.to = el.to; options.mode = mode; + + // Animate + el.effect('size', options, o.duration, o.callback); + el.dequeue(); + }); + +}; + +$.effects.size = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','left','width','height','overflow','opacity']; + var props1 = ['position','top','left','overflow','opacity']; // Always restore + var props2 = ['width','height','overflow']; // Copy for children + var cProps = ['fontSize']; + var vProps = ['borderTopWidth', 'borderBottomWidth', 'paddingTop', 'paddingBottom']; + var hProps = ['borderLeftWidth', 'borderRightWidth', 'paddingLeft', 'paddingRight']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode + var restore = o.options.restore || false; // Default restore + var scale = o.options.scale || 'both'; // Default scale mode + var origin = o.options.origin; // The origin of the sizing + var original = {height: el.height(), width: el.width()}; // Save original + el.from = o.options.from || original; // Default from state + el.to = o.options.to || original; // Default to state + // Adjust + if (origin) { // Calculate baseline shifts + var baseline = $.effects.getBaseline(origin, original); + el.from.top = (original.height - el.from.height) * baseline.y; + el.from.left = (original.width - el.from.width) * baseline.x; + el.to.top = (original.height - el.to.height) * baseline.y; + el.to.left = (original.width - el.to.width) * baseline.x; + }; + var factor = { // Set scaling factor + from: {y: el.from.height / original.height, x: el.from.width / original.width}, + to: {y: el.to.height / original.height, x: el.to.width / original.width} + }; + if (scale == 'box' || scale == 'both') { // Scale the css box + if (factor.from.y != factor.to.y) { // Vertical props scaling + props = props.concat(vProps); + el.from = $.effects.setTransition(el, vProps, factor.from.y, el.from); + el.to = $.effects.setTransition(el, vProps, factor.to.y, el.to); + }; + if (factor.from.x != factor.to.x) { // Horizontal props scaling + props = props.concat(hProps); + el.from = $.effects.setTransition(el, hProps, factor.from.x, el.from); + el.to = $.effects.setTransition(el, hProps, factor.to.x, el.to); + }; + }; + if (scale == 'content' || scale == 'both') { // Scale the content + if (factor.from.y != factor.to.y) { // Vertical props scaling + props = props.concat(cProps); + el.from = $.effects.setTransition(el, cProps, factor.from.y, el.from); + el.to = $.effects.setTransition(el, cProps, factor.to.y, el.to); + }; + }; + $.effects.save(el, restore ? props : props1); el.show(); // Save & Show + $.effects.createWrapper(el); // Create Wrapper + el.css('overflow','hidden').css(el.from); // Shift + + // Animate + if (scale == 'content' || scale == 'both') { // Scale the children + vProps = vProps.concat(['marginTop','marginBottom']).concat(cProps); // Add margins/font-size + hProps = hProps.concat(['marginLeft','marginRight']); // Add margins + props2 = props.concat(vProps).concat(hProps); // Concat + el.find("*[width]").each(function(){ + child = $(this); + if (restore) $.effects.save(child, props2); + var c_original = {height: child.height(), width: child.width()}; // Save original + child.from = {height: c_original.height * factor.from.y, width: c_original.width * factor.from.x}; + child.to = {height: c_original.height * factor.to.y, width: c_original.width * factor.to.x}; + if (factor.from.y != factor.to.y) { // Vertical props scaling + child.from = $.effects.setTransition(child, vProps, factor.from.y, child.from); + child.to = $.effects.setTransition(child, vProps, factor.to.y, child.to); + }; + if (factor.from.x != factor.to.x) { // Horizontal props scaling + child.from = $.effects.setTransition(child, hProps, factor.from.x, child.from); + child.to = $.effects.setTransition(child, hProps, factor.to.x, child.to); + }; + child.css(child.from); // Shift children + child.animate(child.to, o.duration, o.options.easing, function(){ + if (restore) $.effects.restore(child, props2); // Restore children + }); // Animate children + }); + }; + + // Animate + el.animate(el.to, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { + if(mode == 'hide') el.hide(); // Hide + $.effects.restore(el, restore ? props : props1); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(this, arguments); // Callback + el.dequeue(); + }}); + + }); + +}; + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/effects.shake.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/effects.shake.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/effects.shake.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,57 @@ +/* + * jQuery UI Effects Shake @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Shake + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.shake = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','left']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode + var direction = o.options.direction || 'left'; // Default direction + var distance = o.options.distance || 20; // Default distance + var times = o.options.times || 3; // Default # of times + var speed = o.duration || o.options.duration || 140; // Default speed per shake + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + $.effects.createWrapper(el); // Create Wrapper + var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; + var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; + + // Animation + var animation = {}, animation1 = {}, animation2 = {}; + animation[ref] = (motion == 'pos' ? '-=' : '+=') + distance; + animation1[ref] = (motion == 'pos' ? '+=' : '-=') + distance * 2; + animation2[ref] = (motion == 'pos' ? '-=' : '+=') + distance * 2; + + // Animate + el.animate(animation, speed, o.options.easing); + for (var i = 1; i < times; i++) { // Shakes + el.animate(animation1, speed, o.options.easing).animate(animation2, speed, o.options.easing); + }; + el.animate(animation1, speed, o.options.easing). + animate(animation, speed / 2, o.options.easing, function(){ // Last shake + $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(this, arguments); // Callback + }); + el.queue('fx', function() { el.dequeue(); }); + el.dequeue(); + }); + +}; + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/effects.slide.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/effects.slide.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/effects.slide.js 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1,50 @@ +/* + * jQuery UI Effects Slide @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Slide + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.slide = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','left']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode + var direction = o.options.direction || 'left'; // Default Direction + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper + var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; + var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; + var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) : el.outerWidth({margin:true})); + if (mode == 'show') el.css(ref, motion == 'pos' ? -distance : distance); // Shift + + // Animation + var animation = {}; + animation[ref] = (mode == 'show' ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance; + + // Animate + el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { + if(mode == 'hide') el.hide(); // Hide + $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(this, arguments); // Callback + el.dequeue(); + }}); + + }); + +}; + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/effects.transfer.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/effects.transfer.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/effects.transfer.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,59 @@ +/* + * jQuery UI Effects Transfer @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Transfer + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.transfer = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this); + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode + var target = $(o.options.to); // Find Target + var position = el.offset(); + var transfer = $('
').appendTo(document.body); + if(o.options.className) transfer.addClass(o.options.className); + + // Set target css + transfer.addClass(o.options.className); + transfer.css({ + top: position.top, + left: position.left, + height: el.outerHeight() - parseInt(transfer.css('borderTopWidth')) - parseInt(transfer.css('borderBottomWidth')), + width: el.outerWidth() - parseInt(transfer.css('borderLeftWidth')) - parseInt(transfer.css('borderRightWidth')), + position: 'absolute' + }); + + // Animation + position = target.offset(); + animation = { + top: position.top, + left: position.left, + height: target.outerHeight() - parseInt(transfer.css('borderTopWidth')) - parseInt(transfer.css('borderBottomWidth')), + width: target.outerWidth() - parseInt(transfer.css('borderLeftWidth')) - parseInt(transfer.css('borderRightWidth')) + }; + + // Animate + transfer.animate(animation, o.duration, o.options.easing, function() { + transfer.remove(); // Remove div + if(o.callback) o.callback.apply(el[0], arguments); // Callback + el.dequeue(); + }); + + }); + +}; + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/jquery.ui.all.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/jquery.ui.all.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/jquery.ui.all.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,10199 @@ +/* + * jQuery UI @VERSION + * + * Copyright (c) 2008 Paul Bakaus (ui.jquery.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI + */ +;(function($) { + +/** jQuery core modifications and additions **/ + +var _remove = $.fn.remove; +$.fn.remove = function() { + $("*", this).add(this).triggerHandler("remove"); + return _remove.apply(this, arguments ); +}; + +function isVisible(element) { + function checkStyles(element) { + var style = element.style; + return (style.display != 'none' && style.visibility != 'hidden'); + } + + var visible = checkStyles(element); + + (visible && $.each($.dir(element, 'parentNode'), function() { + return (visible = checkStyles(this)); + })); + + return visible; +} + +$.extend($.expr[':'], { + data: function(a, i, m) { + return $.data(a, m[3]); + }, + + // TODO: add support for object, area + tabbable: function(a, i, m) { + var nodeName = a.nodeName.toLowerCase(); + + return ( + // in tab order + a.tabIndex >= 0 && + + ( // filter node types that participate in the tab order + + // anchor tag + ('a' == nodeName && a.href) || + + // enabled form element + (/input|select|textarea|button/.test(nodeName) && + 'hidden' != a.type && !a.disabled) + ) && + + // visible on page + isVisible(a) + ); + } +}); + +$.keyCode = { + BACKSPACE: 8, + CAPS_LOCK: 20, + COMMA: 188, + CONTROL: 17, + DELETE: 46, + DOWN: 40, + END: 35, + ENTER: 13, + ESCAPE: 27, + HOME: 36, + INSERT: 45, + LEFT: 37, + NUMPAD_ADD: 107, + NUMPAD_DECIMAL: 110, + NUMPAD_DIVIDE: 111, + NUMPAD_ENTER: 108, + NUMPAD_MULTIPLY: 106, + NUMPAD_SUBTRACT: 109, + PAGE_DOWN: 34, + PAGE_UP: 33, + PERIOD: 190, + RIGHT: 39, + SHIFT: 16, + SPACE: 32, + TAB: 9, + UP: 38 +}; + +// $.widget is a factory to create jQuery plugins +// taking some boilerplate code out of the plugin code +// created by Scott González and Jörn Zaefferer +function getter(namespace, plugin, method, args) { + function getMethods(type) { + var methods = $[namespace][plugin][type] || []; + return (typeof methods == 'string' ? methods.split(/,?\s+/) : methods); + } + + var methods = getMethods('getter'); + if (args.length == 1 && typeof args[0] == 'string') { + methods = methods.concat(getMethods('getterSetter')); + } + return ($.inArray(method, methods) != -1); +} + +$.widget = function(name, prototype) { + var namespace = name.split(".")[0]; + name = name.split(".")[1]; + + // create plugin method + $.fn[name] = function(options) { + var isMethodCall = (typeof options == 'string'), + args = Array.prototype.slice.call(arguments, 1); + + // prevent calls to internal methods + if (isMethodCall && options.substring(0, 1) == '_') { + return this; + } + + // handle getter methods + if (isMethodCall && getter(namespace, name, options, args)) { + var instance = $.data(this[0], name); + return (instance ? instance[options].apply(instance, args) + : undefined); + } + + // handle initialization and non-getter methods + return this.each(function() { + var instance = $.data(this, name); + + // constructor + (!instance && !isMethodCall && + $.data(this, name, new $[namespace][name](this, options))); + + // method call + (instance && isMethodCall && $.isFunction(instance[options]) && + instance[options].apply(instance, args)); + }); + }; + + // create widget constructor + $[namespace][name] = function(element, options) { + var self = this; + + this.widgetName = name; + this.widgetEventPrefix = $[namespace][name].eventPrefix || name; + this.widgetBaseClass = namespace + '-' + name; + + this.options = $.extend({}, + $.widget.defaults, + $[namespace][name].defaults, + $.metadata && $.metadata.get(element)[name], + options); + + this.element = $(element) + .bind('setData.' + name, function(e, key, value) { + return self._setData(key, value); + }) + .bind('getData.' + name, function(e, key) { + return self._getData(key); + }) + .bind('remove', function() { + return self.destroy(); + }); + + this._init(); + }; + + // add widget prototype + $[namespace][name].prototype = $.extend({}, $.widget.prototype, prototype); + + // TODO: merge getter and getterSetter properties from widget prototype + // and plugin prototype + $[namespace][name].getterSetter = 'option'; +}; + +$.widget.prototype = { + _init: function() {}, + destroy: function() { + this.element.removeData(this.widgetName); + }, + + option: function(key, value) { + var options = key, + self = this; + + if (typeof key == "string") { + if (value === undefined) { + return this._getData(key); + } + options = {}; + options[key] = value; + } + + $.each(options, function(key, value) { + self._setData(key, value); + }); + }, + _getData: function(key) { + return this.options[key]; + }, + _setData: function(key, value) { + this.options[key] = value; + + if (key == 'disabled') { + this.element[value ? 'addClass' : 'removeClass']( + this.widgetBaseClass + '-disabled'); + } + }, + + enable: function() { + this._setData('disabled', false); + }, + disable: function() { + this._setData('disabled', true); + }, + + _trigger: function(type, e, data) { + var eventName = (type == this.widgetEventPrefix + ? type : this.widgetEventPrefix + type); + e = e || $.event.fix({ type: eventName, target: this.element[0] }); + return this.element.triggerHandler(eventName, [e, data], this.options[type]); + } +}; + +$.widget.defaults = { + disabled: false +}; + + +/** jQuery UI core **/ + +$.ui = { + plugin: { + add: function(module, option, set) { + var proto = $.ui[module].prototype; + for(var i in set) { + proto.plugins[i] = proto.plugins[i] || []; + proto.plugins[i].push([option, set[i]]); + } + }, + call: function(instance, name, args) { + var set = instance.plugins[name]; + if(!set) { return; } + + for (var i = 0; i < set.length; i++) { + if (instance.options[set[i][0]]) { + set[i][1].apply(instance.element, args); + } + } + } + }, + cssCache: {}, + css: function(name) { + if ($.ui.cssCache[name]) { return $.ui.cssCache[name]; } + var tmp = $('
').addClass(name).css({position:'absolute', top:'-5000px', left:'-5000px', display:'block'}).appendTo('body'); + + //if (!$.browser.safari) + //tmp.appendTo('body'); + + //Opera and Safari set width and height to 0px instead of auto + //Safari returns rgba(0,0,0,0) when bgcolor is not set + $.ui.cssCache[name] = !!( + (!(/auto|default/).test(tmp.css('cursor')) || (/^[1-9]/).test(tmp.css('height')) || (/^[1-9]/).test(tmp.css('width')) || + !(/none/).test(tmp.css('backgroundImage')) || !(/transparent|rgba\(0, 0, 0, 0\)/).test(tmp.css('backgroundColor'))) + ); + try { $('body').get(0).removeChild(tmp.get(0)); } catch(e){} + return $.ui.cssCache[name]; + }, + disableSelection: function(el) { + return $(el) + .attr('unselectable', 'on') + .css('MozUserSelect', 'none') + .bind('selectstart.ui', function() { return false; }); + }, + enableSelection: function(el) { + return $(el) + .attr('unselectable', 'off') + .css('MozUserSelect', '') + .unbind('selectstart.ui'); + }, + hasScroll: function(e, a) { + + //If overflow is hidden, the element might have extra content, but the user wants to hide it + if ($(e).css('overflow') == 'hidden') { return false; } + + var scroll = (a && a == 'left') ? 'scrollLeft' : 'scrollTop', + has = false; + + if (e[scroll] > 0) { return true; } + + // TODO: determine which cases actually cause this to happen + // if the element doesn't have the scroll set, see if it's possible to + // set the scroll + e[scroll] = 1; + has = (e[scroll] > 0); + e[scroll] = 0; + return has; + } +}; + + +/** Mouse Interaction Plugin **/ + +$.ui.mouse = { + _mouseInit: function() { + var self = this; + + this.element.bind('mousedown.'+this.widgetName, function(e) { + return self._mouseDown(e); + }); + + // Prevent text selection in IE + if ($.browser.msie) { + this._mouseUnselectable = this.element.attr('unselectable'); + this.element.attr('unselectable', 'on'); + } + + this.started = false; + }, + + // TODO: make sure destroying one instance of mouse doesn't mess with + // other instances of mouse + _mouseDestroy: function() { + this.element.unbind('.'+this.widgetName); + + // Restore text selection in IE + ($.browser.msie + && this.element.attr('unselectable', this._mouseUnselectable)); + }, + + _mouseDown: function(e) { + // we may have missed mouseup (out of window) + (this._mouseStarted && this._mouseUp(e)); + + this._mouseDownEvent = e; + + var self = this, + btnIsLeft = (e.which == 1), + elIsCancel = (typeof this.options.cancel == "string" ? $(e.target).parents().add(e.target).filter(this.options.cancel).length : false); + if (!btnIsLeft || elIsCancel || !this._mouseCapture(e)) { + return true; + } + + this.mouseDelayMet = !this.options.delay; + if (!this.mouseDelayMet) { + this._mouseDelayTimer = setTimeout(function() { + self.mouseDelayMet = true; + }, this.options.delay); + } + + if (this._mouseDistanceMet(e) && this._mouseDelayMet(e)) { + this._mouseStarted = (this._mouseStart(e) !== false); + if (!this._mouseStarted) { + e.preventDefault(); + return true; + } + } + + // these delegates are required to keep context + this._mouseMoveDelegate = function(e) { + return self._mouseMove(e); + }; + this._mouseUpDelegate = function(e) { + return self._mouseUp(e); + }; + $(document) + .bind('mousemove.'+this.widgetName, this._mouseMoveDelegate) + .bind('mouseup.'+this.widgetName, this._mouseUpDelegate); + + return false; + }, + + _mouseMove: function(e) { + // IE mouseup check - mouseup happened when mouse was out of window + if ($.browser.msie && !e.button) { + return this._mouseUp(e); + } + + if (this._mouseStarted) { + this._mouseDrag(e); + return false; + } + + if (this._mouseDistanceMet(e) && this._mouseDelayMet(e)) { + this._mouseStarted = + (this._mouseStart(this._mouseDownEvent, e) !== false); + (this._mouseStarted ? this._mouseDrag(e) : this._mouseUp(e)); + } + + return !this._mouseStarted; + }, + + _mouseUp: function(e) { + $(document) + .unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate) + .unbind('mouseup.'+this.widgetName, this._mouseUpDelegate); + + if (this._mouseStarted) { + this._mouseStarted = false; + this._mouseStop(e); + } + + return false; + }, + + _mouseDistanceMet: function(e) { + return (Math.max( + Math.abs(this._mouseDownEvent.pageX - e.pageX), + Math.abs(this._mouseDownEvent.pageY - e.pageY) + ) >= this.options.distance + ); + }, + + _mouseDelayMet: function(e) { + return this.mouseDelayMet; + }, + + // These are placeholder methods, to be overriden by extending plugin + _mouseStart: function(e) {}, + _mouseDrag: function(e) {}, + _mouseStop: function(e) {}, + _mouseCapture: function(e) { return true; } +}; + +$.ui.mouse.defaults = { + cancel: null, + distance: 1, + delay: 0 +}; + +})(jQuery); +/* + * jQuery UI Draggable @VERSION + * + * Copyright (c) 2008 Paul Bakaus + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Draggables + * + * Depends: + * ui.core.js + */ +(function($) { + +$.widget("ui.draggable", $.extend({}, $.ui.mouse, { + + getHandle: function(e) { + + var handle = !this.options.handle || !$(this.options.handle, this.element).length ? true : false; + $(this.options.handle, this.element) + .find("*") + .andSelf() + .each(function() { + if(this == e.target) handle = true; + }); + + return handle; + + }, + + createHelper: function() { + + var o = this.options; + var helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [e])) : (o.helper == 'clone' ? this.element.clone() : this.element); + + if(!helper.parents('body').length) + helper.appendTo((o.appendTo == 'parent' ? this.element[0].parentNode : o.appendTo)); + + if(helper[0] != this.element[0] && !(/(fixed|absolute)/).test(helper.css("position"))) + helper.css("position", "absolute"); + + return helper; + + }, + + + _init: function() { + + if (this.options.helper == 'original' && !(/^(?:r|a|f)/).test(this.element.css("position"))) + this.element[0].style.position = 'relative'; + + (this.options.cssNamespace && this.element.addClass(this.options.cssNamespace+"-draggable")); + (this.options.disabled && this.element.addClass('ui-draggable-disabled')); + + this._mouseInit(); + + }, + + _mouseCapture: function(e) { + + var o = this.options; + + if (this.helper || o.disabled || $(e.target).is('.ui-resizable-handle')) + return false; + + //Quit if we're not on a valid handle + this.handle = this.getHandle(e); + if (!this.handle) + return false; + + return true; + + }, + + _mouseStart: function(e) { + + var o = this.options; + + //Create and append the visible helper + this.helper = this.createHelper(); + + //If ddmanager is used for droppables, set the global draggable + if($.ui.ddmanager) + $.ui.ddmanager.current = this; + + /* + * - Position generation - + * This block generates everything position related - it's the core of draggables. + */ + + this.margins = { //Cache the margins + left: (parseInt(this.element.css("marginLeft"),10) || 0), + top: (parseInt(this.element.css("marginTop"),10) || 0) + }; + + this.cssPosition = this.helper.css("position"); //Store the helper's css position + this.offset = this.element.offset(); //The element's absolute position on the page + this.offset = { //Substract the margins from the element's absolute offset + top: this.offset.top - this.margins.top, + left: this.offset.left - this.margins.left + }; + + this.offset.click = { //Where the click happened, relative to the element + left: e.pageX - this.offset.left, + top: e.pageY - this.offset.top + }; + + //Calling this method cached the next parents that have scrollTop / scrollLeft attached + this.cacheScrollParents(); + + + this.offsetParent = this.helper.offsetParent(); var po = this.offsetParent.offset(); //Get the offsetParent and cache its position + if(this.offsetParent[0] == document.body && $.browser.mozilla) po = { top: 0, left: 0 }; //Ugly FF3 fix + this.offset.parent = { //Store its position plus border + top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0), + left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0) + }; + + //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper + if(this.cssPosition == "relative") { + var p = this.element.position(); + this.offset.relative = { + top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollTopParent.scrollTop(), + left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollLeftParent.scrollLeft() + }; + } else { + this.offset.relative = { top: 0, left: 0 }; + } + + //Generate the original position + this.originalPosition = this._generatePosition(e); + + //Cache the helper size + this.cacheHelperProportions(); + + //Adjust the mouse offset relative to the helper if 'cursorAt' is supplied + if(o.cursorAt) + this.adjustOffsetFromHelper(o.cursorAt); + + //Cache later used stuff + $.extend(this, { + PAGEY_INCLUDES_SCROLL: (this.cssPosition == "absolute" && (!this.scrollTopParent[0].tagName || (/(html|body)/i).test(this.scrollTopParent[0].tagName))), + PAGEX_INCLUDES_SCROLL: (this.cssPosition == "absolute" && (!this.scrollLeftParent[0].tagName || (/(html|body)/i).test(this.scrollLeftParent[0].tagName))), + OFFSET_PARENT_NOT_SCROLL_PARENT_Y: this.scrollTopParent[0] != this.offsetParent[0] && !(this.scrollTopParent[0] == document && (/(body|html)/i).test(this.offsetParent[0].tagName)), + OFFSET_PARENT_NOT_SCROLL_PARENT_X: this.scrollLeftParent[0] != this.offsetParent[0] && !(this.scrollLeftParent[0] == document && (/(body|html)/i).test(this.offsetParent[0].tagName)) + }); + + if(o.containment) + this.setContainment(); + + + //Call plugins and callbacks + this._propagate("start", e); + + //Recache the helper size + this.cacheHelperProportions(); + + //Prepare the droppable offsets + if ($.ui.ddmanager && !o.dropBehaviour) + $.ui.ddmanager.prepareOffsets(this, e); + + this.helper.addClass("ui-draggable-dragging"); + this._mouseDrag(e); //Execute the drag once - this causes the helper not to be visible before getting its correct position + return true; + }, + + cacheScrollParents: function() { + + this.scrollTopParent = function(el) { + do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-y'))) return el; el = el.parent(); } while (el[0].parentNode); + return $(document); + }(this.helper); + this.scrollLeftParent = function(el) { + do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-x'))) return el; el = el.parent(); } while (el[0].parentNode); + return $(document); + }(this.helper); + + }, + + adjustOffsetFromHelper: function(obj) { + if(obj.left != undefined) this.offset.click.left = obj.left + this.margins.left; + if(obj.right != undefined) this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left; + if(obj.top != undefined) this.offset.click.top = obj.top + this.margins.top; + if(obj.bottom != undefined) this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top; + }, + + cacheHelperProportions: function() { + this.helperProportions = { + width: this.helper.outerWidth(), + height: this.helper.outerHeight() + }; + }, + + setContainment: function() { + + var o = this.options; + if(o.containment == 'parent') o.containment = this.helper[0].parentNode; + if(o.containment == 'document' || o.containment == 'window') this.containment = [ + 0 - this.offset.relative.left - this.offset.parent.left, + 0 - this.offset.relative.top - this.offset.parent.top, + $(o.containment == 'document' ? document : window).width() - this.offset.relative.left - this.offset.parent.left - this.helperProportions.width - this.margins.left - (parseInt(this.element.css("marginRight"),10) || 0), + ($(o.containment == 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.offset.relative.top - this.offset.parent.top - this.helperProportions.height - this.margins.top - (parseInt(this.element.css("marginBottom"),10) || 0) + ]; + + if(!(/^(document|window|parent)$/).test(o.containment)) { + var ce = $(o.containment)[0]; + var co = $(o.containment).offset(); + var over = ($(ce).css("overflow") != 'hidden'); + + this.containment = [ + co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) - this.offset.relative.left - this.offset.parent.left, + co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) - this.offset.relative.top - this.offset.parent.top, + co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - this.offset.relative.left - this.offset.parent.left - this.helperProportions.width - this.margins.left - (parseInt(this.element.css("marginRight"),10) || 0), + co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - this.offset.relative.top - this.offset.parent.top - this.helperProportions.height - this.margins.top - (parseInt(this.element.css("marginBottom"),10) || 0) + ]; + } + + }, + + + _convertPositionTo: function(d, pos) { + + if(!pos) pos = this.position; + var mod = d == "absolute" ? 1 : -1; + + return { + top: ( + pos.top // the calculated relative position + + this.offset.relative.top * mod // Only for relative positioned nodes: Relative offset from element to offset parent + + this.offset.parent.top * mod // The offsetParent's offset without borders (offset + border) + - (this.cssPosition == "fixed" || this.PAGEY_INCLUDES_SCROLL || this.OFFSET_PARENT_NOT_SCROLL_PARENT_Y ? 0 : this.scrollTopParent.scrollTop()) * mod // The offsetParent's scroll position, not if the element is fixed + + (this.cssPosition == "fixed" ? $(document).scrollTop() : 0) * mod + + this.margins.top * mod //Add the margin (you don't want the margin counting in intersection methods) + ), + left: ( + pos.left // the calculated relative position + + this.offset.relative.left * mod // Only for relative positioned nodes: Relative offset from element to offset parent + + this.offset.parent.left * mod // The offsetParent's offset without borders (offset + border) + - (this.cssPosition == "fixed" || this.PAGEX_INCLUDES_SCROLL || this.OFFSET_PARENT_NOT_SCROLL_PARENT_X ? 0 : this.scrollLeftParent.scrollLeft()) * mod // The offsetParent's scroll position, not if the element is fixed + + (this.cssPosition == "fixed" ? $(document).scrollLeft() : 0) * mod + + this.margins.left * mod //Add the margin (you don't want the margin counting in intersection methods) + ) + }; + }, + _generatePosition: function(e) { + + var o = this.options; + var position = { + top: ( + e.pageY // The absolute mouse position + - this.offset.click.top // Click offset (relative to the element) + - this.offset.relative.top // Only for relative positioned nodes: Relative offset from element to offset parent + - this.offset.parent.top // The offsetParent's offset without borders (offset + border) + + (this.cssPosition == "fixed" || this.PAGEY_INCLUDES_SCROLL || this.OFFSET_PARENT_NOT_SCROLL_PARENT_Y ? 0 : this.scrollTopParent.scrollTop()) // The offsetParent's scroll position, not if the element is fixed + - (this.cssPosition == "fixed" ? $(document).scrollTop() : 0) + ), + left: ( + e.pageX // The absolute mouse position + - this.offset.click.left // Click offset (relative to the element) + - this.offset.relative.left // Only for relative positioned nodes: Relative offset from element to offset parent + - this.offset.parent.left // The offsetParent's offset without borders (offset + border) + + (this.cssPosition == "fixed" || this.PAGEX_INCLUDES_SCROLL || this.OFFSET_PARENT_NOT_SCROLL_PARENT_X ? 0 : this.scrollLeftParent.scrollLeft()) // The offsetParent's scroll position, not if the element is fixed + - (this.cssPosition == "fixed" ? $(document).scrollLeft() : 0) + ) + }; + + if(!this.originalPosition) return position; //If we are not dragging yet, we won't check for options + + /* + * - Position constraining - + * Constrain the position to a mix of grid, containment. + */ + if(this.containment) { + if(position.left < this.containment[0]) position.left = this.containment[0]; + if(position.top < this.containment[1]) position.top = this.containment[1]; + if(position.left > this.containment[2]) position.left = this.containment[2]; + if(position.top > this.containment[3]) position.top = this.containment[3]; + } + + if(o.grid) { + var top = this.originalPosition.top + Math.round((position.top - this.originalPosition.top) / o.grid[1]) * o.grid[1]; + position.top = this.containment ? (!(top < this.containment[1] || top > this.containment[3]) ? top : (!(top < this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top; + + var left = this.originalPosition.left + Math.round((position.left - this.originalPosition.left) / o.grid[0]) * o.grid[0]; + position.left = this.containment ? (!(left < this.containment[0] || left > this.containment[2]) ? left : (!(left < this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left; + } + + return position; + }, + _mouseDrag: function(e) { + + //Compute the helpers position + this.position = this._generatePosition(e); + this.positionAbs = this._convertPositionTo("absolute"); + + //Call plugins and callbacks and use the resulting position if something is returned + this.position = this._propagate("drag", e) || this.position; + + if(!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left+'px'; + if(!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top+'px'; + if($.ui.ddmanager) $.ui.ddmanager.drag(this, e); + + return false; + }, + _mouseStop: function(e) { + + //If we are using droppables, inform the manager about the drop + var dropped = false; + if ($.ui.ddmanager && !this.options.dropBehaviour) + var dropped = $.ui.ddmanager.drop(this, e); + + if((this.options.revert == "invalid" && !dropped) || (this.options.revert == "valid" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) { + var self = this; + $(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10) || 500, function() { + self._propagate("stop", e); + self._clear(); + }); + } else { + this._propagate("stop", e); + this._clear(); + } + + return false; + }, + _clear: function() { + this.helper.removeClass("ui-draggable-dragging"); + if(this.options.helper != 'original' && !this.cancelHelperRemoval) this.helper.remove(); + //if($.ui.ddmanager) $.ui.ddmanager.current = null; + this.helper = null; + this.cancelHelperRemoval = false; + }, + + // From now on bulk stuff - mainly helpers + plugins: {}, + uiHash: function(e) { + return { + helper: this.helper, + position: this.position, + absolutePosition: this.positionAbs, + options: this.options + }; + }, + _propagate: function(n,e) { + $.ui.plugin.call(this, n, [e, this.uiHash()]); + if(n == "drag") this.positionAbs = this._convertPositionTo("absolute"); //The absolute position has to be recalculated after plugins + return this.element.triggerHandler(n == "drag" ? n : "drag"+n, [e, this.uiHash()], this.options[n]); + }, + destroy: function() { + if(!this.element.data('draggable')) return; + this.element.removeData("draggable").unbind(".draggable").removeClass('ui-draggable ui-draggable-dragging ui-draggable-disabled'); + this._mouseDestroy(); + } +})); + +$.extend($.ui.draggable, { + defaults: { + appendTo: "parent", + axis: false, + cancel: ":input", + delay: 0, + distance: 1, + helper: "original", + scope: "default", + cssNamespace: "ui" + } +}); + +$.ui.plugin.add("draggable", "cursor", { + start: function(e, ui) { + var t = $('body'); + if (t.css("cursor")) ui.options._cursor = t.css("cursor"); + t.css("cursor", ui.options.cursor); + }, + stop: function(e, ui) { + if (ui.options._cursor) $('body').css("cursor", ui.options._cursor); + } +}); + +$.ui.plugin.add("draggable", "zIndex", { + start: function(e, ui) { + var t = $(ui.helper); + if(t.css("zIndex")) ui.options._zIndex = t.css("zIndex"); + t.css('zIndex', ui.options.zIndex); + }, + stop: function(e, ui) { + if(ui.options._zIndex) $(ui.helper).css('zIndex', ui.options._zIndex); + } +}); + +$.ui.plugin.add("draggable", "opacity", { + start: function(e, ui) { + var t = $(ui.helper); + if(t.css("opacity")) ui.options._opacity = t.css("opacity"); + t.css('opacity', ui.options.opacity); + }, + stop: function(e, ui) { + if(ui.options._opacity) $(ui.helper).css('opacity', ui.options._opacity); + } +}); + +$.ui.plugin.add("draggable", "iframeFix", { + start: function(e, ui) { + $(ui.options.iframeFix === true ? "iframe" : ui.options.iframeFix).each(function() { + $('
') + .css({ + width: this.offsetWidth+"px", height: this.offsetHeight+"px", + position: "absolute", opacity: "0.001", zIndex: 1000 + }) + .css($(this).offset()) + .appendTo("body"); + }); + }, + stop: function(e, ui) { + $("div.ui-draggable-iframeFix").each(function() { this.parentNode.removeChild(this); }); //Remove frame helpers + } +}); + + + +$.ui.plugin.add("draggable", "scroll", { + start: function(e, ui) { + var o = ui.options; + var i = $(this).data("draggable"); + o.scrollSensitivity = o.scrollSensitivity || 20; + o.scrollSpeed = o.scrollSpeed || 20; + + i.overflowY = function(el) { + do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-y'))) return el; el = el.parent(); } while (el[0].parentNode); + return $(document); + }(this); + i.overflowX = function(el) { + do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-x'))) return el; el = el.parent(); } while (el[0].parentNode); + return $(document); + }(this); + + if(i.overflowY[0] != document && i.overflowY[0].tagName != 'HTML') i.overflowYOffset = i.overflowY.offset(); + if(i.overflowX[0] != document && i.overflowX[0].tagName != 'HTML') i.overflowXOffset = i.overflowX.offset(); + + }, + drag: function(e, ui) { + + var o = ui.options, scrolled = false; + var i = $(this).data("draggable"); + + if(i.overflowY[0] != document && i.overflowY[0].tagName != 'HTML') { + if((i.overflowYOffset.top + i.overflowY[0].offsetHeight) - e.pageY < o.scrollSensitivity) + i.overflowY[0].scrollTop = scrolled = i.overflowY[0].scrollTop + o.scrollSpeed; + if(e.pageY - i.overflowYOffset.top < o.scrollSensitivity) + i.overflowY[0].scrollTop = scrolled = i.overflowY[0].scrollTop - o.scrollSpeed; + + } else { + if(e.pageY - $(document).scrollTop() < o.scrollSensitivity) + scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed); + if($(window).height() - (e.pageY - $(document).scrollTop()) < o.scrollSensitivity) + scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed); + } + + if(i.overflowX[0] != document && i.overflowX[0].tagName != 'HTML') { + if((i.overflowXOffset.left + i.overflowX[0].offsetWidth) - e.pageX < o.scrollSensitivity) + i.overflowX[0].scrollLeft = scrolled = i.overflowX[0].scrollLeft + o.scrollSpeed; + if(e.pageX - i.overflowXOffset.left < o.scrollSensitivity) + i.overflowX[0].scrollLeft = scrolled = i.overflowX[0].scrollLeft - o.scrollSpeed; + } else { + if(e.pageX - $(document).scrollLeft() < o.scrollSensitivity) + scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed); + if($(window).width() - (e.pageX - $(document).scrollLeft()) < o.scrollSensitivity) + scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed); + } + + if(scrolled !== false) + $.ui.ddmanager.prepareOffsets(i, e); + + } +}); + + +$.ui.plugin.add("draggable", "snap", { + start: function(e, ui) { + + var inst = $(this).data("draggable"); + inst.snapElements = []; + + $(ui.options.snap.constructor != String ? ( ui.options.snap.items || ':data(draggable)' ) : ui.options.snap).each(function() { + var $t = $(this); var $o = $t.offset(); + if(this != inst.element[0]) inst.snapElements.push({ + item: this, + width: $t.outerWidth(), height: $t.outerHeight(), + top: $o.top, left: $o.left + }); + }); + + }, + drag: function(e, ui) { + + var inst = $(this).data("draggable"); + var d = ui.options.snapTolerance || 20; + + var x1 = ui.absolutePosition.left, x2 = x1 + inst.helperProportions.width, + y1 = ui.absolutePosition.top, y2 = y1 + inst.helperProportions.height; + + for (var i = inst.snapElements.length - 1; i >= 0; i--){ + + var l = inst.snapElements[i].left, r = l + inst.snapElements[i].width, + t = inst.snapElements[i].top, b = t + inst.snapElements[i].height; + + //Yes, I know, this is insane ;) + if(!((l-d < x1 && x1 < r+d && t-d < y1 && y1 < b+d) || (l-d < x1 && x1 < r+d && t-d < y2 && y2 < b+d) || (l-d < x2 && x2 < r+d && t-d < y1 && y1 < b+d) || (l-d < x2 && x2 < r+d && t-d < y2 && y2 < b+d))) { + if(inst.snapElements[i].snapping) (inst.options.snap.release && inst.options.snap.release.call(inst.element, null, $.extend(inst.uiHash(), { snapItem: inst.snapElements[i].item }))); + inst.snapElements[i].snapping = false; + continue; + } + + if(ui.options.snapMode != 'inner') { + var ts = Math.abs(t - y2) <= d; + var bs = Math.abs(b - y1) <= d; + var ls = Math.abs(l - x2) <= d; + var rs = Math.abs(r - x1) <= d; + if(ts) ui.position.top = inst._convertPositionTo("relative", { top: t - inst.helperProportions.height, left: 0 }).top; + if(bs) ui.position.top = inst._convertPositionTo("relative", { top: b, left: 0 }).top; + if(ls) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l - inst.helperProportions.width }).left; + if(rs) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r }).left; + } + + var first = (ts || bs || ls || rs); + + if(ui.options.snapMode != 'outer') { + var ts = Math.abs(t - y1) <= d; + var bs = Math.abs(b - y2) <= d; + var ls = Math.abs(l - x1) <= d; + var rs = Math.abs(r - x2) <= d; + if(ts) ui.position.top = inst._convertPositionTo("relative", { top: t, left: 0 }).top; + if(bs) ui.position.top = inst._convertPositionTo("relative", { top: b - inst.helperProportions.height, left: 0 }).top; + if(ls) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l }).left; + if(rs) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r - inst.helperProportions.width }).left; + } + + if(!inst.snapElements[i].snapping && (ts || bs || ls || rs || first)) + (inst.options.snap.snap && inst.options.snap.snap.call(inst.element, null, $.extend(inst.uiHash(), { snapItem: inst.snapElements[i].item }))); + inst.snapElements[i].snapping = (ts || bs || ls || rs || first); + + }; + + } +}); + +$.ui.plugin.add("draggable", "connectToSortable", { + start: function(e,ui) { + + var inst = $(this).data("draggable"); + inst.sortables = []; + $(ui.options.connectToSortable).each(function() { + if($.data(this, 'sortable')) { + var sortable = $.data(this, 'sortable'); + inst.sortables.push({ + instance: sortable, + shouldRevert: sortable.options.revert + }); + sortable._refreshItems(); //Do a one-time refresh at start to refresh the containerCache + sortable._propagate("activate", e, inst); + } + }); + + }, + stop: function(e,ui) { + + //If we are still over the sortable, we fake the stop event of the sortable, but also remove helper + var inst = $(this).data("draggable"); + + $.each(inst.sortables, function() { + if(this.instance.isOver) { + this.instance.isOver = 0; + inst.cancelHelperRemoval = true; //Don't remove the helper in the draggable instance + this.instance.cancelHelperRemoval = false; //Remove it in the sortable instance (so sortable plugins like revert still work) + if(this.shouldRevert) this.instance.options.revert = true; //revert here + this.instance._mouseStop(e); + + //Also propagate receive event, since the sortable is actually receiving a element + this.instance.element.triggerHandler("sortreceive", [e, $.extend(this.instance.ui(), { sender: inst.element })], this.instance.options["receive"]); + + this.instance.options.helper = this.instance.options._helper; + } else { + this.instance._propagate("deactivate", e, inst); + } + + }); + + }, + drag: function(e,ui) { + + var inst = $(this).data("draggable"), self = this; + + var checkPos = function(o) { + + var l = o.left, r = l + o.width, + t = o.top, b = t + o.height; + + return (l < (this.positionAbs.left + this.offset.click.left) && (this.positionAbs.left + this.offset.click.left) < r + && t < (this.positionAbs.top + this.offset.click.top) && (this.positionAbs.top + this.offset.click.top) < b); + }; + + $.each(inst.sortables, function(i) { + + if(checkPos.call(inst, this.instance.containerCache)) { + + //If it intersects, we use a little isOver variable and set it once, so our move-in stuff gets fired only once + if(!this.instance.isOver) { + this.instance.isOver = 1; + + //Now we fake the start of dragging for the sortable instance, + //by cloning the list group item, appending it to the sortable and using it as inst.currentItem + //We can then fire the start event of the sortable with our passed browser event, and our own helper (so it doesn't create a new one) + this.instance.currentItem = $(self).clone().appendTo(this.instance.element).data("sortable-item", true); + this.instance.options._helper = this.instance.options.helper; //Store helper option to later restore it + this.instance.options.helper = function() { return ui.helper[0]; }; + + e.target = this.instance.currentItem[0]; + this.instance._mouseCapture(e, true); + this.instance._mouseStart(e, true, true); + + //Because the browser event is way off the new appended portlet, we modify a couple of variables to reflect the changes + this.instance.offset.click.top = inst.offset.click.top; + this.instance.offset.click.left = inst.offset.click.left; + this.instance.offset.parent.left -= inst.offset.parent.left - this.instance.offset.parent.left; + this.instance.offset.parent.top -= inst.offset.parent.top - this.instance.offset.parent.top; + + inst._propagate("toSortable", e); + + } + + //Provided we did all the previous steps, we can fire the drag event of the sortable on every draggable drag, when it intersects with the sortable + if(this.instance.currentItem) this.instance._mouseDrag(e); + + } else { + + //If it doesn't intersect with the sortable, and it intersected before, + //we fake the drag stop of the sortable, but make sure it doesn't remove the helper by using cancelHelperRemoval + if(this.instance.isOver) { + this.instance.isOver = 0; + this.instance.cancelHelperRemoval = true; + this.instance.options.revert = false; //No revert here + this.instance._mouseStop(e, true); + this.instance.options.helper = this.instance.options._helper; + + //Now we remove our currentItem, the list group clone again, and the placeholder, and animate the helper back to it's original size + this.instance.currentItem.remove(); + if(this.instance.placeholder) this.instance.placeholder.remove(); + + inst._propagate("fromSortable", e); + } + + }; + + }); + + } +}); + +$.ui.plugin.add("draggable", "stack", { + start: function(e,ui) { + var group = $.makeArray($(ui.options.stack.group)).sort(function(a,b) { + return (parseInt($(a).css("zIndex"),10) || ui.options.stack.min) - (parseInt($(b).css("zIndex"),10) || ui.options.stack.min); + }); + + $(group).each(function(i) { + this.style.zIndex = ui.options.stack.min + i; + }); + + this[0].style.zIndex = ui.options.stack.min + group.length; + } +}); + +})(jQuery); +/* + * jQuery UI Droppable @VERSION + * + * Copyright (c) 2008 Paul Bakaus + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Droppables + * + * Depends: + * ui.core.js + * ui.draggable.js + */ +(function($) { + +$.widget("ui.droppable", { + + _setData: function(key, value) { + + if(key == 'accept') { + this.options.accept = value && $.isFunction(value) ? value : function(d) { + return d.is(accept); + }; + } else { + $.widget.prototype._setData.apply(this, arguments); + } + + }, + + _init: function() { + + var o = this.options, accept = o.accept; + this.isover = 0; this.isout = 1; + + this.options.accept = this.options.accept && $.isFunction(this.options.accept) ? this.options.accept : function(d) { + return d.is(accept); + }; + + //Store the droppable's proportions + this.proportions = { width: this.element[0].offsetWidth, height: this.element[0].offsetHeight }; + + // Add the reference and positions to the manager + $.ui.ddmanager.droppables[this.options.scope] = $.ui.ddmanager.droppables[this.options.scope] || []; + $.ui.ddmanager.droppables[this.options.scope].push(this); + + (this.options.cssNamespace && this.element.addClass(this.options.cssNamespace+"-droppable")); + + }, + plugins: {}, + ui: function(c) { + return { + draggable: (c.currentItem || c.element), + helper: c.helper, + position: c.position, + absolutePosition: c.positionAbs, + options: this.options, + element: this.element + }; + }, + destroy: function() { + var drop = $.ui.ddmanager.droppables[this.options.scope]; + for ( var i = 0; i < drop.length; i++ ) + if ( drop[i] == this ) + drop.splice(i, 1); + + this.element + .removeClass("ui-droppable-disabled") + .removeData("droppable") + .unbind(".droppable"); + }, + _over: function(e) { + + var draggable = $.ui.ddmanager.current; + if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return; // Bail if draggable and droppable are same element + + if (this.options.accept.call(this.element,(draggable.currentItem || draggable.element))) { + $.ui.plugin.call(this, 'over', [e, this.ui(draggable)]); + this.element.triggerHandler("dropover", [e, this.ui(draggable)], this.options.over); + } + + }, + _out: function(e) { + + var draggable = $.ui.ddmanager.current; + if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return; // Bail if draggable and droppable are same element + + if (this.options.accept.call(this.element,(draggable.currentItem || draggable.element))) { + $.ui.plugin.call(this, 'out', [e, this.ui(draggable)]); + this.element.triggerHandler("dropout", [e, this.ui(draggable)], this.options.out); + } + + }, + _drop: function(e,custom) { + + var draggable = custom || $.ui.ddmanager.current; + if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return false; // Bail if draggable and droppable are same element + + var childrenIntersection = false; + this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function() { + var inst = $.data(this, 'droppable'); + if(inst.options.greedy && $.ui.intersect(draggable, $.extend(inst, { offset: inst.element.offset() }), inst.options.tolerance)) { + childrenIntersection = true; return false; + } + }); + if(childrenIntersection) return false; + + if(this.options.accept.call(this.element,(draggable.currentItem || draggable.element))) { + $.ui.plugin.call(this, 'drop', [e, this.ui(draggable)]); + this.element.triggerHandler("drop", [e, this.ui(draggable)], this.options.drop); + return this.element; + } + + return false; + + }, + _activate: function(e) { + + var draggable = $.ui.ddmanager.current; + $.ui.plugin.call(this, 'activate', [e, this.ui(draggable)]); + if(draggable) this.element.triggerHandler("dropactivate", [e, this.ui(draggable)], this.options.activate); + + }, + _deactivate: function(e) { + + var draggable = $.ui.ddmanager.current; + $.ui.plugin.call(this, 'deactivate', [e, this.ui(draggable)]); + if(draggable) this.element.triggerHandler("dropdeactivate", [e, this.ui(draggable)], this.options.deactivate); + + } +}); + +$.extend($.ui.droppable, { + defaults: { + disabled: false, + tolerance: 'intersect', + scope: 'default', + cssNamespace: 'ui' + } +}); + +$.ui.intersect = function(draggable, droppable, toleranceMode) { + + if (!droppable.offset) return false; + + var x1 = (draggable.positionAbs || draggable.position.absolute).left, x2 = x1 + draggable.helperProportions.width, + y1 = (draggable.positionAbs || draggable.position.absolute).top, y2 = y1 + draggable.helperProportions.height; + var l = droppable.offset.left, r = l + droppable.proportions.width, + t = droppable.offset.top, b = t + droppable.proportions.height; + + switch (toleranceMode) { + case 'fit': + return (l < x1 && x2 < r + && t < y1 && y2 < b); + break; + case 'intersect': + return (l < x1 + (draggable.helperProportions.width / 2) // Right Half + && x2 - (draggable.helperProportions.width / 2) < r // Left Half + && t < y1 + (draggable.helperProportions.height / 2) // Bottom Half + && y2 - (draggable.helperProportions.height / 2) < b ); // Top Half + break; + case 'pointer': + return (l < ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left) && ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left) < r + && t < ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top) && ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top) < b); + break; + case 'touch': + return ( + (y1 >= t && y1 <= b) || // Top edge touching + (y2 >= t && y2 <= b) || // Bottom edge touching + (y1 < t && y2 > b) // Surrounded vertically + ) && ( + (x1 >= l && x1 <= r) || // Left edge touching + (x2 >= l && x2 <= r) || // Right edge touching + (x1 < l && x2 > r) // Surrounded horizontally + ); + break; + default: + return false; + break; + } + +}; + +/* + This manager tracks offsets of draggables and droppables +*/ +$.ui.ddmanager = { + current: null, + droppables: { 'default': [] }, + prepareOffsets: function(t, e) { + + var m = $.ui.ddmanager.droppables[t.options.scope]; + var type = e ? e.type : null; // workaround for #2317 + var list = (t.currentItem || t.element).find(":data(droppable)").andSelf(); + + droppablesLoop: for (var i = 0; i < m.length; i++) { + + if(m[i].options.disabled || (t && !m[i].options.accept.call(m[i].element,(t.currentItem || t.element)))) continue; //No disabled and non-accepted + for (var j=0; j < list.length; j++) { if(list[j] == m[i].element[0]) { m[i].proportions.height = 0; continue droppablesLoop; } }; //Filter out elements in the current dragged item + m[i].visible = m[i].element.css("display") != "none"; if(!m[i].visible) continue; //If the element is not visible, continue + + m[i].offset = m[i].element.offset(); + m[i].proportions = { width: m[i].element[0].offsetWidth, height: m[i].element[0].offsetHeight }; + + if(type == "dragstart" || type == "sortactivate") m[i]._activate.call(m[i], e); //Activate the droppable if used directly from draggables + + } + + }, + drop: function(draggable, e) { + + var dropped = false; + $.each($.ui.ddmanager.droppables[draggable.options.scope], function() { + + if(!this.options) return; + if (!this.options.disabled && this.visible && $.ui.intersect(draggable, this, this.options.tolerance)) + dropped = this._drop.call(this, e); + + if (!this.options.disabled && this.visible && this.options.accept.call(this.element,(draggable.currentItem || draggable.element))) { + this.isout = 1; this.isover = 0; + this._deactivate.call(this, e); + } + + }); + return dropped; + + }, + drag: function(draggable, e) { + + //If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse. + if(draggable.options.refreshPositions) $.ui.ddmanager.prepareOffsets(draggable, e); + + //Run through all droppables and check their positions based on specific tolerance options + + $.each($.ui.ddmanager.droppables[draggable.options.scope], function() { + + if(this.options.disabled || this.greedyChild || !this.visible) return; + var intersects = $.ui.intersect(draggable, this, this.options.tolerance); + + var c = !intersects && this.isover == 1 ? 'isout' : (intersects && this.isover == 0 ? 'isover' : null); + if(!c) return; + + var parentInstance; + if (this.options.greedy) { + var parent = this.element.parents(':data(droppable):eq(0)'); + if (parent.length) { + parentInstance = $.data(parent[0], 'droppable'); + parentInstance.greedyChild = (c == 'isover' ? 1 : 0); + } + } + + // we just moved into a greedy child + if (parentInstance && c == 'isover') { + parentInstance['isover'] = 0; + parentInstance['isout'] = 1; + parentInstance._out.call(parentInstance, e); + } + + this[c] = 1; this[c == 'isout' ? 'isover' : 'isout'] = 0; + this[c == "isover" ? "_over" : "_out"].call(this, e); + + // we just moved out of a greedy child + if (parentInstance && c == 'isout') { + parentInstance['isout'] = 0; + parentInstance['isover'] = 1; + parentInstance._over.call(parentInstance, e); + } + }); + + } +}; + +/* + * Droppable Extensions + */ + +$.ui.plugin.add("droppable", "activeClass", { + activate: function(e, ui) { + $(this).addClass(ui.options.activeClass); + }, + deactivate: function(e, ui) { + $(this).removeClass(ui.options.activeClass); + }, + drop: function(e, ui) { + $(this).removeClass(ui.options.activeClass); + } +}); + +$.ui.plugin.add("droppable", "hoverClass", { + over: function(e, ui) { + $(this).addClass(ui.options.hoverClass); + }, + out: function(e, ui) { + $(this).removeClass(ui.options.hoverClass); + }, + drop: function(e, ui) { + $(this).removeClass(ui.options.hoverClass); + } +}); + +})(jQuery); +/* + * jQuery UI Resizable @VERSION + * + * Copyright (c) 2008 Paul Bakaus + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Resizables + * + * Depends: + * ui.core.js + */ +(function($) { + +$.widget("ui.resizable", $.extend({}, $.ui.mouse, { + _init: function() { + + var self = this, o = this.options; + + var elpos = this.element.css('position'); + + this.originalElement = this.element; + + // simulate .ui-resizable { position: relative; } + this.element.addClass("ui-resizable").css({ position: /static/.test(elpos) ? 'relative' : elpos }); + + $.extend(o, { + _aspectRatio: !!(o.aspectRatio), + helper: o.helper || o.ghost || o.animate ? o.helper || 'proxy' : null, + knobHandles: o.knobHandles === true ? 'ui-resizable-knob-handle' : o.knobHandles + }); + + //Default Theme + var aBorder = '1px solid #DEDEDE'; + + o.defaultTheme = { + 'ui-resizable': { display: 'block' }, + 'ui-resizable-handle': { position: 'absolute', background: '#F2F2F2', fontSize: '0.1px' }, + 'ui-resizable-n': { cursor: 'n-resize', height: '4px', left: '0px', right: '0px', borderTop: aBorder }, + 'ui-resizable-s': { cursor: 's-resize', height: '4px', left: '0px', right: '0px', borderBottom: aBorder }, + 'ui-resizable-e': { cursor: 'e-resize', width: '4px', top: '0px', bottom: '0px', borderRight: aBorder }, + 'ui-resizable-w': { cursor: 'w-resize', width: '4px', top: '0px', bottom: '0px', borderLeft: aBorder }, + 'ui-resizable-se': { cursor: 'se-resize', width: '4px', height: '4px', borderRight: aBorder, borderBottom: aBorder }, + 'ui-resizable-sw': { cursor: 'sw-resize', width: '4px', height: '4px', borderBottom: aBorder, borderLeft: aBorder }, + 'ui-resizable-ne': { cursor: 'ne-resize', width: '4px', height: '4px', borderRight: aBorder, borderTop: aBorder }, + 'ui-resizable-nw': { cursor: 'nw-resize', width: '4px', height: '4px', borderLeft: aBorder, borderTop: aBorder } + }; + + o.knobTheme = { + 'ui-resizable-handle': { background: '#F2F2F2', border: '1px solid #808080', height: '8px', width: '8px' }, + 'ui-resizable-n': { cursor: 'n-resize', top: '0px', left: '45%' }, + 'ui-resizable-s': { cursor: 's-resize', bottom: '0px', left: '45%' }, + 'ui-resizable-e': { cursor: 'e-resize', right: '0px', top: '45%' }, + 'ui-resizable-w': { cursor: 'w-resize', left: '0px', top: '45%' }, + 'ui-resizable-se': { cursor: 'se-resize', right: '0px', bottom: '0px' }, + 'ui-resizable-sw': { cursor: 'sw-resize', left: '0px', bottom: '0px' }, + 'ui-resizable-nw': { cursor: 'nw-resize', left: '0px', top: '0px' }, + 'ui-resizable-ne': { cursor: 'ne-resize', right: '0px', top: '0px' } + }; + + o._nodeName = this.element[0].nodeName; + + //Wrap the element if it cannot hold child nodes + if(o._nodeName.match(/canvas|textarea|input|select|button|img/i)) { + var el = this.element; + + //Opera fixing relative position + if (/relative/.test(el.css('position')) && $.browser.opera) + el.css({ position: 'relative', top: 'auto', left: 'auto' }); + + //Create a wrapper element and set the wrapper to the new current internal element + el.wrap( + $('
').css( { + position: el.css('position'), + width: el.outerWidth(), + height: el.outerHeight(), + top: el.css('top'), + left: el.css('left') + }) + ); + + var oel = this.element; this.element = this.element.parent(); + + // store instance on wrapper + this.element.data('resizable', this); + + //Move margins to the wrapper + this.element.css({ marginLeft: oel.css("marginLeft"), marginTop: oel.css("marginTop"), + marginRight: oel.css("marginRight"), marginBottom: oel.css("marginBottom") + }); + + oel.css({ marginLeft: 0, marginTop: 0, marginRight: 0, marginBottom: 0}); + + //Prevent Safari textarea resize + if ($.browser.safari && o.preventDefault) oel.css('resize', 'none'); + + o.proportionallyResize = oel.css({ position: 'static', zoom: 1, display: 'block' }); + + // avoid IE jump + this.element.css({ margin: oel.css('margin') }); + + // fix handlers offset + this._proportionallyResize(); + } + + if(!o.handles) o.handles = !$('.ui-resizable-handle', this.element).length ? "e,s,se" : { n: '.ui-resizable-n', e: '.ui-resizable-e', s: '.ui-resizable-s', w: '.ui-resizable-w', se: '.ui-resizable-se', sw: '.ui-resizable-sw', ne: '.ui-resizable-ne', nw: '.ui-resizable-nw' }; + if(o.handles.constructor == String) { + + o.zIndex = o.zIndex || 1000; + + if(o.handles == 'all') o.handles = 'n,e,s,w,se,sw,ne,nw'; + + var n = o.handles.split(","); o.handles = {}; + + // insertions are applied when don't have theme loaded + var insertionsDefault = { + handle: 'position: absolute; display: none; overflow:hidden;', + n: 'top: 0pt; width:100%;', + e: 'right: 0pt; height:100%;', + s: 'bottom: 0pt; width:100%;', + w: 'left: 0pt; height:100%;', + se: 'bottom: 0pt; right: 0px;', + sw: 'bottom: 0pt; left: 0px;', + ne: 'top: 0pt; right: 0px;', + nw: 'top: 0pt; left: 0px;' + }; + + for(var i = 0; i < n.length; i++) { + var handle = $.trim(n[i]), dt = o.defaultTheme, hname = 'ui-resizable-'+handle, loadDefault = !$.ui.css(hname) && !o.knobHandles, userKnobClass = $.ui.css('ui-resizable-knob-handle'), + allDefTheme = $.extend(dt[hname], dt['ui-resizable-handle']), allKnobTheme = $.extend(o.knobTheme[hname], !userKnobClass ? o.knobTheme['ui-resizable-handle'] : {}); + + // increase zIndex of sw, se, ne, nw axis + var applyZIndex = /sw|se|ne|nw/.test(handle) ? { zIndex: ++o.zIndex } : {}; + + var defCss = (loadDefault ? insertionsDefault[handle] : ''), + axis = $(['
'].join('')).css( applyZIndex ); + o.handles[handle] = '.ui-resizable-'+handle; + + this.element.append( + //Theme detection, if not loaded, load o.defaultTheme + axis.css( loadDefault ? allDefTheme : {} ) + // Load the knobHandle css, fix width, height, top, left... + .css( o.knobHandles ? allKnobTheme : {} ).addClass(o.knobHandles ? 'ui-resizable-knob-handle' : '').addClass(o.knobHandles) + ); + } + + if (o.knobHandles) this.element.addClass('ui-resizable-knob').css( !$.ui.css('ui-resizable-knob') ? { /*border: '1px #fff dashed'*/ } : {} ); + } + + this._renderAxis = function(target) { + target = target || this.element; + + for(var i in o.handles) { + if(o.handles[i].constructor == String) + o.handles[i] = $(o.handles[i], this.element).show(); + + if (o.transparent) + o.handles[i].css({opacity:0}); + + //Apply pad to wrapper element, needed to fix axis position (textarea, inputs, scrolls) + if (this.element.is('.ui-wrapper') && + o._nodeName.match(/textarea|input|select|button/i)) { + + var axis = $(o.handles[i], this.element), padWrapper = 0; + + //Checking the correct pad and border + padWrapper = /sw|ne|nw|se|n|s/.test(i) ? axis.outerHeight() : axis.outerWidth(); + + //The padding type i have to apply... + var padPos = [ 'padding', + /ne|nw|n/.test(i) ? 'Top' : + /se|sw|s/.test(i) ? 'Bottom' : + /^e$/.test(i) ? 'Right' : 'Left' ].join(""); + + if (!o.transparent) + target.css(padPos, padWrapper); + + this._proportionallyResize(); + } + if(!$(o.handles[i]).length) continue; + } + }; + + this._renderAxis(this.element); + o._handles = $('.ui-resizable-handle', self.element); + + if (o.disableSelection) + o._handles.each(function(i, e) { $.ui.disableSelection(e); }); + + //Matching axis name + o._handles.mouseover(function() { + if (!o.resizing) { + if (this.className) + var axis = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i); + //Axis, default = se + self.axis = o.axis = axis && axis[1] ? axis[1] : 'se'; + } + }); + + //If we want to auto hide the elements + if (o.autoHide) { + o._handles.hide(); + $(self.element).addClass("ui-resizable-autohide").hover(function() { + $(this).removeClass("ui-resizable-autohide"); + o._handles.show(); + }, + function(){ + if (!o.resizing) { + $(this).addClass("ui-resizable-autohide"); + o._handles.hide(); + } + }); + } + + this._mouseInit(); + }, + plugins: {}, + ui: function() { + return { + originalElement: this.originalElement, + element: this.element, + helper: this.helper, + position: this.position, + size: this.size, + options: this.options, + originalSize: this.originalSize, + originalPosition: this.originalPosition + }; + }, + _propagate: function(n,e) { + $.ui.plugin.call(this, n, [e, this.ui()]); + if (n != "resize") this.element.triggerHandler(["resize", n].join(""), [e, this.ui()], this.options[n]); + }, + destroy: function() { + var el = this.element, wrapped = el.children(".ui-resizable").get(0); + + this._mouseDestroy(); + + var _destroy = function(exp) { + $(exp).removeClass("ui-resizable ui-resizable-disabled") + .removeData("resizable").unbind(".resizable").find('.ui-resizable-handle').remove(); + }; + + _destroy(el); + + if (el.is('.ui-wrapper') && wrapped) { + el.parent().append( + $(wrapped).css({ + position: el.css('position'), + width: el.outerWidth(), + height: el.outerHeight(), + top: el.css('top'), + left: el.css('left') + }) + ).end().remove(); + + _destroy(wrapped); + } + }, + + _mouseCapture: function(e) { + + if(this.options.disabled) return false; + + var handle = false; + for(var i in this.options.handles) { + if($(this.options.handles[i])[0] == e.target) handle = true; + } + if (!handle) return false; + + return true; + + }, + + _mouseStart: function(e) { + + var o = this.options, iniPos = this.element.position(), el = this.element, + num = function(v) { return parseInt(v, 10) || 0; }, ie6 = $.browser.msie && $.browser.version < 7; + o.resizing = true; + o.documentScroll = { top: $(document).scrollTop(), left: $(document).scrollLeft() }; + + // bugfix #1749 + if (el.is('.ui-draggable') || (/absolute/).test(el.css('position'))) { + + // sOffset decides if document scrollOffset will be added to the top/left of the resizable element + var sOffset = $.browser.msie && !o.containment && (/absolute/).test(el.css('position')) && !(/relative/).test(el.parent().css('position')); + var dscrollt = sOffset ? o.documentScroll.top : 0, dscrolll = sOffset ? o.documentScroll.left : 0; + + el.css({ position: 'absolute', top: (iniPos.top + dscrollt), left: (iniPos.left + dscrolll) }); + } + + //Opera fixing relative position + if ($.browser.opera && /relative/.test(el.css('position'))) + el.css({ position: 'relative', top: 'auto', left: 'auto' }); + + this._renderProxy(); + + var curleft = num(this.helper.css('left')), curtop = num(this.helper.css('top')); + + if (o.containment) { + curleft += $(o.containment).scrollLeft()||0; + curtop += $(o.containment).scrollTop()||0; + } + + //Store needed variables + this.offset = this.helper.offset(); + this.position = { left: curleft, top: curtop }; + this.size = o.helper || ie6 ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() }; + this.originalSize = o.helper || ie6 ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() }; + this.originalPosition = { left: curleft, top: curtop }; + this.sizeDiff = { width: el.outerWidth() - el.width(), height: el.outerHeight() - el.height() }; + this.originalMousePosition = { left: e.pageX, top: e.pageY }; + + //Aspect Ratio + o.aspectRatio = (typeof o.aspectRatio == 'number') ? o.aspectRatio : ((this.originalSize.width / this.originalSize.height)||1); + + if (o.preserveCursor) + $('body').css('cursor', this.axis + '-resize'); + + this._propagate("start", e); + return true; + }, + _mouseDrag: function(e) { + + //Increase performance, avoid regex + var el = this.helper, o = this.options, props = {}, + self = this, smp = this.originalMousePosition, a = this.axis; + + var dx = (e.pageX-smp.left)||0, dy = (e.pageY-smp.top)||0; + var trigger = this._change[a]; + if (!trigger) return false; + + // Calculate the attrs that will be change + var data = trigger.apply(this, [e, dx, dy]), ie6 = $.browser.msie && $.browser.version < 7, csdif = this.sizeDiff; + + if (o._aspectRatio || e.shiftKey) + data = this._updateRatio(data, e); + + data = this._respectSize(data, e); + + // plugins callbacks need to be called first + this._propagate("resize", e); + + el.css({ + top: this.position.top + "px", left: this.position.left + "px", + width: this.size.width + "px", height: this.size.height + "px" + }); + + if (!o.helper && o.proportionallyResize) + this._proportionallyResize(); + + this._updateCache(data); + + // calling the user callback at the end + this.element.triggerHandler("resize", [e, this.ui()], this.options["resize"]); + + return false; + }, + _mouseStop: function(e) { + + this.options.resizing = false; + var o = this.options, num = function(v) { return parseInt(v, 10) || 0; }, self = this; + + if(o.helper) { + var pr = o.proportionallyResize, ista = pr && (/textarea/i).test(pr.get(0).nodeName), + soffseth = ista && $.ui.hasScroll(pr.get(0), 'left') /* TODO - jump height */ ? 0 : self.sizeDiff.height, + soffsetw = ista ? 0 : self.sizeDiff.width; + + var s = { width: (self.size.width - soffsetw), height: (self.size.height - soffseth) }, + left = (parseInt(self.element.css('left'), 10) + (self.position.left - self.originalPosition.left)) || null, + top = (parseInt(self.element.css('top'), 10) + (self.position.top - self.originalPosition.top)) || null; + + if (!o.animate) + this.element.css($.extend(s, { top: top, left: left })); + + if (o.helper && !o.animate) this._proportionallyResize(); + } + + if (o.preserveCursor) + $('body').css('cursor', 'auto'); + + this._propagate("stop", e); + + if (o.helper) this.helper.remove(); + + return false; + }, + _updateCache: function(data) { + var o = this.options; + this.offset = this.helper.offset(); + if (data.left) this.position.left = data.left; + if (data.top) this.position.top = data.top; + if (data.height) this.size.height = data.height; + if (data.width) this.size.width = data.width; + }, + _updateRatio: function(data, e) { + + var o = this.options, cpos = this.position, csize = this.size, a = this.axis; + + if (data.height) data.width = (csize.height * o.aspectRatio); + else if (data.width) data.height = (csize.width / o.aspectRatio); + + if (a == 'sw') { + data.left = cpos.left + (csize.width - data.width); + data.top = null; + } + if (a == 'nw') { + data.top = cpos.top + (csize.height - data.height); + data.left = cpos.left + (csize.width - data.width); + } + + return data; + }, + _respectSize: function(data, e) { + + var el = this.helper, o = this.options, pRatio = o._aspectRatio || e.shiftKey, a = this.axis, + ismaxw = data.width && o.maxWidth && o.maxWidth < data.width, ismaxh = data.height && o.maxHeight && o.maxHeight < data.height, + isminw = data.width && o.minWidth && o.minWidth > data.width, isminh = data.height && o.minHeight && o.minHeight > data.height; + + if (isminw) data.width = o.minWidth; + if (isminh) data.height = o.minHeight; + if (ismaxw) data.width = o.maxWidth; + if (ismaxh) data.height = o.maxHeight; + + var dw = this.originalPosition.left + this.originalSize.width, dh = this.position.top + this.size.height; + var cw = /sw|nw|w/.test(a), ch = /nw|ne|n/.test(a); + + if (isminw && cw) data.left = dw - o.minWidth; + if (ismaxw && cw) data.left = dw - o.maxWidth; + if (isminh && ch) data.top = dh - o.minHeight; + if (ismaxh && ch) data.top = dh - o.maxHeight; + + // fixing jump error on top/left - bug #2330 + var isNotwh = !data.width && !data.height; + if (isNotwh && !data.left && data.top) data.top = null; + else if (isNotwh && !data.top && data.left) data.left = null; + + return data; + }, + _proportionallyResize: function() { + var o = this.options; + if (!o.proportionallyResize) return; + var prel = o.proportionallyResize, el = this.helper || this.element; + + if (!o.borderDif) { + var b = [prel.css('borderTopWidth'), prel.css('borderRightWidth'), prel.css('borderBottomWidth'), prel.css('borderLeftWidth')], + p = [prel.css('paddingTop'), prel.css('paddingRight'), prel.css('paddingBottom'), prel.css('paddingLeft')]; + + o.borderDif = $.map(b, function(v, i) { + var border = parseInt(v,10)||0, padding = parseInt(p[i],10)||0; + return border + padding; + }); + } + prel.css({ + height: (el.height() - o.borderDif[0] - o.borderDif[2]) + "px", + width: (el.width() - o.borderDif[1] - o.borderDif[3]) + "px" + }); + }, + _renderProxy: function() { + var el = this.element, o = this.options; + this.elementOffset = el.offset(); + + if(o.helper) { + this.helper = this.helper || $('
'); + + // fix ie6 offset + var ie6 = $.browser.msie && $.browser.version < 7, ie6offset = (ie6 ? 1 : 0), + pxyoffset = ( ie6 ? 2 : -1 ); + + this.helper.addClass(o.helper).css({ + width: el.outerWidth() + pxyoffset, + height: el.outerHeight() + pxyoffset, + position: 'absolute', + left: this.elementOffset.left - ie6offset +'px', + top: this.elementOffset.top - ie6offset +'px', + zIndex: ++o.zIndex + }); + + this.helper.appendTo("body"); + + if (o.disableSelection) + $.ui.disableSelection(this.helper.get(0)); + + } else { + this.helper = el; + } + }, + _change: { + e: function(e, dx, dy) { + return { width: this.originalSize.width + dx }; + }, + w: function(e, dx, dy) { + var o = this.options, cs = this.originalSize, sp = this.originalPosition; + return { left: sp.left + dx, width: cs.width - dx }; + }, + n: function(e, dx, dy) { + var o = this.options, cs = this.originalSize, sp = this.originalPosition; + return { top: sp.top + dy, height: cs.height - dy }; + }, + s: function(e, dx, dy) { + return { height: this.originalSize.height + dy }; + }, + se: function(e, dx, dy) { + return $.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [e, dx, dy])); + }, + sw: function(e, dx, dy) { + return $.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [e, dx, dy])); + }, + ne: function(e, dx, dy) { + return $.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [e, dx, dy])); + }, + nw: function(e, dx, dy) { + return $.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [e, dx, dy])); + } + } +})); + +$.extend($.ui.resizable, { + defaults: { + cancel: ":input", + distance: 1, + delay: 0, + preventDefault: true, + transparent: false, + minWidth: 10, + minHeight: 10, + aspectRatio: false, + disableSelection: true, + preserveCursor: true, + autoHide: false, + knobHandles: false + } +}); + +/* + * Resizable Extensions + */ + +$.ui.plugin.add("resizable", "containment", { + + start: function(e, ui) { + var o = ui.options, self = $(this).data("resizable"), el = self.element; + var oc = o.containment, ce = (oc instanceof $) ? oc.get(0) : (/parent/.test(oc)) ? el.parent().get(0) : oc; + if (!ce) return; + + self.containerElement = $(ce); + + if (/document/.test(oc) || oc == document) { + self.containerOffset = { left: 0, top: 0 }; + self.containerPosition = { left: 0, top: 0 }; + + self.parentData = { + element: $(document), left: 0, top: 0, + width: $(document).width(), height: $(document).height() || document.body.parentNode.scrollHeight + }; + } + + + // i'm a node, so compute top, left, right, bottom + else{ + self.containerOffset = $(ce).offset(); + self.containerPosition = $(ce).position(); + self.containerSize = { height: $(ce).innerHeight(), width: $(ce).innerWidth() }; + + var co = self.containerOffset, ch = self.containerSize.height, cw = self.containerSize.width, + width = ($.ui.hasScroll(ce, "left") ? ce.scrollWidth : cw ), height = ($.ui.hasScroll(ce) ? ce.scrollHeight : ch); + + self.parentData = { + element: ce, left: co.left, top: co.top, width: width, height: height + }; + } + }, + + resize: function(e, ui) { + var o = ui.options, self = $(this).data("resizable"), + ps = self.containerSize, co = self.containerOffset, cs = self.size, cp = self.position, + pRatio = o._aspectRatio || e.shiftKey, cop = { top:0, left:0 }, ce = self.containerElement; + + if (ce[0] != document && /static/.test(ce.css('position'))) + cop = self.containerPosition; + + if (cp.left < (o.helper ? co.left : cop.left)) { + self.size.width = self.size.width + (o.helper ? (self.position.left - co.left) : (self.position.left - cop.left)); + if (pRatio) self.size.height = self.size.width / o.aspectRatio; + self.position.left = o.helper ? co.left : cop.left; + } + + if (cp.top < (o.helper ? co.top : 0)) { + self.size.height = self.size.height + (o.helper ? (self.position.top - co.top) : self.position.top); + if (pRatio) self.size.width = self.size.height * o.aspectRatio; + self.position.top = o.helper ? co.top : 0; + } + + var woset = (o.helper ? self.offset.left - co.left : (self.position.left - cop.left)) + self.sizeDiff.width, + hoset = (o.helper ? self.offset.top - co.top : self.position.top) + self.sizeDiff.height; + + if (woset + self.size.width >= self.parentData.width) { + self.size.width = self.parentData.width - woset; + if (pRatio) self.size.height = self.size.width / o.aspectRatio; + } + + if (hoset + self.size.height >= self.parentData.height) { + self.size.height = self.parentData.height - hoset; + if (pRatio) self.size.width = self.size.height * o.aspectRatio; + } + }, + + stop: function(e, ui){ + var o = ui.options, self = $(this).data("resizable"), cp = self.position, + co = self.containerOffset, cop = self.containerPosition, ce = self.containerElement; + + var helper = $(self.helper), ho = helper.offset(), w = helper.innerWidth(), h = helper.innerHeight(); + + + if (o.helper && !o.animate && /relative/.test(ce.css('position'))) + $(this).css({ left: (ho.left - co.left), top: (ho.top - co.top), width: w, height: h }); + + if (o.helper && !o.animate && /static/.test(ce.css('position'))) + $(this).css({ left: cop.left + (ho.left - co.left), top: cop.top + (ho.top - co.top), width: w, height: h }); + + } +}); + +$.ui.plugin.add("resizable", "grid", { + + resize: function(e, ui) { + var o = ui.options, self = $(this).data("resizable"), cs = self.size, os = self.originalSize, op = self.originalPosition, a = self.axis, ratio = o._aspectRatio || e.shiftKey; + o.grid = typeof o.grid == "number" ? [o.grid, o.grid] : o.grid; + var ox = Math.round((cs.width - os.width) / (o.grid[0]||1)) * (o.grid[0]||1), oy = Math.round((cs.height - os.height) / (o.grid[1]||1)) * (o.grid[1]||1); + + if (/^(se|s|e)$/.test(a)) { + self.size.width = os.width + ox; + self.size.height = os.height + oy; + } + else if (/^(ne)$/.test(a)) { + self.size.width = os.width + ox; + self.size.height = os.height + oy; + self.position.top = op.top - oy; + } + else if (/^(sw)$/.test(a)) { + self.size.width = os.width + ox; + self.size.height = os.height + oy; + self.position.left = op.left - ox; + } + else { + self.size.width = os.width + ox; + self.size.height = os.height + oy; + self.position.top = op.top - oy; + self.position.left = op.left - ox; + } + } + +}); + +$.ui.plugin.add("resizable", "animate", { + + stop: function(e, ui) { + var o = ui.options, self = $(this).data("resizable"); + + var pr = o.proportionallyResize, ista = pr && (/textarea/i).test(pr.get(0).nodeName), + soffseth = ista && $.ui.hasScroll(pr.get(0), 'left') /* TODO - jump height */ ? 0 : self.sizeDiff.height, + soffsetw = ista ? 0 : self.sizeDiff.width; + + var style = { width: (self.size.width - soffsetw), height: (self.size.height - soffseth) }, + left = (parseInt(self.element.css('left'), 10) + (self.position.left - self.originalPosition.left)) || null, + top = (parseInt(self.element.css('top'), 10) + (self.position.top - self.originalPosition.top)) || null; + + self.element.animate( + $.extend(style, top && left ? { top: top, left: left } : {}), { + duration: o.animateDuration || "slow", easing: o.animateEasing || "swing", + step: function() { + + var data = { + width: parseInt(self.element.css('width'), 10), + height: parseInt(self.element.css('height'), 10), + top: parseInt(self.element.css('top'), 10), + left: parseInt(self.element.css('left'), 10) + }; + + if (pr) pr.css({ width: data.width, height: data.height }); + + // propagating resize, and updating values for each animation step + self._updateCache(data); + self._propagate("animate", e); + + } + } + ); + } + +}); + +$.ui.plugin.add("resizable", "ghost", { + + start: function(e, ui) { + var o = ui.options, self = $(this).data("resizable"), pr = o.proportionallyResize, cs = self.size; + + if (!pr) self.ghost = self.element.clone(); + else self.ghost = pr.clone(); + + self.ghost.css( + { opacity: .25, display: 'block', position: 'relative', height: cs.height, width: cs.width, margin: 0, left: 0, top: 0 } + ) + .addClass('ui-resizable-ghost').addClass(typeof o.ghost == 'string' ? o.ghost : ''); + + self.ghost.appendTo(self.helper); + + }, + + resize: function(e, ui){ + var o = ui.options, self = $(this).data("resizable"), pr = o.proportionallyResize; + + if (self.ghost) self.ghost.css({ position: 'relative', height: self.size.height, width: self.size.width }); + + }, + + stop: function(e, ui){ + var o = ui.options, self = $(this).data("resizable"), pr = o.proportionallyResize; + if (self.ghost && self.helper) self.helper.get(0).removeChild(self.ghost.get(0)); + } + +}); + +$.ui.plugin.add("resizable", "alsoResize", { + + start: function(e, ui) { + var o = ui.options, self = $(this).data("resizable"), + + _store = function(exp) { + $(exp).each(function() { + $(this).data("resizable-alsoresize", { + width: parseInt($(this).width(), 10), height: parseInt($(this).height(), 10), + left: parseInt($(this).css('left'), 10), top: parseInt($(this).css('top'), 10) + }); + }); + }; + + if (typeof(o.alsoResize) == 'object') { + if (o.alsoResize.length) { o.alsoResize = o.alsoResize[0]; _store(o.alsoResize); } + else { $.each(o.alsoResize, function(exp, c) { _store(exp); }); } + }else{ + _store(o.alsoResize); + } + }, + + resize: function(e, ui){ + var o = ui.options, self = $(this).data("resizable"), os = self.originalSize, op = self.originalPosition; + + var delta = { + height: (self.size.height - os.height) || 0, width: (self.size.width - os.width) || 0, + top: (self.position.top - op.top) || 0, left: (self.position.left - op.left) || 0 + }, + + _alsoResize = function(exp, c) { + $(exp).each(function() { + var start = $(this).data("resizable-alsoresize"), style = {}, css = c && c.length ? c : ['width', 'height', 'top', 'left']; + + $.each(css || ['width', 'height', 'top', 'left'], function(i, prop) { + var sum = (start[prop]||0) + (delta[prop]||0); + if (sum && sum >= 0) + style[prop] = sum || null; + }); + $(this).css(style); + }); + }; + + if (typeof(o.alsoResize) == 'object') { + $.each(o.alsoResize, function(exp, c) { _alsoResize(exp, c); }); + }else{ + _alsoResize(o.alsoResize); + } + }, + + stop: function(e, ui){ + $(this).removeData("resizable-alsoresize-start"); + } +}); + +})(jQuery); +/* + * jQuery UI Selectable @VERSION + * + * Copyright (c) 2008 Richard D. Worth (rdworth.org) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Selectables + * + * Depends: + * ui.core.js + */ +(function($) { + +$.widget("ui.selectable", $.extend({}, $.ui.mouse, { + _init: function() { + var self = this; + + this.element.addClass("ui-selectable"); + + this.dragged = false; + + // cache selectee children based on filter + var selectees; + this.refresh = function() { + selectees = $(self.options.filter, self.element[0]); + selectees.each(function() { + var $this = $(this); + var pos = $this.offset(); + $.data(this, "selectable-item", { + element: this, + $element: $this, + left: pos.left, + top: pos.top, + right: pos.left + $this.width(), + bottom: pos.top + $this.height(), + startselected: false, + selected: $this.hasClass('ui-selected'), + selecting: $this.hasClass('ui-selecting'), + unselecting: $this.hasClass('ui-unselecting') + }); + }); + }; + this.refresh(); + + this.selectees = selectees.addClass("ui-selectee"); + + this._mouseInit(); + + this.helper = $(document.createElement('div')) + .css({border:'1px dotted black'}) + .addClass("ui-selectable-helper"); + }, + toggle: function() { + if(this.options.disabled){ + this.enable(); + } else { + this.disable(); + } + }, + destroy: function() { + this.element + .removeClass("ui-selectable ui-selectable-disabled") + .removeData("selectable") + .unbind(".selectable"); + this._mouseDestroy(); + }, + _mouseStart: function(e) { + var self = this; + + this.opos = [e.pageX, e.pageY]; + + if (this.options.disabled) + return; + + var options = this.options; + + this.selectees = $(options.filter, this.element[0]); + + // selectable START callback + this.element.triggerHandler("selectablestart", [e, { + "selectable": this.element[0], + "options": options + }], options.start); + + $('body').append(this.helper); + // position helper (lasso) + this.helper.css({ + "z-index": 100, + "position": "absolute", + "left": e.clientX, + "top": e.clientY, + "width": 0, + "height": 0 + }); + + if (options.autoRefresh) { + this.refresh(); + } + + this.selectees.filter('.ui-selected').each(function() { + var selectee = $.data(this, "selectable-item"); + selectee.startselected = true; + if (!e.metaKey) { + selectee.$element.removeClass('ui-selected'); + selectee.selected = false; + selectee.$element.addClass('ui-unselecting'); + selectee.unselecting = true; + // selectable UNSELECTING callback + self.element.triggerHandler("selectableunselecting", [e, { + selectable: self.element[0], + unselecting: selectee.element, + options: options + }], options.unselecting); + } + }); + + var isSelectee = false; + $(e.target).parents().andSelf().each(function() { + if($.data(this, "selectable-item")) isSelectee = true; + }); + return this.options.keyboard ? !isSelectee : true; + }, + _mouseDrag: function(e) { + var self = this; + this.dragged = true; + + if (this.options.disabled) + return; + + var options = this.options; + + var x1 = this.opos[0], y1 = this.opos[1], x2 = e.pageX, y2 = e.pageY; + if (x1 > x2) { var tmp = x2; x2 = x1; x1 = tmp; } + if (y1 > y2) { var tmp = y2; y2 = y1; y1 = tmp; } + this.helper.css({left: x1, top: y1, width: x2-x1, height: y2-y1}); + + this.selectees.each(function() { + var selectee = $.data(this, "selectable-item"); + //prevent helper from being selected if appendTo: selectable + if (!selectee || selectee.element == self.element[0]) + return; + var hit = false; + if (options.tolerance == 'touch') { + hit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) ); + } else if (options.tolerance == 'fit') { + hit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2); + } + + if (hit) { + // SELECT + if (selectee.selected) { + selectee.$element.removeClass('ui-selected'); + selectee.selected = false; + } + if (selectee.unselecting) { + selectee.$element.removeClass('ui-unselecting'); + selectee.unselecting = false; + } + if (!selectee.selecting) { + selectee.$element.addClass('ui-selecting'); + selectee.selecting = true; + // selectable SELECTING callback + self.element.triggerHandler("selectableselecting", [e, { + selectable: self.element[0], + selecting: selectee.element, + options: options + }], options.selecting); + } + } else { + // UNSELECT + if (selectee.selecting) { + if (e.metaKey && selectee.startselected) { + selectee.$element.removeClass('ui-selecting'); + selectee.selecting = false; + selectee.$element.addClass('ui-selected'); + selectee.selected = true; + } else { + selectee.$element.removeClass('ui-selecting'); + selectee.selecting = false; + if (selectee.startselected) { + selectee.$element.addClass('ui-unselecting'); + selectee.unselecting = true; + } + // selectable UNSELECTING callback + self.element.triggerHandler("selectableunselecting", [e, { + selectable: self.element[0], + unselecting: selectee.element, + options: options + }], options.unselecting); + } + } + if (selectee.selected) { + if (!e.metaKey && !selectee.startselected) { + selectee.$element.removeClass('ui-selected'); + selectee.selected = false; + + selectee.$element.addClass('ui-unselecting'); + selectee.unselecting = true; + // selectable UNSELECTING callback + self.element.triggerHandler("selectableunselecting", [e, { + selectable: self.element[0], + unselecting: selectee.element, + options: options + }], options.unselecting); + } + } + } + }); + + return false; + }, + _mouseStop: function(e) { + var self = this; + + this.dragged = false; + + var options = this.options; + + $('.ui-unselecting', this.element[0]).each(function() { + var selectee = $.data(this, "selectable-item"); + selectee.$element.removeClass('ui-unselecting'); + selectee.unselecting = false; + selectee.startselected = false; + self.element.triggerHandler("selectableunselected", [e, { + selectable: self.element[0], + unselected: selectee.element, + options: options + }], options.unselected); + }); + $('.ui-selecting', this.element[0]).each(function() { + var selectee = $.data(this, "selectable-item"); + selectee.$element.removeClass('ui-selecting').addClass('ui-selected'); + selectee.selecting = false; + selectee.selected = true; + selectee.startselected = true; + self.element.triggerHandler("selectableselected", [e, { + selectable: self.element[0], + selected: selectee.element, + options: options + }], options.selected); + }); + this.element.triggerHandler("selectablestop", [e, { + selectable: self.element[0], + options: this.options + }], this.options.stop); + + this.helper.remove(); + + return false; + } +})); + +$.extend($.ui.selectable, { + defaults: { + distance: 1, + delay: 0, + cancel: ":input", + appendTo: 'body', + autoRefresh: true, + filter: '*', + tolerance: 'touch' + } +}); + +})(jQuery); +/* + * jQuery UI Sortable @VERSION + * + * Copyright (c) 2008 Paul Bakaus + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Sortables + * + * Depends: + * ui.core.js + */ +(function($) { + +function contains(a, b) { + var safari2 = $.browser.safari && $.browser.version < 522; + if (a.contains && !safari2) { + return a.contains(b); + } + if (a.compareDocumentPosition) + return !!(a.compareDocumentPosition(b) & 16); + while (b = b.parentNode) + if (b == a) return true; + return false; +}; + +$.widget("ui.sortable", $.extend({}, $.ui.mouse, { + _init: function() { + + var o = this.options; + this.containerCache = {}; + this.element.addClass("ui-sortable"); + + //Get the items + this.refresh(); + + //Let's determine if the items are floating + this.floating = this.items.length ? (/left|right/).test(this.items[0].item.css('float')) : false; + + //Let's determine the parent's offset + this.offset = this.element.offset(); + + //Initialize mouse events for interaction + this._mouseInit(); + + }, + plugins: {}, + ui: function(inst) { + return { + helper: (inst || this)["helper"], + placeholder: (inst || this)["placeholder"] || $([]), + position: (inst || this)["position"], + absolutePosition: (inst || this)["positionAbs"], + options: this.options, + element: this.element, + item: (inst || this)["currentItem"], + sender: inst ? inst.element : null + }; + }, + + _propagate: function(n,e,inst, noPropagation) { + $.ui.plugin.call(this, n, [e, this.ui(inst)]); + if(!noPropagation) this.element.triggerHandler(n == "sort" ? n : "sort"+n, [e, this.ui(inst)], this.options[n]); + }, + + serialize: function(o) { + + var items = this._getItemsAsjQuery(o && o.connected); + var str = []; o = o || {}; + + $(items).each(function() { + var res = ($(this.item || this).attr(o.attribute || 'id') || '').match(o.expression || (/(.+)[-=_](.+)/)); + if(res) str.push((o.key || res[1]+'[]')+'='+(o.key && o.expression ? res[1] : res[2])); + }); + + return str.join('&'); + + }, + + toArray: function(o) { + + var items = this._getItemsAsjQuery(o && o.connected); + var ret = []; + + items.each(function() { ret.push($(this).attr(o.attr || 'id')); }); + return ret; + + }, + + /* Be careful with the following core functions */ + _intersectsWith: function(item) { + var x1 = this.positionAbs.left, x2 = x1 + this.helperProportions.width, + y1 = this.positionAbs.top, y2 = y1 + this.helperProportions.height; + var l = item.left, r = l + item.width, + t = item.top, b = t + item.height; + + var dyClick = this.offset.click.top, dxClick = this.offset.click.left; + var isOverElement = (y1 + dyClick) > t && (y1 + dyClick) < b && (x1 + dxClick) > l && (x1 + dxClick) < r; + + if(this.options.tolerance == "pointer" || this.options.forcePointerForContainers || (this.options.tolerance == "guess" && this.helperProportions[this.floating ? 'width' : 'height'] > item[this.floating ? 'width' : 'height'])) { + return isOverElement; + } else { + + return (l < x1 + (this.helperProportions.width / 2) // Right Half + && x2 - (this.helperProportions.width / 2) < r // Left Half + && t < y1 + (this.helperProportions.height / 2) // Bottom Half + && y2 - (this.helperProportions.height / 2) < b ); // Top Half + + } + }, + + _intersectsWithEdge: function(item) { + var x1 = this.positionAbs.left, x2 = x1 + this.helperProportions.width, + y1 = this.positionAbs.top, y2 = y1 + this.helperProportions.height; + + var l = item.left, r = l + item.width, + t = item.top, b = t + item.height; + + var dyClick = this.offset.click.top, dxClick = this.offset.click.left; + var isOverElement = (y1 + dyClick) > t && (y1 + dyClick) < b && (x1 + dxClick) > l && (x1 + dxClick) < r; + + if(this.options.tolerance == "pointer" || (this.options.tolerance == "guess" && this.helperProportions[this.floating ? 'width' : 'height'] > item[this.floating ? 'width' : 'height'])) { + if(!isOverElement) return false; + + if(this.floating) { + if ((x1 + dxClick) > l && (x1 + dxClick) < l + item.width/2) return 2; + if ((x1 + dxClick) > l + item.width/2 && (x1 + dxClick) < r) return 1; + } else { + var height = item.height; + var direction = y1 - this.updateOriginalPosition.top < 0 ? 2 : 1; // 2 = up + + if (direction == 1 && (y1 + dyClick) < t + height/2) { return 2; } // up + else if (direction == 2 && (y1 + dyClick) > t + height/2) { return 1; } // down + } + + } else { + if (!(l < x1 + (this.helperProportions.width / 2) // Right Half + && x2 - (this.helperProportions.width / 2) < r // Left Half + && t < y1 + (this.helperProportions.height / 2) // Bottom Half + && y2 - (this.helperProportions.height / 2) < b )) return false; // Top Half + + if(this.floating) { + if(x2 > l && x1 < l) return 2; //Crosses left edge + if(x1 < r && x2 > r) return 1; //Crosses right edge + } else { + if(y2 > t && y1 < t) return 1; //Crosses top edge + if(y1 < b && y2 > b) return 2; //Crosses bottom edge + } + } + + return false; + + }, + + refresh: function() { + this._refreshItems(); + this.refreshPositions(); + }, + + _getItemsAsjQuery: function(connected) { + + var self = this; + var items = []; + var queries = []; + + if(this.options.connectWith && connected) { + for (var i = this.options.connectWith.length - 1; i >= 0; i--){ + var cur = $(this.options.connectWith[i]); + for (var j = cur.length - 1; j >= 0; j--){ + var inst = $.data(cur[j], 'sortable'); + if(inst && inst != this && !inst.options.disabled) { + queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(".ui-sortable-helper"), inst]); + } + }; + }; + } + + queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper"), this]); + + for (var i = queries.length - 1; i >= 0; i--){ + queries[i][0].each(function() { + items.push(this); + }); + }; + + return $(items); + + }, + + _removeCurrentsFromItems: function() { + + var list = this.currentItem.find(":data(sortable-item)"); + + for (var i=0; i < this.items.length; i++) { + + for (var j=0; j < list.length; j++) { + if(list[j] == this.items[i].item[0]) + this.items.splice(i,1); + }; + + }; + + }, + + _refreshItems: function() { + + this.items = []; + this.containers = [this]; + var items = this.items; + var self = this; + var queries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element), this]]; + + if(this.options.connectWith) { + for (var i = this.options.connectWith.length - 1; i >= 0; i--){ + var cur = $(this.options.connectWith[i]); + for (var j = cur.length - 1; j >= 0; j--){ + var inst = $.data(cur[j], 'sortable'); + if(inst && inst != this && !inst.options.disabled) { + queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element), inst]); + this.containers.push(inst); + } + }; + }; + } + + for (var i = queries.length - 1; i >= 0; i--){ + queries[i][0].each(function() { + $.data(this, 'sortable-item', queries[i][1]); // Data for target checking (mouse manager) + items.push({ + item: $(this), + instance: queries[i][1], + width: 0, height: 0, + left: 0, top: 0 + }); + }); + }; + + }, + + refreshPositions: function(fast) { + + //This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change + if(this.offsetParent) { + var po = this.offsetParent.offset(); + this.offset.parent = { top: po.top + this.offsetParentBorders.top, left: po.left + this.offsetParentBorders.left }; + } + + for (var i = this.items.length - 1; i >= 0; i--){ + + //We ignore calculating positions of all connected containers when we're not over them + if(this.items[i].instance != this.currentContainer && this.currentContainer && this.items[i].item[0] != this.currentItem[0]) + continue; + + var t = this.options.toleranceElement ? $(this.options.toleranceElement, this.items[i].item) : this.items[i].item; + + if(!fast) { + this.items[i].width = t[0].offsetWidth; + this.items[i].height = t[0].offsetHeight; + } + + var p = t.offset(); + this.items[i].left = p.left; + this.items[i].top = p.top; + + }; + + if(this.options.custom && this.options.custom.refreshContainers) { + this.options.custom.refreshContainers.call(this); + } else { + for (var i = this.containers.length - 1; i >= 0; i--){ + var p =this.containers[i].element.offset(); + this.containers[i].containerCache.left = p.left; + this.containers[i].containerCache.top = p.top; + this.containers[i].containerCache.width = this.containers[i].element.outerWidth(); + this.containers[i].containerCache.height = this.containers[i].element.outerHeight(); + }; + } + + }, + + destroy: function() { + this.element + .removeClass("ui-sortable ui-sortable-disabled") + .removeData("sortable") + .unbind(".sortable"); + this._mouseDestroy(); + + for ( var i = this.items.length - 1; i >= 0; i-- ) + this.items[i].item.removeData("sortable-item"); + }, + + _createPlaceholder: function(that) { + + var self = that || this, o = self.options; + + if(!o.placeholder || o.placeholder.constructor == String) { + var className = o.placeholder; + o.placeholder = { + element: function() { + var el = $(document.createElement(self.currentItem[0].nodeName)).addClass(className || "ui-sortable-placeholder")[0]; + + if(!className) { + el.style.visibility = "hidden"; + document.body.appendChild(el); + el.innerHTML = self.currentItem[0].innerHTML; + document.body.removeChild(el); + }; + + return el; + }, + update: function(container, p) { + if(className && !o.forcePlaceholderSize) return; + if(!p.height()) { p.height(self.currentItem.innerHeight() - parseInt(self.currentItem.css('paddingTop')||0, 10) - parseInt(self.currentItem.css('paddingBottom')||0, 10)); }; + if(!p.width()) { p.width(self.currentItem.innerWidth() - parseInt(self.currentItem.css('paddingLeft')||0, 10) - parseInt(self.currentItem.css('paddingRight')||0, 10)); }; + } + }; + } + + self.placeholder = $(o.placeholder.element.call(self.element, self.currentItem)) + self.currentItem.parent()[0].appendChild(self.placeholder[0]); + self.placeholder[0].parentNode.insertBefore(self.placeholder[0], self.currentItem[0]); + o.placeholder.update(self, self.placeholder); + }, + + _contactContainers: function(e) { + for (var i = this.containers.length - 1; i >= 0; i--){ + + if(this._intersectsWith(this.containers[i].containerCache)) { + if(!this.containers[i].containerCache.over) { + + + if(this.currentContainer != this.containers[i]) { + + //When entering a new container, we will find the item with the least distance and append our item near it + var dist = 10000; var itemWithLeastDistance = null; var base = this.positionAbs[this.containers[i].floating ? 'left' : 'top']; + for (var j = this.items.length - 1; j >= 0; j--) { + if(!contains(this.containers[i].element[0], this.items[j].item[0])) continue; + var cur = this.items[j][this.containers[i].floating ? 'left' : 'top']; + if(Math.abs(cur - base) < dist) { + dist = Math.abs(cur - base); itemWithLeastDistance = this.items[j]; + } + } + + if(!itemWithLeastDistance && !this.options.dropOnEmpty) //Check if dropOnEmpty is enabled + continue; + + this.currentContainer = this.containers[i]; + itemWithLeastDistance ? this.options.sortIndicator.call(this, e, itemWithLeastDistance, null, true) : this.options.sortIndicator.call(this, e, null, this.containers[i].element, true); + this._propagate("change", e); //Call plugins and callbacks + this.containers[i]._propagate("change", e, this); //Call plugins and callbacks + + //Update the placeholder + this.options.placeholder.update(this.currentContainer, this.placeholder); + + } + + this.containers[i]._propagate("over", e, this); + this.containers[i].containerCache.over = 1; + } + } else { + if(this.containers[i].containerCache.over) { + this.containers[i]._propagate("out", e, this); + this.containers[i].containerCache.over = 0; + } + } + + }; + }, + + _mouseCapture: function(e, overrideHandle) { + + if(this.options.disabled || this.options.type == 'static') return false; + + //We have to refresh the items data once first + this._refreshItems(); + + //Find out if the clicked node (or one of its parents) is a actual item in this.items + var currentItem = null, self = this, nodes = $(e.target).parents().each(function() { + if($.data(this, 'sortable-item') == self) { + currentItem = $(this); + return false; + } + }); + if($.data(e.target, 'sortable-item') == self) currentItem = $(e.target); + + if(!currentItem) return false; + if(this.options.handle && !overrideHandle) { + var validHandle = false; + + $(this.options.handle, currentItem).find("*").andSelf().each(function() { if(this == e.target) validHandle = true; }); + if(!validHandle) return false; + } + + this.currentItem = currentItem; + this._removeCurrentsFromItems(); + return true; + + }, + + createHelper: function(e) { + + var o = this.options; + var helper = typeof o.helper == 'function' ? $(o.helper.apply(this.element[0], [e, this.currentItem])) : (o.helper == "original" ? this.currentItem : this.currentItem.clone()); + + if (!helper.parents('body').length) + $(o.appendTo != 'parent' ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]); //Add the helper to the DOM if that didn't happen already + + return helper; + + }, + + _mouseStart: function(e, overrideHandle, noActivation) { + + var o = this.options; + this.currentContainer = this; + + //We only need to call refreshPositions, because the refreshItems call has been moved to mouseCapture + this.refreshPositions(); + + //Create and append the visible helper + this.helper = this.createHelper(e); + + /* + * - Position generation - + * This block generates everything position related - it's the core of draggables. + */ + + this.margins = { //Cache the margins + left: (parseInt(this.currentItem.css("marginLeft"),10) || 0), + top: (parseInt(this.currentItem.css("marginTop"),10) || 0) + }; + + this.offset = this.currentItem.offset(); //The element's absolute position on the page + this.offset = { //Substract the margins from the element's absolute offset + top: this.offset.top - this.margins.top, + left: this.offset.left - this.margins.left + }; + + this.offset.click = { //Where the click happened, relative to the element + left: e.pageX - this.offset.left, + top: e.pageY - this.offset.top + }; + + this.offsetParent = this.helper.offsetParent(); //Get the offsetParent and cache its position + var po = this.offsetParent.offset(); + + this.offsetParentBorders = { + top: (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0), + left: (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0) + }; + + this.offset.parent = { //Store its position plus border + top: po.top + this.offsetParentBorders.top, + left: po.left + this.offsetParentBorders.left + }; + + this.updateOriginalPosition = this.originalPosition = this._generatePosition(e); //Generate the original position + this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] }; //Cache the former DOM position + + //If o.placeholder is used, create a new element at the given position with the class + this.helperProportions = { width: this.helper.outerWidth(), height: this.helper.outerHeight() };//Cache the helper size + + + if(o.helper == "original") { + this._storedCSS = { position: this.currentItem.css("position"), top: this.currentItem.css("top"), left: this.currentItem.css("left"), clear: this.currentItem.css("clear") }; + } else { + this.currentItem.hide(); //Hide the original, won't cause anything bad this way + } + + //Position it absolutely and add a helper class + this.helper + .css({ position: 'absolute', clear: 'both' }) + .addClass('ui-sortable-helper'); + + //Create the placeholder + this._createPlaceholder(); + + //Call plugins and callbacks + this._propagate("start", e); + + //Recache the helper size + if(!this._preserveHelperProportions) + this.helperProportions = { width: this.helper.outerWidth(), height: this.helper.outerHeight() }; + + if(o.cursorAt) { + if(o.cursorAt.left != undefined) this.offset.click.left = o.cursorAt.left; + if(o.cursorAt.right != undefined) this.offset.click.left = this.helperProportions.width - o.cursorAt.right; + if(o.cursorAt.top != undefined) this.offset.click.top = o.cursorAt.top; + if(o.cursorAt.bottom != undefined) this.offset.click.top = this.helperProportions.height - o.cursorAt.bottom; + } + + /* + * - Position constraining - + * Here we prepare position constraining like grid and containment. + */ + + if(o.containment) { + if(o.containment == 'parent') o.containment = this.helper[0].parentNode; + if(o.containment == 'document' || o.containment == 'window') this.containment = [ + 0 - this.offset.parent.left, + 0 - this.offset.parent.top, + $(o.containment == 'document' ? document : window).width() - this.offset.parent.left - this.helperProportions.width - this.margins.left - (parseInt(this.element.css("marginRight"),10) || 0), + ($(o.containment == 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.offset.parent.top - this.helperProportions.height - this.margins.top - (parseInt(this.element.css("marginBottom"),10) || 0) + ]; + + if(!(/^(document|window|parent)$/).test(o.containment)) { + var ce = $(o.containment)[0]; + var co = $(o.containment).offset(); + var over = ($(ce).css("overflow") != 'hidden'); + + this.containment = [ + co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) - this.offset.parent.left, + co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) - this.offset.parent.top, + co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - this.offset.parent.left - this.helperProportions.width - this.margins.left - (parseInt(this.currentItem.css("marginRight"),10) || 0), + co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - this.offset.parent.top - this.helperProportions.height - this.margins.top - (parseInt(this.currentItem.css("marginBottom"),10) || 0) + ]; + } + } + + //Post 'activate' events to possible containers + if(!noActivation) { + for (var i = this.containers.length - 1; i >= 0; i--) { this.containers[i]._propagate("activate", e, this); } + } + + //Prepare possible droppables + if($.ui.ddmanager) + $.ui.ddmanager.current = this; + + if ($.ui.ddmanager && !o.dropBehaviour) + $.ui.ddmanager.prepareOffsets(this, e); + + this.dragging = true; + + this._mouseDrag(e); //Execute the drag once - this causes the helper not to be visible before getting its correct position + return true; + + + }, + + _convertPositionTo: function(d, pos) { + if(!pos) pos = this.position; + var mod = d == "absolute" ? 1 : -1; + return { + top: ( + pos.top // the calculated relative position + + this.offset.parent.top * mod // The offsetParent's offset without borders (offset + border) + - (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop) * mod // The offsetParent's scroll position + + this.margins.top * mod //Add the margin (you don't want the margin counting in intersection methods) + ), + left: ( + pos.left // the calculated relative position + + this.offset.parent.left * mod // The offsetParent's offset without borders (offset + border) + - (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft) * mod // The offsetParent's scroll position + + this.margins.left * mod //Add the margin (you don't want the margin counting in intersection methods) + ) + }; + }, + + _generatePosition: function(e) { + + var o = this.options; + var position = { + top: ( + e.pageY // The absolute mouse position + - this.offset.click.top // Click offset (relative to the element) + - this.offset.parent.top // The offsetParent's offset without borders (offset + border) + + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop) // The offsetParent's scroll position, not if the element is fixed + ), + left: ( + e.pageX // The absolute mouse position + - this.offset.click.left // Click offset (relative to the element) + - this.offset.parent.left // The offsetParent's offset without borders (offset + border) + + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft) // The offsetParent's scroll position, not if the element is fixed + ) + }; + + if(!this.originalPosition) return position; //If we are not dragging yet, we won't check for options + + /* + * - Position constraining - + * Constrain the position to a mix of grid, containment. + */ + if(this.containment) { + if(position.left < this.containment[0]) position.left = this.containment[0]; + if(position.top < this.containment[1]) position.top = this.containment[1]; + if(position.left > this.containment[2]) position.left = this.containment[2]; + if(position.top > this.containment[3]) position.top = this.containment[3]; + } + + if(o.grid) { + var top = this.originalPosition.top + Math.round((position.top - this.originalPosition.top) / o.grid[1]) * o.grid[1]; + position.top = this.containment ? (!(top < this.containment[1] || top > this.containment[3]) ? top : (!(top < this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top; + + var left = this.originalPosition.left + Math.round((position.left - this.originalPosition.left) / o.grid[0]) * o.grid[0]; + position.left = this.containment ? (!(left < this.containment[0] || left > this.containment[2]) ? left : (!(left < this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left; + } + + return position; + }, + + _mouseDrag: function(e) { + + //Compute the helpers position + this.position = this._generatePosition(e); + this.positionAbs = this._convertPositionTo("absolute"); + + //Call the internal plugins + $.ui.plugin.call(this, "sort", [e, this.ui()]); + + //Regenerate the absolute position used for position checks + this.positionAbs = this._convertPositionTo("absolute"); + + //Set the helper's position + this.helper[0].style.left = this.position.left+'px'; + this.helper[0].style.top = this.position.top+'px'; + + //Rearrange + for (var i = this.items.length - 1; i >= 0; i--) { + var intersection = this._intersectsWithEdge(this.items[i]); + if(!intersection) continue; + + if(this.items[i].item[0] != this.currentItem[0] //cannot intersect with itself + && this.placeholder[intersection == 1 ? "next" : "prev"]()[0] != this.items[i].item[0] //no useless actions that have been done before + && !contains(this.placeholder[0], this.items[i].item[0]) //no action if the item moved is the parent of the item checked + && (this.options.type == 'semi-dynamic' ? !contains(this.element[0], this.items[i].item[0]) : true) + ) { + + this.updateOriginalPosition = this._generatePosition(e); + + this.direction = intersection == 1 ? "down" : "up"; + this.options.sortIndicator.call(this, e, this.items[i]); + this._propagate("change", e); //Call plugins and callbacks + break; + } + } + + //Post events to containers + this._contactContainers(e); + + //Interconnect with droppables + if($.ui.ddmanager) $.ui.ddmanager.drag(this, e); + + //Call callbacks + this.element.triggerHandler("sort", [e, this.ui()], this.options["sort"]); + + return false; + + }, + + _rearrange: function(e, i, a, hardRefresh) { + + a ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction == 'down' ? i.item[0] : i.item[0].nextSibling)); + + //Various things done here to improve the performance: + // 1. we create a setTimeout, that calls refreshPositions + // 2. on the instance, we have a counter variable, that get's higher after every append + // 3. on the local scope, we copy the counter variable, and check in the timeout, if it's still the same + // 4. this lets only the last addition to the timeout stack through + this.counter = this.counter ? ++this.counter : 1; + var self = this, counter = this.counter; + + window.setTimeout(function() { + if(counter == self.counter) self.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove + },0); + + }, + + _mouseStop: function(e, noPropagation) { + + //If we are using droppables, inform the manager about the drop + if ($.ui.ddmanager && !this.options.dropBehaviour) + $.ui.ddmanager.drop(this, e); + + if(this.options.revert) { + var self = this; + var cur = self.placeholder.offset(); + + $(this.helper).animate({ + left: cur.left - this.offset.parent.left - self.margins.left + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft), + top: cur.top - this.offset.parent.top - self.margins.top + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop) + }, parseInt(this.options.revert, 10) || 500, function() { + self._clear(e); + }); + } else { + this._clear(e, noPropagation); + } + + return false; + + }, + + _clear: function(e, noPropagation) { + + //We first have to update the dom position of the actual currentItem + if(!this._noFinalSort) this.placeholder.before(this.currentItem); + this._noFinalSort = null; + + if(this.options.helper == "original") + this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"); + else + this.currentItem.show(); + + if(this.domPosition.prev != this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent != this.currentItem.parent()[0]) this._propagate("update", e, null, noPropagation); //Trigger update callback if the DOM position has changed + if(!contains(this.element[0], this.currentItem[0])) { //Node was moved out of the current element + this._propagate("remove", e, null, noPropagation); + for (var i = this.containers.length - 1; i >= 0; i--){ + if(contains(this.containers[i].element[0], this.currentItem[0])) { + this.containers[i]._propagate("update", e, this, noPropagation); + this.containers[i]._propagate("receive", e, this, noPropagation); + } + }; + }; + + //Post events to containers + for (var i = this.containers.length - 1; i >= 0; i--){ + this.containers[i]._propagate("deactivate", e, this, noPropagation); + if(this.containers[i].containerCache.over) { + this.containers[i]._propagate("out", e, this); + this.containers[i].containerCache.over = 0; + } + } + + this.dragging = false; + if(this.cancelHelperRemoval) { + this._propagate("beforeStop", e, null, noPropagation); + this._propagate("stop", e, null, noPropagation); + return false; + } + + this._propagate("beforeStop", e, null, noPropagation); + + this.placeholder.remove(); + if(this.options.helper != "original") this.helper.remove(); this.helper = null; + this._propagate("stop", e, null, noPropagation); + + return true; + + } +})); + +$.extend($.ui.sortable, { + getter: "serialize toArray", + defaults: { + helper: "original", + tolerance: "guess", + distance: 1, + delay: 0, + scroll: true, + scrollSensitivity: 20, + scrollSpeed: 20, + cancel: ":input", + items: '> *', + zIndex: 1000, + dropOnEmpty: true, + appendTo: "parent", + sortIndicator: $.ui.sortable.prototype._rearrange, + scope: "default", + forcePlaceholderSize: false + } +}); + +/* + * Sortable Extensions + */ + +$.ui.plugin.add("sortable", "cursor", { + start: function(e, ui) { + var t = $('body'); + if (t.css("cursor")) ui.options._cursor = t.css("cursor"); + t.css("cursor", ui.options.cursor); + }, + beforeStop: function(e, ui) { + if (ui.options._cursor) $('body').css("cursor", ui.options._cursor); + } +}); + +$.ui.plugin.add("sortable", "zIndex", { + start: function(e, ui) { + var t = ui.helper; + if(t.css("zIndex")) ui.options._zIndex = t.css("zIndex"); + t.css('zIndex', ui.options.zIndex); + }, + beforeStop: function(e, ui) { + if(ui.options._zIndex) $(ui.helper).css('zIndex', ui.options._zIndex); + } +}); + +$.ui.plugin.add("sortable", "opacity", { + start: function(e, ui) { + var t = ui.helper; + if(t.css("opacity")) ui.options._opacity = t.css("opacity"); + t.css('opacity', ui.options.opacity); + }, + beforeStop: function(e, ui) { + if(ui.options._opacity) $(ui.helper).css('opacity', ui.options._opacity); + } +}); + +$.ui.plugin.add("sortable", "scroll", { + start: function(e, ui) { + var o = ui.options; + var i = $(this).data("sortable"); + + i.overflowY = function(el) { + do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-y'))) return el; el = el.parent(); } while (el[0].parentNode); + return $(document); + }(i.currentItem); + i.overflowX = function(el) { + do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-x'))) return el; el = el.parent(); } while (el[0].parentNode); + return $(document); + }(i.currentItem); + + if(i.overflowY[0] != document && i.overflowY[0].tagName != 'HTML') i.overflowYOffset = i.overflowY.offset(); + if(i.overflowX[0] != document && i.overflowX[0].tagName != 'HTML') i.overflowXOffset = i.overflowX.offset(); + + }, + sort: function(e, ui) { + + var o = ui.options; + var i = $(this).data("sortable"); + + if(i.overflowY[0] != document && i.overflowY[0].tagName != 'HTML') { + if((i.overflowYOffset.top + i.overflowY[0].offsetHeight) - e.pageY < o.scrollSensitivity) + i.overflowY[0].scrollTop = i.overflowY[0].scrollTop + o.scrollSpeed; + if(e.pageY - i.overflowYOffset.top < o.scrollSensitivity) + i.overflowY[0].scrollTop = i.overflowY[0].scrollTop - o.scrollSpeed; + } else { + if(e.pageY - $(document).scrollTop() < o.scrollSensitivity) + $(document).scrollTop($(document).scrollTop() - o.scrollSpeed); + if($(window).height() - (e.pageY - $(document).scrollTop()) < o.scrollSensitivity) + $(document).scrollTop($(document).scrollTop() + o.scrollSpeed); + } + + if(i.overflowX[0] != document && i.overflowX[0].tagName != 'HTML') { + if((i.overflowXOffset.left + i.overflowX[0].offsetWidth) - e.pageX < o.scrollSensitivity) + i.overflowX[0].scrollLeft = i.overflowX[0].scrollLeft + o.scrollSpeed; + if(e.pageX - i.overflowXOffset.left < o.scrollSensitivity) + i.overflowX[0].scrollLeft = i.overflowX[0].scrollLeft - o.scrollSpeed; + } else { + if(e.pageX - $(document).scrollLeft() < o.scrollSensitivity) + $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed); + if($(window).width() - (e.pageX - $(document).scrollLeft()) < o.scrollSensitivity) + $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed); + } + + } +}); + +$.ui.plugin.add("sortable", "axis", { + sort: function(e, ui) { + + var i = $(this).data("sortable"); + + if(ui.options.axis == "y") i.position.left = i.originalPosition.left; + if(ui.options.axis == "x") i.position.top = i.originalPosition.top; + + } +}); + +})(jQuery); +/* + * jQuery UI Effects @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/ + */ +;(function($) { + +$.effects = $.effects || {}; //Add the 'effects' scope + +$.extend($.effects, { + save: function(el, set) { + for(var i=0;i
'); + var wrapper = el.parent(); + if (el.css('position') == 'static'){ + wrapper.css({position: 'relative'}); + el.css({position: 'relative'}); + } else { + var top = el.css('top'); if(isNaN(parseInt(top))) top = 'auto'; + var left = el.css('left'); if(isNaN(parseInt(left))) left = 'auto'; + wrapper.css({ position: el.css('position'), top: top, left: left, zIndex: el.css('z-index') }).show(); + el.css({position: 'relative', top:0, left:0}); + } + wrapper.css(props); + return wrapper; + }, + removeWrapper: function(el) { + if (el.parent().attr('id') == 'fxWrapper') + return el.parent().replaceWith(el); + return el; + }, + setTransition: function(el, list, factor, val) { + val = val || {}; + $.each(list,function(i, x){ + unit = el.cssUnit(x); + if (unit[0] > 0) val[x] = unit[0] * factor + unit[1]; + }); + return val; + }, + animateClass: function(value, duration, easing, callback) { + + var cb = (typeof easing == "function" ? easing : (callback ? callback : null)); + var ea = (typeof easing == "object" ? easing : null); + + return this.each(function() { + + var offset = {}; var that = $(this); var oldStyleAttr = that.attr("style") || ''; + if(typeof oldStyleAttr == 'object') oldStyleAttr = oldStyleAttr["cssText"]; /* Stupidly in IE, style is a object.. */ + if(value.toggle) { that.hasClass(value.toggle) ? value.remove = value.toggle : value.add = value.toggle; } + + //Let's get a style offset + var oldStyle = $.extend({}, (document.defaultView ? document.defaultView.getComputedStyle(this,null) : this.currentStyle)); + if(value.add) that.addClass(value.add); if(value.remove) that.removeClass(value.remove); + var newStyle = $.extend({}, (document.defaultView ? document.defaultView.getComputedStyle(this,null) : this.currentStyle)); + if(value.add) that.removeClass(value.add); if(value.remove) that.addClass(value.remove); + + // The main function to form the object for animation + for(var n in newStyle) { + if( typeof newStyle[n] != "function" && newStyle[n] /* No functions and null properties */ + && n.indexOf("Moz") == -1 && n.indexOf("length") == -1 /* No mozilla spezific render properties. */ + && newStyle[n] != oldStyle[n] /* Only values that have changed are used for the animation */ + && (n.match(/color/i) || (!n.match(/color/i) && !isNaN(parseInt(newStyle[n],10)))) /* Only things that can be parsed to integers or colors */ + && (oldStyle.position != "static" || (oldStyle.position == "static" && !n.match(/left|top|bottom|right/))) /* No need for positions when dealing with static positions */ + ) offset[n] = newStyle[n]; + } + + that.animate(offset, duration, ea, function() { // Animate the newly constructed offset object + // Change style attribute back to original. For stupid IE, we need to clear the damn object. + if(typeof $(this).attr("style") == 'object') { $(this).attr("style")["cssText"] = ""; $(this).attr("style")["cssText"] = oldStyleAttr; } else $(this).attr("style", oldStyleAttr); + if(value.add) $(this).addClass(value.add); if(value.remove) $(this).removeClass(value.remove); + if(cb) cb.apply(this, arguments); + }); + + }); + } +}); + +//Extend the methods of jQuery +$.fn.extend({ + //Save old methods + _show: $.fn.show, + _hide: $.fn.hide, + __toggle: $.fn.toggle, + _addClass: $.fn.addClass, + _removeClass: $.fn.removeClass, + _toggleClass: $.fn.toggleClass, + // New ec methods + effect: function(fx,o,speed,callback) { + return $.effects[fx] ? $.effects[fx].call(this, {method: fx, options: o || {}, duration: speed, callback: callback }) : null; + }, + show: function() { + if(!arguments[0] || (arguments[0].constructor == Number || /(slow|normal|fast)/.test(arguments[0]))) + return this._show.apply(this, arguments); + else { + var o = arguments[1] || {}; o['mode'] = 'show'; + return this.effect.apply(this, [arguments[0], o, arguments[2] || o.duration, arguments[3] || o.callback]); + } + }, + hide: function() { + if(!arguments[0] || (arguments[0].constructor == Number || /(slow|normal|fast)/.test(arguments[0]))) + return this._hide.apply(this, arguments); + else { + var o = arguments[1] || {}; o['mode'] = 'hide'; + return this.effect.apply(this, [arguments[0], o, arguments[2] || o.duration, arguments[3] || o.callback]); + } + }, + toggle: function(){ + if(!arguments[0] || (arguments[0].constructor == Number || /(slow|normal|fast)/.test(arguments[0])) || (arguments[0].constructor == Function)) + return this.__toggle.apply(this, arguments); + else { + var o = arguments[1] || {}; o['mode'] = 'toggle'; + return this.effect.apply(this, [arguments[0], o, arguments[2] || o.duration, arguments[3] || o.callback]); + } + }, + addClass: function(classNames,speed,easing,callback) { + return speed ? $.effects.animateClass.apply(this, [{ add: classNames },speed,easing,callback]) : this._addClass(classNames); + }, + removeClass: function(classNames,speed,easing,callback) { + return speed ? $.effects.animateClass.apply(this, [{ remove: classNames },speed,easing,callback]) : this._removeClass(classNames); + }, + toggleClass: function(classNames,speed,easing,callback) { + return speed ? $.effects.animateClass.apply(this, [{ toggle: classNames },speed,easing,callback]) : this._toggleClass(classNames); + }, + morph: function(remove,add,speed,easing,callback) { + return $.effects.animateClass.apply(this, [{ add: add, remove: remove },speed,easing,callback]); + }, + switchClass: function() { + return this.morph.apply(this, arguments); + }, + // helper functions + cssUnit: function(key) { + var style = this.css(key), val = []; + $.each( ['em','px','%','pt'], function(i, unit){ + if(style.indexOf(unit) > 0) + val = [parseFloat(style), unit]; + }); + return val; + } +}); + +/* + * jQuery Color Animations + * Copyright 2007 John Resig + * Released under the MIT and GPL licenses. + */ + +// We override the animation for all of these color styles +jQuery.each(['backgroundColor', 'borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor', 'color', 'outlineColor'], function(i,attr){ + jQuery.fx.step[attr] = function(fx){ + if ( fx.state == 0 ) { + fx.start = getColor( fx.elem, attr ); + fx.end = getRGB( fx.end ); + } + + fx.elem.style[attr] = "rgb(" + [ + Math.max(Math.min( parseInt((fx.pos * (fx.end[0] - fx.start[0])) + fx.start[0]), 255), 0), + Math.max(Math.min( parseInt((fx.pos * (fx.end[1] - fx.start[1])) + fx.start[1]), 255), 0), + Math.max(Math.min( parseInt((fx.pos * (fx.end[2] - fx.start[2])) + fx.start[2]), 255), 0) + ].join(",") + ")"; + } +}); + +// Color Conversion functions from highlightFade +// By Blair Mitchelmore +// http://jquery.offput.ca/highlightFade/ + +// Parse strings looking for color tuples [255,255,255] +function getRGB(color) { + var result; + + // Check if we're already dealing with an array of colors + if ( color && color.constructor == Array && color.length == 3 ) + return color; + + // Look for rgb(num,num,num) + if (result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color)) + return [parseInt(result[1]), parseInt(result[2]), parseInt(result[3])]; + + // Look for rgb(num%,num%,num%) + if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color)) + return [parseFloat(result[1])*2.55, parseFloat(result[2])*2.55, parseFloat(result[3])*2.55]; + + // Look for #a0b1c2 + if (result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color)) + return [parseInt(result[1],16), parseInt(result[2],16), parseInt(result[3],16)]; + + // Look for #fff + if (result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color)) + return [parseInt(result[1]+result[1],16), parseInt(result[2]+result[2],16), parseInt(result[3]+result[3],16)]; + + // Look for rgba(0, 0, 0, 0) == transparent in Safari 3 + if (result = /rgba\(0, 0, 0, 0\)/.exec(color)) + return colors['transparent'] + + // Otherwise, we're most likely dealing with a named color + return colors[jQuery.trim(color).toLowerCase()]; +} + +function getColor(elem, attr) { + var color; + + do { + color = jQuery.curCSS(elem, attr); + + // Keep going until we find an element that has color, or we hit the body + if ( color != '' && color != 'transparent' || jQuery.nodeName(elem, "body") ) + break; + + attr = "backgroundColor"; + } while ( elem = elem.parentNode ); + + return getRGB(color); +}; + +// Some named colors to work with +// From Interface by Stefan Petre +// http://interface.eyecon.ro/ + +var colors = { + aqua:[0,255,255], + azure:[240,255,255], + beige:[245,245,220], + black:[0,0,0], + blue:[0,0,255], + brown:[165,42,42], + cyan:[0,255,255], + darkblue:[0,0,139], + darkcyan:[0,139,139], + darkgrey:[169,169,169], + darkgreen:[0,100,0], + darkkhaki:[189,183,107], + darkmagenta:[139,0,139], + darkolivegreen:[85,107,47], + darkorange:[255,140,0], + darkorchid:[153,50,204], + darkred:[139,0,0], + darksalmon:[233,150,122], + darkviolet:[148,0,211], + fuchsia:[255,0,255], + gold:[255,215,0], + green:[0,128,0], + indigo:[75,0,130], + khaki:[240,230,140], + lightblue:[173,216,230], + lightcyan:[224,255,255], + lightgreen:[144,238,144], + lightgrey:[211,211,211], + lightpink:[255,182,193], + lightyellow:[255,255,224], + lime:[0,255,0], + magenta:[255,0,255], + maroon:[128,0,0], + navy:[0,0,128], + olive:[128,128,0], + orange:[255,165,0], + pink:[255,192,203], + purple:[128,0,128], + violet:[128,0,128], + red:[255,0,0], + silver:[192,192,192], + white:[255,255,255], + yellow:[255,255,0], + transparent: [255,255,255] +}; + +/* + * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ + * + * Uses the built in easing capabilities added In jQuery 1.1 + * to offer multiple easing options + * + * TERMS OF USE - jQuery Easing + * + * Open source under the BSD License. + * + * Copyright © 2008 George McGinley Smith + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * Neither the name of the author nor the names of contributors may be used to endorse + * or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * +*/ + +// t: current time, b: begInnIng value, c: change In value, d: duration +jQuery.easing['jswing'] = jQuery.easing['swing']; + +jQuery.extend( jQuery.easing, +{ + def: 'easeOutQuad', + swing: function (x, t, b, c, d) { + //alert(jQuery.easing.default); + return jQuery.easing[jQuery.easing.def](x, t, b, c, d); + }, + easeInQuad: function (x, t, b, c, d) { + return c*(t/=d)*t + b; + }, + easeOutQuad: function (x, t, b, c, d) { + return -c *(t/=d)*(t-2) + b; + }, + easeInOutQuad: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return c/2*t*t + b; + return -c/2 * ((--t)*(t-2) - 1) + b; + }, + easeInCubic: function (x, t, b, c, d) { + return c*(t/=d)*t*t + b; + }, + easeOutCubic: function (x, t, b, c, d) { + return c*((t=t/d-1)*t*t + 1) + b; + }, + easeInOutCubic: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return c/2*t*t*t + b; + return c/2*((t-=2)*t*t + 2) + b; + }, + easeInQuart: function (x, t, b, c, d) { + return c*(t/=d)*t*t*t + b; + }, + easeOutQuart: function (x, t, b, c, d) { + return -c * ((t=t/d-1)*t*t*t - 1) + b; + }, + easeInOutQuart: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return c/2*t*t*t*t + b; + return -c/2 * ((t-=2)*t*t*t - 2) + b; + }, + easeInQuint: function (x, t, b, c, d) { + return c*(t/=d)*t*t*t*t + b; + }, + easeOutQuint: function (x, t, b, c, d) { + return c*((t=t/d-1)*t*t*t*t + 1) + b; + }, + easeInOutQuint: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; + return c/2*((t-=2)*t*t*t*t + 2) + b; + }, + easeInSine: function (x, t, b, c, d) { + return -c * Math.cos(t/d * (Math.PI/2)) + c + b; + }, + easeOutSine: function (x, t, b, c, d) { + return c * Math.sin(t/d * (Math.PI/2)) + b; + }, + easeInOutSine: function (x, t, b, c, d) { + return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; + }, + easeInExpo: function (x, t, b, c, d) { + return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b; + }, + easeOutExpo: function (x, t, b, c, d) { + return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; + }, + easeInOutExpo: function (x, t, b, c, d) { + if (t==0) return b; + if (t==d) return b+c; + if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b; + return c/2 * (-Math.pow(2, -10 * --t) + 2) + b; + }, + easeInCirc: function (x, t, b, c, d) { + return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; + }, + easeOutCirc: function (x, t, b, c, d) { + return c * Math.sqrt(1 - (t=t/d-1)*t) + b; + }, + easeInOutCirc: function (x, t, b, c, d) { + if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; + return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; + }, + easeInElastic: function (x, t, b, c, d) { + var s=1.70158;var p=0;var a=c; + if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; + if (a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + }, + easeOutElastic: function (x, t, b, c, d) { + var s=1.70158;var p=0;var a=c; + if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; + if (a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; + }, + easeInOutElastic: function (x, t, b, c, d) { + var s=1.70158;var p=0;var a=c; + if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5); + if (a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; + }, + easeInBack: function (x, t, b, c, d, s) { + if (s == undefined) s = 1.70158; + return c*(t/=d)*t*((s+1)*t - s) + b; + }, + easeOutBack: function (x, t, b, c, d, s) { + if (s == undefined) s = 1.70158; + return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; + }, + easeInOutBack: function (x, t, b, c, d, s) { + if (s == undefined) s = 1.70158; + if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; + return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; + }, + easeInBounce: function (x, t, b, c, d) { + return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b; + }, + easeOutBounce: function (x, t, b, c, d) { + if ((t/=d) < (1/2.75)) { + return c*(7.5625*t*t) + b; + } else if (t < (2/2.75)) { + return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; + } else if (t < (2.5/2.75)) { + return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; + } else { + return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; + } + }, + easeInOutBounce: function (x, t, b, c, d) { + if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b; + return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; + } +}); + +/* + * + * TERMS OF USE - EASING EQUATIONS + * + * Open source under the BSD License. + * + * Copyright © 2001 Robert Penner + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * Neither the name of the author nor the names of contributors may be used to endorse + * or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +})(jQuery); +/* + * jQuery UI Effects Blind @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Blind + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.blind = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','left']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode + var direction = o.options.direction || 'vertical'; // Default direction + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + var wrapper = $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper + var ref = (direction == 'vertical') ? 'height' : 'width'; + var distance = (direction == 'vertical') ? wrapper.height() : wrapper.width(); + if(mode == 'show') wrapper.css(ref, 0); // Shift + + // Animation + var animation = {}; + animation[ref] = mode == 'show' ? distance : 0; + + // Animate + wrapper.animate(animation, o.duration, o.options.easing, function() { + if(mode == 'hide') el.hide(); // Hide + $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(el[0], arguments); // Callback + el.dequeue(); + }); + + }); + +}; + +})(jQuery); +/* + * jQuery UI Effects Bounce @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Bounce + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.bounce = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','left']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode + var direction = o.options.direction || 'up'; // Default direction + var distance = o.options.distance || 20; // Default distance + var times = o.options.times || 5; // Default # of times + var speed = o.duration || 250; // Default speed per bounce + if (/show|hide/.test(mode)) props.push('opacity'); // Avoid touching opacity to prevent clearType and PNG issues in IE + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + $.effects.createWrapper(el); // Create Wrapper + var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; + var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; + var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) / 3 : el.outerWidth({margin:true}) / 3); + if (mode == 'show') el.css('opacity', 0).css(ref, motion == 'pos' ? -distance : distance); // Shift + if (mode == 'hide') distance = distance / (times * 2); + if (mode != 'hide') times--; + + // Animate + if (mode == 'show') { // Show Bounce + var animation = {opacity: 1}; + animation[ref] = (motion == 'pos' ? '+=' : '-=') + distance; + el.animate(animation, speed / 2, o.options.easing); + distance = distance / 2; + times--; + }; + for (var i = 0; i < times; i++) { // Bounces + var animation1 = {}, animation2 = {}; + animation1[ref] = (motion == 'pos' ? '-=' : '+=') + distance; + animation2[ref] = (motion == 'pos' ? '+=' : '-=') + distance; + el.animate(animation1, speed / 2, o.options.easing).animate(animation2, speed / 2, o.options.easing); + distance = (mode == 'hide') ? distance * 2 : distance / 2; + }; + if (mode == 'hide') { // Last Bounce + var animation = {opacity: 0}; + animation[ref] = (motion == 'pos' ? '-=' : '+=') + distance; + el.animate(animation, speed / 2, o.options.easing, function(){ + el.hide(); // Hide + $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(this, arguments); // Callback + }); + } else { + var animation1 = {}, animation2 = {}; + animation1[ref] = (motion == 'pos' ? '-=' : '+=') + distance; + animation2[ref] = (motion == 'pos' ? '+=' : '-=') + distance; + el.animate(animation1, speed / 2, o.options.easing).animate(animation2, speed / 2, o.options.easing, function(){ + $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(this, arguments); // Callback + }); + }; + el.queue('fx', function() { el.dequeue(); }); + el.dequeue(); + }); + +}; + +})(jQuery); +/* + * jQuery UI Effects Clip @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Clip + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.clip = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','left','height','width']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode + var direction = o.options.direction || 'vertical'; // Default direction + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + var wrapper = $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper + var animate = el[0].tagName == 'IMG' ? wrapper : el; + var ref = { + size: (direction == 'vertical') ? 'height' : 'width', + position: (direction == 'vertical') ? 'top' : 'left' + }; + var distance = (direction == 'vertical') ? animate.height() : animate.width(); + if(mode == 'show') { animate.css(ref.size, 0); animate.css(ref.position, distance / 2); } // Shift + + // Animation + var animation = {}; + animation[ref.size] = mode == 'show' ? distance : 0; + animation[ref.position] = mode == 'show' ? 0 : distance / 2; + + // Animate + animate.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { + if(mode == 'hide') el.hide(); // Hide + $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(el[0], arguments); // Callback + el.dequeue(); + }}); + + }); + +}; + +})(jQuery); +/* + * jQuery UI Effects Drop @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Drop + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.drop = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','left','opacity']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode + var direction = o.options.direction || 'left'; // Default Direction + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + $.effects.createWrapper(el); // Create Wrapper + var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; + var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; + var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) / 2 : el.outerWidth({margin:true}) / 2); + if (mode == 'show') el.css('opacity', 0).css(ref, motion == 'pos' ? -distance : distance); // Shift + + // Animation + var animation = {opacity: mode == 'show' ? 1 : 0}; + animation[ref] = (mode == 'show' ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance; + + // Animate + el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { + if(mode == 'hide') el.hide(); // Hide + $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(this, arguments); // Callback + el.dequeue(); + }}); + + }); + +}; + +})(jQuery); +/* + * jQuery UI Effects Explode @VERSION + * + * Copyright (c) 2008 Paul Bakaus (ui.jquery.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Explode + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.explode = function(o) { + + return this.queue(function() { + + var rows = o.options.pieces ? Math.round(Math.sqrt(o.options.pieces)) : 3; + var cells = o.options.pieces ? Math.round(Math.sqrt(o.options.pieces)) : 3; + + o.options.mode = o.options.mode == 'toggle' ? ($(this).is(':visible') ? 'hide' : 'show') : o.options.mode; + var el = $(this).show().css('visibility', 'hidden'); + var offset = el.offset(); + + //Substract the margins - not fixing the problem yet. + offset.top -= parseInt(el.css("marginTop")) || 0; + offset.left -= parseInt(el.css("marginLeft")) || 0; + + var width = el.outerWidth(true); + var height = el.outerHeight(true); + + for(var i=0;i') + .css({ + position: 'absolute', + visibility: 'visible', + left: -j*(width/cells), + top: -i*(height/rows) + }) + .parent() + .addClass('effects-explode') + .css({ + position: 'absolute', + overflow: 'hidden', + width: width/cells, + height: height/rows, + left: offset.left + j*(width/cells) + (o.options.mode == 'show' ? (j-Math.floor(cells/2))*(width/cells) : 0), + top: offset.top + i*(height/rows) + (o.options.mode == 'show' ? (i-Math.floor(rows/2))*(height/rows) : 0), + opacity: o.options.mode == 'show' ? 0 : 1 + }).animate({ + left: offset.left + j*(width/cells) + (o.options.mode == 'show' ? 0 : (j-Math.floor(cells/2))*(width/cells)), + top: offset.top + i*(height/rows) + (o.options.mode == 'show' ? 0 : (i-Math.floor(rows/2))*(height/rows)), + opacity: o.options.mode == 'show' ? 1 : 0 + }, o.duration || 500); + } + } + + // Set a timeout, to call the callback approx. when the other animations have finished + setTimeout(function() { + + o.options.mode == 'show' ? el.css({ visibility: 'visible' }) : el.css({ visibility: 'visible' }).hide(); + if(o.callback) o.callback.apply(el[0]); // Callback + el.dequeue(); + + $('.effects-explode').remove(); + + }, o.duration || 500); + + + }); + +}; + +})(jQuery); +/* + * jQuery UI Effects Fold @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Fold + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.fold = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','left']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode + var size = o.options.size || 15; // Default fold size + var horizFirst = !(!o.options.horizFirst); // Ensure a boolean value + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + var wrapper = $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper + var widthFirst = ((mode == 'show') != horizFirst); + var ref = widthFirst ? ['width', 'height'] : ['height', 'width']; + var distance = widthFirst ? [wrapper.width(), wrapper.height()] : [wrapper.height(), wrapper.width()]; + var percent = /([0-9]+)%/.exec(size); + if(percent) size = parseInt(percent[1]) / 100 * distance[mode == 'hide' ? 0 : 1]; + if(mode == 'show') wrapper.css(horizFirst ? {height: 0, width: size} : {height: size, width: 0}); // Shift + + // Animation + var animation1 = {}, animation2 = {}; + animation1[ref[0]] = mode == 'show' ? distance[0] : size; + animation2[ref[1]] = mode == 'show' ? distance[1] : 0; + + // Animate + wrapper.animate(animation1, o.duration / 2, o.options.easing) + .animate(animation2, o.duration / 2, o.options.easing, function() { + if(mode == 'hide') el.hide(); // Hide + $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(el[0], arguments); // Callback + el.dequeue(); + }); + + }); + +}; + +})(jQuery); +/* + * jQuery UI Effects Highlight @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Highlight + * + * Depends: + * effects.core.js + */ +;(function($) { + +$.effects.highlight = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['backgroundImage','backgroundColor','opacity']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode + var color = o.options.color || "#ffff99"; // Default highlight color + var oldColor = el.css("backgroundColor"); + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + el.css({backgroundImage: 'none', backgroundColor: color}); // Shift + + // Animation + var animation = {backgroundColor: oldColor }; + if (mode == "hide") animation['opacity'] = 0; + + // Animate + el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { + if(mode == "hide") el.hide(); + $.effects.restore(el, props); + if (mode == "show" && jQuery.browser.msie) this.style.removeAttribute('filter'); + if(o.callback) o.callback.apply(this, arguments); + el.dequeue(); + }}); + + }); + +}; + +})(jQuery); +/* + * jQuery UI Effects Pulsate @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Pulsate + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.pulsate = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this); + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode + var times = o.options.times || 5; // Default # of times + + // Adjust + if (mode == 'hide') times--; + if (el.is(':hidden')) { // Show fadeIn + el.css('opacity', 0); + el.show(); // Show + el.animate({opacity: 1}, o.duration / 2, o.options.easing); + times = times-2; + } + + // Animate + for (var i = 0; i < times; i++) { // Pulsate + el.animate({opacity: 0}, o.duration / 2, o.options.easing).animate({opacity: 1}, o.duration / 2, o.options.easing); + }; + if (mode == 'hide') { // Last Pulse + el.animate({opacity: 0}, o.duration / 2, o.options.easing, function(){ + el.hide(); // Hide + if(o.callback) o.callback.apply(this, arguments); // Callback + }); + } else { + el.animate({opacity: 0}, o.duration / 2, o.options.easing).animate({opacity: 1}, o.duration / 2, o.options.easing, function(){ + if(o.callback) o.callback.apply(this, arguments); // Callback + }); + }; + el.queue('fx', function() { el.dequeue(); }); + el.dequeue(); + }); + +}; + +})(jQuery); +/* + * jQuery UI Effects Scale @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Scale + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.puff = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this); + + // Set options + var options = $.extend(true, {}, o.options); + var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode + var percent = parseInt(o.options.percent) || 150; // Set default puff percent + options.fade = true; // It's not a puff if it doesn't fade! :) + var original = {height: el.height(), width: el.width()}; // Save original + + // Adjust + var factor = percent / 100; + el.from = (mode == 'hide') ? original : {height: original.height * factor, width: original.width * factor}; + + // Animation + options.from = el.from; + options.percent = (mode == 'hide') ? percent : 100; + options.mode = mode; + + // Animate + el.effect('scale', options, o.duration, o.callback); + el.dequeue(); + }); + +}; + +$.effects.scale = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this); + + // Set options + var options = $.extend(true, {}, o.options); + var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode + var percent = parseInt(o.options.percent) || (parseInt(o.options.percent) == 0 ? 0 : (mode == 'hide' ? 0 : 100)); // Set default scaling percent + var direction = o.options.direction || 'both'; // Set default axis + var origin = o.options.origin; // The origin of the scaling + if (mode != 'effect') { // Set default origin and restore for show/hide + options.origin = origin || ['middle','center']; + options.restore = true; + } + var original = {height: el.height(), width: el.width()}; // Save original + el.from = o.options.from || (mode == 'show' ? {height: 0, width: 0} : original); // Default from state + + // Adjust + var factor = { // Set scaling factor + y: direction != 'horizontal' ? (percent / 100) : 1, + x: direction != 'vertical' ? (percent / 100) : 1 + }; + el.to = {height: original.height * factor.y, width: original.width * factor.x}; // Set to state + + if (o.options.fade) { // Fade option to support puff + if (mode == 'show') {el.from.opacity = 0; el.to.opacity = 1;}; + if (mode == 'hide') {el.from.opacity = 1; el.to.opacity = 0;}; + }; + + // Animation + options.from = el.from; options.to = el.to; options.mode = mode; + + // Animate + el.effect('size', options, o.duration, o.callback); + el.dequeue(); + }); + +}; + +$.effects.size = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','left','width','height','overflow','opacity']; + var props1 = ['position','top','left','overflow','opacity']; // Always restore + var props2 = ['width','height','overflow']; // Copy for children + var cProps = ['fontSize']; + var vProps = ['borderTopWidth', 'borderBottomWidth', 'paddingTop', 'paddingBottom']; + var hProps = ['borderLeftWidth', 'borderRightWidth', 'paddingLeft', 'paddingRight']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode + var restore = o.options.restore || false; // Default restore + var scale = o.options.scale || 'both'; // Default scale mode + var origin = o.options.origin; // The origin of the sizing + var original = {height: el.height(), width: el.width()}; // Save original + el.from = o.options.from || original; // Default from state + el.to = o.options.to || original; // Default to state + // Adjust + if (origin) { // Calculate baseline shifts + var baseline = $.effects.getBaseline(origin, original); + el.from.top = (original.height - el.from.height) * baseline.y; + el.from.left = (original.width - el.from.width) * baseline.x; + el.to.top = (original.height - el.to.height) * baseline.y; + el.to.left = (original.width - el.to.width) * baseline.x; + }; + var factor = { // Set scaling factor + from: {y: el.from.height / original.height, x: el.from.width / original.width}, + to: {y: el.to.height / original.height, x: el.to.width / original.width} + }; + if (scale == 'box' || scale == 'both') { // Scale the css box + if (factor.from.y != factor.to.y) { // Vertical props scaling + props = props.concat(vProps); + el.from = $.effects.setTransition(el, vProps, factor.from.y, el.from); + el.to = $.effects.setTransition(el, vProps, factor.to.y, el.to); + }; + if (factor.from.x != factor.to.x) { // Horizontal props scaling + props = props.concat(hProps); + el.from = $.effects.setTransition(el, hProps, factor.from.x, el.from); + el.to = $.effects.setTransition(el, hProps, factor.to.x, el.to); + }; + }; + if (scale == 'content' || scale == 'both') { // Scale the content + if (factor.from.y != factor.to.y) { // Vertical props scaling + props = props.concat(cProps); + el.from = $.effects.setTransition(el, cProps, factor.from.y, el.from); + el.to = $.effects.setTransition(el, cProps, factor.to.y, el.to); + }; + }; + $.effects.save(el, restore ? props : props1); el.show(); // Save & Show + $.effects.createWrapper(el); // Create Wrapper + el.css('overflow','hidden').css(el.from); // Shift + + // Animate + if (scale == 'content' || scale == 'both') { // Scale the children + vProps = vProps.concat(['marginTop','marginBottom']).concat(cProps); // Add margins/font-size + hProps = hProps.concat(['marginLeft','marginRight']); // Add margins + props2 = props.concat(vProps).concat(hProps); // Concat + el.find("*[width]").each(function(){ + child = $(this); + if (restore) $.effects.save(child, props2); + var c_original = {height: child.height(), width: child.width()}; // Save original + child.from = {height: c_original.height * factor.from.y, width: c_original.width * factor.from.x}; + child.to = {height: c_original.height * factor.to.y, width: c_original.width * factor.to.x}; + if (factor.from.y != factor.to.y) { // Vertical props scaling + child.from = $.effects.setTransition(child, vProps, factor.from.y, child.from); + child.to = $.effects.setTransition(child, vProps, factor.to.y, child.to); + }; + if (factor.from.x != factor.to.x) { // Horizontal props scaling + child.from = $.effects.setTransition(child, hProps, factor.from.x, child.from); + child.to = $.effects.setTransition(child, hProps, factor.to.x, child.to); + }; + child.css(child.from); // Shift children + child.animate(child.to, o.duration, o.options.easing, function(){ + if (restore) $.effects.restore(child, props2); // Restore children + }); // Animate children + }); + }; + + // Animate + el.animate(el.to, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { + if(mode == 'hide') el.hide(); // Hide + $.effects.restore(el, restore ? props : props1); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(this, arguments); // Callback + el.dequeue(); + }}); + + }); + +}; + +})(jQuery); +/* + * jQuery UI Effects Shake @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Shake + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.shake = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','left']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode + var direction = o.options.direction || 'left'; // Default direction + var distance = o.options.distance || 20; // Default distance + var times = o.options.times || 3; // Default # of times + var speed = o.duration || o.options.duration || 140; // Default speed per shake + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + $.effects.createWrapper(el); // Create Wrapper + var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; + var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; + + // Animation + var animation = {}, animation1 = {}, animation2 = {}; + animation[ref] = (motion == 'pos' ? '-=' : '+=') + distance; + animation1[ref] = (motion == 'pos' ? '+=' : '-=') + distance * 2; + animation2[ref] = (motion == 'pos' ? '-=' : '+=') + distance * 2; + + // Animate + el.animate(animation, speed, o.options.easing); + for (var i = 1; i < times; i++) { // Shakes + el.animate(animation1, speed, o.options.easing).animate(animation2, speed, o.options.easing); + }; + el.animate(animation1, speed, o.options.easing). + animate(animation, speed / 2, o.options.easing, function(){ // Last shake + $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(this, arguments); // Callback + }); + el.queue('fx', function() { el.dequeue(); }); + el.dequeue(); + }); + +}; + +})(jQuery); +/* + * jQuery UI Effects Slide @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Slide + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.slide = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','left']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode + var direction = o.options.direction || 'left'; // Default Direction + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper + var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; + var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; + var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) : el.outerWidth({margin:true})); + if (mode == 'show') el.css(ref, motion == 'pos' ? -distance : distance); // Shift + + // Animation + var animation = {}; + animation[ref] = (mode == 'show' ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance; + + // Animate + el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { + if(mode == 'hide') el.hide(); // Hide + $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(this, arguments); // Callback + el.dequeue(); + }}); + + }); + +}; + +})(jQuery); +/* + * jQuery UI Effects Transfer @VERSION + * + * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Effects/Transfer + * + * Depends: + * effects.core.js + */ +(function($) { + +$.effects.transfer = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this); + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode + var target = $(o.options.to); // Find Target + var position = el.offset(); + var transfer = $('
').appendTo(document.body); + if(o.options.className) transfer.addClass(o.options.className); + + // Set target css + transfer.addClass(o.options.className); + transfer.css({ + top: position.top, + left: position.left, + height: el.outerHeight() - parseInt(transfer.css('borderTopWidth')) - parseInt(transfer.css('borderBottomWidth')), + width: el.outerWidth() - parseInt(transfer.css('borderLeftWidth')) - parseInt(transfer.css('borderRightWidth')), + position: 'absolute' + }); + + // Animation + position = target.offset(); + animation = { + top: position.top, + left: position.left, + height: target.outerHeight() - parseInt(transfer.css('borderTopWidth')) - parseInt(transfer.css('borderBottomWidth')), + width: target.outerWidth() - parseInt(transfer.css('borderLeftWidth')) - parseInt(transfer.css('borderRightWidth')) + }; + + // Animate + transfer.animate(animation, o.duration, o.options.easing, function() { + transfer.remove(); // Remove div + if(o.callback) o.callback.apply(el[0], arguments); // Callback + el.dequeue(); + }); + + }); + +}; + +})(jQuery); +/* + * jQuery UI Accordion @VERSION + * + * Copyright (c) 2007, 2008 Jörn Zaefferer + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Accordion + * + * Depends: + * ui.core.js + */ +(function($) { + +$.widget("ui.accordion", { + _init: function() { + var options = this.options; + + if ( options.navigation ) { + var current = this.element.find("a").filter(options.navigationFilter); + if ( current.length ) { + if ( current.filter(options.header).length ) { + options.active = current; + } else { + options.active = current.parent().parent().prev(); + current.addClass("current"); + } + } + } + + // calculate active if not specified, using the first header + options.headers = this.element.find(options.header); + options.active = findActive(options.headers, options.active); + + // IE7-/Win - Extra vertical space in Lists fixed + if ($.browser.msie) { + this.element.find('a').css('zoom', '1'); + } + + if (!this.element.hasClass("ui-accordion")) { + this.element.addClass("ui-accordion"); + $('').insertBefore(options.headers); + $('').appendTo(options.headers); + options.headers.addClass("ui-accordion-header").attr("tabindex", "0"); + } + + var maxHeight; + if ( options.fillSpace ) { + maxHeight = this.element.parent().height(); + options.headers.each(function() { + maxHeight -= $(this).outerHeight(); + }); + var maxPadding = 0; + options.headers.next().each(function() { + maxPadding = Math.max(maxPadding, $(this).innerHeight() - $(this).height()); + }).height(maxHeight - maxPadding); + } else if ( options.autoHeight ) { + maxHeight = 0; + options.headers.next().each(function() { + maxHeight = Math.max(maxHeight, $(this).outerHeight()); + }).height(maxHeight); + } + + options.headers + .not(options.active || "") + .next() + .hide(); + options.active.parent().andSelf().addClass(options.selectedClass); + + if (options.event) { + this.element.bind((options.event) + ".accordion", clickHandler); + } + }, + activate: function(index) { + // call clickHandler with custom event + clickHandler.call(this.element[0], { + target: findActive( this.options.headers, index )[0] + }); + }, + destroy: function() { + this.options.headers.next().css("display", ""); + if ( this.options.fillSpace || this.options.autoHeight ) { + this.options.headers.next().css("height", ""); + } + $.removeData(this.element[0], "accordion"); + this.element.removeClass("ui-accordion").unbind(".accordion"); + } +}); + +function scopeCallback(callback, scope) { + return function() { + return callback.apply(scope, arguments); + }; +}; + +function completed(cancel) { + // if removed while animated data can be empty + if (!$.data(this, "accordion")) { + return; + } + + var instance = $.data(this, "accordion"); + var options = instance.options; + options.running = cancel ? 0 : --options.running; + if ( options.running ) { + return; + } + if ( options.clearStyle ) { + options.toShow.add(options.toHide).css({ + height: "", + overflow: "" + }); + } + instance._trigger('change', null, options.data); +} + +function toggle(toShow, toHide, data, clickedActive, down) { + var options = $.data(this, "accordion").options; + options.toShow = toShow; + options.toHide = toHide; + options.data = data; + var complete = scopeCallback(completed, this); + + $.data(this, "accordion")._trigger("changestart", null, options.data); + + // count elements to animate + options.running = toHide.size() === 0 ? toShow.size() : toHide.size(); + + if ( options.animated ) { + if ( !options.alwaysOpen && clickedActive ) { + $.ui.accordion.animations[options.animated]({ + toShow: jQuery([]), + toHide: toHide, + complete: complete, + down: down, + autoHeight: options.autoHeight + }); + } else { + $.ui.accordion.animations[options.animated]({ + toShow: toShow, + toHide: toHide, + complete: complete, + down: down, + autoHeight: options.autoHeight + }); + } + } else { + if ( !options.alwaysOpen && clickedActive ) { + toShow.toggle(); + } else { + toHide.hide(); + toShow.show(); + } + complete(true); + } +} + +function clickHandler(event) { + var options = $.data(this, "accordion").options; + if (options.disabled) { + return false; + } + + // called only when using activate(false) to close all parts programmatically + if ( !event.target && !options.alwaysOpen ) { + options.active.parent().andSelf().toggleClass(options.selectedClass); + var toHide = options.active.next(), + data = { + options: options, + newHeader: jQuery([]), + oldHeader: options.active, + newContent: jQuery([]), + oldContent: toHide + }, + toShow = (options.active = $([])); + toggle.call(this, toShow, toHide, data ); + return false; + } + // get the click target + var clicked = $(event.target); + + // due to the event delegation model, we have to check if one + // of the parent elements is our actual header, and find that + // otherwise stick with the initial target + clicked = $( clicked.parents(options.header)[0] || clicked ); + + var clickedActive = clicked[0] == options.active[0]; + + // if animations are still active, or the active header is the target, ignore click + if (options.running || (options.alwaysOpen && clickedActive)) { + return false; + } + if (!clicked.is(options.header)) { + return; + } + + // switch classes + options.active.parent().andSelf().toggleClass(options.selectedClass); + if ( !clickedActive ) { + clicked.parent().andSelf().addClass(options.selectedClass); + } + + // find elements to show and hide + var toShow = clicked.next(), + toHide = options.active.next(), + data = { + options: options, + newHeader: clickedActive && !options.alwaysOpen ? $([]) : clicked, + oldHeader: options.active, + newContent: clickedActive && !options.alwaysOpen ? $([]) : toShow, + oldContent: toHide + }, + down = options.headers.index( options.active[0] ) > options.headers.index( clicked[0] ); + + options.active = clickedActive ? $([]) : clicked; + toggle.call(this, toShow, toHide, data, clickedActive, down ); + + return false; +}; + +function findActive(headers, selector) { + return selector + ? typeof selector == "number" + ? headers.filter(":eq(" + selector + ")") + : headers.not(headers.not(selector)) + : selector === false + ? $([]) + : headers.filter(":eq(0)"); +} + +$.extend($.ui.accordion, { + defaults: { + selectedClass: "selected", + alwaysOpen: true, + animated: 'slide', + event: "click", + header: "a", + autoHeight: true, + running: 0, + navigationFilter: function() { + return this.href.toLowerCase() == location.href.toLowerCase(); + } + }, + animations: { + slide: function(options, additions) { + options = $.extend({ + easing: "swing", + duration: 300 + }, options, additions); + if ( !options.toHide.size() ) { + options.toShow.animate({height: "show"}, options); + return; + } + var hideHeight = options.toHide.height(), + showHeight = options.toShow.height(), + difference = showHeight / hideHeight; + options.toShow.css({ height: 0, overflow: 'hidden' }).show(); + options.toHide.filter(":hidden").each(options.complete).end().filter(":visible").animate({height:"hide"},{ + step: function(now) { + var current = (hideHeight - now) * difference; + if ($.browser.msie || $.browser.opera) { + current = Math.ceil(current); + } + options.toShow.height( current ); + }, + duration: options.duration, + easing: options.easing, + complete: function() { + if ( !options.autoHeight ) { + options.toShow.css("height", "auto"); + } + options.complete(); + } + }); + }, + bounceslide: function(options) { + this.slide(options, { + easing: options.down ? "bounceout" : "swing", + duration: options.down ? 1000 : 200 + }); + }, + easeslide: function(options) { + this.slide(options, { + easing: "easeinout", + duration: 700 + }); + } + } +}); + +})(jQuery); +/* + * jQuery UI Autocomplete @VERSION + * + * Copyright (c) 2007, 2008 Dylan Verheul, Dan G. Switzer, Anjesh Tuladhar, Jörn Zaefferer + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Autocomplete + * + * Depends: + * ui.core.js + */ +(function($) { + +$.widget("ui.autocomplete", { + + _init: function() { + + $.extend(this.options, { + delay: this.options.url ? $.Autocompleter.defaults.delay : 10, + max: !this.options.scroll ? 10 : 150, + highlight: this.options.highlight || function(value) { return value; }, // if highlight is set to false, replace it with a do-nothing function + formatMatch: this.options.formatMatch || this.options.formatItem // if the formatMatch option is not specified, then use formatItem for backwards compatibility + }); + + new $.Autocompleter(this.element[0], this.options); + + }, + + result: function(handler) { + return this.element.bind("result", handler); + }, + search: function(handler) { + return this.element.trigger("search", [handler]); + }, + flushCache: function() { + return this.element.trigger("flushCache"); + }, + setData: function(key, value){ + return this.element.trigger("setOptions", [{ key: value }]); + }, + destroy: function() { + return this.element.trigger("unautocomplete"); + } + +}); + +$.Autocompleter = function(input, options) { + + var KEY = { + UP: 38, + DOWN: 40, + DEL: 46, + TAB: 9, + RETURN: 13, + ESC: 27, + COMMA: 188, + PAGEUP: 33, + PAGEDOWN: 34, + BACKSPACE: 8 + }; + + // Create $ object for input element + var $input = $(input).attr("autocomplete", "off").addClass(options.inputClass); + if(options.result) $input.bind('result.autocomplete', options.result); + + var timeout; + var previousValue = ""; + var cache = $.Autocompleter.Cache(options); + var hasFocus = 0; + var lastKeyPressCode; + var config = { + mouseDownOnSelect: false + }; + var select = $.Autocompleter.Select(options, input, selectCurrent, config); + + var blockSubmit; + + // prevent form submit in opera when selecting with return key + $.browser.opera && $(input.form).bind("submit.autocomplete", function() { + if (blockSubmit) { + blockSubmit = false; + return false; + } + }); + + // only opera doesn't trigger keydown multiple times while pressed, others don't work with keypress at all + $input.bind(($.browser.opera ? "keypress" : "keydown") + ".autocomplete", function(event) { + // track last key pressed + lastKeyPressCode = event.keyCode; + switch(event.keyCode) { + + case KEY.UP: + event.preventDefault(); + if ( select.visible() ) { + select.prev(); + } else { + onChange(0, true); + } + break; + + case KEY.DOWN: + event.preventDefault(); + if ( select.visible() ) { + select.next(); + } else { + onChange(0, true); + } + break; + + case KEY.PAGEUP: + event.preventDefault(); + if ( select.visible() ) { + select.pageUp(); + } else { + onChange(0, true); + } + break; + + case KEY.PAGEDOWN: + event.preventDefault(); + if ( select.visible() ) { + select.pageDown(); + } else { + onChange(0, true); + } + break; + + // matches also semicolon + case options.multiple && $.trim(options.multipleSeparator) == "," && KEY.COMMA: + case KEY.TAB: + case KEY.RETURN: + if( selectCurrent() ) { + // stop default to prevent a form submit, Opera needs special handling + event.preventDefault(); + blockSubmit = true; + return false; + } + break; + + case KEY.ESC: + select.hide(); + break; + + default: + clearTimeout(timeout); + timeout = setTimeout(onChange, options.delay); + break; + } + }).focus(function(){ + // track whether the field has focus, we shouldn't process any + // results if the field no longer has focus + hasFocus++; + }).blur(function() { + hasFocus = 0; + if (!config.mouseDownOnSelect) { + hideResults(); + } + }).click(function() { + // show select when clicking in a focused field + if ( hasFocus++ > 1 && !select.visible() ) { + onChange(0, true); + } + }).bind("search", function() { + // TODO why not just specifying both arguments? + var fn = (arguments.length > 1) ? arguments[1] : null; + function findValueCallback(q, data) { + var result; + if( data && data.length ) { + for (var i=0; i < data.length; i++) { + if( data[i].result.toLowerCase() == q.toLowerCase() ) { + result = data[i]; + break; + } + } + } + if( typeof fn == "function" ) fn(result); + else $input.trigger("result", result && [result.data, result.value]); + } + $.each(trimWords($input.val()), function(i, value) { + request(value, findValueCallback, findValueCallback); + }); + }).bind("flushCache", function() { + cache.flush(); + }).bind("setOptions", function() { + $.extend(options, arguments[1]); + // if we've updated the data, repopulate + if ( "data" in arguments[1] ) + cache.populate(); + }).bind("unautocomplete", function() { + select.unbind(); + $input.unbind(); + $(input.form).unbind(".autocomplete"); + }); + + + function selectCurrent() { + var selected = select.selected(); + if( !selected ) + return false; + + var v = selected.result; + previousValue = v; + + if ( options.multiple ) { + var words = trimWords($input.val()); + if ( words.length > 1 ) { + v = words.slice(0, words.length - 1).join( options.multipleSeparator ) + options.multipleSeparator + v; + } + v += options.multipleSeparator; + } + + $input.val(v); + hideResultsNow(); + $input.trigger("result", [selected.data, selected.value]); + return true; + } + + function onChange(crap, skipPrevCheck) { + if( lastKeyPressCode == KEY.DEL ) { + select.hide(); + return; + } + + var currentValue = $input.val(); + + if ( !skipPrevCheck && currentValue == previousValue ) + return; + + previousValue = currentValue; + + currentValue = lastWord(currentValue); + if ( currentValue.length >= options.minChars) { + $input.addClass(options.loadingClass); + if (!options.matchCase) + currentValue = currentValue.toLowerCase(); + request(currentValue, receiveData, hideResultsNow); + } else { + stopLoading(); + select.hide(); + } + }; + + function trimWords(value) { + if ( !value ) { + return [""]; + } + var words = value.split( options.multipleSeparator ); + var result = []; + $.each(words, function(i, value) { + if ( $.trim(value) ) + result[i] = $.trim(value); + }); + return result; + } + + function lastWord(value) { + if ( !options.multiple ) + return value; + var words = trimWords(value); + return words[words.length - 1]; + } + + // fills in the input box w/the first match (assumed to be the best match) + // q: the term entered + // sValue: the first matching result + function autoFill(q, sValue){ + // autofill in the complete box w/the first match as long as the user hasn't entered in more data + // if the last user key pressed was backspace, don't autofill + if( options.autoFill && (lastWord($input.val()).toLowerCase() == q.toLowerCase()) && lastKeyPressCode != KEY.BACKSPACE ) { + // fill in the value (keep the case the user has typed) + $input.val($input.val() + sValue.substring(lastWord(previousValue).length)); + // select the portion of the value not typed by the user (so the next character will erase) + $.Autocompleter.Selection(input, previousValue.length, previousValue.length + sValue.length); + } + }; + + function hideResults() { + clearTimeout(timeout); + timeout = setTimeout(hideResultsNow, 200); + }; + + function hideResultsNow() { + var wasVisible = select.visible(); + select.hide(); + clearTimeout(timeout); + stopLoading(); + if (options.mustMatch) { + // call search and run callback + $input.autocomplete("search", function (result){ + // if no value found, clear the input box + if( !result ) { + if (options.multiple) { + var words = trimWords($input.val()).slice(0, -1); + $input.val( words.join(options.multipleSeparator) + (words.length ? options.multipleSeparator : "") ); + } + else + $input.val( "" ); + } + } + ); + } + if (wasVisible) + // position cursor at end of input field + $.Autocompleter.Selection(input, input.value.length, input.value.length); + }; + + function receiveData(q, data) { + if ( data && data.length && hasFocus ) { + stopLoading(); + select.display(data, q); + autoFill(q, data[0].value); + select.show(); + } else { + hideResultsNow(); + } + }; + + function request(term, success, failure) { + if (!options.matchCase) + term = term.toLowerCase(); + var data = cache.load(term); + // recieve the cached data + if (data && data.length) { + success(term, data); + // if an AJAX url has been supplied, try loading the data now + + } else if( (typeof options.url == "string") && (options.url.length > 0) ){ + + var extraParams = { + timestamp: +new Date() + }; + $.each(options.extraParams, function(key, param) { + extraParams[key] = typeof param == "function" ? param() : param; + }); + + $.ajax({ + // try to leverage ajaxQueue plugin to abort previous requests + mode: "abort", + // limit abortion to this input + port: "autocomplete" + input.name, + dataType: options.dataType, + url: options.url, + data: $.extend({ + q: lastWord(term), + limit: options.max + }, extraParams), + success: function(data) { + var parsed = options.parse && options.parse(data) || parse(data); + cache.add(term, parsed); + success(term, parsed); + } + }); + } + + else if (options.source && typeof options.source == 'function') { + var resultData = options.source(term); + var parsed = (options.parse) ? options.parse(resultData) : resultData; + + cache.add(term, parsed); + success(term, parsed); + } else { + // if we have a failure, we need to empty the list -- this prevents the the [TAB] key from selecting the last successful match + select.emptyList(); + failure(term); + } + }; + + function parse(data) { + var parsed = []; + var rows = data.split("\n"); + for (var i=0; i < rows.length; i++) { + var row = $.trim(rows[i]); + if (row) { + row = row.split("|"); + parsed[parsed.length] = { + data: row, + value: row[0], + result: options.formatResult && options.formatResult(row, row[0]) || row[0] + }; + } + } + return parsed; + }; + + function stopLoading() { + $input.removeClass(options.loadingClass); + }; + +}; + +$.Autocompleter.defaults = { + inputClass: "ui-autocomplete-input", + resultsClass: "ui-autocomplete-results", + loadingClass: "ui-autocomplete-loading", + minChars: 1, + delay: 400, + matchCase: false, + matchSubset: true, + matchContains: false, + cacheLength: 10, + max: 100, + mustMatch: false, + extraParams: {}, + selectFirst: true, + formatItem: function(row) { return row[0]; }, + formatMatch: null, + autoFill: false, + width: 0, + multiple: false, + multipleSeparator: ", ", + highlight: function(value, term) { + return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "$1"); + }, + scroll: true, + scrollHeight: 180 +}; + +$.extend($.ui.autocomplete, { + defaults: $.Autocompleter.defaults +}); + +$.Autocompleter.Cache = function(options) { + + var data = {}; + var length = 0; + + function matchSubset(s, sub) { + if (!options.matchCase) + s = s.toLowerCase(); + var i = s.indexOf(sub); + if (i == -1) return false; + return i == 0 || options.matchContains; + }; + + function add(q, value) { + if (length > options.cacheLength){ + flush(); + } + if (!data[q]){ + length++; + } + data[q] = value; + } + + function populate(){ + if( !options.data ) return false; + // track the matches + var stMatchSets = {}, + nullData = 0; + + // no url was specified, we need to adjust the cache length to make sure it fits the local data store + if( !options.url ) options.cacheLength = 1; + + // track all options for minChars = 0 + stMatchSets[""] = []; + + // loop through the array and create a lookup structure + for ( var i = 0, ol = options.data.length; i < ol; i++ ) { + var rawValue = options.data[i]; + // if rawValue is a string, make an array otherwise just reference the array + rawValue = (typeof rawValue == "string") ? [rawValue] : rawValue; + + var value = options.formatMatch(rawValue, i+1, options.data.length); + if ( value === false ) + continue; + + var firstChar = value.charAt(0).toLowerCase(); + // if no lookup array for this character exists, look it up now + if( !stMatchSets[firstChar] ) + stMatchSets[firstChar] = []; + + // if the match is a string + var row = { + value: value, + data: rawValue, + result: options.formatResult && options.formatResult(rawValue) || value + }; + + // push the current match into the set list + stMatchSets[firstChar].push(row); + + // keep track of minChars zero items + if ( nullData++ < options.max ) { + stMatchSets[""].push(row); + } + }; + + // add the data items to the cache + $.each(stMatchSets, function(i, value) { + // increase the cache size + options.cacheLength++; + // add to the cache + add(i, value); + }); + } + + // populate any existing data + setTimeout(populate, 25); + + function flush(){ + data = {}; + length = 0; + } + + return { + flush: flush, + add: add, + populate: populate, + load: function(q) { + if (!options.cacheLength || !length) + return null; + /* + * if dealing w/local data and matchContains than we must make sure + * to loop through all the data collections looking for matches + */ + if( !options.url && options.matchContains ){ + // track all matches + var csub = []; + // loop through all the data grids for matches + for( var k in data ){ + // don't search through the stMatchSets[""] (minChars: 0) cache + // this prevents duplicates + if( k.length > 0 ){ + var c = data[k]; + $.each(c, function(i, x) { + // if we've got a match, add it to the array + if (matchSubset(x.value, q)) { + csub.push(x); + } + }); + } + } + return csub; + } else + // if the exact item exists, use it + if (data[q]){ + return data[q]; + } else + if (options.matchSubset) { + for (var i = q.length - 1; i >= options.minChars; i--) { + var c = data[q.substr(0, i)]; + if (c) { + var csub = []; + $.each(c, function(i, x) { + if (matchSubset(x.value, q)) { + csub[csub.length] = x; + } + }); + return csub; + } + } + } + return null; + } + }; +}; + +$.Autocompleter.Select = function (options, input, select, config) { + var CLASSES = { + ACTIVE: "ui-autocomplete-over" + }; + + var listItems, + active = -1, + data, + term = "", + needsInit = true, + element, + list; + + // Create results + function init() { + if (!needsInit) + return; + element = $("
") + .hide() + .addClass(options.resultsClass) + .css("position", "absolute") + .appendTo(document.body); + + list = $("
    ").appendTo(element).mouseover( function(event) { + if(target(event).nodeName && target(event).nodeName.toUpperCase() == 'LI') { + active = $("li", list).removeClass(CLASSES.ACTIVE).index(target(event)); + $(target(event)).addClass(CLASSES.ACTIVE); + } + }).click(function(event) { + $(target(event)).addClass(CLASSES.ACTIVE); + select(); + // TODO provide option to avoid setting focus again after selection? useful for cleanup-on-focus + input.focus(); + return false; + }).mousedown(function() { + config.mouseDownOnSelect = true; + }).mouseup(function() { + config.mouseDownOnSelect = false; + }); + + if( options.width > 0 ) + element.css("width", options.width); + + needsInit = false; + } + + function target(event) { + var element = event.target; + while(element && element.tagName != "LI") + element = element.parentNode; + // more fun with IE, sometimes event.target is empty, just ignore it then + if(!element) + return []; + return element; + } + + function moveSelect(step) { + listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE); + movePosition(step); + var activeItem = listItems.slice(active, active + 1).addClass(CLASSES.ACTIVE); + if(options.scroll) { + var offset = 0; + listItems.slice(0, active).each(function() { + offset += this.offsetHeight; + }); + if((offset + activeItem[0].offsetHeight - list.scrollTop()) > list[0].clientHeight) { + list.scrollTop(offset + activeItem[0].offsetHeight - list.innerHeight()); + } else if(offset < list.scrollTop()) { + list.scrollTop(offset); + } + } + }; + + function movePosition(step) { + active += step; + if (active < 0) { + active = listItems.size() - 1; + } else if (active >= listItems.size()) { + active = 0; + } + } + + function limitNumberOfItems(available) { + return options.max && options.max < available + ? options.max + : available; + } + + function fillList() { + list.empty(); + var max = limitNumberOfItems(data.length); + for (var i=0; i < max; i++) { + if (!data[i]) + continue; + var formatted = options.formatItem(data[i].data, i+1, max, data[i].value, term); + if ( formatted === false ) + continue; + var li = $("
  • ").html( options.highlight(formatted, term) ).addClass(i%2 == 0 ? "ui-autocomplete-even" : "ui-autocomplete-odd").appendTo(list)[0]; + $.data(li, "ui-autocomplete-data", data[i]); + } + listItems = list.find("li"); + if ( options.selectFirst ) { + listItems.slice(0, 1).addClass(CLASSES.ACTIVE); + active = 0; + } + // apply bgiframe if available + if ( $.fn.bgiframe ) + list.bgiframe(); + } + + return { + display: function(d, q) { + init(); + data = d; + term = q; + fillList(); + }, + next: function() { + moveSelect(1); + }, + prev: function() { + moveSelect(-1); + }, + pageUp: function() { + if (active != 0 && active - 8 < 0) { + moveSelect( -active ); + } else { + moveSelect(-8); + } + }, + pageDown: function() { + if (active != listItems.size() - 1 && active + 8 > listItems.size()) { + moveSelect( listItems.size() - 1 - active ); + } else { + moveSelect(8); + } + }, + hide: function() { + element && element.hide(); + listItems && listItems.removeClass(CLASSES.ACTIVE) + active = -1; + $(input).triggerHandler("autocompletehide", [{}, { options: options }], options["hide"]); + }, + visible : function() { + return element && element.is(":visible"); + }, + current: function() { + return this.visible() && (listItems.filter("." + CLASSES.ACTIVE)[0] || options.selectFirst && listItems[0]); + }, + show: function() { + var offset = $(input).offset(); + element.css({ + width: typeof options.width == "string" || options.width > 0 ? options.width : $(input).width(), + top: offset.top + input.offsetHeight, + left: offset.left + }).show(); + + if(options.scroll) { + list.scrollTop(0); + list.css({ + maxHeight: options.scrollHeight, + overflow: 'auto' + }); + + if($.browser.msie && typeof document.body.style.maxHeight === "undefined") { + var listHeight = 0; + listItems.each(function() { + listHeight += this.offsetHeight; + }); + var scrollbarsVisible = listHeight > options.scrollHeight; + list.css('height', scrollbarsVisible ? options.scrollHeight : listHeight ); + if (!scrollbarsVisible) { + // IE doesn't recalculate width when scrollbar disappears + listItems.width( list.width() - parseInt(listItems.css("padding-left")) - parseInt(listItems.css("padding-right")) ); + } + } + + } + + $(input).triggerHandler("autocompleteshow", [{}, { options: options }], options["show"]); + + }, + selected: function() { + var selected = listItems && listItems.filter("." + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE); + return selected && selected.length && $.data(selected[0], "ui-autocomplete-data"); + }, + emptyList: function (){ + list && list.empty(); + }, + unbind: function() { + element && element.remove(); + } + }; +}; + +$.Autocompleter.Selection = function(field, start, end) { + if( field.createTextRange ){ + var selRange = field.createTextRange(); + selRange.collapse(true); + selRange.moveStart("character", start); + selRange.moveEnd("character", end); + selRange.select(); + } else if( field.setSelectionRange ){ + field.setSelectionRange(start, end); + } else { + if( field.selectionStart ){ + field.selectionStart = start; + field.selectionEnd = end; + } + } + field.focus(); +}; + +})(jQuery); +/* + * jQuery UI Color Picker @VERSION + * + * Copyright (c) 2008 Stefan Petre, Paul Bakaus + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/ColorPicker + * + * Depends: + * ui.core.js + */ +(function ($) { + +$.widget("ui.colorpicker", { + + _init: function() { + + this.charMin = 65; + var o = this.options, self = this, + tpl = '
    '; + + if (typeof o.color == 'string') { + this.color = this._HexToHSB(o.color); + } else if (o.color.r != undefined && o.color.g != undefined && o.color.b != undefined) { + this.color = this._RGBToHSB(o.color); + } else if (o.color.h != undefined && o.color.s != undefined && o.color.b != undefined) { + this.color = this._fixHSB(o.color); + } else { + return this; + } + + this.origColor = this.color; + this.picker = $(tpl); + + if (o.flat) { + this.picker.appendTo(this.element).show(); + } else { + this.picker.appendTo(document.body); + } + + this.fields = this.picker.find('input') + .bind('keydown', function(e) { return self._keyDown.call(self, e); }) + .bind('change', function(e) { return self._change.call(self, e); }) + .bind('blur', function(e) { return self._blur.call(self, e); }) + .bind('focus', function(e) { return self._focus.call(self, e); }); + + this.picker.find('span').bind('mousedown', function(e) { return self._downIncrement.call(self, e); }); + + this.selector = this.picker.find('div.ui-colorpicker-color').bind('mousedown', function(e) { return self._downSelector.call(self, e); }); + this.selectorIndic = this.selector.find('div div'); + this.hue = this.picker.find('div.ui-colorpicker-hue div'); + this.picker.find('div.ui-colorpicker-hue').bind('mousedown', function(e) { return self._downHue.call(self, e); }); + + this.newColor = this.picker.find('div.ui-colorpicker-new-color'); + this.currentColor = this.picker.find('div.ui-colorpicker-current-color'); + + this.picker.find('.ui-colorpicker-submit') + .bind('mouseenter', function(e) { return self._enterSubmit.call(self, e); }) + .bind('mouseleave', function(e) { return self._leaveSubmit.call(self, e); }) + .bind('click', function(e) { return self._clickSubmit.call(self, e); }); + + this._fillRGBFields(this.color); + this._fillHSBFields(this.color); + this._fillHexFields(this.color); + this._setHue(this.color); + this._setSelector(this.color); + this._setCurrentColor(this.color); + this._setNewColor(this.color); + + if (o.flat) { + this.picker.css({ + position: 'relative', + display: 'block' + }); + } else { + $(this.element).bind(o.eventName+".colorpicker", function(e) { return self._show.call(self, e); }); + } + + }, + + destroy: function() { + + this.picker.remove(); + this.element.removeData("colorpicker").unbind(".colorpicker"); + + }, + + _fillRGBFields: function(hsb) { + var rgb = this._HSBToRGB(hsb); + this.fields + .eq(1).val(rgb.r).end() + .eq(2).val(rgb.g).end() + .eq(3).val(rgb.b).end(); + }, + _fillHSBFields: function(hsb) { + this.fields + .eq(4).val(hsb.h).end() + .eq(5).val(hsb.s).end() + .eq(6).val(hsb.b).end(); + }, + _fillHexFields: function (hsb) { + this.fields + .eq(0).val(this._HSBToHex(hsb)).end(); + }, + _setSelector: function(hsb) { + this.selector.css('backgroundColor', '#' + this._HSBToHex({h: hsb.h, s: 100, b: 100})); + this.selectorIndic.css({ + left: parseInt(150 * hsb.s/100, 10), + top: parseInt(150 * (100-hsb.b)/100, 10) + }); + }, + _setHue: function(hsb) { + this.hue.css('top', parseInt(150 - 150 * hsb.h/360, 10)); + }, + _setCurrentColor: function(hsb) { + this.currentColor.css('backgroundColor', '#' + this._HSBToHex(hsb)); + }, + _setNewColor: function(hsb) { + this.newColor.css('backgroundColor', '#' + this._HSBToHex(hsb)); + }, + _keyDown: function(e) { + var pressedKey = e.charCode || e.keyCode || -1; + if ((pressedKey >= this.charMin && pressedKey <= 90) || pressedKey == 32) { + return false; + } + }, + _change: function(e, target) { + + var col; + target = target || e.target; + if (target.parentNode.className.indexOf('-hex') > 0) { + this.color = col = this._HexToHSB(this.value); + this._fillRGBFields(col.color); + this._fillHSBFields(col); + } else if (target.parentNode.className.indexOf('-hsb') > 0) { + this.color = col = this._fixHSB({ + h: parseInt(this.fields.eq(4).val(), 10), + s: parseInt(this.fields.eq(5).val(), 10), + b: parseInt(this.fields.eq(6).val(), 10) + }); + this._fillRGBFields(col); + this._fillHexFields(col); + } else { + this.color = col = this._RGBToHSB(this._fixRGB({ + r: parseInt(this.fields.eq(1).val(), 10), + g: parseInt(this.fields.eq(2).val(), 10), + b: parseInt(this.fields.eq(3).val(), 10) + })); + this._fillHexFields(col); + this._fillHSBFields(col); + } + this._setSelector(col); + this._setHue(col); + this._setNewColor(col); + + this._trigger('change', e, { options: this.options, hsb: col, hex: this._HSBToHex(col), rgb: this._HSBToRGB(col) }); + }, + _blur: function(e) { + + var col = this.color; + this._fillRGBFields(col); + this._fillHSBFields(col); + this._fillHexFields(col); + this._setHue(col); + this._setSelector(col); + this._setNewColor(col); + this.fields.parent().removeClass('ui-colorpicker-focus'); + + }, + _focus: function(e) { + + this.charMin = e.target.parentNode.className.indexOf('-hex') > 0 ? 70 : 65; + this.fields.parent().removeClass('ui-colorpicker-focus'); + $(e.target.parentNode).addClass('ui-colorpicker-focus'); + + }, + _downIncrement: function(e) { + + var field = $(e.target).parent().find('input').focus(), self = this; + this.currentIncrement = { + el: $(e.target).parent().addClass('ui-colorpicker-slider'), + max: e.target.parentNode.className.indexOf('-hsb-h') > 0 ? 360 : (e.target.parentNode.className.indexOf('-hsb') > 0 ? 100 : 255), + y: e.pageY, + field: field, + val: parseInt(field.val(), 10) + }; + $(document).bind('mouseup.cpSlider', function(e) { return self._upIncrement.call(self, e); }); + $(document).bind('mousemove.cpSlider', function(e) { return self._moveIncrement.call(self, e); }); + return false; + + }, + _moveIncrement: function(e) { + this.currentIncrement.field.val(Math.max(0, Math.min(this.currentIncrement.max, parseInt(this.currentIncrement.val + e.pageY - this.currentIncrement.y, 10)))); + this._change.apply(this, [e, this.currentIncrement.field.get(0)]); + return false; + }, + _upIncrement: function(e) { + this.currentIncrement.el.removeClass('ui-colorpicker-slider').find('input').focus(); + this._change.apply(this, [e, this.currentIncrement.field.get(0)]); + $(document).unbind('mouseup.cpSlider'); + $(document).unbind('mousemove.cpSlider'); + return false; + }, + _downHue: function(e) { + + this.currentHue = { + y: this.picker.find('div.ui-colorpicker-hue').offset().top + }; + + this._change.apply(this, [e, this + .fields + .eq(4) + .val(parseInt(360*(150 - Math.max(0,Math.min(150,(e.pageY - this.currentHue.y))))/150, 10)) + .get(0)]); + + var self = this; + $(document).bind('mouseup.cpSlider', function(e) { return self._upHue.call(self, e); }); + $(document).bind('mousemove.cpSlider', function(e) { return self._moveHue.call(self, e); }); + return false; + + }, + _moveHue: function(e) { + + this._change.apply(this, [e, this + .fields + .eq(4) + .val(parseInt(360*(150 - Math.max(0,Math.min(150,(e.pageY - this.currentHue.y))))/150, 10)) + .get(0)]); + + return false; + + }, + _upHue: function(e) { + $(document).unbind('mouseup.cpSlider'); + $(document).unbind('mousemove.cpSlider'); + return false; + }, + _downSelector: function(e) { + + var self = this; + this.currentSelector = { + pos: this.picker.find('div.ui-colorpicker-color').offset() + }; + + this._change.apply(this, [e, this + .fields + .eq(6) + .val(parseInt(100*(150 - Math.max(0,Math.min(150,(e.pageY - this.currentSelector.pos.top))))/150, 10)) + .end() + .eq(5) + .val(parseInt(100*(Math.max(0,Math.min(150,(e.pageX - this.currentSelector.pos.left))))/150, 10)) + .get(0) + ]); + $(document).bind('mouseup.cpSlider', function(e) { return self._upSelector.call(self, e); }); + $(document).bind('mousemove.cpSlider', function(e) { return self._moveSelector.call(self, e); }); + return false; + + }, + _moveSelector: function(e) { + + this._change.apply(this, [e, this + .fields + .eq(6) + .val(parseInt(100*(150 - Math.max(0,Math.min(150,(e.pageY - this.currentSelector.pos.top))))/150, 10)) + .end() + .eq(5) + .val(parseInt(100*(Math.max(0,Math.min(150,(e.pageX - this.currentSelector.pos.left))))/150, 10)) + .get(0) + ]); + return false; + + }, + _upSelector: function(e) { + $(document).unbind('mouseup.cpSlider'); + $(document).unbind('mousemove.cpSlider'); + return false; + }, + _enterSubmit: function(e) { + this.picker.find('.ui-colorpicker-submit').addClass('ui-colorpicker-focus'); + }, + _leaveSubmit: function(e) { + this.picker.find('.ui-colorpicker-submit').removeClass('ui-colorpicker-focus'); + }, + _clickSubmit: function(e) { + + var col = this.color; + this.origColor = col; + this._setCurrentColor(col); + + this._trigger("submit", e, { options: this.options, hsb: col, hex: this._HSBToHex(col), rgb: this._HSBToRGB(col) }); + return false; + + }, + _show: function(e) { + + this._trigger("beforeShow", e, { options: this.options, hsb: this.color, hex: this._HSBToHex(this.color), rgb: this._HSBToRGB(this.color) }); + + var pos = this.element.offset(); + var viewPort = this._getScroll(); + var top = pos.top + this.element[0].offsetHeight; + var left = pos.left; + if (top + 176 > viewPort.t + Math.min(viewPort.h,viewPort.ih)) { + top -= this.element[0].offsetHeight + 176; + } + if (left + 356 > viewPort.l + Math.min(viewPort.w,viewPort.iw)) { + left -= 356; + } + this.picker.css({left: left + 'px', top: top + 'px'}); + if (this._trigger("show", e, { options: this.options, hsb: this.color, hex: this._HSBToHex(this.color), rgb: this._HSBToRGB(this.color) }) != false) { + this.picker.show(); + } + + var self = this; + $(document).bind('mousedown.colorpicker', function(e) { return self._hide.call(self, e); }); + return false; + + }, + _hide: function(e) { + + if (!this._isChildOf(this.picker[0], e.target, this.picker[0])) { + if (this._trigger("hide", e, { options: this.options, hsb: this.color, hex: this._HSBToHex(this.color), rgb: this._HSBToRGB(this.color) }) != false) { + this.picker.hide(); + } + $(document).unbind('mousedown.colorpicker'); + } + + }, + _isChildOf: function(parentEl, el, container) { + if (parentEl == el) { + return true; + } + if (parentEl.contains && !$.browser.safari) { + return parentEl.contains(el); + } + if ( parentEl.compareDocumentPosition ) { + return !!(parentEl.compareDocumentPosition(el) & 16); + } + var prEl = el.parentNode; + while(prEl && prEl != container) { + if (prEl == parentEl) + return true; + prEl = prEl.parentNode; + } + return false; + }, + _getScroll: function() { + var t,l,w,h,iw,ih; + if (document.documentElement) { + t = document.documentElement.scrollTop; + l = document.documentElement.scrollLeft; + w = document.documentElement.scrollWidth; + h = document.documentElement.scrollHeight; + } else { + t = document.body.scrollTop; + l = document.body.scrollLeft; + w = document.body.scrollWidth; + h = document.body.scrollHeight; + } + iw = self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth||0; + ih = self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0; + return { t: t, l: l, w: w, h: h, iw: iw, ih: ih }; + }, + _fixHSB: function(hsb) { + return { + h: Math.min(360, Math.max(0, hsb.h)), + s: Math.min(100, Math.max(0, hsb.s)), + b: Math.min(100, Math.max(0, hsb.b)) + }; + }, + _fixRGB: function(rgb) { + return { + r: Math.min(255, Math.max(0, rgb.r)), + g: Math.min(255, Math.max(0, rgb.g)), + b: Math.min(255, Math.max(0, rgb.b)) + }; + }, + _HexToRGB: function (hex) { + var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16); + return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)}; + }, + _HexToHSB: function(hex) { + return this._RGBToHSB(this._HexToRGB(hex)); + }, + _RGBToHSB: function(rgb) { + var hsb = {}; + hsb.b = Math.max(Math.max(rgb.r,rgb.g),rgb.b); + hsb.s = (hsb.b <= 0) ? 0 : Math.round(100*(hsb.b - Math.min(Math.min(rgb.r,rgb.g),rgb.b))/hsb.b); + hsb.b = Math.round((hsb.b /255)*100); + if((rgb.r==rgb.g) && (rgb.g==rgb.b)) hsb.h = 0; + else if(rgb.r>=rgb.g && rgb.g>=rgb.b) hsb.h = 60*(rgb.g-rgb.b)/(rgb.r-rgb.b); + else if(rgb.g>=rgb.r && rgb.r>=rgb.b) hsb.h = 60 + 60*(rgb.g-rgb.r)/(rgb.g-rgb.b); + else if(rgb.g>=rgb.b && rgb.b>=rgb.r) hsb.h = 120 + 60*(rgb.b-rgb.r)/(rgb.g-rgb.r); + else if(rgb.b>=rgb.g && rgb.g>=rgb.r) hsb.h = 180 + 60*(rgb.b-rgb.g)/(rgb.b-rgb.r); + else if(rgb.b>=rgb.r && rgb.r>=rgb.g) hsb.h = 240 + 60*(rgb.r-rgb.g)/(rgb.b-rgb.g); + else if(rgb.r>=rgb.b && rgb.b>=rgb.g) hsb.h = 300 + 60*(rgb.r-rgb.b)/(rgb.r-rgb.g); + else hsb.h = 0; + hsb.h = Math.round(hsb.h); + return hsb; + }, + _HSBToRGB: function(hsb) { + var rgb = {}; + var h = Math.round(hsb.h); + var s = Math.round(hsb.s*255/100); + var v = Math.round(hsb.b*255/100); + if(s == 0) { + rgb.r = rgb.g = rgb.b = v; + } else { + var t1 = v; + var t2 = (255-s)*v/255; + var t3 = (t1-t2)*(h%60)/60; + if(h==360) h = 0; + if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3;} + else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3;} + else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3;} + else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3;} + else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3;} + else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3;} + else {rgb.r=0; rgb.g=0; rgb.b=0;} + } + return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)}; + }, + _RGBToHex: function(rgb) { + var hex = [ + rgb.r.toString(16), + rgb.g.toString(16), + rgb.b.toString(16) + ]; + $.each(hex, function (nr, val) { + if (val.length == 1) { + hex[nr] = '0' + val; + } + }); + return hex.join(''); + }, + _HSBToHex: function(hsb) { + return this._RGBToHex(this._HSBToRGB(hsb)); + }, + setColor: function(col) { + if (typeof col == 'string') { + col = this._HexToHSB(col); + } else if (col.r != undefined && col.g != undefined && col.b != undefined) { + col = this._RGBToHSB(col); + } else if (col.h != undefined && col.s != undefined && col.b != undefined) { + col = this._fixHSB(col); + } else { + return this; + } + + this.color = col; + this.origColor = col; + this._fillRGBFields(col); + this._fillHSBFields(col); + this._fillHexFields(col); + this._setHue(col); + this._setSelector(col); + this._setCurrentColor(col); + this._setNewColor(col); + + } + +}); + +$.extend($.ui.colorpicker, { + defaults: { + eventName: 'click', + color: 'ff0000', + flat: false + } +}); + +})(jQuery);/* + * jQuery UI Datepicker @VERSION + * + * Copyright (c) 2006, 2007, 2008 Marc Grabanski + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Datepicker + * + * Depends: + * ui.core.js + * + * Marc Grabanski (m@marcgrabanski.com) and Keith Wood (kbwood@virginbroadband.com.au). + */ + +(function($) { // hide the namespace + +var PROP_NAME = 'datepicker'; + +/* Date picker manager. + Use the singleton instance of this class, $.datepicker, to interact with the date picker. + Settings for (groups of) date pickers are maintained in an instance object, + allowing multiple different settings on the same page. */ + +function Datepicker() { + this.debug = false; // Change this to true to start debugging + this._curInst = null; // The current instance in use + this._disabledInputs = []; // List of date picker inputs that have been disabled + this._datepickerShowing = false; // True if the popup picker is showing , false if not + this._inDialog = false; // True if showing within a "dialog", false if not + this._mainDivId = 'ui-datepicker-div'; // The ID of the main datepicker division + this._inlineClass = 'ui-datepicker-inline'; // The name of the inline marker class + this._appendClass = 'ui-datepicker-append'; // The name of the append marker class + this._triggerClass = 'ui-datepicker-trigger'; // The name of the trigger marker class + this._dialogClass = 'ui-datepicker-dialog'; // The name of the dialog marker class + this._promptClass = 'ui-datepicker-prompt'; // The name of the dialog prompt marker class + this._disableClass = 'ui-datepicker-disabled'; // The name of the disabled covering marker class + this._unselectableClass = 'ui-datepicker-unselectable'; // The name of the unselectable cell marker class + this._currentClass = 'ui-datepicker-current-day'; // The name of the current day marker class + this.regional = []; // Available regional settings, indexed by language code + this.regional[''] = { // Default regional settings + clearText: 'Clear', // Display text for clear link + clearStatus: 'Erase the current date', // Status text for clear link + closeText: 'Close', // Display text for close link + closeStatus: 'Close without change', // Status text for close link + prevText: '<Prev', // Display text for previous month link + prevStatus: 'Show the previous month', // Status text for previous month link + prevBigText: '<<', // Display text for previous year link + prevBigStatus: 'Show the previous year', // Status text for previous year link + nextText: 'Next>', // Display text for next month link + nextStatus: 'Show the next month', // Status text for next month link + nextBigText: '>>', // Display text for next year link + nextBigStatus: 'Show the next year', // Status text for next year link + currentText: 'Today', // Display text for current month link + currentStatus: 'Show the current month', // Status text for current month link + monthNames: ['January','February','March','April','May','June', + 'July','August','September','October','November','December'], // Names of months for drop-down and formatting + monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], // For formatting + monthStatus: 'Show a different month', // Status text for selecting a month + yearStatus: 'Show a different year', // Status text for selecting a year + weekHeader: 'Wk', // Header for the week of the year column + weekStatus: 'Week of the year', // Status text for the week of the year column + dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], // For formatting + dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], // For formatting + dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'], // Column headings for days starting at Sunday + dayStatus: 'Set DD as first week day', // Status text for the day of the week selection + dateStatus: 'Select DD, M d', // Status text for the date selection + dateFormat: 'mm/dd/yy', // See format options on parseDate + firstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ... + initStatus: 'Select a date', // Initial Status text on opening + isRTL: false // True if right-to-left language, false if left-to-right + }; + this._defaults = { // Global defaults for all the date picker instances + showOn: 'focus', // 'focus' for popup on focus, + // 'button' for trigger button, or 'both' for either + showAnim: 'show', // Name of jQuery animation for popup + showOptions: {}, // Options for enhanced animations + defaultDate: null, // Used when field is blank: actual date, + // +/-number for offset from today, null for today + appendText: '', // Display text following the input box, e.g. showing the format + buttonText: '...', // Text for trigger button + buttonImage: '', // URL for trigger button image + buttonImageOnly: false, // True if the image appears alone, false if it appears on a button + closeAtTop: true, // True to have the clear/close at the top, + // false to have them at the bottom + mandatory: false, // True to hide the Clear link, false to include it + hideIfNoPrevNext: false, // True to hide next/previous month links + // if not applicable, false to just disable them + navigationAsDateFormat: false, // True if date formatting applied to prev/today/next links + showBigPrevNext: false, // True to show big prev/next links + gotoCurrent: false, // True if today link goes back to current selection instead + changeMonth: true, // True if month can be selected directly, false if only prev/next + changeYear: true, // True if year can be selected directly, false if only prev/next + showMonthAfterYear: false, // True if the year select precedes month, false for month then year + yearRange: '-10:+10', // Range of years to display in drop-down, + // either relative to current year (-nn:+nn) or absolute (nnnn:nnnn) + changeFirstDay: true, // True to click on day name to change, false to remain as set + highlightWeek: false, // True to highlight the selected week + showOtherMonths: false, // True to show dates in other months, false to leave blank + showWeeks: false, // True to show week of the year, false to omit + calculateWeek: this.iso8601Week, // How to calculate the week of the year, + // takes a Date and returns the number of the week for it + shortYearCutoff: '+10', // Short year values < this are in the current century, + // > this are in the previous century, + // string value starting with '+' for current year + value + showStatus: false, // True to show status bar at bottom, false to not show it + statusForDate: this.dateStatus, // Function to provide status text for a date - + // takes date and instance as parameters, returns display text + minDate: null, // The earliest selectable date, or null for no limit + maxDate: null, // The latest selectable date, or null for no limit + duration: 'normal', // Duration of display/closure + beforeShowDay: null, // Function that takes a date and returns an array with + // [0] = true if selectable, false if not, [1] = custom CSS class name(s) or '', + // [2] = cell title (optional), e.g. $.datepicker.noWeekends + beforeShow: null, // Function that takes an input field and + // returns a set of custom settings for the date picker + onSelect: null, // Define a callback function when a date is selected + onChangeMonthYear: null, // Define a callback function when the month or year is changed + onClose: null, // Define a callback function when the datepicker is closed + numberOfMonths: 1, // Number of months to show at a time + showCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0) + stepMonths: 1, // Number of months to step back/forward + stepBigMonths: 12, // Number of months to step back/forward for the big links + rangeSelect: false, // Allows for selecting a date range on one date picker + rangeSeparator: ' - ', // Text between two dates in a range + altField: '', // Selector for an alternate field to store selected dates into + altFormat: '' // The date format to use for the alternate field + }; + $.extend(this._defaults, this.regional['']); + this.dpDiv = $(''); +} + +$.extend(Datepicker.prototype, { + /* Class name added to elements to indicate already configured with a date picker. */ + markerClassName: 'hasDatepicker', + + /* Debug logging (if enabled). */ + log: function () { + if (this.debug) + console.log.apply('', arguments); + }, + + /* Override the default settings for all instances of the date picker. + @param settings object - the new settings to use as defaults (anonymous object) + @return the manager object */ + setDefaults: function(settings) { + extendRemove(this._defaults, settings || {}); + return this; + }, + + /* Attach the date picker to a jQuery selection. + @param target element - the target input field or division or span + @param settings object - the new settings to use for this date picker instance (anonymous) */ + _attachDatepicker: function(target, settings) { + // check for settings on the control itself - in namespace 'date:' + var inlineSettings = null; + for (attrName in this._defaults) { + var attrValue = target.getAttribute('date:' + attrName); + if (attrValue) { + inlineSettings = inlineSettings || {}; + try { + inlineSettings[attrName] = eval(attrValue); + } catch (err) { + inlineSettings[attrName] = attrValue; + } + } + } + var nodeName = target.nodeName.toLowerCase(); + var inline = (nodeName == 'div' || nodeName == 'span'); + if (!target.id) + target.id = 'dp' + (++this.uuid); + var inst = this._newInst($(target), inline); + inst.settings = $.extend({}, settings || {}, inlineSettings || {}); + if (nodeName == 'input') { + this._connectDatepicker(target, inst); + } else if (inline) { + this._inlineDatepicker(target, inst); + } + }, + + /* Create a new instance object. */ + _newInst: function(target, inline) { + var id = target[0].id.replace(/([:\[\]\.])/g, '\\\\$1'); // escape jQuery meta chars + return {id: id, input: target, // associated target + selectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection + drawMonth: 0, drawYear: 0, // month being drawn + inline: inline, // is datepicker inline or not + dpDiv: (!inline ? this.dpDiv : // presentation div + $('
    '))}; + }, + + /* Attach the date picker to an input field. */ + _connectDatepicker: function(target, inst) { + var input = $(target); + if (input.hasClass(this.markerClassName)) + return; + var appendText = this._get(inst, 'appendText'); + var isRTL = this._get(inst, 'isRTL'); + if (appendText) + input[isRTL ? 'before' : 'after']('' + appendText + ''); + var showOn = this._get(inst, 'showOn'); + if (showOn == 'focus' || showOn == 'both') // pop-up date picker when in the marked field + input.focus(this._showDatepicker); + if (showOn == 'button' || showOn == 'both') { // pop-up date picker when button clicked + var buttonText = this._get(inst, 'buttonText'); + var buttonImage = this._get(inst, 'buttonImage'); + var trigger = $(this._get(inst, 'buttonImageOnly') ? + $('').addClass(this._triggerClass). + attr({ src: buttonImage, alt: buttonText, title: buttonText }) : + $('').addClass(this._triggerClass). + html(buttonImage == '' ? buttonText : $('').attr( + { src:buttonImage, alt:buttonText, title:buttonText }))); + input[isRTL ? 'before' : 'after'](trigger); + trigger.click(function() { + if ($.datepicker._datepickerShowing && $.datepicker._lastInput == target) + $.datepicker._hideDatepicker(); + else + $.datepicker._showDatepicker(target); + return false; + }); + } + input.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress). + bind("setData.datepicker", function(event, key, value) { + inst.settings[key] = value; + }).bind("getData.datepicker", function(event, key) { + return this._get(inst, key); + }); + $.data(target, PROP_NAME, inst); + }, + + /* Attach an inline date picker to a div. */ + _inlineDatepicker: function(target, inst) { + var divSpan = $(target); + if (divSpan.hasClass(this.markerClassName)) + return; + divSpan.addClass(this.markerClassName).append(inst.dpDiv). + bind("setData.datepicker", function(event, key, value){ + inst.settings[key] = value; + }).bind("getData.datepicker", function(event, key){ + return this._get(inst, key); + }); + $.data(target, PROP_NAME, inst); + this._setDate(inst, this._getDefaultDate(inst)); + this._updateDatepicker(inst); + }, + + /* Tidy up after displaying the date picker. */ + _inlineShow: function(inst) { + var numMonths = this._getNumberOfMonths(inst); // fix width for dynamic number of date pickers + inst.dpDiv.width(numMonths[1] * $('.ui-datepicker', inst.dpDiv[0]).width()); + }, + + /* Pop-up the date picker in a "dialog" box. + @param input element - ignored + @param dateText string - the initial date to display (in the current format) + @param onSelect function - the function(dateText) to call when a date is selected + @param settings object - update the dialog date picker instance's settings (anonymous object) + @param pos int[2] - coordinates for the dialog's position within the screen or + event - with x/y coordinates or + leave empty for default (screen centre) + @return the manager object */ + _dialogDatepicker: function(input, dateText, onSelect, settings, pos) { + var inst = this._dialogInst; // internal instance + if (!inst) { + var id = 'dp' + (++this.uuid); + this._dialogInput = $(''); + this._dialogInput.keydown(this._doKeyDown); + $('body').append(this._dialogInput); + inst = this._dialogInst = this._newInst(this._dialogInput, false); + inst.settings = {}; + $.data(this._dialogInput[0], PROP_NAME, inst); + } + extendRemove(inst.settings, settings || {}); + this._dialogInput.val(dateText); + + this._pos = (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : null); + if (!this._pos) { + var browserWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; + var browserHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; + var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; + var scrollY = document.documentElement.scrollTop || document.body.scrollTop; + this._pos = // should use actual width/height below + [(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + scrollY]; + } + + // move input on screen for focus, but hidden behind dialog + this._dialogInput.css('left', this._pos[0] + 'px').css('top', this._pos[1] + 'px'); + inst.settings.onSelect = onSelect; + this._inDialog = true; + this.dpDiv.addClass(this._dialogClass); + this._showDatepicker(this._dialogInput[0]); + if ($.blockUI) + $.blockUI(this.dpDiv); + $.data(this._dialogInput[0], PROP_NAME, inst); + return this; + }, + + /* Detach a datepicker from its control. + @param target element - the target input field or division or span */ + _destroyDatepicker: function(target) { + var $target = $(target); + if (!$target.hasClass(this.markerClassName)) { + return; + } + var nodeName = target.nodeName.toLowerCase(); + $.removeData(target, PROP_NAME); + if (nodeName == 'input') { + $target.siblings('.' + this._appendClass).remove().end(). + siblings('.' + this._triggerClass).remove().end(). + removeClass(this.markerClassName). + unbind('focus', this._showDatepicker). + unbind('keydown', this._doKeyDown). + unbind('keypress', this._doKeyPress); + } else if (nodeName == 'div' || nodeName == 'span') + $target.removeClass(this.markerClassName).empty(); + }, + + /* Enable the date picker to a jQuery selection. + @param target element - the target input field or division or span */ + _enableDatepicker: function(target) { + var $target = $(target); + if (!$target.hasClass(this.markerClassName)) { + return; + } + var nodeName = target.nodeName.toLowerCase(); + if (nodeName == 'input') { + target.disabled = false; + $target.siblings('button.' + this._triggerClass). + each(function() { this.disabled = false; }).end(). + siblings('img.' + this._triggerClass). + css({opacity: '1.0', cursor: ''}); + } + else if (nodeName == 'div' || nodeName == 'span') { + $target.children('.' + this._disableClass).remove(); + } + this._disabledInputs = $.map(this._disabledInputs, + function(value) { return (value == target ? null : value); }); // delete entry + }, + + /* Disable the date picker to a jQuery selection. + @param target element - the target input field or division or span */ + _disableDatepicker: function(target) { + var $target = $(target); + if (!$target.hasClass(this.markerClassName)) { + return; + } + var nodeName = target.nodeName.toLowerCase(); + if (nodeName == 'input') { + target.disabled = true; + $target.siblings('button.' + this._triggerClass). + each(function() { this.disabled = true; }).end(). + siblings('img.' + this._triggerClass). + css({opacity: '0.5', cursor: 'default'}); + } + else if (nodeName == 'div' || nodeName == 'span') { + var inline = $target.children('.' + this._inlineClass); + var offset = inline.offset(); + var relOffset = {left: 0, top: 0}; + inline.parents().each(function() { + if ($(this).css('position') == 'relative') { + relOffset = $(this).offset(); + return false; + } + }); + $target.prepend('
    '); + } + this._disabledInputs = $.map(this._disabledInputs, + function(value) { return (value == target ? null : value); }); // delete entry + this._disabledInputs[this._disabledInputs.length] = target; + }, + + /* Is the first field in a jQuery collection disabled as a datepicker? + @param target element - the target input field or division or span + @return boolean - true if disabled, false if enabled */ + _isDisabledDatepicker: function(target) { + if (!target) + return false; + for (var i = 0; i < this._disabledInputs.length; i++) { + if (this._disabledInputs[i] == target) + return true; + } + return false; + }, + + /* Retrieve the instance data for the target control. + @param target element - the target input field or division or span + @return object - the associated instance data + @throws error if a jQuery problem getting data */ + _getInst: function(target) { + try { + return $.data(target, PROP_NAME); + } + catch (err) { + throw 'Missing instance data for this datepicker'; + } + }, + + /* Update the settings for a date picker attached to an input field or division. + @param target element - the target input field or division or span + @param name object - the new settings to update or + string - the name of the setting to change or + @param value any - the new value for the setting (omit if above is an object) */ + _changeDatepicker: function(target, name, value) { + var settings = name || {}; + if (typeof name == 'string') { + settings = {}; + settings[name] = value; + } + var inst = this._getInst(target); + if (inst) { + if (this._curInst == inst) { + this._hideDatepicker(null); + } + extendRemove(inst.settings, settings); + var date = new Date(); + extendRemove(inst, {rangeStart: null, // start of range + endDay: null, endMonth: null, endYear: null, // end of range + selectedDay: date.getDate(), selectedMonth: date.getMonth(), + selectedYear: date.getFullYear(), // starting point + currentDay: date.getDate(), currentMonth: date.getMonth(), + currentYear: date.getFullYear(), // current selection + drawMonth: date.getMonth(), drawYear: date.getFullYear()}); // month being drawn + this._updateDatepicker(inst); + } + }, + + /* Redraw the date picker attached to an input field or division. + @param target element - the target input field or division or span */ + _refreshDatepicker: function(target) { + var inst = this._getInst(target); + if (inst) { + this._updateDatepicker(inst); + } + }, + + /* Set the dates for a jQuery selection. + @param target element - the target input field or division or span + @param date Date - the new date + @param endDate Date - the new end date for a range (optional) */ + _setDateDatepicker: function(target, date, endDate) { + var inst = this._getInst(target); + if (inst) { + this._setDate(inst, date, endDate); + this._updateDatepicker(inst); + this._updateAlternate(inst); + } + }, + + /* Get the date(s) for the first entry in a jQuery selection. + @param target element - the target input field or division or span + @return Date - the current date or + Date[2] - the current dates for a range */ + _getDateDatepicker: function(target) { + var inst = this._getInst(target); + if (inst && !inst.inline) + this._setDateFromField(inst); + return (inst ? this._getDate(inst) : null); + }, + + /* Handle keystrokes. */ + _doKeyDown: function(e) { + var inst = $.datepicker._getInst(e.target); + var handled = true; + if ($.datepicker._datepickerShowing) + switch (e.keyCode) { + case 9: $.datepicker._hideDatepicker(null, ''); + break; // hide on tab out + case 13: $.datepicker._selectDay(e.target, inst.selectedMonth, inst.selectedYear, + $('td.ui-datepicker-days-cell-over', inst.dpDiv)[0]); + return false; // don't submit the form + break; // select the value on enter + case 27: $.datepicker._hideDatepicker(null, $.datepicker._get(inst, 'duration')); + break; // hide on escape + case 33: $.datepicker._adjustDate(e.target, (e.ctrlKey ? + -$.datepicker._get(inst, 'stepBigMonths') : + -$.datepicker._get(inst, 'stepMonths')), 'M'); + break; // previous month/year on page up/+ ctrl + case 34: $.datepicker._adjustDate(e.target, (e.ctrlKey ? + +$.datepicker._get(inst, 'stepBigMonths') : + +$.datepicker._get(inst, 'stepMonths')), 'M'); + break; // next month/year on page down/+ ctrl + case 35: if (e.ctrlKey) $.datepicker._clearDate(e.target); + handled = e.ctrlKey; + break; // clear on ctrl+end + case 36: if (e.ctrlKey) $.datepicker._gotoToday(e.target); + handled = e.ctrlKey; + break; // current on ctrl+home + case 37: if (e.ctrlKey) $.datepicker._adjustDate(e.target, -1, 'D'); + handled = e.ctrlKey; + break; // -1 day on ctrl+left + case 38: if (e.ctrlKey) $.datepicker._adjustDate(e.target, -7, 'D'); + handled = e.ctrlKey; + break; // -1 week on ctrl+up + case 39: if (e.ctrlKey) $.datepicker._adjustDate(e.target, +1, 'D'); + handled = e.ctrlKey; + break; // +1 day on ctrl+right + case 40: if (e.ctrlKey) $.datepicker._adjustDate(e.target, +7, 'D'); + handled = e.ctrlKey; + break; // +1 week on ctrl+down + default: handled = false; + } + else if (e.keyCode == 36 && e.ctrlKey) // display the date picker on ctrl+home + $.datepicker._showDatepicker(this); + else + handled = false; + if (handled) { + e.preventDefault(); + e.stopPropagation(); + } + }, + + /* Filter entered characters - based on date format. */ + _doKeyPress: function(e) { + var inst = $.datepicker._getInst(e.target); + var chars = $.datepicker._possibleChars($.datepicker._get(inst, 'dateFormat')); + var chr = String.fromCharCode(e.charCode == undefined ? e.keyCode : e.charCode); + return e.ctrlKey || (chr < ' ' || !chars || chars.indexOf(chr) > -1); + }, + + /* Pop-up the date picker for a given input field. + @param input element - the input field attached to the date picker or + event - if triggered by focus */ + _showDatepicker: function(input) { + input = input.target || input; + if (input.nodeName.toLowerCase() != 'input') // find from button/image trigger + input = $('input', input.parentNode)[0]; + if ($.datepicker._isDisabledDatepicker(input) || $.datepicker._lastInput == input) // already here + return; + var inst = $.datepicker._getInst(input); + var beforeShow = $.datepicker._get(inst, 'beforeShow'); + extendRemove(inst.settings, (beforeShow ? beforeShow.apply(input, [input, inst]) : {})); + $.datepicker._hideDatepicker(null, ''); + $.datepicker._lastInput = input; + $.datepicker._setDateFromField(inst); + if ($.datepicker._inDialog) // hide cursor + input.value = ''; + if (!$.datepicker._pos) { // position below input + $.datepicker._pos = $.datepicker._findPos(input); + $.datepicker._pos[1] += input.offsetHeight; // add the height + } + var isFixed = false; + $(input).parents().each(function() { + isFixed |= $(this).css('position') == 'fixed'; + return !isFixed; + }); + if (isFixed && $.browser.opera) { // correction for Opera when fixed and scrolled + $.datepicker._pos[0] -= document.documentElement.scrollLeft; + $.datepicker._pos[1] -= document.documentElement.scrollTop; + } + var offset = {left: $.datepicker._pos[0], top: $.datepicker._pos[1]}; + $.datepicker._pos = null; + inst.rangeStart = null; + // determine sizing offscreen + inst.dpDiv.css({position: 'absolute', display: 'block', top: '-1000px'}); + $.datepicker._updateDatepicker(inst); + // fix width for dynamic number of date pickers + inst.dpDiv.width($.datepicker._getNumberOfMonths(inst)[1] * + $('.ui-datepicker', inst.dpDiv[0])[0].offsetWidth); + // and adjust position before showing + offset = $.datepicker._checkOffset(inst, offset, isFixed); + inst.dpDiv.css({position: ($.datepicker._inDialog && $.blockUI ? + 'static' : (isFixed ? 'fixed' : 'absolute')), display: 'none', + left: offset.left + 'px', top: offset.top + 'px'}); + if (!inst.inline) { + var showAnim = $.datepicker._get(inst, 'showAnim') || 'show'; + var duration = $.datepicker._get(inst, 'duration'); + var postProcess = function() { + $.datepicker._datepickerShowing = true; + if ($.browser.msie && parseInt($.browser.version,10) < 7) // fix IE < 7 select problems + $('iframe.ui-datepicker-cover').css({width: inst.dpDiv.width() + 4, + height: inst.dpDiv.height() + 4}); + }; + if ($.effects && $.effects[showAnim]) + inst.dpDiv.show(showAnim, $.datepicker._get(inst, 'showOptions'), duration, postProcess); + else + inst.dpDiv[showAnim](duration, postProcess); + if (duration == '') + postProcess(); + if (inst.input[0].type != 'hidden') + inst.input[0].focus(); + $.datepicker._curInst = inst; + } + }, + + /* Generate the date picker content. */ + _updateDatepicker: function(inst) { + var dims = {width: inst.dpDiv.width() + 4, + height: inst.dpDiv.height() + 4}; + inst.dpDiv.empty().append(this._generateHTML(inst)). + find('iframe.ui-datepicker-cover'). + css({width: dims.width, height: dims.height}); + var numMonths = this._getNumberOfMonths(inst); + inst.dpDiv[(numMonths[0] != 1 || numMonths[1] != 1 ? 'add' : 'remove') + + 'Class']('ui-datepicker-multi'); + inst.dpDiv[(this._get(inst, 'isRTL') ? 'add' : 'remove') + + 'Class']('ui-datepicker-rtl'); + if (inst.input && inst.input[0].type != 'hidden') + $(inst.input[0]).focus(); + }, + + /* Check positioning to remain on screen. */ + _checkOffset: function(inst, offset, isFixed) { + var pos = inst.input ? this._findPos(inst.input[0]) : null; + var browserWidth = window.innerWidth || document.documentElement.clientWidth; + var browserHeight = window.innerHeight || document.documentElement.clientHeight; + var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; + var scrollY = document.documentElement.scrollTop || document.body.scrollTop; + // reposition date picker horizontally if outside the browser window + if (this._get(inst, 'isRTL') || (offset.left + inst.dpDiv.width() - scrollX) > browserWidth) + offset.left = Math.max((isFixed ? 0 : scrollX), + pos[0] + (inst.input ? inst.input.width() : 0) - (isFixed ? scrollX : 0) - inst.dpDiv.width() - + (isFixed && $.browser.opera ? document.documentElement.scrollLeft : 0)); + else + offset.left -= (isFixed ? scrollX : 0); + // reposition date picker vertically if outside the browser window + if ((offset.top + inst.dpDiv.height() - scrollY) > browserHeight) + offset.top = Math.max((isFixed ? 0 : scrollY), + pos[1] - (isFixed ? scrollY : 0) - (this._inDialog ? 0 : inst.dpDiv.height()) - + (isFixed && $.browser.opera ? document.documentElement.scrollTop : 0)); + else + offset.top -= (isFixed ? scrollY : 0); + return offset; + }, + + /* Find an object's position on the screen. */ + _findPos: function(obj) { + while (obj && (obj.type == 'hidden' || obj.nodeType != 1)) { + obj = obj.nextSibling; + } + var position = $(obj).offset(); + return [position.left, position.top]; + }, + + /* Hide the date picker from view. + @param input element - the input field attached to the date picker + @param duration string - the duration over which to close the date picker */ + _hideDatepicker: function(input, duration) { + var inst = this._curInst; + if (!inst || (input && inst != $.data(input, PROP_NAME))) + return; + var rangeSelect = this._get(inst, 'rangeSelect'); + if (rangeSelect && inst.stayOpen) + this._selectDate('#' + inst.id, this._formatDate(inst, + inst.currentDay, inst.currentMonth, inst.currentYear)); + inst.stayOpen = false; + if (this._datepickerShowing) { + duration = (duration != null ? duration : this._get(inst, 'duration')); + var showAnim = this._get(inst, 'showAnim'); + var postProcess = function() { + $.datepicker._tidyDialog(inst); + }; + if (duration != '' && $.effects && $.effects[showAnim]) + inst.dpDiv.hide(showAnim, $.datepicker._get(inst, 'showOptions'), + duration, postProcess); + else + inst.dpDiv[(duration == '' ? 'hide' : (showAnim == 'slideDown' ? 'slideUp' : + (showAnim == 'fadeIn' ? 'fadeOut' : 'hide')))](duration, postProcess); + if (duration == '') + this._tidyDialog(inst); + var onClose = this._get(inst, 'onClose'); + if (onClose) + onClose.apply((inst.input ? inst.input[0] : null), + [(inst.input ? inst.input.val() : ''), inst]); // trigger custom callback + this._datepickerShowing = false; + this._lastInput = null; + inst.settings.prompt = null; + if (this._inDialog) { + this._dialogInput.css({ position: 'absolute', left: '0', top: '-100px' }); + if ($.blockUI) { + $.unblockUI(); + $('body').append(this.dpDiv); + } + } + this._inDialog = false; + } + this._curInst = null; + }, + + /* Tidy up after a dialog display. */ + _tidyDialog: function(inst) { + inst.dpDiv.removeClass(this._dialogClass).unbind('.ui-datepicker'); + $('.' + this._promptClass, inst.dpDiv).remove(); + }, + + /* Close date picker if clicked elsewhere. */ + _checkExternalClick: function(event) { + if (!$.datepicker._curInst) + return; + var $target = $(event.target); + if (($target.parents('#' + $.datepicker._mainDivId).length == 0) && + !$target.hasClass($.datepicker.markerClassName) && + !$target.hasClass($.datepicker._triggerClass) && + $.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI)) + $.datepicker._hideDatepicker(null, ''); + }, + + /* Adjust one of the date sub-fields. */ + _adjustDate: function(id, offset, period) { + var target = $(id); + var inst = this._getInst(target[0]); + this._adjustInstDate(inst, offset, period); + this._updateDatepicker(inst); + }, + + /* Action for current link. */ + _gotoToday: function(id) { + var target = $(id); + var inst = this._getInst(target[0]); + if (this._get(inst, 'gotoCurrent') && inst.currentDay) { + inst.selectedDay = inst.currentDay; + inst.drawMonth = inst.selectedMonth = inst.currentMonth; + inst.drawYear = inst.selectedYear = inst.currentYear; + } + else { + var date = new Date(); + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + } + this._notifyChange(inst); + this._adjustDate(target); + }, + + /* Action for selecting a new month/year. */ + _selectMonthYear: function(id, select, period) { + var target = $(id); + var inst = this._getInst(target[0]); + inst._selectingMonthYear = false; + inst['selected' + (period == 'M' ? 'Month' : 'Year')] = + inst['draw' + (period == 'M' ? 'Month' : 'Year')] = + parseInt(select.options[select.selectedIndex].value,10); + this._notifyChange(inst); + this._adjustDate(target); + }, + + /* Restore input focus after not changing month/year. */ + _clickMonthYear: function(id) { + var target = $(id); + var inst = this._getInst(target[0]); + if (inst.input && inst._selectingMonthYear && !$.browser.msie) + inst.input[0].focus(); + inst._selectingMonthYear = !inst._selectingMonthYear; + }, + + /* Action for changing the first week day. */ + _changeFirstDay: function(id, day) { + var target = $(id); + var inst = this._getInst(target[0]); + inst.settings.firstDay = day; + this._updateDatepicker(inst); + }, + + /* Action for selecting a day. */ + _selectDay: function(id, month, year, td) { + if ($(td).hasClass(this._unselectableClass)) + return; + var target = $(id); + var inst = this._getInst(target[0]); + var rangeSelect = this._get(inst, 'rangeSelect'); + if (rangeSelect) { + inst.stayOpen = !inst.stayOpen; + if (inst.stayOpen) { + $('.ui-datepicker td', inst.dpDiv).removeClass(this._currentClass); + $(td).addClass(this._currentClass); + } + } + inst.selectedDay = inst.currentDay = $('a', td).html(); + inst.selectedMonth = inst.currentMonth = month; + inst.selectedYear = inst.currentYear = year; + if (inst.stayOpen) { + inst.endDay = inst.endMonth = inst.endYear = null; + } + else if (rangeSelect) { + inst.endDay = inst.currentDay; + inst.endMonth = inst.currentMonth; + inst.endYear = inst.currentYear; + } + this._selectDate(id, this._formatDate(inst, + inst.currentDay, inst.currentMonth, inst.currentYear)); + if (inst.stayOpen) { + inst.rangeStart = new Date(inst.currentYear, inst.currentMonth, inst.currentDay); + this._updateDatepicker(inst); + } + else if (rangeSelect) { + inst.selectedDay = inst.currentDay = inst.rangeStart.getDate(); + inst.selectedMonth = inst.currentMonth = inst.rangeStart.getMonth(); + inst.selectedYear = inst.currentYear = inst.rangeStart.getFullYear(); + inst.rangeStart = null; + if (inst.inline) + this._updateDatepicker(inst); + } + }, + + /* Erase the input field and hide the date picker. */ + _clearDate: function(id) { + var target = $(id); + var inst = this._getInst(target[0]); + if (this._get(inst, 'mandatory')) + return; + inst.stayOpen = false; + inst.endDay = inst.endMonth = inst.endYear = inst.rangeStart = null; + this._selectDate(target, ''); + }, + + /* Update the input field with the selected date. */ + _selectDate: function(id, dateStr) { + var target = $(id); + var inst = this._getInst(target[0]); + dateStr = (dateStr != null ? dateStr : this._formatDate(inst)); + if (this._get(inst, 'rangeSelect') && dateStr) + dateStr = (inst.rangeStart ? this._formatDate(inst, inst.rangeStart) : + dateStr) + this._get(inst, 'rangeSeparator') + dateStr; + if (inst.input) + inst.input.val(dateStr); + this._updateAlternate(inst); + var onSelect = this._get(inst, 'onSelect'); + if (onSelect) + onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]); // trigger custom callback + else if (inst.input) + inst.input.trigger('change'); // fire the change event + if (inst.inline) + this._updateDatepicker(inst); + else if (!inst.stayOpen) { + this._hideDatepicker(null, this._get(inst, 'duration')); + this._lastInput = inst.input[0]; + if (typeof(inst.input[0]) != 'object') + inst.input[0].focus(); // restore focus + this._lastInput = null; + } + }, + + /* Update any alternate field to synchronise with the main field. */ + _updateAlternate: function(inst) { + var altField = this._get(inst, 'altField'); + if (altField) { // update alternate field too + var altFormat = this._get(inst, 'altFormat'); + var date = this._getDate(inst); + dateStr = (isArray(date) ? (!date[0] && !date[1] ? '' : + this.formatDate(altFormat, date[0], this._getFormatConfig(inst)) + + this._get(inst, 'rangeSeparator') + this.formatDate( + altFormat, date[1] || date[0], this._getFormatConfig(inst))) : + this.formatDate(altFormat, date, this._getFormatConfig(inst))); + $(altField).each(function() { $(this).val(dateStr); }); + } + }, + + /* Set as beforeShowDay function to prevent selection of weekends. + @param date Date - the date to customise + @return [boolean, string] - is this date selectable?, what is its CSS class? */ + noWeekends: function(date) { + var day = date.getDay(); + return [(day > 0 && day < 6), '']; + }, + + /* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition. + @param date Date - the date to get the week for + @return number - the number of the week within the year that contains this date */ + iso8601Week: function(date) { + var checkDate = new Date(date.getFullYear(), date.getMonth(), date.getDate(), + (date.getTimezoneOffset() / -60)); + var firstMon = new Date(checkDate.getFullYear(), 1 - 1, 4); // First week always contains 4 Jan + var firstDay = firstMon.getDay() || 7; // Day of week: Mon = 1, ..., Sun = 7 + firstMon.setDate(firstMon.getDate() + 1 - firstDay); // Preceding Monday + if (firstDay < 4 && checkDate < firstMon) { // Adjust first three days in year if necessary + checkDate.setDate(checkDate.getDate() - 3); // Generate for previous year + return $.datepicker.iso8601Week(checkDate); + } else if (checkDate > new Date(checkDate.getFullYear(), 12 - 1, 28)) { // Check last three days in year + firstDay = new Date(checkDate.getFullYear() + 1, 1 - 1, 4).getDay() || 7; + if (firstDay > 4 && (checkDate.getDay() || 7) < firstDay - 3) { // Adjust if necessary + return 1; + } + } + return Math.floor(((checkDate - firstMon) / 86400000) / 7) + 1; // Weeks to given date + }, + + /* Provide status text for a particular date. + @param date the date to get the status for + @param inst the current datepicker instance + @return the status display text for this date */ + dateStatus: function(date, inst) { + return $.datepicker.formatDate($.datepicker._get(inst, 'dateStatus'), + date, $.datepicker._getFormatConfig(inst)); + }, + + /* Parse a string value into a date object. + See formatDate below for the possible formats. + + @param format string - the expected format of the date + @param value string - the date in the above format + @param settings Object - attributes include: + shortYearCutoff number - the cutoff year for determining the century (optional) + dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) + dayNames string[7] - names of the days from Sunday (optional) + monthNamesShort string[12] - abbreviated names of the months (optional) + monthNames string[12] - names of the months (optional) + @return Date - the extracted date value or null if value is blank */ + parseDate: function (format, value, settings) { + if (format == null || value == null) + throw 'Invalid arguments'; + value = (typeof value == 'object' ? value.toString() : value + ''); + if (value == '') + return null; + var shortYearCutoff = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff; + var dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort; + var dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames; + var monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort; + var monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames; + var year = -1; + var month = -1; + var day = -1; + var doy = -1; + var literal = false; + // Check whether a format character is doubled + var lookAhead = function(match) { + var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match); + if (matches) + iFormat++; + return matches; + }; + // Extract a number from the string value + var getNumber = function(match) { + lookAhead(match); + var origSize = (match == '@' ? 14 : (match == 'y' ? 4 : (match == 'o' ? 3 : 2))); + var size = origSize; + var num = 0; + while (size > 0 && iValue < value.length && + value.charAt(iValue) >= '0' && value.charAt(iValue) <= '9') { + num = num * 10 + parseInt(value.charAt(iValue++),10); + size--; + } + if (size == origSize) + throw 'Missing number at position ' + iValue; + return num; + }; + // Extract a name from the string value and convert to an index + var getName = function(match, shortNames, longNames) { + var names = (lookAhead(match) ? longNames : shortNames); + var size = 0; + for (var j = 0; j < names.length; j++) + size = Math.max(size, names[j].length); + var name = ''; + var iInit = iValue; + while (size > 0 && iValue < value.length) { + name += value.charAt(iValue++); + for (var i = 0; i < names.length; i++) + if (name == names[i]) + return i + 1; + size--; + } + throw 'Unknown name at position ' + iInit; + }; + // Confirm that a literal character matches the string value + var checkLiteral = function() { + if (value.charAt(iValue) != format.charAt(iFormat)) + throw 'Unexpected literal at position ' + iValue; + iValue++; + }; + var iValue = 0; + for (var iFormat = 0; iFormat < format.length; iFormat++) { + if (literal) + if (format.charAt(iFormat) == "'" && !lookAhead("'")) + literal = false; + else + checkLiteral(); + else + switch (format.charAt(iFormat)) { + case 'd': + day = getNumber('d'); + break; + case 'D': + getName('D', dayNamesShort, dayNames); + break; + case 'o': + doy = getNumber('o'); + break; + case 'm': + month = getNumber('m'); + break; + case 'M': + month = getName('M', monthNamesShort, monthNames); + break; + case 'y': + year = getNumber('y'); + break; + case '@': + var date = new Date(getNumber('@')); + year = date.getFullYear(); + month = date.getMonth() + 1; + day = date.getDate(); + break; + case "'": + if (lookAhead("'")) + checkLiteral(); + else + literal = true; + break; + default: + checkLiteral(); + } + } + if (year < 100) + year += new Date().getFullYear() - new Date().getFullYear() % 100 + + (year <= shortYearCutoff ? 0 : -100); + if (doy > -1) { + month = 1; + day = doy; + do { + var dim = this._getDaysInMonth(year, month - 1); + if (day <= dim) + break; + month++; + day -= dim; + } while (true); + } + var date = new Date(year, month - 1, day); + if (date.getFullYear() != year || date.getMonth() + 1 != month || date.getDate() != day) + throw 'Invalid date'; // E.g. 31/02/* + return date; + }, + + /* Standard date formats. */ + ATOM: 'yy-mm-dd', // RFC 3339 (ISO 8601) + COOKIE: 'D, dd M yy', + ISO_8601: 'yy-mm-dd', + RFC_822: 'D, d M y', + RFC_850: 'DD, dd-M-y', + RFC_1036: 'D, d M y', + RFC_1123: 'D, d M yy', + RFC_2822: 'D, d M yy', + RSS: 'D, d M y', // RFC 822 + TIMESTAMP: '@', + W3C: 'yy-mm-dd', // ISO 8601 + + /* Format a date object into a string value. + The format can be combinations of the following: + d - day of month (no leading zero) + dd - day of month (two digit) + o - day of year (no leading zeros) + oo - day of year (three digit) + D - day name short + DD - day name long + m - month of year (no leading zero) + mm - month of year (two digit) + M - month name short + MM - month name long + y - year (two digit) + yy - year (four digit) + @ - Unix timestamp (ms since 01/01/1970) + '...' - literal text + '' - single quote + + @param format string - the desired format of the date + @param date Date - the date value to format + @param settings Object - attributes include: + dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) + dayNames string[7] - names of the days from Sunday (optional) + monthNamesShort string[12] - abbreviated names of the months (optional) + monthNames string[12] - names of the months (optional) + @return string - the date in the above format */ + formatDate: function (format, date, settings) { + if (!date) + return ''; + var dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort; + var dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames; + var monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort; + var monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames; + // Check whether a format character is doubled + var lookAhead = function(match) { + var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match); + if (matches) + iFormat++; + return matches; + }; + // Format a number, with leading zero if necessary + var formatNumber = function(match, value, len) { + var num = '' + value; + if (lookAhead(match)) + while (num.length < len) + num = '0' + num; + return num; + }; + // Format a name, short or long as requested + var formatName = function(match, value, shortNames, longNames) { + return (lookAhead(match) ? longNames[value] : shortNames[value]); + }; + var output = ''; + var literal = false; + if (date) + for (var iFormat = 0; iFormat < format.length; iFormat++) { + if (literal) + if (format.charAt(iFormat) == "'" && !lookAhead("'")) + literal = false; + else + output += format.charAt(iFormat); + else + switch (format.charAt(iFormat)) { + case 'd': + output += formatNumber('d', date.getDate(), 2); + break; + case 'D': + output += formatName('D', date.getDay(), dayNamesShort, dayNames); + break; + case 'o': + var doy = date.getDate(); + for (var m = date.getMonth() - 1; m >= 0; m--) + doy += this._getDaysInMonth(date.getFullYear(), m); + output += formatNumber('o', doy, 3); + break; + case 'm': + output += formatNumber('m', date.getMonth() + 1, 2); + break; + case 'M': + output += formatName('M', date.getMonth(), monthNamesShort, monthNames); + break; + case 'y': + output += (lookAhead('y') ? date.getFullYear() : + (date.getYear() % 100 < 10 ? '0' : '') + date.getYear() % 100); + break; + case '@': + output += date.getTime(); + break; + case "'": + if (lookAhead("'")) + output += "'"; + else + literal = true; + break; + default: + output += format.charAt(iFormat); + } + } + return output; + }, + + /* Extract all possible characters from the date format. */ + _possibleChars: function (format) { + var chars = ''; + var literal = false; + for (var iFormat = 0; iFormat < format.length; iFormat++) + if (literal) + if (format.charAt(iFormat) == "'" && !lookAhead("'")) + literal = false; + else + chars += format.charAt(iFormat); + else + switch (format.charAt(iFormat)) { + case 'd': case 'm': case 'y': case '@': + chars += '0123456789'; + break; + case 'D': case 'M': + return null; // Accept anything + case "'": + if (lookAhead("'")) + chars += "'"; + else + literal = true; + break; + default: + chars += format.charAt(iFormat); + } + return chars; + }, + + /* Get a setting value, defaulting if necessary. */ + _get: function(inst, name) { + return inst.settings[name] !== undefined ? + inst.settings[name] : this._defaults[name]; + }, + + /* Parse existing date and initialise date picker. */ + _setDateFromField: function(inst) { + var dateFormat = this._get(inst, 'dateFormat'); + var dates = inst.input ? inst.input.val().split(this._get(inst, 'rangeSeparator')) : null; + inst.endDay = inst.endMonth = inst.endYear = null; + var date = defaultDate = this._getDefaultDate(inst); + if (dates.length > 0) { + var settings = this._getFormatConfig(inst); + if (dates.length > 1) { + date = this.parseDate(dateFormat, dates[1], settings) || defaultDate; + inst.endDay = date.getDate(); + inst.endMonth = date.getMonth(); + inst.endYear = date.getFullYear(); + } + try { + date = this.parseDate(dateFormat, dates[0], settings) || defaultDate; + } catch (e) { + this.log(e); + date = defaultDate; + } + } + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + inst.currentDay = (dates[0] ? date.getDate() : 0); + inst.currentMonth = (dates[0] ? date.getMonth() : 0); + inst.currentYear = (dates[0] ? date.getFullYear() : 0); + this._adjustInstDate(inst); + }, + + /* Retrieve the default date shown on opening. */ + _getDefaultDate: function(inst) { + var date = this._determineDate(this._get(inst, 'defaultDate'), new Date()); + var minDate = this._getMinMaxDate(inst, 'min', true); + var maxDate = this._getMinMaxDate(inst, 'max'); + date = (minDate && date < minDate ? minDate : date); + date = (maxDate && date > maxDate ? maxDate : date); + return date; + }, + + /* A date may be specified as an exact value or a relative one. */ + _determineDate: function(date, defaultDate) { + var offsetNumeric = function(offset) { + var date = new Date(); + date.setUTCDate(date.getUTCDate() + offset); + return date; + }; + var offsetString = function(offset, getDaysInMonth) { + var date = new Date(); + var year = date.getFullYear(); + var month = date.getMonth(); + var day = date.getDate(); + var pattern = /([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g; + var matches = pattern.exec(offset); + while (matches) { + switch (matches[2] || 'd') { + case 'd' : case 'D' : + day += parseInt(matches[1],10); break; + case 'w' : case 'W' : + day += parseInt(matches[1],10) * 7; break; + case 'm' : case 'M' : + month += parseInt(matches[1],10); + day = Math.min(day, getDaysInMonth(year, month)); + break; + case 'y': case 'Y' : + year += parseInt(matches[1],10); + day = Math.min(day, getDaysInMonth(year, month)); + break; + } + matches = pattern.exec(offset); + } + return new Date(year, month, day); + }; + date = (date == null ? defaultDate : + (typeof date == 'string' ? offsetString(date, this._getDaysInMonth) : + (typeof date == 'number' ? (isNaN(date) ? defaultDate : offsetNumeric(date)) : date))); + return (date && date.toString() == 'Invalid Date' ? defaultDate : date); + }, + + /* Set the date(s) directly. */ + _setDate: function(inst, date, endDate) { + var clear = !(date); + var origMonth = inst.selectedMonth; + var origYear = inst.selectedYear; + date = this._determineDate(date, new Date()); + inst.selectedDay = inst.currentDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = inst.currentMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = inst.currentYear = date.getFullYear(); + if (this._get(inst, 'rangeSelect')) { + if (endDate) { + endDate = this._determineDate(endDate, null); + inst.endDay = endDate.getDate(); + inst.endMonth = endDate.getMonth(); + inst.endYear = endDate.getFullYear(); + } else { + inst.endDay = inst.currentDay; + inst.endMonth = inst.currentMonth; + inst.endYear = inst.currentYear; + } + } + if (origMonth != inst.selectedMonth || origYear != inst.selectedYear) + this._notifyChange(inst); + this._adjustInstDate(inst); + if (inst.input) + inst.input.val(clear ? '' : this._formatDate(inst) + + (!this._get(inst, 'rangeSelect') ? '' : this._get(inst, 'rangeSeparator') + + this._formatDate(inst, inst.endDay, inst.endMonth, inst.endYear))); + }, + + /* Retrieve the date(s) directly. */ + _getDate: function(inst) { + var startDate = (!inst.currentYear || (inst.input && inst.input.val() == '') ? null : + new Date(inst.currentYear, inst.currentMonth, inst.currentDay)); + if (this._get(inst, 'rangeSelect')) { + return [inst.rangeStart || startDate, + (!inst.endYear ? inst.rangeStart || startDate : + new Date(inst.endYear, inst.endMonth, inst.endDay))]; + } else + return startDate; + }, + + /* Generate the HTML for the current state of the date picker. */ + _generateHTML: function(inst) { + var today = new Date(); + today = new Date(today.getFullYear(), today.getMonth(), today.getDate()); // clear time + var showStatus = this._get(inst, 'showStatus'); + var initStatus = this._get(inst, 'initStatus') || ' '; + var isRTL = this._get(inst, 'isRTL'); + // build the date picker HTML + var clear = (this._get(inst, 'mandatory') ? '' : + ''); + var controls = '
    ' + (isRTL ? '' : clear) + + '' + (isRTL ? clear : '') + '
    '; + var prompt = this._get(inst, 'prompt'); + var closeAtTop = this._get(inst, 'closeAtTop'); + var hideIfNoPrevNext = this._get(inst, 'hideIfNoPrevNext'); + var navigationAsDateFormat = this._get(inst, 'navigationAsDateFormat'); + var showBigPrevNext = this._get(inst, 'showBigPrevNext'); + var numMonths = this._getNumberOfMonths(inst); + var showCurrentAtPos = this._get(inst, 'showCurrentAtPos'); + var stepMonths = this._get(inst, 'stepMonths'); + var stepBigMonths = this._get(inst, 'stepBigMonths'); + var isMultiMonth = (numMonths[0] != 1 || numMonths[1] != 1); + var currentDate = (!inst.currentDay ? new Date(9999, 9, 9) : + new Date(inst.currentYear, inst.currentMonth, inst.currentDay)); + var minDate = this._getMinMaxDate(inst, 'min', true); + var maxDate = this._getMinMaxDate(inst, 'max'); + var drawMonth = inst.drawMonth - showCurrentAtPos; + var drawYear = inst.drawYear; + if (drawMonth < 0) { + drawMonth += 12; + drawYear--; + } + if (maxDate) { + var maxDraw = new Date(maxDate.getFullYear(), + maxDate.getMonth() - numMonths[1] + 1, maxDate.getDate()); + maxDraw = (minDate && maxDraw < minDate ? minDate : maxDraw); + while (new Date(drawYear, drawMonth, 1) > maxDraw) { + drawMonth--; + if (drawMonth < 0) { + drawMonth = 11; + drawYear--; + } + } + } + // controls and links + var prevText = this._get(inst, 'prevText'); + prevText = (!navigationAsDateFormat ? prevText : this.formatDate( + prevText, new Date(drawYear, drawMonth - stepMonths, 1), this._getFormatConfig(inst))); + var prevBigText = (showBigPrevNext ? this._get(inst, 'prevBigText') : ''); + prevBigText = (!navigationAsDateFormat ? prevBigText : this.formatDate( + prevBigText, new Date(drawYear, drawMonth - stepBigMonths, 1), this._getFormatConfig(inst))); + var prev = '
    ' + (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ? + (showBigPrevNext ? '' + prevBigText + '' : '') + + '' + prevText + '' : + (hideIfNoPrevNext ? '' : '')) + '
    '; + var nextText = this._get(inst, 'nextText'); + nextText = (!navigationAsDateFormat ? nextText : this.formatDate( + nextText, new Date(drawYear, drawMonth + stepMonths, 1), this._getFormatConfig(inst))); + var nextBigText = (showBigPrevNext ? this._get(inst, 'nextBigText') : ''); + nextBigText = (!navigationAsDateFormat ? nextBigText : this.formatDate( + nextBigText, new Date(drawYear, drawMonth + stepBigMonths, 1), this._getFormatConfig(inst))); + var next = '
    ' + (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ? + '' + nextText + '' + + (showBigPrevNext ? '' + nextBigText + '' : '') : + (hideIfNoPrevNext ? '' : '')) + '
    '; + var currentText = this._get(inst, 'currentText'); + var gotoDate = (this._get(inst, 'gotoCurrent') && inst.currentDay ? currentDate : today); + currentText = (!navigationAsDateFormat ? currentText : + this.formatDate(currentText, gotoDate, this._getFormatConfig(inst))); + var html = (prompt ? '
    ' + prompt + '
    ' : '') + + (closeAtTop && !inst.inline ? controls : '') + + ''; + var firstDay = this._get(inst, 'firstDay'); + var changeFirstDay = this._get(inst, 'changeFirstDay'); + var dayNames = this._get(inst, 'dayNames'); + var dayNamesShort = this._get(inst, 'dayNamesShort'); + var dayNamesMin = this._get(inst, 'dayNamesMin'); + var monthNames = this._get(inst, 'monthNames'); + var beforeShowDay = this._get(inst, 'beforeShowDay'); + var highlightWeek = this._get(inst, 'highlightWeek'); + var showOtherMonths = this._get(inst, 'showOtherMonths'); + var showWeeks = this._get(inst, 'showWeeks'); + var calculateWeek = this._get(inst, 'calculateWeek') || this.iso8601Week; + var weekStatus = this._get(inst, 'weekStatus'); + var status = (showStatus ? this._get(inst, 'dayStatus') || initStatus : ''); + var dateStatus = this._get(inst, 'statusForDate') || this.dateStatus; + var endDate = inst.endDay ? new Date(inst.endYear, inst.endMonth, inst.endDay) : currentDate; + for (var row = 0; row < numMonths[0]; row++) + for (var col = 0; col < numMonths[1]; col++) { + var selectedDate = new Date(drawYear, drawMonth, inst.selectedDay); + html += '
    ' + + this._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, maxDate, + selectedDate, row > 0 || col > 0, showStatus, initStatus, monthNames) + // draw month headers + '' + + '' + + (showWeeks ? '' + + this._get(inst, 'weekHeader') + '' : ''); + for (var dow = 0; dow < 7; dow++) { // days of the week + var day = (dow + firstDay) % 7; + var dayStatus = (status.indexOf('DD') > -1 ? status.replace(/DD/, dayNames[day]) : + status.replace(/D/, dayNamesShort[day])); + html += '= 5 ? ' class="ui-datepicker-week-end-cell"' : '') + '>' + + (!changeFirstDay ? '' + + dayNamesMin[day] + (changeFirstDay ? '' : '') + ''; + } + html += ''; + var daysInMonth = this._getDaysInMonth(drawYear, drawMonth); + if (drawYear == inst.selectedYear && drawMonth == inst.selectedMonth) + inst.selectedDay = Math.min(inst.selectedDay, daysInMonth); + var leadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7; + var tzDate = new Date(drawYear, drawMonth, 1 - leadDays); + var utcDate = new Date(drawYear, drawMonth, 1 - leadDays); + var printDate = utcDate; + var numRows = (isMultiMonth ? 6 : Math.ceil((leadDays + daysInMonth) / 7)); // calculate the number of rows to generate + for (var dRow = 0; dRow < numRows; dRow++) { // create date picker rows + html += '' + + (showWeeks ? '' : ''); + for (var dow = 0; dow < 7; dow++) { // create date picker days + var daySettings = (beforeShowDay ? + beforeShowDay.apply((inst.input ? inst.input[0] : null), [printDate]) : [true, '']); + var otherMonth = (printDate.getMonth() != drawMonth); + var unselectable = otherMonth || !daySettings[0] || + (minDate && printDate < minDate) || (maxDate && printDate > maxDate); + html += ''; // display for this month + tzDate.setDate(tzDate.getDate() + 1); + utcDate.setUTCDate(utcDate.getUTCDate() + 1); + printDate = (tzDate > utcDate ? tzDate : utcDate); + } + html += ''; + } + drawMonth++; + if (drawMonth > 11) { + drawMonth = 0; + drawYear++; + } + html += '
    ' + + calculateWeek(printDate) + '' + // actions + (otherMonth ? (showOtherMonths ? printDate.getDate() : ' ') : // display for other months + (unselectable ? printDate.getDate() : '' + printDate.getDate() + '')) + '
    '; + } + html += (showStatus ? '
    ' + initStatus + '
    ' : '') + + (!closeAtTop && !inst.inline ? controls : '') + + '
    ' + + ($.browser.msie && parseInt($.browser.version,10) < 7 && !inst.inline ? + '' : ''); + return html; + }, + + /* Generate the month and year header. */ + _generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, maxDate, + selectedDate, secondary, showStatus, initStatus, monthNames) { + minDate = (inst.rangeStart && minDate && selectedDate < minDate ? selectedDate : minDate); + var showMonthAfterYear = this._get(inst, 'showMonthAfterYear'); + var html = '
    '; + var monthHtml = ''; + // month selection + if (secondary || !this._get(inst, 'changeMonth')) + monthHtml += monthNames[drawMonth] + ' '; + else { + var inMinYear = (minDate && minDate.getFullYear() == drawYear); + var inMaxYear = (maxDate && maxDate.getFullYear() == drawYear); + monthHtml += ''; + } + if (!showMonthAfterYear) + html += monthHtml; + // year selection + if (secondary || !this._get(inst, 'changeYear')) + html += drawYear; + else { + // determine range of years to display + var years = this._get(inst, 'yearRange').split(':'); + var year = 0; + var endYear = 0; + if (years.length != 2) { + year = drawYear - 10; + endYear = drawYear + 10; + } else if (years[0].charAt(0) == '+' || years[0].charAt(0) == '-') { + year = endYear = new Date().getFullYear(); + year += parseInt(years[0], 10); + endYear += parseInt(years[1], 10); + } else { + year = parseInt(years[0], 10); + endYear = parseInt(years[1], 10); + } + year = (minDate ? Math.max(year, minDate.getFullYear()) : year); + endYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear); + html += ''; + } + if (showMonthAfterYear) + html += monthHtml; + html += '
    '; // Close datepicker_header + return html; + }, + + /* Provide code to set and clear the status panel. */ + _addStatus: function(showStatus, id, text, initStatus) { + return (showStatus ? ' onmouseover="jQuery(\'#ui-datepicker-status-' + id + + '\').html(\'' + (text || initStatus) + '\');" ' + + 'onmouseout="jQuery(\'#ui-datepicker-status-' + id + + '\').html(\'' + initStatus + '\');"' : ''); + }, + + /* Adjust one of the date sub-fields. */ + _adjustInstDate: function(inst, offset, period) { + var year = inst.drawYear + (period == 'Y' ? offset : 0); + var month = inst.drawMonth + (period == 'M' ? offset : 0); + var day = Math.min(inst.selectedDay, this._getDaysInMonth(year, month)) + + (period == 'D' ? offset : 0); + var date = new Date(year, month, day); + // ensure it is within the bounds set + var minDate = this._getMinMaxDate(inst, 'min', true); + var maxDate = this._getMinMaxDate(inst, 'max'); + date = (minDate && date < minDate ? minDate : date); + date = (maxDate && date > maxDate ? maxDate : date); + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + if (period == 'M' || period == 'Y') + this._notifyChange(inst); + }, + + /* Notify change of month/year. */ + _notifyChange: function(inst) { + var onChange = this._get(inst, 'onChangeMonthYear'); + if (onChange) + onChange.apply((inst.input ? inst.input[0] : null), + [inst.selectedYear, inst.selectedMonth + 1, inst]); + }, + + /* Determine the number of months to show. */ + _getNumberOfMonths: function(inst) { + var numMonths = this._get(inst, 'numberOfMonths'); + return (numMonths == null ? [1, 1] : (typeof numMonths == 'number' ? [1, numMonths] : numMonths)); + }, + + /* Determine the current maximum date - ensure no time components are set - may be overridden for a range. */ + _getMinMaxDate: function(inst, minMax, checkRange) { + var date = this._determineDate(this._get(inst, minMax + 'Date'), null); + if (date) { + date.setHours(0); + date.setMinutes(0); + date.setSeconds(0); + date.setMilliseconds(0); + } + return (!checkRange || !inst.rangeStart ? date : + (!date || inst.rangeStart > date ? inst.rangeStart : date)); + }, + + /* Find the number of days in a given month. */ + _getDaysInMonth: function(year, month) { + return 32 - new Date(year, month, 32).getDate(); + }, + + /* Find the day of the week of the first of a month. */ + _getFirstDayOfMonth: function(year, month) { + return new Date(year, month, 1).getDay(); + }, + + /* Determines if we should allow a "next/prev" month display change. */ + _canAdjustMonth: function(inst, offset, curYear, curMonth) { + var numMonths = this._getNumberOfMonths(inst); + var date = new Date(curYear, curMonth + (offset < 0 ? offset : numMonths[1]), 1); + if (offset < 0) + date.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth())); + return this._isInRange(inst, date); + }, + + /* Is the given date in the accepted range? */ + _isInRange: function(inst, date) { + // during range selection, use minimum of selected date and range start + var newMinDate = (!inst.rangeStart ? null : + new Date(inst.selectedYear, inst.selectedMonth, inst.selectedDay)); + newMinDate = (newMinDate && inst.rangeStart < newMinDate ? inst.rangeStart : newMinDate); + var minDate = newMinDate || this._getMinMaxDate(inst, 'min'); + var maxDate = this._getMinMaxDate(inst, 'max'); + return ((!minDate || date >= minDate) && (!maxDate || date <= maxDate)); + }, + + /* Provide the configuration settings for formatting/parsing. */ + _getFormatConfig: function(inst) { + var shortYearCutoff = this._get(inst, 'shortYearCutoff'); + shortYearCutoff = (typeof shortYearCutoff != 'string' ? shortYearCutoff : + new Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10)); + return {shortYearCutoff: shortYearCutoff, + dayNamesShort: this._get(inst, 'dayNamesShort'), dayNames: this._get(inst, 'dayNames'), + monthNamesShort: this._get(inst, 'monthNamesShort'), monthNames: this._get(inst, 'monthNames')}; + }, + + /* Format the given date for display. */ + _formatDate: function(inst, day, month, year) { + if (!day) { + inst.currentDay = inst.selectedDay; + inst.currentMonth = inst.selectedMonth; + inst.currentYear = inst.selectedYear; + } + var date = (day ? (typeof day == 'object' ? day : new Date(year, month, day)) : + new Date(inst.currentYear, inst.currentMonth, inst.currentDay)); + return this.formatDate(this._get(inst, 'dateFormat'), date, this._getFormatConfig(inst)); + } +}); + +/* jQuery extend now ignores nulls! */ +function extendRemove(target, props) { + $.extend(target, props); + for (var name in props) + if (props[name] == null || props[name] == undefined) + target[name] = props[name]; + return target; +}; + +/* Determine whether an object is an array. */ +function isArray(a) { + return (a && (($.browser.safari && typeof a == 'object' && a.length) || + (a.constructor && a.constructor.toString().match(/\Array\(\)/)))); +}; + +/* Invoke the datepicker functionality. + @param options string - a command, optionally followed by additional parameters or + Object - settings for attaching new datepicker functionality + @return jQuery object */ +$.fn.datepicker = function(options){ + + /* Initialise the date picker. */ + if (!$.datepicker.initialized) { + $(document.body).append($.datepicker.dpDiv). + mousedown($.datepicker._checkExternalClick); + $.datepicker.initialized = true; + } + + var otherArgs = Array.prototype.slice.call(arguments, 1); + if (typeof options == 'string' && (options == 'isDisabled' || options == 'getDate')) + return $.datepicker['_' + options + 'Datepicker']. + apply($.datepicker, [this[0]].concat(otherArgs)); + return this.each(function() { + typeof options == 'string' ? + $.datepicker['_' + options + 'Datepicker']. + apply($.datepicker, [this].concat(otherArgs)) : + $.datepicker._attachDatepicker(this, options); + }); +}; + +$.datepicker = new Datepicker(); // singleton instance +$.datepicker.initialized = false; +$.datepicker.uuid = new Date().getTime(); + +})(jQuery); +/* + * jQuery UI Dialog @VERSION + * + * Copyright (c) 2008 Richard D. Worth (rdworth.org) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Dialog + * + * Depends: + * ui.core.js + * ui.draggable.js + * ui.resizable.js + */ +(function($) { + +var setDataSwitch = { + dragStart: "start.draggable", + drag: "drag.draggable", + dragStop: "stop.draggable", + maxHeight: "maxHeight.resizable", + minHeight: "minHeight.resizable", + maxWidth: "maxWidth.resizable", + minWidth: "minWidth.resizable", + resizeStart: "start.resizable", + resize: "drag.resizable", + resizeStop: "stop.resizable" +}; + +$.widget("ui.dialog", { + _init: function() { + this.originalTitle = this.element.attr('title'); + this.options.title = this.options.title || this.originalTitle; + + var self = this, + options = this.options, + + uiDialogContent = this.element + .removeAttr('title') + .addClass('ui-dialog-content') + .wrap('
    ') + .wrap('
    '), + + uiDialogContainer = (this.uiDialogContainer = uiDialogContent.parent()) + .addClass('ui-dialog-container') + .css({ + position: 'relative', + width: '100%', + height: '100%' + }), + + uiDialogTitlebar = (this.uiDialogTitlebar = $('
    ')) + .addClass('ui-dialog-titlebar') + .append('X') + .prependTo(uiDialogContainer), + + title = options.title || ' ', + titleId = $.ui.dialog.getTitleId(this.element), + uiDialogTitle = $('') + .addClass('ui-dialog-title') + .attr('id', titleId) + .html(title) + .prependTo(uiDialogTitlebar), + + uiDialog = (this.uiDialog = uiDialogContainer.parent()) + .appendTo(document.body) + .hide() + .addClass('ui-dialog') + .addClass(options.dialogClass) + // add content classes to dialog + // to inherit theme at top level of element + .addClass(uiDialogContent.attr('className')) + .removeClass('ui-dialog-content') + .css({ + position: 'absolute', + width: options.width, + height: options.height, + overflow: 'hidden', + zIndex: options.zIndex + }) + // setting tabIndex makes the div focusable + // setting outline to 0 prevents a border on focus in Mozilla + .attr('tabIndex', -1).css('outline', 0).keydown(function(ev) { + (options.closeOnEscape && ev.keyCode + && ev.keyCode == $.keyCode.ESCAPE && self.close()); + }) + .mousedown(function() { + self._moveToTop(); + }), + + uiDialogButtonPane = (this.uiDialogButtonPane = $('
    ')) + .addClass('ui-dialog-buttonpane') + .css({ + position: 'absolute', + bottom: 0 + }) + .appendTo(uiDialog); + + this.uiDialogTitlebarClose = $('.ui-dialog-titlebar-close', uiDialogTitlebar) + .hover( + function() { + $(this).addClass('ui-dialog-titlebar-close-hover'); + }, + function() { + $(this).removeClass('ui-dialog-titlebar-close-hover'); + } + ) + .mousedown(function(ev) { + ev.stopPropagation(); + }) + .click(function() { + self.close(); + return false; + }); + + uiDialogTitlebar.find("*").add(uiDialogTitlebar).each(function() { + $.ui.disableSelection(this); + }); + + (options.draggable && $.fn.draggable && this._makeDraggable()); + (options.resizable && $.fn.resizable && this._makeResizable()); + + this._createButtons(options.buttons); + this._isOpen = false; + + (options.bgiframe && $.fn.bgiframe && uiDialog.bgiframe()); + (options.autoOpen && this.open()); + }, + + destroy: function() { + (this.overlay && this.overlay.destroy()); + this.uiDialog.hide(); + this.element + .unbind('.dialog') + .removeData('dialog') + .removeClass('ui-dialog-content') + .hide().appendTo('body'); + this.uiDialog.remove(); + + (this.originalTitle && this.element.attr('title', this.originalTitle)); + }, + + close: function() { + if (false === this._trigger('beforeclose', null, { options: this.options })) { + return; + } + + (this.overlay && this.overlay.destroy()); + this.uiDialog + .hide(this.options.hide) + .unbind('keypress.ui-dialog'); + + this._trigger('close', null, { options: this.options }); + $.ui.dialog.overlay.resize(); + + this._isOpen = false; + }, + + isOpen: function() { + return this._isOpen; + }, + + open: function() { + if (this._isOpen) { return; } + + this.overlay = this.options.modal ? new $.ui.dialog.overlay(this) : null; + (this.uiDialog.next().length && this.uiDialog.appendTo('body')); + this._position(this.options.position); + this.uiDialog.show(this.options.show); + (this.options.autoResize && this._size()); + this._moveToTop(true); + + // prevent tabbing out of modal dialogs + (this.options.modal && this.uiDialog.bind('keypress.ui-dialog', function(e) { + if (e.keyCode != $.keyCode.TAB) { + return; + } + + var tabbables = $(':tabbable', this), + first = tabbables.filter(':first')[0], + last = tabbables.filter(':last')[0]; + + if (e.target == last && !e.shiftKey) { + setTimeout(function() { + first.focus(); + }, 1); + } else if (e.target == first && e.shiftKey) { + setTimeout(function() { + last.focus(); + }, 1); + } + })); + + this.uiDialog.find(':tabbable:first').focus(); + this._trigger('open', null, { options: this.options }); + this._isOpen = true; + }, + + _createButtons: function(buttons) { + var self = this, + hasButtons = false, + uiDialogButtonPane = this.uiDialogButtonPane; + + // remove any existing buttons + uiDialogButtonPane.empty().hide(); + + $.each(buttons, function() { return !(hasButtons = true); }); + if (hasButtons) { + uiDialogButtonPane.show(); + $.each(buttons, function(name, fn) { + $('') + .text(name) + .click(function() { fn.apply(self.element[0], arguments); }) + .appendTo(uiDialogButtonPane); + }); + } + }, + + _makeDraggable: function() { + var self = this, + options = this.options; + + this.uiDialog.draggable({ + cancel: '.ui-dialog-content', + helper: options.dragHelper, + handle: '.ui-dialog-titlebar', + start: function() { + self._moveToTop(); + (options.dragStart && options.dragStart.apply(self.element[0], arguments)); + }, + drag: function() { + (options.drag && options.drag.apply(self.element[0], arguments)); + }, + stop: function() { + (options.dragStop && options.dragStop.apply(self.element[0], arguments)); + $.ui.dialog.overlay.resize(); + } + }); + }, + + _makeResizable: function(handles) { + handles = (handles === undefined ? this.options.resizable : handles); + var self = this, + options = this.options, + resizeHandles = typeof handles == 'string' + ? handles + : 'n,e,s,w,se,sw,ne,nw'; + + this.uiDialog.resizable({ + cancel: '.ui-dialog-content', + helper: options.resizeHelper, + maxWidth: options.maxWidth, + maxHeight: options.maxHeight, + minWidth: options.minWidth, + minHeight: options.minHeight, + start: function() { + (options.resizeStart && options.resizeStart.apply(self.element[0], arguments)); + }, + resize: function() { + (options.autoResize && self._size.apply(self)); + (options.resize && options.resize.apply(self.element[0], arguments)); + }, + handles: resizeHandles, + stop: function() { + (options.autoResize && self._size.apply(self)); + (options.resizeStop && options.resizeStop.apply(self.element[0], arguments)); + $.ui.dialog.overlay.resize(); + } + }); + }, + + // the force parameter allows us to move modal dialogs to their correct + // position on open + _moveToTop: function(force) { + + if ((this.options.modal && !force) + || (!this.options.stack && !this.options.modal)) { + return this._trigger('focus', null, { options: this.options }); + } + + var maxZ = this.options.zIndex, options = this.options; + $('.ui-dialog:visible').each(function() { + maxZ = Math.max(maxZ, parseInt($(this).css('z-index'), 10) || options.zIndex); + }); + (this.overlay && this.overlay.$el.css('z-index', ++maxZ)); + this.uiDialog.css('z-index', ++maxZ); + + this._trigger('focus', null, { options: this.options }); + }, + + _position: function(pos) { + var wnd = $(window), doc = $(document), + pTop = doc.scrollTop(), pLeft = doc.scrollLeft(), + minTop = pTop; + + if ($.inArray(pos, ['center','top','right','bottom','left']) >= 0) { + pos = [ + pos == 'right' || pos == 'left' ? pos : 'center', + pos == 'top' || pos == 'bottom' ? pos : 'middle' + ]; + } + if (pos.constructor != Array) { + pos = ['center', 'middle']; + } + if (pos[0].constructor == Number) { + pLeft += pos[0]; + } else { + switch (pos[0]) { + case 'left': + pLeft += 0; + break; + case 'right': + pLeft += wnd.width() - this.uiDialog.width(); + break; + default: + case 'center': + pLeft += (wnd.width() - this.uiDialog.width()) / 2; + } + } + if (pos[1].constructor == Number) { + pTop += pos[1]; + } else { + switch (pos[1]) { + case 'top': + pTop += 0; + break; + case 'bottom': + pTop += wnd.height() - this.uiDialog.height(); + break; + default: + case 'middle': + pTop += (wnd.height() - this.uiDialog.height()) / 2; + } + } + + // prevent the dialog from being too high (make sure the titlebar + // is accessible) + pTop = Math.max(pTop, minTop); + this.uiDialog.css({top: pTop, left: pLeft}); + }, + + _setData: function(key, value){ + (setDataSwitch[key] && this.uiDialog.data(setDataSwitch[key], value)); + switch (key) { + case "buttons": + this._createButtons(value); + break; + case "draggable": + (value + ? this._makeDraggable() + : this.uiDialog.draggable('destroy')); + break; + case "height": + this.uiDialog.height(value); + break; + case "position": + this._position(value); + break; + case "resizable": + var uiDialog = this.uiDialog, + isResizable = this.uiDialog.is(':data(resizable)'); + + // currently resizable, becoming non-resizable + (isResizable && !value && uiDialog.resizable('destroy')); + + // currently resizable, changing handles + (isResizable && typeof value == 'string' && + uiDialog.resizable('option', 'handles', value)); + + // currently non-resizable, becoming resizable + (isResizable || this._makeResizable(value)); + + break; + case "title": + $(".ui-dialog-title", this.uiDialogTitlebar).html(value || ' '); + break; + case "width": + this.uiDialog.width(value); + break; + } + + $.widget.prototype._setData.apply(this, arguments); + }, + + _size: function() { + var container = this.uiDialogContainer, + titlebar = this.uiDialogTitlebar, + content = this.element, + tbMargin = (parseInt(content.css('margin-top'), 10) || 0) + + (parseInt(content.css('margin-bottom'), 10) || 0), + lrMargin = (parseInt(content.css('margin-left'), 10) || 0) + + (parseInt(content.css('margin-right'), 10) || 0); + content.height(container.height() - titlebar.outerHeight() - tbMargin); + content.width(container.width() - lrMargin); + } +}); + +$.extend($.ui.dialog, { + defaults: { + autoOpen: true, + autoResize: true, + bgiframe: false, + buttons: {}, + closeOnEscape: true, + draggable: true, + height: 200, + minHeight: 100, + minWidth: 150, + modal: false, + overlay: {}, + position: 'center', + resizable: true, + stack: true, + width: 300, + zIndex: 1000 + }, + + getter: 'isOpen', + + uuid: 0, + getTitleId: function($el) { + return 'ui-dialog-title-' + ($el.attr('id') || ++this.uuid); + }, + + overlay: function(dialog) { + this.$el = $.ui.dialog.overlay.create(dialog); + } +}); + +$.extend($.ui.dialog.overlay, { + instances: [], + events: $.map('focus,mousedown,mouseup,keydown,keypress,click'.split(','), + function(e) { return e + '.dialog-overlay'; }).join(' '), + create: function(dialog) { + if (this.instances.length === 0) { + // prevent use of anchors and inputs + // we use a setTimeout in case the overlay is created from an + // event that we're going to be cancelling (see #2804) + setTimeout(function() { + $('a, :input').bind($.ui.dialog.overlay.events, function() { + // allow use of the element if inside a dialog and + // - there are no modal dialogs + // - there are modal dialogs, but we are in front of the topmost modal + var allow = false; + var $dialog = $(this).parents('.ui-dialog'); + if ($dialog.length) { + var $overlays = $('.ui-dialog-overlay'); + if ($overlays.length) { + var maxZ = parseInt($overlays.css('z-index'), 10); + $overlays.each(function() { + maxZ = Math.max(maxZ, parseInt($(this).css('z-index'), 10)); + }); + allow = parseInt($dialog.css('z-index'), 10) > maxZ; + } else { + allow = true; + } + } + return allow; + }); + }, 1); + + // allow closing by pressing the escape key + $(document).bind('keydown.dialog-overlay', function(e) { + (dialog.options.closeOnEscape && e.keyCode + && e.keyCode == $.keyCode.ESCAPE && dialog.close()); + }); + + // handle window resize + $(window).bind('resize.dialog-overlay', $.ui.dialog.overlay.resize); + } + + var $el = $('
    ').appendTo(document.body) + .addClass('ui-dialog-overlay').css($.extend({ + borderWidth: 0, margin: 0, padding: 0, + position: 'absolute', top: 0, left: 0, + width: this.width(), + height: this.height() + }, dialog.options.overlay)); + + (dialog.options.bgiframe && $.fn.bgiframe && $el.bgiframe()); + + this.instances.push($el); + return $el; + }, + + destroy: function($el) { + this.instances.splice($.inArray(this.instances, $el), 1); + + if (this.instances.length === 0) { + $('a, :input').add([document, window]).unbind('.dialog-overlay'); + } + + $el.remove(); + }, + + height: function() { + // handle IE 6 + if ($.browser.msie && $.browser.version < 7) { + var scrollHeight = Math.max( + document.documentElement.scrollHeight, + document.body.scrollHeight + ); + var offsetHeight = Math.max( + document.documentElement.offsetHeight, + document.body.offsetHeight + ); + + if (scrollHeight < offsetHeight) { + return $(window).height() + 'px'; + } else { + return scrollHeight + 'px'; + } + // handle Opera + } else if ($.browser.opera) { + return Math.max( + window.innerHeight, + $(document).height() + ) + 'px'; + // handle "good" browsers + } else { + return $(document).height() + 'px'; + } + }, + + width: function() { + // handle IE 6 + if ($.browser.msie && $.browser.version < 7) { + var scrollWidth = Math.max( + document.documentElement.scrollWidth, + document.body.scrollWidth + ); + var offsetWidth = Math.max( + document.documentElement.offsetWidth, + document.body.offsetWidth + ); + + if (scrollWidth < offsetWidth) { + return $(window).width() + 'px'; + } else { + return scrollWidth + 'px'; + } + // handle Opera + } else if ($.browser.opera) { + return Math.max( + window.innerWidth, + $(document).width() + ) + 'px'; + // handle "good" browsers + } else { + return $(document).width() + 'px'; + } + }, + + resize: function() { + /* If the dialog is draggable and the user drags it past the + * right edge of the window, the document becomes wider so we + * need to stretch the overlay. If the user then drags the + * dialog back to the left, the document will become narrower, + * so we need to shrink the overlay to the appropriate size. + * This is handled by shrinking the overlay before setting it + * to the full document size. + */ + var $overlays = $([]); + $.each($.ui.dialog.overlay.instances, function() { + $overlays = $overlays.add(this); + }); + + $overlays.css({ + width: 0, + height: 0 + }).css({ + width: $.ui.dialog.overlay.width(), + height: $.ui.dialog.overlay.height() + }); + } +}); + +$.extend($.ui.dialog.overlay.prototype, { + destroy: function() { + $.ui.dialog.overlay.destroy(this.$el); + } +}); + +})(jQuery); +/* + * jQuery UI Magnifier @VERSION + * + * Copyright (c) 2008 jQuery + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Magnifier + * + * Depends: + * ui.core.js + */ +(function($) { + +var counter = 0; + +$.widget("ui.magnifier", { + _init: function() { + var self = this, + o = this.options; + + this.element + .addClass("ui-magnifier") + .bind('click.magnifier', function(e) { + (!self.disabled && o.click && o.click.apply(this, [e, { + options: self.options, + current: self.current[0], + currentOffset: self.current[1] + }])); + }); + + // the element must have relative or absolute positioning + if (!(/^(r|a)/).test(this.element.css("position"))) { + this.element.css("position", "relative"); + } + + this.items = []; + this.element.find(o.items).each(function() { + var $this = $(this); + // TODO: use a hash so references to this data is readable + self.items.push([ + this, + $this.offset(), + [$this.width(),$this.height()], + (o.overlap ? $this.position() : null) + ]); + + (o.opacity && $this.css('opacity', o.opacity.min)); + }); + + // absolutize + (o.overlap && $.each(this.items, function() { + $(this[0]).css({ + position: "absolute", + top: this[3].top, + left: this[3].left + }); + })); + + this.identifier = ++counter; + $(document).bind("mousemove.magnifier"+this.identifier, function(e) { + (self.disabled || self._magnify.apply(self, [e])); + }); + + this.pp = this.element.offset(); + }, + + destroy: function() { + this.reset(); + this.element + .removeClass("ui-magnifier ui-magnifier-disabled") + .unbind(".magnifier"); + $(document).unbind("mousemove.magnifier"+this.identifier); + }, + + disable: function() { + this.reset(); + $.widget.prototype.disable.apply(this, arguments); + }, + + reset: function(e) { + var o = this.options; + + $.each(this.items, function() { + var item = this; + $(item[0]).css({ + width: item[2][0], + height: item[2][1], + top: (item[3] ? item[3].top : 0), + left: (item[3] ? item[3].left : 0) + }); + + (o.opacity && $(item[0]).css('opacity', o.opacity.min)); + (o.zIndex && $(item[0]).css("z-index", "")); + }); + }, + + _magnify: function(e) { + var p = [e.pageX,e.pageY], o = this.options, c, distance = 1; + this.current = this.items[0]; + + // Compute the parent's distance + // we don't need to fire anything if we are not near the parent + var overlap = ((p[0] > this.pp.left-o.distance) && + (p[0] < this.pp.left + this.element[0].offsetWidth + o.distance) && + (p[1] > this.pp.top-o.distance) && + (p[1] < this.pp.top + this.element[0].offsetHeight + o.distance)); + if (!overlap) { return false; } + + for (var i=0; i *" + } +}); + +})(jQuery); +/* + * jQuery UI ProgressBar @VERSION + * + * Copyright (c) 2008 Eduardo Lundgren + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/ProgressBar + * + * Depends: + * ui.core.js + */ +(function($) { + +$.widget("ui.progressbar", { + _init: function() { + + this._interval = this.options.interval; + + var self = this, + options = this.options, + id = (new Date()).getTime()+Math.random(), + text = options.text || '0%'; + + this.element.addClass("ui-progressbar").width(options.width); + + $.extend(this, { + active: false, + pixelState: 0, + percentState: 0, + identifier: id, + bar: $('
    ').css({ + width: '0px', overflow: 'hidden', zIndex: 100 + }), + textElement: $('
    ').html(text).css({ + width: '0px', overflow: 'hidden' + }), + textBg: $('
    ').html(text).css({ + width: this.element.width() + }), + wrapper: $('
    ') + }); + + this.wrapper + .append(this.bar.append(this.textElement.addClass(options.textClass)), this.textBg) + .appendTo(this.element); + }, + + plugins: {}, + ui: function(e) { + return { + instance: this, + identifier: this.identifier, + options: this.options, + element: this.bar, + textElement: this.textElement, + pixelState: this.pixelState, + percentState: this.percentState + }; + }, + + _propagate: function(n,e) { + $.ui.plugin.call(this, n, [e, this.ui()]); + this.element.triggerHandler(n == "progressbar" ? n : ["progressbar", n].join(""), [e, this.ui()], this.options[n]); + }, + + destroy: function() { + this.stop(); + + this.element + .removeClass("ui-progressbar ui-progressbar-disabled") + .removeData("progressbar").unbind(".progressbar") + .find('.ui-progressbar-wrap').remove(); + + delete jQuery.easing[this.identifier]; + }, + + enable: function() { + this.element.removeClass("ui-progressbar-disabled"); + this.disabled = false; + }, + + disable: function() { + this.element.addClass("ui-progressbar-disabled"); + this.disabled = true; + }, + + start: function() { + var self = this, options = this.options; + + if (this.disabled) { + return; + } + + jQuery.easing[this.identifier] = function (x, t, b, c, d) { + var inc = options.increment, + width = options.width, + step = ((inc > width ? width : inc)/width), + state = Math.round(x/step)*step; + return state > 1 ? 1 : state; + }; + + self.active = true; + + setTimeout( + function() { + self.active = false; + }, + options.duration + ); + + this._animate(); + + this._propagate('start', this.ui()); + return false; + }, + + _animate: function() { + var self = this, + options = this.options, + interval = options.interval; + + this.bar.animate( + { + width: options.width + }, + { + duration: interval, + easing: this.identifier, + step: function(step, b) { + self.progress((step/options.width)*100); + var timestamp = new Date().getTime(), elapsedTime = (timestamp - b.startTime); + options.interval = interval - elapsedTime; + }, + complete: function() { + delete jQuery.easing[self.identifier]; + self.pause(); + + if (self.active) { + /*TODO*/ + } + } + } + ); + }, + + pause: function() { + if (this.disabled) return; + this.bar.stop(); + this._propagate('pause', this.ui()); + }, + + stop: function() { + this.bar.stop(); + this.bar.width(0); + this.textElement.width(0); + this.bar.addClass('ui-hidden'); + this.options.interval = this._interval; + this._propagate('stop', this.ui()); + }, + + text: function(text){ + this.textElement.html(text); + this.textBg.html(text); + }, + + progress: function(percentState) { + if (this.bar.is('.ui-hidden')) { + this.bar.removeClass('ui-hidden'); + } + + this.percentState = percentState > 100 ? 100 : percentState; + this.pixelState = (this.percentState/100)*this.options.width; + this.bar.width(this.pixelState); + this.textElement.width(this.pixelState); + + if (this.options.range && !this.options.text) { + this.textElement.html(Math.round(this.percentState) + '%'); + } + this._propagate('progress', this.ui()); + } +}); + +$.ui.progressbar.defaults = { + width: 300, + duration: 3000, + interval: 200, + increment: 1, + range: true, + text: '', + addClass: '', + textClass: '' +}; + +})(jQuery);/* + * jQuery UI Slider @VERSION + * + * Copyright (c) 2008 Paul Bakaus + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Slider + * + * Depends: + * ui.core.js + */ +(function($) { + +$.fn.unwrap = $.fn.unwrap || function(expr) { + return this.each(function(){ + $(this).parents(expr).eq(0).after(this).remove(); + }); +}; + +$.widget("ui.slider", { + plugins: {}, + ui: function(e) { + return { + options: this.options, + handle: this.currentHandle, + value: this.options.axis != "both" || !this.options.axis ? Math.round(this.value(null,this.options.axis == "vertical" ? "y" : "x")) : { + x: Math.round(this.value(null,"x")), + y: Math.round(this.value(null,"y")) + }, + range: this._getRange() + }; + }, + _propagate: function(n,e) { + $.ui.plugin.call(this, n, [e, this.ui()]); + this.element.triggerHandler(n == "slide" ? n : "slide"+n, [e, this.ui()], this.options[n]); + }, + destroy: function() { + + this.element + .removeClass("ui-slider ui-slider-disabled") + .removeData("slider") + .unbind(".slider"); + + if(this.handle && this.handle.length) { + this.handle + .unwrap("a"); + this.handle.each(function() { + $(this).data("mouse")._mouseDestroy(); + }); + } + + this.generated && this.generated.remove(); + + }, + _setData: function(key, value) { + $.widget.prototype._setData.apply(this, arguments); + if (/min|max|steps/.test(key)) { + this._initBoundaries(); + } + + if(key == "range") { + value ? this.handle.length == 2 && this._createRange() : this._removeRange(); + } + + }, + + _init: function() { + + var self = this; + this.element.addClass("ui-slider"); + this._initBoundaries(); + + // Initialize mouse and key events for interaction + this.handle = $(this.options.handle, this.element); + if (!this.handle.length) { + self.handle = self.generated = $(self.options.handles || [0]).map(function() { + var handle = $("
    ").addClass("ui-slider-handle").appendTo(self.element); + if (this.id) + handle.attr("id", this.id); + return handle[0]; + }); + } + + + var handleclass = function(el) { + this.element = $(el); + this.element.data("mouse", this); + this.options = self.options; + + this.element.bind("mousedown", function() { + if(self.currentHandle) this.blur(self.currentHandle); + self._focus(this, true); + }); + + this._mouseInit(); + }; + + $.extend(handleclass.prototype, $.ui.mouse, { + _mouseStart: function(e) { return self._start.call(self, e, this.element[0]); }, + _mouseStop: function(e) { return self._stop.call(self, e, this.element[0]); }, + _mouseDrag: function(e) { return self._drag.call(self, e, this.element[0]); }, + _mouseCapture: function() { return true; }, + trigger: function(e) { this._mouseDown(e); } + }); + + + $(this.handle) + .each(function() { + new handleclass(this); + }) + .wrap('') + .parent() + .bind('click', function() { return false; }) + .bind('focus', function(e) { self._focus(this.firstChild); }) + .bind('blur', function(e) { self._blur(this.firstChild); }) + .bind('keydown', function(e) { if(!self.options.noKeyboard) return self._keydown(e.keyCode, this.firstChild); }) + ; + + // Bind the click to the slider itself + this.element.bind('mousedown.slider', function(e) { + self._click.apply(self, [e]); + self.currentHandle.data("mouse").trigger(e); + self.firstValue = self.firstValue + 1; //This is for always triggering the change event + }); + + // Move the first handle to the startValue + $.each(this.options.handles || [], function(index, handle) { + self.moveTo(handle.start, index, true); + }); + if (!isNaN(this.options.startValue)) + this.moveTo(this.options.startValue, 0, true); + + this.previousHandle = $(this.handle[0]); //set the previous handle to the first to allow clicking before selecting the handle + if(this.handle.length == 2 && this.options.range) this._createRange(); + }, + _initBoundaries: function() { + + var element = this.element[0], o = this.options; + this.actualSize = { width: this.element.outerWidth() , height: this.element.outerHeight() }; + + $.extend(o, { + axis: o.axis || (element.offsetWidth < element.offsetHeight ? 'vertical' : 'horizontal'), + max: !isNaN(parseInt(o.max,10)) ? { x: parseInt(o.max, 10), y: parseInt(o.max, 10) } : ({ x: o.max && o.max.x || 100, y: o.max && o.max.y || 100 }), + min: !isNaN(parseInt(o.min,10)) ? { x: parseInt(o.min, 10), y: parseInt(o.min, 10) } : ({ x: o.min && o.min.x || 0, y: o.min && o.min.y || 0 }) + }); + //Prepare the real maxValue + o.realMax = { + x: o.max.x - o.min.x, + y: o.max.y - o.min.y + }; + //Calculate stepping based on steps + o.stepping = { + x: o.stepping && o.stepping.x || parseInt(o.stepping, 10) || (o.steps ? o.realMax.x/(o.steps.x || parseInt(o.steps, 10) || o.realMax.x) : 0), + y: o.stepping && o.stepping.y || parseInt(o.stepping, 10) || (o.steps ? o.realMax.y/(o.steps.y || parseInt(o.steps, 10) || o.realMax.y) : 0) + }; + }, + + + _keydown: function(keyCode, handle) { + var k = keyCode; + if(/(33|34|35|36|37|38|39|40)/.test(k)) { + var o = this.options, xpos, ypos; + if (/(35|36)/.test(k)) { + xpos = (k == 35) ? o.max.x : o.min.x; + ypos = (k == 35) ? o.max.y : o.min.y; + } else { + var oper = /(34|37|40)/.test(k) ? "-=" : "+="; + var step = /(37|38|39|40)/.test(k) ? "_oneStep" : "_pageStep"; + xpos = oper + this[step]("x"); + ypos = oper + this[step]("y"); + } + this.moveTo({ + x: xpos, + y: ypos + }, handle); + return false; + } + return true; + }, + _focus: function(handle,hard) { + this.currentHandle = $(handle).addClass('ui-slider-handle-active'); + if (hard) + this.currentHandle.parent()[0].focus(); + }, + _blur: function(handle) { + $(handle).removeClass('ui-slider-handle-active'); + if(this.currentHandle && this.currentHandle[0] == handle) { this.previousHandle = this.currentHandle; this.currentHandle = null; }; + }, + _click: function(e) { + // This method is only used if: + // - The user didn't click a handle + // - The Slider is not disabled + // - There is a current, or previous selected handle (otherwise we wouldn't know which one to move) + + var pointer = [e.pageX,e.pageY]; + + var clickedHandle = false; + this.handle.each(function() { + if(this == e.target) + clickedHandle = true; + }); + if (clickedHandle || this.options.disabled || !(this.currentHandle || this.previousHandle)) + return; + + // If a previous handle was focussed, focus it again + if (!this.currentHandle && this.previousHandle) + this._focus(this.previousHandle, true); + + // propagate only for distance > 0, otherwise propagation is done my drag + this.offset = this.element.offset(); + + this.moveTo({ + y: this._convertValue(e.pageY - this.offset.top - this.currentHandle[0].offsetHeight/2, "y"), + x: this._convertValue(e.pageX - this.offset.left - this.currentHandle[0].offsetWidth/2, "x") + }, null, !this.options.distance); + }, + + + + _createRange: function() { + if(this.rangeElement) return; + this.rangeElement = $('
    ') + .addClass('ui-slider-range') + .css({ position: 'absolute' }) + .appendTo(this.element); + this._updateRange(); + }, + _removeRange: function() { + this.rangeElement.remove(); + this.rangeElement = null; + }, + _updateRange: function() { + var prop = this.options.axis == "vertical" ? "top" : "left"; + var size = this.options.axis == "vertical" ? "height" : "width"; + this.rangeElement.css(prop, (parseInt($(this.handle[0]).css(prop),10) || 0) + this._handleSize(0, this.options.axis == "vertical" ? "y" : "x")/2); + this.rangeElement.css(size, (parseInt($(this.handle[1]).css(prop),10) || 0) - (parseInt($(this.handle[0]).css(prop),10) || 0)); + }, + _getRange: function() { + return this.rangeElement ? this._convertValue(parseInt(this.rangeElement.css(this.options.axis == "vertical" ? "height" : "width"),10), this.options.axis == "vertical" ? "y" : "x") : null; + }, + + _handleIndex: function() { + return this.handle.index(this.currentHandle[0]); + }, + value: function(handle, axis) { + if(this.handle.length == 1) this.currentHandle = this.handle; + if(!axis) axis = this.options.axis == "vertical" ? "y" : "x"; + + var curHandle = $(handle != undefined && handle !== null ? this.handle[handle] || handle : this.currentHandle); + + if(curHandle.data("mouse").sliderValue) { + return parseInt(curHandle.data("mouse").sliderValue[axis],10); + } else { + return parseInt(((parseInt(curHandle.css(axis == "x" ? "left" : "top"),10) / (this.actualSize[axis == "x" ? "width" : "height"] - this._handleSize(handle,axis))) * this.options.realMax[axis]) + this.options.min[axis],10); + } + + }, + _convertValue: function(value,axis) { + return this.options.min[axis] + (value / (this.actualSize[axis == "x" ? "width" : "height"] - this._handleSize(null,axis))) * this.options.realMax[axis]; + }, + + _translateValue: function(value,axis) { + return ((value - this.options.min[axis]) / this.options.realMax[axis]) * (this.actualSize[axis == "x" ? "width" : "height"] - this._handleSize(null,axis)); + }, + _translateRange: function(value,axis) { + if (this.rangeElement) { + if (this.currentHandle[0] == this.handle[0] && value >= this._translateValue(this.value(1),axis)) + value = this._translateValue(this.value(1,axis) - this._oneStep(axis), axis); + if (this.currentHandle[0] == this.handle[1] && value <= this._translateValue(this.value(0),axis)) + value = this._translateValue(this.value(0,axis) + this._oneStep(axis), axis); + } + if (this.options.handles) { + var handle = this.options.handles[this._handleIndex()]; + if (value < this._translateValue(handle.min,axis)) { + value = this._translateValue(handle.min,axis); + } else if (value > this._translateValue(handle.max,axis)) { + value = this._translateValue(handle.max,axis); + } + } + return value; + }, + _translateLimits: function(value,axis) { + if (value >= this.actualSize[axis == "x" ? "width" : "height"] - this._handleSize(null,axis)) + value = this.actualSize[axis == "x" ? "width" : "height"] - this._handleSize(null,axis); + if (value <= 0) + value = 0; + return value; + }, + _handleSize: function(handle,axis) { + return $(handle != undefined && handle !== null ? this.handle[handle] : this.currentHandle)[0]["offset"+(axis == "x" ? "Width" : "Height")]; + }, + _oneStep: function(axis) { + return this.options.stepping[axis] || 1; + }, + _pageStep: function(axis) { + return /* this.options.paging[axis] ||*/ 10; + }, + + + _start: function(e, handle) { + + var o = this.options; + if(o.disabled) return false; + + // Prepare the outer size + this.actualSize = { width: this.element.outerWidth() , height: this.element.outerHeight() }; + + // This is a especially ugly fix for strange blur events happening on mousemove events + if (!this.currentHandle) + this._focus(this.previousHandle, true); + + this.offset = this.element.offset(); + + this.handleOffset = this.currentHandle.offset(); + this.clickOffset = { top: e.pageY - this.handleOffset.top, left: e.pageX - this.handleOffset.left }; + + this.firstValue = this.value(); + + this._propagate('start', e); + this._drag(e, handle); + return true; + + }, + _stop: function(e) { + this._propagate('stop', e); + if (this.firstValue != this.value()) + this._propagate('change', e); + // This is a especially ugly fix for strange blur events happening on mousemove events + this._focus(this.currentHandle, true); + return false; + }, + _drag: function(e, handle) { + + var o = this.options; + var position = { top: e.pageY - this.offset.top - this.clickOffset.top, left: e.pageX - this.offset.left - this.clickOffset.left}; + if(!this.currentHandle) this._focus(this.previousHandle, true); //This is a especially ugly fix for strange blur events happening on mousemove events + + position.left = this._translateLimits(position.left, "x"); + position.top = this._translateLimits(position.top, "y"); + + if (o.stepping.x) { + var value = this._convertValue(position.left, "x"); + value = Math.round(value / o.stepping.x) * o.stepping.x; + position.left = this._translateValue(value, "x"); + } + if (o.stepping.y) { + var value = this._convertValue(position.top, "y"); + value = Math.round(value / o.stepping.y) * o.stepping.y; + position.top = this._translateValue(value, "y"); + } + + position.left = this._translateRange(position.left, "x"); + position.top = this._translateRange(position.top, "y"); + + if(o.axis != "vertical") this.currentHandle.css({ left: position.left }); + if(o.axis != "horizontal") this.currentHandle.css({ top: position.top }); + + //Store the slider's value + this.currentHandle.data("mouse").sliderValue = { + x: Math.round(this._convertValue(position.left, "x")) || 0, + y: Math.round(this._convertValue(position.top, "y")) || 0 + }; + + if (this.rangeElement) + this._updateRange(); + this._propagate('slide', e); + return false; + }, + + moveTo: function(value, handle, noPropagation) { + + var o = this.options; + + // Prepare the outer size + this.actualSize = { width: this.element.outerWidth() , height: this.element.outerHeight() }; + + //If no handle has been passed, no current handle is available and we have multiple handles, return false + if (handle == undefined && !this.currentHandle && this.handle.length != 1) + return false; + + //If only one handle is available, use it + if (handle == undefined && !this.currentHandle) + handle = 0; + + if (handle != undefined) + this.currentHandle = this.previousHandle = $(this.handle[handle] || handle); + + + if(value.x !== undefined && value.y !== undefined) { + var x = value.x, y = value.y; + } else { + var x = value, y = value; + } + + if(x !== undefined && x.constructor != Number) { + var me = /^\-\=/.test(x), pe = /^\+\=/.test(x); + if(me || pe) { + x = this.value(null, "x") + parseInt(x.replace(me ? '=' : '+=', ''), 10); + } else { + x = isNaN(parseInt(x, 10)) ? undefined : parseInt(x, 10); + } + } + + if(y !== undefined && y.constructor != Number) { + var me = /^\-\=/.test(y), pe = /^\+\=/.test(y); + if(me || pe) { + y = this.value(null, "y") + parseInt(y.replace(me ? '=' : '+=', ''), 10); + } else { + y = isNaN(parseInt(y, 10)) ? undefined : parseInt(y, 10); + } + } + + if(o.axis != "vertical" && x !== undefined) { + if(o.stepping.x) x = Math.round(x / o.stepping.x) * o.stepping.x; + x = this._translateValue(x, "x"); + x = this._translateLimits(x, "x"); + x = this._translateRange(x, "x"); + + o.animate ? this.currentHandle.stop().animate({ left: x }, (Math.abs(parseInt(this.currentHandle.css("left")) - x)) * (!isNaN(parseInt(o.animate)) ? o.animate : 5)) : this.currentHandle.css({ left: x }); + } + + if(o.axis != "horizontal" && y !== undefined) { + if(o.stepping.y) y = Math.round(y / o.stepping.y) * o.stepping.y; + y = this._translateValue(y, "y"); + y = this._translateLimits(y, "y"); + y = this._translateRange(y, "y"); + o.animate ? this.currentHandle.stop().animate({ top: y }, (Math.abs(parseInt(this.currentHandle.css("top")) - y)) * (!isNaN(parseInt(o.animate)) ? o.animate : 5)) : this.currentHandle.css({ top: y }); + } + + if (this.rangeElement) + this._updateRange(); + + //Store the slider's value + this.currentHandle.data("mouse").sliderValue = { + x: Math.round(this._convertValue(x, "x")) || 0, + y: Math.round(this._convertValue(y, "y")) || 0 + }; + + if (!noPropagation) { + this._propagate('start', null); + this._propagate('stop', null); + this._propagate('change', null); + this._propagate("slide", null); + } + } +}); + +$.ui.slider.getter = "value"; + +$.ui.slider.defaults = { + handle: ".ui-slider-handle", + distance: 1, + animate: false +}; + +})(jQuery); +/* + * jQuery UI Spinner @VERSION + * + * Copyright (c) 2008 jQuery + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Spinner + * + * Depends: + * ui.core.js + */ +(function($) { + +$.widget('ui.spinner', { + _init: function() { + // terminate initialization if spinner already applied to current element + if($.data(this.element[0], 'spinner')) return; + + // check for onInit callback + if (this.options.init) { + this.options.init(this.ui(null)); + } + + // check for decimals in steppinng and set _decimals as internal (needs cleaning up) + this._decimals = 0; + if (this.options.stepping.toString().indexOf('.') != -1) { + var s = this.options.stepping.toString(); + this._decimals = s.slice(s.indexOf('.')+1, s.length).length; + } + + //Initialize needed constants + var self = this; + this.element + .addClass('ui-spinner-box') + .attr('autocomplete', 'off'); // switch off autocomplete in opera + + this._setValue( isNaN(this._getValue()) ? this.options.start : this._getValue() ); + + this.element + .wrap('
    ') + .parent() + .addClass('ui-spinner') + .append('') + .find('.ui-spinner-up') + .bind('mousedown', function(e) { + $(this).addClass('ui-spinner-pressed'); + if(!self.counter) self.counter = 1; + self._mousedown(100, '_up', e); + }) + .bind('mouseup', function(e) { + $(this).removeClass('ui-spinner-pressed'); + if(self.counter == 1) self._up(e); + self._mouseup(e); + }) + .bind('mouseout', function(e) { + $(this).removeClass('ui-spinner-pressed'); + self._mouseup(e); + }) + // mousedown/mouseup capture first click, now handle second click + .bind('dblclick', function(e) { + $(this).removeClass('ui-spinner-pressed'); + self._up(e); + }) + .bind('keydown.spinner', function(e) { + var KEYS = $.keyCode; + if (e.keyCode == KEYS.SPACE || e.keyCode == KEYS.ENTER) { + $(this).addClass('ui-spinner-pressed'); + if(!self.counter) self.counter = 1; + self._up.call(self, e); + } else if (e.keyCode == KEYS.DOWN || e.keyCode == KEYS.RIGHT) { + self.element.siblings('.ui-spinner-down').focus(); + } else if (e.keyCode == KEYS.LEFT) { + self.element.focus(); + } + }) + .bind('keyup.spinner', function(e) { + $(this).removeClass('ui-spinner-pressed'); + self.counter = 0; + self._propagate('change', e); + }) + .end() + .append('') + .find('.ui-spinner-down') + .bind('mousedown', function(e) { + $(this).addClass('ui-spinner-pressed'); + if(!self.counter) self.counter = 1; + self._mousedown(100, '_down', e); + }) + .bind('mouseup', function(e) { + $(this).removeClass('ui-spinner-pressed'); + if(self.counter == 1) self._down(); + self._mouseup(e); + }) + .bind('mouseout', function(e) { + $(this).removeClass('ui-spinner-pressed'); + self._mouseup(e); + }) + // mousedown/mouseup capture first click, now handle second click + .bind('dblclick', function(e) { + $(this).removeClass('ui-spinner-pressed'); + self._down(e); + }) + .bind('keydown.spinner', function(e) { + var KEYS = $.keyCode; + if (e.keyCode == KEYS.SPACE || e.keyCode == KEYS.ENTER) { + $(this).addClass('ui-spinner-pressed'); + if(!self.counter) self.counter = 1; + self._down.call(self, e); + } else if (e.keyCode == KEYS.UP || e.keyCode == KEYS.LEFT) { + self.element.siblings('.ui-spinner-up').focus(); + } + }) + .bind('keyup.spinner', function(e) { + $(this).removeClass('ui-spinner-pressed'); + self.counter = 0; + self._propagate('change', e); + }) + .end(); + + + // DataList: Set contraints for object length and step size. + // Manipulate height of spinner. + this._items = this.element.children().length; + if (this._items > 1) { + this.element + .addClass('ui-spinner-list') + .css('height', this.element.outerHeight()/this._items) + .children() + .addClass('ui-spinner-listitem') + .end() + .parent() + .css('height', this.element.outerHeight()) + .end(); + this.options.stepping = 1; + this.options.min = 0; + this.options.max = this._items-1; + } + + this.element + .bind('keydown.spinner', function(e) { + if(!self.counter) self.counter = 1; + return self._keydown.call(self, e); + }) + .bind('keyup.spinner', function(e) { + self.counter = 0; + self._propagate('change', e); + }) + .bind('blur.spinner', function(e) { + self._cleanUp(); + }); + + if ($.fn.mousewheel) { + this.element.mousewheel(function(e, delta) { + self._mousewheel(e, delta); + }); + } + }, + + + _constrain: function() { + if(this.options.min != undefined && this._getValue() < this.options.min) this._setValue(this.options.min); + if(this.options.max != undefined && this._getValue() > this.options.max) this._setValue(this.options.max); + }, + _cleanUp: function() { + this._setValue(this._getValue()); + this._constrain(); + }, + _spin: function(d, e) { + if (this.disabled) return; + + if(isNaN(this._getValue())) this._setValue(this.options.start); + this._setValue(this._getValue() + (d == 'up' ? 1:-1) * (this.options.incremental && this.counter > 100 ? (this.counter > 200 ? 100 : 10) : 1) * this.options.stepping); + this._animate(d); + this._constrain(); + if(this.counter) this.counter++; + this._propagate('spin', e); + }, + _down: function(e) { + this._spin('down', e); + this._propagate('down', e); + }, + _up: function(e) { + this._spin('up', e); + this._propagate('up', e); + }, + _mousedown: function(i, d, e) { + var self = this; + i = i || 100; + if(this.timer) window.clearInterval(this.timer); + this.timer = window.setInterval(function() { + self[d](e); + if(self.counter > 20) self._mousedown(20, d, e); + }, i); + }, + _mouseup: function(e) { + this.counter = 0; + if(this.timer) window.clearInterval(this.timer); + this.element[0].focus(); + this._propagate('change', e); + }, + _keydown: function(e) { + var KEYS = $.keyCode; + + if(e.keyCode == KEYS.UP) this._up(e); + if(e.keyCode == KEYS.DOWN) this._down(e); + if(e.keyCode == KEYS.HOME) this._setValue(this.options.min || this.options.start); //Home key goes to min, if defined, else to start + if(e.keyCode == KEYS.END && this.options.max != undefined) this._setValue(this.options.max); //End key goes to maximum + return (e.keyCode == KEYS.TAB || e.keyCode == KEYS.BACKSPACE || + e.keyCode == KEYS.LEFT || e.keyCode == KEYS.RIGHT || e.keyCode == KEYS.PERIOD || + e.keyCode == KEYS.NUMPAD_DECIMAL || e.keyCode == KEYS.NUMPAD_SUBTRACT || + (e.keyCode >= 96 && e.keyCode <= 105) || // add support for numeric keypad 0-9 + (/[0-9\-\.]/).test(String.fromCharCode(e.keyCode))) ? true : false; + }, + _mousewheel: function(e, delta) { + delta = ($.browser.opera ? -delta / Math.abs(delta) : delta); + delta > 0 ? this._up(e) : this._down(e); + e.preventDefault(); + }, + _getValue: function() { + return parseFloat(this.element.val().replace(/[^0-9\-\.]/g, '')); + }, + _setValue: function(newVal) { + if(isNaN(newVal)) newVal = this.options.start; + this.element.val( + this.options.currency ? + $.ui.spinner.format.currency(newVal, this.options.currency) : + $.ui.spinner.format.number(newVal, this._decimals) + ); + }, + _animate: function(d) { + if (this.element.hasClass('ui-spinner-list') && ((d == 'up' && this._getValue() <= this.options.max) || (d == 'down' && this._getValue() >= this.options.min)) ) { + this.element.animate({marginTop: '-' + this._getValue() * this.element.outerHeight() }, { + duration: 'fast', + queue: false + }); + } + }, + _addItem: function(html) { + if (!this.element.is('input')) { + var wrapper = 'div'; + if (this.element.is('ol') || this.element.is('ul')) { + wrapper = 'li'; + } + this.element.append('<'+ wrapper +' class="ui-spinner-dyn">'+ html + ''); + } + }, + + + plugins: {}, + ui: function(e) { + return { + options: this.options, + element: this.element, + value: this._getValue(), + add: this._addItem + }; + }, + _propagate: function(n,e) { + $.ui.plugin.call(this, n, [e, this.ui()]); + return this.element.triggerHandler(n == 'spin' ? n : 'spin'+n, [e, this.ui()], this.options[n]); + }, + destroy: function() { + if(!$.data(this.element[0], 'spinner')) return; + if ($.fn.mousewheel) { + this.element.unmousewheel(); + } + this.element + .removeClass('ui-spinner-box ui-spinner-list') + .removeAttr('disabled') + .removeAttr('autocomplete') + .removeData('spinner') + .unbind('.spinner') + .siblings() + .remove() + .end() + .children() + .removeClass('ui-spinner-listitem') + .remove('.ui-spinner-dyn') + .end() + .parent() + .removeClass('ui-spinner ui-spinner-disabled') + .before(this.element.clone()) + .remove() + .end(); + }, + enable: function() { + this.element + .removeAttr('disabled') + .siblings() + .removeAttr('disabled') + .parent() + .removeClass('ui-spinner-disabled'); + this.disabled = false; + }, + disable: function() { + this.element + .attr('disabled', true) + .siblings() + .attr('disabled', true) + .parent() + .addClass('ui-spinner-disabled'); + this.disabled = true; + } +}); + +$.extend($.ui.spinner, { + defaults: { + stepping: 1, + start: 0, + incremental: true, + currency: false + }, + format: { + number: function(num, dec) { + return this.round(num, dec); + }, + currency: function(num, sym) { + return (num !== Math.abs(num) ? '-' : '') + sym + this.round(Math.abs(num), 2); + }, + round: function(num, dec) { + var s = Math.round(parseFloat(num)*Math.pow(10, dec)) / Math.pow(10, dec); // round off weird decimals + if (dec > 0) { + s = s + ((s.toString().indexOf('.') == -1) ? '.' : '') + '0000000001'; + s = s.substr(0, s.indexOf('.')+1+dec); + } else { + s = Math.round(s); + } + return s; + } + } +}); + +})(jQuery); +/* + * jQuery UI Tabs @VERSION + * + * Copyright (c) 2007, 2008 Klaus Hartl (stilbuero.de) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Tabs + * + * Depends: + * ui.core.js + */ +(function($) { + +$.widget("ui.tabs", { + _init: function() { + this.options.event += '.tabs'; // namespace event + + // create tabs + this._tabify(true); + }, + _setData: function(key, value) { + if ((/^selected/).test(key)) + this.select(value); + else { + this.options[key] = value; + this._tabify(); + } + }, + length: function() { + return this.$tabs.length; + }, + _tabId: function(a) { + return a.title && a.title.replace(/\s/g, '_').replace(/[^A-Za-z0-9\-_:\.]/g, '') + || this.options.idPrefix + $.data(a); + }, + ui: function(tab, panel) { + return { + options: this.options, + tab: tab, + panel: panel, + index: this.$tabs.index(tab) + }; + }, + _tabify: function(init) { + + this.$lis = $('li:has(a[href])', this.element); + this.$tabs = this.$lis.map(function() { return $('a', this)[0]; }); + this.$panels = $([]); + + var self = this, o = this.options; + + this.$tabs.each(function(i, a) { + // inline tab + if (a.hash && a.hash.replace('#', '')) // Safari 2 reports '#' for an empty hash + self.$panels = self.$panels.add(a.hash); + // remote tab + else if ($(a).attr('href') != '#') { // prevent loading the page itself if href is just "#" + $.data(a, 'href.tabs', a.href); // required for restore on destroy + $.data(a, 'load.tabs', a.href); // mutable + var id = self._tabId(a); + a.href = '#' + id; + var $panel = $('#' + id); + if (!$panel.length) { + $panel = $(o.panelTemplate).attr('id', id).addClass(o.panelClass) + .insertAfter( self.$panels[i - 1] || self.element ); + $panel.data('destroy.tabs', true); + } + self.$panels = self.$panels.add( $panel ); + } + // invalid tab href + else + o.disabled.push(i + 1); + }); + + // initialization from scratch + if (init) { + + // attach necessary classes for styling if not present + this.element.addClass(o.navClass); + this.$panels.each(function() { + var $this = $(this); + $this.addClass(o.panelClass); + }); + + // Selected tab + // use "selected" option or try to retrieve: + // 1. from fragment identifier in url + // 2. from cookie + // 3. from selected class attribute on
  • + if (o.selected === undefined) { + if (location.hash) { + this.$tabs.each(function(i, a) { + if (a.hash == location.hash) { + o.selected = i; + // prevent page scroll to fragment + if ($.browser.msie || $.browser.opera) { // && !o.remote + var $toShow = $(location.hash), toShowId = $toShow.attr('id'); + $toShow.attr('id', ''); + setTimeout(function() { + $toShow.attr('id', toShowId); // restore id + }, 500); + } + scrollTo(0, 0); + return false; // break + } + }); + } + else if (o.cookie) { + var index = parseInt($.cookie('ui-tabs-' + $.data(self.element[0])), 10); + if (index && self.$tabs[index]) + o.selected = index; + } + else if (self.$lis.filter('.' + o.selectedClass).length) + o.selected = self.$lis.index( self.$lis.filter('.' + o.selectedClass)[0] ); + } + o.selected = o.selected === null || o.selected !== undefined ? o.selected : 0; // first tab selected by default + + // Take disabling tabs via class attribute from HTML + // into account and update option properly. + // A selected tab cannot become disabled. + o.disabled = $.unique(o.disabled.concat( + $.map(this.$lis.filter('.' + o.disabledClass), + function(n, i) { return self.$lis.index(n); } ) + )).sort(); + if ($.inArray(o.selected, o.disabled) != -1) + o.disabled.splice($.inArray(o.selected, o.disabled), 1); + + // highlight selected tab + this.$panels.addClass(o.hideClass); + this.$lis.removeClass(o.selectedClass); + if (o.selected !== null) { + this.$panels.eq(o.selected).show().removeClass(o.hideClass); // use show and remove class to show in any case no matter how it has been hidden before + this.$lis.eq(o.selected).addClass(o.selectedClass); + + // seems to be expected behavior that the show callback is fired + var onShow = function() { + self._trigger('show', null, + self.ui(self.$tabs[o.selected], self.$panels[o.selected])); + }; + + // load if remote tab + if ($.data(this.$tabs[o.selected], 'load.tabs')) + this.load(o.selected, onShow); + // just trigger show event + else + onShow(); + } + + // clean up to avoid memory leaks in certain versions of IE 6 + $(window).bind('unload', function() { + self.$tabs.unbind('.tabs'); + self.$lis = self.$tabs = self.$panels = null; + }); + + } + // update selected after add/remove + else + o.selected = this.$lis.index( this.$lis.filter('.' + o.selectedClass)[0] ); + + // set or update cookie after init and add/remove respectively + if (o.cookie) + $.cookie('ui-tabs-' + $.data(self.element[0]), o.selected, o.cookie); + + // disable tabs + for (var i = 0, li; li = this.$lis[i]; i++) + $(li)[$.inArray(i, o.disabled) != -1 && !$(li).hasClass(o.selectedClass) ? 'addClass' : 'removeClass'](o.disabledClass); + + // reset cache if switching from cached to not cached + if (o.cache === false) + this.$tabs.removeData('cache.tabs'); + + // set up animations + var hideFx, showFx, baseFx = { 'min-width': 0, duration: 1 }, baseDuration = 'normal'; + if (o.fx && o.fx.constructor == Array) + hideFx = o.fx[0] || baseFx, showFx = o.fx[1] || baseFx; + else + hideFx = showFx = o.fx || baseFx; + + // reset some styles to maintain print style sheets etc. + var resetCSS = { display: '', overflow: '', height: '' }; + if (!$.browser.msie) // not in IE to prevent ClearType font issue + resetCSS.opacity = ''; + + // Hide a tab, animation prevents browser scrolling to fragment, + // $show is optional. + function hideTab(clicked, $hide, $show) { + $hide.animate(hideFx, hideFx.duration || baseDuration, function() { // + $hide.addClass(o.hideClass).css(resetCSS); // maintain flexible height and accessibility in print etc. + if ($.browser.msie && hideFx.opacity) + $hide[0].style.filter = ''; + if ($show) + showTab(clicked, $show, $hide); + }); + } + + // Show a tab, animation prevents browser scrolling to fragment, + // $hide is optional. + function showTab(clicked, $show, $hide) { + if (showFx === baseFx) + $show.css('display', 'block'); // prevent occasionally occuring flicker in Firefox cause by gap between showing and hiding the tab panels + $show.animate(showFx, showFx.duration || baseDuration, function() { + $show.removeClass(o.hideClass).css(resetCSS); // maintain flexible height and accessibility in print etc. + if ($.browser.msie && showFx.opacity) + $show[0].style.filter = ''; + + // callback + self._trigger('show', null, self.ui(clicked, $show[0])); + }); + } + + // switch a tab + function switchTab(clicked, $li, $hide, $show) { + /*if (o.bookmarkable && trueClick) { // add to history only if true click occured, not a triggered click + $.ajaxHistory.update(clicked.hash); + }*/ + $li.addClass(o.selectedClass) + .siblings().removeClass(o.selectedClass); + hideTab(clicked, $hide, $show); + } + + // attach tab event handler, unbind to avoid duplicates from former tabifying... + this.$tabs.unbind('.tabs').bind(o.event, function() { + + //var trueClick = e.clientX; // add to history only if true click occured, not a triggered click + var $li = $(this).parents('li:eq(0)'), + $hide = self.$panels.filter(':visible'), + $show = $(this.hash); + + // If tab is already selected and not unselectable or tab disabled or + // or is already loading or click callback returns false stop here. + // Check if click handler returns false last so that it is not executed + // for a disabled or loading tab! + if (($li.hasClass(o.selectedClass) && !o.unselect) + || $li.hasClass(o.disabledClass) + || $(this).hasClass(o.loadingClass) + || self._trigger('select', null, self.ui(this, $show[0])) === false + ) { + this.blur(); + return false; + } + + self.options.selected = self.$tabs.index(this); + + // if tab may be closed + if (o.unselect) { + if ($li.hasClass(o.selectedClass)) { + self.options.selected = null; + $li.removeClass(o.selectedClass); + self.$panels.stop(); + hideTab(this, $hide); + this.blur(); + return false; + } else if (!$hide.length) { + self.$panels.stop(); + var a = this; + self.load(self.$tabs.index(this), function() { + $li.addClass(o.selectedClass).addClass(o.unselectClass); + showTab(a, $show); + }); + this.blur(); + return false; + } + } + + if (o.cookie) + $.cookie('ui-tabs-' + $.data(self.element[0]), self.options.selected, o.cookie); + + // stop possibly running animations + self.$panels.stop(); + + // show new tab + if ($show.length) { + + // prevent scrollbar scrolling to 0 and than back in IE7, happens only if bookmarking/history is enabled + /*if ($.browser.msie && o.bookmarkable) { + var showId = this.hash.replace('#', ''); + $show.attr('id', ''); + setTimeout(function() { + $show.attr('id', showId); // restore id + }, 0); + }*/ + + var a = this; + self.load(self.$tabs.index(this), $hide.length ? + function() { + switchTab(a, $li, $hide, $show); + } : + function() { + $li.addClass(o.selectedClass); + showTab(a, $show); + } + ); + + // Set scrollbar to saved position - need to use timeout with 0 to prevent browser scroll to target of hash + /*var scrollX = window.pageXOffset || document.documentElement && document.documentElement.scrollLeft || document.body.scrollLeft || 0; + var scrollY = window.pageYOffset || document.documentElement && document.documentElement.scrollTop || document.body.scrollTop || 0; + setTimeout(function() { + scrollTo(scrollX, scrollY); + }, 0);*/ + + } else + throw 'jQuery UI Tabs: Mismatching fragment identifier.'; + + // Prevent IE from keeping other link focussed when using the back button + // and remove dotted border from clicked link. This is controlled in modern + // browsers via CSS, also blur removes focus from address bar in Firefox + // which can become a usability and annoying problem with tabsRotate. + if ($.browser.msie) + this.blur(); + + //return o.bookmarkable && !!trueClick; // convert trueClick == undefined to Boolean required in IE + return false; + + }); + + // disable click if event is configured to something else + if (!(/^click/).test(o.event)) + this.$tabs.bind('click.tabs', function() { return false; }); + + }, + add: function(url, label, index) { + if (index == undefined) + index = this.$tabs.length; // append by default + + var o = this.options; + var $li = $(o.tabTemplate.replace(/#\{href\}/g, url).replace(/#\{label\}/g, label)); + $li.data('destroy.tabs', true); + + var id = url.indexOf('#') == 0 ? url.replace('#', '') : this._tabId( $('a:first-child', $li)[0] ); + + // try to find an existing element before creating a new one + var $panel = $('#' + id); + if (!$panel.length) { + $panel = $(o.panelTemplate).attr('id', id) + .addClass(o.hideClass) + .data('destroy.tabs', true); + } + $panel.addClass(o.panelClass); + if (index >= this.$lis.length) { + $li.appendTo(this.element); + $panel.appendTo(this.element[0].parentNode); + } else { + $li.insertBefore(this.$lis[index]); + $panel.insertBefore(this.$panels[index]); + } + + o.disabled = $.map(o.disabled, + function(n, i) { return n >= index ? ++n : n }); + + this._tabify(); + + if (this.$tabs.length == 1) { + $li.addClass(o.selectedClass); + $panel.removeClass(o.hideClass); + var href = $.data(this.$tabs[0], 'load.tabs'); + if (href) + this.load(index, href); + } + + // callback + this._trigger('add', null, this.ui(this.$tabs[index], this.$panels[index])); + }, + remove: function(index) { + var o = this.options, $li = this.$lis.eq(index).remove(), + $panel = this.$panels.eq(index).remove(); + + // If selected tab was removed focus tab to the right or + // in case the last tab was removed the tab to the left. + if ($li.hasClass(o.selectedClass) && this.$tabs.length > 1) + this.select(index + (index + 1 < this.$tabs.length ? 1 : -1)); + + o.disabled = $.map($.grep(o.disabled, function(n, i) { return n != index; }), + function(n, i) { return n >= index ? --n : n }); + + this._tabify(); + + // callback + this._trigger('remove', null, this.ui($li.find('a')[0], $panel[0])); + }, + enable: function(index) { + var o = this.options; + if ($.inArray(index, o.disabled) == -1) + return; + + var $li = this.$lis.eq(index).removeClass(o.disabledClass); + if ($.browser.safari) { // fix disappearing tab (that used opacity indicating disabling) after enabling in Safari 2... + $li.css('display', 'inline-block'); + setTimeout(function() { + $li.css('display', 'block'); + }, 0); + } + + o.disabled = $.grep(o.disabled, function(n, i) { return n != index; }); + + // callback + this._trigger('enable', null, this.ui(this.$tabs[index], this.$panels[index])); + }, + disable: function(index) { + var self = this, o = this.options; + if (index != o.selected) { // cannot disable already selected tab + this.$lis.eq(index).addClass(o.disabledClass); + + o.disabled.push(index); + o.disabled.sort(); + + // callback + this._trigger('disable', null, this.ui(this.$tabs[index], this.$panels[index])); + } + }, + select: function(index) { + if (typeof index == 'string') + index = this.$tabs.index( this.$tabs.filter('[href$=' + index + ']')[0] ); + this.$tabs.eq(index).trigger(this.options.event); + }, + load: function(index, callback) { // callback is for internal usage only + + var self = this, o = this.options, $a = this.$tabs.eq(index), a = $a[0], + bypassCache = callback == undefined || callback === false, url = $a.data('load.tabs'); + + callback = callback || function() {}; + + // no remote or from cache - just finish with callback + if (!url || !bypassCache && $.data(a, 'cache.tabs')) { + callback(); + return; + } + + // load remote from here on + + var inner = function(parent) { + var $parent = $(parent), $inner = $parent.find('*:last'); + return $inner.length && $inner.is(':not(img)') && $inner || $parent; + }; + var cleanup = function() { + self.$tabs.filter('.' + o.loadingClass).removeClass(o.loadingClass) + .each(function() { + if (o.spinner) + inner(this).parent().html(inner(this).data('label.tabs')); + }); + self.xhr = null; + }; + + if (o.spinner) { + var label = inner(a).html(); + inner(a).wrapInner('') + .find('em').data('label.tabs', label).html(o.spinner); + } + + var ajaxOptions = $.extend({}, o.ajaxOptions, { + url: url, + success: function(r, s) { + $(a.hash).html(r); + cleanup(); + + if (o.cache) + $.data(a, 'cache.tabs', true); // if loaded once do not load them again + + // callbacks + self._trigger('load', null, self.ui(self.$tabs[index], self.$panels[index])); + o.ajaxOptions.success && o.ajaxOptions.success(r, s); + + // This callback is required because the switch has to take + // place after loading has completed. Call last in order to + // fire load before show callback... + callback(); + } + }); + if (this.xhr) { + // terminate pending requests from other tabs and restore tab label + this.xhr.abort(); + cleanup(); + } + $a.addClass(o.loadingClass); + setTimeout(function() { // timeout is again required in IE, "wait" for id being restored + self.xhr = $.ajax(ajaxOptions); + }, 0); + + }, + url: function(index, url) { + this.$tabs.eq(index).removeData('cache.tabs').data('load.tabs', url); + }, + destroy: function() { + var o = this.options; + this.element.unbind('.tabs') + .removeClass(o.navClass).removeData('tabs'); + this.$tabs.each(function() { + var href = $.data(this, 'href.tabs'); + if (href) + this.href = href; + var $this = $(this).unbind('.tabs'); + $.each(['href', 'load', 'cache'], function(i, prefix) { + $this.removeData(prefix + '.tabs'); + }); + }); + this.$lis.add(this.$panels).each(function() { + if ($.data(this, 'destroy.tabs')) + $(this).remove(); + else + $(this).removeClass([o.selectedClass, o.unselectClass, + o.disabledClass, o.panelClass, o.hideClass].join(' ')); + }); + } +}); + +$.ui.tabs.defaults = { + // basic setup + unselect: false, + event: 'click', + disabled: [], + cookie: null, // e.g. { expires: 7, path: '/', domain: 'jquery.com', secure: true } + // TODO history: false, + + // Ajax + spinner: 'Loading…', + cache: false, + idPrefix: 'ui-tabs-', + ajaxOptions: {}, + + // animations + fx: null, // e.g. { height: 'toggle', opacity: 'toggle', duration: 200 } + + // templates + tabTemplate: '
  • #{label}
  • ', + panelTemplate: '
    ', + + // CSS classes + navClass: 'ui-tabs-nav', + selectedClass: 'ui-tabs-selected', + unselectClass: 'ui-tabs-unselect', + disabledClass: 'ui-tabs-disabled', + panelClass: 'ui-tabs-panel', + hideClass: 'ui-tabs-hide', + loadingClass: 'ui-tabs-loading' +}; + +$.ui.tabs.getter = "length"; + +/* + * Tabs Extensions + */ + +/* + * Rotate + */ +$.extend($.ui.tabs.prototype, { + rotation: null, + rotate: function(ms, continuing) { + + continuing = continuing || false; + + var self = this, t = this.options.selected; + + function start() { + self.rotation = setInterval(function() { + t = ++t < self.$tabs.length ? t : 0; + self.select(t); + }, ms); + } + + function stop(e) { + if (!e || e.clientX) { // only in case of a true click + clearInterval(self.rotation); + } + } + + // start interval + if (ms) { + start(); + if (!continuing) + this.$tabs.bind(this.options.event, stop); + else + this.$tabs.bind(this.options.event, function() { + stop(); + t = self.options.selected; + start(); + }); + } + // stop interval + else { + stop(); + this.$tabs.unbind(this.options.event, stop); + } + } +}); + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/ui.accordion.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/ui.accordion.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/ui.accordion.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,291 @@ +/* + * jQuery UI Accordion @VERSION + * + * Copyright (c) 2007, 2008 Jörn Zaefferer + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Accordion + * + * Depends: + * ui.core.js + */ +(function($) { + +$.widget("ui.accordion", { + _init: function() { + var options = this.options; + + if ( options.navigation ) { + var current = this.element.find("a").filter(options.navigationFilter); + if ( current.length ) { + if ( current.filter(options.header).length ) { + options.active = current; + } else { + options.active = current.parent().parent().prev(); + current.addClass("current"); + } + } + } + + // calculate active if not specified, using the first header + options.headers = this.element.find(options.header); + options.active = findActive(options.headers, options.active); + + // IE7-/Win - Extra vertical space in Lists fixed + if ($.browser.msie) { + this.element.find('a').css('zoom', '1'); + } + + if (!this.element.hasClass("ui-accordion")) { + this.element.addClass("ui-accordion"); + $('').insertBefore(options.headers); + $('').appendTo(options.headers); + options.headers.addClass("ui-accordion-header").attr("tabindex", "0"); + } + + var maxHeight; + if ( options.fillSpace ) { + maxHeight = this.element.parent().height(); + options.headers.each(function() { + maxHeight -= $(this).outerHeight(); + }); + var maxPadding = 0; + options.headers.next().each(function() { + maxPadding = Math.max(maxPadding, $(this).innerHeight() - $(this).height()); + }).height(maxHeight - maxPadding); + } else if ( options.autoHeight ) { + maxHeight = 0; + options.headers.next().each(function() { + maxHeight = Math.max(maxHeight, $(this).outerHeight()); + }).height(maxHeight); + } + + options.headers + .not(options.active || "") + .next() + .hide(); + options.active.parent().andSelf().addClass(options.selectedClass); + + if (options.event) { + this.element.bind((options.event) + ".accordion", clickHandler); + } + }, + activate: function(index) { + // call clickHandler with custom event + clickHandler.call(this.element[0], { + target: findActive( this.options.headers, index )[0] + }); + }, + destroy: function() { + this.options.headers.next().css("display", ""); + if ( this.options.fillSpace || this.options.autoHeight ) { + this.options.headers.next().css("height", ""); + } + $.removeData(this.element[0], "accordion"); + this.element.removeClass("ui-accordion").unbind(".accordion"); + } +}); + +function scopeCallback(callback, scope) { + return function() { + return callback.apply(scope, arguments); + }; +}; + +function completed(cancel) { + // if removed while animated data can be empty + if (!$.data(this, "accordion")) { + return; + } + + var instance = $.data(this, "accordion"); + var options = instance.options; + options.running = cancel ? 0 : --options.running; + if ( options.running ) { + return; + } + if ( options.clearStyle ) { + options.toShow.add(options.toHide).css({ + height: "", + overflow: "" + }); + } + instance._trigger('change', null, options.data); +} + +function toggle(toShow, toHide, data, clickedActive, down) { + var options = $.data(this, "accordion").options; + options.toShow = toShow; + options.toHide = toHide; + options.data = data; + var complete = scopeCallback(completed, this); + + $.data(this, "accordion")._trigger("changestart", null, options.data); + + // count elements to animate + options.running = toHide.size() === 0 ? toShow.size() : toHide.size(); + + if ( options.animated ) { + if ( !options.alwaysOpen && clickedActive ) { + $.ui.accordion.animations[options.animated]({ + toShow: jQuery([]), + toHide: toHide, + complete: complete, + down: down, + autoHeight: options.autoHeight + }); + } else { + $.ui.accordion.animations[options.animated]({ + toShow: toShow, + toHide: toHide, + complete: complete, + down: down, + autoHeight: options.autoHeight + }); + } + } else { + if ( !options.alwaysOpen && clickedActive ) { + toShow.toggle(); + } else { + toHide.hide(); + toShow.show(); + } + complete(true); + } +} + +function clickHandler(event) { + var options = $.data(this, "accordion").options; + if (options.disabled) { + return false; + } + + // called only when using activate(false) to close all parts programmatically + if ( !event.target && !options.alwaysOpen ) { + options.active.parent().andSelf().toggleClass(options.selectedClass); + var toHide = options.active.next(), + data = { + options: options, + newHeader: jQuery([]), + oldHeader: options.active, + newContent: jQuery([]), + oldContent: toHide + }, + toShow = (options.active = $([])); + toggle.call(this, toShow, toHide, data ); + return false; + } + // get the click target + var clicked = $(event.target); + + // due to the event delegation model, we have to check if one + // of the parent elements is our actual header, and find that + // otherwise stick with the initial target + clicked = $( clicked.parents(options.header)[0] || clicked ); + + var clickedActive = clicked[0] == options.active[0]; + + // if animations are still active, or the active header is the target, ignore click + if (options.running || (options.alwaysOpen && clickedActive)) { + return false; + } + if (!clicked.is(options.header)) { + return; + } + + // switch classes + options.active.parent().andSelf().toggleClass(options.selectedClass); + if ( !clickedActive ) { + clicked.parent().andSelf().addClass(options.selectedClass); + } + + // find elements to show and hide + var toShow = clicked.next(), + toHide = options.active.next(), + data = { + options: options, + newHeader: clickedActive && !options.alwaysOpen ? $([]) : clicked, + oldHeader: options.active, + newContent: clickedActive && !options.alwaysOpen ? $([]) : toShow, + oldContent: toHide + }, + down = options.headers.index( options.active[0] ) > options.headers.index( clicked[0] ); + + options.active = clickedActive ? $([]) : clicked; + toggle.call(this, toShow, toHide, data, clickedActive, down ); + + return false; +}; + +function findActive(headers, selector) { + return selector + ? typeof selector == "number" + ? headers.filter(":eq(" + selector + ")") + : headers.not(headers.not(selector)) + : selector === false + ? $([]) + : headers.filter(":eq(0)"); +} + +$.extend($.ui.accordion, { + defaults: { + selectedClass: "selected", + alwaysOpen: true, + animated: 'slide', + event: "click", + header: "a", + autoHeight: true, + running: 0, + navigationFilter: function() { + return this.href.toLowerCase() == location.href.toLowerCase(); + } + }, + animations: { + slide: function(options, additions) { + options = $.extend({ + easing: "swing", + duration: 300 + }, options, additions); + if ( !options.toHide.size() ) { + options.toShow.animate({height: "show"}, options); + return; + } + var hideHeight = options.toHide.height(), + showHeight = options.toShow.height(), + difference = showHeight / hideHeight; + options.toShow.css({ height: 0, overflow: 'hidden' }).show(); + options.toHide.filter(":hidden").each(options.complete).end().filter(":visible").animate({height:"hide"},{ + step: function(now) { + var current = (hideHeight - now) * difference; + if ($.browser.msie || $.browser.opera) { + current = Math.ceil(current); + } + options.toShow.height( current ); + }, + duration: options.duration, + easing: options.easing, + complete: function() { + if ( !options.autoHeight ) { + options.toShow.css("height", "auto"); + } + options.complete(); + } + }); + }, + bounceslide: function(options) { + this.slide(options, { + easing: options.down ? "bounceout" : "swing", + duration: options.down ? 1000 : 200 + }); + }, + easeslide: function(options) { + this.slide(options, { + easing: "easeinout", + duration: 700 + }); + } + } +}); + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/ui.autocomplete.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/ui.autocomplete.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/ui.autocomplete.js 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1,772 @@ +/* + * jQuery UI Autocomplete @VERSION + * + * Copyright (c) 2007, 2008 Dylan Verheul, Dan G. Switzer, Anjesh Tuladhar, Jörn Zaefferer + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Autocomplete + * + * Depends: + * ui.core.js + */ +(function($) { + +$.widget("ui.autocomplete", { + + _init: function() { + + $.extend(this.options, { + delay: this.options.url ? $.Autocompleter.defaults.delay : 10, + max: !this.options.scroll ? 10 : 150, + highlight: this.options.highlight || function(value) { return value; }, // if highlight is set to false, replace it with a do-nothing function + formatMatch: this.options.formatMatch || this.options.formatItem // if the formatMatch option is not specified, then use formatItem for backwards compatibility + }); + + new $.Autocompleter(this.element[0], this.options); + + }, + + result: function(handler) { + return this.element.bind("result", handler); + }, + search: function(handler) { + return this.element.trigger("search", [handler]); + }, + flushCache: function() { + return this.element.trigger("flushCache"); + }, + setData: function(key, value){ + return this.element.trigger("setOptions", [{ key: value }]); + }, + destroy: function() { + return this.element.trigger("unautocomplete"); + } + +}); + +$.Autocompleter = function(input, options) { + + var KEY = { + UP: 38, + DOWN: 40, + DEL: 46, + TAB: 9, + RETURN: 13, + ESC: 27, + COMMA: 188, + PAGEUP: 33, + PAGEDOWN: 34, + BACKSPACE: 8 + }; + + // Create $ object for input element + var $input = $(input).attr("autocomplete", "off").addClass(options.inputClass); + if(options.result) $input.bind('result.autocomplete', options.result); + + var timeout; + var previousValue = ""; + var cache = $.Autocompleter.Cache(options); + var hasFocus = 0; + var lastKeyPressCode; + var config = { + mouseDownOnSelect: false + }; + var select = $.Autocompleter.Select(options, input, selectCurrent, config); + + var blockSubmit; + + // prevent form submit in opera when selecting with return key + $.browser.opera && $(input.form).bind("submit.autocomplete", function() { + if (blockSubmit) { + blockSubmit = false; + return false; + } + }); + + // only opera doesn't trigger keydown multiple times while pressed, others don't work with keypress at all + $input.bind(($.browser.opera ? "keypress" : "keydown") + ".autocomplete", function(event) { + // track last key pressed + lastKeyPressCode = event.keyCode; + switch(event.keyCode) { + + case KEY.UP: + event.preventDefault(); + if ( select.visible() ) { + select.prev(); + } else { + onChange(0, true); + } + break; + + case KEY.DOWN: + event.preventDefault(); + if ( select.visible() ) { + select.next(); + } else { + onChange(0, true); + } + break; + + case KEY.PAGEUP: + event.preventDefault(); + if ( select.visible() ) { + select.pageUp(); + } else { + onChange(0, true); + } + break; + + case KEY.PAGEDOWN: + event.preventDefault(); + if ( select.visible() ) { + select.pageDown(); + } else { + onChange(0, true); + } + break; + + // matches also semicolon + case options.multiple && $.trim(options.multipleSeparator) == "," && KEY.COMMA: + case KEY.TAB: + case KEY.RETURN: + if( selectCurrent() ) { + // stop default to prevent a form submit, Opera needs special handling + event.preventDefault(); + blockSubmit = true; + return false; + } + break; + + case KEY.ESC: + select.hide(); + break; + + default: + clearTimeout(timeout); + timeout = setTimeout(onChange, options.delay); + break; + } + }).focus(function(){ + // track whether the field has focus, we shouldn't process any + // results if the field no longer has focus + hasFocus++; + }).blur(function() { + hasFocus = 0; + if (!config.mouseDownOnSelect) { + hideResults(); + } + }).click(function() { + // show select when clicking in a focused field + if ( hasFocus++ > 1 && !select.visible() ) { + onChange(0, true); + } + }).bind("search", function() { + // TODO why not just specifying both arguments? + var fn = (arguments.length > 1) ? arguments[1] : null; + function findValueCallback(q, data) { + var result; + if( data && data.length ) { + for (var i=0; i < data.length; i++) { + if( data[i].result.toLowerCase() == q.toLowerCase() ) { + result = data[i]; + break; + } + } + } + if( typeof fn == "function" ) fn(result); + else $input.trigger("result", result && [result.data, result.value]); + } + $.each(trimWords($input.val()), function(i, value) { + request(value, findValueCallback, findValueCallback); + }); + }).bind("flushCache", function() { + cache.flush(); + }).bind("setOptions", function() { + $.extend(options, arguments[1]); + // if we've updated the data, repopulate + if ( "data" in arguments[1] ) + cache.populate(); + }).bind("unautocomplete", function() { + select.unbind(); + $input.unbind(); + $(input.form).unbind(".autocomplete"); + }); + + + function selectCurrent() { + var selected = select.selected(); + if( !selected ) + return false; + + var v = selected.result; + previousValue = v; + + if ( options.multiple ) { + var words = trimWords($input.val()); + if ( words.length > 1 ) { + v = words.slice(0, words.length - 1).join( options.multipleSeparator ) + options.multipleSeparator + v; + } + v += options.multipleSeparator; + } + + $input.val(v); + hideResultsNow(); + $input.trigger("result", [selected.data, selected.value]); + return true; + } + + function onChange(crap, skipPrevCheck) { + if( lastKeyPressCode == KEY.DEL ) { + select.hide(); + return; + } + + var currentValue = $input.val(); + + if ( !skipPrevCheck && currentValue == previousValue ) + return; + + previousValue = currentValue; + + currentValue = lastWord(currentValue); + if ( currentValue.length >= options.minChars) { + $input.addClass(options.loadingClass); + if (!options.matchCase) + currentValue = currentValue.toLowerCase(); + request(currentValue, receiveData, hideResultsNow); + } else { + stopLoading(); + select.hide(); + } + }; + + function trimWords(value) { + if ( !value ) { + return [""]; + } + var words = value.split( options.multipleSeparator ); + var result = []; + $.each(words, function(i, value) { + if ( $.trim(value) ) + result[i] = $.trim(value); + }); + return result; + } + + function lastWord(value) { + if ( !options.multiple ) + return value; + var words = trimWords(value); + return words[words.length - 1]; + } + + // fills in the input box w/the first match (assumed to be the best match) + // q: the term entered + // sValue: the first matching result + function autoFill(q, sValue){ + // autofill in the complete box w/the first match as long as the user hasn't entered in more data + // if the last user key pressed was backspace, don't autofill + if( options.autoFill && (lastWord($input.val()).toLowerCase() == q.toLowerCase()) && lastKeyPressCode != KEY.BACKSPACE ) { + // fill in the value (keep the case the user has typed) + $input.val($input.val() + sValue.substring(lastWord(previousValue).length)); + // select the portion of the value not typed by the user (so the next character will erase) + $.Autocompleter.Selection(input, previousValue.length, previousValue.length + sValue.length); + } + }; + + function hideResults() { + clearTimeout(timeout); + timeout = setTimeout(hideResultsNow, 200); + }; + + function hideResultsNow() { + var wasVisible = select.visible(); + select.hide(); + clearTimeout(timeout); + stopLoading(); + if (options.mustMatch) { + // call search and run callback + $input.autocomplete("search", function (result){ + // if no value found, clear the input box + if( !result ) { + if (options.multiple) { + var words = trimWords($input.val()).slice(0, -1); + $input.val( words.join(options.multipleSeparator) + (words.length ? options.multipleSeparator : "") ); + } + else + $input.val( "" ); + } + } + ); + } + if (wasVisible) + // position cursor at end of input field + $.Autocompleter.Selection(input, input.value.length, input.value.length); + }; + + function receiveData(q, data) { + if ( data && data.length && hasFocus ) { + stopLoading(); + select.display(data, q); + autoFill(q, data[0].value); + select.show(); + } else { + hideResultsNow(); + } + }; + + function request(term, success, failure) { + if (!options.matchCase) + term = term.toLowerCase(); + var data = cache.load(term); + // recieve the cached data + if (data && data.length) { + success(term, data); + // if an AJAX url has been supplied, try loading the data now + + } else if( (typeof options.url == "string") && (options.url.length > 0) ){ + + var extraParams = { + timestamp: +new Date() + }; + $.each(options.extraParams, function(key, param) { + extraParams[key] = typeof param == "function" ? param() : param; + }); + + $.ajax({ + // try to leverage ajaxQueue plugin to abort previous requests + mode: "abort", + // limit abortion to this input + port: "autocomplete" + input.name, + dataType: options.dataType, + url: options.url, + data: $.extend({ + q: lastWord(term), + limit: options.max + }, extraParams), + success: function(data) { + var parsed = options.parse && options.parse(data) || parse(data); + cache.add(term, parsed); + success(term, parsed); + } + }); + } + + else if (options.source && typeof options.source == 'function') { + var resultData = options.source(term); + var parsed = (options.parse) ? options.parse(resultData) : resultData; + + cache.add(term, parsed); + success(term, parsed); + } else { + // if we have a failure, we need to empty the list -- this prevents the the [TAB] key from selecting the last successful match + select.emptyList(); + failure(term); + } + }; + + function parse(data) { + var parsed = []; + var rows = data.split("\n"); + for (var i=0; i < rows.length; i++) { + var row = $.trim(rows[i]); + if (row) { + row = row.split("|"); + parsed[parsed.length] = { + data: row, + value: row[0], + result: options.formatResult && options.formatResult(row, row[0]) || row[0] + }; + } + } + return parsed; + }; + + function stopLoading() { + $input.removeClass(options.loadingClass); + }; + +}; + +$.Autocompleter.defaults = { + inputClass: "ui-autocomplete-input", + resultsClass: "ui-autocomplete-results", + loadingClass: "ui-autocomplete-loading", + minChars: 1, + delay: 400, + matchCase: false, + matchSubset: true, + matchContains: false, + cacheLength: 10, + max: 100, + mustMatch: false, + extraParams: {}, + selectFirst: true, + formatItem: function(row) { return row[0]; }, + formatMatch: null, + autoFill: false, + width: 0, + multiple: false, + multipleSeparator: ", ", + highlight: function(value, term) { + return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "$1"); + }, + scroll: true, + scrollHeight: 180 +}; + +$.extend($.ui.autocomplete, { + defaults: $.Autocompleter.defaults +}); + +$.Autocompleter.Cache = function(options) { + + var data = {}; + var length = 0; + + function matchSubset(s, sub) { + if (!options.matchCase) + s = s.toLowerCase(); + var i = s.indexOf(sub); + if (i == -1) return false; + return i == 0 || options.matchContains; + }; + + function add(q, value) { + if (length > options.cacheLength){ + flush(); + } + if (!data[q]){ + length++; + } + data[q] = value; + } + + function populate(){ + if( !options.data ) return false; + // track the matches + var stMatchSets = {}, + nullData = 0; + + // no url was specified, we need to adjust the cache length to make sure it fits the local data store + if( !options.url ) options.cacheLength = 1; + + // track all options for minChars = 0 + stMatchSets[""] = []; + + // loop through the array and create a lookup structure + for ( var i = 0, ol = options.data.length; i < ol; i++ ) { + var rawValue = options.data[i]; + // if rawValue is a string, make an array otherwise just reference the array + rawValue = (typeof rawValue == "string") ? [rawValue] : rawValue; + + var value = options.formatMatch(rawValue, i+1, options.data.length); + if ( value === false ) + continue; + + var firstChar = value.charAt(0).toLowerCase(); + // if no lookup array for this character exists, look it up now + if( !stMatchSets[firstChar] ) + stMatchSets[firstChar] = []; + + // if the match is a string + var row = { + value: value, + data: rawValue, + result: options.formatResult && options.formatResult(rawValue) || value + }; + + // push the current match into the set list + stMatchSets[firstChar].push(row); + + // keep track of minChars zero items + if ( nullData++ < options.max ) { + stMatchSets[""].push(row); + } + }; + + // add the data items to the cache + $.each(stMatchSets, function(i, value) { + // increase the cache size + options.cacheLength++; + // add to the cache + add(i, value); + }); + } + + // populate any existing data + setTimeout(populate, 25); + + function flush(){ + data = {}; + length = 0; + } + + return { + flush: flush, + add: add, + populate: populate, + load: function(q) { + if (!options.cacheLength || !length) + return null; + /* + * if dealing w/local data and matchContains than we must make sure + * to loop through all the data collections looking for matches + */ + if( !options.url && options.matchContains ){ + // track all matches + var csub = []; + // loop through all the data grids for matches + for( var k in data ){ + // don't search through the stMatchSets[""] (minChars: 0) cache + // this prevents duplicates + if( k.length > 0 ){ + var c = data[k]; + $.each(c, function(i, x) { + // if we've got a match, add it to the array + if (matchSubset(x.value, q)) { + csub.push(x); + } + }); + } + } + return csub; + } else + // if the exact item exists, use it + if (data[q]){ + return data[q]; + } else + if (options.matchSubset) { + for (var i = q.length - 1; i >= options.minChars; i--) { + var c = data[q.substr(0, i)]; + if (c) { + var csub = []; + $.each(c, function(i, x) { + if (matchSubset(x.value, q)) { + csub[csub.length] = x; + } + }); + return csub; + } + } + } + return null; + } + }; +}; + +$.Autocompleter.Select = function (options, input, select, config) { + var CLASSES = { + ACTIVE: "ui-autocomplete-over" + }; + + var listItems, + active = -1, + data, + term = "", + needsInit = true, + element, + list; + + // Create results + function init() { + if (!needsInit) + return; + element = $("
    ") + .hide() + .addClass(options.resultsClass) + .css("position", "absolute") + .appendTo(document.body); + + list = $("
      ").appendTo(element).mouseover( function(event) { + if(target(event).nodeName && target(event).nodeName.toUpperCase() == 'LI') { + active = $("li", list).removeClass(CLASSES.ACTIVE).index(target(event)); + $(target(event)).addClass(CLASSES.ACTIVE); + } + }).click(function(event) { + $(target(event)).addClass(CLASSES.ACTIVE); + select(); + // TODO provide option to avoid setting focus again after selection? useful for cleanup-on-focus + input.focus(); + return false; + }).mousedown(function() { + config.mouseDownOnSelect = true; + }).mouseup(function() { + config.mouseDownOnSelect = false; + }); + + if( options.width > 0 ) + element.css("width", options.width); + + needsInit = false; + } + + function target(event) { + var element = event.target; + while(element && element.tagName != "LI") + element = element.parentNode; + // more fun with IE, sometimes event.target is empty, just ignore it then + if(!element) + return []; + return element; + } + + function moveSelect(step) { + listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE); + movePosition(step); + var activeItem = listItems.slice(active, active + 1).addClass(CLASSES.ACTIVE); + if(options.scroll) { + var offset = 0; + listItems.slice(0, active).each(function() { + offset += this.offsetHeight; + }); + if((offset + activeItem[0].offsetHeight - list.scrollTop()) > list[0].clientHeight) { + list.scrollTop(offset + activeItem[0].offsetHeight - list.innerHeight()); + } else if(offset < list.scrollTop()) { + list.scrollTop(offset); + } + } + }; + + function movePosition(step) { + active += step; + if (active < 0) { + active = listItems.size() - 1; + } else if (active >= listItems.size()) { + active = 0; + } + } + + function limitNumberOfItems(available) { + return options.max && options.max < available + ? options.max + : available; + } + + function fillList() { + list.empty(); + var max = limitNumberOfItems(data.length); + for (var i=0; i < max; i++) { + if (!data[i]) + continue; + var formatted = options.formatItem(data[i].data, i+1, max, data[i].value, term); + if ( formatted === false ) + continue; + var li = $("
    • ").html( options.highlight(formatted, term) ).addClass(i%2 == 0 ? "ui-autocomplete-even" : "ui-autocomplete-odd").appendTo(list)[0]; + $.data(li, "ui-autocomplete-data", data[i]); + } + listItems = list.find("li"); + if ( options.selectFirst ) { + listItems.slice(0, 1).addClass(CLASSES.ACTIVE); + active = 0; + } + // apply bgiframe if available + if ( $.fn.bgiframe ) + list.bgiframe(); + } + + return { + display: function(d, q) { + init(); + data = d; + term = q; + fillList(); + }, + next: function() { + moveSelect(1); + }, + prev: function() { + moveSelect(-1); + }, + pageUp: function() { + if (active != 0 && active - 8 < 0) { + moveSelect( -active ); + } else { + moveSelect(-8); + } + }, + pageDown: function() { + if (active != listItems.size() - 1 && active + 8 > listItems.size()) { + moveSelect( listItems.size() - 1 - active ); + } else { + moveSelect(8); + } + }, + hide: function() { + element && element.hide(); + listItems && listItems.removeClass(CLASSES.ACTIVE) + active = -1; + $(input).triggerHandler("autocompletehide", [{}, { options: options }], options["hide"]); + }, + visible : function() { + return element && element.is(":visible"); + }, + current: function() { + return this.visible() && (listItems.filter("." + CLASSES.ACTIVE)[0] || options.selectFirst && listItems[0]); + }, + show: function() { + var offset = $(input).offset(); + element.css({ + width: typeof options.width == "string" || options.width > 0 ? options.width : $(input).width(), + top: offset.top + input.offsetHeight, + left: offset.left + }).show(); + + if(options.scroll) { + list.scrollTop(0); + list.css({ + maxHeight: options.scrollHeight, + overflow: 'auto' + }); + + if($.browser.msie && typeof document.body.style.maxHeight === "undefined") { + var listHeight = 0; + listItems.each(function() { + listHeight += this.offsetHeight; + }); + var scrollbarsVisible = listHeight > options.scrollHeight; + list.css('height', scrollbarsVisible ? options.scrollHeight : listHeight ); + if (!scrollbarsVisible) { + // IE doesn't recalculate width when scrollbar disappears + listItems.width( list.width() - parseInt(listItems.css("padding-left")) - parseInt(listItems.css("padding-right")) ); + } + } + + } + + $(input).triggerHandler("autocompleteshow", [{}, { options: options }], options["show"]); + + }, + selected: function() { + var selected = listItems && listItems.filter("." + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE); + return selected && selected.length && $.data(selected[0], "ui-autocomplete-data"); + }, + emptyList: function (){ + list && list.empty(); + }, + unbind: function() { + element && element.remove(); + } + }; +}; + +$.Autocompleter.Selection = function(field, start, end) { + if( field.createTextRange ){ + var selRange = field.createTextRange(); + selRange.collapse(true); + selRange.moveStart("character", start); + selRange.moveEnd("character", end); + selRange.select(); + } else if( field.setSelectionRange ){ + field.setSelectionRange(start, end); + } else { + if( field.selectionStart ){ + field.selectionStart = start; + field.selectionEnd = end; + } + } + field.focus(); +}; + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/ui.colorpicker.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/ui.colorpicker.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/ui.colorpicker.js 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1,472 @@ +/* + * jQuery UI Color Picker @VERSION + * + * Copyright (c) 2008 Stefan Petre, Paul Bakaus + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/ColorPicker + * + * Depends: + * ui.core.js + */ +(function ($) { + +$.widget("ui.colorpicker", { + + _init: function() { + + this.charMin = 65; + var o = this.options, self = this, + tpl = '
      '; + + if (typeof o.color == 'string') { + this.color = this._HexToHSB(o.color); + } else if (o.color.r != undefined && o.color.g != undefined && o.color.b != undefined) { + this.color = this._RGBToHSB(o.color); + } else if (o.color.h != undefined && o.color.s != undefined && o.color.b != undefined) { + this.color = this._fixHSB(o.color); + } else { + return this; + } + + this.origColor = this.color; + this.picker = $(tpl); + + if (o.flat) { + this.picker.appendTo(this.element).show(); + } else { + this.picker.appendTo(document.body); + } + + this.fields = this.picker.find('input') + .bind('keydown', function(e) { return self._keyDown.call(self, e); }) + .bind('change', function(e) { return self._change.call(self, e); }) + .bind('blur', function(e) { return self._blur.call(self, e); }) + .bind('focus', function(e) { return self._focus.call(self, e); }); + + this.picker.find('span').bind('mousedown', function(e) { return self._downIncrement.call(self, e); }); + + this.selector = this.picker.find('div.ui-colorpicker-color').bind('mousedown', function(e) { return self._downSelector.call(self, e); }); + this.selectorIndic = this.selector.find('div div'); + this.hue = this.picker.find('div.ui-colorpicker-hue div'); + this.picker.find('div.ui-colorpicker-hue').bind('mousedown', function(e) { return self._downHue.call(self, e); }); + + this.newColor = this.picker.find('div.ui-colorpicker-new-color'); + this.currentColor = this.picker.find('div.ui-colorpicker-current-color'); + + this.picker.find('.ui-colorpicker-submit') + .bind('mouseenter', function(e) { return self._enterSubmit.call(self, e); }) + .bind('mouseleave', function(e) { return self._leaveSubmit.call(self, e); }) + .bind('click', function(e) { return self._clickSubmit.call(self, e); }); + + this._fillRGBFields(this.color); + this._fillHSBFields(this.color); + this._fillHexFields(this.color); + this._setHue(this.color); + this._setSelector(this.color); + this._setCurrentColor(this.color); + this._setNewColor(this.color); + + if (o.flat) { + this.picker.css({ + position: 'relative', + display: 'block' + }); + } else { + $(this.element).bind(o.eventName+".colorpicker", function(e) { return self._show.call(self, e); }); + } + + }, + + destroy: function() { + + this.picker.remove(); + this.element.removeData("colorpicker").unbind(".colorpicker"); + + }, + + _fillRGBFields: function(hsb) { + var rgb = this._HSBToRGB(hsb); + this.fields + .eq(1).val(rgb.r).end() + .eq(2).val(rgb.g).end() + .eq(3).val(rgb.b).end(); + }, + _fillHSBFields: function(hsb) { + this.fields + .eq(4).val(hsb.h).end() + .eq(5).val(hsb.s).end() + .eq(6).val(hsb.b).end(); + }, + _fillHexFields: function (hsb) { + this.fields + .eq(0).val(this._HSBToHex(hsb)).end(); + }, + _setSelector: function(hsb) { + this.selector.css('backgroundColor', '#' + this._HSBToHex({h: hsb.h, s: 100, b: 100})); + this.selectorIndic.css({ + left: parseInt(150 * hsb.s/100, 10), + top: parseInt(150 * (100-hsb.b)/100, 10) + }); + }, + _setHue: function(hsb) { + this.hue.css('top', parseInt(150 - 150 * hsb.h/360, 10)); + }, + _setCurrentColor: function(hsb) { + this.currentColor.css('backgroundColor', '#' + this._HSBToHex(hsb)); + }, + _setNewColor: function(hsb) { + this.newColor.css('backgroundColor', '#' + this._HSBToHex(hsb)); + }, + _keyDown: function(e) { + var pressedKey = e.charCode || e.keyCode || -1; + if ((pressedKey >= this.charMin && pressedKey <= 90) || pressedKey == 32) { + return false; + } + }, + _change: function(e, target) { + + var col; + target = target || e.target; + if (target.parentNode.className.indexOf('-hex') > 0) { + this.color = col = this._HexToHSB(this.value); + this._fillRGBFields(col.color); + this._fillHSBFields(col); + } else if (target.parentNode.className.indexOf('-hsb') > 0) { + this.color = col = this._fixHSB({ + h: parseInt(this.fields.eq(4).val(), 10), + s: parseInt(this.fields.eq(5).val(), 10), + b: parseInt(this.fields.eq(6).val(), 10) + }); + this._fillRGBFields(col); + this._fillHexFields(col); + } else { + this.color = col = this._RGBToHSB(this._fixRGB({ + r: parseInt(this.fields.eq(1).val(), 10), + g: parseInt(this.fields.eq(2).val(), 10), + b: parseInt(this.fields.eq(3).val(), 10) + })); + this._fillHexFields(col); + this._fillHSBFields(col); + } + this._setSelector(col); + this._setHue(col); + this._setNewColor(col); + + this._trigger('change', e, { options: this.options, hsb: col, hex: this._HSBToHex(col), rgb: this._HSBToRGB(col) }); + }, + _blur: function(e) { + + var col = this.color; + this._fillRGBFields(col); + this._fillHSBFields(col); + this._fillHexFields(col); + this._setHue(col); + this._setSelector(col); + this._setNewColor(col); + this.fields.parent().removeClass('ui-colorpicker-focus'); + + }, + _focus: function(e) { + + this.charMin = e.target.parentNode.className.indexOf('-hex') > 0 ? 70 : 65; + this.fields.parent().removeClass('ui-colorpicker-focus'); + $(e.target.parentNode).addClass('ui-colorpicker-focus'); + + }, + _downIncrement: function(e) { + + var field = $(e.target).parent().find('input').focus(), self = this; + this.currentIncrement = { + el: $(e.target).parent().addClass('ui-colorpicker-slider'), + max: e.target.parentNode.className.indexOf('-hsb-h') > 0 ? 360 : (e.target.parentNode.className.indexOf('-hsb') > 0 ? 100 : 255), + y: e.pageY, + field: field, + val: parseInt(field.val(), 10) + }; + $(document).bind('mouseup.cpSlider', function(e) { return self._upIncrement.call(self, e); }); + $(document).bind('mousemove.cpSlider', function(e) { return self._moveIncrement.call(self, e); }); + return false; + + }, + _moveIncrement: function(e) { + this.currentIncrement.field.val(Math.max(0, Math.min(this.currentIncrement.max, parseInt(this.currentIncrement.val + e.pageY - this.currentIncrement.y, 10)))); + this._change.apply(this, [e, this.currentIncrement.field.get(0)]); + return false; + }, + _upIncrement: function(e) { + this.currentIncrement.el.removeClass('ui-colorpicker-slider').find('input').focus(); + this._change.apply(this, [e, this.currentIncrement.field.get(0)]); + $(document).unbind('mouseup.cpSlider'); + $(document).unbind('mousemove.cpSlider'); + return false; + }, + _downHue: function(e) { + + this.currentHue = { + y: this.picker.find('div.ui-colorpicker-hue').offset().top + }; + + this._change.apply(this, [e, this + .fields + .eq(4) + .val(parseInt(360*(150 - Math.max(0,Math.min(150,(e.pageY - this.currentHue.y))))/150, 10)) + .get(0)]); + + var self = this; + $(document).bind('mouseup.cpSlider', function(e) { return self._upHue.call(self, e); }); + $(document).bind('mousemove.cpSlider', function(e) { return self._moveHue.call(self, e); }); + return false; + + }, + _moveHue: function(e) { + + this._change.apply(this, [e, this + .fields + .eq(4) + .val(parseInt(360*(150 - Math.max(0,Math.min(150,(e.pageY - this.currentHue.y))))/150, 10)) + .get(0)]); + + return false; + + }, + _upHue: function(e) { + $(document).unbind('mouseup.cpSlider'); + $(document).unbind('mousemove.cpSlider'); + return false; + }, + _downSelector: function(e) { + + var self = this; + this.currentSelector = { + pos: this.picker.find('div.ui-colorpicker-color').offset() + }; + + this._change.apply(this, [e, this + .fields + .eq(6) + .val(parseInt(100*(150 - Math.max(0,Math.min(150,(e.pageY - this.currentSelector.pos.top))))/150, 10)) + .end() + .eq(5) + .val(parseInt(100*(Math.max(0,Math.min(150,(e.pageX - this.currentSelector.pos.left))))/150, 10)) + .get(0) + ]); + $(document).bind('mouseup.cpSlider', function(e) { return self._upSelector.call(self, e); }); + $(document).bind('mousemove.cpSlider', function(e) { return self._moveSelector.call(self, e); }); + return false; + + }, + _moveSelector: function(e) { + + this._change.apply(this, [e, this + .fields + .eq(6) + .val(parseInt(100*(150 - Math.max(0,Math.min(150,(e.pageY - this.currentSelector.pos.top))))/150, 10)) + .end() + .eq(5) + .val(parseInt(100*(Math.max(0,Math.min(150,(e.pageX - this.currentSelector.pos.left))))/150, 10)) + .get(0) + ]); + return false; + + }, + _upSelector: function(e) { + $(document).unbind('mouseup.cpSlider'); + $(document).unbind('mousemove.cpSlider'); + return false; + }, + _enterSubmit: function(e) { + this.picker.find('.ui-colorpicker-submit').addClass('ui-colorpicker-focus'); + }, + _leaveSubmit: function(e) { + this.picker.find('.ui-colorpicker-submit').removeClass('ui-colorpicker-focus'); + }, + _clickSubmit: function(e) { + + var col = this.color; + this.origColor = col; + this._setCurrentColor(col); + + this._trigger("submit", e, { options: this.options, hsb: col, hex: this._HSBToHex(col), rgb: this._HSBToRGB(col) }); + return false; + + }, + _show: function(e) { + + this._trigger("beforeShow", e, { options: this.options, hsb: this.color, hex: this._HSBToHex(this.color), rgb: this._HSBToRGB(this.color) }); + + var pos = this.element.offset(); + var viewPort = this._getScroll(); + var top = pos.top + this.element[0].offsetHeight; + var left = pos.left; + if (top + 176 > viewPort.t + Math.min(viewPort.h,viewPort.ih)) { + top -= this.element[0].offsetHeight + 176; + } + if (left + 356 > viewPort.l + Math.min(viewPort.w,viewPort.iw)) { + left -= 356; + } + this.picker.css({left: left + 'px', top: top + 'px'}); + if (this._trigger("show", e, { options: this.options, hsb: this.color, hex: this._HSBToHex(this.color), rgb: this._HSBToRGB(this.color) }) != false) { + this.picker.show(); + } + + var self = this; + $(document).bind('mousedown.colorpicker', function(e) { return self._hide.call(self, e); }); + return false; + + }, + _hide: function(e) { + + if (!this._isChildOf(this.picker[0], e.target, this.picker[0])) { + if (this._trigger("hide", e, { options: this.options, hsb: this.color, hex: this._HSBToHex(this.color), rgb: this._HSBToRGB(this.color) }) != false) { + this.picker.hide(); + } + $(document).unbind('mousedown.colorpicker'); + } + + }, + _isChildOf: function(parentEl, el, container) { + if (parentEl == el) { + return true; + } + if (parentEl.contains && !$.browser.safari) { + return parentEl.contains(el); + } + if ( parentEl.compareDocumentPosition ) { + return !!(parentEl.compareDocumentPosition(el) & 16); + } + var prEl = el.parentNode; + while(prEl && prEl != container) { + if (prEl == parentEl) + return true; + prEl = prEl.parentNode; + } + return false; + }, + _getScroll: function() { + var t,l,w,h,iw,ih; + if (document.documentElement) { + t = document.documentElement.scrollTop; + l = document.documentElement.scrollLeft; + w = document.documentElement.scrollWidth; + h = document.documentElement.scrollHeight; + } else { + t = document.body.scrollTop; + l = document.body.scrollLeft; + w = document.body.scrollWidth; + h = document.body.scrollHeight; + } + iw = self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth||0; + ih = self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0; + return { t: t, l: l, w: w, h: h, iw: iw, ih: ih }; + }, + _fixHSB: function(hsb) { + return { + h: Math.min(360, Math.max(0, hsb.h)), + s: Math.min(100, Math.max(0, hsb.s)), + b: Math.min(100, Math.max(0, hsb.b)) + }; + }, + _fixRGB: function(rgb) { + return { + r: Math.min(255, Math.max(0, rgb.r)), + g: Math.min(255, Math.max(0, rgb.g)), + b: Math.min(255, Math.max(0, rgb.b)) + }; + }, + _HexToRGB: function (hex) { + var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16); + return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)}; + }, + _HexToHSB: function(hex) { + return this._RGBToHSB(this._HexToRGB(hex)); + }, + _RGBToHSB: function(rgb) { + var hsb = {}; + hsb.b = Math.max(Math.max(rgb.r,rgb.g),rgb.b); + hsb.s = (hsb.b <= 0) ? 0 : Math.round(100*(hsb.b - Math.min(Math.min(rgb.r,rgb.g),rgb.b))/hsb.b); + hsb.b = Math.round((hsb.b /255)*100); + if((rgb.r==rgb.g) && (rgb.g==rgb.b)) hsb.h = 0; + else if(rgb.r>=rgb.g && rgb.g>=rgb.b) hsb.h = 60*(rgb.g-rgb.b)/(rgb.r-rgb.b); + else if(rgb.g>=rgb.r && rgb.r>=rgb.b) hsb.h = 60 + 60*(rgb.g-rgb.r)/(rgb.g-rgb.b); + else if(rgb.g>=rgb.b && rgb.b>=rgb.r) hsb.h = 120 + 60*(rgb.b-rgb.r)/(rgb.g-rgb.r); + else if(rgb.b>=rgb.g && rgb.g>=rgb.r) hsb.h = 180 + 60*(rgb.b-rgb.g)/(rgb.b-rgb.r); + else if(rgb.b>=rgb.r && rgb.r>=rgb.g) hsb.h = 240 + 60*(rgb.r-rgb.g)/(rgb.b-rgb.g); + else if(rgb.r>=rgb.b && rgb.b>=rgb.g) hsb.h = 300 + 60*(rgb.r-rgb.b)/(rgb.r-rgb.g); + else hsb.h = 0; + hsb.h = Math.round(hsb.h); + return hsb; + }, + _HSBToRGB: function(hsb) { + var rgb = {}; + var h = Math.round(hsb.h); + var s = Math.round(hsb.s*255/100); + var v = Math.round(hsb.b*255/100); + if(s == 0) { + rgb.r = rgb.g = rgb.b = v; + } else { + var t1 = v; + var t2 = (255-s)*v/255; + var t3 = (t1-t2)*(h%60)/60; + if(h==360) h = 0; + if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3;} + else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3;} + else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3;} + else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3;} + else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3;} + else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3;} + else {rgb.r=0; rgb.g=0; rgb.b=0;} + } + return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)}; + }, + _RGBToHex: function(rgb) { + var hex = [ + rgb.r.toString(16), + rgb.g.toString(16), + rgb.b.toString(16) + ]; + $.each(hex, function (nr, val) { + if (val.length == 1) { + hex[nr] = '0' + val; + } + }); + return hex.join(''); + }, + _HSBToHex: function(hsb) { + return this._RGBToHex(this._HSBToRGB(hsb)); + }, + setColor: function(col) { + if (typeof col == 'string') { + col = this._HexToHSB(col); + } else if (col.r != undefined && col.g != undefined && col.b != undefined) { + col = this._RGBToHSB(col); + } else if (col.h != undefined && col.s != undefined && col.b != undefined) { + col = this._fixHSB(col); + } else { + return this; + } + + this.color = col; + this.origColor = col; + this._fillRGBFields(col); + this._fillHSBFields(col); + this._fillHexFields(col); + this._setHue(col); + this._setSelector(col); + this._setCurrentColor(col); + this._setNewColor(col); + + } + +}); + +$.extend($.ui.colorpicker, { + defaults: { + eventName: 'click', + color: 'ff0000', + flat: false + } +}); + +})(jQuery); \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/ui.core.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/ui.core.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/ui.core.js 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1,435 @@ +/* + * jQuery UI @VERSION + * + * Copyright (c) 2008 Paul Bakaus (ui.jquery.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI + */ +;(function($) { + +/** jQuery core modifications and additions **/ + +var _remove = $.fn.remove; +$.fn.remove = function() { + $("*", this).add(this).triggerHandler("remove"); + return _remove.apply(this, arguments ); +}; + +function isVisible(element) { + function checkStyles(element) { + var style = element.style; + return (style.display != 'none' && style.visibility != 'hidden'); + } + + var visible = checkStyles(element); + + (visible && $.each($.dir(element, 'parentNode'), function() { + return (visible = checkStyles(this)); + })); + + return visible; +} + +$.extend($.expr[':'], { + data: function(a, i, m) { + return $.data(a, m[3]); + }, + + // TODO: add support for object, area + tabbable: function(a, i, m) { + var nodeName = a.nodeName.toLowerCase(); + + return ( + // in tab order + a.tabIndex >= 0 && + + ( // filter node types that participate in the tab order + + // anchor tag + ('a' == nodeName && a.href) || + + // enabled form element + (/input|select|textarea|button/.test(nodeName) && + 'hidden' != a.type && !a.disabled) + ) && + + // visible on page + isVisible(a) + ); + } +}); + +$.keyCode = { + BACKSPACE: 8, + CAPS_LOCK: 20, + COMMA: 188, + CONTROL: 17, + DELETE: 46, + DOWN: 40, + END: 35, + ENTER: 13, + ESCAPE: 27, + HOME: 36, + INSERT: 45, + LEFT: 37, + NUMPAD_ADD: 107, + NUMPAD_DECIMAL: 110, + NUMPAD_DIVIDE: 111, + NUMPAD_ENTER: 108, + NUMPAD_MULTIPLY: 106, + NUMPAD_SUBTRACT: 109, + PAGE_DOWN: 34, + PAGE_UP: 33, + PERIOD: 190, + RIGHT: 39, + SHIFT: 16, + SPACE: 32, + TAB: 9, + UP: 38 +}; + +// $.widget is a factory to create jQuery plugins +// taking some boilerplate code out of the plugin code +// created by Scott González and Jörn Zaefferer +function getter(namespace, plugin, method, args) { + function getMethods(type) { + var methods = $[namespace][plugin][type] || []; + return (typeof methods == 'string' ? methods.split(/,?\s+/) : methods); + } + + var methods = getMethods('getter'); + if (args.length == 1 && typeof args[0] == 'string') { + methods = methods.concat(getMethods('getterSetter')); + } + return ($.inArray(method, methods) != -1); +} + +$.widget = function(name, prototype) { + var namespace = name.split(".")[0]; + name = name.split(".")[1]; + + // create plugin method + $.fn[name] = function(options) { + var isMethodCall = (typeof options == 'string'), + args = Array.prototype.slice.call(arguments, 1); + + // prevent calls to internal methods + if (isMethodCall && options.substring(0, 1) == '_') { + return this; + } + + // handle getter methods + if (isMethodCall && getter(namespace, name, options, args)) { + var instance = $.data(this[0], name); + return (instance ? instance[options].apply(instance, args) + : undefined); + } + + // handle initialization and non-getter methods + return this.each(function() { + var instance = $.data(this, name); + + // constructor + (!instance && !isMethodCall && + $.data(this, name, new $[namespace][name](this, options))); + + // method call + (instance && isMethodCall && $.isFunction(instance[options]) && + instance[options].apply(instance, args)); + }); + }; + + // create widget constructor + $[namespace][name] = function(element, options) { + var self = this; + + this.widgetName = name; + this.widgetEventPrefix = $[namespace][name].eventPrefix || name; + this.widgetBaseClass = namespace + '-' + name; + + this.options = $.extend({}, + $.widget.defaults, + $[namespace][name].defaults, + $.metadata && $.metadata.get(element)[name], + options); + + this.element = $(element) + .bind('setData.' + name, function(e, key, value) { + return self._setData(key, value); + }) + .bind('getData.' + name, function(e, key) { + return self._getData(key); + }) + .bind('remove', function() { + return self.destroy(); + }); + + this._init(); + }; + + // add widget prototype + $[namespace][name].prototype = $.extend({}, $.widget.prototype, prototype); + + // TODO: merge getter and getterSetter properties from widget prototype + // and plugin prototype + $[namespace][name].getterSetter = 'option'; +}; + +$.widget.prototype = { + _init: function() {}, + destroy: function() { + this.element.removeData(this.widgetName); + }, + + option: function(key, value) { + var options = key, + self = this; + + if (typeof key == "string") { + if (value === undefined) { + return this._getData(key); + } + options = {}; + options[key] = value; + } + + $.each(options, function(key, value) { + self._setData(key, value); + }); + }, + _getData: function(key) { + return this.options[key]; + }, + _setData: function(key, value) { + this.options[key] = value; + + if (key == 'disabled') { + this.element[value ? 'addClass' : 'removeClass']( + this.widgetBaseClass + '-disabled'); + } + }, + + enable: function() { + this._setData('disabled', false); + }, + disable: function() { + this._setData('disabled', true); + }, + + _trigger: function(type, e, data) { + var eventName = (type == this.widgetEventPrefix + ? type : this.widgetEventPrefix + type); + e = e || $.event.fix({ type: eventName, target: this.element[0] }); + return this.element.triggerHandler(eventName, [e, data], this.options[type]); + } +}; + +$.widget.defaults = { + disabled: false +}; + + +/** jQuery UI core **/ + +$.ui = { + plugin: { + add: function(module, option, set) { + var proto = $.ui[module].prototype; + for(var i in set) { + proto.plugins[i] = proto.plugins[i] || []; + proto.plugins[i].push([option, set[i]]); + } + }, + call: function(instance, name, args) { + var set = instance.plugins[name]; + if(!set) { return; } + + for (var i = 0; i < set.length; i++) { + if (instance.options[set[i][0]]) { + set[i][1].apply(instance.element, args); + } + } + } + }, + cssCache: {}, + css: function(name) { + if ($.ui.cssCache[name]) { return $.ui.cssCache[name]; } + var tmp = $('
      ').addClass(name).css({position:'absolute', top:'-5000px', left:'-5000px', display:'block'}).appendTo('body'); + + //if (!$.browser.safari) + //tmp.appendTo('body'); + + //Opera and Safari set width and height to 0px instead of auto + //Safari returns rgba(0,0,0,0) when bgcolor is not set + $.ui.cssCache[name] = !!( + (!(/auto|default/).test(tmp.css('cursor')) || (/^[1-9]/).test(tmp.css('height')) || (/^[1-9]/).test(tmp.css('width')) || + !(/none/).test(tmp.css('backgroundImage')) || !(/transparent|rgba\(0, 0, 0, 0\)/).test(tmp.css('backgroundColor'))) + ); + try { $('body').get(0).removeChild(tmp.get(0)); } catch(e){} + return $.ui.cssCache[name]; + }, + disableSelection: function(el) { + return $(el) + .attr('unselectable', 'on') + .css('MozUserSelect', 'none') + .bind('selectstart.ui', function() { return false; }); + }, + enableSelection: function(el) { + return $(el) + .attr('unselectable', 'off') + .css('MozUserSelect', '') + .unbind('selectstart.ui'); + }, + hasScroll: function(e, a) { + + //If overflow is hidden, the element might have extra content, but the user wants to hide it + if ($(e).css('overflow') == 'hidden') { return false; } + + var scroll = (a && a == 'left') ? 'scrollLeft' : 'scrollTop', + has = false; + + if (e[scroll] > 0) { return true; } + + // TODO: determine which cases actually cause this to happen + // if the element doesn't have the scroll set, see if it's possible to + // set the scroll + e[scroll] = 1; + has = (e[scroll] > 0); + e[scroll] = 0; + return has; + } +}; + + +/** Mouse Interaction Plugin **/ + +$.ui.mouse = { + _mouseInit: function() { + var self = this; + + this.element.bind('mousedown.'+this.widgetName, function(e) { + return self._mouseDown(e); + }); + + // Prevent text selection in IE + if ($.browser.msie) { + this._mouseUnselectable = this.element.attr('unselectable'); + this.element.attr('unselectable', 'on'); + } + + this.started = false; + }, + + // TODO: make sure destroying one instance of mouse doesn't mess with + // other instances of mouse + _mouseDestroy: function() { + this.element.unbind('.'+this.widgetName); + + // Restore text selection in IE + ($.browser.msie + && this.element.attr('unselectable', this._mouseUnselectable)); + }, + + _mouseDown: function(e) { + // we may have missed mouseup (out of window) + (this._mouseStarted && this._mouseUp(e)); + + this._mouseDownEvent = e; + + var self = this, + btnIsLeft = (e.which == 1), + elIsCancel = (typeof this.options.cancel == "string" ? $(e.target).parents().add(e.target).filter(this.options.cancel).length : false); + if (!btnIsLeft || elIsCancel || !this._mouseCapture(e)) { + return true; + } + + this.mouseDelayMet = !this.options.delay; + if (!this.mouseDelayMet) { + this._mouseDelayTimer = setTimeout(function() { + self.mouseDelayMet = true; + }, this.options.delay); + } + + if (this._mouseDistanceMet(e) && this._mouseDelayMet(e)) { + this._mouseStarted = (this._mouseStart(e) !== false); + if (!this._mouseStarted) { + e.preventDefault(); + return true; + } + } + + // these delegates are required to keep context + this._mouseMoveDelegate = function(e) { + return self._mouseMove(e); + }; + this._mouseUpDelegate = function(e) { + return self._mouseUp(e); + }; + $(document) + .bind('mousemove.'+this.widgetName, this._mouseMoveDelegate) + .bind('mouseup.'+this.widgetName, this._mouseUpDelegate); + + return false; + }, + + _mouseMove: function(e) { + // IE mouseup check - mouseup happened when mouse was out of window + if ($.browser.msie && !e.button) { + return this._mouseUp(e); + } + + if (this._mouseStarted) { + this._mouseDrag(e); + return false; + } + + if (this._mouseDistanceMet(e) && this._mouseDelayMet(e)) { + this._mouseStarted = + (this._mouseStart(this._mouseDownEvent, e) !== false); + (this._mouseStarted ? this._mouseDrag(e) : this._mouseUp(e)); + } + + return !this._mouseStarted; + }, + + _mouseUp: function(e) { + $(document) + .unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate) + .unbind('mouseup.'+this.widgetName, this._mouseUpDelegate); + + if (this._mouseStarted) { + this._mouseStarted = false; + this._mouseStop(e); + } + + return false; + }, + + _mouseDistanceMet: function(e) { + return (Math.max( + Math.abs(this._mouseDownEvent.pageX - e.pageX), + Math.abs(this._mouseDownEvent.pageY - e.pageY) + ) >= this.options.distance + ); + }, + + _mouseDelayMet: function(e) { + return this.mouseDelayMet; + }, + + // These are placeholder methods, to be overriden by extending plugin + _mouseStart: function(e) {}, + _mouseDrag: function(e) {}, + _mouseStop: function(e) {}, + _mouseCapture: function(e) { return true; } +}; + +$.ui.mouse.defaults = { + cancel: null, + distance: 1, + delay: 0 +}; + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/ui.datepicker.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/ui.datepicker.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/ui.datepicker.js 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1,1699 @@ +/* + * jQuery UI Datepicker @VERSION + * + * Copyright (c) 2006, 2007, 2008 Marc Grabanski + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Datepicker + * + * Depends: + * ui.core.js + * + * Marc Grabanski (m@marcgrabanski.com) and Keith Wood (kbwood@virginbroadband.com.au). + */ + +(function($) { // hide the namespace + +var PROP_NAME = 'datepicker'; + +/* Date picker manager. + Use the singleton instance of this class, $.datepicker, to interact with the date picker. + Settings for (groups of) date pickers are maintained in an instance object, + allowing multiple different settings on the same page. */ + +function Datepicker() { + this.debug = false; // Change this to true to start debugging + this._curInst = null; // The current instance in use + this._disabledInputs = []; // List of date picker inputs that have been disabled + this._datepickerShowing = false; // True if the popup picker is showing , false if not + this._inDialog = false; // True if showing within a "dialog", false if not + this._mainDivId = 'ui-datepicker-div'; // The ID of the main datepicker division + this._inlineClass = 'ui-datepicker-inline'; // The name of the inline marker class + this._appendClass = 'ui-datepicker-append'; // The name of the append marker class + this._triggerClass = 'ui-datepicker-trigger'; // The name of the trigger marker class + this._dialogClass = 'ui-datepicker-dialog'; // The name of the dialog marker class + this._promptClass = 'ui-datepicker-prompt'; // The name of the dialog prompt marker class + this._disableClass = 'ui-datepicker-disabled'; // The name of the disabled covering marker class + this._unselectableClass = 'ui-datepicker-unselectable'; // The name of the unselectable cell marker class + this._currentClass = 'ui-datepicker-current-day'; // The name of the current day marker class + this.regional = []; // Available regional settings, indexed by language code + this.regional[''] = { // Default regional settings + clearText: 'Clear', // Display text for clear link + clearStatus: 'Erase the current date', // Status text for clear link + closeText: 'Close', // Display text for close link + closeStatus: 'Close without change', // Status text for close link + prevText: '<Prev', // Display text for previous month link + prevStatus: 'Show the previous month', // Status text for previous month link + prevBigText: '<<', // Display text for previous year link + prevBigStatus: 'Show the previous year', // Status text for previous year link + nextText: 'Next>', // Display text for next month link + nextStatus: 'Show the next month', // Status text for next month link + nextBigText: '>>', // Display text for next year link + nextBigStatus: 'Show the next year', // Status text for next year link + currentText: 'Today', // Display text for current month link + currentStatus: 'Show the current month', // Status text for current month link + monthNames: ['January','February','March','April','May','June', + 'July','August','September','October','November','December'], // Names of months for drop-down and formatting + monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], // For formatting + monthStatus: 'Show a different month', // Status text for selecting a month + yearStatus: 'Show a different year', // Status text for selecting a year + weekHeader: 'Wk', // Header for the week of the year column + weekStatus: 'Week of the year', // Status text for the week of the year column + dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], // For formatting + dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], // For formatting + dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'], // Column headings for days starting at Sunday + dayStatus: 'Set DD as first week day', // Status text for the day of the week selection + dateStatus: 'Select DD, M d', // Status text for the date selection + dateFormat: 'mm/dd/yy', // See format options on parseDate + firstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ... + initStatus: 'Select a date', // Initial Status text on opening + isRTL: false // True if right-to-left language, false if left-to-right + }; + this._defaults = { // Global defaults for all the date picker instances + showOn: 'focus', // 'focus' for popup on focus, + // 'button' for trigger button, or 'both' for either + showAnim: 'show', // Name of jQuery animation for popup + showOptions: {}, // Options for enhanced animations + defaultDate: null, // Used when field is blank: actual date, + // +/-number for offset from today, null for today + appendText: '', // Display text following the input box, e.g. showing the format + buttonText: '...', // Text for trigger button + buttonImage: '', // URL for trigger button image + buttonImageOnly: false, // True if the image appears alone, false if it appears on a button + closeAtTop: true, // True to have the clear/close at the top, + // false to have them at the bottom + mandatory: false, // True to hide the Clear link, false to include it + hideIfNoPrevNext: false, // True to hide next/previous month links + // if not applicable, false to just disable them + navigationAsDateFormat: false, // True if date formatting applied to prev/today/next links + showBigPrevNext: false, // True to show big prev/next links + gotoCurrent: false, // True if today link goes back to current selection instead + changeMonth: true, // True if month can be selected directly, false if only prev/next + changeYear: true, // True if year can be selected directly, false if only prev/next + showMonthAfterYear: false, // True if the year select precedes month, false for month then year + yearRange: '-10:+10', // Range of years to display in drop-down, + // either relative to current year (-nn:+nn) or absolute (nnnn:nnnn) + changeFirstDay: true, // True to click on day name to change, false to remain as set + highlightWeek: false, // True to highlight the selected week + showOtherMonths: false, // True to show dates in other months, false to leave blank + showWeeks: false, // True to show week of the year, false to omit + calculateWeek: this.iso8601Week, // How to calculate the week of the year, + // takes a Date and returns the number of the week for it + shortYearCutoff: '+10', // Short year values < this are in the current century, + // > this are in the previous century, + // string value starting with '+' for current year + value + showStatus: false, // True to show status bar at bottom, false to not show it + statusForDate: this.dateStatus, // Function to provide status text for a date - + // takes date and instance as parameters, returns display text + minDate: null, // The earliest selectable date, or null for no limit + maxDate: null, // The latest selectable date, or null for no limit + duration: 'normal', // Duration of display/closure + beforeShowDay: null, // Function that takes a date and returns an array with + // [0] = true if selectable, false if not, [1] = custom CSS class name(s) or '', + // [2] = cell title (optional), e.g. $.datepicker.noWeekends + beforeShow: null, // Function that takes an input field and + // returns a set of custom settings for the date picker + onSelect: null, // Define a callback function when a date is selected + onChangeMonthYear: null, // Define a callback function when the month or year is changed + onClose: null, // Define a callback function when the datepicker is closed + numberOfMonths: 1, // Number of months to show at a time + showCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0) + stepMonths: 1, // Number of months to step back/forward + stepBigMonths: 12, // Number of months to step back/forward for the big links + rangeSelect: false, // Allows for selecting a date range on one date picker + rangeSeparator: ' - ', // Text between two dates in a range + altField: '', // Selector for an alternate field to store selected dates into + altFormat: '' // The date format to use for the alternate field + }; + $.extend(this._defaults, this.regional['']); + this.dpDiv = $(''); +} + +$.extend(Datepicker.prototype, { + /* Class name added to elements to indicate already configured with a date picker. */ + markerClassName: 'hasDatepicker', + + /* Debug logging (if enabled). */ + log: function () { + if (this.debug) + console.log.apply('', arguments); + }, + + /* Override the default settings for all instances of the date picker. + @param settings object - the new settings to use as defaults (anonymous object) + @return the manager object */ + setDefaults: function(settings) { + extendRemove(this._defaults, settings || {}); + return this; + }, + + /* Attach the date picker to a jQuery selection. + @param target element - the target input field or division or span + @param settings object - the new settings to use for this date picker instance (anonymous) */ + _attachDatepicker: function(target, settings) { + // check for settings on the control itself - in namespace 'date:' + var inlineSettings = null; + for (attrName in this._defaults) { + var attrValue = target.getAttribute('date:' + attrName); + if (attrValue) { + inlineSettings = inlineSettings || {}; + try { + inlineSettings[attrName] = eval(attrValue); + } catch (err) { + inlineSettings[attrName] = attrValue; + } + } + } + var nodeName = target.nodeName.toLowerCase(); + var inline = (nodeName == 'div' || nodeName == 'span'); + if (!target.id) + target.id = 'dp' + (++this.uuid); + var inst = this._newInst($(target), inline); + inst.settings = $.extend({}, settings || {}, inlineSettings || {}); + if (nodeName == 'input') { + this._connectDatepicker(target, inst); + } else if (inline) { + this._inlineDatepicker(target, inst); + } + }, + + /* Create a new instance object. */ + _newInst: function(target, inline) { + var id = target[0].id.replace(/([:\[\]\.])/g, '\\\\$1'); // escape jQuery meta chars + return {id: id, input: target, // associated target + selectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection + drawMonth: 0, drawYear: 0, // month being drawn + inline: inline, // is datepicker inline or not + dpDiv: (!inline ? this.dpDiv : // presentation div + $('
      '))}; + }, + + /* Attach the date picker to an input field. */ + _connectDatepicker: function(target, inst) { + var input = $(target); + if (input.hasClass(this.markerClassName)) + return; + var appendText = this._get(inst, 'appendText'); + var isRTL = this._get(inst, 'isRTL'); + if (appendText) + input[isRTL ? 'before' : 'after']('' + appendText + ''); + var showOn = this._get(inst, 'showOn'); + if (showOn == 'focus' || showOn == 'both') // pop-up date picker when in the marked field + input.focus(this._showDatepicker); + if (showOn == 'button' || showOn == 'both') { // pop-up date picker when button clicked + var buttonText = this._get(inst, 'buttonText'); + var buttonImage = this._get(inst, 'buttonImage'); + var trigger = $(this._get(inst, 'buttonImageOnly') ? + $('').addClass(this._triggerClass). + attr({ src: buttonImage, alt: buttonText, title: buttonText }) : + $('').addClass(this._triggerClass). + html(buttonImage == '' ? buttonText : $('').attr( + { src:buttonImage, alt:buttonText, title:buttonText }))); + input[isRTL ? 'before' : 'after'](trigger); + trigger.click(function() { + if ($.datepicker._datepickerShowing && $.datepicker._lastInput == target) + $.datepicker._hideDatepicker(); + else + $.datepicker._showDatepicker(target); + return false; + }); + } + input.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress). + bind("setData.datepicker", function(event, key, value) { + inst.settings[key] = value; + }).bind("getData.datepicker", function(event, key) { + return this._get(inst, key); + }); + $.data(target, PROP_NAME, inst); + }, + + /* Attach an inline date picker to a div. */ + _inlineDatepicker: function(target, inst) { + var divSpan = $(target); + if (divSpan.hasClass(this.markerClassName)) + return; + divSpan.addClass(this.markerClassName).append(inst.dpDiv). + bind("setData.datepicker", function(event, key, value){ + inst.settings[key] = value; + }).bind("getData.datepicker", function(event, key){ + return this._get(inst, key); + }); + $.data(target, PROP_NAME, inst); + this._setDate(inst, this._getDefaultDate(inst)); + this._updateDatepicker(inst); + }, + + /* Tidy up after displaying the date picker. */ + _inlineShow: function(inst) { + var numMonths = this._getNumberOfMonths(inst); // fix width for dynamic number of date pickers + inst.dpDiv.width(numMonths[1] * $('.ui-datepicker', inst.dpDiv[0]).width()); + }, + + /* Pop-up the date picker in a "dialog" box. + @param input element - ignored + @param dateText string - the initial date to display (in the current format) + @param onSelect function - the function(dateText) to call when a date is selected + @param settings object - update the dialog date picker instance's settings (anonymous object) + @param pos int[2] - coordinates for the dialog's position within the screen or + event - with x/y coordinates or + leave empty for default (screen centre) + @return the manager object */ + _dialogDatepicker: function(input, dateText, onSelect, settings, pos) { + var inst = this._dialogInst; // internal instance + if (!inst) { + var id = 'dp' + (++this.uuid); + this._dialogInput = $(''); + this._dialogInput.keydown(this._doKeyDown); + $('body').append(this._dialogInput); + inst = this._dialogInst = this._newInst(this._dialogInput, false); + inst.settings = {}; + $.data(this._dialogInput[0], PROP_NAME, inst); + } + extendRemove(inst.settings, settings || {}); + this._dialogInput.val(dateText); + + this._pos = (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : null); + if (!this._pos) { + var browserWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; + var browserHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; + var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; + var scrollY = document.documentElement.scrollTop || document.body.scrollTop; + this._pos = // should use actual width/height below + [(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + scrollY]; + } + + // move input on screen for focus, but hidden behind dialog + this._dialogInput.css('left', this._pos[0] + 'px').css('top', this._pos[1] + 'px'); + inst.settings.onSelect = onSelect; + this._inDialog = true; + this.dpDiv.addClass(this._dialogClass); + this._showDatepicker(this._dialogInput[0]); + if ($.blockUI) + $.blockUI(this.dpDiv); + $.data(this._dialogInput[0], PROP_NAME, inst); + return this; + }, + + /* Detach a datepicker from its control. + @param target element - the target input field or division or span */ + _destroyDatepicker: function(target) { + var $target = $(target); + if (!$target.hasClass(this.markerClassName)) { + return; + } + var nodeName = target.nodeName.toLowerCase(); + $.removeData(target, PROP_NAME); + if (nodeName == 'input') { + $target.siblings('.' + this._appendClass).remove().end(). + siblings('.' + this._triggerClass).remove().end(). + removeClass(this.markerClassName). + unbind('focus', this._showDatepicker). + unbind('keydown', this._doKeyDown). + unbind('keypress', this._doKeyPress); + } else if (nodeName == 'div' || nodeName == 'span') + $target.removeClass(this.markerClassName).empty(); + }, + + /* Enable the date picker to a jQuery selection. + @param target element - the target input field or division or span */ + _enableDatepicker: function(target) { + var $target = $(target); + if (!$target.hasClass(this.markerClassName)) { + return; + } + var nodeName = target.nodeName.toLowerCase(); + if (nodeName == 'input') { + target.disabled = false; + $target.siblings('button.' + this._triggerClass). + each(function() { this.disabled = false; }).end(). + siblings('img.' + this._triggerClass). + css({opacity: '1.0', cursor: ''}); + } + else if (nodeName == 'div' || nodeName == 'span') { + $target.children('.' + this._disableClass).remove(); + } + this._disabledInputs = $.map(this._disabledInputs, + function(value) { return (value == target ? null : value); }); // delete entry + }, + + /* Disable the date picker to a jQuery selection. + @param target element - the target input field or division or span */ + _disableDatepicker: function(target) { + var $target = $(target); + if (!$target.hasClass(this.markerClassName)) { + return; + } + var nodeName = target.nodeName.toLowerCase(); + if (nodeName == 'input') { + target.disabled = true; + $target.siblings('button.' + this._triggerClass). + each(function() { this.disabled = true; }).end(). + siblings('img.' + this._triggerClass). + css({opacity: '0.5', cursor: 'default'}); + } + else if (nodeName == 'div' || nodeName == 'span') { + var inline = $target.children('.' + this._inlineClass); + var offset = inline.offset(); + var relOffset = {left: 0, top: 0}; + inline.parents().each(function() { + if ($(this).css('position') == 'relative') { + relOffset = $(this).offset(); + return false; + } + }); + $target.prepend('
      '); + } + this._disabledInputs = $.map(this._disabledInputs, + function(value) { return (value == target ? null : value); }); // delete entry + this._disabledInputs[this._disabledInputs.length] = target; + }, + + /* Is the first field in a jQuery collection disabled as a datepicker? + @param target element - the target input field or division or span + @return boolean - true if disabled, false if enabled */ + _isDisabledDatepicker: function(target) { + if (!target) + return false; + for (var i = 0; i < this._disabledInputs.length; i++) { + if (this._disabledInputs[i] == target) + return true; + } + return false; + }, + + /* Retrieve the instance data for the target control. + @param target element - the target input field or division or span + @return object - the associated instance data + @throws error if a jQuery problem getting data */ + _getInst: function(target) { + try { + return $.data(target, PROP_NAME); + } + catch (err) { + throw 'Missing instance data for this datepicker'; + } + }, + + /* Update the settings for a date picker attached to an input field or division. + @param target element - the target input field or division or span + @param name object - the new settings to update or + string - the name of the setting to change or + @param value any - the new value for the setting (omit if above is an object) */ + _changeDatepicker: function(target, name, value) { + var settings = name || {}; + if (typeof name == 'string') { + settings = {}; + settings[name] = value; + } + var inst = this._getInst(target); + if (inst) { + if (this._curInst == inst) { + this._hideDatepicker(null); + } + extendRemove(inst.settings, settings); + var date = new Date(); + extendRemove(inst, {rangeStart: null, // start of range + endDay: null, endMonth: null, endYear: null, // end of range + selectedDay: date.getDate(), selectedMonth: date.getMonth(), + selectedYear: date.getFullYear(), // starting point + currentDay: date.getDate(), currentMonth: date.getMonth(), + currentYear: date.getFullYear(), // current selection + drawMonth: date.getMonth(), drawYear: date.getFullYear()}); // month being drawn + this._updateDatepicker(inst); + } + }, + + /* Redraw the date picker attached to an input field or division. + @param target element - the target input field or division or span */ + _refreshDatepicker: function(target) { + var inst = this._getInst(target); + if (inst) { + this._updateDatepicker(inst); + } + }, + + /* Set the dates for a jQuery selection. + @param target element - the target input field or division or span + @param date Date - the new date + @param endDate Date - the new end date for a range (optional) */ + _setDateDatepicker: function(target, date, endDate) { + var inst = this._getInst(target); + if (inst) { + this._setDate(inst, date, endDate); + this._updateDatepicker(inst); + this._updateAlternate(inst); + } + }, + + /* Get the date(s) for the first entry in a jQuery selection. + @param target element - the target input field or division or span + @return Date - the current date or + Date[2] - the current dates for a range */ + _getDateDatepicker: function(target) { + var inst = this._getInst(target); + if (inst && !inst.inline) + this._setDateFromField(inst); + return (inst ? this._getDate(inst) : null); + }, + + /* Handle keystrokes. */ + _doKeyDown: function(e) { + var inst = $.datepicker._getInst(e.target); + var handled = true; + if ($.datepicker._datepickerShowing) + switch (e.keyCode) { + case 9: $.datepicker._hideDatepicker(null, ''); + break; // hide on tab out + case 13: $.datepicker._selectDay(e.target, inst.selectedMonth, inst.selectedYear, + $('td.ui-datepicker-days-cell-over', inst.dpDiv)[0]); + return false; // don't submit the form + break; // select the value on enter + case 27: $.datepicker._hideDatepicker(null, $.datepicker._get(inst, 'duration')); + break; // hide on escape + case 33: $.datepicker._adjustDate(e.target, (e.ctrlKey ? + -$.datepicker._get(inst, 'stepBigMonths') : + -$.datepicker._get(inst, 'stepMonths')), 'M'); + break; // previous month/year on page up/+ ctrl + case 34: $.datepicker._adjustDate(e.target, (e.ctrlKey ? + +$.datepicker._get(inst, 'stepBigMonths') : + +$.datepicker._get(inst, 'stepMonths')), 'M'); + break; // next month/year on page down/+ ctrl + case 35: if (e.ctrlKey) $.datepicker._clearDate(e.target); + handled = e.ctrlKey; + break; // clear on ctrl+end + case 36: if (e.ctrlKey) $.datepicker._gotoToday(e.target); + handled = e.ctrlKey; + break; // current on ctrl+home + case 37: if (e.ctrlKey) $.datepicker._adjustDate(e.target, -1, 'D'); + handled = e.ctrlKey; + break; // -1 day on ctrl+left + case 38: if (e.ctrlKey) $.datepicker._adjustDate(e.target, -7, 'D'); + handled = e.ctrlKey; + break; // -1 week on ctrl+up + case 39: if (e.ctrlKey) $.datepicker._adjustDate(e.target, +1, 'D'); + handled = e.ctrlKey; + break; // +1 day on ctrl+right + case 40: if (e.ctrlKey) $.datepicker._adjustDate(e.target, +7, 'D'); + handled = e.ctrlKey; + break; // +1 week on ctrl+down + default: handled = false; + } + else if (e.keyCode == 36 && e.ctrlKey) // display the date picker on ctrl+home + $.datepicker._showDatepicker(this); + else + handled = false; + if (handled) { + e.preventDefault(); + e.stopPropagation(); + } + }, + + /* Filter entered characters - based on date format. */ + _doKeyPress: function(e) { + var inst = $.datepicker._getInst(e.target); + var chars = $.datepicker._possibleChars($.datepicker._get(inst, 'dateFormat')); + var chr = String.fromCharCode(e.charCode == undefined ? e.keyCode : e.charCode); + return e.ctrlKey || (chr < ' ' || !chars || chars.indexOf(chr) > -1); + }, + + /* Pop-up the date picker for a given input field. + @param input element - the input field attached to the date picker or + event - if triggered by focus */ + _showDatepicker: function(input) { + input = input.target || input; + if (input.nodeName.toLowerCase() != 'input') // find from button/image trigger + input = $('input', input.parentNode)[0]; + if ($.datepicker._isDisabledDatepicker(input) || $.datepicker._lastInput == input) // already here + return; + var inst = $.datepicker._getInst(input); + var beforeShow = $.datepicker._get(inst, 'beforeShow'); + extendRemove(inst.settings, (beforeShow ? beforeShow.apply(input, [input, inst]) : {})); + $.datepicker._hideDatepicker(null, ''); + $.datepicker._lastInput = input; + $.datepicker._setDateFromField(inst); + if ($.datepicker._inDialog) // hide cursor + input.value = ''; + if (!$.datepicker._pos) { // position below input + $.datepicker._pos = $.datepicker._findPos(input); + $.datepicker._pos[1] += input.offsetHeight; // add the height + } + var isFixed = false; + $(input).parents().each(function() { + isFixed |= $(this).css('position') == 'fixed'; + return !isFixed; + }); + if (isFixed && $.browser.opera) { // correction for Opera when fixed and scrolled + $.datepicker._pos[0] -= document.documentElement.scrollLeft; + $.datepicker._pos[1] -= document.documentElement.scrollTop; + } + var offset = {left: $.datepicker._pos[0], top: $.datepicker._pos[1]}; + $.datepicker._pos = null; + inst.rangeStart = null; + // determine sizing offscreen + inst.dpDiv.css({position: 'absolute', display: 'block', top: '-1000px'}); + $.datepicker._updateDatepicker(inst); + // fix width for dynamic number of date pickers + inst.dpDiv.width($.datepicker._getNumberOfMonths(inst)[1] * + $('.ui-datepicker', inst.dpDiv[0])[0].offsetWidth); + // and adjust position before showing + offset = $.datepicker._checkOffset(inst, offset, isFixed); + inst.dpDiv.css({position: ($.datepicker._inDialog && $.blockUI ? + 'static' : (isFixed ? 'fixed' : 'absolute')), display: 'none', + left: offset.left + 'px', top: offset.top + 'px'}); + if (!inst.inline) { + var showAnim = $.datepicker._get(inst, 'showAnim') || 'show'; + var duration = $.datepicker._get(inst, 'duration'); + var postProcess = function() { + $.datepicker._datepickerShowing = true; + if ($.browser.msie && parseInt($.browser.version,10) < 7) // fix IE < 7 select problems + $('iframe.ui-datepicker-cover').css({width: inst.dpDiv.width() + 4, + height: inst.dpDiv.height() + 4}); + }; + if ($.effects && $.effects[showAnim]) + inst.dpDiv.show(showAnim, $.datepicker._get(inst, 'showOptions'), duration, postProcess); + else + inst.dpDiv[showAnim](duration, postProcess); + if (duration == '') + postProcess(); + if (inst.input[0].type != 'hidden') + inst.input[0].focus(); + $.datepicker._curInst = inst; + } + }, + + /* Generate the date picker content. */ + _updateDatepicker: function(inst) { + var dims = {width: inst.dpDiv.width() + 4, + height: inst.dpDiv.height() + 4}; + inst.dpDiv.empty().append(this._generateHTML(inst)). + find('iframe.ui-datepicker-cover'). + css({width: dims.width, height: dims.height}); + var numMonths = this._getNumberOfMonths(inst); + inst.dpDiv[(numMonths[0] != 1 || numMonths[1] != 1 ? 'add' : 'remove') + + 'Class']('ui-datepicker-multi'); + inst.dpDiv[(this._get(inst, 'isRTL') ? 'add' : 'remove') + + 'Class']('ui-datepicker-rtl'); + if (inst.input && inst.input[0].type != 'hidden') + $(inst.input[0]).focus(); + }, + + /* Check positioning to remain on screen. */ + _checkOffset: function(inst, offset, isFixed) { + var pos = inst.input ? this._findPos(inst.input[0]) : null; + var browserWidth = window.innerWidth || document.documentElement.clientWidth; + var browserHeight = window.innerHeight || document.documentElement.clientHeight; + var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; + var scrollY = document.documentElement.scrollTop || document.body.scrollTop; + // reposition date picker horizontally if outside the browser window + if (this._get(inst, 'isRTL') || (offset.left + inst.dpDiv.width() - scrollX) > browserWidth) + offset.left = Math.max((isFixed ? 0 : scrollX), + pos[0] + (inst.input ? inst.input.width() : 0) - (isFixed ? scrollX : 0) - inst.dpDiv.width() - + (isFixed && $.browser.opera ? document.documentElement.scrollLeft : 0)); + else + offset.left -= (isFixed ? scrollX : 0); + // reposition date picker vertically if outside the browser window + if ((offset.top + inst.dpDiv.height() - scrollY) > browserHeight) + offset.top = Math.max((isFixed ? 0 : scrollY), + pos[1] - (isFixed ? scrollY : 0) - (this._inDialog ? 0 : inst.dpDiv.height()) - + (isFixed && $.browser.opera ? document.documentElement.scrollTop : 0)); + else + offset.top -= (isFixed ? scrollY : 0); + return offset; + }, + + /* Find an object's position on the screen. */ + _findPos: function(obj) { + while (obj && (obj.type == 'hidden' || obj.nodeType != 1)) { + obj = obj.nextSibling; + } + var position = $(obj).offset(); + return [position.left, position.top]; + }, + + /* Hide the date picker from view. + @param input element - the input field attached to the date picker + @param duration string - the duration over which to close the date picker */ + _hideDatepicker: function(input, duration) { + var inst = this._curInst; + if (!inst || (input && inst != $.data(input, PROP_NAME))) + return; + var rangeSelect = this._get(inst, 'rangeSelect'); + if (rangeSelect && inst.stayOpen) + this._selectDate('#' + inst.id, this._formatDate(inst, + inst.currentDay, inst.currentMonth, inst.currentYear)); + inst.stayOpen = false; + if (this._datepickerShowing) { + duration = (duration != null ? duration : this._get(inst, 'duration')); + var showAnim = this._get(inst, 'showAnim'); + var postProcess = function() { + $.datepicker._tidyDialog(inst); + }; + if (duration != '' && $.effects && $.effects[showAnim]) + inst.dpDiv.hide(showAnim, $.datepicker._get(inst, 'showOptions'), + duration, postProcess); + else + inst.dpDiv[(duration == '' ? 'hide' : (showAnim == 'slideDown' ? 'slideUp' : + (showAnim == 'fadeIn' ? 'fadeOut' : 'hide')))](duration, postProcess); + if (duration == '') + this._tidyDialog(inst); + var onClose = this._get(inst, 'onClose'); + if (onClose) + onClose.apply((inst.input ? inst.input[0] : null), + [(inst.input ? inst.input.val() : ''), inst]); // trigger custom callback + this._datepickerShowing = false; + this._lastInput = null; + inst.settings.prompt = null; + if (this._inDialog) { + this._dialogInput.css({ position: 'absolute', left: '0', top: '-100px' }); + if ($.blockUI) { + $.unblockUI(); + $('body').append(this.dpDiv); + } + } + this._inDialog = false; + } + this._curInst = null; + }, + + /* Tidy up after a dialog display. */ + _tidyDialog: function(inst) { + inst.dpDiv.removeClass(this._dialogClass).unbind('.ui-datepicker'); + $('.' + this._promptClass, inst.dpDiv).remove(); + }, + + /* Close date picker if clicked elsewhere. */ + _checkExternalClick: function(event) { + if (!$.datepicker._curInst) + return; + var $target = $(event.target); + if (($target.parents('#' + $.datepicker._mainDivId).length == 0) && + !$target.hasClass($.datepicker.markerClassName) && + !$target.hasClass($.datepicker._triggerClass) && + $.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI)) + $.datepicker._hideDatepicker(null, ''); + }, + + /* Adjust one of the date sub-fields. */ + _adjustDate: function(id, offset, period) { + var target = $(id); + var inst = this._getInst(target[0]); + this._adjustInstDate(inst, offset, period); + this._updateDatepicker(inst); + }, + + /* Action for current link. */ + _gotoToday: function(id) { + var target = $(id); + var inst = this._getInst(target[0]); + if (this._get(inst, 'gotoCurrent') && inst.currentDay) { + inst.selectedDay = inst.currentDay; + inst.drawMonth = inst.selectedMonth = inst.currentMonth; + inst.drawYear = inst.selectedYear = inst.currentYear; + } + else { + var date = new Date(); + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + } + this._notifyChange(inst); + this._adjustDate(target); + }, + + /* Action for selecting a new month/year. */ + _selectMonthYear: function(id, select, period) { + var target = $(id); + var inst = this._getInst(target[0]); + inst._selectingMonthYear = false; + inst['selected' + (period == 'M' ? 'Month' : 'Year')] = + inst['draw' + (period == 'M' ? 'Month' : 'Year')] = + parseInt(select.options[select.selectedIndex].value,10); + this._notifyChange(inst); + this._adjustDate(target); + }, + + /* Restore input focus after not changing month/year. */ + _clickMonthYear: function(id) { + var target = $(id); + var inst = this._getInst(target[0]); + if (inst.input && inst._selectingMonthYear && !$.browser.msie) + inst.input[0].focus(); + inst._selectingMonthYear = !inst._selectingMonthYear; + }, + + /* Action for changing the first week day. */ + _changeFirstDay: function(id, day) { + var target = $(id); + var inst = this._getInst(target[0]); + inst.settings.firstDay = day; + this._updateDatepicker(inst); + }, + + /* Action for selecting a day. */ + _selectDay: function(id, month, year, td) { + if ($(td).hasClass(this._unselectableClass)) + return; + var target = $(id); + var inst = this._getInst(target[0]); + var rangeSelect = this._get(inst, 'rangeSelect'); + if (rangeSelect) { + inst.stayOpen = !inst.stayOpen; + if (inst.stayOpen) { + $('.ui-datepicker td', inst.dpDiv).removeClass(this._currentClass); + $(td).addClass(this._currentClass); + } + } + inst.selectedDay = inst.currentDay = $('a', td).html(); + inst.selectedMonth = inst.currentMonth = month; + inst.selectedYear = inst.currentYear = year; + if (inst.stayOpen) { + inst.endDay = inst.endMonth = inst.endYear = null; + } + else if (rangeSelect) { + inst.endDay = inst.currentDay; + inst.endMonth = inst.currentMonth; + inst.endYear = inst.currentYear; + } + this._selectDate(id, this._formatDate(inst, + inst.currentDay, inst.currentMonth, inst.currentYear)); + if (inst.stayOpen) { + inst.rangeStart = new Date(inst.currentYear, inst.currentMonth, inst.currentDay); + this._updateDatepicker(inst); + } + else if (rangeSelect) { + inst.selectedDay = inst.currentDay = inst.rangeStart.getDate(); + inst.selectedMonth = inst.currentMonth = inst.rangeStart.getMonth(); + inst.selectedYear = inst.currentYear = inst.rangeStart.getFullYear(); + inst.rangeStart = null; + if (inst.inline) + this._updateDatepicker(inst); + } + }, + + /* Erase the input field and hide the date picker. */ + _clearDate: function(id) { + var target = $(id); + var inst = this._getInst(target[0]); + if (this._get(inst, 'mandatory')) + return; + inst.stayOpen = false; + inst.endDay = inst.endMonth = inst.endYear = inst.rangeStart = null; + this._selectDate(target, ''); + }, + + /* Update the input field with the selected date. */ + _selectDate: function(id, dateStr) { + var target = $(id); + var inst = this._getInst(target[0]); + dateStr = (dateStr != null ? dateStr : this._formatDate(inst)); + if (this._get(inst, 'rangeSelect') && dateStr) + dateStr = (inst.rangeStart ? this._formatDate(inst, inst.rangeStart) : + dateStr) + this._get(inst, 'rangeSeparator') + dateStr; + if (inst.input) + inst.input.val(dateStr); + this._updateAlternate(inst); + var onSelect = this._get(inst, 'onSelect'); + if (onSelect) + onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]); // trigger custom callback + else if (inst.input) + inst.input.trigger('change'); // fire the change event + if (inst.inline) + this._updateDatepicker(inst); + else if (!inst.stayOpen) { + this._hideDatepicker(null, this._get(inst, 'duration')); + this._lastInput = inst.input[0]; + if (typeof(inst.input[0]) != 'object') + inst.input[0].focus(); // restore focus + this._lastInput = null; + } + }, + + /* Update any alternate field to synchronise with the main field. */ + _updateAlternate: function(inst) { + var altField = this._get(inst, 'altField'); + if (altField) { // update alternate field too + var altFormat = this._get(inst, 'altFormat'); + var date = this._getDate(inst); + dateStr = (isArray(date) ? (!date[0] && !date[1] ? '' : + this.formatDate(altFormat, date[0], this._getFormatConfig(inst)) + + this._get(inst, 'rangeSeparator') + this.formatDate( + altFormat, date[1] || date[0], this._getFormatConfig(inst))) : + this.formatDate(altFormat, date, this._getFormatConfig(inst))); + $(altField).each(function() { $(this).val(dateStr); }); + } + }, + + /* Set as beforeShowDay function to prevent selection of weekends. + @param date Date - the date to customise + @return [boolean, string] - is this date selectable?, what is its CSS class? */ + noWeekends: function(date) { + var day = date.getDay(); + return [(day > 0 && day < 6), '']; + }, + + /* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition. + @param date Date - the date to get the week for + @return number - the number of the week within the year that contains this date */ + iso8601Week: function(date) { + var checkDate = new Date(date.getFullYear(), date.getMonth(), date.getDate(), + (date.getTimezoneOffset() / -60)); + var firstMon = new Date(checkDate.getFullYear(), 1 - 1, 4); // First week always contains 4 Jan + var firstDay = firstMon.getDay() || 7; // Day of week: Mon = 1, ..., Sun = 7 + firstMon.setDate(firstMon.getDate() + 1 - firstDay); // Preceding Monday + if (firstDay < 4 && checkDate < firstMon) { // Adjust first three days in year if necessary + checkDate.setDate(checkDate.getDate() - 3); // Generate for previous year + return $.datepicker.iso8601Week(checkDate); + } else if (checkDate > new Date(checkDate.getFullYear(), 12 - 1, 28)) { // Check last three days in year + firstDay = new Date(checkDate.getFullYear() + 1, 1 - 1, 4).getDay() || 7; + if (firstDay > 4 && (checkDate.getDay() || 7) < firstDay - 3) { // Adjust if necessary + return 1; + } + } + return Math.floor(((checkDate - firstMon) / 86400000) / 7) + 1; // Weeks to given date + }, + + /* Provide status text for a particular date. + @param date the date to get the status for + @param inst the current datepicker instance + @return the status display text for this date */ + dateStatus: function(date, inst) { + return $.datepicker.formatDate($.datepicker._get(inst, 'dateStatus'), + date, $.datepicker._getFormatConfig(inst)); + }, + + /* Parse a string value into a date object. + See formatDate below for the possible formats. + + @param format string - the expected format of the date + @param value string - the date in the above format + @param settings Object - attributes include: + shortYearCutoff number - the cutoff year for determining the century (optional) + dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) + dayNames string[7] - names of the days from Sunday (optional) + monthNamesShort string[12] - abbreviated names of the months (optional) + monthNames string[12] - names of the months (optional) + @return Date - the extracted date value or null if value is blank */ + parseDate: function (format, value, settings) { + if (format == null || value == null) + throw 'Invalid arguments'; + value = (typeof value == 'object' ? value.toString() : value + ''); + if (value == '') + return null; + var shortYearCutoff = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff; + var dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort; + var dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames; + var monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort; + var monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames; + var year = -1; + var month = -1; + var day = -1; + var doy = -1; + var literal = false; + // Check whether a format character is doubled + var lookAhead = function(match) { + var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match); + if (matches) + iFormat++; + return matches; + }; + // Extract a number from the string value + var getNumber = function(match) { + lookAhead(match); + var origSize = (match == '@' ? 14 : (match == 'y' ? 4 : (match == 'o' ? 3 : 2))); + var size = origSize; + var num = 0; + while (size > 0 && iValue < value.length && + value.charAt(iValue) >= '0' && value.charAt(iValue) <= '9') { + num = num * 10 + parseInt(value.charAt(iValue++),10); + size--; + } + if (size == origSize) + throw 'Missing number at position ' + iValue; + return num; + }; + // Extract a name from the string value and convert to an index + var getName = function(match, shortNames, longNames) { + var names = (lookAhead(match) ? longNames : shortNames); + var size = 0; + for (var j = 0; j < names.length; j++) + size = Math.max(size, names[j].length); + var name = ''; + var iInit = iValue; + while (size > 0 && iValue < value.length) { + name += value.charAt(iValue++); + for (var i = 0; i < names.length; i++) + if (name == names[i]) + return i + 1; + size--; + } + throw 'Unknown name at position ' + iInit; + }; + // Confirm that a literal character matches the string value + var checkLiteral = function() { + if (value.charAt(iValue) != format.charAt(iFormat)) + throw 'Unexpected literal at position ' + iValue; + iValue++; + }; + var iValue = 0; + for (var iFormat = 0; iFormat < format.length; iFormat++) { + if (literal) + if (format.charAt(iFormat) == "'" && !lookAhead("'")) + literal = false; + else + checkLiteral(); + else + switch (format.charAt(iFormat)) { + case 'd': + day = getNumber('d'); + break; + case 'D': + getName('D', dayNamesShort, dayNames); + break; + case 'o': + doy = getNumber('o'); + break; + case 'm': + month = getNumber('m'); + break; + case 'M': + month = getName('M', monthNamesShort, monthNames); + break; + case 'y': + year = getNumber('y'); + break; + case '@': + var date = new Date(getNumber('@')); + year = date.getFullYear(); + month = date.getMonth() + 1; + day = date.getDate(); + break; + case "'": + if (lookAhead("'")) + checkLiteral(); + else + literal = true; + break; + default: + checkLiteral(); + } + } + if (year < 100) + year += new Date().getFullYear() - new Date().getFullYear() % 100 + + (year <= shortYearCutoff ? 0 : -100); + if (doy > -1) { + month = 1; + day = doy; + do { + var dim = this._getDaysInMonth(year, month - 1); + if (day <= dim) + break; + month++; + day -= dim; + } while (true); + } + var date = new Date(year, month - 1, day); + if (date.getFullYear() != year || date.getMonth() + 1 != month || date.getDate() != day) + throw 'Invalid date'; // E.g. 31/02/* + return date; + }, + + /* Standard date formats. */ + ATOM: 'yy-mm-dd', // RFC 3339 (ISO 8601) + COOKIE: 'D, dd M yy', + ISO_8601: 'yy-mm-dd', + RFC_822: 'D, d M y', + RFC_850: 'DD, dd-M-y', + RFC_1036: 'D, d M y', + RFC_1123: 'D, d M yy', + RFC_2822: 'D, d M yy', + RSS: 'D, d M y', // RFC 822 + TIMESTAMP: '@', + W3C: 'yy-mm-dd', // ISO 8601 + + /* Format a date object into a string value. + The format can be combinations of the following: + d - day of month (no leading zero) + dd - day of month (two digit) + o - day of year (no leading zeros) + oo - day of year (three digit) + D - day name short + DD - day name long + m - month of year (no leading zero) + mm - month of year (two digit) + M - month name short + MM - month name long + y - year (two digit) + yy - year (four digit) + @ - Unix timestamp (ms since 01/01/1970) + '...' - literal text + '' - single quote + + @param format string - the desired format of the date + @param date Date - the date value to format + @param settings Object - attributes include: + dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) + dayNames string[7] - names of the days from Sunday (optional) + monthNamesShort string[12] - abbreviated names of the months (optional) + monthNames string[12] - names of the months (optional) + @return string - the date in the above format */ + formatDate: function (format, date, settings) { + if (!date) + return ''; + var dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort; + var dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames; + var monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort; + var monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames; + // Check whether a format character is doubled + var lookAhead = function(match) { + var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match); + if (matches) + iFormat++; + return matches; + }; + // Format a number, with leading zero if necessary + var formatNumber = function(match, value, len) { + var num = '' + value; + if (lookAhead(match)) + while (num.length < len) + num = '0' + num; + return num; + }; + // Format a name, short or long as requested + var formatName = function(match, value, shortNames, longNames) { + return (lookAhead(match) ? longNames[value] : shortNames[value]); + }; + var output = ''; + var literal = false; + if (date) + for (var iFormat = 0; iFormat < format.length; iFormat++) { + if (literal) + if (format.charAt(iFormat) == "'" && !lookAhead("'")) + literal = false; + else + output += format.charAt(iFormat); + else + switch (format.charAt(iFormat)) { + case 'd': + output += formatNumber('d', date.getDate(), 2); + break; + case 'D': + output += formatName('D', date.getDay(), dayNamesShort, dayNames); + break; + case 'o': + var doy = date.getDate(); + for (var m = date.getMonth() - 1; m >= 0; m--) + doy += this._getDaysInMonth(date.getFullYear(), m); + output += formatNumber('o', doy, 3); + break; + case 'm': + output += formatNumber('m', date.getMonth() + 1, 2); + break; + case 'M': + output += formatName('M', date.getMonth(), monthNamesShort, monthNames); + break; + case 'y': + output += (lookAhead('y') ? date.getFullYear() : + (date.getYear() % 100 < 10 ? '0' : '') + date.getYear() % 100); + break; + case '@': + output += date.getTime(); + break; + case "'": + if (lookAhead("'")) + output += "'"; + else + literal = true; + break; + default: + output += format.charAt(iFormat); + } + } + return output; + }, + + /* Extract all possible characters from the date format. */ + _possibleChars: function (format) { + var chars = ''; + var literal = false; + for (var iFormat = 0; iFormat < format.length; iFormat++) + if (literal) + if (format.charAt(iFormat) == "'" && !lookAhead("'")) + literal = false; + else + chars += format.charAt(iFormat); + else + switch (format.charAt(iFormat)) { + case 'd': case 'm': case 'y': case '@': + chars += '0123456789'; + break; + case 'D': case 'M': + return null; // Accept anything + case "'": + if (lookAhead("'")) + chars += "'"; + else + literal = true; + break; + default: + chars += format.charAt(iFormat); + } + return chars; + }, + + /* Get a setting value, defaulting if necessary. */ + _get: function(inst, name) { + return inst.settings[name] !== undefined ? + inst.settings[name] : this._defaults[name]; + }, + + /* Parse existing date and initialise date picker. */ + _setDateFromField: function(inst) { + var dateFormat = this._get(inst, 'dateFormat'); + var dates = inst.input ? inst.input.val().split(this._get(inst, 'rangeSeparator')) : null; + inst.endDay = inst.endMonth = inst.endYear = null; + var date = defaultDate = this._getDefaultDate(inst); + if (dates.length > 0) { + var settings = this._getFormatConfig(inst); + if (dates.length > 1) { + date = this.parseDate(dateFormat, dates[1], settings) || defaultDate; + inst.endDay = date.getDate(); + inst.endMonth = date.getMonth(); + inst.endYear = date.getFullYear(); + } + try { + date = this.parseDate(dateFormat, dates[0], settings) || defaultDate; + } catch (e) { + this.log(e); + date = defaultDate; + } + } + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + inst.currentDay = (dates[0] ? date.getDate() : 0); + inst.currentMonth = (dates[0] ? date.getMonth() : 0); + inst.currentYear = (dates[0] ? date.getFullYear() : 0); + this._adjustInstDate(inst); + }, + + /* Retrieve the default date shown on opening. */ + _getDefaultDate: function(inst) { + var date = this._determineDate(this._get(inst, 'defaultDate'), new Date()); + var minDate = this._getMinMaxDate(inst, 'min', true); + var maxDate = this._getMinMaxDate(inst, 'max'); + date = (minDate && date < minDate ? minDate : date); + date = (maxDate && date > maxDate ? maxDate : date); + return date; + }, + + /* A date may be specified as an exact value or a relative one. */ + _determineDate: function(date, defaultDate) { + var offsetNumeric = function(offset) { + var date = new Date(); + date.setUTCDate(date.getUTCDate() + offset); + return date; + }; + var offsetString = function(offset, getDaysInMonth) { + var date = new Date(); + var year = date.getFullYear(); + var month = date.getMonth(); + var day = date.getDate(); + var pattern = /([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g; + var matches = pattern.exec(offset); + while (matches) { + switch (matches[2] || 'd') { + case 'd' : case 'D' : + day += parseInt(matches[1],10); break; + case 'w' : case 'W' : + day += parseInt(matches[1],10) * 7; break; + case 'm' : case 'M' : + month += parseInt(matches[1],10); + day = Math.min(day, getDaysInMonth(year, month)); + break; + case 'y': case 'Y' : + year += parseInt(matches[1],10); + day = Math.min(day, getDaysInMonth(year, month)); + break; + } + matches = pattern.exec(offset); + } + return new Date(year, month, day); + }; + date = (date == null ? defaultDate : + (typeof date == 'string' ? offsetString(date, this._getDaysInMonth) : + (typeof date == 'number' ? (isNaN(date) ? defaultDate : offsetNumeric(date)) : date))); + return (date && date.toString() == 'Invalid Date' ? defaultDate : date); + }, + + /* Set the date(s) directly. */ + _setDate: function(inst, date, endDate) { + var clear = !(date); + var origMonth = inst.selectedMonth; + var origYear = inst.selectedYear; + date = this._determineDate(date, new Date()); + inst.selectedDay = inst.currentDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = inst.currentMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = inst.currentYear = date.getFullYear(); + if (this._get(inst, 'rangeSelect')) { + if (endDate) { + endDate = this._determineDate(endDate, null); + inst.endDay = endDate.getDate(); + inst.endMonth = endDate.getMonth(); + inst.endYear = endDate.getFullYear(); + } else { + inst.endDay = inst.currentDay; + inst.endMonth = inst.currentMonth; + inst.endYear = inst.currentYear; + } + } + if (origMonth != inst.selectedMonth || origYear != inst.selectedYear) + this._notifyChange(inst); + this._adjustInstDate(inst); + if (inst.input) + inst.input.val(clear ? '' : this._formatDate(inst) + + (!this._get(inst, 'rangeSelect') ? '' : this._get(inst, 'rangeSeparator') + + this._formatDate(inst, inst.endDay, inst.endMonth, inst.endYear))); + }, + + /* Retrieve the date(s) directly. */ + _getDate: function(inst) { + var startDate = (!inst.currentYear || (inst.input && inst.input.val() == '') ? null : + new Date(inst.currentYear, inst.currentMonth, inst.currentDay)); + if (this._get(inst, 'rangeSelect')) { + return [inst.rangeStart || startDate, + (!inst.endYear ? inst.rangeStart || startDate : + new Date(inst.endYear, inst.endMonth, inst.endDay))]; + } else + return startDate; + }, + + /* Generate the HTML for the current state of the date picker. */ + _generateHTML: function(inst) { + var today = new Date(); + today = new Date(today.getFullYear(), today.getMonth(), today.getDate()); // clear time + var showStatus = this._get(inst, 'showStatus'); + var initStatus = this._get(inst, 'initStatus') || ' '; + var isRTL = this._get(inst, 'isRTL'); + // build the date picker HTML + var clear = (this._get(inst, 'mandatory') ? '' : + ''); + var controls = '
      ' + (isRTL ? '' : clear) + + '' + (isRTL ? clear : '') + '
      '; + var prompt = this._get(inst, 'prompt'); + var closeAtTop = this._get(inst, 'closeAtTop'); + var hideIfNoPrevNext = this._get(inst, 'hideIfNoPrevNext'); + var navigationAsDateFormat = this._get(inst, 'navigationAsDateFormat'); + var showBigPrevNext = this._get(inst, 'showBigPrevNext'); + var numMonths = this._getNumberOfMonths(inst); + var showCurrentAtPos = this._get(inst, 'showCurrentAtPos'); + var stepMonths = this._get(inst, 'stepMonths'); + var stepBigMonths = this._get(inst, 'stepBigMonths'); + var isMultiMonth = (numMonths[0] != 1 || numMonths[1] != 1); + var currentDate = (!inst.currentDay ? new Date(9999, 9, 9) : + new Date(inst.currentYear, inst.currentMonth, inst.currentDay)); + var minDate = this._getMinMaxDate(inst, 'min', true); + var maxDate = this._getMinMaxDate(inst, 'max'); + var drawMonth = inst.drawMonth - showCurrentAtPos; + var drawYear = inst.drawYear; + if (drawMonth < 0) { + drawMonth += 12; + drawYear--; + } + if (maxDate) { + var maxDraw = new Date(maxDate.getFullYear(), + maxDate.getMonth() - numMonths[1] + 1, maxDate.getDate()); + maxDraw = (minDate && maxDraw < minDate ? minDate : maxDraw); + while (new Date(drawYear, drawMonth, 1) > maxDraw) { + drawMonth--; + if (drawMonth < 0) { + drawMonth = 11; + drawYear--; + } + } + } + // controls and links + var prevText = this._get(inst, 'prevText'); + prevText = (!navigationAsDateFormat ? prevText : this.formatDate( + prevText, new Date(drawYear, drawMonth - stepMonths, 1), this._getFormatConfig(inst))); + var prevBigText = (showBigPrevNext ? this._get(inst, 'prevBigText') : ''); + prevBigText = (!navigationAsDateFormat ? prevBigText : this.formatDate( + prevBigText, new Date(drawYear, drawMonth - stepBigMonths, 1), this._getFormatConfig(inst))); + var prev = '
      ' + (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ? + (showBigPrevNext ? '' + prevBigText + '' : '') + + '' + prevText + '' : + (hideIfNoPrevNext ? '' : '')) + '
      '; + var nextText = this._get(inst, 'nextText'); + nextText = (!navigationAsDateFormat ? nextText : this.formatDate( + nextText, new Date(drawYear, drawMonth + stepMonths, 1), this._getFormatConfig(inst))); + var nextBigText = (showBigPrevNext ? this._get(inst, 'nextBigText') : ''); + nextBigText = (!navigationAsDateFormat ? nextBigText : this.formatDate( + nextBigText, new Date(drawYear, drawMonth + stepBigMonths, 1), this._getFormatConfig(inst))); + var next = '
      ' + (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ? + '' + nextText + '' + + (showBigPrevNext ? '' + nextBigText + '' : '') : + (hideIfNoPrevNext ? '' : '')) + '
      '; + var currentText = this._get(inst, 'currentText'); + var gotoDate = (this._get(inst, 'gotoCurrent') && inst.currentDay ? currentDate : today); + currentText = (!navigationAsDateFormat ? currentText : + this.formatDate(currentText, gotoDate, this._getFormatConfig(inst))); + var html = (prompt ? '
      ' + prompt + '
      ' : '') + + (closeAtTop && !inst.inline ? controls : '') + + ''; + var firstDay = this._get(inst, 'firstDay'); + var changeFirstDay = this._get(inst, 'changeFirstDay'); + var dayNames = this._get(inst, 'dayNames'); + var dayNamesShort = this._get(inst, 'dayNamesShort'); + var dayNamesMin = this._get(inst, 'dayNamesMin'); + var monthNames = this._get(inst, 'monthNames'); + var beforeShowDay = this._get(inst, 'beforeShowDay'); + var highlightWeek = this._get(inst, 'highlightWeek'); + var showOtherMonths = this._get(inst, 'showOtherMonths'); + var showWeeks = this._get(inst, 'showWeeks'); + var calculateWeek = this._get(inst, 'calculateWeek') || this.iso8601Week; + var weekStatus = this._get(inst, 'weekStatus'); + var status = (showStatus ? this._get(inst, 'dayStatus') || initStatus : ''); + var dateStatus = this._get(inst, 'statusForDate') || this.dateStatus; + var endDate = inst.endDay ? new Date(inst.endYear, inst.endMonth, inst.endDay) : currentDate; + for (var row = 0; row < numMonths[0]; row++) + for (var col = 0; col < numMonths[1]; col++) { + var selectedDate = new Date(drawYear, drawMonth, inst.selectedDay); + html += '
      ' + + this._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, maxDate, + selectedDate, row > 0 || col > 0, showStatus, initStatus, monthNames) + // draw month headers + '' + + '' + + (showWeeks ? '' + + this._get(inst, 'weekHeader') + '' : ''); + for (var dow = 0; dow < 7; dow++) { // days of the week + var day = (dow + firstDay) % 7; + var dayStatus = (status.indexOf('DD') > -1 ? status.replace(/DD/, dayNames[day]) : + status.replace(/D/, dayNamesShort[day])); + html += '= 5 ? ' class="ui-datepicker-week-end-cell"' : '') + '>' + + (!changeFirstDay ? '' + + dayNamesMin[day] + (changeFirstDay ? '' : '') + ''; + } + html += ''; + var daysInMonth = this._getDaysInMonth(drawYear, drawMonth); + if (drawYear == inst.selectedYear && drawMonth == inst.selectedMonth) + inst.selectedDay = Math.min(inst.selectedDay, daysInMonth); + var leadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7; + var tzDate = new Date(drawYear, drawMonth, 1 - leadDays); + var utcDate = new Date(drawYear, drawMonth, 1 - leadDays); + var printDate = utcDate; + var numRows = (isMultiMonth ? 6 : Math.ceil((leadDays + daysInMonth) / 7)); // calculate the number of rows to generate + for (var dRow = 0; dRow < numRows; dRow++) { // create date picker rows + html += '' + + (showWeeks ? '' : ''); + for (var dow = 0; dow < 7; dow++) { // create date picker days + var daySettings = (beforeShowDay ? + beforeShowDay.apply((inst.input ? inst.input[0] : null), [printDate]) : [true, '']); + var otherMonth = (printDate.getMonth() != drawMonth); + var unselectable = otherMonth || !daySettings[0] || + (minDate && printDate < minDate) || (maxDate && printDate > maxDate); + html += ''; // display for this month + tzDate.setDate(tzDate.getDate() + 1); + utcDate.setUTCDate(utcDate.getUTCDate() + 1); + printDate = (tzDate > utcDate ? tzDate : utcDate); + } + html += ''; + } + drawMonth++; + if (drawMonth > 11) { + drawMonth = 0; + drawYear++; + } + html += '
      ' + + calculateWeek(printDate) + '' + // actions + (otherMonth ? (showOtherMonths ? printDate.getDate() : ' ') : // display for other months + (unselectable ? printDate.getDate() : '' + printDate.getDate() + '')) + '
      '; + } + html += (showStatus ? '
      ' + initStatus + '
      ' : '') + + (!closeAtTop && !inst.inline ? controls : '') + + '
      ' + + ($.browser.msie && parseInt($.browser.version,10) < 7 && !inst.inline ? + '' : ''); + return html; + }, + + /* Generate the month and year header. */ + _generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, maxDate, + selectedDate, secondary, showStatus, initStatus, monthNames) { + minDate = (inst.rangeStart && minDate && selectedDate < minDate ? selectedDate : minDate); + var showMonthAfterYear = this._get(inst, 'showMonthAfterYear'); + var html = '
      '; + var monthHtml = ''; + // month selection + if (secondary || !this._get(inst, 'changeMonth')) + monthHtml += monthNames[drawMonth] + ' '; + else { + var inMinYear = (minDate && minDate.getFullYear() == drawYear); + var inMaxYear = (maxDate && maxDate.getFullYear() == drawYear); + monthHtml += ''; + } + if (!showMonthAfterYear) + html += monthHtml; + // year selection + if (secondary || !this._get(inst, 'changeYear')) + html += drawYear; + else { + // determine range of years to display + var years = this._get(inst, 'yearRange').split(':'); + var year = 0; + var endYear = 0; + if (years.length != 2) { + year = drawYear - 10; + endYear = drawYear + 10; + } else if (years[0].charAt(0) == '+' || years[0].charAt(0) == '-') { + year = endYear = new Date().getFullYear(); + year += parseInt(years[0], 10); + endYear += parseInt(years[1], 10); + } else { + year = parseInt(years[0], 10); + endYear = parseInt(years[1], 10); + } + year = (minDate ? Math.max(year, minDate.getFullYear()) : year); + endYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear); + html += ''; + } + if (showMonthAfterYear) + html += monthHtml; + html += '
      '; // Close datepicker_header + return html; + }, + + /* Provide code to set and clear the status panel. */ + _addStatus: function(showStatus, id, text, initStatus) { + return (showStatus ? ' onmouseover="jQuery(\'#ui-datepicker-status-' + id + + '\').html(\'' + (text || initStatus) + '\');" ' + + 'onmouseout="jQuery(\'#ui-datepicker-status-' + id + + '\').html(\'' + initStatus + '\');"' : ''); + }, + + /* Adjust one of the date sub-fields. */ + _adjustInstDate: function(inst, offset, period) { + var year = inst.drawYear + (period == 'Y' ? offset : 0); + var month = inst.drawMonth + (period == 'M' ? offset : 0); + var day = Math.min(inst.selectedDay, this._getDaysInMonth(year, month)) + + (period == 'D' ? offset : 0); + var date = new Date(year, month, day); + // ensure it is within the bounds set + var minDate = this._getMinMaxDate(inst, 'min', true); + var maxDate = this._getMinMaxDate(inst, 'max'); + date = (minDate && date < minDate ? minDate : date); + date = (maxDate && date > maxDate ? maxDate : date); + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + if (period == 'M' || period == 'Y') + this._notifyChange(inst); + }, + + /* Notify change of month/year. */ + _notifyChange: function(inst) { + var onChange = this._get(inst, 'onChangeMonthYear'); + if (onChange) + onChange.apply((inst.input ? inst.input[0] : null), + [inst.selectedYear, inst.selectedMonth + 1, inst]); + }, + + /* Determine the number of months to show. */ + _getNumberOfMonths: function(inst) { + var numMonths = this._get(inst, 'numberOfMonths'); + return (numMonths == null ? [1, 1] : (typeof numMonths == 'number' ? [1, numMonths] : numMonths)); + }, + + /* Determine the current maximum date - ensure no time components are set - may be overridden for a range. */ + _getMinMaxDate: function(inst, minMax, checkRange) { + var date = this._determineDate(this._get(inst, minMax + 'Date'), null); + if (date) { + date.setHours(0); + date.setMinutes(0); + date.setSeconds(0); + date.setMilliseconds(0); + } + return (!checkRange || !inst.rangeStart ? date : + (!date || inst.rangeStart > date ? inst.rangeStart : date)); + }, + + /* Find the number of days in a given month. */ + _getDaysInMonth: function(year, month) { + return 32 - new Date(year, month, 32).getDate(); + }, + + /* Find the day of the week of the first of a month. */ + _getFirstDayOfMonth: function(year, month) { + return new Date(year, month, 1).getDay(); + }, + + /* Determines if we should allow a "next/prev" month display change. */ + _canAdjustMonth: function(inst, offset, curYear, curMonth) { + var numMonths = this._getNumberOfMonths(inst); + var date = new Date(curYear, curMonth + (offset < 0 ? offset : numMonths[1]), 1); + if (offset < 0) + date.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth())); + return this._isInRange(inst, date); + }, + + /* Is the given date in the accepted range? */ + _isInRange: function(inst, date) { + // during range selection, use minimum of selected date and range start + var newMinDate = (!inst.rangeStart ? null : + new Date(inst.selectedYear, inst.selectedMonth, inst.selectedDay)); + newMinDate = (newMinDate && inst.rangeStart < newMinDate ? inst.rangeStart : newMinDate); + var minDate = newMinDate || this._getMinMaxDate(inst, 'min'); + var maxDate = this._getMinMaxDate(inst, 'max'); + return ((!minDate || date >= minDate) && (!maxDate || date <= maxDate)); + }, + + /* Provide the configuration settings for formatting/parsing. */ + _getFormatConfig: function(inst) { + var shortYearCutoff = this._get(inst, 'shortYearCutoff'); + shortYearCutoff = (typeof shortYearCutoff != 'string' ? shortYearCutoff : + new Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10)); + return {shortYearCutoff: shortYearCutoff, + dayNamesShort: this._get(inst, 'dayNamesShort'), dayNames: this._get(inst, 'dayNames'), + monthNamesShort: this._get(inst, 'monthNamesShort'), monthNames: this._get(inst, 'monthNames')}; + }, + + /* Format the given date for display. */ + _formatDate: function(inst, day, month, year) { + if (!day) { + inst.currentDay = inst.selectedDay; + inst.currentMonth = inst.selectedMonth; + inst.currentYear = inst.selectedYear; + } + var date = (day ? (typeof day == 'object' ? day : new Date(year, month, day)) : + new Date(inst.currentYear, inst.currentMonth, inst.currentDay)); + return this.formatDate(this._get(inst, 'dateFormat'), date, this._getFormatConfig(inst)); + } +}); + +/* jQuery extend now ignores nulls! */ +function extendRemove(target, props) { + $.extend(target, props); + for (var name in props) + if (props[name] == null || props[name] == undefined) + target[name] = props[name]; + return target; +}; + +/* Determine whether an object is an array. */ +function isArray(a) { + return (a && (($.browser.safari && typeof a == 'object' && a.length) || + (a.constructor && a.constructor.toString().match(/\Array\(\)/)))); +}; + +/* Invoke the datepicker functionality. + @param options string - a command, optionally followed by additional parameters or + Object - settings for attaching new datepicker functionality + @return jQuery object */ +$.fn.datepicker = function(options){ + + /* Initialise the date picker. */ + if (!$.datepicker.initialized) { + $(document.body).append($.datepicker.dpDiv). + mousedown($.datepicker._checkExternalClick); + $.datepicker.initialized = true; + } + + var otherArgs = Array.prototype.slice.call(arguments, 1); + if (typeof options == 'string' && (options == 'isDisabled' || options == 'getDate')) + return $.datepicker['_' + options + 'Datepicker']. + apply($.datepicker, [this[0]].concat(otherArgs)); + return this.each(function() { + typeof options == 'string' ? + $.datepicker['_' + options + 'Datepicker']. + apply($.datepicker, [this].concat(otherArgs)) : + $.datepicker._attachDatepicker(this, options); + }); +}; + +$.datepicker = new Datepicker(); // singleton instance +$.datepicker.initialized = false; +$.datepicker.uuid = new Date().getTime(); + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/ui.dialog.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/ui.dialog.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/ui.dialog.js 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1,584 @@ +/* + * jQuery UI Dialog @VERSION + * + * Copyright (c) 2008 Richard D. Worth (rdworth.org) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Dialog + * + * Depends: + * ui.core.js + * ui.draggable.js + * ui.resizable.js + */ +(function($) { + +var setDataSwitch = { + dragStart: "start.draggable", + drag: "drag.draggable", + dragStop: "stop.draggable", + maxHeight: "maxHeight.resizable", + minHeight: "minHeight.resizable", + maxWidth: "maxWidth.resizable", + minWidth: "minWidth.resizable", + resizeStart: "start.resizable", + resize: "drag.resizable", + resizeStop: "stop.resizable" +}; + +$.widget("ui.dialog", { + _init: function() { + this.originalTitle = this.element.attr('title'); + this.options.title = this.options.title || this.originalTitle; + + var self = this, + options = this.options, + + uiDialogContent = this.element + .removeAttr('title') + .addClass('ui-dialog-content') + .wrap('
      ') + .wrap('
      '), + + uiDialogContainer = (this.uiDialogContainer = uiDialogContent.parent()) + .addClass('ui-dialog-container') + .css({ + position: 'relative', + width: '100%', + height: '100%' + }), + + uiDialogTitlebar = (this.uiDialogTitlebar = $('
      ')) + .addClass('ui-dialog-titlebar') + .append('X') + .prependTo(uiDialogContainer), + + title = options.title || ' ', + titleId = $.ui.dialog.getTitleId(this.element), + uiDialogTitle = $('') + .addClass('ui-dialog-title') + .attr('id', titleId) + .html(title) + .prependTo(uiDialogTitlebar), + + uiDialog = (this.uiDialog = uiDialogContainer.parent()) + .appendTo(document.body) + .hide() + .addClass('ui-dialog') + .addClass(options.dialogClass) + // add content classes to dialog + // to inherit theme at top level of element + .addClass(uiDialogContent.attr('className')) + .removeClass('ui-dialog-content') + .css({ + position: 'absolute', + width: options.width, + height: options.height, + overflow: 'hidden', + zIndex: options.zIndex + }) + // setting tabIndex makes the div focusable + // setting outline to 0 prevents a border on focus in Mozilla + .attr('tabIndex', -1).css('outline', 0).keydown(function(ev) { + (options.closeOnEscape && ev.keyCode + && ev.keyCode == $.keyCode.ESCAPE && self.close()); + }) + .mousedown(function() { + self._moveToTop(); + }), + + uiDialogButtonPane = (this.uiDialogButtonPane = $('
      ')) + .addClass('ui-dialog-buttonpane') + .css({ + position: 'absolute', + bottom: 0 + }) + .appendTo(uiDialog); + + this.uiDialogTitlebarClose = $('.ui-dialog-titlebar-close', uiDialogTitlebar) + .hover( + function() { + $(this).addClass('ui-dialog-titlebar-close-hover'); + }, + function() { + $(this).removeClass('ui-dialog-titlebar-close-hover'); + } + ) + .mousedown(function(ev) { + ev.stopPropagation(); + }) + .click(function() { + self.close(); + return false; + }); + + uiDialogTitlebar.find("*").add(uiDialogTitlebar).each(function() { + $.ui.disableSelection(this); + }); + + (options.draggable && $.fn.draggable && this._makeDraggable()); + (options.resizable && $.fn.resizable && this._makeResizable()); + + this._createButtons(options.buttons); + this._isOpen = false; + + (options.bgiframe && $.fn.bgiframe && uiDialog.bgiframe()); + (options.autoOpen && this.open()); + }, + + destroy: function() { + (this.overlay && this.overlay.destroy()); + this.uiDialog.hide(); + this.element + .unbind('.dialog') + .removeData('dialog') + .removeClass('ui-dialog-content') + .hide().appendTo('body'); + this.uiDialog.remove(); + + (this.originalTitle && this.element.attr('title', this.originalTitle)); + }, + + close: function() { + if (false === this._trigger('beforeclose', null, { options: this.options })) { + return; + } + + (this.overlay && this.overlay.destroy()); + this.uiDialog + .hide(this.options.hide) + .unbind('keypress.ui-dialog'); + + this._trigger('close', null, { options: this.options }); + $.ui.dialog.overlay.resize(); + + this._isOpen = false; + }, + + isOpen: function() { + return this._isOpen; + }, + + open: function() { + if (this._isOpen) { return; } + + this.overlay = this.options.modal ? new $.ui.dialog.overlay(this) : null; + (this.uiDialog.next().length && this.uiDialog.appendTo('body')); + this._position(this.options.position); + this.uiDialog.show(this.options.show); + (this.options.autoResize && this._size()); + this._moveToTop(true); + + // prevent tabbing out of modal dialogs + (this.options.modal && this.uiDialog.bind('keypress.ui-dialog', function(e) { + if (e.keyCode != $.keyCode.TAB) { + return; + } + + var tabbables = $(':tabbable', this), + first = tabbables.filter(':first')[0], + last = tabbables.filter(':last')[0]; + + if (e.target == last && !e.shiftKey) { + setTimeout(function() { + first.focus(); + }, 1); + } else if (e.target == first && e.shiftKey) { + setTimeout(function() { + last.focus(); + }, 1); + } + })); + + this.uiDialog.find(':tabbable:first').focus(); + this._trigger('open', null, { options: this.options }); + this._isOpen = true; + }, + + _createButtons: function(buttons) { + var self = this, + hasButtons = false, + uiDialogButtonPane = this.uiDialogButtonPane; + + // remove any existing buttons + uiDialogButtonPane.empty().hide(); + + $.each(buttons, function() { return !(hasButtons = true); }); + if (hasButtons) { + uiDialogButtonPane.show(); + $.each(buttons, function(name, fn) { + $('') + .text(name) + .click(function() { fn.apply(self.element[0], arguments); }) + .appendTo(uiDialogButtonPane); + }); + } + }, + + _makeDraggable: function() { + var self = this, + options = this.options; + + this.uiDialog.draggable({ + cancel: '.ui-dialog-content', + helper: options.dragHelper, + handle: '.ui-dialog-titlebar', + start: function() { + self._moveToTop(); + (options.dragStart && options.dragStart.apply(self.element[0], arguments)); + }, + drag: function() { + (options.drag && options.drag.apply(self.element[0], arguments)); + }, + stop: function() { + (options.dragStop && options.dragStop.apply(self.element[0], arguments)); + $.ui.dialog.overlay.resize(); + } + }); + }, + + _makeResizable: function(handles) { + handles = (handles === undefined ? this.options.resizable : handles); + var self = this, + options = this.options, + resizeHandles = typeof handles == 'string' + ? handles + : 'n,e,s,w,se,sw,ne,nw'; + + this.uiDialog.resizable({ + cancel: '.ui-dialog-content', + helper: options.resizeHelper, + maxWidth: options.maxWidth, + maxHeight: options.maxHeight, + minWidth: options.minWidth, + minHeight: options.minHeight, + start: function() { + (options.resizeStart && options.resizeStart.apply(self.element[0], arguments)); + }, + resize: function() { + (options.autoResize && self._size.apply(self)); + (options.resize && options.resize.apply(self.element[0], arguments)); + }, + handles: resizeHandles, + stop: function() { + (options.autoResize && self._size.apply(self)); + (options.resizeStop && options.resizeStop.apply(self.element[0], arguments)); + $.ui.dialog.overlay.resize(); + } + }); + }, + + // the force parameter allows us to move modal dialogs to their correct + // position on open + _moveToTop: function(force) { + + if ((this.options.modal && !force) + || (!this.options.stack && !this.options.modal)) { + return this._trigger('focus', null, { options: this.options }); + } + + var maxZ = this.options.zIndex, options = this.options; + $('.ui-dialog:visible').each(function() { + maxZ = Math.max(maxZ, parseInt($(this).css('z-index'), 10) || options.zIndex); + }); + (this.overlay && this.overlay.$el.css('z-index', ++maxZ)); + this.uiDialog.css('z-index', ++maxZ); + + this._trigger('focus', null, { options: this.options }); + }, + + _position: function(pos) { + var wnd = $(window), doc = $(document), + pTop = doc.scrollTop(), pLeft = doc.scrollLeft(), + minTop = pTop; + + if ($.inArray(pos, ['center','top','right','bottom','left']) >= 0) { + pos = [ + pos == 'right' || pos == 'left' ? pos : 'center', + pos == 'top' || pos == 'bottom' ? pos : 'middle' + ]; + } + if (pos.constructor != Array) { + pos = ['center', 'middle']; + } + if (pos[0].constructor == Number) { + pLeft += pos[0]; + } else { + switch (pos[0]) { + case 'left': + pLeft += 0; + break; + case 'right': + pLeft += wnd.width() - this.uiDialog.width(); + break; + default: + case 'center': + pLeft += (wnd.width() - this.uiDialog.width()) / 2; + } + } + if (pos[1].constructor == Number) { + pTop += pos[1]; + } else { + switch (pos[1]) { + case 'top': + pTop += 0; + break; + case 'bottom': + pTop += wnd.height() - this.uiDialog.height(); + break; + default: + case 'middle': + pTop += (wnd.height() - this.uiDialog.height()) / 2; + } + } + + // prevent the dialog from being too high (make sure the titlebar + // is accessible) + pTop = Math.max(pTop, minTop); + this.uiDialog.css({top: pTop, left: pLeft}); + }, + + _setData: function(key, value){ + (setDataSwitch[key] && this.uiDialog.data(setDataSwitch[key], value)); + switch (key) { + case "buttons": + this._createButtons(value); + break; + case "draggable": + (value + ? this._makeDraggable() + : this.uiDialog.draggable('destroy')); + break; + case "height": + this.uiDialog.height(value); + break; + case "position": + this._position(value); + break; + case "resizable": + var uiDialog = this.uiDialog, + isResizable = this.uiDialog.is(':data(resizable)'); + + // currently resizable, becoming non-resizable + (isResizable && !value && uiDialog.resizable('destroy')); + + // currently resizable, changing handles + (isResizable && typeof value == 'string' && + uiDialog.resizable('option', 'handles', value)); + + // currently non-resizable, becoming resizable + (isResizable || this._makeResizable(value)); + + break; + case "title": + $(".ui-dialog-title", this.uiDialogTitlebar).html(value || ' '); + break; + case "width": + this.uiDialog.width(value); + break; + } + + $.widget.prototype._setData.apply(this, arguments); + }, + + _size: function() { + var container = this.uiDialogContainer, + titlebar = this.uiDialogTitlebar, + content = this.element, + tbMargin = (parseInt(content.css('margin-top'), 10) || 0) + + (parseInt(content.css('margin-bottom'), 10) || 0), + lrMargin = (parseInt(content.css('margin-left'), 10) || 0) + + (parseInt(content.css('margin-right'), 10) || 0); + content.height(container.height() - titlebar.outerHeight() - tbMargin); + content.width(container.width() - lrMargin); + } +}); + +$.extend($.ui.dialog, { + defaults: { + autoOpen: true, + autoResize: true, + bgiframe: false, + buttons: {}, + closeOnEscape: true, + draggable: true, + height: 200, + minHeight: 100, + minWidth: 150, + modal: false, + overlay: {}, + position: 'center', + resizable: true, + stack: true, + width: 300, + zIndex: 1000 + }, + + getter: 'isOpen', + + uuid: 0, + getTitleId: function($el) { + return 'ui-dialog-title-' + ($el.attr('id') || ++this.uuid); + }, + + overlay: function(dialog) { + this.$el = $.ui.dialog.overlay.create(dialog); + } +}); + +$.extend($.ui.dialog.overlay, { + instances: [], + events: $.map('focus,mousedown,mouseup,keydown,keypress,click'.split(','), + function(e) { return e + '.dialog-overlay'; }).join(' '), + create: function(dialog) { + if (this.instances.length === 0) { + // prevent use of anchors and inputs + // we use a setTimeout in case the overlay is created from an + // event that we're going to be cancelling (see #2804) + setTimeout(function() { + $('a, :input').bind($.ui.dialog.overlay.events, function() { + // allow use of the element if inside a dialog and + // - there are no modal dialogs + // - there are modal dialogs, but we are in front of the topmost modal + var allow = false; + var $dialog = $(this).parents('.ui-dialog'); + if ($dialog.length) { + var $overlays = $('.ui-dialog-overlay'); + if ($overlays.length) { + var maxZ = parseInt($overlays.css('z-index'), 10); + $overlays.each(function() { + maxZ = Math.max(maxZ, parseInt($(this).css('z-index'), 10)); + }); + allow = parseInt($dialog.css('z-index'), 10) > maxZ; + } else { + allow = true; + } + } + return allow; + }); + }, 1); + + // allow closing by pressing the escape key + $(document).bind('keydown.dialog-overlay', function(e) { + (dialog.options.closeOnEscape && e.keyCode + && e.keyCode == $.keyCode.ESCAPE && dialog.close()); + }); + + // handle window resize + $(window).bind('resize.dialog-overlay', $.ui.dialog.overlay.resize); + } + + var $el = $('
      ').appendTo(document.body) + .addClass('ui-dialog-overlay').css($.extend({ + borderWidth: 0, margin: 0, padding: 0, + position: 'absolute', top: 0, left: 0, + width: this.width(), + height: this.height() + }, dialog.options.overlay)); + + (dialog.options.bgiframe && $.fn.bgiframe && $el.bgiframe()); + + this.instances.push($el); + return $el; + }, + + destroy: function($el) { + this.instances.splice($.inArray(this.instances, $el), 1); + + if (this.instances.length === 0) { + $('a, :input').add([document, window]).unbind('.dialog-overlay'); + } + + $el.remove(); + }, + + height: function() { + // handle IE 6 + if ($.browser.msie && $.browser.version < 7) { + var scrollHeight = Math.max( + document.documentElement.scrollHeight, + document.body.scrollHeight + ); + var offsetHeight = Math.max( + document.documentElement.offsetHeight, + document.body.offsetHeight + ); + + if (scrollHeight < offsetHeight) { + return $(window).height() + 'px'; + } else { + return scrollHeight + 'px'; + } + // handle Opera + } else if ($.browser.opera) { + return Math.max( + window.innerHeight, + $(document).height() + ) + 'px'; + // handle "good" browsers + } else { + return $(document).height() + 'px'; + } + }, + + width: function() { + // handle IE 6 + if ($.browser.msie && $.browser.version < 7) { + var scrollWidth = Math.max( + document.documentElement.scrollWidth, + document.body.scrollWidth + ); + var offsetWidth = Math.max( + document.documentElement.offsetWidth, + document.body.offsetWidth + ); + + if (scrollWidth < offsetWidth) { + return $(window).width() + 'px'; + } else { + return scrollWidth + 'px'; + } + // handle Opera + } else if ($.browser.opera) { + return Math.max( + window.innerWidth, + $(document).width() + ) + 'px'; + // handle "good" browsers + } else { + return $(document).width() + 'px'; + } + }, + + resize: function() { + /* If the dialog is draggable and the user drags it past the + * right edge of the window, the document becomes wider so we + * need to stretch the overlay. If the user then drags the + * dialog back to the left, the document will become narrower, + * so we need to shrink the overlay to the appropriate size. + * This is handled by shrinking the overlay before setting it + * to the full document size. + */ + var $overlays = $([]); + $.each($.ui.dialog.overlay.instances, function() { + $overlays = $overlays.add(this); + }); + + $overlays.css({ + width: 0, + height: 0 + }).css({ + width: $.ui.dialog.overlay.width(), + height: $.ui.dialog.overlay.height() + }); + } +}); + +$.extend($.ui.dialog.overlay.prototype, { + destroy: function() { + $.ui.dialog.overlay.destroy(this.$el); + } +}); + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/ui.draggable.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/ui.draggable.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/ui.draggable.js 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1,672 @@ +/* + * jQuery UI Draggable @VERSION + * + * Copyright (c) 2008 Paul Bakaus + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Draggables + * + * Depends: + * ui.core.js + */ +(function($) { + +$.widget("ui.draggable", $.extend({}, $.ui.mouse, { + + getHandle: function(e) { + + var handle = !this.options.handle || !$(this.options.handle, this.element).length ? true : false; + $(this.options.handle, this.element) + .find("*") + .andSelf() + .each(function() { + if(this == e.target) handle = true; + }); + + return handle; + + }, + + createHelper: function() { + + var o = this.options; + var helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [e])) : (o.helper == 'clone' ? this.element.clone() : this.element); + + if(!helper.parents('body').length) + helper.appendTo((o.appendTo == 'parent' ? this.element[0].parentNode : o.appendTo)); + + if(helper[0] != this.element[0] && !(/(fixed|absolute)/).test(helper.css("position"))) + helper.css("position", "absolute"); + + return helper; + + }, + + + _init: function() { + + if (this.options.helper == 'original' && !(/^(?:r|a|f)/).test(this.element.css("position"))) + this.element[0].style.position = 'relative'; + + (this.options.cssNamespace && this.element.addClass(this.options.cssNamespace+"-draggable")); + (this.options.disabled && this.element.addClass('ui-draggable-disabled')); + + this._mouseInit(); + + }, + + _mouseCapture: function(e) { + + var o = this.options; + + if (this.helper || o.disabled || $(e.target).is('.ui-resizable-handle')) + return false; + + //Quit if we're not on a valid handle + this.handle = this.getHandle(e); + if (!this.handle) + return false; + + return true; + + }, + + _mouseStart: function(e) { + + var o = this.options; + + //Create and append the visible helper + this.helper = this.createHelper(); + + //If ddmanager is used for droppables, set the global draggable + if($.ui.ddmanager) + $.ui.ddmanager.current = this; + + /* + * - Position generation - + * This block generates everything position related - it's the core of draggables. + */ + + this.margins = { //Cache the margins + left: (parseInt(this.element.css("marginLeft"),10) || 0), + top: (parseInt(this.element.css("marginTop"),10) || 0) + }; + + this.cssPosition = this.helper.css("position"); //Store the helper's css position + this.offset = this.element.offset(); //The element's absolute position on the page + this.offset = { //Substract the margins from the element's absolute offset + top: this.offset.top - this.margins.top, + left: this.offset.left - this.margins.left + }; + + this.offset.click = { //Where the click happened, relative to the element + left: e.pageX - this.offset.left, + top: e.pageY - this.offset.top + }; + + //Calling this method cached the next parents that have scrollTop / scrollLeft attached + this.cacheScrollParents(); + + + this.offsetParent = this.helper.offsetParent(); var po = this.offsetParent.offset(); //Get the offsetParent and cache its position + if(this.offsetParent[0] == document.body && $.browser.mozilla) po = { top: 0, left: 0 }; //Ugly FF3 fix + this.offset.parent = { //Store its position plus border + top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0), + left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0) + }; + + //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper + if(this.cssPosition == "relative") { + var p = this.element.position(); + this.offset.relative = { + top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollTopParent.scrollTop(), + left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollLeftParent.scrollLeft() + }; + } else { + this.offset.relative = { top: 0, left: 0 }; + } + + //Generate the original position + this.originalPosition = this._generatePosition(e); + + //Cache the helper size + this.cacheHelperProportions(); + + //Adjust the mouse offset relative to the helper if 'cursorAt' is supplied + if(o.cursorAt) + this.adjustOffsetFromHelper(o.cursorAt); + + //Cache later used stuff + $.extend(this, { + PAGEY_INCLUDES_SCROLL: (this.cssPosition == "absolute" && (!this.scrollTopParent[0].tagName || (/(html|body)/i).test(this.scrollTopParent[0].tagName))), + PAGEX_INCLUDES_SCROLL: (this.cssPosition == "absolute" && (!this.scrollLeftParent[0].tagName || (/(html|body)/i).test(this.scrollLeftParent[0].tagName))), + OFFSET_PARENT_NOT_SCROLL_PARENT_Y: this.scrollTopParent[0] != this.offsetParent[0] && !(this.scrollTopParent[0] == document && (/(body|html)/i).test(this.offsetParent[0].tagName)), + OFFSET_PARENT_NOT_SCROLL_PARENT_X: this.scrollLeftParent[0] != this.offsetParent[0] && !(this.scrollLeftParent[0] == document && (/(body|html)/i).test(this.offsetParent[0].tagName)) + }); + + if(o.containment) + this.setContainment(); + + + //Call plugins and callbacks + this._propagate("start", e); + + //Recache the helper size + this.cacheHelperProportions(); + + //Prepare the droppable offsets + if ($.ui.ddmanager && !o.dropBehaviour) + $.ui.ddmanager.prepareOffsets(this, e); + + this.helper.addClass("ui-draggable-dragging"); + this._mouseDrag(e); //Execute the drag once - this causes the helper not to be visible before getting its correct position + return true; + }, + + cacheScrollParents: function() { + + this.scrollTopParent = function(el) { + do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-y'))) return el; el = el.parent(); } while (el[0].parentNode); + return $(document); + }(this.helper); + this.scrollLeftParent = function(el) { + do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-x'))) return el; el = el.parent(); } while (el[0].parentNode); + return $(document); + }(this.helper); + + }, + + adjustOffsetFromHelper: function(obj) { + if(obj.left != undefined) this.offset.click.left = obj.left + this.margins.left; + if(obj.right != undefined) this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left; + if(obj.top != undefined) this.offset.click.top = obj.top + this.margins.top; + if(obj.bottom != undefined) this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top; + }, + + cacheHelperProportions: function() { + this.helperProportions = { + width: this.helper.outerWidth(), + height: this.helper.outerHeight() + }; + }, + + setContainment: function() { + + var o = this.options; + if(o.containment == 'parent') o.containment = this.helper[0].parentNode; + if(o.containment == 'document' || o.containment == 'window') this.containment = [ + 0 - this.offset.relative.left - this.offset.parent.left, + 0 - this.offset.relative.top - this.offset.parent.top, + $(o.containment == 'document' ? document : window).width() - this.offset.relative.left - this.offset.parent.left - this.helperProportions.width - this.margins.left - (parseInt(this.element.css("marginRight"),10) || 0), + ($(o.containment == 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.offset.relative.top - this.offset.parent.top - this.helperProportions.height - this.margins.top - (parseInt(this.element.css("marginBottom"),10) || 0) + ]; + + if(!(/^(document|window|parent)$/).test(o.containment)) { + var ce = $(o.containment)[0]; + var co = $(o.containment).offset(); + var over = ($(ce).css("overflow") != 'hidden'); + + this.containment = [ + co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) - this.offset.relative.left - this.offset.parent.left, + co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) - this.offset.relative.top - this.offset.parent.top, + co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - this.offset.relative.left - this.offset.parent.left - this.helperProportions.width - this.margins.left - (parseInt(this.element.css("marginRight"),10) || 0), + co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - this.offset.relative.top - this.offset.parent.top - this.helperProportions.height - this.margins.top - (parseInt(this.element.css("marginBottom"),10) || 0) + ]; + } + + }, + + + _convertPositionTo: function(d, pos) { + + if(!pos) pos = this.position; + var mod = d == "absolute" ? 1 : -1; + + return { + top: ( + pos.top // the calculated relative position + + this.offset.relative.top * mod // Only for relative positioned nodes: Relative offset from element to offset parent + + this.offset.parent.top * mod // The offsetParent's offset without borders (offset + border) + - (this.cssPosition == "fixed" || this.PAGEY_INCLUDES_SCROLL || this.OFFSET_PARENT_NOT_SCROLL_PARENT_Y ? 0 : this.scrollTopParent.scrollTop()) * mod // The offsetParent's scroll position, not if the element is fixed + + (this.cssPosition == "fixed" ? $(document).scrollTop() : 0) * mod + + this.margins.top * mod //Add the margin (you don't want the margin counting in intersection methods) + ), + left: ( + pos.left // the calculated relative position + + this.offset.relative.left * mod // Only for relative positioned nodes: Relative offset from element to offset parent + + this.offset.parent.left * mod // The offsetParent's offset without borders (offset + border) + - (this.cssPosition == "fixed" || this.PAGEX_INCLUDES_SCROLL || this.OFFSET_PARENT_NOT_SCROLL_PARENT_X ? 0 : this.scrollLeftParent.scrollLeft()) * mod // The offsetParent's scroll position, not if the element is fixed + + (this.cssPosition == "fixed" ? $(document).scrollLeft() : 0) * mod + + this.margins.left * mod //Add the margin (you don't want the margin counting in intersection methods) + ) + }; + }, + _generatePosition: function(e) { + + var o = this.options; + var position = { + top: ( + e.pageY // The absolute mouse position + - this.offset.click.top // Click offset (relative to the element) + - this.offset.relative.top // Only for relative positioned nodes: Relative offset from element to offset parent + - this.offset.parent.top // The offsetParent's offset without borders (offset + border) + + (this.cssPosition == "fixed" || this.PAGEY_INCLUDES_SCROLL || this.OFFSET_PARENT_NOT_SCROLL_PARENT_Y ? 0 : this.scrollTopParent.scrollTop()) // The offsetParent's scroll position, not if the element is fixed + - (this.cssPosition == "fixed" ? $(document).scrollTop() : 0) + ), + left: ( + e.pageX // The absolute mouse position + - this.offset.click.left // Click offset (relative to the element) + - this.offset.relative.left // Only for relative positioned nodes: Relative offset from element to offset parent + - this.offset.parent.left // The offsetParent's offset without borders (offset + border) + + (this.cssPosition == "fixed" || this.PAGEX_INCLUDES_SCROLL || this.OFFSET_PARENT_NOT_SCROLL_PARENT_X ? 0 : this.scrollLeftParent.scrollLeft()) // The offsetParent's scroll position, not if the element is fixed + - (this.cssPosition == "fixed" ? $(document).scrollLeft() : 0) + ) + }; + + if(!this.originalPosition) return position; //If we are not dragging yet, we won't check for options + + /* + * - Position constraining - + * Constrain the position to a mix of grid, containment. + */ + if(this.containment) { + if(position.left < this.containment[0]) position.left = this.containment[0]; + if(position.top < this.containment[1]) position.top = this.containment[1]; + if(position.left > this.containment[2]) position.left = this.containment[2]; + if(position.top > this.containment[3]) position.top = this.containment[3]; + } + + if(o.grid) { + var top = this.originalPosition.top + Math.round((position.top - this.originalPosition.top) / o.grid[1]) * o.grid[1]; + position.top = this.containment ? (!(top < this.containment[1] || top > this.containment[3]) ? top : (!(top < this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top; + + var left = this.originalPosition.left + Math.round((position.left - this.originalPosition.left) / o.grid[0]) * o.grid[0]; + position.left = this.containment ? (!(left < this.containment[0] || left > this.containment[2]) ? left : (!(left < this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left; + } + + return position; + }, + _mouseDrag: function(e) { + + //Compute the helpers position + this.position = this._generatePosition(e); + this.positionAbs = this._convertPositionTo("absolute"); + + //Call plugins and callbacks and use the resulting position if something is returned + this.position = this._propagate("drag", e) || this.position; + + if(!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left+'px'; + if(!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top+'px'; + if($.ui.ddmanager) $.ui.ddmanager.drag(this, e); + + return false; + }, + _mouseStop: function(e) { + + //If we are using droppables, inform the manager about the drop + var dropped = false; + if ($.ui.ddmanager && !this.options.dropBehaviour) + var dropped = $.ui.ddmanager.drop(this, e); + + if((this.options.revert == "invalid" && !dropped) || (this.options.revert == "valid" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) { + var self = this; + $(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10) || 500, function() { + self._propagate("stop", e); + self._clear(); + }); + } else { + this._propagate("stop", e); + this._clear(); + } + + return false; + }, + _clear: function() { + this.helper.removeClass("ui-draggable-dragging"); + if(this.options.helper != 'original' && !this.cancelHelperRemoval) this.helper.remove(); + //if($.ui.ddmanager) $.ui.ddmanager.current = null; + this.helper = null; + this.cancelHelperRemoval = false; + }, + + // From now on bulk stuff - mainly helpers + plugins: {}, + uiHash: function(e) { + return { + helper: this.helper, + position: this.position, + absolutePosition: this.positionAbs, + options: this.options + }; + }, + _propagate: function(n,e) { + $.ui.plugin.call(this, n, [e, this.uiHash()]); + if(n == "drag") this.positionAbs = this._convertPositionTo("absolute"); //The absolute position has to be recalculated after plugins + return this.element.triggerHandler(n == "drag" ? n : "drag"+n, [e, this.uiHash()], this.options[n]); + }, + destroy: function() { + if(!this.element.data('draggable')) return; + this.element.removeData("draggable").unbind(".draggable").removeClass('ui-draggable ui-draggable-dragging ui-draggable-disabled'); + this._mouseDestroy(); + } +})); + +$.extend($.ui.draggable, { + defaults: { + appendTo: "parent", + axis: false, + cancel: ":input", + delay: 0, + distance: 1, + helper: "original", + scope: "default", + cssNamespace: "ui" + } +}); + +$.ui.plugin.add("draggable", "cursor", { + start: function(e, ui) { + var t = $('body'); + if (t.css("cursor")) ui.options._cursor = t.css("cursor"); + t.css("cursor", ui.options.cursor); + }, + stop: function(e, ui) { + if (ui.options._cursor) $('body').css("cursor", ui.options._cursor); + } +}); + +$.ui.plugin.add("draggable", "zIndex", { + start: function(e, ui) { + var t = $(ui.helper); + if(t.css("zIndex")) ui.options._zIndex = t.css("zIndex"); + t.css('zIndex', ui.options.zIndex); + }, + stop: function(e, ui) { + if(ui.options._zIndex) $(ui.helper).css('zIndex', ui.options._zIndex); + } +}); + +$.ui.plugin.add("draggable", "opacity", { + start: function(e, ui) { + var t = $(ui.helper); + if(t.css("opacity")) ui.options._opacity = t.css("opacity"); + t.css('opacity', ui.options.opacity); + }, + stop: function(e, ui) { + if(ui.options._opacity) $(ui.helper).css('opacity', ui.options._opacity); + } +}); + +$.ui.plugin.add("draggable", "iframeFix", { + start: function(e, ui) { + $(ui.options.iframeFix === true ? "iframe" : ui.options.iframeFix).each(function() { + $('
      ') + .css({ + width: this.offsetWidth+"px", height: this.offsetHeight+"px", + position: "absolute", opacity: "0.001", zIndex: 1000 + }) + .css($(this).offset()) + .appendTo("body"); + }); + }, + stop: function(e, ui) { + $("div.ui-draggable-iframeFix").each(function() { this.parentNode.removeChild(this); }); //Remove frame helpers + } +}); + + + +$.ui.plugin.add("draggable", "scroll", { + start: function(e, ui) { + var o = ui.options; + var i = $(this).data("draggable"); + o.scrollSensitivity = o.scrollSensitivity || 20; + o.scrollSpeed = o.scrollSpeed || 20; + + i.overflowY = function(el) { + do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-y'))) return el; el = el.parent(); } while (el[0].parentNode); + return $(document); + }(this); + i.overflowX = function(el) { + do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-x'))) return el; el = el.parent(); } while (el[0].parentNode); + return $(document); + }(this); + + if(i.overflowY[0] != document && i.overflowY[0].tagName != 'HTML') i.overflowYOffset = i.overflowY.offset(); + if(i.overflowX[0] != document && i.overflowX[0].tagName != 'HTML') i.overflowXOffset = i.overflowX.offset(); + + }, + drag: function(e, ui) { + + var o = ui.options, scrolled = false; + var i = $(this).data("draggable"); + + if(i.overflowY[0] != document && i.overflowY[0].tagName != 'HTML') { + if((i.overflowYOffset.top + i.overflowY[0].offsetHeight) - e.pageY < o.scrollSensitivity) + i.overflowY[0].scrollTop = scrolled = i.overflowY[0].scrollTop + o.scrollSpeed; + if(e.pageY - i.overflowYOffset.top < o.scrollSensitivity) + i.overflowY[0].scrollTop = scrolled = i.overflowY[0].scrollTop - o.scrollSpeed; + + } else { + if(e.pageY - $(document).scrollTop() < o.scrollSensitivity) + scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed); + if($(window).height() - (e.pageY - $(document).scrollTop()) < o.scrollSensitivity) + scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed); + } + + if(i.overflowX[0] != document && i.overflowX[0].tagName != 'HTML') { + if((i.overflowXOffset.left + i.overflowX[0].offsetWidth) - e.pageX < o.scrollSensitivity) + i.overflowX[0].scrollLeft = scrolled = i.overflowX[0].scrollLeft + o.scrollSpeed; + if(e.pageX - i.overflowXOffset.left < o.scrollSensitivity) + i.overflowX[0].scrollLeft = scrolled = i.overflowX[0].scrollLeft - o.scrollSpeed; + } else { + if(e.pageX - $(document).scrollLeft() < o.scrollSensitivity) + scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed); + if($(window).width() - (e.pageX - $(document).scrollLeft()) < o.scrollSensitivity) + scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed); + } + + if(scrolled !== false) + $.ui.ddmanager.prepareOffsets(i, e); + + } +}); + + +$.ui.plugin.add("draggable", "snap", { + start: function(e, ui) { + + var inst = $(this).data("draggable"); + inst.snapElements = []; + + $(ui.options.snap.constructor != String ? ( ui.options.snap.items || ':data(draggable)' ) : ui.options.snap).each(function() { + var $t = $(this); var $o = $t.offset(); + if(this != inst.element[0]) inst.snapElements.push({ + item: this, + width: $t.outerWidth(), height: $t.outerHeight(), + top: $o.top, left: $o.left + }); + }); + + }, + drag: function(e, ui) { + + var inst = $(this).data("draggable"); + var d = ui.options.snapTolerance || 20; + + var x1 = ui.absolutePosition.left, x2 = x1 + inst.helperProportions.width, + y1 = ui.absolutePosition.top, y2 = y1 + inst.helperProportions.height; + + for (var i = inst.snapElements.length - 1; i >= 0; i--){ + + var l = inst.snapElements[i].left, r = l + inst.snapElements[i].width, + t = inst.snapElements[i].top, b = t + inst.snapElements[i].height; + + //Yes, I know, this is insane ;) + if(!((l-d < x1 && x1 < r+d && t-d < y1 && y1 < b+d) || (l-d < x1 && x1 < r+d && t-d < y2 && y2 < b+d) || (l-d < x2 && x2 < r+d && t-d < y1 && y1 < b+d) || (l-d < x2 && x2 < r+d && t-d < y2 && y2 < b+d))) { + if(inst.snapElements[i].snapping) (inst.options.snap.release && inst.options.snap.release.call(inst.element, null, $.extend(inst.uiHash(), { snapItem: inst.snapElements[i].item }))); + inst.snapElements[i].snapping = false; + continue; + } + + if(ui.options.snapMode != 'inner') { + var ts = Math.abs(t - y2) <= d; + var bs = Math.abs(b - y1) <= d; + var ls = Math.abs(l - x2) <= d; + var rs = Math.abs(r - x1) <= d; + if(ts) ui.position.top = inst._convertPositionTo("relative", { top: t - inst.helperProportions.height, left: 0 }).top; + if(bs) ui.position.top = inst._convertPositionTo("relative", { top: b, left: 0 }).top; + if(ls) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l - inst.helperProportions.width }).left; + if(rs) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r }).left; + } + + var first = (ts || bs || ls || rs); + + if(ui.options.snapMode != 'outer') { + var ts = Math.abs(t - y1) <= d; + var bs = Math.abs(b - y2) <= d; + var ls = Math.abs(l - x1) <= d; + var rs = Math.abs(r - x2) <= d; + if(ts) ui.position.top = inst._convertPositionTo("relative", { top: t, left: 0 }).top; + if(bs) ui.position.top = inst._convertPositionTo("relative", { top: b - inst.helperProportions.height, left: 0 }).top; + if(ls) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l }).left; + if(rs) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r - inst.helperProportions.width }).left; + } + + if(!inst.snapElements[i].snapping && (ts || bs || ls || rs || first)) + (inst.options.snap.snap && inst.options.snap.snap.call(inst.element, null, $.extend(inst.uiHash(), { snapItem: inst.snapElements[i].item }))); + inst.snapElements[i].snapping = (ts || bs || ls || rs || first); + + }; + + } +}); + +$.ui.plugin.add("draggable", "connectToSortable", { + start: function(e,ui) { + + var inst = $(this).data("draggable"); + inst.sortables = []; + $(ui.options.connectToSortable).each(function() { + if($.data(this, 'sortable')) { + var sortable = $.data(this, 'sortable'); + inst.sortables.push({ + instance: sortable, + shouldRevert: sortable.options.revert + }); + sortable._refreshItems(); //Do a one-time refresh at start to refresh the containerCache + sortable._propagate("activate", e, inst); + } + }); + + }, + stop: function(e,ui) { + + //If we are still over the sortable, we fake the stop event of the sortable, but also remove helper + var inst = $(this).data("draggable"); + + $.each(inst.sortables, function() { + if(this.instance.isOver) { + this.instance.isOver = 0; + inst.cancelHelperRemoval = true; //Don't remove the helper in the draggable instance + this.instance.cancelHelperRemoval = false; //Remove it in the sortable instance (so sortable plugins like revert still work) + if(this.shouldRevert) this.instance.options.revert = true; //revert here + this.instance._mouseStop(e); + + //Also propagate receive event, since the sortable is actually receiving a element + this.instance.element.triggerHandler("sortreceive", [e, $.extend(this.instance.ui(), { sender: inst.element })], this.instance.options["receive"]); + + this.instance.options.helper = this.instance.options._helper; + } else { + this.instance._propagate("deactivate", e, inst); + } + + }); + + }, + drag: function(e,ui) { + + var inst = $(this).data("draggable"), self = this; + + var checkPos = function(o) { + + var l = o.left, r = l + o.width, + t = o.top, b = t + o.height; + + return (l < (this.positionAbs.left + this.offset.click.left) && (this.positionAbs.left + this.offset.click.left) < r + && t < (this.positionAbs.top + this.offset.click.top) && (this.positionAbs.top + this.offset.click.top) < b); + }; + + $.each(inst.sortables, function(i) { + + if(checkPos.call(inst, this.instance.containerCache)) { + + //If it intersects, we use a little isOver variable and set it once, so our move-in stuff gets fired only once + if(!this.instance.isOver) { + this.instance.isOver = 1; + + //Now we fake the start of dragging for the sortable instance, + //by cloning the list group item, appending it to the sortable and using it as inst.currentItem + //We can then fire the start event of the sortable with our passed browser event, and our own helper (so it doesn't create a new one) + this.instance.currentItem = $(self).clone().appendTo(this.instance.element).data("sortable-item", true); + this.instance.options._helper = this.instance.options.helper; //Store helper option to later restore it + this.instance.options.helper = function() { return ui.helper[0]; }; + + e.target = this.instance.currentItem[0]; + this.instance._mouseCapture(e, true); + this.instance._mouseStart(e, true, true); + + //Because the browser event is way off the new appended portlet, we modify a couple of variables to reflect the changes + this.instance.offset.click.top = inst.offset.click.top; + this.instance.offset.click.left = inst.offset.click.left; + this.instance.offset.parent.left -= inst.offset.parent.left - this.instance.offset.parent.left; + this.instance.offset.parent.top -= inst.offset.parent.top - this.instance.offset.parent.top; + + inst._propagate("toSortable", e); + + } + + //Provided we did all the previous steps, we can fire the drag event of the sortable on every draggable drag, when it intersects with the sortable + if(this.instance.currentItem) this.instance._mouseDrag(e); + + } else { + + //If it doesn't intersect with the sortable, and it intersected before, + //we fake the drag stop of the sortable, but make sure it doesn't remove the helper by using cancelHelperRemoval + if(this.instance.isOver) { + this.instance.isOver = 0; + this.instance.cancelHelperRemoval = true; + this.instance.options.revert = false; //No revert here + this.instance._mouseStop(e, true); + this.instance.options.helper = this.instance.options._helper; + + //Now we remove our currentItem, the list group clone again, and the placeholder, and animate the helper back to it's original size + this.instance.currentItem.remove(); + if(this.instance.placeholder) this.instance.placeholder.remove(); + + inst._propagate("fromSortable", e); + } + + }; + + }); + + } +}); + +$.ui.plugin.add("draggable", "stack", { + start: function(e,ui) { + var group = $.makeArray($(ui.options.stack.group)).sort(function(a,b) { + return (parseInt($(a).css("zIndex"),10) || ui.options.stack.min) - (parseInt($(b).css("zIndex"),10) || ui.options.stack.min); + }); + + $(group).each(function(i) { + this.style.zIndex = ui.options.stack.min + i; + }); + + this[0].style.zIndex = ui.options.stack.min + group.length; + } +}); + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/ui.droppable.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/ui.droppable.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/ui.droppable.js 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1,300 @@ +/* + * jQuery UI Droppable @VERSION + * + * Copyright (c) 2008 Paul Bakaus + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Droppables + * + * Depends: + * ui.core.js + * ui.draggable.js + */ +(function($) { + +$.widget("ui.droppable", { + + _setData: function(key, value) { + + if(key == 'accept') { + this.options.accept = value && $.isFunction(value) ? value : function(d) { + return d.is(accept); + }; + } else { + $.widget.prototype._setData.apply(this, arguments); + } + + }, + + _init: function() { + + var o = this.options, accept = o.accept; + this.isover = 0; this.isout = 1; + + this.options.accept = this.options.accept && $.isFunction(this.options.accept) ? this.options.accept : function(d) { + return d.is(accept); + }; + + //Store the droppable's proportions + this.proportions = { width: this.element[0].offsetWidth, height: this.element[0].offsetHeight }; + + // Add the reference and positions to the manager + $.ui.ddmanager.droppables[this.options.scope] = $.ui.ddmanager.droppables[this.options.scope] || []; + $.ui.ddmanager.droppables[this.options.scope].push(this); + + (this.options.cssNamespace && this.element.addClass(this.options.cssNamespace+"-droppable")); + + }, + plugins: {}, + ui: function(c) { + return { + draggable: (c.currentItem || c.element), + helper: c.helper, + position: c.position, + absolutePosition: c.positionAbs, + options: this.options, + element: this.element + }; + }, + destroy: function() { + var drop = $.ui.ddmanager.droppables[this.options.scope]; + for ( var i = 0; i < drop.length; i++ ) + if ( drop[i] == this ) + drop.splice(i, 1); + + this.element + .removeClass("ui-droppable-disabled") + .removeData("droppable") + .unbind(".droppable"); + }, + _over: function(e) { + + var draggable = $.ui.ddmanager.current; + if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return; // Bail if draggable and droppable are same element + + if (this.options.accept.call(this.element,(draggable.currentItem || draggable.element))) { + $.ui.plugin.call(this, 'over', [e, this.ui(draggable)]); + this.element.triggerHandler("dropover", [e, this.ui(draggable)], this.options.over); + } + + }, + _out: function(e) { + + var draggable = $.ui.ddmanager.current; + if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return; // Bail if draggable and droppable are same element + + if (this.options.accept.call(this.element,(draggable.currentItem || draggable.element))) { + $.ui.plugin.call(this, 'out', [e, this.ui(draggable)]); + this.element.triggerHandler("dropout", [e, this.ui(draggable)], this.options.out); + } + + }, + _drop: function(e,custom) { + + var draggable = custom || $.ui.ddmanager.current; + if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return false; // Bail if draggable and droppable are same element + + var childrenIntersection = false; + this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function() { + var inst = $.data(this, 'droppable'); + if(inst.options.greedy && $.ui.intersect(draggable, $.extend(inst, { offset: inst.element.offset() }), inst.options.tolerance)) { + childrenIntersection = true; return false; + } + }); + if(childrenIntersection) return false; + + if(this.options.accept.call(this.element,(draggable.currentItem || draggable.element))) { + $.ui.plugin.call(this, 'drop', [e, this.ui(draggable)]); + this.element.triggerHandler("drop", [e, this.ui(draggable)], this.options.drop); + return this.element; + } + + return false; + + }, + _activate: function(e) { + + var draggable = $.ui.ddmanager.current; + $.ui.plugin.call(this, 'activate', [e, this.ui(draggable)]); + if(draggable) this.element.triggerHandler("dropactivate", [e, this.ui(draggable)], this.options.activate); + + }, + _deactivate: function(e) { + + var draggable = $.ui.ddmanager.current; + $.ui.plugin.call(this, 'deactivate', [e, this.ui(draggable)]); + if(draggable) this.element.triggerHandler("dropdeactivate", [e, this.ui(draggable)], this.options.deactivate); + + } +}); + +$.extend($.ui.droppable, { + defaults: { + disabled: false, + tolerance: 'intersect', + scope: 'default', + cssNamespace: 'ui' + } +}); + +$.ui.intersect = function(draggable, droppable, toleranceMode) { + + if (!droppable.offset) return false; + + var x1 = (draggable.positionAbs || draggable.position.absolute).left, x2 = x1 + draggable.helperProportions.width, + y1 = (draggable.positionAbs || draggable.position.absolute).top, y2 = y1 + draggable.helperProportions.height; + var l = droppable.offset.left, r = l + droppable.proportions.width, + t = droppable.offset.top, b = t + droppable.proportions.height; + + switch (toleranceMode) { + case 'fit': + return (l < x1 && x2 < r + && t < y1 && y2 < b); + break; + case 'intersect': + return (l < x1 + (draggable.helperProportions.width / 2) // Right Half + && x2 - (draggable.helperProportions.width / 2) < r // Left Half + && t < y1 + (draggable.helperProportions.height / 2) // Bottom Half + && y2 - (draggable.helperProportions.height / 2) < b ); // Top Half + break; + case 'pointer': + return (l < ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left) && ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left) < r + && t < ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top) && ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top) < b); + break; + case 'touch': + return ( + (y1 >= t && y1 <= b) || // Top edge touching + (y2 >= t && y2 <= b) || // Bottom edge touching + (y1 < t && y2 > b) // Surrounded vertically + ) && ( + (x1 >= l && x1 <= r) || // Left edge touching + (x2 >= l && x2 <= r) || // Right edge touching + (x1 < l && x2 > r) // Surrounded horizontally + ); + break; + default: + return false; + break; + } + +}; + +/* + This manager tracks offsets of draggables and droppables +*/ +$.ui.ddmanager = { + current: null, + droppables: { 'default': [] }, + prepareOffsets: function(t, e) { + + var m = $.ui.ddmanager.droppables[t.options.scope]; + var type = e ? e.type : null; // workaround for #2317 + var list = (t.currentItem || t.element).find(":data(droppable)").andSelf(); + + droppablesLoop: for (var i = 0; i < m.length; i++) { + + if(m[i].options.disabled || (t && !m[i].options.accept.call(m[i].element,(t.currentItem || t.element)))) continue; //No disabled and non-accepted + for (var j=0; j < list.length; j++) { if(list[j] == m[i].element[0]) { m[i].proportions.height = 0; continue droppablesLoop; } }; //Filter out elements in the current dragged item + m[i].visible = m[i].element.css("display") != "none"; if(!m[i].visible) continue; //If the element is not visible, continue + + m[i].offset = m[i].element.offset(); + m[i].proportions = { width: m[i].element[0].offsetWidth, height: m[i].element[0].offsetHeight }; + + if(type == "dragstart" || type == "sortactivate") m[i]._activate.call(m[i], e); //Activate the droppable if used directly from draggables + + } + + }, + drop: function(draggable, e) { + + var dropped = false; + $.each($.ui.ddmanager.droppables[draggable.options.scope], function() { + + if(!this.options) return; + if (!this.options.disabled && this.visible && $.ui.intersect(draggable, this, this.options.tolerance)) + dropped = this._drop.call(this, e); + + if (!this.options.disabled && this.visible && this.options.accept.call(this.element,(draggable.currentItem || draggable.element))) { + this.isout = 1; this.isover = 0; + this._deactivate.call(this, e); + } + + }); + return dropped; + + }, + drag: function(draggable, e) { + + //If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse. + if(draggable.options.refreshPositions) $.ui.ddmanager.prepareOffsets(draggable, e); + + //Run through all droppables and check their positions based on specific tolerance options + + $.each($.ui.ddmanager.droppables[draggable.options.scope], function() { + + if(this.options.disabled || this.greedyChild || !this.visible) return; + var intersects = $.ui.intersect(draggable, this, this.options.tolerance); + + var c = !intersects && this.isover == 1 ? 'isout' : (intersects && this.isover == 0 ? 'isover' : null); + if(!c) return; + + var parentInstance; + if (this.options.greedy) { + var parent = this.element.parents(':data(droppable):eq(0)'); + if (parent.length) { + parentInstance = $.data(parent[0], 'droppable'); + parentInstance.greedyChild = (c == 'isover' ? 1 : 0); + } + } + + // we just moved into a greedy child + if (parentInstance && c == 'isover') { + parentInstance['isover'] = 0; + parentInstance['isout'] = 1; + parentInstance._out.call(parentInstance, e); + } + + this[c] = 1; this[c == 'isout' ? 'isover' : 'isout'] = 0; + this[c == "isover" ? "_over" : "_out"].call(this, e); + + // we just moved out of a greedy child + if (parentInstance && c == 'isout') { + parentInstance['isout'] = 0; + parentInstance['isover'] = 1; + parentInstance._over.call(parentInstance, e); + } + }); + + } +}; + +/* + * Droppable Extensions + */ + +$.ui.plugin.add("droppable", "activeClass", { + activate: function(e, ui) { + $(this).addClass(ui.options.activeClass); + }, + deactivate: function(e, ui) { + $(this).removeClass(ui.options.activeClass); + }, + drop: function(e, ui) { + $(this).removeClass(ui.options.activeClass); + } +}); + +$.ui.plugin.add("droppable", "hoverClass", { + over: function(e, ui) { + $(this).addClass(ui.options.hoverClass); + }, + out: function(e, ui) { + $(this).removeClass(ui.options.hoverClass); + }, + drop: function(e, ui) { + $(this).removeClass(ui.options.hoverClass); + } +}); + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/ui.magnifier.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/ui.magnifier.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/ui.magnifier.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,175 @@ +/* + * jQuery UI Magnifier @VERSION + * + * Copyright (c) 2008 jQuery + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Magnifier + * + * Depends: + * ui.core.js + */ +(function($) { + +var counter = 0; + +$.widget("ui.magnifier", { + _init: function() { + var self = this, + o = this.options; + + this.element + .addClass("ui-magnifier") + .bind('click.magnifier', function(e) { + (!self.disabled && o.click && o.click.apply(this, [e, { + options: self.options, + current: self.current[0], + currentOffset: self.current[1] + }])); + }); + + // the element must have relative or absolute positioning + if (!(/^(r|a)/).test(this.element.css("position"))) { + this.element.css("position", "relative"); + } + + this.items = []; + this.element.find(o.items).each(function() { + var $this = $(this); + // TODO: use a hash so references to this data is readable + self.items.push([ + this, + $this.offset(), + [$this.width(),$this.height()], + (o.overlap ? $this.position() : null) + ]); + + (o.opacity && $this.css('opacity', o.opacity.min)); + }); + + // absolutize + (o.overlap && $.each(this.items, function() { + $(this[0]).css({ + position: "absolute", + top: this[3].top, + left: this[3].left + }); + })); + + this.identifier = ++counter; + $(document).bind("mousemove.magnifier"+this.identifier, function(e) { + (self.disabled || self._magnify.apply(self, [e])); + }); + + this.pp = this.element.offset(); + }, + + destroy: function() { + this.reset(); + this.element + .removeClass("ui-magnifier ui-magnifier-disabled") + .unbind(".magnifier"); + $(document).unbind("mousemove.magnifier"+this.identifier); + }, + + disable: function() { + this.reset(); + $.widget.prototype.disable.apply(this, arguments); + }, + + reset: function(e) { + var o = this.options; + + $.each(this.items, function() { + var item = this; + $(item[0]).css({ + width: item[2][0], + height: item[2][1], + top: (item[3] ? item[3].top : 0), + left: (item[3] ? item[3].left : 0) + }); + + (o.opacity && $(item[0]).css('opacity', o.opacity.min)); + (o.zIndex && $(item[0]).css("z-index", "")); + }); + }, + + _magnify: function(e) { + var p = [e.pageX,e.pageY], o = this.options, c, distance = 1; + this.current = this.items[0]; + + // Compute the parent's distance + // we don't need to fire anything if we are not near the parent + var overlap = ((p[0] > this.pp.left-o.distance) && + (p[0] < this.pp.left + this.element[0].offsetWidth + o.distance) && + (p[1] > this.pp.top-o.distance) && + (p[1] < this.pp.top + this.element[0].offsetHeight + o.distance)); + if (!overlap) { return false; } + + for (var i=0; i *" + } +}); + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/ui.progressbar.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/ui.progressbar.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/ui.progressbar.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,195 @@ +/* + * jQuery UI ProgressBar @VERSION + * + * Copyright (c) 2008 Eduardo Lundgren + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/ProgressBar + * + * Depends: + * ui.core.js + */ +(function($) { + +$.widget("ui.progressbar", { + _init: function() { + + this._interval = this.options.interval; + + var self = this, + options = this.options, + id = (new Date()).getTime()+Math.random(), + text = options.text || '0%'; + + this.element.addClass("ui-progressbar").width(options.width); + + $.extend(this, { + active: false, + pixelState: 0, + percentState: 0, + identifier: id, + bar: $('
      ').css({ + width: '0px', overflow: 'hidden', zIndex: 100 + }), + textElement: $('
      ').html(text).css({ + width: '0px', overflow: 'hidden' + }), + textBg: $('
      ').html(text).css({ + width: this.element.width() + }), + wrapper: $('
      ') + }); + + this.wrapper + .append(this.bar.append(this.textElement.addClass(options.textClass)), this.textBg) + .appendTo(this.element); + }, + + plugins: {}, + ui: function(e) { + return { + instance: this, + identifier: this.identifier, + options: this.options, + element: this.bar, + textElement: this.textElement, + pixelState: this.pixelState, + percentState: this.percentState + }; + }, + + _propagate: function(n,e) { + $.ui.plugin.call(this, n, [e, this.ui()]); + this.element.triggerHandler(n == "progressbar" ? n : ["progressbar", n].join(""), [e, this.ui()], this.options[n]); + }, + + destroy: function() { + this.stop(); + + this.element + .removeClass("ui-progressbar ui-progressbar-disabled") + .removeData("progressbar").unbind(".progressbar") + .find('.ui-progressbar-wrap').remove(); + + delete jQuery.easing[this.identifier]; + }, + + enable: function() { + this.element.removeClass("ui-progressbar-disabled"); + this.disabled = false; + }, + + disable: function() { + this.element.addClass("ui-progressbar-disabled"); + this.disabled = true; + }, + + start: function() { + var self = this, options = this.options; + + if (this.disabled) { + return; + } + + jQuery.easing[this.identifier] = function (x, t, b, c, d) { + var inc = options.increment, + width = options.width, + step = ((inc > width ? width : inc)/width), + state = Math.round(x/step)*step; + return state > 1 ? 1 : state; + }; + + self.active = true; + + setTimeout( + function() { + self.active = false; + }, + options.duration + ); + + this._animate(); + + this._propagate('start', this.ui()); + return false; + }, + + _animate: function() { + var self = this, + options = this.options, + interval = options.interval; + + this.bar.animate( + { + width: options.width + }, + { + duration: interval, + easing: this.identifier, + step: function(step, b) { + self.progress((step/options.width)*100); + var timestamp = new Date().getTime(), elapsedTime = (timestamp - b.startTime); + options.interval = interval - elapsedTime; + }, + complete: function() { + delete jQuery.easing[self.identifier]; + self.pause(); + + if (self.active) { + /*TODO*/ + } + } + } + ); + }, + + pause: function() { + if (this.disabled) return; + this.bar.stop(); + this._propagate('pause', this.ui()); + }, + + stop: function() { + this.bar.stop(); + this.bar.width(0); + this.textElement.width(0); + this.bar.addClass('ui-hidden'); + this.options.interval = this._interval; + this._propagate('stop', this.ui()); + }, + + text: function(text){ + this.textElement.html(text); + this.textBg.html(text); + }, + + progress: function(percentState) { + if (this.bar.is('.ui-hidden')) { + this.bar.removeClass('ui-hidden'); + } + + this.percentState = percentState > 100 ? 100 : percentState; + this.pixelState = (this.percentState/100)*this.options.width; + this.bar.width(this.pixelState); + this.textElement.width(this.pixelState); + + if (this.options.range && !this.options.text) { + this.textElement.html(Math.round(this.percentState) + '%'); + } + this._propagate('progress', this.ui()); + } +}); + +$.ui.progressbar.defaults = { + width: 300, + duration: 3000, + interval: 200, + increment: 1, + range: true, + text: '', + addClass: '', + textClass: '' +}; + +})(jQuery); \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/ui.resizable.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/ui.resizable.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/ui.resizable.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,779 @@ +/* + * jQuery UI Resizable @VERSION + * + * Copyright (c) 2008 Paul Bakaus + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Resizables + * + * Depends: + * ui.core.js + */ +(function($) { + +$.widget("ui.resizable", $.extend({}, $.ui.mouse, { + _init: function() { + + var self = this, o = this.options; + + var elpos = this.element.css('position'); + + this.originalElement = this.element; + + // simulate .ui-resizable { position: relative; } + this.element.addClass("ui-resizable").css({ position: /static/.test(elpos) ? 'relative' : elpos }); + + $.extend(o, { + _aspectRatio: !!(o.aspectRatio), + helper: o.helper || o.ghost || o.animate ? o.helper || 'proxy' : null, + knobHandles: o.knobHandles === true ? 'ui-resizable-knob-handle' : o.knobHandles + }); + + //Default Theme + var aBorder = '1px solid #DEDEDE'; + + o.defaultTheme = { + 'ui-resizable': { display: 'block' }, + 'ui-resizable-handle': { position: 'absolute', background: '#F2F2F2', fontSize: '0.1px' }, + 'ui-resizable-n': { cursor: 'n-resize', height: '4px', left: '0px', right: '0px', borderTop: aBorder }, + 'ui-resizable-s': { cursor: 's-resize', height: '4px', left: '0px', right: '0px', borderBottom: aBorder }, + 'ui-resizable-e': { cursor: 'e-resize', width: '4px', top: '0px', bottom: '0px', borderRight: aBorder }, + 'ui-resizable-w': { cursor: 'w-resize', width: '4px', top: '0px', bottom: '0px', borderLeft: aBorder }, + 'ui-resizable-se': { cursor: 'se-resize', width: '4px', height: '4px', borderRight: aBorder, borderBottom: aBorder }, + 'ui-resizable-sw': { cursor: 'sw-resize', width: '4px', height: '4px', borderBottom: aBorder, borderLeft: aBorder }, + 'ui-resizable-ne': { cursor: 'ne-resize', width: '4px', height: '4px', borderRight: aBorder, borderTop: aBorder }, + 'ui-resizable-nw': { cursor: 'nw-resize', width: '4px', height: '4px', borderLeft: aBorder, borderTop: aBorder } + }; + + o.knobTheme = { + 'ui-resizable-handle': { background: '#F2F2F2', border: '1px solid #808080', height: '8px', width: '8px' }, + 'ui-resizable-n': { cursor: 'n-resize', top: '0px', left: '45%' }, + 'ui-resizable-s': { cursor: 's-resize', bottom: '0px', left: '45%' }, + 'ui-resizable-e': { cursor: 'e-resize', right: '0px', top: '45%' }, + 'ui-resizable-w': { cursor: 'w-resize', left: '0px', top: '45%' }, + 'ui-resizable-se': { cursor: 'se-resize', right: '0px', bottom: '0px' }, + 'ui-resizable-sw': { cursor: 'sw-resize', left: '0px', bottom: '0px' }, + 'ui-resizable-nw': { cursor: 'nw-resize', left: '0px', top: '0px' }, + 'ui-resizable-ne': { cursor: 'ne-resize', right: '0px', top: '0px' } + }; + + o._nodeName = this.element[0].nodeName; + + //Wrap the element if it cannot hold child nodes + if(o._nodeName.match(/canvas|textarea|input|select|button|img/i)) { + var el = this.element; + + //Opera fixing relative position + if (/relative/.test(el.css('position')) && $.browser.opera) + el.css({ position: 'relative', top: 'auto', left: 'auto' }); + + //Create a wrapper element and set the wrapper to the new current internal element + el.wrap( + $('
      ').css( { + position: el.css('position'), + width: el.outerWidth(), + height: el.outerHeight(), + top: el.css('top'), + left: el.css('left') + }) + ); + + var oel = this.element; this.element = this.element.parent(); + + // store instance on wrapper + this.element.data('resizable', this); + + //Move margins to the wrapper + this.element.css({ marginLeft: oel.css("marginLeft"), marginTop: oel.css("marginTop"), + marginRight: oel.css("marginRight"), marginBottom: oel.css("marginBottom") + }); + + oel.css({ marginLeft: 0, marginTop: 0, marginRight: 0, marginBottom: 0}); + + //Prevent Safari textarea resize + if ($.browser.safari && o.preventDefault) oel.css('resize', 'none'); + + o.proportionallyResize = oel.css({ position: 'static', zoom: 1, display: 'block' }); + + // avoid IE jump + this.element.css({ margin: oel.css('margin') }); + + // fix handlers offset + this._proportionallyResize(); + } + + if(!o.handles) o.handles = !$('.ui-resizable-handle', this.element).length ? "e,s,se" : { n: '.ui-resizable-n', e: '.ui-resizable-e', s: '.ui-resizable-s', w: '.ui-resizable-w', se: '.ui-resizable-se', sw: '.ui-resizable-sw', ne: '.ui-resizable-ne', nw: '.ui-resizable-nw' }; + if(o.handles.constructor == String) { + + o.zIndex = o.zIndex || 1000; + + if(o.handles == 'all') o.handles = 'n,e,s,w,se,sw,ne,nw'; + + var n = o.handles.split(","); o.handles = {}; + + // insertions are applied when don't have theme loaded + var insertionsDefault = { + handle: 'position: absolute; display: none; overflow:hidden;', + n: 'top: 0pt; width:100%;', + e: 'right: 0pt; height:100%;', + s: 'bottom: 0pt; width:100%;', + w: 'left: 0pt; height:100%;', + se: 'bottom: 0pt; right: 0px;', + sw: 'bottom: 0pt; left: 0px;', + ne: 'top: 0pt; right: 0px;', + nw: 'top: 0pt; left: 0px;' + }; + + for(var i = 0; i < n.length; i++) { + var handle = $.trim(n[i]), dt = o.defaultTheme, hname = 'ui-resizable-'+handle, loadDefault = !$.ui.css(hname) && !o.knobHandles, userKnobClass = $.ui.css('ui-resizable-knob-handle'), + allDefTheme = $.extend(dt[hname], dt['ui-resizable-handle']), allKnobTheme = $.extend(o.knobTheme[hname], !userKnobClass ? o.knobTheme['ui-resizable-handle'] : {}); + + // increase zIndex of sw, se, ne, nw axis + var applyZIndex = /sw|se|ne|nw/.test(handle) ? { zIndex: ++o.zIndex } : {}; + + var defCss = (loadDefault ? insertionsDefault[handle] : ''), + axis = $(['
      '].join('')).css( applyZIndex ); + o.handles[handle] = '.ui-resizable-'+handle; + + this.element.append( + //Theme detection, if not loaded, load o.defaultTheme + axis.css( loadDefault ? allDefTheme : {} ) + // Load the knobHandle css, fix width, height, top, left... + .css( o.knobHandles ? allKnobTheme : {} ).addClass(o.knobHandles ? 'ui-resizable-knob-handle' : '').addClass(o.knobHandles) + ); + } + + if (o.knobHandles) this.element.addClass('ui-resizable-knob').css( !$.ui.css('ui-resizable-knob') ? { /*border: '1px #fff dashed'*/ } : {} ); + } + + this._renderAxis = function(target) { + target = target || this.element; + + for(var i in o.handles) { + if(o.handles[i].constructor == String) + o.handles[i] = $(o.handles[i], this.element).show(); + + if (o.transparent) + o.handles[i].css({opacity:0}); + + //Apply pad to wrapper element, needed to fix axis position (textarea, inputs, scrolls) + if (this.element.is('.ui-wrapper') && + o._nodeName.match(/textarea|input|select|button/i)) { + + var axis = $(o.handles[i], this.element), padWrapper = 0; + + //Checking the correct pad and border + padWrapper = /sw|ne|nw|se|n|s/.test(i) ? axis.outerHeight() : axis.outerWidth(); + + //The padding type i have to apply... + var padPos = [ 'padding', + /ne|nw|n/.test(i) ? 'Top' : + /se|sw|s/.test(i) ? 'Bottom' : + /^e$/.test(i) ? 'Right' : 'Left' ].join(""); + + if (!o.transparent) + target.css(padPos, padWrapper); + + this._proportionallyResize(); + } + if(!$(o.handles[i]).length) continue; + } + }; + + this._renderAxis(this.element); + o._handles = $('.ui-resizable-handle', self.element); + + if (o.disableSelection) + o._handles.each(function(i, e) { $.ui.disableSelection(e); }); + + //Matching axis name + o._handles.mouseover(function() { + if (!o.resizing) { + if (this.className) + var axis = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i); + //Axis, default = se + self.axis = o.axis = axis && axis[1] ? axis[1] : 'se'; + } + }); + + //If we want to auto hide the elements + if (o.autoHide) { + o._handles.hide(); + $(self.element).addClass("ui-resizable-autohide").hover(function() { + $(this).removeClass("ui-resizable-autohide"); + o._handles.show(); + }, + function(){ + if (!o.resizing) { + $(this).addClass("ui-resizable-autohide"); + o._handles.hide(); + } + }); + } + + this._mouseInit(); + }, + plugins: {}, + ui: function() { + return { + originalElement: this.originalElement, + element: this.element, + helper: this.helper, + position: this.position, + size: this.size, + options: this.options, + originalSize: this.originalSize, + originalPosition: this.originalPosition + }; + }, + _propagate: function(n,e) { + $.ui.plugin.call(this, n, [e, this.ui()]); + if (n != "resize") this.element.triggerHandler(["resize", n].join(""), [e, this.ui()], this.options[n]); + }, + destroy: function() { + var el = this.element, wrapped = el.children(".ui-resizable").get(0); + + this._mouseDestroy(); + + var _destroy = function(exp) { + $(exp).removeClass("ui-resizable ui-resizable-disabled") + .removeData("resizable").unbind(".resizable").find('.ui-resizable-handle').remove(); + }; + + _destroy(el); + + if (el.is('.ui-wrapper') && wrapped) { + el.parent().append( + $(wrapped).css({ + position: el.css('position'), + width: el.outerWidth(), + height: el.outerHeight(), + top: el.css('top'), + left: el.css('left') + }) + ).end().remove(); + + _destroy(wrapped); + } + }, + + _mouseCapture: function(e) { + + if(this.options.disabled) return false; + + var handle = false; + for(var i in this.options.handles) { + if($(this.options.handles[i])[0] == e.target) handle = true; + } + if (!handle) return false; + + return true; + + }, + + _mouseStart: function(e) { + + var o = this.options, iniPos = this.element.position(), el = this.element, + num = function(v) { return parseInt(v, 10) || 0; }, ie6 = $.browser.msie && $.browser.version < 7; + o.resizing = true; + o.documentScroll = { top: $(document).scrollTop(), left: $(document).scrollLeft() }; + + // bugfix #1749 + if (el.is('.ui-draggable') || (/absolute/).test(el.css('position'))) { + + // sOffset decides if document scrollOffset will be added to the top/left of the resizable element + var sOffset = $.browser.msie && !o.containment && (/absolute/).test(el.css('position')) && !(/relative/).test(el.parent().css('position')); + var dscrollt = sOffset ? o.documentScroll.top : 0, dscrolll = sOffset ? o.documentScroll.left : 0; + + el.css({ position: 'absolute', top: (iniPos.top + dscrollt), left: (iniPos.left + dscrolll) }); + } + + //Opera fixing relative position + if ($.browser.opera && /relative/.test(el.css('position'))) + el.css({ position: 'relative', top: 'auto', left: 'auto' }); + + this._renderProxy(); + + var curleft = num(this.helper.css('left')), curtop = num(this.helper.css('top')); + + if (o.containment) { + curleft += $(o.containment).scrollLeft()||0; + curtop += $(o.containment).scrollTop()||0; + } + + //Store needed variables + this.offset = this.helper.offset(); + this.position = { left: curleft, top: curtop }; + this.size = o.helper || ie6 ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() }; + this.originalSize = o.helper || ie6 ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() }; + this.originalPosition = { left: curleft, top: curtop }; + this.sizeDiff = { width: el.outerWidth() - el.width(), height: el.outerHeight() - el.height() }; + this.originalMousePosition = { left: e.pageX, top: e.pageY }; + + //Aspect Ratio + o.aspectRatio = (typeof o.aspectRatio == 'number') ? o.aspectRatio : ((this.originalSize.width / this.originalSize.height)||1); + + if (o.preserveCursor) + $('body').css('cursor', this.axis + '-resize'); + + this._propagate("start", e); + return true; + }, + _mouseDrag: function(e) { + + //Increase performance, avoid regex + var el = this.helper, o = this.options, props = {}, + self = this, smp = this.originalMousePosition, a = this.axis; + + var dx = (e.pageX-smp.left)||0, dy = (e.pageY-smp.top)||0; + var trigger = this._change[a]; + if (!trigger) return false; + + // Calculate the attrs that will be change + var data = trigger.apply(this, [e, dx, dy]), ie6 = $.browser.msie && $.browser.version < 7, csdif = this.sizeDiff; + + if (o._aspectRatio || e.shiftKey) + data = this._updateRatio(data, e); + + data = this._respectSize(data, e); + + // plugins callbacks need to be called first + this._propagate("resize", e); + + el.css({ + top: this.position.top + "px", left: this.position.left + "px", + width: this.size.width + "px", height: this.size.height + "px" + }); + + if (!o.helper && o.proportionallyResize) + this._proportionallyResize(); + + this._updateCache(data); + + // calling the user callback at the end + this.element.triggerHandler("resize", [e, this.ui()], this.options["resize"]); + + return false; + }, + _mouseStop: function(e) { + + this.options.resizing = false; + var o = this.options, num = function(v) { return parseInt(v, 10) || 0; }, self = this; + + if(o.helper) { + var pr = o.proportionallyResize, ista = pr && (/textarea/i).test(pr.get(0).nodeName), + soffseth = ista && $.ui.hasScroll(pr.get(0), 'left') /* TODO - jump height */ ? 0 : self.sizeDiff.height, + soffsetw = ista ? 0 : self.sizeDiff.width; + + var s = { width: (self.size.width - soffsetw), height: (self.size.height - soffseth) }, + left = (parseInt(self.element.css('left'), 10) + (self.position.left - self.originalPosition.left)) || null, + top = (parseInt(self.element.css('top'), 10) + (self.position.top - self.originalPosition.top)) || null; + + if (!o.animate) + this.element.css($.extend(s, { top: top, left: left })); + + if (o.helper && !o.animate) this._proportionallyResize(); + } + + if (o.preserveCursor) + $('body').css('cursor', 'auto'); + + this._propagate("stop", e); + + if (o.helper) this.helper.remove(); + + return false; + }, + _updateCache: function(data) { + var o = this.options; + this.offset = this.helper.offset(); + if (data.left) this.position.left = data.left; + if (data.top) this.position.top = data.top; + if (data.height) this.size.height = data.height; + if (data.width) this.size.width = data.width; + }, + _updateRatio: function(data, e) { + + var o = this.options, cpos = this.position, csize = this.size, a = this.axis; + + if (data.height) data.width = (csize.height * o.aspectRatio); + else if (data.width) data.height = (csize.width / o.aspectRatio); + + if (a == 'sw') { + data.left = cpos.left + (csize.width - data.width); + data.top = null; + } + if (a == 'nw') { + data.top = cpos.top + (csize.height - data.height); + data.left = cpos.left + (csize.width - data.width); + } + + return data; + }, + _respectSize: function(data, e) { + + var el = this.helper, o = this.options, pRatio = o._aspectRatio || e.shiftKey, a = this.axis, + ismaxw = data.width && o.maxWidth && o.maxWidth < data.width, ismaxh = data.height && o.maxHeight && o.maxHeight < data.height, + isminw = data.width && o.minWidth && o.minWidth > data.width, isminh = data.height && o.minHeight && o.minHeight > data.height; + + if (isminw) data.width = o.minWidth; + if (isminh) data.height = o.minHeight; + if (ismaxw) data.width = o.maxWidth; + if (ismaxh) data.height = o.maxHeight; + + var dw = this.originalPosition.left + this.originalSize.width, dh = this.position.top + this.size.height; + var cw = /sw|nw|w/.test(a), ch = /nw|ne|n/.test(a); + + if (isminw && cw) data.left = dw - o.minWidth; + if (ismaxw && cw) data.left = dw - o.maxWidth; + if (isminh && ch) data.top = dh - o.minHeight; + if (ismaxh && ch) data.top = dh - o.maxHeight; + + // fixing jump error on top/left - bug #2330 + var isNotwh = !data.width && !data.height; + if (isNotwh && !data.left && data.top) data.top = null; + else if (isNotwh && !data.top && data.left) data.left = null; + + return data; + }, + _proportionallyResize: function() { + var o = this.options; + if (!o.proportionallyResize) return; + var prel = o.proportionallyResize, el = this.helper || this.element; + + if (!o.borderDif) { + var b = [prel.css('borderTopWidth'), prel.css('borderRightWidth'), prel.css('borderBottomWidth'), prel.css('borderLeftWidth')], + p = [prel.css('paddingTop'), prel.css('paddingRight'), prel.css('paddingBottom'), prel.css('paddingLeft')]; + + o.borderDif = $.map(b, function(v, i) { + var border = parseInt(v,10)||0, padding = parseInt(p[i],10)||0; + return border + padding; + }); + } + prel.css({ + height: (el.height() - o.borderDif[0] - o.borderDif[2]) + "px", + width: (el.width() - o.borderDif[1] - o.borderDif[3]) + "px" + }); + }, + _renderProxy: function() { + var el = this.element, o = this.options; + this.elementOffset = el.offset(); + + if(o.helper) { + this.helper = this.helper || $('
      '); + + // fix ie6 offset + var ie6 = $.browser.msie && $.browser.version < 7, ie6offset = (ie6 ? 1 : 0), + pxyoffset = ( ie6 ? 2 : -1 ); + + this.helper.addClass(o.helper).css({ + width: el.outerWidth() + pxyoffset, + height: el.outerHeight() + pxyoffset, + position: 'absolute', + left: this.elementOffset.left - ie6offset +'px', + top: this.elementOffset.top - ie6offset +'px', + zIndex: ++o.zIndex + }); + + this.helper.appendTo("body"); + + if (o.disableSelection) + $.ui.disableSelection(this.helper.get(0)); + + } else { + this.helper = el; + } + }, + _change: { + e: function(e, dx, dy) { + return { width: this.originalSize.width + dx }; + }, + w: function(e, dx, dy) { + var o = this.options, cs = this.originalSize, sp = this.originalPosition; + return { left: sp.left + dx, width: cs.width - dx }; + }, + n: function(e, dx, dy) { + var o = this.options, cs = this.originalSize, sp = this.originalPosition; + return { top: sp.top + dy, height: cs.height - dy }; + }, + s: function(e, dx, dy) { + return { height: this.originalSize.height + dy }; + }, + se: function(e, dx, dy) { + return $.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [e, dx, dy])); + }, + sw: function(e, dx, dy) { + return $.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [e, dx, dy])); + }, + ne: function(e, dx, dy) { + return $.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [e, dx, dy])); + }, + nw: function(e, dx, dy) { + return $.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [e, dx, dy])); + } + } +})); + +$.extend($.ui.resizable, { + defaults: { + cancel: ":input", + distance: 1, + delay: 0, + preventDefault: true, + transparent: false, + minWidth: 10, + minHeight: 10, + aspectRatio: false, + disableSelection: true, + preserveCursor: true, + autoHide: false, + knobHandles: false + } +}); + +/* + * Resizable Extensions + */ + +$.ui.plugin.add("resizable", "containment", { + + start: function(e, ui) { + var o = ui.options, self = $(this).data("resizable"), el = self.element; + var oc = o.containment, ce = (oc instanceof $) ? oc.get(0) : (/parent/.test(oc)) ? el.parent().get(0) : oc; + if (!ce) return; + + self.containerElement = $(ce); + + if (/document/.test(oc) || oc == document) { + self.containerOffset = { left: 0, top: 0 }; + self.containerPosition = { left: 0, top: 0 }; + + self.parentData = { + element: $(document), left: 0, top: 0, + width: $(document).width(), height: $(document).height() || document.body.parentNode.scrollHeight + }; + } + + + // i'm a node, so compute top, left, right, bottom + else{ + self.containerOffset = $(ce).offset(); + self.containerPosition = $(ce).position(); + self.containerSize = { height: $(ce).innerHeight(), width: $(ce).innerWidth() }; + + var co = self.containerOffset, ch = self.containerSize.height, cw = self.containerSize.width, + width = ($.ui.hasScroll(ce, "left") ? ce.scrollWidth : cw ), height = ($.ui.hasScroll(ce) ? ce.scrollHeight : ch); + + self.parentData = { + element: ce, left: co.left, top: co.top, width: width, height: height + }; + } + }, + + resize: function(e, ui) { + var o = ui.options, self = $(this).data("resizable"), + ps = self.containerSize, co = self.containerOffset, cs = self.size, cp = self.position, + pRatio = o._aspectRatio || e.shiftKey, cop = { top:0, left:0 }, ce = self.containerElement; + + if (ce[0] != document && /static/.test(ce.css('position'))) + cop = self.containerPosition; + + if (cp.left < (o.helper ? co.left : cop.left)) { + self.size.width = self.size.width + (o.helper ? (self.position.left - co.left) : (self.position.left - cop.left)); + if (pRatio) self.size.height = self.size.width / o.aspectRatio; + self.position.left = o.helper ? co.left : cop.left; + } + + if (cp.top < (o.helper ? co.top : 0)) { + self.size.height = self.size.height + (o.helper ? (self.position.top - co.top) : self.position.top); + if (pRatio) self.size.width = self.size.height * o.aspectRatio; + self.position.top = o.helper ? co.top : 0; + } + + var woset = (o.helper ? self.offset.left - co.left : (self.position.left - cop.left)) + self.sizeDiff.width, + hoset = (o.helper ? self.offset.top - co.top : self.position.top) + self.sizeDiff.height; + + if (woset + self.size.width >= self.parentData.width) { + self.size.width = self.parentData.width - woset; + if (pRatio) self.size.height = self.size.width / o.aspectRatio; + } + + if (hoset + self.size.height >= self.parentData.height) { + self.size.height = self.parentData.height - hoset; + if (pRatio) self.size.width = self.size.height * o.aspectRatio; + } + }, + + stop: function(e, ui){ + var o = ui.options, self = $(this).data("resizable"), cp = self.position, + co = self.containerOffset, cop = self.containerPosition, ce = self.containerElement; + + var helper = $(self.helper), ho = helper.offset(), w = helper.innerWidth(), h = helper.innerHeight(); + + + if (o.helper && !o.animate && /relative/.test(ce.css('position'))) + $(this).css({ left: (ho.left - co.left), top: (ho.top - co.top), width: w, height: h }); + + if (o.helper && !o.animate && /static/.test(ce.css('position'))) + $(this).css({ left: cop.left + (ho.left - co.left), top: cop.top + (ho.top - co.top), width: w, height: h }); + + } +}); + +$.ui.plugin.add("resizable", "grid", { + + resize: function(e, ui) { + var o = ui.options, self = $(this).data("resizable"), cs = self.size, os = self.originalSize, op = self.originalPosition, a = self.axis, ratio = o._aspectRatio || e.shiftKey; + o.grid = typeof o.grid == "number" ? [o.grid, o.grid] : o.grid; + var ox = Math.round((cs.width - os.width) / (o.grid[0]||1)) * (o.grid[0]||1), oy = Math.round((cs.height - os.height) / (o.grid[1]||1)) * (o.grid[1]||1); + + if (/^(se|s|e)$/.test(a)) { + self.size.width = os.width + ox; + self.size.height = os.height + oy; + } + else if (/^(ne)$/.test(a)) { + self.size.width = os.width + ox; + self.size.height = os.height + oy; + self.position.top = op.top - oy; + } + else if (/^(sw)$/.test(a)) { + self.size.width = os.width + ox; + self.size.height = os.height + oy; + self.position.left = op.left - ox; + } + else { + self.size.width = os.width + ox; + self.size.height = os.height + oy; + self.position.top = op.top - oy; + self.position.left = op.left - ox; + } + } + +}); + +$.ui.plugin.add("resizable", "animate", { + + stop: function(e, ui) { + var o = ui.options, self = $(this).data("resizable"); + + var pr = o.proportionallyResize, ista = pr && (/textarea/i).test(pr.get(0).nodeName), + soffseth = ista && $.ui.hasScroll(pr.get(0), 'left') /* TODO - jump height */ ? 0 : self.sizeDiff.height, + soffsetw = ista ? 0 : self.sizeDiff.width; + + var style = { width: (self.size.width - soffsetw), height: (self.size.height - soffseth) }, + left = (parseInt(self.element.css('left'), 10) + (self.position.left - self.originalPosition.left)) || null, + top = (parseInt(self.element.css('top'), 10) + (self.position.top - self.originalPosition.top)) || null; + + self.element.animate( + $.extend(style, top && left ? { top: top, left: left } : {}), { + duration: o.animateDuration || "slow", easing: o.animateEasing || "swing", + step: function() { + + var data = { + width: parseInt(self.element.css('width'), 10), + height: parseInt(self.element.css('height'), 10), + top: parseInt(self.element.css('top'), 10), + left: parseInt(self.element.css('left'), 10) + }; + + if (pr) pr.css({ width: data.width, height: data.height }); + + // propagating resize, and updating values for each animation step + self._updateCache(data); + self._propagate("animate", e); + + } + } + ); + } + +}); + +$.ui.plugin.add("resizable", "ghost", { + + start: function(e, ui) { + var o = ui.options, self = $(this).data("resizable"), pr = o.proportionallyResize, cs = self.size; + + if (!pr) self.ghost = self.element.clone(); + else self.ghost = pr.clone(); + + self.ghost.css( + { opacity: .25, display: 'block', position: 'relative', height: cs.height, width: cs.width, margin: 0, left: 0, top: 0 } + ) + .addClass('ui-resizable-ghost').addClass(typeof o.ghost == 'string' ? o.ghost : ''); + + self.ghost.appendTo(self.helper); + + }, + + resize: function(e, ui){ + var o = ui.options, self = $(this).data("resizable"), pr = o.proportionallyResize; + + if (self.ghost) self.ghost.css({ position: 'relative', height: self.size.height, width: self.size.width }); + + }, + + stop: function(e, ui){ + var o = ui.options, self = $(this).data("resizable"), pr = o.proportionallyResize; + if (self.ghost && self.helper) self.helper.get(0).removeChild(self.ghost.get(0)); + } + +}); + +$.ui.plugin.add("resizable", "alsoResize", { + + start: function(e, ui) { + var o = ui.options, self = $(this).data("resizable"), + + _store = function(exp) { + $(exp).each(function() { + $(this).data("resizable-alsoresize", { + width: parseInt($(this).width(), 10), height: parseInt($(this).height(), 10), + left: parseInt($(this).css('left'), 10), top: parseInt($(this).css('top'), 10) + }); + }); + }; + + if (typeof(o.alsoResize) == 'object') { + if (o.alsoResize.length) { o.alsoResize = o.alsoResize[0]; _store(o.alsoResize); } + else { $.each(o.alsoResize, function(exp, c) { _store(exp); }); } + }else{ + _store(o.alsoResize); + } + }, + + resize: function(e, ui){ + var o = ui.options, self = $(this).data("resizable"), os = self.originalSize, op = self.originalPosition; + + var delta = { + height: (self.size.height - os.height) || 0, width: (self.size.width - os.width) || 0, + top: (self.position.top - op.top) || 0, left: (self.position.left - op.left) || 0 + }, + + _alsoResize = function(exp, c) { + $(exp).each(function() { + var start = $(this).data("resizable-alsoresize"), style = {}, css = c && c.length ? c : ['width', 'height', 'top', 'left']; + + $.each(css || ['width', 'height', 'top', 'left'], function(i, prop) { + var sum = (start[prop]||0) + (delta[prop]||0); + if (sum && sum >= 0) + style[prop] = sum || null; + }); + $(this).css(style); + }); + }; + + if (typeof(o.alsoResize) == 'object') { + $.each(o.alsoResize, function(exp, c) { _alsoResize(exp, c); }); + }else{ + _alsoResize(o.alsoResize); + } + }, + + stop: function(e, ui){ + $(this).removeData("resizable-alsoresize-start"); + } +}); + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/ui.selectable.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/ui.selectable.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/ui.selectable.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,266 @@ +/* + * jQuery UI Selectable @VERSION + * + * Copyright (c) 2008 Richard D. Worth (rdworth.org) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Selectables + * + * Depends: + * ui.core.js + */ +(function($) { + +$.widget("ui.selectable", $.extend({}, $.ui.mouse, { + _init: function() { + var self = this; + + this.element.addClass("ui-selectable"); + + this.dragged = false; + + // cache selectee children based on filter + var selectees; + this.refresh = function() { + selectees = $(self.options.filter, self.element[0]); + selectees.each(function() { + var $this = $(this); + var pos = $this.offset(); + $.data(this, "selectable-item", { + element: this, + $element: $this, + left: pos.left, + top: pos.top, + right: pos.left + $this.width(), + bottom: pos.top + $this.height(), + startselected: false, + selected: $this.hasClass('ui-selected'), + selecting: $this.hasClass('ui-selecting'), + unselecting: $this.hasClass('ui-unselecting') + }); + }); + }; + this.refresh(); + + this.selectees = selectees.addClass("ui-selectee"); + + this._mouseInit(); + + this.helper = $(document.createElement('div')) + .css({border:'1px dotted black'}) + .addClass("ui-selectable-helper"); + }, + toggle: function() { + if(this.options.disabled){ + this.enable(); + } else { + this.disable(); + } + }, + destroy: function() { + this.element + .removeClass("ui-selectable ui-selectable-disabled") + .removeData("selectable") + .unbind(".selectable"); + this._mouseDestroy(); + }, + _mouseStart: function(e) { + var self = this; + + this.opos = [e.pageX, e.pageY]; + + if (this.options.disabled) + return; + + var options = this.options; + + this.selectees = $(options.filter, this.element[0]); + + // selectable START callback + this.element.triggerHandler("selectablestart", [e, { + "selectable": this.element[0], + "options": options + }], options.start); + + $('body').append(this.helper); + // position helper (lasso) + this.helper.css({ + "z-index": 100, + "position": "absolute", + "left": e.clientX, + "top": e.clientY, + "width": 0, + "height": 0 + }); + + if (options.autoRefresh) { + this.refresh(); + } + + this.selectees.filter('.ui-selected').each(function() { + var selectee = $.data(this, "selectable-item"); + selectee.startselected = true; + if (!e.metaKey) { + selectee.$element.removeClass('ui-selected'); + selectee.selected = false; + selectee.$element.addClass('ui-unselecting'); + selectee.unselecting = true; + // selectable UNSELECTING callback + self.element.triggerHandler("selectableunselecting", [e, { + selectable: self.element[0], + unselecting: selectee.element, + options: options + }], options.unselecting); + } + }); + + var isSelectee = false; + $(e.target).parents().andSelf().each(function() { + if($.data(this, "selectable-item")) isSelectee = true; + }); + return this.options.keyboard ? !isSelectee : true; + }, + _mouseDrag: function(e) { + var self = this; + this.dragged = true; + + if (this.options.disabled) + return; + + var options = this.options; + + var x1 = this.opos[0], y1 = this.opos[1], x2 = e.pageX, y2 = e.pageY; + if (x1 > x2) { var tmp = x2; x2 = x1; x1 = tmp; } + if (y1 > y2) { var tmp = y2; y2 = y1; y1 = tmp; } + this.helper.css({left: x1, top: y1, width: x2-x1, height: y2-y1}); + + this.selectees.each(function() { + var selectee = $.data(this, "selectable-item"); + //prevent helper from being selected if appendTo: selectable + if (!selectee || selectee.element == self.element[0]) + return; + var hit = false; + if (options.tolerance == 'touch') { + hit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) ); + } else if (options.tolerance == 'fit') { + hit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2); + } + + if (hit) { + // SELECT + if (selectee.selected) { + selectee.$element.removeClass('ui-selected'); + selectee.selected = false; + } + if (selectee.unselecting) { + selectee.$element.removeClass('ui-unselecting'); + selectee.unselecting = false; + } + if (!selectee.selecting) { + selectee.$element.addClass('ui-selecting'); + selectee.selecting = true; + // selectable SELECTING callback + self.element.triggerHandler("selectableselecting", [e, { + selectable: self.element[0], + selecting: selectee.element, + options: options + }], options.selecting); + } + } else { + // UNSELECT + if (selectee.selecting) { + if (e.metaKey && selectee.startselected) { + selectee.$element.removeClass('ui-selecting'); + selectee.selecting = false; + selectee.$element.addClass('ui-selected'); + selectee.selected = true; + } else { + selectee.$element.removeClass('ui-selecting'); + selectee.selecting = false; + if (selectee.startselected) { + selectee.$element.addClass('ui-unselecting'); + selectee.unselecting = true; + } + // selectable UNSELECTING callback + self.element.triggerHandler("selectableunselecting", [e, { + selectable: self.element[0], + unselecting: selectee.element, + options: options + }], options.unselecting); + } + } + if (selectee.selected) { + if (!e.metaKey && !selectee.startselected) { + selectee.$element.removeClass('ui-selected'); + selectee.selected = false; + + selectee.$element.addClass('ui-unselecting'); + selectee.unselecting = true; + // selectable UNSELECTING callback + self.element.triggerHandler("selectableunselecting", [e, { + selectable: self.element[0], + unselecting: selectee.element, + options: options + }], options.unselecting); + } + } + } + }); + + return false; + }, + _mouseStop: function(e) { + var self = this; + + this.dragged = false; + + var options = this.options; + + $('.ui-unselecting', this.element[0]).each(function() { + var selectee = $.data(this, "selectable-item"); + selectee.$element.removeClass('ui-unselecting'); + selectee.unselecting = false; + selectee.startselected = false; + self.element.triggerHandler("selectableunselected", [e, { + selectable: self.element[0], + unselected: selectee.element, + options: options + }], options.unselected); + }); + $('.ui-selecting', this.element[0]).each(function() { + var selectee = $.data(this, "selectable-item"); + selectee.$element.removeClass('ui-selecting').addClass('ui-selected'); + selectee.selecting = false; + selectee.selected = true; + selectee.startselected = true; + self.element.triggerHandler("selectableselected", [e, { + selectable: self.element[0], + selected: selectee.element, + options: options + }], options.selected); + }); + this.element.triggerHandler("selectablestop", [e, { + selectable: self.element[0], + options: this.options + }], this.options.stop); + + this.helper.remove(); + + return false; + } +})); + +$.extend($.ui.selectable, { + defaults: { + distance: 1, + delay: 0, + cancel: ":input", + appendTo: 'body', + autoRefresh: true, + filter: '*', + tolerance: 'touch' + } +}); + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/ui.slider.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/ui.slider.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/ui.slider.js 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1,457 @@ +/* + * jQuery UI Slider @VERSION + * + * Copyright (c) 2008 Paul Bakaus + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Slider + * + * Depends: + * ui.core.js + */ +(function($) { + +$.fn.unwrap = $.fn.unwrap || function(expr) { + return this.each(function(){ + $(this).parents(expr).eq(0).after(this).remove(); + }); +}; + +$.widget("ui.slider", { + plugins: {}, + ui: function(e) { + return { + options: this.options, + handle: this.currentHandle, + value: this.options.axis != "both" || !this.options.axis ? Math.round(this.value(null,this.options.axis == "vertical" ? "y" : "x")) : { + x: Math.round(this.value(null,"x")), + y: Math.round(this.value(null,"y")) + }, + range: this._getRange() + }; + }, + _propagate: function(n,e) { + $.ui.plugin.call(this, n, [e, this.ui()]); + this.element.triggerHandler(n == "slide" ? n : "slide"+n, [e, this.ui()], this.options[n]); + }, + destroy: function() { + + this.element + .removeClass("ui-slider ui-slider-disabled") + .removeData("slider") + .unbind(".slider"); + + if(this.handle && this.handle.length) { + this.handle + .unwrap("a"); + this.handle.each(function() { + $(this).data("mouse")._mouseDestroy(); + }); + } + + this.generated && this.generated.remove(); + + }, + _setData: function(key, value) { + $.widget.prototype._setData.apply(this, arguments); + if (/min|max|steps/.test(key)) { + this._initBoundaries(); + } + + if(key == "range") { + value ? this.handle.length == 2 && this._createRange() : this._removeRange(); + } + + }, + + _init: function() { + + var self = this; + this.element.addClass("ui-slider"); + this._initBoundaries(); + + // Initialize mouse and key events for interaction + this.handle = $(this.options.handle, this.element); + if (!this.handle.length) { + self.handle = self.generated = $(self.options.handles || [0]).map(function() { + var handle = $("
      ").addClass("ui-slider-handle").appendTo(self.element); + if (this.id) + handle.attr("id", this.id); + return handle[0]; + }); + } + + + var handleclass = function(el) { + this.element = $(el); + this.element.data("mouse", this); + this.options = self.options; + + this.element.bind("mousedown", function() { + if(self.currentHandle) this.blur(self.currentHandle); + self._focus(this, true); + }); + + this._mouseInit(); + }; + + $.extend(handleclass.prototype, $.ui.mouse, { + _mouseStart: function(e) { return self._start.call(self, e, this.element[0]); }, + _mouseStop: function(e) { return self._stop.call(self, e, this.element[0]); }, + _mouseDrag: function(e) { return self._drag.call(self, e, this.element[0]); }, + _mouseCapture: function() { return true; }, + trigger: function(e) { this._mouseDown(e); } + }); + + + $(this.handle) + .each(function() { + new handleclass(this); + }) + .wrap('') + .parent() + .bind('click', function() { return false; }) + .bind('focus', function(e) { self._focus(this.firstChild); }) + .bind('blur', function(e) { self._blur(this.firstChild); }) + .bind('keydown', function(e) { if(!self.options.noKeyboard) return self._keydown(e.keyCode, this.firstChild); }) + ; + + // Bind the click to the slider itself + this.element.bind('mousedown.slider', function(e) { + self._click.apply(self, [e]); + self.currentHandle.data("mouse").trigger(e); + self.firstValue = self.firstValue + 1; //This is for always triggering the change event + }); + + // Move the first handle to the startValue + $.each(this.options.handles || [], function(index, handle) { + self.moveTo(handle.start, index, true); + }); + if (!isNaN(this.options.startValue)) + this.moveTo(this.options.startValue, 0, true); + + this.previousHandle = $(this.handle[0]); //set the previous handle to the first to allow clicking before selecting the handle + if(this.handle.length == 2 && this.options.range) this._createRange(); + }, + _initBoundaries: function() { + + var element = this.element[0], o = this.options; + this.actualSize = { width: this.element.outerWidth() , height: this.element.outerHeight() }; + + $.extend(o, { + axis: o.axis || (element.offsetWidth < element.offsetHeight ? 'vertical' : 'horizontal'), + max: !isNaN(parseInt(o.max,10)) ? { x: parseInt(o.max, 10), y: parseInt(o.max, 10) } : ({ x: o.max && o.max.x || 100, y: o.max && o.max.y || 100 }), + min: !isNaN(parseInt(o.min,10)) ? { x: parseInt(o.min, 10), y: parseInt(o.min, 10) } : ({ x: o.min && o.min.x || 0, y: o.min && o.min.y || 0 }) + }); + //Prepare the real maxValue + o.realMax = { + x: o.max.x - o.min.x, + y: o.max.y - o.min.y + }; + //Calculate stepping based on steps + o.stepping = { + x: o.stepping && o.stepping.x || parseInt(o.stepping, 10) || (o.steps ? o.realMax.x/(o.steps.x || parseInt(o.steps, 10) || o.realMax.x) : 0), + y: o.stepping && o.stepping.y || parseInt(o.stepping, 10) || (o.steps ? o.realMax.y/(o.steps.y || parseInt(o.steps, 10) || o.realMax.y) : 0) + }; + }, + + + _keydown: function(keyCode, handle) { + var k = keyCode; + if(/(33|34|35|36|37|38|39|40)/.test(k)) { + var o = this.options, xpos, ypos; + if (/(35|36)/.test(k)) { + xpos = (k == 35) ? o.max.x : o.min.x; + ypos = (k == 35) ? o.max.y : o.min.y; + } else { + var oper = /(34|37|40)/.test(k) ? "-=" : "+="; + var step = /(37|38|39|40)/.test(k) ? "_oneStep" : "_pageStep"; + xpos = oper + this[step]("x"); + ypos = oper + this[step]("y"); + } + this.moveTo({ + x: xpos, + y: ypos + }, handle); + return false; + } + return true; + }, + _focus: function(handle,hard) { + this.currentHandle = $(handle).addClass('ui-slider-handle-active'); + if (hard) + this.currentHandle.parent()[0].focus(); + }, + _blur: function(handle) { + $(handle).removeClass('ui-slider-handle-active'); + if(this.currentHandle && this.currentHandle[0] == handle) { this.previousHandle = this.currentHandle; this.currentHandle = null; }; + }, + _click: function(e) { + // This method is only used if: + // - The user didn't click a handle + // - The Slider is not disabled + // - There is a current, or previous selected handle (otherwise we wouldn't know which one to move) + + var pointer = [e.pageX,e.pageY]; + + var clickedHandle = false; + this.handle.each(function() { + if(this == e.target) + clickedHandle = true; + }); + if (clickedHandle || this.options.disabled || !(this.currentHandle || this.previousHandle)) + return; + + // If a previous handle was focussed, focus it again + if (!this.currentHandle && this.previousHandle) + this._focus(this.previousHandle, true); + + // propagate only for distance > 0, otherwise propagation is done my drag + this.offset = this.element.offset(); + + this.moveTo({ + y: this._convertValue(e.pageY - this.offset.top - this.currentHandle[0].offsetHeight/2, "y"), + x: this._convertValue(e.pageX - this.offset.left - this.currentHandle[0].offsetWidth/2, "x") + }, null, !this.options.distance); + }, + + + + _createRange: function() { + if(this.rangeElement) return; + this.rangeElement = $('
      ') + .addClass('ui-slider-range') + .css({ position: 'absolute' }) + .appendTo(this.element); + this._updateRange(); + }, + _removeRange: function() { + this.rangeElement.remove(); + this.rangeElement = null; + }, + _updateRange: function() { + var prop = this.options.axis == "vertical" ? "top" : "left"; + var size = this.options.axis == "vertical" ? "height" : "width"; + this.rangeElement.css(prop, (parseInt($(this.handle[0]).css(prop),10) || 0) + this._handleSize(0, this.options.axis == "vertical" ? "y" : "x")/2); + this.rangeElement.css(size, (parseInt($(this.handle[1]).css(prop),10) || 0) - (parseInt($(this.handle[0]).css(prop),10) || 0)); + }, + _getRange: function() { + return this.rangeElement ? this._convertValue(parseInt(this.rangeElement.css(this.options.axis == "vertical" ? "height" : "width"),10), this.options.axis == "vertical" ? "y" : "x") : null; + }, + + _handleIndex: function() { + return this.handle.index(this.currentHandle[0]); + }, + value: function(handle, axis) { + if(this.handle.length == 1) this.currentHandle = this.handle; + if(!axis) axis = this.options.axis == "vertical" ? "y" : "x"; + + var curHandle = $(handle != undefined && handle !== null ? this.handle[handle] || handle : this.currentHandle); + + if(curHandle.data("mouse").sliderValue) { + return parseInt(curHandle.data("mouse").sliderValue[axis],10); + } else { + return parseInt(((parseInt(curHandle.css(axis == "x" ? "left" : "top"),10) / (this.actualSize[axis == "x" ? "width" : "height"] - this._handleSize(handle,axis))) * this.options.realMax[axis]) + this.options.min[axis],10); + } + + }, + _convertValue: function(value,axis) { + return this.options.min[axis] + (value / (this.actualSize[axis == "x" ? "width" : "height"] - this._handleSize(null,axis))) * this.options.realMax[axis]; + }, + + _translateValue: function(value,axis) { + return ((value - this.options.min[axis]) / this.options.realMax[axis]) * (this.actualSize[axis == "x" ? "width" : "height"] - this._handleSize(null,axis)); + }, + _translateRange: function(value,axis) { + if (this.rangeElement) { + if (this.currentHandle[0] == this.handle[0] && value >= this._translateValue(this.value(1),axis)) + value = this._translateValue(this.value(1,axis) - this._oneStep(axis), axis); + if (this.currentHandle[0] == this.handle[1] && value <= this._translateValue(this.value(0),axis)) + value = this._translateValue(this.value(0,axis) + this._oneStep(axis), axis); + } + if (this.options.handles) { + var handle = this.options.handles[this._handleIndex()]; + if (value < this._translateValue(handle.min,axis)) { + value = this._translateValue(handle.min,axis); + } else if (value > this._translateValue(handle.max,axis)) { + value = this._translateValue(handle.max,axis); + } + } + return value; + }, + _translateLimits: function(value,axis) { + if (value >= this.actualSize[axis == "x" ? "width" : "height"] - this._handleSize(null,axis)) + value = this.actualSize[axis == "x" ? "width" : "height"] - this._handleSize(null,axis); + if (value <= 0) + value = 0; + return value; + }, + _handleSize: function(handle,axis) { + return $(handle != undefined && handle !== null ? this.handle[handle] : this.currentHandle)[0]["offset"+(axis == "x" ? "Width" : "Height")]; + }, + _oneStep: function(axis) { + return this.options.stepping[axis] || 1; + }, + _pageStep: function(axis) { + return /* this.options.paging[axis] ||*/ 10; + }, + + + _start: function(e, handle) { + + var o = this.options; + if(o.disabled) return false; + + // Prepare the outer size + this.actualSize = { width: this.element.outerWidth() , height: this.element.outerHeight() }; + + // This is a especially ugly fix for strange blur events happening on mousemove events + if (!this.currentHandle) + this._focus(this.previousHandle, true); + + this.offset = this.element.offset(); + + this.handleOffset = this.currentHandle.offset(); + this.clickOffset = { top: e.pageY - this.handleOffset.top, left: e.pageX - this.handleOffset.left }; + + this.firstValue = this.value(); + + this._propagate('start', e); + this._drag(e, handle); + return true; + + }, + _stop: function(e) { + this._propagate('stop', e); + if (this.firstValue != this.value()) + this._propagate('change', e); + // This is a especially ugly fix for strange blur events happening on mousemove events + this._focus(this.currentHandle, true); + return false; + }, + _drag: function(e, handle) { + + var o = this.options; + var position = { top: e.pageY - this.offset.top - this.clickOffset.top, left: e.pageX - this.offset.left - this.clickOffset.left}; + if(!this.currentHandle) this._focus(this.previousHandle, true); //This is a especially ugly fix for strange blur events happening on mousemove events + + position.left = this._translateLimits(position.left, "x"); + position.top = this._translateLimits(position.top, "y"); + + if (o.stepping.x) { + var value = this._convertValue(position.left, "x"); + value = Math.round(value / o.stepping.x) * o.stepping.x; + position.left = this._translateValue(value, "x"); + } + if (o.stepping.y) { + var value = this._convertValue(position.top, "y"); + value = Math.round(value / o.stepping.y) * o.stepping.y; + position.top = this._translateValue(value, "y"); + } + + position.left = this._translateRange(position.left, "x"); + position.top = this._translateRange(position.top, "y"); + + if(o.axis != "vertical") this.currentHandle.css({ left: position.left }); + if(o.axis != "horizontal") this.currentHandle.css({ top: position.top }); + + //Store the slider's value + this.currentHandle.data("mouse").sliderValue = { + x: Math.round(this._convertValue(position.left, "x")) || 0, + y: Math.round(this._convertValue(position.top, "y")) || 0 + }; + + if (this.rangeElement) + this._updateRange(); + this._propagate('slide', e); + return false; + }, + + moveTo: function(value, handle, noPropagation) { + + var o = this.options; + + // Prepare the outer size + this.actualSize = { width: this.element.outerWidth() , height: this.element.outerHeight() }; + + //If no handle has been passed, no current handle is available and we have multiple handles, return false + if (handle == undefined && !this.currentHandle && this.handle.length != 1) + return false; + + //If only one handle is available, use it + if (handle == undefined && !this.currentHandle) + handle = 0; + + if (handle != undefined) + this.currentHandle = this.previousHandle = $(this.handle[handle] || handle); + + + if(value.x !== undefined && value.y !== undefined) { + var x = value.x, y = value.y; + } else { + var x = value, y = value; + } + + if(x !== undefined && x.constructor != Number) { + var me = /^\-\=/.test(x), pe = /^\+\=/.test(x); + if(me || pe) { + x = this.value(null, "x") + parseInt(x.replace(me ? '=' : '+=', ''), 10); + } else { + x = isNaN(parseInt(x, 10)) ? undefined : parseInt(x, 10); + } + } + + if(y !== undefined && y.constructor != Number) { + var me = /^\-\=/.test(y), pe = /^\+\=/.test(y); + if(me || pe) { + y = this.value(null, "y") + parseInt(y.replace(me ? '=' : '+=', ''), 10); + } else { + y = isNaN(parseInt(y, 10)) ? undefined : parseInt(y, 10); + } + } + + if(o.axis != "vertical" && x !== undefined) { + if(o.stepping.x) x = Math.round(x / o.stepping.x) * o.stepping.x; + x = this._translateValue(x, "x"); + x = this._translateLimits(x, "x"); + x = this._translateRange(x, "x"); + + o.animate ? this.currentHandle.stop().animate({ left: x }, (Math.abs(parseInt(this.currentHandle.css("left")) - x)) * (!isNaN(parseInt(o.animate)) ? o.animate : 5)) : this.currentHandle.css({ left: x }); + } + + if(o.axis != "horizontal" && y !== undefined) { + if(o.stepping.y) y = Math.round(y / o.stepping.y) * o.stepping.y; + y = this._translateValue(y, "y"); + y = this._translateLimits(y, "y"); + y = this._translateRange(y, "y"); + o.animate ? this.currentHandle.stop().animate({ top: y }, (Math.abs(parseInt(this.currentHandle.css("top")) - y)) * (!isNaN(parseInt(o.animate)) ? o.animate : 5)) : this.currentHandle.css({ top: y }); + } + + if (this.rangeElement) + this._updateRange(); + + //Store the slider's value + this.currentHandle.data("mouse").sliderValue = { + x: Math.round(this._convertValue(x, "x")) || 0, + y: Math.round(this._convertValue(y, "y")) || 0 + }; + + if (!noPropagation) { + this._propagate('start', null); + this._propagate('stop', null); + this._propagate('change', null); + this._propagate("slide", null); + } + } +}); + +$.ui.slider.getter = "value"; + +$.ui.slider.defaults = { + handle: ".ui-slider-handle", + distance: 1, + animate: false +}; + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/ui.sortable.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/ui.sortable.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/ui.sortable.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,860 @@ +/* + * jQuery UI Sortable @VERSION + * + * Copyright (c) 2008 Paul Bakaus + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Sortables + * + * Depends: + * ui.core.js + */ +(function($) { + +function contains(a, b) { + var safari2 = $.browser.safari && $.browser.version < 522; + if (a.contains && !safari2) { + return a.contains(b); + } + if (a.compareDocumentPosition) + return !!(a.compareDocumentPosition(b) & 16); + while (b = b.parentNode) + if (b == a) return true; + return false; +}; + +$.widget("ui.sortable", $.extend({}, $.ui.mouse, { + _init: function() { + + var o = this.options; + this.containerCache = {}; + this.element.addClass("ui-sortable"); + + //Get the items + this.refresh(); + + //Let's determine if the items are floating + this.floating = this.items.length ? (/left|right/).test(this.items[0].item.css('float')) : false; + + //Let's determine the parent's offset + this.offset = this.element.offset(); + + //Initialize mouse events for interaction + this._mouseInit(); + + }, + plugins: {}, + ui: function(inst) { + return { + helper: (inst || this)["helper"], + placeholder: (inst || this)["placeholder"] || $([]), + position: (inst || this)["position"], + absolutePosition: (inst || this)["positionAbs"], + options: this.options, + element: this.element, + item: (inst || this)["currentItem"], + sender: inst ? inst.element : null + }; + }, + + _propagate: function(n,e,inst, noPropagation) { + $.ui.plugin.call(this, n, [e, this.ui(inst)]); + if(!noPropagation) this.element.triggerHandler(n == "sort" ? n : "sort"+n, [e, this.ui(inst)], this.options[n]); + }, + + serialize: function(o) { + + var items = this._getItemsAsjQuery(o && o.connected); + var str = []; o = o || {}; + + $(items).each(function() { + var res = ($(this.item || this).attr(o.attribute || 'id') || '').match(o.expression || (/(.+)[-=_](.+)/)); + if(res) str.push((o.key || res[1]+'[]')+'='+(o.key && o.expression ? res[1] : res[2])); + }); + + return str.join('&'); + + }, + + toArray: function(o) { + + var items = this._getItemsAsjQuery(o && o.connected); + var ret = []; + + items.each(function() { ret.push($(this).attr(o.attr || 'id')); }); + return ret; + + }, + + /* Be careful with the following core functions */ + _intersectsWith: function(item) { + var x1 = this.positionAbs.left, x2 = x1 + this.helperProportions.width, + y1 = this.positionAbs.top, y2 = y1 + this.helperProportions.height; + var l = item.left, r = l + item.width, + t = item.top, b = t + item.height; + + var dyClick = this.offset.click.top, dxClick = this.offset.click.left; + var isOverElement = (y1 + dyClick) > t && (y1 + dyClick) < b && (x1 + dxClick) > l && (x1 + dxClick) < r; + + if(this.options.tolerance == "pointer" || this.options.forcePointerForContainers || (this.options.tolerance == "guess" && this.helperProportions[this.floating ? 'width' : 'height'] > item[this.floating ? 'width' : 'height'])) { + return isOverElement; + } else { + + return (l < x1 + (this.helperProportions.width / 2) // Right Half + && x2 - (this.helperProportions.width / 2) < r // Left Half + && t < y1 + (this.helperProportions.height / 2) // Bottom Half + && y2 - (this.helperProportions.height / 2) < b ); // Top Half + + } + }, + + _intersectsWithEdge: function(item) { + var x1 = this.positionAbs.left, x2 = x1 + this.helperProportions.width, + y1 = this.positionAbs.top, y2 = y1 + this.helperProportions.height; + + var l = item.left, r = l + item.width, + t = item.top, b = t + item.height; + + var dyClick = this.offset.click.top, dxClick = this.offset.click.left; + var isOverElement = (y1 + dyClick) > t && (y1 + dyClick) < b && (x1 + dxClick) > l && (x1 + dxClick) < r; + + if(this.options.tolerance == "pointer" || (this.options.tolerance == "guess" && this.helperProportions[this.floating ? 'width' : 'height'] > item[this.floating ? 'width' : 'height'])) { + if(!isOverElement) return false; + + if(this.floating) { + if ((x1 + dxClick) > l && (x1 + dxClick) < l + item.width/2) return 2; + if ((x1 + dxClick) > l + item.width/2 && (x1 + dxClick) < r) return 1; + } else { + var height = item.height; + var direction = y1 - this.updateOriginalPosition.top < 0 ? 2 : 1; // 2 = up + + if (direction == 1 && (y1 + dyClick) < t + height/2) { return 2; } // up + else if (direction == 2 && (y1 + dyClick) > t + height/2) { return 1; } // down + } + + } else { + if (!(l < x1 + (this.helperProportions.width / 2) // Right Half + && x2 - (this.helperProportions.width / 2) < r // Left Half + && t < y1 + (this.helperProportions.height / 2) // Bottom Half + && y2 - (this.helperProportions.height / 2) < b )) return false; // Top Half + + if(this.floating) { + if(x2 > l && x1 < l) return 2; //Crosses left edge + if(x1 < r && x2 > r) return 1; //Crosses right edge + } else { + if(y2 > t && y1 < t) return 1; //Crosses top edge + if(y1 < b && y2 > b) return 2; //Crosses bottom edge + } + } + + return false; + + }, + + refresh: function() { + this._refreshItems(); + this.refreshPositions(); + }, + + _getItemsAsjQuery: function(connected) { + + var self = this; + var items = []; + var queries = []; + + if(this.options.connectWith && connected) { + for (var i = this.options.connectWith.length - 1; i >= 0; i--){ + var cur = $(this.options.connectWith[i]); + for (var j = cur.length - 1; j >= 0; j--){ + var inst = $.data(cur[j], 'sortable'); + if(inst && inst != this && !inst.options.disabled) { + queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(".ui-sortable-helper"), inst]); + } + }; + }; + } + + queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper"), this]); + + for (var i = queries.length - 1; i >= 0; i--){ + queries[i][0].each(function() { + items.push(this); + }); + }; + + return $(items); + + }, + + _removeCurrentsFromItems: function() { + + var list = this.currentItem.find(":data(sortable-item)"); + + for (var i=0; i < this.items.length; i++) { + + for (var j=0; j < list.length; j++) { + if(list[j] == this.items[i].item[0]) + this.items.splice(i,1); + }; + + }; + + }, + + _refreshItems: function() { + + this.items = []; + this.containers = [this]; + var items = this.items; + var self = this; + var queries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element), this]]; + + if(this.options.connectWith) { + for (var i = this.options.connectWith.length - 1; i >= 0; i--){ + var cur = $(this.options.connectWith[i]); + for (var j = cur.length - 1; j >= 0; j--){ + var inst = $.data(cur[j], 'sortable'); + if(inst && inst != this && !inst.options.disabled) { + queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element), inst]); + this.containers.push(inst); + } + }; + }; + } + + for (var i = queries.length - 1; i >= 0; i--){ + queries[i][0].each(function() { + $.data(this, 'sortable-item', queries[i][1]); // Data for target checking (mouse manager) + items.push({ + item: $(this), + instance: queries[i][1], + width: 0, height: 0, + left: 0, top: 0 + }); + }); + }; + + }, + + refreshPositions: function(fast) { + + //This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change + if(this.offsetParent) { + var po = this.offsetParent.offset(); + this.offset.parent = { top: po.top + this.offsetParentBorders.top, left: po.left + this.offsetParentBorders.left }; + } + + for (var i = this.items.length - 1; i >= 0; i--){ + + //We ignore calculating positions of all connected containers when we're not over them + if(this.items[i].instance != this.currentContainer && this.currentContainer && this.items[i].item[0] != this.currentItem[0]) + continue; + + var t = this.options.toleranceElement ? $(this.options.toleranceElement, this.items[i].item) : this.items[i].item; + + if(!fast) { + this.items[i].width = t[0].offsetWidth; + this.items[i].height = t[0].offsetHeight; + } + + var p = t.offset(); + this.items[i].left = p.left; + this.items[i].top = p.top; + + }; + + if(this.options.custom && this.options.custom.refreshContainers) { + this.options.custom.refreshContainers.call(this); + } else { + for (var i = this.containers.length - 1; i >= 0; i--){ + var p =this.containers[i].element.offset(); + this.containers[i].containerCache.left = p.left; + this.containers[i].containerCache.top = p.top; + this.containers[i].containerCache.width = this.containers[i].element.outerWidth(); + this.containers[i].containerCache.height = this.containers[i].element.outerHeight(); + }; + } + + }, + + destroy: function() { + this.element + .removeClass("ui-sortable ui-sortable-disabled") + .removeData("sortable") + .unbind(".sortable"); + this._mouseDestroy(); + + for ( var i = this.items.length - 1; i >= 0; i-- ) + this.items[i].item.removeData("sortable-item"); + }, + + _createPlaceholder: function(that) { + + var self = that || this, o = self.options; + + if(!o.placeholder || o.placeholder.constructor == String) { + var className = o.placeholder; + o.placeholder = { + element: function() { + var el = $(document.createElement(self.currentItem[0].nodeName)).addClass(className || "ui-sortable-placeholder")[0]; + + if(!className) { + el.style.visibility = "hidden"; + document.body.appendChild(el); + el.innerHTML = self.currentItem[0].innerHTML; + document.body.removeChild(el); + }; + + return el; + }, + update: function(container, p) { + if(className && !o.forcePlaceholderSize) return; + if(!p.height()) { p.height(self.currentItem.innerHeight() - parseInt(self.currentItem.css('paddingTop')||0, 10) - parseInt(self.currentItem.css('paddingBottom')||0, 10)); }; + if(!p.width()) { p.width(self.currentItem.innerWidth() - parseInt(self.currentItem.css('paddingLeft')||0, 10) - parseInt(self.currentItem.css('paddingRight')||0, 10)); }; + } + }; + } + + self.placeholder = $(o.placeholder.element.call(self.element, self.currentItem)) + self.currentItem.parent()[0].appendChild(self.placeholder[0]); + self.placeholder[0].parentNode.insertBefore(self.placeholder[0], self.currentItem[0]); + o.placeholder.update(self, self.placeholder); + }, + + _contactContainers: function(e) { + for (var i = this.containers.length - 1; i >= 0; i--){ + + if(this._intersectsWith(this.containers[i].containerCache)) { + if(!this.containers[i].containerCache.over) { + + + if(this.currentContainer != this.containers[i]) { + + //When entering a new container, we will find the item with the least distance and append our item near it + var dist = 10000; var itemWithLeastDistance = null; var base = this.positionAbs[this.containers[i].floating ? 'left' : 'top']; + for (var j = this.items.length - 1; j >= 0; j--) { + if(!contains(this.containers[i].element[0], this.items[j].item[0])) continue; + var cur = this.items[j][this.containers[i].floating ? 'left' : 'top']; + if(Math.abs(cur - base) < dist) { + dist = Math.abs(cur - base); itemWithLeastDistance = this.items[j]; + } + } + + if(!itemWithLeastDistance && !this.options.dropOnEmpty) //Check if dropOnEmpty is enabled + continue; + + this.currentContainer = this.containers[i]; + itemWithLeastDistance ? this.options.sortIndicator.call(this, e, itemWithLeastDistance, null, true) : this.options.sortIndicator.call(this, e, null, this.containers[i].element, true); + this._propagate("change", e); //Call plugins and callbacks + this.containers[i]._propagate("change", e, this); //Call plugins and callbacks + + //Update the placeholder + this.options.placeholder.update(this.currentContainer, this.placeholder); + + } + + this.containers[i]._propagate("over", e, this); + this.containers[i].containerCache.over = 1; + } + } else { + if(this.containers[i].containerCache.over) { + this.containers[i]._propagate("out", e, this); + this.containers[i].containerCache.over = 0; + } + } + + }; + }, + + _mouseCapture: function(e, overrideHandle) { + + if(this.options.disabled || this.options.type == 'static') return false; + + //We have to refresh the items data once first + this._refreshItems(); + + //Find out if the clicked node (or one of its parents) is a actual item in this.items + var currentItem = null, self = this, nodes = $(e.target).parents().each(function() { + if($.data(this, 'sortable-item') == self) { + currentItem = $(this); + return false; + } + }); + if($.data(e.target, 'sortable-item') == self) currentItem = $(e.target); + + if(!currentItem) return false; + if(this.options.handle && !overrideHandle) { + var validHandle = false; + + $(this.options.handle, currentItem).find("*").andSelf().each(function() { if(this == e.target) validHandle = true; }); + if(!validHandle) return false; + } + + this.currentItem = currentItem; + this._removeCurrentsFromItems(); + return true; + + }, + + createHelper: function(e) { + + var o = this.options; + var helper = typeof o.helper == 'function' ? $(o.helper.apply(this.element[0], [e, this.currentItem])) : (o.helper == "original" ? this.currentItem : this.currentItem.clone()); + + if (!helper.parents('body').length) + $(o.appendTo != 'parent' ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]); //Add the helper to the DOM if that didn't happen already + + return helper; + + }, + + _mouseStart: function(e, overrideHandle, noActivation) { + + var o = this.options; + this.currentContainer = this; + + //We only need to call refreshPositions, because the refreshItems call has been moved to mouseCapture + this.refreshPositions(); + + //Create and append the visible helper + this.helper = this.createHelper(e); + + /* + * - Position generation - + * This block generates everything position related - it's the core of draggables. + */ + + this.margins = { //Cache the margins + left: (parseInt(this.currentItem.css("marginLeft"),10) || 0), + top: (parseInt(this.currentItem.css("marginTop"),10) || 0) + }; + + this.offset = this.currentItem.offset(); //The element's absolute position on the page + this.offset = { //Substract the margins from the element's absolute offset + top: this.offset.top - this.margins.top, + left: this.offset.left - this.margins.left + }; + + this.offset.click = { //Where the click happened, relative to the element + left: e.pageX - this.offset.left, + top: e.pageY - this.offset.top + }; + + this.offsetParent = this.helper.offsetParent(); //Get the offsetParent and cache its position + var po = this.offsetParent.offset(); + + this.offsetParentBorders = { + top: (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0), + left: (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0) + }; + + this.offset.parent = { //Store its position plus border + top: po.top + this.offsetParentBorders.top, + left: po.left + this.offsetParentBorders.left + }; + + this.updateOriginalPosition = this.originalPosition = this._generatePosition(e); //Generate the original position + this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] }; //Cache the former DOM position + + //If o.placeholder is used, create a new element at the given position with the class + this.helperProportions = { width: this.helper.outerWidth(), height: this.helper.outerHeight() };//Cache the helper size + + + if(o.helper == "original") { + this._storedCSS = { position: this.currentItem.css("position"), top: this.currentItem.css("top"), left: this.currentItem.css("left"), clear: this.currentItem.css("clear") }; + } else { + this.currentItem.hide(); //Hide the original, won't cause anything bad this way + } + + //Position it absolutely and add a helper class + this.helper + .css({ position: 'absolute', clear: 'both' }) + .addClass('ui-sortable-helper'); + + //Create the placeholder + this._createPlaceholder(); + + //Call plugins and callbacks + this._propagate("start", e); + + //Recache the helper size + if(!this._preserveHelperProportions) + this.helperProportions = { width: this.helper.outerWidth(), height: this.helper.outerHeight() }; + + if(o.cursorAt) { + if(o.cursorAt.left != undefined) this.offset.click.left = o.cursorAt.left; + if(o.cursorAt.right != undefined) this.offset.click.left = this.helperProportions.width - o.cursorAt.right; + if(o.cursorAt.top != undefined) this.offset.click.top = o.cursorAt.top; + if(o.cursorAt.bottom != undefined) this.offset.click.top = this.helperProportions.height - o.cursorAt.bottom; + } + + /* + * - Position constraining - + * Here we prepare position constraining like grid and containment. + */ + + if(o.containment) { + if(o.containment == 'parent') o.containment = this.helper[0].parentNode; + if(o.containment == 'document' || o.containment == 'window') this.containment = [ + 0 - this.offset.parent.left, + 0 - this.offset.parent.top, + $(o.containment == 'document' ? document : window).width() - this.offset.parent.left - this.helperProportions.width - this.margins.left - (parseInt(this.element.css("marginRight"),10) || 0), + ($(o.containment == 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.offset.parent.top - this.helperProportions.height - this.margins.top - (parseInt(this.element.css("marginBottom"),10) || 0) + ]; + + if(!(/^(document|window|parent)$/).test(o.containment)) { + var ce = $(o.containment)[0]; + var co = $(o.containment).offset(); + var over = ($(ce).css("overflow") != 'hidden'); + + this.containment = [ + co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) - this.offset.parent.left, + co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) - this.offset.parent.top, + co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - this.offset.parent.left - this.helperProportions.width - this.margins.left - (parseInt(this.currentItem.css("marginRight"),10) || 0), + co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - this.offset.parent.top - this.helperProportions.height - this.margins.top - (parseInt(this.currentItem.css("marginBottom"),10) || 0) + ]; + } + } + + //Post 'activate' events to possible containers + if(!noActivation) { + for (var i = this.containers.length - 1; i >= 0; i--) { this.containers[i]._propagate("activate", e, this); } + } + + //Prepare possible droppables + if($.ui.ddmanager) + $.ui.ddmanager.current = this; + + if ($.ui.ddmanager && !o.dropBehaviour) + $.ui.ddmanager.prepareOffsets(this, e); + + this.dragging = true; + + this._mouseDrag(e); //Execute the drag once - this causes the helper not to be visible before getting its correct position + return true; + + + }, + + _convertPositionTo: function(d, pos) { + if(!pos) pos = this.position; + var mod = d == "absolute" ? 1 : -1; + return { + top: ( + pos.top // the calculated relative position + + this.offset.parent.top * mod // The offsetParent's offset without borders (offset + border) + - (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop) * mod // The offsetParent's scroll position + + this.margins.top * mod //Add the margin (you don't want the margin counting in intersection methods) + ), + left: ( + pos.left // the calculated relative position + + this.offset.parent.left * mod // The offsetParent's offset without borders (offset + border) + - (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft) * mod // The offsetParent's scroll position + + this.margins.left * mod //Add the margin (you don't want the margin counting in intersection methods) + ) + }; + }, + + _generatePosition: function(e) { + + var o = this.options; + var position = { + top: ( + e.pageY // The absolute mouse position + - this.offset.click.top // Click offset (relative to the element) + - this.offset.parent.top // The offsetParent's offset without borders (offset + border) + + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop) // The offsetParent's scroll position, not if the element is fixed + ), + left: ( + e.pageX // The absolute mouse position + - this.offset.click.left // Click offset (relative to the element) + - this.offset.parent.left // The offsetParent's offset without borders (offset + border) + + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft) // The offsetParent's scroll position, not if the element is fixed + ) + }; + + if(!this.originalPosition) return position; //If we are not dragging yet, we won't check for options + + /* + * - Position constraining - + * Constrain the position to a mix of grid, containment. + */ + if(this.containment) { + if(position.left < this.containment[0]) position.left = this.containment[0]; + if(position.top < this.containment[1]) position.top = this.containment[1]; + if(position.left > this.containment[2]) position.left = this.containment[2]; + if(position.top > this.containment[3]) position.top = this.containment[3]; + } + + if(o.grid) { + var top = this.originalPosition.top + Math.round((position.top - this.originalPosition.top) / o.grid[1]) * o.grid[1]; + position.top = this.containment ? (!(top < this.containment[1] || top > this.containment[3]) ? top : (!(top < this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top; + + var left = this.originalPosition.left + Math.round((position.left - this.originalPosition.left) / o.grid[0]) * o.grid[0]; + position.left = this.containment ? (!(left < this.containment[0] || left > this.containment[2]) ? left : (!(left < this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left; + } + + return position; + }, + + _mouseDrag: function(e) { + + //Compute the helpers position + this.position = this._generatePosition(e); + this.positionAbs = this._convertPositionTo("absolute"); + + //Call the internal plugins + $.ui.plugin.call(this, "sort", [e, this.ui()]); + + //Regenerate the absolute position used for position checks + this.positionAbs = this._convertPositionTo("absolute"); + + //Set the helper's position + this.helper[0].style.left = this.position.left+'px'; + this.helper[0].style.top = this.position.top+'px'; + + //Rearrange + for (var i = this.items.length - 1; i >= 0; i--) { + var intersection = this._intersectsWithEdge(this.items[i]); + if(!intersection) continue; + + if(this.items[i].item[0] != this.currentItem[0] //cannot intersect with itself + && this.placeholder[intersection == 1 ? "next" : "prev"]()[0] != this.items[i].item[0] //no useless actions that have been done before + && !contains(this.placeholder[0], this.items[i].item[0]) //no action if the item moved is the parent of the item checked + && (this.options.type == 'semi-dynamic' ? !contains(this.element[0], this.items[i].item[0]) : true) + ) { + + this.updateOriginalPosition = this._generatePosition(e); + + this.direction = intersection == 1 ? "down" : "up"; + this.options.sortIndicator.call(this, e, this.items[i]); + this._propagate("change", e); //Call plugins and callbacks + break; + } + } + + //Post events to containers + this._contactContainers(e); + + //Interconnect with droppables + if($.ui.ddmanager) $.ui.ddmanager.drag(this, e); + + //Call callbacks + this.element.triggerHandler("sort", [e, this.ui()], this.options["sort"]); + + return false; + + }, + + _rearrange: function(e, i, a, hardRefresh) { + + a ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction == 'down' ? i.item[0] : i.item[0].nextSibling)); + + //Various things done here to improve the performance: + // 1. we create a setTimeout, that calls refreshPositions + // 2. on the instance, we have a counter variable, that get's higher after every append + // 3. on the local scope, we copy the counter variable, and check in the timeout, if it's still the same + // 4. this lets only the last addition to the timeout stack through + this.counter = this.counter ? ++this.counter : 1; + var self = this, counter = this.counter; + + window.setTimeout(function() { + if(counter == self.counter) self.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove + },0); + + }, + + _mouseStop: function(e, noPropagation) { + + //If we are using droppables, inform the manager about the drop + if ($.ui.ddmanager && !this.options.dropBehaviour) + $.ui.ddmanager.drop(this, e); + + if(this.options.revert) { + var self = this; + var cur = self.placeholder.offset(); + + $(this.helper).animate({ + left: cur.left - this.offset.parent.left - self.margins.left + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft), + top: cur.top - this.offset.parent.top - self.margins.top + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop) + }, parseInt(this.options.revert, 10) || 500, function() { + self._clear(e); + }); + } else { + this._clear(e, noPropagation); + } + + return false; + + }, + + _clear: function(e, noPropagation) { + + //We first have to update the dom position of the actual currentItem + if(!this._noFinalSort) this.placeholder.before(this.currentItem); + this._noFinalSort = null; + + if(this.options.helper == "original") + this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"); + else + this.currentItem.show(); + + if(this.domPosition.prev != this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent != this.currentItem.parent()[0]) this._propagate("update", e, null, noPropagation); //Trigger update callback if the DOM position has changed + if(!contains(this.element[0], this.currentItem[0])) { //Node was moved out of the current element + this._propagate("remove", e, null, noPropagation); + for (var i = this.containers.length - 1; i >= 0; i--){ + if(contains(this.containers[i].element[0], this.currentItem[0])) { + this.containers[i]._propagate("update", e, this, noPropagation); + this.containers[i]._propagate("receive", e, this, noPropagation); + } + }; + }; + + //Post events to containers + for (var i = this.containers.length - 1; i >= 0; i--){ + this.containers[i]._propagate("deactivate", e, this, noPropagation); + if(this.containers[i].containerCache.over) { + this.containers[i]._propagate("out", e, this); + this.containers[i].containerCache.over = 0; + } + } + + this.dragging = false; + if(this.cancelHelperRemoval) { + this._propagate("beforeStop", e, null, noPropagation); + this._propagate("stop", e, null, noPropagation); + return false; + } + + this._propagate("beforeStop", e, null, noPropagation); + + this.placeholder.remove(); + if(this.options.helper != "original") this.helper.remove(); this.helper = null; + this._propagate("stop", e, null, noPropagation); + + return true; + + } +})); + +$.extend($.ui.sortable, { + getter: "serialize toArray", + defaults: { + helper: "original", + tolerance: "guess", + distance: 1, + delay: 0, + scroll: true, + scrollSensitivity: 20, + scrollSpeed: 20, + cancel: ":input", + items: '> *', + zIndex: 1000, + dropOnEmpty: true, + appendTo: "parent", + sortIndicator: $.ui.sortable.prototype._rearrange, + scope: "default", + forcePlaceholderSize: false + } +}); + +/* + * Sortable Extensions + */ + +$.ui.plugin.add("sortable", "cursor", { + start: function(e, ui) { + var t = $('body'); + if (t.css("cursor")) ui.options._cursor = t.css("cursor"); + t.css("cursor", ui.options.cursor); + }, + beforeStop: function(e, ui) { + if (ui.options._cursor) $('body').css("cursor", ui.options._cursor); + } +}); + +$.ui.plugin.add("sortable", "zIndex", { + start: function(e, ui) { + var t = ui.helper; + if(t.css("zIndex")) ui.options._zIndex = t.css("zIndex"); + t.css('zIndex', ui.options.zIndex); + }, + beforeStop: function(e, ui) { + if(ui.options._zIndex) $(ui.helper).css('zIndex', ui.options._zIndex); + } +}); + +$.ui.plugin.add("sortable", "opacity", { + start: function(e, ui) { + var t = ui.helper; + if(t.css("opacity")) ui.options._opacity = t.css("opacity"); + t.css('opacity', ui.options.opacity); + }, + beforeStop: function(e, ui) { + if(ui.options._opacity) $(ui.helper).css('opacity', ui.options._opacity); + } +}); + +$.ui.plugin.add("sortable", "scroll", { + start: function(e, ui) { + var o = ui.options; + var i = $(this).data("sortable"); + + i.overflowY = function(el) { + do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-y'))) return el; el = el.parent(); } while (el[0].parentNode); + return $(document); + }(i.currentItem); + i.overflowX = function(el) { + do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-x'))) return el; el = el.parent(); } while (el[0].parentNode); + return $(document); + }(i.currentItem); + + if(i.overflowY[0] != document && i.overflowY[0].tagName != 'HTML') i.overflowYOffset = i.overflowY.offset(); + if(i.overflowX[0] != document && i.overflowX[0].tagName != 'HTML') i.overflowXOffset = i.overflowX.offset(); + + }, + sort: function(e, ui) { + + var o = ui.options; + var i = $(this).data("sortable"); + + if(i.overflowY[0] != document && i.overflowY[0].tagName != 'HTML') { + if((i.overflowYOffset.top + i.overflowY[0].offsetHeight) - e.pageY < o.scrollSensitivity) + i.overflowY[0].scrollTop = i.overflowY[0].scrollTop + o.scrollSpeed; + if(e.pageY - i.overflowYOffset.top < o.scrollSensitivity) + i.overflowY[0].scrollTop = i.overflowY[0].scrollTop - o.scrollSpeed; + } else { + if(e.pageY - $(document).scrollTop() < o.scrollSensitivity) + $(document).scrollTop($(document).scrollTop() - o.scrollSpeed); + if($(window).height() - (e.pageY - $(document).scrollTop()) < o.scrollSensitivity) + $(document).scrollTop($(document).scrollTop() + o.scrollSpeed); + } + + if(i.overflowX[0] != document && i.overflowX[0].tagName != 'HTML') { + if((i.overflowXOffset.left + i.overflowX[0].offsetWidth) - e.pageX < o.scrollSensitivity) + i.overflowX[0].scrollLeft = i.overflowX[0].scrollLeft + o.scrollSpeed; + if(e.pageX - i.overflowXOffset.left < o.scrollSensitivity) + i.overflowX[0].scrollLeft = i.overflowX[0].scrollLeft - o.scrollSpeed; + } else { + if(e.pageX - $(document).scrollLeft() < o.scrollSensitivity) + $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed); + if($(window).width() - (e.pageX - $(document).scrollLeft()) < o.scrollSensitivity) + $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed); + } + + } +}); + +$.ui.plugin.add("sortable", "axis", { + sort: function(e, ui) { + + var i = $(this).data("sortable"); + + if(ui.options.axis == "y") i.position.left = i.originalPosition.left; + if(ui.options.axis == "x") i.position.top = i.originalPosition.top; + + } +}); + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/ui.spinner.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/ui.spinner.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/ui.spinner.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,334 @@ +/* + * jQuery UI Spinner @VERSION + * + * Copyright (c) 2008 jQuery + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Spinner + * + * Depends: + * ui.core.js + */ +(function($) { + +$.widget('ui.spinner', { + _init: function() { + // terminate initialization if spinner already applied to current element + if($.data(this.element[0], 'spinner')) return; + + // check for onInit callback + if (this.options.init) { + this.options.init(this.ui(null)); + } + + // check for decimals in steppinng and set _decimals as internal (needs cleaning up) + this._decimals = 0; + if (this.options.stepping.toString().indexOf('.') != -1) { + var s = this.options.stepping.toString(); + this._decimals = s.slice(s.indexOf('.')+1, s.length).length; + } + + //Initialize needed constants + var self = this; + this.element + .addClass('ui-spinner-box') + .attr('autocomplete', 'off'); // switch off autocomplete in opera + + this._setValue( isNaN(this._getValue()) ? this.options.start : this._getValue() ); + + this.element + .wrap('
      ') + .parent() + .addClass('ui-spinner') + .append('') + .find('.ui-spinner-up') + .bind('mousedown', function(e) { + $(this).addClass('ui-spinner-pressed'); + if(!self.counter) self.counter = 1; + self._mousedown(100, '_up', e); + }) + .bind('mouseup', function(e) { + $(this).removeClass('ui-spinner-pressed'); + if(self.counter == 1) self._up(e); + self._mouseup(e); + }) + .bind('mouseout', function(e) { + $(this).removeClass('ui-spinner-pressed'); + self._mouseup(e); + }) + // mousedown/mouseup capture first click, now handle second click + .bind('dblclick', function(e) { + $(this).removeClass('ui-spinner-pressed'); + self._up(e); + }) + .bind('keydown.spinner', function(e) { + var KEYS = $.keyCode; + if (e.keyCode == KEYS.SPACE || e.keyCode == KEYS.ENTER) { + $(this).addClass('ui-spinner-pressed'); + if(!self.counter) self.counter = 1; + self._up.call(self, e); + } else if (e.keyCode == KEYS.DOWN || e.keyCode == KEYS.RIGHT) { + self.element.siblings('.ui-spinner-down').focus(); + } else if (e.keyCode == KEYS.LEFT) { + self.element.focus(); + } + }) + .bind('keyup.spinner', function(e) { + $(this).removeClass('ui-spinner-pressed'); + self.counter = 0; + self._propagate('change', e); + }) + .end() + .append('') + .find('.ui-spinner-down') + .bind('mousedown', function(e) { + $(this).addClass('ui-spinner-pressed'); + if(!self.counter) self.counter = 1; + self._mousedown(100, '_down', e); + }) + .bind('mouseup', function(e) { + $(this).removeClass('ui-spinner-pressed'); + if(self.counter == 1) self._down(); + self._mouseup(e); + }) + .bind('mouseout', function(e) { + $(this).removeClass('ui-spinner-pressed'); + self._mouseup(e); + }) + // mousedown/mouseup capture first click, now handle second click + .bind('dblclick', function(e) { + $(this).removeClass('ui-spinner-pressed'); + self._down(e); + }) + .bind('keydown.spinner', function(e) { + var KEYS = $.keyCode; + if (e.keyCode == KEYS.SPACE || e.keyCode == KEYS.ENTER) { + $(this).addClass('ui-spinner-pressed'); + if(!self.counter) self.counter = 1; + self._down.call(self, e); + } else if (e.keyCode == KEYS.UP || e.keyCode == KEYS.LEFT) { + self.element.siblings('.ui-spinner-up').focus(); + } + }) + .bind('keyup.spinner', function(e) { + $(this).removeClass('ui-spinner-pressed'); + self.counter = 0; + self._propagate('change', e); + }) + .end(); + + + // DataList: Set contraints for object length and step size. + // Manipulate height of spinner. + this._items = this.element.children().length; + if (this._items > 1) { + this.element + .addClass('ui-spinner-list') + .css('height', this.element.outerHeight()/this._items) + .children() + .addClass('ui-spinner-listitem') + .end() + .parent() + .css('height', this.element.outerHeight()) + .end(); + this.options.stepping = 1; + this.options.min = 0; + this.options.max = this._items-1; + } + + this.element + .bind('keydown.spinner', function(e) { + if(!self.counter) self.counter = 1; + return self._keydown.call(self, e); + }) + .bind('keyup.spinner', function(e) { + self.counter = 0; + self._propagate('change', e); + }) + .bind('blur.spinner', function(e) { + self._cleanUp(); + }); + + if ($.fn.mousewheel) { + this.element.mousewheel(function(e, delta) { + self._mousewheel(e, delta); + }); + } + }, + + + _constrain: function() { + if(this.options.min != undefined && this._getValue() < this.options.min) this._setValue(this.options.min); + if(this.options.max != undefined && this._getValue() > this.options.max) this._setValue(this.options.max); + }, + _cleanUp: function() { + this._setValue(this._getValue()); + this._constrain(); + }, + _spin: function(d, e) { + if (this.disabled) return; + + if(isNaN(this._getValue())) this._setValue(this.options.start); + this._setValue(this._getValue() + (d == 'up' ? 1:-1) * (this.options.incremental && this.counter > 100 ? (this.counter > 200 ? 100 : 10) : 1) * this.options.stepping); + this._animate(d); + this._constrain(); + if(this.counter) this.counter++; + this._propagate('spin', e); + }, + _down: function(e) { + this._spin('down', e); + this._propagate('down', e); + }, + _up: function(e) { + this._spin('up', e); + this._propagate('up', e); + }, + _mousedown: function(i, d, e) { + var self = this; + i = i || 100; + if(this.timer) window.clearInterval(this.timer); + this.timer = window.setInterval(function() { + self[d](e); + if(self.counter > 20) self._mousedown(20, d, e); + }, i); + }, + _mouseup: function(e) { + this.counter = 0; + if(this.timer) window.clearInterval(this.timer); + this.element[0].focus(); + this._propagate('change', e); + }, + _keydown: function(e) { + var KEYS = $.keyCode; + + if(e.keyCode == KEYS.UP) this._up(e); + if(e.keyCode == KEYS.DOWN) this._down(e); + if(e.keyCode == KEYS.HOME) this._setValue(this.options.min || this.options.start); //Home key goes to min, if defined, else to start + if(e.keyCode == KEYS.END && this.options.max != undefined) this._setValue(this.options.max); //End key goes to maximum + return (e.keyCode == KEYS.TAB || e.keyCode == KEYS.BACKSPACE || + e.keyCode == KEYS.LEFT || e.keyCode == KEYS.RIGHT || e.keyCode == KEYS.PERIOD || + e.keyCode == KEYS.NUMPAD_DECIMAL || e.keyCode == KEYS.NUMPAD_SUBTRACT || + (e.keyCode >= 96 && e.keyCode <= 105) || // add support for numeric keypad 0-9 + (/[0-9\-\.]/).test(String.fromCharCode(e.keyCode))) ? true : false; + }, + _mousewheel: function(e, delta) { + delta = ($.browser.opera ? -delta / Math.abs(delta) : delta); + delta > 0 ? this._up(e) : this._down(e); + e.preventDefault(); + }, + _getValue: function() { + return parseFloat(this.element.val().replace(/[^0-9\-\.]/g, '')); + }, + _setValue: function(newVal) { + if(isNaN(newVal)) newVal = this.options.start; + this.element.val( + this.options.currency ? + $.ui.spinner.format.currency(newVal, this.options.currency) : + $.ui.spinner.format.number(newVal, this._decimals) + ); + }, + _animate: function(d) { + if (this.element.hasClass('ui-spinner-list') && ((d == 'up' && this._getValue() <= this.options.max) || (d == 'down' && this._getValue() >= this.options.min)) ) { + this.element.animate({marginTop: '-' + this._getValue() * this.element.outerHeight() }, { + duration: 'fast', + queue: false + }); + } + }, + _addItem: function(html) { + if (!this.element.is('input')) { + var wrapper = 'div'; + if (this.element.is('ol') || this.element.is('ul')) { + wrapper = 'li'; + } + this.element.append('<'+ wrapper +' class="ui-spinner-dyn">'+ html + ''); + } + }, + + + plugins: {}, + ui: function(e) { + return { + options: this.options, + element: this.element, + value: this._getValue(), + add: this._addItem + }; + }, + _propagate: function(n,e) { + $.ui.plugin.call(this, n, [e, this.ui()]); + return this.element.triggerHandler(n == 'spin' ? n : 'spin'+n, [e, this.ui()], this.options[n]); + }, + destroy: function() { + if(!$.data(this.element[0], 'spinner')) return; + if ($.fn.mousewheel) { + this.element.unmousewheel(); + } + this.element + .removeClass('ui-spinner-box ui-spinner-list') + .removeAttr('disabled') + .removeAttr('autocomplete') + .removeData('spinner') + .unbind('.spinner') + .siblings() + .remove() + .end() + .children() + .removeClass('ui-spinner-listitem') + .remove('.ui-spinner-dyn') + .end() + .parent() + .removeClass('ui-spinner ui-spinner-disabled') + .before(this.element.clone()) + .remove() + .end(); + }, + enable: function() { + this.element + .removeAttr('disabled') + .siblings() + .removeAttr('disabled') + .parent() + .removeClass('ui-spinner-disabled'); + this.disabled = false; + }, + disable: function() { + this.element + .attr('disabled', true) + .siblings() + .attr('disabled', true) + .parent() + .addClass('ui-spinner-disabled'); + this.disabled = true; + } +}); + +$.extend($.ui.spinner, { + defaults: { + stepping: 1, + start: 0, + incremental: true, + currency: false + }, + format: { + number: function(num, dec) { + return this.round(num, dec); + }, + currency: function(num, sym) { + return (num !== Math.abs(num) ? '-' : '') + sym + this.round(Math.abs(num), 2); + }, + round: function(num, dec) { + var s = Math.round(parseFloat(num)*Math.pow(10, dec)) / Math.pow(10, dec); // round off weird decimals + if (dec > 0) { + s = s + ((s.toString().indexOf('.') == -1) ? '.' : '') + '0000000001'; + s = s.substr(0, s.indexOf('.')+1+dec); + } else { + s = Math.round(s); + } + return s; + } + } +}); + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/ui.tabs.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/Attic/ui.tabs.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/ui.tabs.js 3 Nov 2008 03:59:27 -0000 1.1 @@ -0,0 +1,587 @@ +/* + * jQuery UI Tabs @VERSION + * + * Copyright (c) 2007, 2008 Klaus Hartl (stilbuero.de) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Tabs + * + * Depends: + * ui.core.js + */ +(function($) { + +$.widget("ui.tabs", { + _init: function() { + this.options.event += '.tabs'; // namespace event + + // create tabs + this._tabify(true); + }, + _setData: function(key, value) { + if ((/^selected/).test(key)) + this.select(value); + else { + this.options[key] = value; + this._tabify(); + } + }, + length: function() { + return this.$tabs.length; + }, + _tabId: function(a) { + return a.title && a.title.replace(/\s/g, '_').replace(/[^A-Za-z0-9\-_:\.]/g, '') + || this.options.idPrefix + $.data(a); + }, + ui: function(tab, panel) { + return { + options: this.options, + tab: tab, + panel: panel, + index: this.$tabs.index(tab) + }; + }, + _tabify: function(init) { + + this.$lis = $('li:has(a[href])', this.element); + this.$tabs = this.$lis.map(function() { return $('a', this)[0]; }); + this.$panels = $([]); + + var self = this, o = this.options; + + this.$tabs.each(function(i, a) { + // inline tab + if (a.hash && a.hash.replace('#', '')) // Safari 2 reports '#' for an empty hash + self.$panels = self.$panels.add(a.hash); + // remote tab + else if ($(a).attr('href') != '#') { // prevent loading the page itself if href is just "#" + $.data(a, 'href.tabs', a.href); // required for restore on destroy + $.data(a, 'load.tabs', a.href); // mutable + var id = self._tabId(a); + a.href = '#' + id; + var $panel = $('#' + id); + if (!$panel.length) { + $panel = $(o.panelTemplate).attr('id', id).addClass(o.panelClass) + .insertAfter( self.$panels[i - 1] || self.element ); + $panel.data('destroy.tabs', true); + } + self.$panels = self.$panels.add( $panel ); + } + // invalid tab href + else + o.disabled.push(i + 1); + }); + + // initialization from scratch + if (init) { + + // attach necessary classes for styling if not present + this.element.addClass(o.navClass); + this.$panels.each(function() { + var $this = $(this); + $this.addClass(o.panelClass); + }); + + // Selected tab + // use "selected" option or try to retrieve: + // 1. from fragment identifier in url + // 2. from cookie + // 3. from selected class attribute on
    • + if (o.selected === undefined) { + if (location.hash) { + this.$tabs.each(function(i, a) { + if (a.hash == location.hash) { + o.selected = i; + // prevent page scroll to fragment + if ($.browser.msie || $.browser.opera) { // && !o.remote + var $toShow = $(location.hash), toShowId = $toShow.attr('id'); + $toShow.attr('id', ''); + setTimeout(function() { + $toShow.attr('id', toShowId); // restore id + }, 500); + } + scrollTo(0, 0); + return false; // break + } + }); + } + else if (o.cookie) { + var index = parseInt($.cookie('ui-tabs-' + $.data(self.element[0])), 10); + if (index && self.$tabs[index]) + o.selected = index; + } + else if (self.$lis.filter('.' + o.selectedClass).length) + o.selected = self.$lis.index( self.$lis.filter('.' + o.selectedClass)[0] ); + } + o.selected = o.selected === null || o.selected !== undefined ? o.selected : 0; // first tab selected by default + + // Take disabling tabs via class attribute from HTML + // into account and update option properly. + // A selected tab cannot become disabled. + o.disabled = $.unique(o.disabled.concat( + $.map(this.$lis.filter('.' + o.disabledClass), + function(n, i) { return self.$lis.index(n); } ) + )).sort(); + if ($.inArray(o.selected, o.disabled) != -1) + o.disabled.splice($.inArray(o.selected, o.disabled), 1); + + // highlight selected tab + this.$panels.addClass(o.hideClass); + this.$lis.removeClass(o.selectedClass); + if (o.selected !== null) { + this.$panels.eq(o.selected).show().removeClass(o.hideClass); // use show and remove class to show in any case no matter how it has been hidden before + this.$lis.eq(o.selected).addClass(o.selectedClass); + + // seems to be expected behavior that the show callback is fired + var onShow = function() { + self._trigger('show', null, + self.ui(self.$tabs[o.selected], self.$panels[o.selected])); + }; + + // load if remote tab + if ($.data(this.$tabs[o.selected], 'load.tabs')) + this.load(o.selected, onShow); + // just trigger show event + else + onShow(); + } + + // clean up to avoid memory leaks in certain versions of IE 6 + $(window).bind('unload', function() { + self.$tabs.unbind('.tabs'); + self.$lis = self.$tabs = self.$panels = null; + }); + + } + // update selected after add/remove + else + o.selected = this.$lis.index( this.$lis.filter('.' + o.selectedClass)[0] ); + + // set or update cookie after init and add/remove respectively + if (o.cookie) + $.cookie('ui-tabs-' + $.data(self.element[0]), o.selected, o.cookie); + + // disable tabs + for (var i = 0, li; li = this.$lis[i]; i++) + $(li)[$.inArray(i, o.disabled) != -1 && !$(li).hasClass(o.selectedClass) ? 'addClass' : 'removeClass'](o.disabledClass); + + // reset cache if switching from cached to not cached + if (o.cache === false) + this.$tabs.removeData('cache.tabs'); + + // set up animations + var hideFx, showFx, baseFx = { 'min-width': 0, duration: 1 }, baseDuration = 'normal'; + if (o.fx && o.fx.constructor == Array) + hideFx = o.fx[0] || baseFx, showFx = o.fx[1] || baseFx; + else + hideFx = showFx = o.fx || baseFx; + + // reset some styles to maintain print style sheets etc. + var resetCSS = { display: '', overflow: '', height: '' }; + if (!$.browser.msie) // not in IE to prevent ClearType font issue + resetCSS.opacity = ''; + + // Hide a tab, animation prevents browser scrolling to fragment, + // $show is optional. + function hideTab(clicked, $hide, $show) { + $hide.animate(hideFx, hideFx.duration || baseDuration, function() { // + $hide.addClass(o.hideClass).css(resetCSS); // maintain flexible height and accessibility in print etc. + if ($.browser.msie && hideFx.opacity) + $hide[0].style.filter = ''; + if ($show) + showTab(clicked, $show, $hide); + }); + } + + // Show a tab, animation prevents browser scrolling to fragment, + // $hide is optional. + function showTab(clicked, $show, $hide) { + if (showFx === baseFx) + $show.css('display', 'block'); // prevent occasionally occuring flicker in Firefox cause by gap between showing and hiding the tab panels + $show.animate(showFx, showFx.duration || baseDuration, function() { + $show.removeClass(o.hideClass).css(resetCSS); // maintain flexible height and accessibility in print etc. + if ($.browser.msie && showFx.opacity) + $show[0].style.filter = ''; + + // callback + self._trigger('show', null, self.ui(clicked, $show[0])); + }); + } + + // switch a tab + function switchTab(clicked, $li, $hide, $show) { + /*if (o.bookmarkable && trueClick) { // add to history only if true click occured, not a triggered click + $.ajaxHistory.update(clicked.hash); + }*/ + $li.addClass(o.selectedClass) + .siblings().removeClass(o.selectedClass); + hideTab(clicked, $hide, $show); + } + + // attach tab event handler, unbind to avoid duplicates from former tabifying... + this.$tabs.unbind('.tabs').bind(o.event, function() { + + //var trueClick = e.clientX; // add to history only if true click occured, not a triggered click + var $li = $(this).parents('li:eq(0)'), + $hide = self.$panels.filter(':visible'), + $show = $(this.hash); + + // If tab is already selected and not unselectable or tab disabled or + // or is already loading or click callback returns false stop here. + // Check if click handler returns false last so that it is not executed + // for a disabled or loading tab! + if (($li.hasClass(o.selectedClass) && !o.unselect) + || $li.hasClass(o.disabledClass) + || $(this).hasClass(o.loadingClass) + || self._trigger('select', null, self.ui(this, $show[0])) === false + ) { + this.blur(); + return false; + } + + self.options.selected = self.$tabs.index(this); + + // if tab may be closed + if (o.unselect) { + if ($li.hasClass(o.selectedClass)) { + self.options.selected = null; + $li.removeClass(o.selectedClass); + self.$panels.stop(); + hideTab(this, $hide); + this.blur(); + return false; + } else if (!$hide.length) { + self.$panels.stop(); + var a = this; + self.load(self.$tabs.index(this), function() { + $li.addClass(o.selectedClass).addClass(o.unselectClass); + showTab(a, $show); + }); + this.blur(); + return false; + } + } + + if (o.cookie) + $.cookie('ui-tabs-' + $.data(self.element[0]), self.options.selected, o.cookie); + + // stop possibly running animations + self.$panels.stop(); + + // show new tab + if ($show.length) { + + // prevent scrollbar scrolling to 0 and than back in IE7, happens only if bookmarking/history is enabled + /*if ($.browser.msie && o.bookmarkable) { + var showId = this.hash.replace('#', ''); + $show.attr('id', ''); + setTimeout(function() { + $show.attr('id', showId); // restore id + }, 0); + }*/ + + var a = this; + self.load(self.$tabs.index(this), $hide.length ? + function() { + switchTab(a, $li, $hide, $show); + } : + function() { + $li.addClass(o.selectedClass); + showTab(a, $show); + } + ); + + // Set scrollbar to saved position - need to use timeout with 0 to prevent browser scroll to target of hash + /*var scrollX = window.pageXOffset || document.documentElement && document.documentElement.scrollLeft || document.body.scrollLeft || 0; + var scrollY = window.pageYOffset || document.documentElement && document.documentElement.scrollTop || document.body.scrollTop || 0; + setTimeout(function() { + scrollTo(scrollX, scrollY); + }, 0);*/ + + } else + throw 'jQuery UI Tabs: Mismatching fragment identifier.'; + + // Prevent IE from keeping other link focussed when using the back button + // and remove dotted border from clicked link. This is controlled in modern + // browsers via CSS, also blur removes focus from address bar in Firefox + // which can become a usability and annoying problem with tabsRotate. + if ($.browser.msie) + this.blur(); + + //return o.bookmarkable && !!trueClick; // convert trueClick == undefined to Boolean required in IE + return false; + + }); + + // disable click if event is configured to something else + if (!(/^click/).test(o.event)) + this.$tabs.bind('click.tabs', function() { return false; }); + + }, + add: function(url, label, index) { + if (index == undefined) + index = this.$tabs.length; // append by default + + var o = this.options; + var $li = $(o.tabTemplate.replace(/#\{href\}/g, url).replace(/#\{label\}/g, label)); + $li.data('destroy.tabs', true); + + var id = url.indexOf('#') == 0 ? url.replace('#', '') : this._tabId( $('a:first-child', $li)[0] ); + + // try to find an existing element before creating a new one + var $panel = $('#' + id); + if (!$panel.length) { + $panel = $(o.panelTemplate).attr('id', id) + .addClass(o.hideClass) + .data('destroy.tabs', true); + } + $panel.addClass(o.panelClass); + if (index >= this.$lis.length) { + $li.appendTo(this.element); + $panel.appendTo(this.element[0].parentNode); + } else { + $li.insertBefore(this.$lis[index]); + $panel.insertBefore(this.$panels[index]); + } + + o.disabled = $.map(o.disabled, + function(n, i) { return n >= index ? ++n : n }); + + this._tabify(); + + if (this.$tabs.length == 1) { + $li.addClass(o.selectedClass); + $panel.removeClass(o.hideClass); + var href = $.data(this.$tabs[0], 'load.tabs'); + if (href) + this.load(index, href); + } + + // callback + this._trigger('add', null, this.ui(this.$tabs[index], this.$panels[index])); + }, + remove: function(index) { + var o = this.options, $li = this.$lis.eq(index).remove(), + $panel = this.$panels.eq(index).remove(); + + // If selected tab was removed focus tab to the right or + // in case the last tab was removed the tab to the left. + if ($li.hasClass(o.selectedClass) && this.$tabs.length > 1) + this.select(index + (index + 1 < this.$tabs.length ? 1 : -1)); + + o.disabled = $.map($.grep(o.disabled, function(n, i) { return n != index; }), + function(n, i) { return n >= index ? --n : n }); + + this._tabify(); + + // callback + this._trigger('remove', null, this.ui($li.find('a')[0], $panel[0])); + }, + enable: function(index) { + var o = this.options; + if ($.inArray(index, o.disabled) == -1) + return; + + var $li = this.$lis.eq(index).removeClass(o.disabledClass); + if ($.browser.safari) { // fix disappearing tab (that used opacity indicating disabling) after enabling in Safari 2... + $li.css('display', 'inline-block'); + setTimeout(function() { + $li.css('display', 'block'); + }, 0); + } + + o.disabled = $.grep(o.disabled, function(n, i) { return n != index; }); + + // callback + this._trigger('enable', null, this.ui(this.$tabs[index], this.$panels[index])); + }, + disable: function(index) { + var self = this, o = this.options; + if (index != o.selected) { // cannot disable already selected tab + this.$lis.eq(index).addClass(o.disabledClass); + + o.disabled.push(index); + o.disabled.sort(); + + // callback + this._trigger('disable', null, this.ui(this.$tabs[index], this.$panels[index])); + } + }, + select: function(index) { + if (typeof index == 'string') + index = this.$tabs.index( this.$tabs.filter('[href$=' + index + ']')[0] ); + this.$tabs.eq(index).trigger(this.options.event); + }, + load: function(index, callback) { // callback is for internal usage only + + var self = this, o = this.options, $a = this.$tabs.eq(index), a = $a[0], + bypassCache = callback == undefined || callback === false, url = $a.data('load.tabs'); + + callback = callback || function() {}; + + // no remote or from cache - just finish with callback + if (!url || !bypassCache && $.data(a, 'cache.tabs')) { + callback(); + return; + } + + // load remote from here on + + var inner = function(parent) { + var $parent = $(parent), $inner = $parent.find('*:last'); + return $inner.length && $inner.is(':not(img)') && $inner || $parent; + }; + var cleanup = function() { + self.$tabs.filter('.' + o.loadingClass).removeClass(o.loadingClass) + .each(function() { + if (o.spinner) + inner(this).parent().html(inner(this).data('label.tabs')); + }); + self.xhr = null; + }; + + if (o.spinner) { + var label = inner(a).html(); + inner(a).wrapInner('') + .find('em').data('label.tabs', label).html(o.spinner); + } + + var ajaxOptions = $.extend({}, o.ajaxOptions, { + url: url, + success: function(r, s) { + $(a.hash).html(r); + cleanup(); + + if (o.cache) + $.data(a, 'cache.tabs', true); // if loaded once do not load them again + + // callbacks + self._trigger('load', null, self.ui(self.$tabs[index], self.$panels[index])); + o.ajaxOptions.success && o.ajaxOptions.success(r, s); + + // This callback is required because the switch has to take + // place after loading has completed. Call last in order to + // fire load before show callback... + callback(); + } + }); + if (this.xhr) { + // terminate pending requests from other tabs and restore tab label + this.xhr.abort(); + cleanup(); + } + $a.addClass(o.loadingClass); + setTimeout(function() { // timeout is again required in IE, "wait" for id being restored + self.xhr = $.ajax(ajaxOptions); + }, 0); + + }, + url: function(index, url) { + this.$tabs.eq(index).removeData('cache.tabs').data('load.tabs', url); + }, + destroy: function() { + var o = this.options; + this.element.unbind('.tabs') + .removeClass(o.navClass).removeData('tabs'); + this.$tabs.each(function() { + var href = $.data(this, 'href.tabs'); + if (href) + this.href = href; + var $this = $(this).unbind('.tabs'); + $.each(['href', 'load', 'cache'], function(i, prefix) { + $this.removeData(prefix + '.tabs'); + }); + }); + this.$lis.add(this.$panels).each(function() { + if ($.data(this, 'destroy.tabs')) + $(this).remove(); + else + $(this).removeClass([o.selectedClass, o.unselectClass, + o.disabledClass, o.panelClass, o.hideClass].join(' ')); + }); + } +}); + +$.ui.tabs.defaults = { + // basic setup + unselect: false, + event: 'click', + disabled: [], + cookie: null, // e.g. { expires: 7, path: '/', domain: 'jquery.com', secure: true } + // TODO history: false, + + // Ajax + spinner: 'Loading…', + cache: false, + idPrefix: 'ui-tabs-', + ajaxOptions: {}, + + // animations + fx: null, // e.g. { height: 'toggle', opacity: 'toggle', duration: 200 } + + // templates + tabTemplate: '
    • #{label}
    • ', + panelTemplate: '
      ', + + // CSS classes + navClass: 'ui-tabs-nav', + selectedClass: 'ui-tabs-selected', + unselectClass: 'ui-tabs-unselect', + disabledClass: 'ui-tabs-disabled', + panelClass: 'ui-tabs-panel', + hideClass: 'ui-tabs-hide', + loadingClass: 'ui-tabs-loading' +}; + +$.ui.tabs.getter = "length"; + +/* + * Tabs Extensions + */ + +/* + * Rotate + */ +$.extend($.ui.tabs.prototype, { + rotation: null, + rotate: function(ms, continuing) { + + continuing = continuing || false; + + var self = this, t = this.options.selected; + + function start() { + self.rotation = setInterval(function() { + t = ++t < self.$tabs.length ? t : 0; + self.select(t); + }, ms); + } + + function stop(e) { + if (!e || e.clientX) { // only in case of a true click + clearInterval(self.rotation); + } + } + + // start interval + if (ms) { + start(); + if (!continuing) + this.$tabs.bind(this.options.event, stop); + else + this.$tabs.bind(this.options.event, function() { + stop(); + t = self.options.selected; + start(); + }); + } + // stop interval + else { + stop(); + this.$tabs.unbind(this.options.event, stop); + } + } +}); + +})(jQuery); Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/jquery.ui.i18n.all.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/jquery.ui.i18n.all.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/jquery.ui.i18n.all.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,856 @@ +/* Arabic Translation for jQuery UI date picker plugin. */ +/* Khaled Al Horani -- koko.dw@gmail.com */ +/* خالد الحوراني -- koko.dw@gmail.com */ +/* NOTE: monthNames are the original months names and they are the Arabic names, not the new months name فبراير - يناير and there isn't any Arabic roots for these months */ +jQuery(function($){ + $.datepicker.regional['ar'] = { + clearText: 'مسح', clearStatus: 'امسح التاريخ الحالي', + closeText: 'إغلاق', closeStatus: 'إغلاق بدون حفظ', + prevText: '<السابق', prevStatus: 'عرض الشهر السابق', + prevBigText: '<<', prevBigStatus: '', + nextText: 'التالي>', nextStatus: 'عرض الشهر القادم', + nextBigText: '>>', nextBigStatus: '', + currentText: 'اليوم', currentStatus: 'عرض الشهر الحالي', + monthNames: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'آذار', 'حزيران', + 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + monthNamesShort: ['1','2','3','4','5','6','7','8','9','10','11','12'], + monthStatus: 'عرض شهر آخر', yearStatus: 'عرض سنة آخرى', + weekHeader: 'أسبوع', weekStatus: 'أسبوع السنة', + dayNames: ['السبت', 'الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة'], + dayNamesShort: ['سبت', 'أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة'], + dayNamesMin: ['سبت', 'أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة'], + dayStatus: 'اختر DD لليوم الأول من الأسبوع', dateStatus: 'اختر D, M d', + dateFormat: 'dd/mm/yy', firstDay: 0, + initStatus: 'اختر يوم', isRTL: true}; + $.datepicker.setDefaults($.datepicker.regional['ar']); +});/* Bulgarian initialisation for the jQuery UI date picker plugin. */ +/* Written by Stoyan Kyosev (http://svest.org). */ +jQuery(function($){ + $.datepicker.regional['bg'] = { + clearText: 'изчисти', clearStatus: 'изчисти актуалната дата', + closeText: 'затвори', closeStatus: 'затвори без промени', + prevText: '<назад', prevStatus: 'покажи последния месец', + prevBigText: '<<', prevBigStatus: '', + nextText: 'напред>', nextStatus: 'покажи следващия месец', + nextBigText: '>>', nextBigStatus: '', + currentText: 'днес', currentStatus: '', + monthNames: ['Януари','Февруари','Март','Април','Май','Юни', + 'Юли','Август','Септември','Октомври','Ноември','Декември'], + monthNamesShort: ['Яну','Фев','Мар','Апр','Май','Юни', + 'Юли','Авг','Сеп','Окт','Нов','Дек'], + monthStatus: 'покажи друг месец', yearStatus: 'покажи друга година', + weekHeader: 'Wk', weekStatus: 'седмица от месеца', + dayNames: ['Неделя','Понеделник','Вторник','Сряда','Четвъртък','Петък','Събота'], + dayNamesShort: ['Нед','Пон','Вто','Сря','Чет','Пет','Съб'], + dayNamesMin: ['Не','По','Вт','Ср','Че','Пе','Съ'], + dayStatus: 'Сложи DD като първи ден от седмицата', dateStatus: 'Избери D, M d', + dateFormat: 'dd.mm.yy', firstDay: 1, + initStatus: 'Избери дата', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['bg']); +}); +/* Inicialitzaci� en catal� per a l'extenci� 'calendar' per jQuery. */ +/* Writers: (joan.leon@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['ca'] = { + clearText: 'Netejar', clearStatus: '', + closeText: 'Tancar', closeStatus: '', + prevText: '<Ant', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Seg>', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Avui', currentStatus: '', + monthNames: ['Gener','Febrer','Març','Abril','Maig','Juny', + 'Juliol','Agost','Setembre','Octubre','Novembre','Desembre'], + monthNamesShort: ['Gen','Feb','Mar','Abr','Mai','Jun', + 'Jul','Ago','Set','Oct','Nov','Des'], + monthStatus: '', yearStatus: '', + weekHeader: 'Sm', weekStatus: '', + dayNames: ['Diumenge','Dilluns','Dimarts','Dimecres','Dijous','Divendres','Dissabte'], + dayNamesShort: ['Dug','Dln','Dmt','Dmc','Djs','Dvn','Dsb'], + dayNamesMin: ['Dg','Dl','Dt','Dc','Dj','Dv','Ds'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'mm/dd/yy', firstDay: 0, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['ca']); +});/* Czech initialisation for the jQuery UI date picker plugin. */ +/* Written by Tomas Muller (tomas@tomas-muller.net). */ +jQuery(function($){ + $.datepicker.regional['cs'] = { + clearText: 'Vymazat', clearStatus: 'Vymaže zadané datum', + closeText: 'Zavřít', closeStatus: 'Zavře kalendář beze změny', + prevText: '<Dříve', prevStatus: 'Přejít na předchozí měsí', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Později>', nextStatus: 'Přejít na další měsíc', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Nyní', currentStatus: 'Přejde na aktuální měsíc', + monthNames: ['leden','únor','březen','duben','květen','červen', + 'červenec','srpen','září','říjen','listopad','prosinec'], + monthNamesShort: ['led','úno','bře','dub','kvě','čer', + 'čvc','srp','zář','říj','lis','pro'], + monthStatus: 'Přejít na jiný měsíc', yearStatus: 'Přejít na jiný rok', + weekHeader: 'Týd', weekStatus: 'Týden v roce', + dayNames: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota'], + dayNamesShort: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'], + dayNamesMin: ['ne','po','út','st','čt','pá','so'], + dayStatus: 'Nastavit DD jako první den v týdnu', dateStatus: '\'Vyber\' DD, M d', + dateFormat: 'dd.mm.yy', firstDay: 1, + initStatus: 'Vyberte datum', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['cs']); +}); +/* Danish initialisation for the jQuery UI date picker plugin. */ +/* Written by Jan Christensen ( deletestuff@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['da'] = { + clearText: 'Nulstil', clearStatus: 'Nulstil den aktuelle dato', + closeText: 'Luk', closeStatus: 'Luk uden ændringer', + prevText: '<Forrige', prevStatus: 'Vis forrige måned', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Næste>', nextStatus: 'Vis næste måned', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Idag', currentStatus: 'Vis aktuel måned', + monthNames: ['Januar','Februar','Marts','April','Maj','Juni', + 'Juli','August','September','Oktober','November','December'], + monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun', + 'Jul','Aug','Sep','Okt','Nov','Dec'], + monthStatus: 'Vis en anden måned', yearStatus: 'Vis et andet år', + weekHeader: 'Uge', weekStatus: 'Årets uge', + dayNames: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'], + dayNamesShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'], + dayNamesMin: ['Sø','Ma','Ti','On','To','Fr','Lø'], + dayStatus: 'Sæt DD som første ugedag', dateStatus: 'Vælg D, M d', + dateFormat: 'dd-mm-yy', firstDay: 0, + initStatus: 'Vælg en dato', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['da']); +}); +/* German initialisation for the jQuery UI date picker plugin. */ +/* Written by Milian Wolff (mail@milianw.de). */ +jQuery(function($){ + $.datepicker.regional['de'] = { + clearText: 'löschen', clearStatus: 'aktuelles Datum löschen', + closeText: 'schließen', closeStatus: 'ohne Änderungen schließen', + prevText: '<zurück', prevStatus: 'letzten Monat zeigen', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Vor>', nextStatus: 'nächsten Monat zeigen', + nextBigText: '>>', nextBigStatus: '', + currentText: 'heute', currentStatus: '', + monthNames: ['Januar','Februar','März','April','Mai','Juni', + 'Juli','August','September','Oktober','November','Dezember'], + monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun', + 'Jul','Aug','Sep','Okt','Nov','Dez'], + monthStatus: 'anderen Monat anzeigen', yearStatus: 'anderes Jahr anzeigen', + weekHeader: 'Wo', weekStatus: 'Woche des Monats', + dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'], + dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'], + dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'], + dayStatus: 'Setze DD als ersten Wochentag', dateStatus: 'Wähle D, M d', + dateFormat: 'dd.mm.yy', firstDay: 1, + initStatus: 'Wähle ein Datum', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['de']); +}); +/* Esperanto initialisation for the jQuery UI date picker plugin. */ +/* Written by Olivier M. (olivierweb@ifrance.com). */ +jQuery(function($){ + $.datepicker.regional['eo'] = { + clearText: 'Vakigi', clearStatus: '', + closeText: 'Fermi', closeStatus: 'Fermi sen modifi', + prevText: '<Anta', prevStatus: 'Vidi la antaŭan monaton', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Sekv>', nextStatus: 'Vidi la sekvan monaton', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Nuna', currentStatus: 'Vidi la nunan monaton', + monthNames: ['Januaro','Februaro','Marto','Aprilo','Majo','Junio', + 'Julio','Aŭgusto','Septembro','Oktobro','Novembro','Decembro'], + monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun', + 'Jul','Aŭg','Sep','Okt','Nov','Dec'], + monthStatus: 'Vidi alian monaton', yearStatus: 'Vidi alian jaron', + weekHeader: 'Sb', weekStatus: '', + dayNames: ['Dimanĉo','Lundo','Mardo','Merkredo','Ĵaŭdo','Vendredo','Sabato'], + dayNamesShort: ['Dim','Lun','Mar','Mer','Ĵaŭ','Ven','Sab'], + dayNamesMin: ['Di','Lu','Ma','Me','Ĵa','Ve','Sa'], + dayStatus: 'Uzi DD kiel unua tago de la semajno', dateStatus: 'Elekti DD, MM d', + dateFormat: 'dd/mm/yy', firstDay: 0, + initStatus: 'Elekti la daton', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['eo']); +}); +/* Inicializaci�n en espa�ol para la extensi�n 'UI date picker' para jQuery. */ +/* Traducido por Vester (xvester@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['es'] = { + clearText: 'Limpiar', clearStatus: '', + closeText: 'Cerrar', closeStatus: '', + prevText: '<Ant', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Sig>', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Hoy', currentStatus: '', + monthNames: ['Enero','Febrero','Marzo','Abril','Mayo','Junio', + 'Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'], + monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun', + 'Jul','Ago','Sep','Oct','Nov','Dic'], + monthStatus: '', yearStatus: '', + weekHeader: 'Sm', weekStatus: '', + dayNames: ['Domingo','Lunes','Martes','Miércoles','Jueves','Viernes','Sádabo'], + dayNamesShort: ['Dom','Lun','Mar','Mié','Juv','Vie','Sáb'], + dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','Sá'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd/mm/yy', firstDay: 0, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['es']); +});/* Finnish initialisation for the jQuery UI date picker plugin. */ +/* Written by Harri Kilpi� (harrikilpio@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['fi'] = { + clearText: 'Tyhjennä', clearStatus: '', + closeText: 'Sulje', closeStatus: '', + prevText: '«Edellinen', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Seuraava»', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Tänään', currentStatus: '', + monthNames: ['Tammikuu','Helmikuu','Maaliskuu','Huhtikuu','Toukokuu','Kesäkuu', + 'Heinäkuu','Elokuu','Syyskuu','Lokakuu','Marraskuu','Joulukuu'], + monthNamesShort: ['Tammi','Helmi','Maalis','Huhti','Touko','Kesä', + 'Heinä','Elo','Syys','Loka','Marras','Joulu'], + monthStatus: '', yearStatus: '', + weekHeader: 'Vk', weekStatus: '', + dayNamesShort: ['Su','Ma','Ti','Ke','To','Pe','Su'], + dayNames: ['Sunnuntai','Maanantai','Tiistai','Keskiviikko','Torstai','Perjantai','Lauantai'], + dayNamesMin: ['Su','Ma','Ti','Ke','To','Pe','La'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd.mm.yy', firstDay: 1, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['fi']); +}); +/* French initialisation for the jQuery UI date picker plugin. */ +/* Written by Keith Wood (kbwood@virginbroadband.com.au) and Stéphane Nahmani (sholby@sholby.net). */ +jQuery(function($){ + $.datepicker.regional['fr'] = { + clearText: 'Effacer', clearStatus: '', + closeText: 'Fermer', closeStatus: 'Fermer sans modifier', + prevText: '<Préc', prevStatus: 'Voir le mois précédent', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Suiv>', nextStatus: 'Voir le mois suivant', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Courant', currentStatus: 'Voir le mois courant', + monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin', + 'Juillet','Août','Septembre','Octobre','Novembre','Décembre'], + monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun', + 'Jul','Aoû','Sep','Oct','Nov','Déc'], + monthStatus: 'Voir un autre mois', yearStatus: 'Voir un autre année', + weekHeader: 'Sm', weekStatus: '', + dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'], + dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'], + dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'], + dayStatus: 'Utiliser DD comme premier jour de la semaine', dateStatus: 'Choisir le DD, MM d', + dateFormat: 'dd/mm/yy', firstDay: 0, + initStatus: 'Choisir la date', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['fr']); +});/* Hebrew initialisation for the UI Datepicker extension. */ +/* Written by Amir Hardon (ahardon at gmail dot com). */ +jQuery(function($){ + $.datepicker.regional['he'] = { + clearText: 'נקה', clearStatus: '', + closeText: 'סגור', closeStatus: '', + prevText: '<הקודם', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'הבא>', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'היום', currentStatus: '', + monthNames: ['ינואר','פברואר','מרץ','אפריל','מאי','יוני', + 'יולי','אוגוסט','ספטמבר','אוקטובר','נובמבר','דצמבר'], + monthNamesShort: ['1','2','3','4','5','6', + '7','8','9','10','11','12'], + monthStatus: '', yearStatus: '', + weekHeader: 'Sm', weekStatus: '', + dayNames: ['ראשון','שני','שלישי','רביעי','חמישי','שישי','שבת'], + dayNamesShort: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'], + dayNamesMin: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'], + dayStatus: 'DD', dateStatus: 'DD, M d', + dateFormat: 'dd/mm/yy', firstDay: 0, + initStatus: '', isRTL: true}; + $.datepicker.setDefaults($.datepicker.regional['he']); +}); +/* Croatian i18n for the jQuery UI date picker plugin. */ +/* Written by Vjekoslav Nesek. */ +jQuery(function($){ + $.datepicker.regional['hr'] = { + clearText: 'izbriši', clearStatus: 'Izbriši trenutni datum', + closeText: 'Zatvori', closeStatus: 'Zatvori kalendar', + prevText: '<', prevStatus: 'Prikaži prethodni mjesec', + prevBigText: '<<', prevBigStatus: '', + nextText: '>', nextStatus: 'Prikaži slijedeći mjesec', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Danas', currentStatus: 'Današnji datum', + monthNames: ['Siječanj','Veljača','Ožujak','Travanj','Svibanj','Lipani', + 'Srpanj','Kolovoz','Rujan','Listopad','Studeni','Prosinac'], + monthNamesShort: ['Sij','Velj','Ožu','Tra','Svi','Lip', + 'Srp','Kol','Ruj','Lis','Stu','Pro'], + monthStatus: 'Prikaži mjesece', yearStatus: 'Prikaži godine', + weekHeader: 'Tje', weekStatus: 'Tjedan', + dayNames: ['Nedjalja','Ponedjeljak','Utorak','Srijeda','Četvrtak','Petak','Subota'], + dayNamesShort: ['Ned','Pon','Uto','Sri','Čet','Pet','Sub'], + dayNamesMin: ['Ne','Po','Ut','Sr','Če','Pe','Su'], + dayStatus: 'Odaber DD za prvi dan tjedna', dateStatus: '\'Datum\' D, M d', + dateFormat: 'dd.mm.yy.', firstDay: 1, + initStatus: 'Odaberi datum', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['hr']); +});/* Hungarian initialisation for the jQuery UI date picker plugin. */ +/* Written by Istvan Karaszi (jquerycalendar@spam.raszi.hu). */ +jQuery(function($){ + $.datepicker.regional['hu'] = { + clearText: 'törlés', clearStatus: '', + closeText: 'bezárás', closeStatus: '', + prevText: '« vissza', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'előre »', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'ma', currentStatus: '', + monthNames: ['Január', 'Február', 'Március', 'Április', 'Május', 'Június', + 'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December'], + monthNamesShort: ['Jan', 'Feb', 'Már', 'Ápr', 'Máj', 'Jún', + 'Júl', 'Aug', 'Szep', 'Okt', 'Nov', 'Dec'], + monthStatus: '', yearStatus: '', + weekHeader: 'Hé', weekStatus: '', + dayNames: ['Vasámap', 'Hétfö', 'Kedd', 'Szerda', 'Csütörtök', 'Péntek', 'Szombat'], + dayNamesShort: ['Vas', 'Hét', 'Ked', 'Sze', 'Csü', 'Pén', 'Szo'], + dayNamesMin: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'yy-mm-dd', firstDay: 1, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['hu']); +}); +/* Armenian(UTF-8) initialisation for the jQuery UI date picker plugin. */ +/* Written by Levon Zakaryan (levon.zakaryan@gmail.com)*/ +jQuery(function($){ + $.datepicker.regional['hy'] = { + clearText: 'Մաքրել', clearStatus: '', + closeText: 'Փակել', closeStatus: '', + prevText: '<Նախ.', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Հաջ.>', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Այսօր', currentStatus: '', + monthNames: ['Հունվար','Փետրվար','Մարտ','Ապրիլ','Մայիս','Հունիս', + 'Հուլիս','Օգոստոս','Սեպտեմբեր','Հոկտեմբեր','Նոյեմբեր','Դեկտեմբեր'], + monthNamesShort: ['Հունվ','Փետր','Մարտ','Ապր','Մայիս','Հունիս', + 'Հուլ','Օգս','Սեպ','Հոկ','Նոյ','Դեկ'], + monthStatus: '', yearStatus: '', + weekHeader: 'ՇԲՏ', weekStatus: '', + dayNames: ['կիրակի','եկուշաբթի','երեքշաբթի','չորեքշաբթի','հինգշաբթի','ուրբաթ','շաբաթ'], + dayNamesShort: ['կիր','երկ','երք','չրք','հնգ','ուրբ','շբթ'], + dayNamesMin: ['կիր','երկ','երք','չրք','հնգ','ուրբ','շբթ'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd.mm.yy', firstDay: 1, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['hy']); +});/* Indonesian initialisation for the jQuery UI date picker plugin. */ +/* Written by Deden Fathurahman (dedenf@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['id'] = { + clearText: 'kosongkan', clearStatus: 'bersihkan tanggal yang sekarang', + closeText: 'Tutup', closeStatus: 'Tutup tanpa mengubah', + prevText: '<mundur', prevStatus: 'Tampilkan bulan sebelumnya', + prevBigText: '<<', prevBigStatus: '', + nextText: 'maju>', nextStatus: 'Tampilkan bulan berikutnya', + nextBigText: '>>', nextBigStatus: '', + currentText: 'hari ini', currentStatus: 'Tampilkan bulan sekarang', + monthNames: ['Januari','Februari','Maret','April','Mei','Juni', + 'Juli','Agustus','September','Oktober','Nopember','Desember'], + monthNamesShort: ['Jan','Feb','Mar','Apr','Mei','Jun', + 'Jul','Agus','Sep','Okt','Nop','Des'], + monthStatus: 'Tampilkan bulan yang berbeda', yearStatus: 'Tampilkan tahun yang berbeda', + weekHeader: 'Mg', weekStatus: 'Minggu dalam tahun', + dayNames: ['Minggu','Senin','Selasa','Rabu','Kamis','Jumat','Sabtu'], + dayNamesShort: ['Min','Sen','Sel','Rab','kam','Jum','Sab'], + dayNamesMin: ['Mg','Sn','Sl','Rb','Km','jm','Sb'], + dayStatus: 'gunakan DD sebagai awal hari dalam minggu', dateStatus: 'pilih le DD, MM d', + dateFormat: 'dd/mm/yy', firstDay: 0, + initStatus: 'Pilih Tanggal', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['id']); +});/* Icelandic initialisation for the jQuery UI date picker plugin. */ +/* Written by Haukur H. Thorsson (haukur@eskill.is). */ +jQuery(function($){ + $.datepicker.regional['is'] = { + clearText: 'Hreinsa', clearStatus: '', + closeText: 'Loka', closeStatus: '', + prevText: '< Fyrri', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Næsti >', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Í dag', currentStatus: '', + monthNames: ['Janúar','Febrúar','Mars','Apríl','Maí','Júní', + 'Júlí','Ágúst','September','Október','Nóvember','Desember'], + monthNamesShort: ['Jan','Feb','Mar','Apr','Maí','Jún', + 'Júl','Ágú','Sep','Okt','Nóv','Des'], + monthStatus: '', yearStatus: '', + weekHeader: 'Vika', weekStatus: '', + dayNames: ['Sunnudagur','Mánudagur','Þriðjudagur','Miðvikudagur','Fimmtudagur','Föstudagur','Laugardagur'], + dayNamesShort: ['Sun','Mán','Þri','Mið','Fim','Fös','Lau'], + dayNamesMin: ['Su','Má','Þr','Mi','Fi','Fö','La'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd/mm/yy', firstDay: 0, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['is']); +});/* Italian initialisation for the jQuery UI date picker plugin. */ +/* Written by Apaella (apaella@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['it'] = { + clearText: 'Svuota', clearStatus: 'Annulla', + closeText: 'Chiudi', closeStatus: 'Chiudere senza modificare', + prevText: '<Prec', prevStatus: 'Mese precedente', + prevBigText: '<<', prevBigStatus: 'Mostra l\'anno precedente', + nextText: 'Succ>', nextStatus: 'Mese successivo', + nextBigText: '>>', nextBigStatus: 'Mostra l\'anno successivo', + currentText: 'Oggi', currentStatus: 'Mese corrente', + monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno', + 'Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'], + monthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu', + 'Lug','Ago','Set','Ott','Nov','Dic'], + monthStatus: 'Seleziona un altro mese', yearStatus: 'Seleziona un altro anno', + weekHeader: 'Sm', weekStatus: 'Settimana dell\'anno', + dayNames: ['Domenica','Lunedì','Martedì','Mercoledì','Giovedì','Venerdì','Sabato'], + dayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'], + dayNamesMin: ['Do','Lu','Ma','Me','Gio','Ve','Sa'], + dayStatus: 'Usa DD come primo giorno della settimana', dateStatus: 'Seleziona D, M d', + dateFormat: 'dd/mm/yy', firstDay: 1, + initStatus: 'Scegliere una data', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['it']); +}); +/* Japanese (UTF-8) initialisation for the jQuery UI date picker plugin. */ +/* Written by Milly. */ +jQuery(function($){ + $.datepicker.regional['ja'] = { + clearText: '削除', clearStatus: '', + closeText: '閉じる', closeStatus: '', + prevText: '<前月', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: '次月>', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: '今日', currentStatus: '', + monthNames: ['1月','2月','3月','4月','5月','6月', + '7月','8月','9月','10月','11月','12月'], + monthNamesShort: ['1月','2月','3月','4月','5月','6月', + '7月','8月','9月','10月','11月','12月'], + monthStatus: '', yearStatus: '', + weekHeader: 'Wk', weekStatus: '', + dayNames: ['日','月','火','水','木','金','土'], + dayNamesShort: ['日','月','火','水','木','金','土'], + dayNamesMin: ['日','月','火','水','木','金','土'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'yy/mm/dd', firstDay: 0, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['ja']); +});/* Korean initialisation for the jQuery calendar extension. */ +/* Written by DaeKwon Kang (ncrash.dk@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['ko'] = { + clearText: '지우기', clearStatus: '', + closeText: '닫기', closeStatus: '', + prevText: '이전달', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: '다음달', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: '오늘', currentStatus: '', + monthNames: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)', + '7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'], + monthNamesShort: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)', + '7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'], + monthStatus: '', yearStatus: '', + weekHeader: 'Wk', weekStatus: '', + dayNames: ['일','월','화','수','목','금','토'], + dayNamesShort: ['일','월','화','수','목','금','토'], + dayNamesMin: ['일','월','화','수','목','금','토'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'yy-mm-dd', firstDay: 0, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['ko']); +});/* Lithuanian (UTF-8) initialisation for the jQuery UI date picker plugin. */ +/* @author Arturas Paleicikas */ +jQuery(function($){ + $.datepicker.regional['lt'] = { + clearText: 'Išvalyti', clearStatus: '', + closeText: 'Uždaryti', closeStatus: '', + prevText: '<Atgal', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Pirmyn>', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Šiandien', currentStatus: '', + monthNames: ['Sausis','Vasaris','Kovas','Balandis','Gegužė','Birželis', + 'Liepa','Rugpjūtis','Rugsėjis','Spalis','Lapkritis','Gruodis'], + monthNamesShort: ['Sau','Vas','Kov','Bal','Geg','Bir', + 'Lie','Rugp','Rugs','Spa','Lap','Gru'], + monthStatus: '', yearStatus: '', + weekHeader: '', weekStatus: '', + dayNames: ['sekmadienis','pirmadienis','antradienis','trečiadienis','ketvirtadienis','penktadienis','šeštadienis'], + dayNamesShort: ['sek','pir','ant','tre','ket','pen','šeš'], + dayNamesMin: ['Se','Pr','An','Tr','Ke','Pe','Še'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'yy-mm-dd', firstDay: 1, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['lt']); +});/* Latvian (UTF-8) initialisation for the jQuery UI date picker plugin. */ +/* @author Arturas Paleicikas */ +jQuery(function($){ + $.datepicker.regional['lv'] = { + clearText: 'Notīrīt', clearStatus: '', + closeText: 'Aizvērt', closeStatus: '', + prevText: 'Iepr', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Nāka', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Šodien', currentStatus: '', + monthNames: ['Janvāris','Februāris','Marts','Aprīlis','Maijs','Jūnijs', + 'Jūlijs','Augusts','Septembris','Oktobris','Novembris','Decembris'], + monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jūn', + 'Jūl','Aug','Sep','Okt','Nov','Dec'], + monthStatus: '', yearStatus: '', + weekHeader: 'Nav', weekStatus: '', + dayNames: ['svētdiena','pirmdiena','otrdiena','trešdiena','ceturtdiena','piektdiena','sestdiena'], + dayNamesShort: ['svt','prm','otr','tre','ctr','pkt','sst'], + dayNamesMin: ['Sv','Pr','Ot','Tr','Ct','Pk','Ss'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd-mm-yy', firstDay: 1, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['lv']); +});/* Dutch (UTF-8) initialisation for the jQuery UI date picker plugin. */ +/* Written by ??? */ +jQuery(function($){ + $.datepicker.regional['nl'] = { + clearText: 'Wissen', clearStatus: 'Wis de huidige datum', + closeText: 'Sluiten', closeStatus: 'Sluit zonder verandering', + prevText: '<Terug', prevStatus: 'Laat de voorgaande maand zien', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Volgende>', nextStatus: 'Laat de volgende maand zien', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Vandaag', currentStatus: 'Laat de huidige maand zien', + monthNames: ['Januari','Februari','Maart','April','Mei','Juni', + 'Juli','Augustus','September','Oktober','November','December'], + monthNamesShort: ['Jan','Feb','Mrt','Apr','Mei','Jun', + 'Jul','Aug','Sep','Okt','Nov','Dec'], + monthStatus: 'Laat een andere maand zien', yearStatus: 'Laat een ander jaar zien', + weekHeader: 'Wk', weekStatus: 'Week van het jaar', + dayNames: ['Zondag','Maandag','Dinsdag','Woensdag','Donderdag','Vrijdag','Zaterdag'], + dayNamesShort: ['Zon','Maa','Din','Woe','Don','Vri','Zat'], + dayNamesMin: ['Zo','Ma','Di','Wo','Do','Vr','Za'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd.mm.yy', firstDay: 1, + initStatus: 'Kies een datum', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['nl']); +});/* Norwegian initialisation for the jQuery UI date picker plugin. */ +/* Written by Naimdjon Takhirov (naimdjon@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['no'] = { + clearText: 'Tøm', clearStatus: '', + closeText: 'Lukk', closeStatus: '', + prevText: '«Forrige', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Neste»', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'I dag', currentStatus: '', + monthNames: ['Januar','Februar','Mars','April','Mai','Juni', + 'Juli','August','September','Oktober','November','Desember'], + monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jun', + 'Jul','Aug','Sep','Okt','Nov','Des'], + monthStatus: '', yearStatus: '', + weekHeader: 'Uke', weekStatus: '', + dayNamesShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'], + dayNames: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'], + dayNamesMin: ['Sø','Ma','Ti','On','To','Fr','Lø'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'yy-mm-dd', firstDay: 0, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['no']); +}); +/* Polish initialisation for the jQuery UI date picker plugin. */ +/* Written by Jacek Wysocki (jacek.wysocki@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['pl'] = { + clearText: 'Wyczyść', clearStatus: 'Wyczyść obecną datę', + closeText: 'Zamknij', closeStatus: 'Zamknij bez zapisywania', + prevText: '<Poprzedni', prevStatus: 'Pokaż poprzedni miesiąc', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Następny>', nextStatus: 'Pokaż następny miesiąc', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Dziś', currentStatus: 'Pokaż aktualny miesiąc', + monthNames: ['Styczeń','Luty','Marzec','Kwiecień','Maj','Czerwiec', + 'Lipiec','Sierpień','Wrzesień','Październik','Listopad','Grudzień'], + monthNamesShort: ['Sty','Lu','Mar','Kw','Maj','Cze', + 'Lip','Sie','Wrz','Pa','Lis','Gru'], + monthStatus: 'Pokaż inny miesiąc', yearStatus: 'Pokaż inny rok', + weekHeader: 'Tydz', weekStatus: 'Tydzień roku', + dayNames: ['Niedziela','Poniedzialek','Wtorek','Środa','Czwartek','Piątek','Sobota'], + dayNamesShort: ['Nie','Pn','Wt','Śr','Czw','Pt','So'], + dayNamesMin: ['N','Pn','Wt','Śr','Cz','Pt','So'], + dayStatus: 'Ustaw DD jako pierwszy dzień tygodnia', dateStatus: 'Wybierz D, M d', + dateFormat: 'yy-mm-dd', firstDay: 1, + initStatus: 'Wybierz datę', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['pl']); +}); +/* Brazilian initialisation for the jQuery UI date picker plugin. */ +/* Written by Leonildo Costa Silva (leocsilva@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['pt-BR'] = { + clearText: 'Limpar', clearStatus: '', + closeText: 'Fechar', closeStatus: '', + prevText: '<Anterior', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Próximo>', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Hoje', currentStatus: '', + monthNames: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho', + 'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'], + monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun', + 'Jul','Ago','Set','Out','Nov','Dez'], + monthStatus: '', yearStatus: '', + weekHeader: 'Sm', weekStatus: '', + dayNames: ['Domingo','Segunda-feira','Terça-feira','Quarta-feira','Quinta-feira','Sexta-feira','Sabado'], + dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'], + dayNamesMin: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd/mm/yy', firstDay: 0, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['pt-BR']); +});/* Romanian initialisation for the jQuery UI date picker plugin. */ +/* Written by Edmond L. (ll_edmond@walla.com). */ +jQuery(function($){ + $.datepicker.regional['ro'] = { + clearText: 'Curat', clearStatus: 'Sterge data curenta', + closeText: 'Inchide', closeStatus: 'Inchide fara schimbare', + prevText: '<Anterior', prevStatus: 'Arata luna trecuta', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Urmator>', nextStatus: 'Arata luna urmatoare', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Azi', currentStatus: 'Arata luna curenta', + monthNames: ['Ianuarie','Februarie','Martie','Aprilie','Mai','Junie', + 'Julie','August','Septembrie','Octobrie','Noiembrie','Decembrie'], + monthNamesShort: ['Ian', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', + 'Jul', 'Aug', 'Sep', 'Oct', 'Noi', 'Dec'], + monthStatus: 'Arata o luna diferita', yearStatus: 'Arat un an diferit', + weekHeader: 'Sapt', weekStatus: 'Saptamana anului', + dayNames: ['Duminica', 'Luni', 'Marti', 'Miercuri', 'Joi', 'Vineri', 'Sambata'], + dayNamesShort: ['Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sam'], + dayNamesMin: ['Du','Lu','Ma','Mi','Jo','Vi','Sa'], + dayStatus: 'Seteaza DD ca prima saptamana zi', dateStatus: 'Selecteaza D, M d', + dateFormat: 'mm/dd/yy', firstDay: 0, + initStatus: 'Selecteaza o data', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['ro']); +}); +/* Russian (UTF-8) initialisation for the jQuery UI date picker plugin. */ +/* Written by Andrew Stromnov (stromnov@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['ru'] = { + clearText: 'Очистить', clearStatus: '', + closeText: 'Закрыть', closeStatus: '', + prevText: '<Пред', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'След>', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Сегодня', currentStatus: '', + monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь', + 'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'], + monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн', + 'Июл','Авг','Сен','Окт','Ноя','Дек'], + monthStatus: '', yearStatus: '', + weekHeader: 'Не', weekStatus: '', + dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'], + dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'], + dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd.mm.yy', firstDay: 1, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['ru']); +});/* Slovak initialisation for the jQuery UI date picker plugin. */ +/* Written by Vojtech Rinik (vojto@hmm.sk). */ +jQuery(function($){ + $.datepicker.regional['sk'] = { + clearText: 'Zmazať', clearStatus: '', + closeText: 'Zavrieť', closeStatus: '', + prevText: '<Predchádzajúci', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Nasledujúci>', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Dnes', currentStatus: '', + monthNames: ['Január','Február','Marec','Apríl','Máj','Jún', + 'Júl','August','September','Október','November','December'], + monthNamesShort: ['Jan','Feb','Mar','Apr','Máj','Jún', + 'Júl','Aug','Sep','Okt','Nov','Dec'], + monthStatus: '', yearStatus: '', + weekHeader: 'Ty', weekStatus: '', + dayNames: ['Nedel\'a','Pondelok','Utorok','Streda','Štvrtok','Piatok','Sobota'], + dayNamesShort: ['Ned','Pon','Uto','Str','Štv','Pia','Sob'], + dayNamesMin: ['Ne','Po','Ut','St','Št','Pia','So'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd.mm.yy', firstDay: 0, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['sk']); +}); +/* Slovenian initialisation for the jQuery UI date picker plugin. */ +/* Written by Jaka Jancar (jaka@kubje.org). */ +/* c = č, s = š z = ž C = Č S = Š Z = Ž */ +jQuery(function($){ + $.datepicker.regional['sl'] = {clearText: 'Izbriši', clearStatus: 'Izbriši trenutni datum', + closeText: 'Zapri', closeStatus: 'Zapri brez spreminjanja', + prevText: '<Prejšnji', prevStatus: 'Prikaži prejšnji mesec', + nextText: 'Naslednji>', nextStatus: 'Prikaži naslednji mesec', + currentText: 'Trenutni', currentStatus: 'Prikaži trenutni mesec', + monthNames: ['Januar','Februar','Marec','April','Maj','Junij', + 'Julij','Avgust','September','Oktober','November','December'], + monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun', + 'Jul','Avg','Sep','Okt','Nov','Dec'], + monthStatus: 'Prikaži drug mesec', yearStatus: 'Prikaži drugo leto', + weekHeader: 'Teden', weekStatus: 'Teden v letu', + dayNames: ['Nedelja','Ponedeljek','Torek','Sreda','Četrtek','Petek','Sobota'], + dayNamesShort: ['Ned','Pon','Tor','Sre','Čet','Pet','Sob'], + dayNamesMin: ['Ne','Po','To','Sr','Če','Pe','So'], + dayStatus: 'Nastavi DD za prvi dan v tednu', dateStatus: 'Izberi DD, d MM yy', + dateFormat: 'dd.mm.yy', firstDay: 1, + initStatus: 'Izbira datuma', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['sl']); +}); +/* Swedish initialisation for the jQuery UI date picker plugin. */ +/* Written by Anders Ekdahl ( anders@nomadiz.se). */ +jQuery(function($){ + $.datepicker.regional['sv'] = { + clearText: 'Rensa', clearStatus: '', + closeText: 'Stäng', closeStatus: '', + prevText: '«Förra', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Nästa»', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Idag', currentStatus: '', + monthNames: ['Januari','Februari','Mars','April','Maj','Juni', + 'Juli','Augusti','September','Oktober','November','December'], + monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun', + 'Jul','Aug','Sep','Okt','Nov','Dec'], + monthStatus: '', yearStatus: '', + weekHeader: 'Ve', weekStatus: '', + dayNamesShort: ['Sön','Mån','Tis','Ons','Tor','Fre','Lör'], + dayNames: ['Söndag','Måndag','Tisdag','Onsdag','Torsdag','Fredag','Lördag'], + dayNamesMin: ['Sö','Må','Ti','On','To','Fr','Lö'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'yy-mm-dd', firstDay: 1, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['sv']); +}); +/* Thai initialisation for the jQuery UI date picker plugin. */ +/* Written by pipo (pipo@sixhead.com). */ +jQuery(function($){ + $.datepicker.regional['th'] = { + clearText: 'ลบ', clearStatus: '', + closeText: 'ปิด', closeStatus: '', + prevText: '« ย้อน', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'ถัดไป »', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'วันนี้', currentStatus: '', + monthNames: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน', + 'กรกฏาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'], + monthNamesShort: ['ม.ค.','ก.พ.','มี.ค.','เม.ย.','พ.ค.','มิ.ย.', + 'ก.ค.','ส.ค.','ก.ย.','ต.ค.','พ.ย.','ธ.ค.'], + monthStatus: '', yearStatus: '', + weekHeader: 'Sm', weekStatus: '', + dayNames: ['อาทิตย์','จันทร์','อังคาร','พุธ','พฤหัสบดี','ศุกร์','เสาร์'], + dayNamesShort: ['อา.','จ.','อ.','พ.','พฤ.','ศ.','ส.'], + dayNamesMin: ['อา.','จ.','อ.','พ.','พฤ.','ศ.','ส.'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd/mm/yy', firstDay: 0, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['th']); +});/* Turkish initialisation for the jQuery UI date picker plugin. */ +/* Written by Izzet Emre Erkan (kara@karalamalar.net). */ +jQuery(function($){ + $.datepicker.regional['tr'] = { + clearText: 'temizle', clearStatus: 'geçerli tarihi temizler', + closeText: 'kapat', closeStatus: 'sadece göstergeyi kapat', + prevText: '<geri', prevStatus: 'önceki ayı göster', + prevBigText: '<<', prevBigStatus: '', + nextText: 'ileri>', nextStatus: 'sonraki ayı göster', + nextBigText: '>>', nextBigStatus: '', + currentText: 'bugün', currentStatus: '', + monthNames: ['Ocak','Şubat','Mart','Nisan','Mayıs','Haziran', + 'Temmuz','Ağustos','Eylül','Ekim','Kasım','Aralık'], + monthNamesShort: ['Oca','Şub','Mar','Nis','May','Haz', + 'Tem','Ağu','Eyl','Eki','Kas','Ara'], + monthStatus: 'başka ay', yearStatus: 'başka yıl', + weekHeader: 'Hf', weekStatus: 'Ayın haftaları', + dayNames: ['Pazar','Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi'], + dayNamesShort: ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'], + dayNamesMin: ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'], + dayStatus: 'Haftanın ilk gününü belirleyin', dateStatus: 'D, M d seçiniz', + dateFormat: 'dd.mm.yy', firstDay: 1, + initStatus: 'Bir tarih seçiniz', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['tr']); +});/* Ukrainian (UTF-8) initialisation for the jQuery UI date picker plugin. */ +/* Written by Maxim Drogobitskiy (maxdao@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['uk'] = { + clearText: 'Очистити', clearStatus: '', + closeText: 'Закрити', closeStatus: '', + prevText: '<', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: '>', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Сьогодні', currentStatus: '', + monthNames: ['Січень','Лютий','Березень','Квітень','Травень','Червень', + 'Липень','Серпень','Вересень','Жовтень','Листопад','Грудень'], + monthNamesShort: ['Січ','Лют','Бер','Кві','Тра','Чер', + 'Лип','Сер','Вер','Жов','Лис','Гру'], + monthStatus: '', yearStatus: '', + weekHeader: 'Не', weekStatus: '', + dayNames: ['неділя','понеділок','вівторок','середа','четвер','пятниця','суббота'], + dayNamesShort: ['нед','пнд','вів','срд','чтв','птн','сбт'], + dayNamesMin: ['Нд','Пн','Вт','Ср','Чт','Пт','Сб'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd.mm.yy', firstDay: 1, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['uk']); +});/* Chinese initialisation for the jQuery UI date picker plugin. */ +/* Written by Cloudream (cloudream@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['zh-CN'] = { + clearText: '清除', clearStatus: '清除已选日期', + closeText: '关闭', closeStatus: '不改变当前选择', + prevText: '<上月', prevStatus: '显示上月', + prevBigText: '<<', prevBigStatus: '显示上一年', + nextText: '下月>', nextStatus: '显示下月', + nextBigText: '>>', nextBigStatus: '显示下一年', + currentText: '今天', currentStatus: '显示本月', + monthNames: ['一月','二月','三月','四月','五月','六月', + '七月','八月','九月','十月','十一月','十二月'], + monthNamesShort: ['一','二','三','四','五','六', + '七','八','九','十','十一','十二'], + monthStatus: '选择月份', yearStatus: '选择年份', + weekHeader: '周', weekStatus: '年内周次', + dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'], + dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'], + dayNamesMin: ['日','一','二','三','四','五','六'], + dayStatus: '设置 DD 为一周起始', dateStatus: '选择 m月 d日, DD', + dateFormat: 'yy-mm-dd', firstDay: 1, + initStatus: '请选择日期', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['zh-CN']); +}); +/* Chinese initialisation for the jQuery UI date picker plugin. */ +/* Written by Ressol (ressol@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['zh-TW'] = { + clearText: '清除', clearStatus: '清除已選日期', + closeText: '關閉', closeStatus: '不改變目前的選擇', + prevText: '<上月', prevStatus: '顯示上月', + prevBigText: '<<', prevBigStatus: '顯示上一年', + nextText: '下月>', nextStatus: '顯示下月', + nextBigText: '>>', nextBigStatus: '顯示下一年', + currentText: '今天', currentStatus: '顯示本月', + monthNames: ['一月','二月','三月','四月','五月','六月', + '七月','八月','九月','十月','十一月','十二月'], + monthNamesShort: ['一','二','三','四','五','六', + '七','八','九','十','十一','十二'], + monthStatus: '選擇月份', yearStatus: '選擇年份', + weekHeader: '周', weekStatus: '年內周次', + dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'], + dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'], + dayNamesMin: ['日','一','二','三','四','五','六'], + dayStatus: '設定 DD 為一周起始', dateStatus: '選擇 m月 d日, DD', + dateFormat: 'yy/mm/dd', firstDay: 1, + initStatus: '請選擇日期', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['zh-TW']); +}); Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-ar.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-ar.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-ar.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,26 @@ +/* Arabic Translation for jQuery UI date picker plugin. */ +/* Khaled Al Horani -- koko.dw@gmail.com */ +/* خالد الحوراني -- koko.dw@gmail.com */ +/* NOTE: monthNames are the original months names and they are the Arabic names, not the new months name فبراير - يناير and there isn't any Arabic roots for these months */ +jQuery(function($){ + $.datepicker.regional['ar'] = { + clearText: 'مسح', clearStatus: 'امسح التاريخ الحالي', + closeText: 'إغلاق', closeStatus: 'إغلاق بدون حفظ', + prevText: '<السابق', prevStatus: 'عرض الشهر السابق', + prevBigText: '<<', prevBigStatus: '', + nextText: 'التالي>', nextStatus: 'عرض الشهر القادم', + nextBigText: '>>', nextBigStatus: '', + currentText: 'اليوم', currentStatus: 'عرض الشهر الحالي', + monthNames: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'آذار', 'حزيران', + 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + monthNamesShort: ['1','2','3','4','5','6','7','8','9','10','11','12'], + monthStatus: 'عرض شهر آخر', yearStatus: 'عرض سنة آخرى', + weekHeader: 'أسبوع', weekStatus: 'أسبوع السنة', + dayNames: ['السبت', 'الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة'], + dayNamesShort: ['سبت', 'أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة'], + dayNamesMin: ['سبت', 'أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة'], + dayStatus: 'اختر DD لليوم الأول من الأسبوع', dateStatus: 'اختر D, M d', + dateFormat: 'dd/mm/yy', firstDay: 0, + initStatus: 'اختر يوم', isRTL: true}; + $.datepicker.setDefaults($.datepicker.regional['ar']); +}); \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-bg.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-bg.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-bg.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Bulgarian initialisation for the jQuery UI date picker plugin. */ +/* Written by Stoyan Kyosev (http://svest.org). */ +jQuery(function($){ + $.datepicker.regional['bg'] = { + clearText: 'изчисти', clearStatus: 'изчисти актуалната дата', + closeText: 'затвори', closeStatus: 'затвори без промени', + prevText: '<назад', prevStatus: 'покажи последния месец', + prevBigText: '<<', prevBigStatus: '', + nextText: 'напред>', nextStatus: 'покажи следващия месец', + nextBigText: '>>', nextBigStatus: '', + currentText: 'днес', currentStatus: '', + monthNames: ['Януари','Февруари','Март','Април','Май','Юни', + 'Юли','Август','Септември','Октомври','Ноември','Декември'], + monthNamesShort: ['Яну','Фев','Мар','Апр','Май','Юни', + 'Юли','Авг','Сеп','Окт','Нов','Дек'], + monthStatus: 'покажи друг месец', yearStatus: 'покажи друга година', + weekHeader: 'Wk', weekStatus: 'седмица от месеца', + dayNames: ['Неделя','Понеделник','Вторник','Сряда','Четвъртък','Петък','Събота'], + dayNamesShort: ['Нед','Пон','Вто','Сря','Чет','Пет','Съб'], + dayNamesMin: ['Не','По','Вт','Ср','Че','Пе','Съ'], + dayStatus: 'Сложи DD като първи ден от седмицата', dateStatus: 'Избери D, M d', + dateFormat: 'dd.mm.yy', firstDay: 1, + initStatus: 'Избери дата', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['bg']); +}); Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-ca.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-ca.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-ca.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Inicialitzaci� en catal� per a l'extenci� 'calendar' per jQuery. */ +/* Writers: (joan.leon@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['ca'] = { + clearText: 'Netejar', clearStatus: '', + closeText: 'Tancar', closeStatus: '', + prevText: '<Ant', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Seg>', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Avui', currentStatus: '', + monthNames: ['Gener','Febrer','Març','Abril','Maig','Juny', + 'Juliol','Agost','Setembre','Octubre','Novembre','Desembre'], + monthNamesShort: ['Gen','Feb','Mar','Abr','Mai','Jun', + 'Jul','Ago','Set','Oct','Nov','Des'], + monthStatus: '', yearStatus: '', + weekHeader: 'Sm', weekStatus: '', + dayNames: ['Diumenge','Dilluns','Dimarts','Dimecres','Dijous','Divendres','Dissabte'], + dayNamesShort: ['Dug','Dln','Dmt','Dmc','Djs','Dvn','Dsb'], + dayNamesMin: ['Dg','Dl','Dt','Dc','Dj','Dv','Ds'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'mm/dd/yy', firstDay: 0, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['ca']); +}); \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-cs.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-cs.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-cs.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Czech initialisation for the jQuery UI date picker plugin. */ +/* Written by Tomas Muller (tomas@tomas-muller.net). */ +jQuery(function($){ + $.datepicker.regional['cs'] = { + clearText: 'Vymazat', clearStatus: 'Vymaže zadané datum', + closeText: 'Zavřít', closeStatus: 'Zavře kalendář beze změny', + prevText: '<Dříve', prevStatus: 'Přejít na předchozí měsí', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Později>', nextStatus: 'Přejít na další měsíc', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Nyní', currentStatus: 'Přejde na aktuální měsíc', + monthNames: ['leden','únor','březen','duben','květen','červen', + 'červenec','srpen','září','říjen','listopad','prosinec'], + monthNamesShort: ['led','úno','bře','dub','kvě','čer', + 'čvc','srp','zář','říj','lis','pro'], + monthStatus: 'Přejít na jiný měsíc', yearStatus: 'Přejít na jiný rok', + weekHeader: 'Týd', weekStatus: 'Týden v roce', + dayNames: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota'], + dayNamesShort: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'], + dayNamesMin: ['ne','po','út','st','čt','pá','so'], + dayStatus: 'Nastavit DD jako první den v týdnu', dateStatus: '\'Vyber\' DD, M d', + dateFormat: 'dd.mm.yy', firstDay: 1, + initStatus: 'Vyberte datum', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['cs']); +}); Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-da.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-da.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-da.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Danish initialisation for the jQuery UI date picker plugin. */ +/* Written by Jan Christensen ( deletestuff@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['da'] = { + clearText: 'Nulstil', clearStatus: 'Nulstil den aktuelle dato', + closeText: 'Luk', closeStatus: 'Luk uden ændringer', + prevText: '<Forrige', prevStatus: 'Vis forrige måned', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Næste>', nextStatus: 'Vis næste måned', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Idag', currentStatus: 'Vis aktuel måned', + monthNames: ['Januar','Februar','Marts','April','Maj','Juni', + 'Juli','August','September','Oktober','November','December'], + monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun', + 'Jul','Aug','Sep','Okt','Nov','Dec'], + monthStatus: 'Vis en anden måned', yearStatus: 'Vis et andet år', + weekHeader: 'Uge', weekStatus: 'Årets uge', + dayNames: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'], + dayNamesShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'], + dayNamesMin: ['Sø','Ma','Ti','On','To','Fr','Lø'], + dayStatus: 'Sæt DD som første ugedag', dateStatus: 'Vælg D, M d', + dateFormat: 'dd-mm-yy', firstDay: 0, + initStatus: 'Vælg en dato', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['da']); +}); Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-de.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-de.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-de.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* German initialisation for the jQuery UI date picker plugin. */ +/* Written by Milian Wolff (mail@milianw.de). */ +jQuery(function($){ + $.datepicker.regional['de'] = { + clearText: 'löschen', clearStatus: 'aktuelles Datum löschen', + closeText: 'schließen', closeStatus: 'ohne Änderungen schließen', + prevText: '<zurück', prevStatus: 'letzten Monat zeigen', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Vor>', nextStatus: 'nächsten Monat zeigen', + nextBigText: '>>', nextBigStatus: '', + currentText: 'heute', currentStatus: '', + monthNames: ['Januar','Februar','März','April','Mai','Juni', + 'Juli','August','September','Oktober','November','Dezember'], + monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun', + 'Jul','Aug','Sep','Okt','Nov','Dez'], + monthStatus: 'anderen Monat anzeigen', yearStatus: 'anderes Jahr anzeigen', + weekHeader: 'Wo', weekStatus: 'Woche des Monats', + dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'], + dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'], + dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'], + dayStatus: 'Setze DD als ersten Wochentag', dateStatus: 'Wähle D, M d', + dateFormat: 'dd.mm.yy', firstDay: 1, + initStatus: 'Wähle ein Datum', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['de']); +}); Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-eo.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-eo.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-eo.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Esperanto initialisation for the jQuery UI date picker plugin. */ +/* Written by Olivier M. (olivierweb@ifrance.com). */ +jQuery(function($){ + $.datepicker.regional['eo'] = { + clearText: 'Vakigi', clearStatus: '', + closeText: 'Fermi', closeStatus: 'Fermi sen modifi', + prevText: '<Anta', prevStatus: 'Vidi la antaŭan monaton', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Sekv>', nextStatus: 'Vidi la sekvan monaton', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Nuna', currentStatus: 'Vidi la nunan monaton', + monthNames: ['Januaro','Februaro','Marto','Aprilo','Majo','Junio', + 'Julio','Aŭgusto','Septembro','Oktobro','Novembro','Decembro'], + monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun', + 'Jul','Aŭg','Sep','Okt','Nov','Dec'], + monthStatus: 'Vidi alian monaton', yearStatus: 'Vidi alian jaron', + weekHeader: 'Sb', weekStatus: '', + dayNames: ['Dimanĉo','Lundo','Mardo','Merkredo','Ĵaŭdo','Vendredo','Sabato'], + dayNamesShort: ['Dim','Lun','Mar','Mer','Ĵaŭ','Ven','Sab'], + dayNamesMin: ['Di','Lu','Ma','Me','Ĵa','Ve','Sa'], + dayStatus: 'Uzi DD kiel unua tago de la semajno', dateStatus: 'Elekti DD, MM d', + dateFormat: 'dd/mm/yy', firstDay: 0, + initStatus: 'Elekti la daton', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['eo']); +}); Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-es.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-es.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-es.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Inicializaci�n en espa�ol para la extensi�n 'UI date picker' para jQuery. */ +/* Traducido por Vester (xvester@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['es'] = { + clearText: 'Limpiar', clearStatus: '', + closeText: 'Cerrar', closeStatus: '', + prevText: '<Ant', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Sig>', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Hoy', currentStatus: '', + monthNames: ['Enero','Febrero','Marzo','Abril','Mayo','Junio', + 'Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'], + monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun', + 'Jul','Ago','Sep','Oct','Nov','Dic'], + monthStatus: '', yearStatus: '', + weekHeader: 'Sm', weekStatus: '', + dayNames: ['Domingo','Lunes','Martes','Miércoles','Jueves','Viernes','Sádabo'], + dayNamesShort: ['Dom','Lun','Mar','Mié','Juv','Vie','Sáb'], + dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','Sá'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd/mm/yy', firstDay: 0, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['es']); +}); \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-fi.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-fi.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-fi.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Finnish initialisation for the jQuery UI date picker plugin. */ +/* Written by Harri Kilpi� (harrikilpio@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['fi'] = { + clearText: 'Tyhjennä', clearStatus: '', + closeText: 'Sulje', closeStatus: '', + prevText: '«Edellinen', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Seuraava»', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Tänään', currentStatus: '', + monthNames: ['Tammikuu','Helmikuu','Maaliskuu','Huhtikuu','Toukokuu','Kesäkuu', + 'Heinäkuu','Elokuu','Syyskuu','Lokakuu','Marraskuu','Joulukuu'], + monthNamesShort: ['Tammi','Helmi','Maalis','Huhti','Touko','Kesä', + 'Heinä','Elo','Syys','Loka','Marras','Joulu'], + monthStatus: '', yearStatus: '', + weekHeader: 'Vk', weekStatus: '', + dayNamesShort: ['Su','Ma','Ti','Ke','To','Pe','Su'], + dayNames: ['Sunnuntai','Maanantai','Tiistai','Keskiviikko','Torstai','Perjantai','Lauantai'], + dayNamesMin: ['Su','Ma','Ti','Ke','To','Pe','La'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd.mm.yy', firstDay: 1, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['fi']); +}); Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-fr.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-fr.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-fr.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* French initialisation for the jQuery UI date picker plugin. */ +/* Written by Keith Wood (kbwood@virginbroadband.com.au) and Stéphane Nahmani (sholby@sholby.net). */ +jQuery(function($){ + $.datepicker.regional['fr'] = { + clearText: 'Effacer', clearStatus: '', + closeText: 'Fermer', closeStatus: 'Fermer sans modifier', + prevText: '<Préc', prevStatus: 'Voir le mois précédent', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Suiv>', nextStatus: 'Voir le mois suivant', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Courant', currentStatus: 'Voir le mois courant', + monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin', + 'Juillet','Août','Septembre','Octobre','Novembre','Décembre'], + monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun', + 'Jul','Aoû','Sep','Oct','Nov','Déc'], + monthStatus: 'Voir un autre mois', yearStatus: 'Voir un autre année', + weekHeader: 'Sm', weekStatus: '', + dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'], + dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'], + dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'], + dayStatus: 'Utiliser DD comme premier jour de la semaine', dateStatus: 'Choisir le DD, MM d', + dateFormat: 'dd/mm/yy', firstDay: 0, + initStatus: 'Choisir la date', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['fr']); +}); \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-he.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-he.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-he.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Hebrew initialisation for the UI Datepicker extension. */ +/* Written by Amir Hardon (ahardon at gmail dot com). */ +jQuery(function($){ + $.datepicker.regional['he'] = { + clearText: 'נקה', clearStatus: '', + closeText: 'סגור', closeStatus: '', + prevText: '<הקודם', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'הבא>', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'היום', currentStatus: '', + monthNames: ['ינואר','פברואר','מרץ','אפריל','מאי','יוני', + 'יולי','אוגוסט','ספטמבר','אוקטובר','נובמבר','דצמבר'], + monthNamesShort: ['1','2','3','4','5','6', + '7','8','9','10','11','12'], + monthStatus: '', yearStatus: '', + weekHeader: 'Sm', weekStatus: '', + dayNames: ['ראשון','שני','שלישי','רביעי','חמישי','שישי','שבת'], + dayNamesShort: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'], + dayNamesMin: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'], + dayStatus: 'DD', dateStatus: 'DD, M d', + dateFormat: 'dd/mm/yy', firstDay: 0, + initStatus: '', isRTL: true}; + $.datepicker.setDefaults($.datepicker.regional['he']); +}); Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-hr.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-hr.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-hr.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Croatian i18n for the jQuery UI date picker plugin. */ +/* Written by Vjekoslav Nesek. */ +jQuery(function($){ + $.datepicker.regional['hr'] = { + clearText: 'izbriši', clearStatus: 'Izbriši trenutni datum', + closeText: 'Zatvori', closeStatus: 'Zatvori kalendar', + prevText: '<', prevStatus: 'Prikaži prethodni mjesec', + prevBigText: '<<', prevBigStatus: '', + nextText: '>', nextStatus: 'Prikaži slijedeći mjesec', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Danas', currentStatus: 'Današnji datum', + monthNames: ['Siječanj','Veljača','Ožujak','Travanj','Svibanj','Lipani', + 'Srpanj','Kolovoz','Rujan','Listopad','Studeni','Prosinac'], + monthNamesShort: ['Sij','Velj','Ožu','Tra','Svi','Lip', + 'Srp','Kol','Ruj','Lis','Stu','Pro'], + monthStatus: 'Prikaži mjesece', yearStatus: 'Prikaži godine', + weekHeader: 'Tje', weekStatus: 'Tjedan', + dayNames: ['Nedjalja','Ponedjeljak','Utorak','Srijeda','Četvrtak','Petak','Subota'], + dayNamesShort: ['Ned','Pon','Uto','Sri','Čet','Pet','Sub'], + dayNamesMin: ['Ne','Po','Ut','Sr','Če','Pe','Su'], + dayStatus: 'Odaber DD za prvi dan tjedna', dateStatus: '\'Datum\' D, M d', + dateFormat: 'dd.mm.yy.', firstDay: 1, + initStatus: 'Odaberi datum', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['hr']); +}); \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-hu.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-hu.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-hu.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Hungarian initialisation for the jQuery UI date picker plugin. */ +/* Written by Istvan Karaszi (jquerycalendar@spam.raszi.hu). */ +jQuery(function($){ + $.datepicker.regional['hu'] = { + clearText: 'törlés', clearStatus: '', + closeText: 'bezárás', closeStatus: '', + prevText: '« vissza', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'előre »', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'ma', currentStatus: '', + monthNames: ['Január', 'Február', 'Március', 'Április', 'Május', 'Június', + 'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December'], + monthNamesShort: ['Jan', 'Feb', 'Már', 'Ápr', 'Máj', 'Jún', + 'Júl', 'Aug', 'Szep', 'Okt', 'Nov', 'Dec'], + monthStatus: '', yearStatus: '', + weekHeader: 'Hé', weekStatus: '', + dayNames: ['Vasámap', 'Hétfö', 'Kedd', 'Szerda', 'Csütörtök', 'Péntek', 'Szombat'], + dayNamesShort: ['Vas', 'Hét', 'Ked', 'Sze', 'Csü', 'Pén', 'Szo'], + dayNamesMin: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'yy-mm-dd', firstDay: 1, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['hu']); +}); Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-hy.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-hy.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-hy.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Armenian(UTF-8) initialisation for the jQuery UI date picker plugin. */ +/* Written by Levon Zakaryan (levon.zakaryan@gmail.com)*/ +jQuery(function($){ + $.datepicker.regional['hy'] = { + clearText: 'Մաքրել', clearStatus: '', + closeText: 'Փակել', closeStatus: '', + prevText: '<Նախ.', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Հաջ.>', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Այսօր', currentStatus: '', + monthNames: ['Հունվար','Փետրվար','Մարտ','Ապրիլ','Մայիս','Հունիս', + 'Հուլիս','Օգոստոս','Սեպտեմբեր','Հոկտեմբեր','Նոյեմբեր','Դեկտեմբեր'], + monthNamesShort: ['Հունվ','Փետր','Մարտ','Ապր','Մայիս','Հունիս', + 'Հուլ','Օգս','Սեպ','Հոկ','Նոյ','Դեկ'], + monthStatus: '', yearStatus: '', + weekHeader: 'ՇԲՏ', weekStatus: '', + dayNames: ['կիրակի','եկուշաբթի','երեքշաբթի','չորեքշաբթի','հինգշաբթի','ուրբաթ','շաբաթ'], + dayNamesShort: ['կիր','երկ','երք','չրք','հնգ','ուրբ','շբթ'], + dayNamesMin: ['կիր','երկ','երք','չրք','հնգ','ուրբ','շբթ'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd.mm.yy', firstDay: 1, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['hy']); +}); \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-id.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-id.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-id.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Indonesian initialisation for the jQuery UI date picker plugin. */ +/* Written by Deden Fathurahman (dedenf@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['id'] = { + clearText: 'kosongkan', clearStatus: 'bersihkan tanggal yang sekarang', + closeText: 'Tutup', closeStatus: 'Tutup tanpa mengubah', + prevText: '<mundur', prevStatus: 'Tampilkan bulan sebelumnya', + prevBigText: '<<', prevBigStatus: '', + nextText: 'maju>', nextStatus: 'Tampilkan bulan berikutnya', + nextBigText: '>>', nextBigStatus: '', + currentText: 'hari ini', currentStatus: 'Tampilkan bulan sekarang', + monthNames: ['Januari','Februari','Maret','April','Mei','Juni', + 'Juli','Agustus','September','Oktober','Nopember','Desember'], + monthNamesShort: ['Jan','Feb','Mar','Apr','Mei','Jun', + 'Jul','Agus','Sep','Okt','Nop','Des'], + monthStatus: 'Tampilkan bulan yang berbeda', yearStatus: 'Tampilkan tahun yang berbeda', + weekHeader: 'Mg', weekStatus: 'Minggu dalam tahun', + dayNames: ['Minggu','Senin','Selasa','Rabu','Kamis','Jumat','Sabtu'], + dayNamesShort: ['Min','Sen','Sel','Rab','kam','Jum','Sab'], + dayNamesMin: ['Mg','Sn','Sl','Rb','Km','jm','Sb'], + dayStatus: 'gunakan DD sebagai awal hari dalam minggu', dateStatus: 'pilih le DD, MM d', + dateFormat: 'dd/mm/yy', firstDay: 0, + initStatus: 'Pilih Tanggal', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['id']); +}); \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-is.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-is.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-is.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Icelandic initialisation for the jQuery UI date picker plugin. */ +/* Written by Haukur H. Thorsson (haukur@eskill.is). */ +jQuery(function($){ + $.datepicker.regional['is'] = { + clearText: 'Hreinsa', clearStatus: '', + closeText: 'Loka', closeStatus: '', + prevText: '< Fyrri', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Næsti >', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Í dag', currentStatus: '', + monthNames: ['Janúar','Febrúar','Mars','Apríl','Maí','Júní', + 'Júlí','Ágúst','September','Október','Nóvember','Desember'], + monthNamesShort: ['Jan','Feb','Mar','Apr','Maí','Jún', + 'Júl','Ágú','Sep','Okt','Nóv','Des'], + monthStatus: '', yearStatus: '', + weekHeader: 'Vika', weekStatus: '', + dayNames: ['Sunnudagur','Mánudagur','Þriðjudagur','Miðvikudagur','Fimmtudagur','Föstudagur','Laugardagur'], + dayNamesShort: ['Sun','Mán','Þri','Mið','Fim','Fös','Lau'], + dayNamesMin: ['Su','Má','Þr','Mi','Fi','Fö','La'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd/mm/yy', firstDay: 0, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['is']); +}); \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-it.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-it.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-it.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Italian initialisation for the jQuery UI date picker plugin. */ +/* Written by Apaella (apaella@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['it'] = { + clearText: 'Svuota', clearStatus: 'Annulla', + closeText: 'Chiudi', closeStatus: 'Chiudere senza modificare', + prevText: '<Prec', prevStatus: 'Mese precedente', + prevBigText: '<<', prevBigStatus: 'Mostra l\'anno precedente', + nextText: 'Succ>', nextStatus: 'Mese successivo', + nextBigText: '>>', nextBigStatus: 'Mostra l\'anno successivo', + currentText: 'Oggi', currentStatus: 'Mese corrente', + monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno', + 'Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'], + monthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu', + 'Lug','Ago','Set','Ott','Nov','Dic'], + monthStatus: 'Seleziona un altro mese', yearStatus: 'Seleziona un altro anno', + weekHeader: 'Sm', weekStatus: 'Settimana dell\'anno', + dayNames: ['Domenica','Lunedì','Martedì','Mercoledì','Giovedì','Venerdì','Sabato'], + dayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'], + dayNamesMin: ['Do','Lu','Ma','Me','Gio','Ve','Sa'], + dayStatus: 'Usa DD come primo giorno della settimana', dateStatus: 'Seleziona D, M d', + dateFormat: 'dd/mm/yy', firstDay: 1, + initStatus: 'Scegliere una data', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['it']); +}); Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-ja.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-ja.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-ja.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Japanese (UTF-8) initialisation for the jQuery UI date picker plugin. */ +/* Written by Milly. */ +jQuery(function($){ + $.datepicker.regional['ja'] = { + clearText: '削除', clearStatus: '', + closeText: '閉じる', closeStatus: '', + prevText: '<前月', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: '次月>', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: '今日', currentStatus: '', + monthNames: ['1月','2月','3月','4月','5月','6月', + '7月','8月','9月','10月','11月','12月'], + monthNamesShort: ['1月','2月','3月','4月','5月','6月', + '7月','8月','9月','10月','11月','12月'], + monthStatus: '', yearStatus: '', + weekHeader: 'Wk', weekStatus: '', + dayNames: ['日','月','火','水','木','金','土'], + dayNamesShort: ['日','月','火','水','木','金','土'], + dayNamesMin: ['日','月','火','水','木','金','土'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'yy/mm/dd', firstDay: 0, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['ja']); +}); \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-ko.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-ko.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-ko.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Korean initialisation for the jQuery calendar extension. */ +/* Written by DaeKwon Kang (ncrash.dk@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['ko'] = { + clearText: '지우기', clearStatus: '', + closeText: '닫기', closeStatus: '', + prevText: '이전달', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: '다음달', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: '오늘', currentStatus: '', + monthNames: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)', + '7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'], + monthNamesShort: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)', + '7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'], + monthStatus: '', yearStatus: '', + weekHeader: 'Wk', weekStatus: '', + dayNames: ['일','월','화','수','목','금','토'], + dayNamesShort: ['일','월','화','수','목','금','토'], + dayNamesMin: ['일','월','화','수','목','금','토'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'yy-mm-dd', firstDay: 0, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['ko']); +}); \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-lt.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-lt.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-lt.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Lithuanian (UTF-8) initialisation for the jQuery UI date picker plugin. */ +/* @author Arturas Paleicikas */ +jQuery(function($){ + $.datepicker.regional['lt'] = { + clearText: 'Išvalyti', clearStatus: '', + closeText: 'Uždaryti', closeStatus: '', + prevText: '<Atgal', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Pirmyn>', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Šiandien', currentStatus: '', + monthNames: ['Sausis','Vasaris','Kovas','Balandis','Gegužė','Birželis', + 'Liepa','Rugpjūtis','Rugsėjis','Spalis','Lapkritis','Gruodis'], + monthNamesShort: ['Sau','Vas','Kov','Bal','Geg','Bir', + 'Lie','Rugp','Rugs','Spa','Lap','Gru'], + monthStatus: '', yearStatus: '', + weekHeader: '', weekStatus: '', + dayNames: ['sekmadienis','pirmadienis','antradienis','trečiadienis','ketvirtadienis','penktadienis','šeštadienis'], + dayNamesShort: ['sek','pir','ant','tre','ket','pen','šeš'], + dayNamesMin: ['Se','Pr','An','Tr','Ke','Pe','Še'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'yy-mm-dd', firstDay: 1, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['lt']); +}); \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-lv.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-lv.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-lv.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Latvian (UTF-8) initialisation for the jQuery UI date picker plugin. */ +/* @author Arturas Paleicikas */ +jQuery(function($){ + $.datepicker.regional['lv'] = { + clearText: 'Notīrīt', clearStatus: '', + closeText: 'Aizvērt', closeStatus: '', + prevText: 'Iepr', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Nāka', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Šodien', currentStatus: '', + monthNames: ['Janvāris','Februāris','Marts','Aprīlis','Maijs','Jūnijs', + 'Jūlijs','Augusts','Septembris','Oktobris','Novembris','Decembris'], + monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jūn', + 'Jūl','Aug','Sep','Okt','Nov','Dec'], + monthStatus: '', yearStatus: '', + weekHeader: 'Nav', weekStatus: '', + dayNames: ['svētdiena','pirmdiena','otrdiena','trešdiena','ceturtdiena','piektdiena','sestdiena'], + dayNamesShort: ['svt','prm','otr','tre','ctr','pkt','sst'], + dayNamesMin: ['Sv','Pr','Ot','Tr','Ct','Pk','Ss'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd-mm-yy', firstDay: 1, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['lv']); +}); \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-nl.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-nl.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-nl.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Dutch (UTF-8) initialisation for the jQuery UI date picker plugin. */ +/* Written by ??? */ +jQuery(function($){ + $.datepicker.regional['nl'] = { + clearText: 'Wissen', clearStatus: 'Wis de huidige datum', + closeText: 'Sluiten', closeStatus: 'Sluit zonder verandering', + prevText: '<Terug', prevStatus: 'Laat de voorgaande maand zien', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Volgende>', nextStatus: 'Laat de volgende maand zien', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Vandaag', currentStatus: 'Laat de huidige maand zien', + monthNames: ['Januari','Februari','Maart','April','Mei','Juni', + 'Juli','Augustus','September','Oktober','November','December'], + monthNamesShort: ['Jan','Feb','Mrt','Apr','Mei','Jun', + 'Jul','Aug','Sep','Okt','Nov','Dec'], + monthStatus: 'Laat een andere maand zien', yearStatus: 'Laat een ander jaar zien', + weekHeader: 'Wk', weekStatus: 'Week van het jaar', + dayNames: ['Zondag','Maandag','Dinsdag','Woensdag','Donderdag','Vrijdag','Zaterdag'], + dayNamesShort: ['Zon','Maa','Din','Woe','Don','Vri','Zat'], + dayNamesMin: ['Zo','Ma','Di','Wo','Do','Vr','Za'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd.mm.yy', firstDay: 1, + initStatus: 'Kies een datum', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['nl']); +}); \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-no.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-no.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-no.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Norwegian initialisation for the jQuery UI date picker plugin. */ +/* Written by Naimdjon Takhirov (naimdjon@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['no'] = { + clearText: 'Tøm', clearStatus: '', + closeText: 'Lukk', closeStatus: '', + prevText: '«Forrige', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Neste»', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'I dag', currentStatus: '', + monthNames: ['Januar','Februar','Mars','April','Mai','Juni', + 'Juli','August','September','Oktober','November','Desember'], + monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jun', + 'Jul','Aug','Sep','Okt','Nov','Des'], + monthStatus: '', yearStatus: '', + weekHeader: 'Uke', weekStatus: '', + dayNamesShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'], + dayNames: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'], + dayNamesMin: ['Sø','Ma','Ti','On','To','Fr','Lø'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'yy-mm-dd', firstDay: 0, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['no']); +}); Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-pl.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-pl.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-pl.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Polish initialisation for the jQuery UI date picker plugin. */ +/* Written by Jacek Wysocki (jacek.wysocki@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['pl'] = { + clearText: 'Wyczyść', clearStatus: 'Wyczyść obecną datę', + closeText: 'Zamknij', closeStatus: 'Zamknij bez zapisywania', + prevText: '<Poprzedni', prevStatus: 'Pokaż poprzedni miesiąc', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Następny>', nextStatus: 'Pokaż następny miesiąc', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Dziś', currentStatus: 'Pokaż aktualny miesiąc', + monthNames: ['Styczeń','Luty','Marzec','Kwiecień','Maj','Czerwiec', + 'Lipiec','Sierpień','Wrzesień','Październik','Listopad','Grudzień'], + monthNamesShort: ['Sty','Lu','Mar','Kw','Maj','Cze', + 'Lip','Sie','Wrz','Pa','Lis','Gru'], + monthStatus: 'Pokaż inny miesiąc', yearStatus: 'Pokaż inny rok', + weekHeader: 'Tydz', weekStatus: 'Tydzień roku', + dayNames: ['Niedziela','Poniedzialek','Wtorek','Środa','Czwartek','Piątek','Sobota'], + dayNamesShort: ['Nie','Pn','Wt','Śr','Czw','Pt','So'], + dayNamesMin: ['N','Pn','Wt','Śr','Cz','Pt','So'], + dayStatus: 'Ustaw DD jako pierwszy dzień tygodnia', dateStatus: 'Wybierz D, M d', + dateFormat: 'yy-mm-dd', firstDay: 1, + initStatus: 'Wybierz datę', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['pl']); +}); Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-pt-BR.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-pt-BR.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-pt-BR.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Brazilian initialisation for the jQuery UI date picker plugin. */ +/* Written by Leonildo Costa Silva (leocsilva@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['pt-BR'] = { + clearText: 'Limpar', clearStatus: '', + closeText: 'Fechar', closeStatus: '', + prevText: '<Anterior', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Próximo>', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Hoje', currentStatus: '', + monthNames: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho', + 'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'], + monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun', + 'Jul','Ago','Set','Out','Nov','Dez'], + monthStatus: '', yearStatus: '', + weekHeader: 'Sm', weekStatus: '', + dayNames: ['Domingo','Segunda-feira','Terça-feira','Quarta-feira','Quinta-feira','Sexta-feira','Sabado'], + dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'], + dayNamesMin: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd/mm/yy', firstDay: 0, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['pt-BR']); +}); \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-ro.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-ro.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-ro.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Romanian initialisation for the jQuery UI date picker plugin. */ +/* Written by Edmond L. (ll_edmond@walla.com). */ +jQuery(function($){ + $.datepicker.regional['ro'] = { + clearText: 'Curat', clearStatus: 'Sterge data curenta', + closeText: 'Inchide', closeStatus: 'Inchide fara schimbare', + prevText: '<Anterior', prevStatus: 'Arata luna trecuta', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Urmator>', nextStatus: 'Arata luna urmatoare', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Azi', currentStatus: 'Arata luna curenta', + monthNames: ['Ianuarie','Februarie','Martie','Aprilie','Mai','Junie', + 'Julie','August','Septembrie','Octobrie','Noiembrie','Decembrie'], + monthNamesShort: ['Ian', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', + 'Jul', 'Aug', 'Sep', 'Oct', 'Noi', 'Dec'], + monthStatus: 'Arata o luna diferita', yearStatus: 'Arat un an diferit', + weekHeader: 'Sapt', weekStatus: 'Saptamana anului', + dayNames: ['Duminica', 'Luni', 'Marti', 'Miercuri', 'Joi', 'Vineri', 'Sambata'], + dayNamesShort: ['Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sam'], + dayNamesMin: ['Du','Lu','Ma','Mi','Jo','Vi','Sa'], + dayStatus: 'Seteaza DD ca prima saptamana zi', dateStatus: 'Selecteaza D, M d', + dateFormat: 'mm/dd/yy', firstDay: 0, + initStatus: 'Selecteaza o data', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['ro']); +}); Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-ru.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-ru.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-ru.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Russian (UTF-8) initialisation for the jQuery UI date picker plugin. */ +/* Written by Andrew Stromnov (stromnov@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['ru'] = { + clearText: 'Очистить', clearStatus: '', + closeText: 'Закрыть', closeStatus: '', + prevText: '<Пред', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'След>', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Сегодня', currentStatus: '', + monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь', + 'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'], + monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн', + 'Июл','Авг','Сен','Окт','Ноя','Дек'], + monthStatus: '', yearStatus: '', + weekHeader: 'Не', weekStatus: '', + dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'], + dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'], + dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd.mm.yy', firstDay: 1, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['ru']); +}); \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-sk.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-sk.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-sk.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Slovak initialisation for the jQuery UI date picker plugin. */ +/* Written by Vojtech Rinik (vojto@hmm.sk). */ +jQuery(function($){ + $.datepicker.regional['sk'] = { + clearText: 'Zmazať', clearStatus: '', + closeText: 'Zavrieť', closeStatus: '', + prevText: '<Predchádzajúci', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Nasledujúci>', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Dnes', currentStatus: '', + monthNames: ['Január','Február','Marec','Apríl','Máj','Jún', + 'Júl','August','September','Október','November','December'], + monthNamesShort: ['Jan','Feb','Mar','Apr','Máj','Jún', + 'Júl','Aug','Sep','Okt','Nov','Dec'], + monthStatus: '', yearStatus: '', + weekHeader: 'Ty', weekStatus: '', + dayNames: ['Nedel\'a','Pondelok','Utorok','Streda','Štvrtok','Piatok','Sobota'], + dayNamesShort: ['Ned','Pon','Uto','Str','Štv','Pia','Sob'], + dayNamesMin: ['Ne','Po','Ut','St','Št','Pia','So'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd.mm.yy', firstDay: 0, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['sk']); +}); Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-sl.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-sl.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-sl.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,23 @@ +/* Slovenian initialisation for the jQuery UI date picker plugin. */ +/* Written by Jaka Jancar (jaka@kubje.org). */ +/* c = č, s = š z = ž C = Č S = Š Z = Ž */ +jQuery(function($){ + $.datepicker.regional['sl'] = {clearText: 'Izbriši', clearStatus: 'Izbriši trenutni datum', + closeText: 'Zapri', closeStatus: 'Zapri brez spreminjanja', + prevText: '<Prejšnji', prevStatus: 'Prikaži prejšnji mesec', + nextText: 'Naslednji>', nextStatus: 'Prikaži naslednji mesec', + currentText: 'Trenutni', currentStatus: 'Prikaži trenutni mesec', + monthNames: ['Januar','Februar','Marec','April','Maj','Junij', + 'Julij','Avgust','September','Oktober','November','December'], + monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun', + 'Jul','Avg','Sep','Okt','Nov','Dec'], + monthStatus: 'Prikaži drug mesec', yearStatus: 'Prikaži drugo leto', + weekHeader: 'Teden', weekStatus: 'Teden v letu', + dayNames: ['Nedelja','Ponedeljek','Torek','Sreda','Četrtek','Petek','Sobota'], + dayNamesShort: ['Ned','Pon','Tor','Sre','Čet','Pet','Sob'], + dayNamesMin: ['Ne','Po','To','Sr','Če','Pe','So'], + dayStatus: 'Nastavi DD za prvi dan v tednu', dateStatus: 'Izberi DD, d MM yy', + dateFormat: 'dd.mm.yy', firstDay: 1, + initStatus: 'Izbira datuma', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['sl']); +}); Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-sv.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-sv.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-sv.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Swedish initialisation for the jQuery UI date picker plugin. */ +/* Written by Anders Ekdahl ( anders@nomadiz.se). */ +jQuery(function($){ + $.datepicker.regional['sv'] = { + clearText: 'Rensa', clearStatus: '', + closeText: 'Stäng', closeStatus: '', + prevText: '«Förra', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'Nästa»', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Idag', currentStatus: '', + monthNames: ['Januari','Februari','Mars','April','Maj','Juni', + 'Juli','Augusti','September','Oktober','November','December'], + monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun', + 'Jul','Aug','Sep','Okt','Nov','Dec'], + monthStatus: '', yearStatus: '', + weekHeader: 'Ve', weekStatus: '', + dayNamesShort: ['Sön','Mån','Tis','Ons','Tor','Fre','Lör'], + dayNames: ['Söndag','Måndag','Tisdag','Onsdag','Torsdag','Fredag','Lördag'], + dayNamesMin: ['Sö','Må','Ti','On','To','Fr','Lö'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'yy-mm-dd', firstDay: 1, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['sv']); +}); Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-th.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-th.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-th.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Thai initialisation for the jQuery UI date picker plugin. */ +/* Written by pipo (pipo@sixhead.com). */ +jQuery(function($){ + $.datepicker.regional['th'] = { + clearText: 'ลบ', clearStatus: '', + closeText: 'ปิด', closeStatus: '', + prevText: '« ย้อน', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: 'ถัดไป »', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'วันนี้', currentStatus: '', + monthNames: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน', + 'กรกฏาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'], + monthNamesShort: ['ม.ค.','ก.พ.','มี.ค.','เม.ย.','พ.ค.','มิ.ย.', + 'ก.ค.','ส.ค.','ก.ย.','ต.ค.','พ.ย.','ธ.ค.'], + monthStatus: '', yearStatus: '', + weekHeader: 'Sm', weekStatus: '', + dayNames: ['อาทิตย์','จันทร์','อังคาร','พุธ','พฤหัสบดี','ศุกร์','เสาร์'], + dayNamesShort: ['อา.','จ.','อ.','พ.','พฤ.','ศ.','ส.'], + dayNamesMin: ['อา.','จ.','อ.','พ.','พฤ.','ศ.','ส.'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd/mm/yy', firstDay: 0, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['th']); +}); \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-tr.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-tr.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-tr.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Turkish initialisation for the jQuery UI date picker plugin. */ +/* Written by Izzet Emre Erkan (kara@karalamalar.net). */ +jQuery(function($){ + $.datepicker.regional['tr'] = { + clearText: 'temizle', clearStatus: 'geçerli tarihi temizler', + closeText: 'kapat', closeStatus: 'sadece göstergeyi kapat', + prevText: '<geri', prevStatus: 'önceki ayı göster', + prevBigText: '<<', prevBigStatus: '', + nextText: 'ileri>', nextStatus: 'sonraki ayı göster', + nextBigText: '>>', nextBigStatus: '', + currentText: 'bugün', currentStatus: '', + monthNames: ['Ocak','Şubat','Mart','Nisan','Mayıs','Haziran', + 'Temmuz','Ağustos','Eylül','Ekim','Kasım','Aralık'], + monthNamesShort: ['Oca','Şub','Mar','Nis','May','Haz', + 'Tem','Ağu','Eyl','Eki','Kas','Ara'], + monthStatus: 'başka ay', yearStatus: 'başka yıl', + weekHeader: 'Hf', weekStatus: 'Ayın haftaları', + dayNames: ['Pazar','Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi'], + dayNamesShort: ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'], + dayNamesMin: ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'], + dayStatus: 'Haftanın ilk gününü belirleyin', dateStatus: 'D, M d seçiniz', + dateFormat: 'dd.mm.yy', firstDay: 1, + initStatus: 'Bir tarih seçiniz', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['tr']); +}); \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-uk.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-uk.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-uk.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Ukrainian (UTF-8) initialisation for the jQuery UI date picker plugin. */ +/* Written by Maxim Drogobitskiy (maxdao@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['uk'] = { + clearText: 'Очистити', clearStatus: '', + closeText: 'Закрити', closeStatus: '', + prevText: '<', prevStatus: '', + prevBigText: '<<', prevBigStatus: '', + nextText: '>', nextStatus: '', + nextBigText: '>>', nextBigStatus: '', + currentText: 'Сьогодні', currentStatus: '', + monthNames: ['Січень','Лютий','Березень','Квітень','Травень','Червень', + 'Липень','Серпень','Вересень','Жовтень','Листопад','Грудень'], + monthNamesShort: ['Січ','Лют','Бер','Кві','Тра','Чер', + 'Лип','Сер','Вер','Жов','Лис','Гру'], + monthStatus: '', yearStatus: '', + weekHeader: 'Не', weekStatus: '', + dayNames: ['неділя','понеділок','вівторок','середа','четвер','пятниця','суббота'], + dayNamesShort: ['нед','пнд','вів','срд','чтв','птн','сбт'], + dayNamesMin: ['Нд','Пн','Вт','Ср','Чт','Пт','Сб'], + dayStatus: 'DD', dateStatus: 'D, M d', + dateFormat: 'dd.mm.yy', firstDay: 1, + initStatus: '', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['uk']); +}); \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-zh-CN.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-zh-CN.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-zh-CN.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Chinese initialisation for the jQuery UI date picker plugin. */ +/* Written by Cloudream (cloudream@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['zh-CN'] = { + clearText: '清除', clearStatus: '清除已选日期', + closeText: '关闭', closeStatus: '不改变当前选择', + prevText: '<上月', prevStatus: '显示上月', + prevBigText: '<<', prevBigStatus: '显示上一年', + nextText: '下月>', nextStatus: '显示下月', + nextBigText: '>>', nextBigStatus: '显示下一年', + currentText: '今天', currentStatus: '显示本月', + monthNames: ['一月','二月','三月','四月','五月','六月', + '七月','八月','九月','十月','十一月','十二月'], + monthNamesShort: ['一','二','三','四','五','六', + '七','八','九','十','十一','十二'], + monthStatus: '选择月份', yearStatus: '选择年份', + weekHeader: '周', weekStatus: '年内周次', + dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'], + dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'], + dayNamesMin: ['日','一','二','三','四','五','六'], + dayStatus: '设置 DD 为一周起始', dateStatus: '选择 m月 d日, DD', + dateFormat: 'yy-mm-dd', firstDay: 1, + initStatus: '请选择日期', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['zh-CN']); +}); Index: lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-zh-TW.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/i18n/Attic/ui.datepicker-zh-TW.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/i18n/ui.datepicker-zh-TW.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,25 @@ +/* Chinese initialisation for the jQuery UI date picker plugin. */ +/* Written by Ressol (ressol@gmail.com). */ +jQuery(function($){ + $.datepicker.regional['zh-TW'] = { + clearText: '清除', clearStatus: '清除已選日期', + closeText: '關閉', closeStatus: '不改變目前的選擇', + prevText: '<上月', prevStatus: '顯示上月', + prevBigText: '<<', prevBigStatus: '顯示上一年', + nextText: '下月>', nextStatus: '顯示下月', + nextBigText: '>>', nextBigStatus: '顯示下一年', + currentText: '今天', currentStatus: '顯示本月', + monthNames: ['一月','二月','三月','四月','五月','六月', + '七月','八月','九月','十月','十一月','十二月'], + monthNamesShort: ['一','二','三','四','五','六', + '七','八','九','十','十一','十二'], + monthStatus: '選擇月份', yearStatus: '選擇年份', + weekHeader: '周', weekStatus: '年內周次', + dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'], + dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'], + dayNamesMin: ['日','一','二','三','四','五','六'], + dayStatus: '設定 DD 為一周起始', dateStatus: '選擇 m月 d日, DD', + dateFormat: 'yy/mm/dd', firstDay: 1, + initStatus: '請選擇日期', isRTL: false}; + $.datepicker.setDefaults($.datepicker.regional['zh-TW']); +}); Index: lams_central/web/includes/javascript/jquery-ui/ui/minified/effects.blind.min.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/minified/Attic/effects.blind.min.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/minified/effects.blind.min.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1 @@ +(function(A){A.effects.blind=function(B){return this.queue(function(){var D=A(this),C=["position","top","left"];var H=A.effects.setMode(D,B.options.mode||"hide");var G=B.options.direction||"vertical";A.effects.save(D,C);D.show();var J=A.effects.createWrapper(D).css({overflow:"hidden"});var E=(G=="vertical")?"height":"width";var I=(G=="vertical")?J.height():J.width();if(H=="show"){J.css(E,0)}var F={};F[E]=H=="show"?I:0;J.animate(F,B.duration,B.options.easing,function(){if(H=="hide"){D.hide()}A.effects.restore(D,C);A.effects.removeWrapper(D);if(B.callback){B.callback.apply(D[0],arguments)}D.dequeue()})})}})(jQuery) \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/minified/effects.bounce.min.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/minified/Attic/effects.bounce.min.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/minified/effects.bounce.min.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1 @@ +(function(A){A.effects.bounce=function(B){return this.queue(function(){var E=A(this),K=["position","top","left"];var J=A.effects.setMode(E,B.options.mode||"effect");var M=B.options.direction||"up";var C=B.options.distance||20;var D=B.options.times||5;var G=B.duration||250;if(/show|hide/.test(J)){K.push("opacity")}A.effects.save(E,K);E.show();A.effects.createWrapper(E);var F=(M=="up"||M=="down")?"top":"left";var O=(M=="up"||M=="left")?"pos":"neg";var C=B.options.distance||(F=="top"?E.outerHeight({margin:true})/3:E.outerWidth({margin:true})/3);if(J=="show"){E.css("opacity",0).css(F,O=="pos"?-C:C)}if(J=="hide"){C=C/(D*2)}if(J!="hide"){D--}if(J=="show"){var H={opacity:1};H[F]=(O=="pos"?"+=":"-=")+C;E.animate(H,G/2,B.options.easing);C=C/2;D--}for(var I=0;I
    ');var I=F.parent();if(F.css("position")=="static"){I.css({position:"relative"});F.css({position:"relative"})}else{var H=F.css("top");if(isNaN(parseInt(H))){H="auto"}var G=F.css("left");if(isNaN(parseInt(G))){G="auto"}I.css({position:F.css("position"),top:H,left:G,zIndex:F.css("z-index")}).show();F.css({position:"relative",top:0,left:0})}I.css(E);return I},removeWrapper:function(E){if(E.parent().attr("id")=="fxWrapper"){return E.parent().replaceWith(E)}return E},setTransition:function(F,G,E,H){H=H||{};C.each(G,function(J,I){unit=F.cssUnit(I);if(unit[0]>0){H[I]=unit[0]*E+unit[1]}});return H},animateClass:function(G,H,J,I){var E=(typeof J=="function"?J:(I?I:null));var F=(typeof J=="object"?J:null);return this.each(function(){var O={};var M=C(this);var N=M.attr("style")||"";if(typeof N=="object"){N=N["cssText"]}if(G.toggle){M.hasClass(G.toggle)?G.remove=G.toggle:G.add=G.toggle}var K=C.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));if(G.add){M.addClass(G.add)}if(G.remove){M.removeClass(G.remove)}var L=C.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));if(G.add){M.removeClass(G.add)}if(G.remove){M.addClass(G.remove)}for(var P in L){if(typeof L[P]!="function"&&L[P]&&P.indexOf("Moz")==-1&&P.indexOf("length")==-1&&L[P]!=K[P]&&(P.match(/color/i)||(!P.match(/color/i)&&!isNaN(parseInt(L[P],10))))&&(K.position!="static"||(K.position=="static"&&!P.match(/left|top|bottom|right/)))){O[P]=L[P]}}M.animate(O,H,F,function(){if(typeof C(this).attr("style")=="object"){C(this).attr("style")["cssText"]="";C(this).attr("style")["cssText"]=N}else{C(this).attr("style",N)}if(G.add){C(this).addClass(G.add)}if(G.remove){C(this).removeClass(G.remove)}if(E){E.apply(this,arguments)}})})}});C.fn.extend({_show:C.fn.show,_hide:C.fn.hide,__toggle:C.fn.toggle,_addClass:C.fn.addClass,_removeClass:C.fn.removeClass,_toggleClass:C.fn.toggleClass,effect:function(E,G,F,H){return C.effects[E]?C.effects[E].call(this,{method:E,options:G||{},duration:F,callback:H}):null},show:function(){if(!arguments[0]||(arguments[0].constructor==Number||/(slow|normal|fast)/.test(arguments[0]))){return this._show.apply(this,arguments)}else{var E=arguments[1]||{};E["mode"]="show";return this.effect.apply(this,[arguments[0],E,arguments[2]||E.duration,arguments[3]||E.callback])}},hide:function(){if(!arguments[0]||(arguments[0].constructor==Number||/(slow|normal|fast)/.test(arguments[0]))){return this._hide.apply(this,arguments)}else{var E=arguments[1]||{};E["mode"]="hide";return this.effect.apply(this,[arguments[0],E,arguments[2]||E.duration,arguments[3]||E.callback])}},toggle:function(){if(!arguments[0]||(arguments[0].constructor==Number||/(slow|normal|fast)/.test(arguments[0]))||(arguments[0].constructor==Function)){return this.__toggle.apply(this,arguments)}else{var E=arguments[1]||{};E["mode"]="toggle";return this.effect.apply(this,[arguments[0],E,arguments[2]||E.duration,arguments[3]||E.callback])}},addClass:function(F,E,H,G){return E?C.effects.animateClass.apply(this,[{add:F},E,H,G]):this._addClass(F)},removeClass:function(F,E,H,G){return E?C.effects.animateClass.apply(this,[{remove:F},E,H,G]):this._removeClass(F)},toggleClass:function(F,E,H,G){return E?C.effects.animateClass.apply(this,[{toggle:F},E,H,G]):this._toggleClass(F)},morph:function(E,G,F,I,H){return C.effects.animateClass.apply(this,[{add:G,remove:E},F,I,H])},switchClass:function(){return this.morph.apply(this,arguments)},cssUnit:function(E){var F=this.css(E),G=[];C.each(["em","px","%","pt"],function(H,I){if(F.indexOf(I)>0){G=[parseFloat(F),I]}});return G}});jQuery.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(F,E){jQuery.fx.step[E]=function(G){if(G.state==0){G.start=D(G.elem,E);G.end=B(G.end)}G.elem.style[E]="rgb("+[Math.max(Math.min(parseInt((G.pos*(G.end[0]-G.start[0]))+G.start[0]),255),0),Math.max(Math.min(parseInt((G.pos*(G.end[1]-G.start[1]))+G.start[1]),255),0),Math.max(Math.min(parseInt((G.pos*(G.end[2]-G.start[2]))+G.start[2]),255),0)].join(",")+")"}});function B(F){var E;if(F&&F.constructor==Array&&F.length==3){return F}if(E=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(F)){return[parseInt(E[1]),parseInt(E[2]),parseInt(E[3])]}if(E=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(F)){return[parseFloat(E[1])*2.55,parseFloat(E[2])*2.55,parseFloat(E[3])*2.55]}if(E=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(F)){return[parseInt(E[1],16),parseInt(E[2],16),parseInt(E[3],16)]}if(E=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(F)){return[parseInt(E[1]+E[1],16),parseInt(E[2]+E[2],16),parseInt(E[3]+E[3],16)]}if(E=/rgba\(0, 0, 0, 0\)/.exec(F)){return A["transparent"]}return A[jQuery.trim(F).toLowerCase()]}function D(G,E){var F;do{F=jQuery.curCSS(G,E);if(F!=""&&F!="transparent"||jQuery.nodeName(G,"body")){break}E="backgroundColor"}while(G=G.parentNode);return B(F)}var A={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]};jQuery.easing["jswing"]=jQuery.easing["swing"];jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(F,G,E,I,H){return jQuery.easing[jQuery.easing.def](F,G,E,I,H)},easeInQuad:function(F,G,E,I,H){return I*(G/=H)*G+E},easeOutQuad:function(F,G,E,I,H){return -I*(G/=H)*(G-2)+E},easeInOutQuad:function(F,G,E,I,H){if((G/=H/2)<1){return I/2*G*G+E}return -I/2*((--G)*(G-2)-1)+E},easeInCubic:function(F,G,E,I,H){return I*(G/=H)*G*G+E},easeOutCubic:function(F,G,E,I,H){return I*((G=G/H-1)*G*G+1)+E},easeInOutCubic:function(F,G,E,I,H){if((G/=H/2)<1){return I/2*G*G*G+E}return I/2*((G-=2)*G*G+2)+E},easeInQuart:function(F,G,E,I,H){return I*(G/=H)*G*G*G+E},easeOutQuart:function(F,G,E,I,H){return -I*((G=G/H-1)*G*G*G-1)+E},easeInOutQuart:function(F,G,E,I,H){if((G/=H/2)<1){return I/2*G*G*G*G+E}return -I/2*((G-=2)*G*G*G-2)+E},easeInQuint:function(F,G,E,I,H){return I*(G/=H)*G*G*G*G+E},easeOutQuint:function(F,G,E,I,H){return I*((G=G/H-1)*G*G*G*G+1)+E},easeInOutQuint:function(F,G,E,I,H){if((G/=H/2)<1){return I/2*G*G*G*G*G+E}return I/2*((G-=2)*G*G*G*G+2)+E},easeInSine:function(F,G,E,I,H){return -I*Math.cos(G/H*(Math.PI/2))+I+E},easeOutSine:function(F,G,E,I,H){return I*Math.sin(G/H*(Math.PI/2))+E},easeInOutSine:function(F,G,E,I,H){return -I/2*(Math.cos(Math.PI*G/H)-1)+E},easeInExpo:function(F,G,E,I,H){return(G==0)?E:I*Math.pow(2,10*(G/H-1))+E},easeOutExpo:function(F,G,E,I,H){return(G==H)?E+I:I*(-Math.pow(2,-10*G/H)+1)+E},easeInOutExpo:function(F,G,E,I,H){if(G==0){return E}if(G==H){return E+I}if((G/=H/2)<1){return I/2*Math.pow(2,10*(G-1))+E}return I/2*(-Math.pow(2,-10*--G)+2)+E},easeInCirc:function(F,G,E,I,H){return -I*(Math.sqrt(1-(G/=H)*G)-1)+E},easeOutCirc:function(F,G,E,I,H){return I*Math.sqrt(1-(G=G/H-1)*G)+E},easeInOutCirc:function(F,G,E,I,H){if((G/=H/2)<1){return -I/2*(Math.sqrt(1-G*G)-1)+E}return I/2*(Math.sqrt(1-(G-=2)*G)+1)+E},easeInElastic:function(F,H,E,L,K){var I=1.70158;var J=0;var G=L;if(H==0){return E}if((H/=K)==1){return E+L}if(!J){J=K*0.3}if(G
").css({position:"absolute",visibility:"visible",left:-D*(G/E),top:-F*(C/I)}).parent().addClass("effects-explode").css({position:"absolute",overflow:"hidden",width:G/E,height:C/I,left:J.left+D*(G/E)+(B.options.mode=="show"?(D-Math.floor(E/2))*(G/E):0),top:J.top+F*(C/I)+(B.options.mode=="show"?(F-Math.floor(I/2))*(C/I):0),opacity:B.options.mode=="show"?0:1}).animate({left:J.left+D*(G/E)+(B.options.mode=="show"?0:(D-Math.floor(E/2))*(G/E)),top:J.top+F*(C/I)+(B.options.mode=="show"?0:(F-Math.floor(I/2))*(C/I)),opacity:B.options.mode=="show"?1:0},B.duration||500)}}setTimeout(function(){B.options.mode=="show"?H.css({visibility:"visible"}):H.css({visibility:"visible"}).hide();if(B.callback){B.callback.apply(H[0])}H.dequeue();A(".effects-explode").remove()},B.duration||500)})}})(jQuery) \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/minified/effects.fold.min.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/minified/Attic/effects.fold.min.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/minified/effects.fold.min.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1 @@ +(function(A){A.effects.fold=function(B){return this.queue(function(){var E=A(this),J=["position","top","left"];var G=A.effects.setMode(E,B.options.mode||"hide");var N=B.options.size||15;var M=!(!B.options.horizFirst);A.effects.save(E,J);E.show();var D=A.effects.createWrapper(E).css({overflow:"hidden"});var H=((G=="show")!=M);var F=H?["width","height"]:["height","width"];var C=H?[D.width(),D.height()]:[D.height(),D.width()];var I=/([0-9]+)%/.exec(N);if(I){N=parseInt(I[1])/100*C[G=="hide"?0:1]}if(G=="show"){D.css(M?{height:0,width:N}:{height:N,width:0})}var L={},K={};L[F[0]]=G=="show"?C[0]:N;K[F[1]]=G=="show"?C[1]:0;D.animate(L,B.duration/2,B.options.easing).animate(K,B.duration/2,B.options.easing,function(){if(G=="hide"){E.hide()}A.effects.restore(E,J);A.effects.removeWrapper(E);if(B.callback){B.callback.apply(E[0],arguments)}E.dequeue()})})}})(jQuery) \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/minified/effects.highlight.min.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/minified/Attic/effects.highlight.min.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/minified/effects.highlight.min.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1 @@ +(function(A){A.effects.highlight=function(B){return this.queue(function(){var E=A(this),D=["backgroundImage","backgroundColor","opacity"];var H=A.effects.setMode(E,B.options.mode||"show");var C=B.options.color||"#ffff99";var G=E.css("backgroundColor");A.effects.save(E,D);E.show();E.css({backgroundImage:"none",backgroundColor:C});var F={backgroundColor:G};if(H=="hide"){F["opacity"]=0}E.animate(F,{queue:false,duration:B.duration,easing:B.options.easing,complete:function(){if(H=="hide"){E.hide()}A.effects.restore(E,D);if(H=="show"&&jQuery.browser.msie){this.style.removeAttribute("filter")}if(B.callback){B.callback.apply(this,arguments)}E.dequeue()}})})}})(jQuery) \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/minified/effects.pulsate.min.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/minified/Attic/effects.pulsate.min.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/minified/effects.pulsate.min.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1 @@ +(function(A){A.effects.pulsate=function(B){return this.queue(function(){var D=A(this);var F=A.effects.setMode(D,B.options.mode||"show");var E=B.options.times||5;if(F=="hide"){E--}if(D.is(":hidden")){D.css("opacity",0);D.show();D.animate({opacity:1},B.duration/2,B.options.easing);E=E-2}for(var C=0;C').appendTo(document.body);if(B.options.className){D.addClass(B.options.className)}D.addClass(B.options.className);D.css({top:C.top,left:C.left,height:E.outerHeight()-parseInt(D.css("borderTopWidth"))-parseInt(D.css("borderBottomWidth")),width:E.outerWidth()-parseInt(D.css("borderLeftWidth"))-parseInt(D.css("borderRightWidth")),position:"absolute"});C=F.offset();animation={top:C.top,left:C.left,height:F.outerHeight()-parseInt(D.css("borderTopWidth"))-parseInt(D.css("borderBottomWidth")),width:F.outerWidth()-parseInt(D.css("borderLeftWidth"))-parseInt(D.css("borderRightWidth"))};D.animate(animation,B.duration,B.options.easing,function(){D.remove();if(B.callback){B.callback.apply(E[0],arguments)}E.dequeue()})})}})(jQuery) \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/minified/jquery.ui.all.min.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/minified/Attic/jquery.ui.all.min.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/minified/jquery.ui.all.min.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1 @@ +(function(D){var C=D.fn.remove;D.fn.remove=function(){D("*",this).add(this).triggerHandler("remove");return C.apply(this,arguments)};function B(E){function G(H){var I=H.style;return(I.display!="none"&&I.visibility!="hidden")}var F=G(E);(F&&D.each(D.dir(E,"parentNode"),function(){return(F=G(this))}));return F}D.extend(D.expr[":"],{data:function(F,G,E){return D.data(F,E[3])},tabbable:function(F,G,E){var H=F.nodeName.toLowerCase();return(F.tabIndex>=0&&(("a"==H&&F.href)||(/input|select|textarea|button/.test(H)&&"hidden"!=F.type&&!F.disabled))&&B(F))}});D.keyCode={BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38};function A(H,I,J,G){function F(L){var K=D[H][I][L]||[];return(typeof K=="string"?K.split(/,?\s+/):K)}var E=F("getter");if(G.length==1&&typeof G[0]=="string"){E=E.concat(F("getterSetter"))}return(D.inArray(J,E)!=-1)}D.widget=function(F,E){var G=F.split(".")[0];F=F.split(".")[1];D.fn[F]=function(K){var I=(typeof K=="string"),J=Array.prototype.slice.call(arguments,1);if(I&&K.substring(0,1)=="_"){return this}if(I&&A(G,F,K,J)){var H=D.data(this[0],F);return(H?H[K].apply(H,J):undefined)}return this.each(function(){var L=D.data(this,F);(!L&&!I&&D.data(this,F,new D[G][F](this,K)));(L&&I&&D.isFunction(L[K])&&L[K].apply(L,J))})};D[G][F]=function(J,I){var H=this;this.widgetName=F;this.widgetEventPrefix=D[G][F].eventPrefix||F;this.widgetBaseClass=G+"-"+F;this.options=D.extend({},D.widget.defaults,D[G][F].defaults,D.metadata&&D.metadata.get(J)[F],I);this.element=D(J).bind("setData."+F,function(M,K,L){return H._setData(K,L)}).bind("getData."+F,function(L,K){return H._getData(K)}).bind("remove",function(){return H.destroy()});this._init()};D[G][F].prototype=D.extend({},D.widget.prototype,E);D[G][F].getterSetter="option"};D.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName)},option:function(G,H){var F=G,E=this;if(typeof G=="string"){if(H===undefined){return this._getData(G)}F={};F[G]=H}D.each(F,function(I,J){E._setData(I,J)})},_getData:function(E){return this.options[E]},_setData:function(E,F){this.options[E]=F;if(E=="disabled"){this.element[F?"addClass":"removeClass"](this.widgetBaseClass+"-disabled")}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(F,H,G){var E=(F==this.widgetEventPrefix?F:this.widgetEventPrefix+F);H=H||D.event.fix({type:E,target:this.element[0]});return this.element.triggerHandler(E,[H,G],this.options[F])}};D.widget.defaults={disabled:false};D.ui={plugin:{add:function(F,G,I){var H=D.ui[F].prototype;for(var E in I){H.plugins[E]=H.plugins[E]||[];H.plugins[E].push([G,I[E]])}},call:function(E,G,F){var I=E.plugins[G];if(!I){return }for(var H=0;H').addClass(E).css({position:"absolute",top:"-5000px",left:"-5000px",display:"block"}).appendTo("body");D.ui.cssCache[E]=!!((!(/auto|default/).test(F.css("cursor"))||(/^[1-9]/).test(F.css("height"))||(/^[1-9]/).test(F.css("width"))||!(/none/).test(F.css("backgroundImage"))||!(/transparent|rgba\(0, 0, 0, 0\)/).test(F.css("backgroundColor"))));try{D("body").get(0).removeChild(F.get(0))}catch(G){}return D.ui.cssCache[E]},disableSelection:function(E){return D(E).attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},enableSelection:function(E){return D(E).attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},hasScroll:function(H,F){if(D(H).css("overflow")=="hidden"){return false}var E=(F&&F=="left")?"scrollLeft":"scrollTop",G=false;if(H[E]>0){return true}H[E]=1;G=(H[E]>0);H[E]=0;return G}};D.ui.mouse={_mouseInit:function(){var E=this;this.element.bind("mousedown."+this.widgetName,function(F){return E._mouseDown(F)});if(D.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(D.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(G){(this._mouseStarted&&this._mouseUp(G));this._mouseDownEvent=G;var F=this,H=(G.which==1),E=(typeof this.options.cancel=="string"?D(G.target).parents().add(G.target).filter(this.options.cancel).length:false);if(!H||E||!this._mouseCapture(G)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){F.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(G)&&this._mouseDelayMet(G)){this._mouseStarted=(this._mouseStart(G)!==false);if(!this._mouseStarted){G.preventDefault();return true}}this._mouseMoveDelegate=function(I){return F._mouseMove(I)};this._mouseUpDelegate=function(I){return F._mouseUp(I)};D(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);return false},_mouseMove:function(E){if(D.browser.msie&&!E.button){return this._mouseUp(E)}if(this._mouseStarted){this._mouseDrag(E);return false}if(this._mouseDistanceMet(E)&&this._mouseDelayMet(E)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,E)!==false);(this._mouseStarted?this._mouseDrag(E):this._mouseUp(E))}return !this._mouseStarted},_mouseUp:function(E){D(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._mouseStop(E)}return false},_mouseDistanceMet:function(E){return(Math.max(Math.abs(this._mouseDownEvent.pageX-E.pageX),Math.abs(this._mouseDownEvent.pageY-E.pageY))>=this.options.distance)},_mouseDelayMet:function(E){return this.mouseDelayMet},_mouseStart:function(E){},_mouseDrag:function(E){},_mouseStop:function(E){},_mouseCapture:function(E){return true}};D.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);(function(A){A.widget("ui.draggable",A.extend({},A.ui.mouse,{getHandle:function(C){var B=!this.options.handle||!A(this.options.handle,this.element).length?true:false;A(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==C.target){B=true}});return B},createHelper:function(){var C=this.options;var B=A.isFunction(C.helper)?A(C.helper.apply(this.element[0],[e])):(C.helper=="clone"?this.element.clone():this.element);if(!B.parents("body").length){B.appendTo((C.appendTo=="parent"?this.element[0].parentNode:C.appendTo))}if(B[0]!=this.element[0]&&!(/(fixed|absolute)/).test(B.css("position"))){B.css("position","absolute")}return B},_init:function(){if(this.options.helper=="original"&&!(/^(?:r|a|f)/).test(this.element.css("position"))){this.element[0].style.position="relative"}(this.options.cssNamespace&&this.element.addClass(this.options.cssNamespace+"-draggable"));(this.options.disabled&&this.element.addClass("ui-draggable-disabled"));this._mouseInit()},_mouseCapture:function(B){var C=this.options;if(this.helper||C.disabled||A(B.target).is(".ui-resizable-handle")){return false}this.handle=this.getHandle(B);if(!this.handle){return false}return true},_mouseStart:function(D){var E=this.options;this.helper=this.createHelper();if(A.ui.ddmanager){A.ui.ddmanager.current=this}this.margins={left:(parseInt(this.element.css("marginLeft"),10)||0),top:(parseInt(this.element.css("marginTop"),10)||0)};this.cssPosition=this.helper.css("position");this.offset=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.offset.click={left:D.pageX-this.offset.left,top:D.pageY-this.offset.top};this.cacheScrollParents();this.offsetParent=this.helper.offsetParent();var B=this.offsetParent.offset();if(this.offsetParent[0]==document.body&&A.browser.mozilla){B={top:0,left:0}}this.offset.parent={top:B.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:B.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)};if(this.cssPosition=="relative"){var C=this.element.position();this.offset.relative={top:C.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollTopParent.scrollTop(),left:C.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollLeftParent.scrollLeft()}}else{this.offset.relative={top:0,left:0}}this.originalPosition=this._generatePosition(D);this.cacheHelperProportions();if(E.cursorAt){this.adjustOffsetFromHelper(E.cursorAt)}A.extend(this,{PAGEY_INCLUDES_SCROLL:(this.cssPosition=="absolute"&&(!this.scrollTopParent[0].tagName||(/(html|body)/i).test(this.scrollTopParent[0].tagName))),PAGEX_INCLUDES_SCROLL:(this.cssPosition=="absolute"&&(!this.scrollLeftParent[0].tagName||(/(html|body)/i).test(this.scrollLeftParent[0].tagName))),OFFSET_PARENT_NOT_SCROLL_PARENT_Y:this.scrollTopParent[0]!=this.offsetParent[0]&&!(this.scrollTopParent[0]==document&&(/(body|html)/i).test(this.offsetParent[0].tagName)),OFFSET_PARENT_NOT_SCROLL_PARENT_X:this.scrollLeftParent[0]!=this.offsetParent[0]&&!(this.scrollLeftParent[0]==document&&(/(body|html)/i).test(this.offsetParent[0].tagName))});if(E.containment){this.setContainment()}this._propagate("start",D);this.cacheHelperProportions();if(A.ui.ddmanager&&!E.dropBehaviour){A.ui.ddmanager.prepareOffsets(this,D)}this.helper.addClass("ui-draggable-dragging");this._mouseDrag(D);return true},cacheScrollParents:function(){this.scrollTopParent=function(B){do{if(/auto|scroll/.test(B.css("overflow"))||(/auto|scroll/).test(B.css("overflow-y"))){return B}B=B.parent()}while(B[0].parentNode);return A(document)}(this.helper);this.scrollLeftParent=function(B){do{if(/auto|scroll/.test(B.css("overflow"))||(/auto|scroll/).test(B.css("overflow-x"))){return B}B=B.parent()}while(B[0].parentNode);return A(document)}(this.helper)},adjustOffsetFromHelper:function(B){if(B.left!=undefined){this.offset.click.left=B.left+this.margins.left}if(B.right!=undefined){this.offset.click.left=this.helperProportions.width-B.right+this.margins.left}if(B.top!=undefined){this.offset.click.top=B.top+this.margins.top}if(B.bottom!=undefined){this.offset.click.top=this.helperProportions.height-B.bottom+this.margins.top}},cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},setContainment:function(){var E=this.options;if(E.containment=="parent"){E.containment=this.helper[0].parentNode}if(E.containment=="document"||E.containment=="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,A(E.containment=="document"?document:window).width()-this.offset.relative.left-this.offset.parent.left-this.helperProportions.width-this.margins.left-(parseInt(this.element.css("marginRight"),10)||0),(A(E.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.offset.relative.top-this.offset.parent.top-this.helperProportions.height-this.margins.top-(parseInt(this.element.css("marginBottom"),10)||0)]}if(!(/^(document|window|parent)$/).test(E.containment)){var C=A(E.containment)[0];var D=A(E.containment).offset();var B=(A(C).css("overflow")!="hidden");this.containment=[D.left+(parseInt(A(C).css("borderLeftWidth"),10)||0)-this.offset.relative.left-this.offset.parent.left,D.top+(parseInt(A(C).css("borderTopWidth"),10)||0)-this.offset.relative.top-this.offset.parent.top,D.left+(B?Math.max(C.scrollWidth,C.offsetWidth):C.offsetWidth)-(parseInt(A(C).css("borderLeftWidth"),10)||0)-this.offset.relative.left-this.offset.parent.left-this.helperProportions.width-this.margins.left-(parseInt(this.element.css("marginRight"),10)||0),D.top+(B?Math.max(C.scrollHeight,C.offsetHeight):C.offsetHeight)-(parseInt(A(C).css("borderTopWidth"),10)||0)-this.offset.relative.top-this.offset.parent.top-this.helperProportions.height-this.margins.top-(parseInt(this.element.css("marginBottom"),10)||0)]}},_convertPositionTo:function(C,D){if(!D){D=this.position}var B=C=="absolute"?1:-1;return{top:(D.top+this.offset.relative.top*B+this.offset.parent.top*B-(this.cssPosition=="fixed"||this.PAGEY_INCLUDES_SCROLL||this.OFFSET_PARENT_NOT_SCROLL_PARENT_Y?0:this.scrollTopParent.scrollTop())*B+(this.cssPosition=="fixed"?A(document).scrollTop():0)*B+this.margins.top*B),left:(D.left+this.offset.relative.left*B+this.offset.parent.left*B-(this.cssPosition=="fixed"||this.PAGEX_INCLUDES_SCROLL||this.OFFSET_PARENT_NOT_SCROLL_PARENT_X?0:this.scrollLeftParent.scrollLeft())*B+(this.cssPosition=="fixed"?A(document).scrollLeft():0)*B+this.margins.left*B)}},_generatePosition:function(E){var F=this.options;var B={top:(E.pageY-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(this.cssPosition=="fixed"||this.PAGEY_INCLUDES_SCROLL||this.OFFSET_PARENT_NOT_SCROLL_PARENT_Y?0:this.scrollTopParent.scrollTop())-(this.cssPosition=="fixed"?A(document).scrollTop():0)),left:(E.pageX-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(this.cssPosition=="fixed"||this.PAGEX_INCLUDES_SCROLL||this.OFFSET_PARENT_NOT_SCROLL_PARENT_X?0:this.scrollLeftParent.scrollLeft())-(this.cssPosition=="fixed"?A(document).scrollLeft():0))};if(!this.originalPosition){return B}if(this.containment){if(B.leftthis.containment[2]){B.left=this.containment[2]}if(B.top>this.containment[3]){B.top=this.containment[3]}}if(F.grid){var D=this.originalPosition.top+Math.round((B.top-this.originalPosition.top)/F.grid[1])*F.grid[1];B.top=this.containment?(!(Dthis.containment[3])?D:(!(Dthis.containment[2])?C:(!(C').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000}).css(A(this).offset()).appendTo("body")})},stop:function(C,B){A("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});A.ui.plugin.add("draggable","scroll",{start:function(D,C){var E=C.options;var B=A(this).data("draggable");E.scrollSensitivity=E.scrollSensitivity||20;E.scrollSpeed=E.scrollSpeed||20;B.overflowY=function(F){do{if(/auto|scroll/.test(F.css("overflow"))||(/auto|scroll/).test(F.css("overflow-y"))){return F}F=F.parent()}while(F[0].parentNode);return A(document)}(this);B.overflowX=function(F){do{if(/auto|scroll/.test(F.css("overflow"))||(/auto|scroll/).test(F.css("overflow-x"))){return F}F=F.parent()}while(F[0].parentNode);return A(document)}(this);if(B.overflowY[0]!=document&&B.overflowY[0].tagName!="HTML"){B.overflowYOffset=B.overflowY.offset()}if(B.overflowX[0]!=document&&B.overflowX[0].tagName!="HTML"){B.overflowXOffset=B.overflowX.offset()}},drag:function(E,D){var F=D.options,B=false;var C=A(this).data("draggable");if(C.overflowY[0]!=document&&C.overflowY[0].tagName!="HTML"){if((C.overflowYOffset.top+C.overflowY[0].offsetHeight)-E.pageY=0;M--){var L=E.snapElements[M].left,J=L+E.snapElements[M].width,I=E.snapElements[M].top,S=I+E.snapElements[M].height;if(!((L-Q=K&&I<=G)||(H>=K&&H<=G)||(IG))&&((D>=E&&D<=B)||(C>=E&&C<=B)||(DB));break;default:return false;break}};A.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(E,H){var B=A.ui.ddmanager.droppables[E.options.scope];var F=H?H.type:null;var G=(E.currentItem||E.element).find(":data(droppable)").andSelf();droppablesLoop:for(var D=0;D').css({position:B.css("position"),width:B.outerWidth(),height:B.outerHeight(),top:B.css("top"),left:B.css("left")}));var J=this.element;this.element=this.element.parent();this.element.data("resizable",this);this.element.css({marginLeft:J.css("marginLeft"),marginTop:J.css("marginTop"),marginRight:J.css("marginRight"),marginBottom:J.css("marginBottom")});J.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});if(A.browser.safari&&N.preventDefault){J.css("resize","none")}N.proportionallyResize=J.css({position:"static",zoom:1,display:"block"});this.element.css({margin:J.css("margin")});this._proportionallyResize()}if(!N.handles){N.handles=!A(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}}if(N.handles.constructor==String){N.zIndex=N.zIndex||1000;if(N.handles=="all"){N.handles="n,e,s,w,se,sw,ne,nw"}var O=N.handles.split(",");N.handles={};var G={handle:"position: absolute; display: none; overflow:hidden;",n:"top: 0pt; width:100%;",e:"right: 0pt; height:100%;",s:"bottom: 0pt; width:100%;",w:"left: 0pt; height:100%;",se:"bottom: 0pt; right: 0px;",sw:"bottom: 0pt; left: 0px;",ne:"top: 0pt; right: 0px;",nw:"top: 0pt; left: 0px;"};for(var R=0;R'].join("")).css(K);N.handles[S]=".ui-resizable-"+S;this.element.append(E.css(C?T:{}).css(N.knobHandles?D:{}).addClass(N.knobHandles?"ui-resizable-knob-handle":"").addClass(N.knobHandles))}if(N.knobHandles){this.element.addClass("ui-resizable-knob").css(!A.ui.css("ui-resizable-knob")?{}:{})}}this._renderAxis=function(Y){Y=Y||this.element;for(var V in N.handles){if(N.handles[V].constructor==String){N.handles[V]=A(N.handles[V],this.element).show()}if(N.transparent){N.handles[V].css({opacity:0})}if(this.element.is(".ui-wrapper")&&N._nodeName.match(/textarea|input|select|button/i)){var W=A(N.handles[V],this.element),X=0;X=/sw|ne|nw|se|n|s/.test(V)?W.outerHeight():W.outerWidth();var U=["padding",/ne|nw|n/.test(V)?"Top":/se|sw|s/.test(V)?"Bottom":/^e$/.test(V)?"Right":"Left"].join("");if(!N.transparent){Y.css(U,X)}this._proportionallyResize()}if(!A(N.handles[V]).length){continue}}};this._renderAxis(this.element);N._handles=A(".ui-resizable-handle",M.element);if(N.disableSelection){N._handles.each(function(U,V){A.ui.disableSelection(V)})}N._handles.mouseover(function(){if(!N.resizing){if(this.className){var U=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}M.axis=N.axis=U&&U[1]?U[1]:"se"}});if(N.autoHide){N._handles.hide();A(M.element).addClass("ui-resizable-autohide").hover(function(){A(this).removeClass("ui-resizable-autohide");N._handles.show()},function(){if(!N.resizing){A(this).addClass("ui-resizable-autohide");N._handles.hide()}})}this._mouseInit()},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,options:this.options,originalSize:this.originalSize,originalPosition:this.originalPosition}},_propagate:function(C,B){A.ui.plugin.call(this,C,[B,this.ui()]);if(C!="resize"){this.element.triggerHandler(["resize",C].join(""),[B,this.ui()],this.options[C])}},destroy:function(){var D=this.element,C=D.children(".ui-resizable").get(0);this._mouseDestroy();var B=function(E){A(E).removeClass("ui-resizable ui-resizable-disabled").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};B(D);if(D.is(".ui-wrapper")&&C){D.parent().append(A(C).css({position:D.css("position"),width:D.outerWidth(),height:D.outerHeight(),top:D.css("top"),left:D.css("left")})).end().remove();B(C)}},_mouseCapture:function(D){if(this.options.disabled){return false}var C=false;for(var B in this.options.handles){if(A(this.options.handles[B])[0]==D.target){C=true}}if(!C){return false}return true},_mouseStart:function(I){var C=this.options,B=this.element.position(),D=this.element,H=function(M){return parseInt(M,10)||0},G=A.browser.msie&&A.browser.version<7;C.resizing=true;C.documentScroll={top:A(document).scrollTop(),left:A(document).scrollLeft()};if(D.is(".ui-draggable")||(/absolute/).test(D.css("position"))){var J=A.browser.msie&&!C.containment&&(/absolute/).test(D.css("position"))&&!(/relative/).test(D.parent().css("position"));var K=J?C.documentScroll.top:0,F=J?C.documentScroll.left:0;D.css({position:"absolute",top:(B.top+K),left:(B.left+F)})}if(A.browser.opera&&/relative/.test(D.css("position"))){D.css({position:"relative",top:"auto",left:"auto"})}this._renderProxy();var L=H(this.helper.css("left")),E=H(this.helper.css("top"));if(C.containment){L+=A(C.containment).scrollLeft()||0;E+=A(C.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:L,top:E};this.size=C.helper||G?{width:D.outerWidth(),height:D.outerHeight()}:{width:D.width(),height:D.height()};this.originalSize=C.helper||G?{width:D.outerWidth(),height:D.outerHeight()}:{width:D.width(),height:D.height()};this.originalPosition={left:L,top:E};this.sizeDiff={width:D.outerWidth()-D.width(),height:D.outerHeight()-D.height()};this.originalMousePosition={left:I.pageX,top:I.pageY};C.aspectRatio=(typeof C.aspectRatio=="number")?C.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);if(C.preserveCursor){A("body").css("cursor",this.axis+"-resize")}this._propagate("start",I);return true},_mouseDrag:function(I){var D=this.helper,C=this.options,J={},M=this,F=this.originalMousePosition,K=this.axis;var N=(I.pageX-F.left)||0,L=(I.pageY-F.top)||0;var E=this._change[K];if(!E){return false}var H=E.apply(this,[I,N,L]),G=A.browser.msie&&A.browser.version<7,B=this.sizeDiff;if(C._aspectRatio||I.shiftKey){H=this._updateRatio(H,I)}H=this._respectSize(H,I);this._propagate("resize",I);D.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!C.helper&&C.proportionallyResize){this._proportionallyResize()}this._updateCache(H);this.element.triggerHandler("resize",[I,this.ui()],this.options["resize"]);return false},_mouseStop:function(I){this.options.resizing=false;var E=this.options,H=function(M){return parseInt(M,10)||0},K=this;if(E.helper){var D=E.proportionallyResize,B=D&&(/textarea/i).test(D.get(0).nodeName),C=B&&A.ui.hasScroll(D.get(0),"left")?0:K.sizeDiff.height,G=B?0:K.sizeDiff.width;var L={width:(K.size.width-G),height:(K.size.height-C)},F=(parseInt(K.element.css("left"),10)+(K.position.left-K.originalPosition.left))||null,J=(parseInt(K.element.css("top"),10)+(K.position.top-K.originalPosition.top))||null;if(!E.animate){this.element.css(A.extend(L,{top:J,left:F}))}if(E.helper&&!E.animate){this._proportionallyResize()}}if(E.preserveCursor){A("body").css("cursor","auto")}this._propagate("stop",I);if(E.helper){this.helper.remove()}return false},_updateCache:function(B){var C=this.options;this.offset=this.helper.offset();if(B.left){this.position.left=B.left}if(B.top){this.position.top=B.top}if(B.height){this.size.height=B.height}if(B.width){this.size.width=B.width}},_updateRatio:function(D,E){var F=this.options,G=this.position,C=this.size,B=this.axis;if(D.height){D.width=(C.height*F.aspectRatio)}else{if(D.width){D.height=(C.width/F.aspectRatio)}}if(B=="sw"){D.left=G.left+(C.width-D.width);D.top=null}if(B=="nw"){D.top=G.top+(C.height-D.height);D.left=G.left+(C.width-D.width)}return D},_respectSize:function(H,I){var F=this.helper,E=this.options,N=E._aspectRatio||I.shiftKey,M=this.axis,P=H.width&&E.maxWidth&&E.maxWidthH.width,O=H.height&&E.minHeight&&E.minHeight>H.height;if(D){H.width=E.minWidth}if(O){H.height=E.minHeight}if(P){H.width=E.maxWidth}if(J){H.height=E.maxHeight}var C=this.originalPosition.left+this.originalSize.width,L=this.position.top+this.size.height;var G=/sw|nw|w/.test(M),B=/nw|ne|n/.test(M);if(D&&G){H.left=C-E.minWidth}if(P&&G){H.left=C-E.maxWidth}if(O&&B){H.top=L-E.minHeight}if(J&&B){H.top=L-E.maxHeight}var K=!H.width&&!H.height;if(K&&!H.left&&H.top){H.top=null}else{if(K&&!H.top&&H.left){H.left=null}}return H},_proportionallyResize:function(){var F=this.options;if(!F.proportionallyResize){return }var D=F.proportionallyResize,C=this.helper||this.element;if(!F.borderDif){var B=[D.css("borderTopWidth"),D.css("borderRightWidth"),D.css("borderBottomWidth"),D.css("borderLeftWidth")],E=[D.css("paddingTop"),D.css("paddingRight"),D.css("paddingBottom"),D.css("paddingLeft")];F.borderDif=A.map(B,function(G,I){var H=parseInt(G,10)||0,J=parseInt(E[I],10)||0;return H+J})}D.css({height:(C.height()-F.borderDif[0]-F.borderDif[2])+"px",width:(C.width()-F.borderDif[1]-F.borderDif[3])+"px"})},_renderProxy:function(){var C=this.element,F=this.options;this.elementOffset=C.offset();if(F.helper){this.helper=this.helper||A('
');var B=A.browser.msie&&A.browser.version<7,D=(B?1:0),E=(B?2:-1);this.helper.addClass(F.helper).css({width:C.outerWidth()+E,height:C.outerHeight()+E,position:"absolute",left:this.elementOffset.left-D+"px",top:this.elementOffset.top-D+"px",zIndex:++F.zIndex});this.helper.appendTo("body");if(F.disableSelection){A.ui.disableSelection(this.helper.get(0))}}else{this.helper=C}},_change:{e:function(D,C,B){return{width:this.originalSize.width+C}},w:function(F,C,B){var G=this.options,D=this.originalSize,E=this.originalPosition;return{left:E.left+C,width:D.width-C}},n:function(F,C,B){var G=this.options,D=this.originalSize,E=this.originalPosition;return{top:E.top+B,height:D.height-B}},s:function(D,C,B){return{height:this.originalSize.height+B}},se:function(D,C,B){return A.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[D,C,B]))},sw:function(D,C,B){return A.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[D,C,B]))},ne:function(D,C,B){return A.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[D,C,B]))},nw:function(D,C,B){return A.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[D,C,B]))}}}));A.extend(A.ui.resizable,{defaults:{cancel:":input",distance:1,delay:0,preventDefault:true,transparent:false,minWidth:10,minHeight:10,aspectRatio:false,disableSelection:true,preserveCursor:true,autoHide:false,knobHandles:false}});A.ui.plugin.add("resizable","containment",{start:function(I,K){var E=K.options,M=A(this).data("resizable"),G=M.element;var C=E.containment,F=(C instanceof A)?C.get(0):(/parent/.test(C))?G.parent().get(0):C;if(!F){return }M.containerElement=A(F);if(/document/.test(C)||C==document){M.containerOffset={left:0,top:0};M.containerPosition={left:0,top:0};M.parentData={element:A(document),left:0,top:0,width:A(document).width(),height:A(document).height()||document.body.parentNode.scrollHeight}}else{M.containerOffset=A(F).offset();M.containerPosition=A(F).position();M.containerSize={height:A(F).innerHeight(),width:A(F).innerWidth()};var J=M.containerOffset,B=M.containerSize.height,H=M.containerSize.width,D=(A.ui.hasScroll(F,"left")?F.scrollWidth:H),L=(A.ui.hasScroll(F)?F.scrollHeight:B);M.parentData={element:F,left:J.left,top:J.top,width:D,height:L}}},resize:function(H,K){var E=K.options,N=A(this).data("resizable"),C=N.containerSize,J=N.containerOffset,G=N.size,I=N.position,L=E._aspectRatio||H.shiftKey,B={top:0,left:0},D=N.containerElement;if(D[0]!=document&&/static/.test(D.css("position"))){B=N.containerPosition}if(I.left<(E.helper?J.left:B.left)){N.size.width=N.size.width+(E.helper?(N.position.left-J.left):(N.position.left-B.left));if(L){N.size.height=N.size.width/E.aspectRatio}N.position.left=E.helper?J.left:B.left}if(I.top<(E.helper?J.top:0)){N.size.height=N.size.height+(E.helper?(N.position.top-J.top):N.position.top);if(L){N.size.width=N.size.height*E.aspectRatio}N.position.top=E.helper?J.top:0}var F=(E.helper?N.offset.left-J.left:(N.position.left-B.left))+N.sizeDiff.width,M=(E.helper?N.offset.top-J.top:N.position.top)+N.sizeDiff.height;if(F+N.size.width>=N.parentData.width){N.size.width=N.parentData.width-F;if(L){N.size.height=N.size.width/E.aspectRatio}}if(M+N.size.height>=N.parentData.height){N.size.height=N.parentData.height-M;if(L){N.size.width=N.size.height*E.aspectRatio}}},stop:function(G,J){var C=J.options,L=A(this).data("resizable"),H=L.position,I=L.containerOffset,B=L.containerPosition,D=L.containerElement;var E=A(L.helper),M=E.offset(),K=E.innerWidth(),F=E.innerHeight();if(C.helper&&!C.animate&&/relative/.test(D.css("position"))){A(this).css({left:(M.left-I.left),top:(M.top-I.top),width:K,height:F})}if(C.helper&&!C.animate&&/static/.test(D.css("position"))){A(this).css({left:B.left+(M.left-I.left),top:B.top+(M.top-I.top),width:K,height:F})}}});A.ui.plugin.add("resizable","grid",{resize:function(H,J){var D=J.options,L=A(this).data("resizable"),G=L.size,E=L.originalSize,F=L.originalPosition,K=L.axis,I=D._aspectRatio||H.shiftKey;D.grid=typeof D.grid=="number"?[D.grid,D.grid]:D.grid;var C=Math.round((G.width-E.width)/(D.grid[0]||1))*(D.grid[0]||1),B=Math.round((G.height-E.height)/(D.grid[1]||1))*(D.grid[1]||1);if(/^(se|s|e)$/.test(K)){L.size.width=E.width+C;L.size.height=E.height+B}else{if(/^(ne)$/.test(K)){L.size.width=E.width+C;L.size.height=E.height+B;L.position.top=F.top-B}else{if(/^(sw)$/.test(K)){L.size.width=E.width+C;L.size.height=E.height+B;L.position.left=F.left-C}else{L.size.width=E.width+C;L.size.height=E.height+B;L.position.top=F.top-B;L.position.left=F.left-C}}}}});A.ui.plugin.add("resizable","animate",{stop:function(I,K){var F=K.options,L=A(this).data("resizable");var E=F.proportionallyResize,B=E&&(/textarea/i).test(E.get(0).nodeName),C=B&&A.ui.hasScroll(E.get(0),"left")?0:L.sizeDiff.height,H=B?0:L.sizeDiff.width;var D={width:(L.size.width-H),height:(L.size.height-C)},G=(parseInt(L.element.css("left"),10)+(L.position.left-L.originalPosition.left))||null,J=(parseInt(L.element.css("top"),10)+(L.position.top-L.originalPosition.top))||null;L.element.animate(A.extend(D,J&&G?{top:J,left:G}:{}),{duration:F.animateDuration||"slow",easing:F.animateEasing||"swing",step:function(){var M={width:parseInt(L.element.css("width"),10),height:parseInt(L.element.css("height"),10),top:parseInt(L.element.css("top"),10),left:parseInt(L.element.css("left"),10)};if(E){E.css({width:M.width,height:M.height})}L._updateCache(M);L._propagate("animate",I)}})}});A.ui.plugin.add("resizable","ghost",{start:function(E,D){var F=D.options,B=A(this).data("resizable"),G=F.proportionallyResize,C=B.size;if(!G){B.ghost=B.element.clone()}else{B.ghost=G.clone()}B.ghost.css({opacity:0.25,display:"block",position:"relative",height:C.height,width:C.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof F.ghost=="string"?F.ghost:"");B.ghost.appendTo(B.helper)},resize:function(D,C){var E=C.options,B=A(this).data("resizable"),F=E.proportionallyResize;if(B.ghost){B.ghost.css({position:"relative",height:B.size.height,width:B.size.width})}},stop:function(D,C){var E=C.options,B=A(this).data("resizable"),F=E.proportionallyResize;if(B.ghost&&B.helper){B.helper.get(0).removeChild(B.ghost.get(0))}}});A.ui.plugin.add("resizable","alsoResize",{start:function(E,C){var F=C.options,B=A(this).data("resizable"),D=function(G){A(G).each(function(){A(this).data("resizable-alsoresize",{width:parseInt(A(this).width(),10),height:parseInt(A(this).height(),10),left:parseInt(A(this).css("left"),10),top:parseInt(A(this).css("top"),10)})})};if(typeof (F.alsoResize)=="object"){if(F.alsoResize.length){F.alsoResize=F.alsoResize[0];D(F.alsoResize)}else{A.each(F.alsoResize,function(G,H){D(G)})}}else{D(F.alsoResize)}},resize:function(F,E){var G=E.options,C=A(this).data("resizable"),D=C.originalSize,I=C.originalPosition;var H={height:(C.size.height-D.height)||0,width:(C.size.width-D.width)||0,top:(C.position.top-I.top)||0,left:(C.position.left-I.left)||0},B=function(J,K){A(J).each(function(){var N=A(this).data("resizable-alsoresize"),M={},L=K&&K.length?K:["width","height","top","left"];A.each(L||["width","height","top","left"],function(O,Q){var P=(N[Q]||0)+(H[Q]||0);if(P&&P>=0){M[Q]=P||null}});A(this).css(M)})};if(typeof (G.alsoResize)=="object"){A.each(G.alsoResize,function(J,K){B(J,K)})}else{B(G.alsoResize)}},stop:function(C,B){A(this).removeData("resizable-alsoresize-start")}})})(jQuery);(function(A){A.widget("ui.selectable",A.extend({},A.ui.mouse,{_init:function(){var B=this;this.element.addClass("ui-selectable");this.dragged=false;var C;this.refresh=function(){C=A(B.options.filter,B.element[0]);C.each(function(){var D=A(this);var E=D.offset();A.data(this,"selectable-item",{element:this,$element:D,left:E.left,top:E.top,right:E.left+D.width(),bottom:E.top+D.height(),startselected:false,selected:D.hasClass("ui-selected"),selecting:D.hasClass("ui-selecting"),unselecting:D.hasClass("ui-unselecting")})})};this.refresh();this.selectees=C.addClass("ui-selectee");this._mouseInit();this.helper=A(document.createElement("div")).css({border:"1px dotted black"}).addClass("ui-selectable-helper")},toggle:function(){if(this.options.disabled){this.enable()}else{this.disable()}},destroy:function(){this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy()},_mouseStart:function(E){var C=this;this.opos=[E.pageX,E.pageY];if(this.options.disabled){return }var D=this.options;this.selectees=A(D.filter,this.element[0]);this.element.triggerHandler("selectablestart",[E,{"selectable":this.element[0],"options":D}],D.start);A("body").append(this.helper);this.helper.css({"z-index":100,"position":"absolute","left":E.clientX,"top":E.clientY,"width":0,"height":0});if(D.autoRefresh){this.refresh()}this.selectees.filter(".ui-selected").each(function(){var F=A.data(this,"selectable-item");F.startselected=true;if(!E.metaKey){F.$element.removeClass("ui-selected");F.selected=false;F.$element.addClass("ui-unselecting");F.unselecting=true;C.element.triggerHandler("selectableunselecting",[E,{selectable:C.element[0],unselecting:F.element,options:D}],D.unselecting)}});var B=false;A(E.target).parents().andSelf().each(function(){if(A.data(this,"selectable-item")){B=true}});return this.options.keyboard?!B:true},_mouseDrag:function(I){var C=this;this.dragged=true;if(this.options.disabled){return }var E=this.options;var D=this.opos[0],H=this.opos[1],B=I.pageX,G=I.pageY;if(D>B){var F=B;B=D;D=F}if(H>G){var F=G;G=H;H=F}this.helper.css({left:D,top:H,width:B-D,height:G-H});this.selectees.each(function(){var J=A.data(this,"selectable-item");if(!J||J.element==C.element[0]){return }var K=false;if(E.tolerance=="touch"){K=(!(J.left>B||J.rightG||J.bottomD&&J.rightH&&J.bottomM&&(K+N)F&&(E+H)L[this.floating?"width":"height"])){return G}else{return(FO&&(L+P)F&&(E+H)N[this.floating?"width":"height"])){if(!G){return false}if(this.floating){if((E+H)>F&&(E+H)F+N.width/2&&(E+H)O+M/2){return 1}}}}else{if(!(FF&&EC){return 1}}else{if(J>O&&LI){return 2}}}return false},refresh:function(){this._refreshItems();this.refreshPositions()},_getItemsAsjQuery:function(H){var D=this;var C=[];var F=[];if(this.options.connectWith&&H){for(var G=this.options.connectWith.length-1;G>=0;G--){var J=B(this.options.connectWith[G]);for(var E=J.length-1;E>=0;E--){var I=B.data(J[E],"sortable");if(I&&I!=this&&!I.options.disabled){F.push([B.isFunction(I.options.items)?I.options.items.call(I.element):B(I.options.items,I.element).not(".ui-sortable-helper"),I])}}}}F.push([B.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):B(this.options.items,this.element).not(".ui-sortable-helper"),this]);for(var G=F.length-1;G>=0;G--){F[G][0].each(function(){C.push(this)})}return B(C)},_removeCurrentsFromItems:function(){var E=this.currentItem.find(":data(sortable-item)");for(var D=0;D=0;G--){var I=B(this.options.connectWith[G]);for(var E=I.length-1;E>=0;E--){var H=B.data(I[E],"sortable");if(H&&H!=this&&!H.options.disabled){F.push([B.isFunction(H.options.items)?H.options.items.call(H.element):B(H.options.items,H.element),H]);this.containers.push(H)}}}}for(var G=F.length-1;G>=0;G--){F[G][0].each(function(){B.data(this,"sortable-item",F[G][1]);D.push({item:B(this),instance:F[G][1],width:0,height:0,left:0,top:0})})}},refreshPositions:function(D){if(this.offsetParent){var C=this.offsetParent.offset();this.offset.parent={top:C.top+this.offsetParentBorders.top,left:C.left+this.offsetParentBorders.left}}for(var F=this.items.length-1;F>=0;F--){if(this.items[F].instance!=this.currentContainer&&this.currentContainer&&this.items[F].item[0]!=this.currentItem[0]){continue}var E=this.options.toleranceElement?B(this.options.toleranceElement,this.items[F].item):this.items[F].item;if(!D){this.items[F].width=E[0].offsetWidth;this.items[F].height=E[0].offsetHeight}var G=E.offset();this.items[F].left=G.left;this.items[F].top=G.top}if(this.options.custom&&this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this)}else{for(var F=this.containers.length-1;F>=0;F--){var G=this.containers[F].element.offset();this.containers[F].containerCache.left=G.left;this.containers[F].containerCache.top=G.top;this.containers[F].containerCache.width=this.containers[F].element.outerWidth();this.containers[F].containerCache.height=this.containers[F].element.outerHeight()}}},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var C=this.items.length-1;C>=0;C--){this.items[C].item.removeData("sortable-item")}},_createPlaceholder:function(E){var C=E||this,F=C.options;if(!F.placeholder||F.placeholder.constructor==String){var D=F.placeholder;F.placeholder={element:function(){var G=B(document.createElement(C.currentItem[0].nodeName)).addClass(D||"ui-sortable-placeholder")[0];if(!D){G.style.visibility="hidden";document.body.appendChild(G);G.innerHTML=C.currentItem[0].innerHTML;document.body.removeChild(G)}return G},update:function(G,H){if(D&&!F.forcePlaceholderSize){return }if(!H.height()){H.height(C.currentItem.innerHeight()-parseInt(C.currentItem.css("paddingTop")||0,10)-parseInt(C.currentItem.css("paddingBottom")||0,10))}if(!H.width()){H.width(C.currentItem.innerWidth()-parseInt(C.currentItem.css("paddingLeft")||0,10)-parseInt(C.currentItem.css("paddingRight")||0,10))}}}}C.placeholder=B(F.placeholder.element.call(C.element,C.currentItem));C.currentItem.parent()[0].appendChild(C.placeholder[0]);C.placeholder[0].parentNode.insertBefore(C.placeholder[0],C.currentItem[0]);F.placeholder.update(C,C.placeholder)},_contactContainers:function(F){for(var D=this.containers.length-1;D>=0;D--){if(this._intersectsWith(this.containers[D].containerCache)){if(!this.containers[D].containerCache.over){if(this.currentContainer!=this.containers[D]){var I=10000;var H=null;var E=this.positionAbs[this.containers[D].floating?"left":"top"];for(var C=this.items.length-1;C>=0;C--){if(!A(this.containers[D].element[0],this.items[C].item[0])){continue}var G=this.items[C][this.containers[D].floating?"left":"top"];if(Math.abs(G-E)=0;F--){this.containers[F]._propagate("activate",G,this)}}if(B.ui.ddmanager){B.ui.ddmanager.current=this}if(B.ui.ddmanager&&!C.dropBehaviour){B.ui.ddmanager.prepareOffsets(this,G)}this.dragging=true;this._mouseDrag(G);return true},_convertPositionTo:function(D,E){if(!E){E=this.position}var C=D=="absolute"?1:-1;return{top:(E.top+this.offset.parent.top*C-(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)*C+this.margins.top*C),left:(E.left+this.offset.parent.left*C-(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft)*C+this.margins.left*C)}},_generatePosition:function(F){var G=this.options;var C={top:(F.pageY-this.offset.click.top-this.offset.parent.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)),left:(F.pageX-this.offset.click.left-this.offset.parent.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft))};if(!this.originalPosition){return C}if(this.containment){if(C.leftthis.containment[2]){C.left=this.containment[2]}if(C.top>this.containment[3]){C.top=this.containment[3]}}if(G.grid){var E=this.originalPosition.top+Math.round((C.top-this.originalPosition.top)/G.grid[1])*G.grid[1];C.top=this.containment?(!(Ethis.containment[3])?E:(!(Ethis.containment[2])?D:(!(D=0;C--){var E=this._intersectsWithEdge(this.items[C]);if(!E){continue}if(this.items[C].item[0]!=this.currentItem[0]&&this.placeholder[E==1?"next":"prev"]()[0]!=this.items[C].item[0]&&!A(this.placeholder[0],this.items[C].item[0])&&(this.options.type=="semi-dynamic"?!A(this.element[0],this.items[C].item[0]):true)){this.updateOriginalPosition=this._generatePosition(D);this.direction=E==1?"down":"up";this.options.sortIndicator.call(this,D,this.items[C]);this._propagate("change",D);break}}this._contactContainers(D);if(B.ui.ddmanager){B.ui.ddmanager.drag(this,D)}this.element.triggerHandler("sort",[D,this.ui()],this.options["sort"]);return false},_rearrange:function(H,G,D,F){D?D[0].appendChild(this.placeholder[0]):G.item[0].parentNode.insertBefore(this.placeholder[0],(this.direction=="down"?G.item[0]:G.item[0].nextSibling));this.counter=this.counter?++this.counter:1;var E=this,C=this.counter;window.setTimeout(function(){if(C==E.counter){E.refreshPositions(!F)}},0)},_mouseStop:function(E,D){if(B.ui.ddmanager&&!this.options.dropBehaviour){B.ui.ddmanager.drop(this,E)}if(this.options.revert){var C=this;var F=C.placeholder.offset();B(this.helper).animate({left:F.left-this.offset.parent.left-C.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:F.top-this.offset.parent.top-C.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){C._clear(E)})}else{this._clear(E,D)}return false},_clear:function(E,D){if(!this._noFinalSort){this.placeholder.before(this.currentItem)}this._noFinalSort=null;if(this.options.helper=="original"){this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else{this.currentItem.show()}if(this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0]){this._propagate("update",E,null,D)}if(!A(this.element[0],this.currentItem[0])){this._propagate("remove",E,null,D);for(var C=this.containers.length-1;C>=0;C--){if(A(this.containers[C].element[0],this.currentItem[0])){this.containers[C]._propagate("update",E,this,D);this.containers[C]._propagate("receive",E,this,D)}}}for(var C=this.containers.length-1;C>=0;C--){this.containers[C]._propagate("deactivate",E,this,D);if(this.containers[C].containerCache.over){this.containers[C]._propagate("out",E,this);this.containers[C].containerCache.over=0}}this.dragging=false;if(this.cancelHelperRemoval){this._propagate("beforeStop",E,null,D);this._propagate("stop",E,null,D);return false}this._propagate("beforeStop",E,null,D);this.placeholder.remove();if(this.options.helper!="original"){this.helper.remove()}this.helper=null;this._propagate("stop",E,null,D);return true}}));B.extend(B.ui.sortable,{getter:"serialize toArray",defaults:{helper:"original",tolerance:"guess",distance:1,delay:0,scroll:true,scrollSensitivity:20,scrollSpeed:20,cancel:":input",items:"> *",zIndex:1000,dropOnEmpty:true,appendTo:"parent",sortIndicator:B.ui.sortable.prototype._rearrange,scope:"default",forcePlaceholderSize:false}});B.ui.plugin.add("sortable","cursor",{start:function(E,D){var C=B("body");if(C.css("cursor")){D.options._cursor=C.css("cursor")}C.css("cursor",D.options.cursor)},beforeStop:function(D,C){if(C.options._cursor){B("body").css("cursor",C.options._cursor)}}});B.ui.plugin.add("sortable","zIndex",{start:function(E,D){var C=D.helper;if(C.css("zIndex")){D.options._zIndex=C.css("zIndex")}C.css("zIndex",D.options.zIndex)},beforeStop:function(D,C){if(C.options._zIndex){B(C.helper).css("zIndex",C.options._zIndex)}}});B.ui.plugin.add("sortable","opacity",{start:function(E,D){var C=D.helper;if(C.css("opacity")){D.options._opacity=C.css("opacity")}C.css("opacity",D.options.opacity)},beforeStop:function(D,C){if(C.options._opacity){B(C.helper).css("opacity",C.options._opacity)}}});B.ui.plugin.add("sortable","scroll",{start:function(E,D){var F=D.options;var C=B(this).data("sortable");C.overflowY=function(G){do{if(/auto|scroll/.test(G.css("overflow"))||(/auto|scroll/).test(G.css("overflow-y"))){return G}G=G.parent()}while(G[0].parentNode);return B(document)}(C.currentItem);C.overflowX=function(G){do{if(/auto|scroll/.test(G.css("overflow"))||(/auto|scroll/).test(G.css("overflow-x"))){return G}G=G.parent()}while(G[0].parentNode);return B(document)}(C.currentItem);if(C.overflowY[0]!=document&&C.overflowY[0].tagName!="HTML"){C.overflowYOffset=C.overflowY.offset()}if(C.overflowX[0]!=document&&C.overflowX[0].tagName!="HTML"){C.overflowXOffset=C.overflowX.offset()}},sort:function(E,D){var F=D.options;var C=B(this).data("sortable");if(C.overflowY[0]!=document&&C.overflowY[0].tagName!="HTML"){if((C.overflowYOffset.top+C.overflowY[0].offsetHeight)-E.pageY');var I=F.parent();if(F.css("position")=="static"){I.css({position:"relative"});F.css({position:"relative"})}else{var H=F.css("top");if(isNaN(parseInt(H))){H="auto"}var G=F.css("left");if(isNaN(parseInt(G))){G="auto"}I.css({position:F.css("position"),top:H,left:G,zIndex:F.css("z-index")}).show();F.css({position:"relative",top:0,left:0})}I.css(E);return I},removeWrapper:function(E){if(E.parent().attr("id")=="fxWrapper"){return E.parent().replaceWith(E)}return E},setTransition:function(F,G,E,H){H=H||{};C.each(G,function(J,I){unit=F.cssUnit(I);if(unit[0]>0){H[I]=unit[0]*E+unit[1]}});return H},animateClass:function(G,H,J,I){var E=(typeof J=="function"?J:(I?I:null));var F=(typeof J=="object"?J:null);return this.each(function(){var O={};var M=C(this);var N=M.attr("style")||"";if(typeof N=="object"){N=N["cssText"]}if(G.toggle){M.hasClass(G.toggle)?G.remove=G.toggle:G.add=G.toggle}var K=C.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));if(G.add){M.addClass(G.add)}if(G.remove){M.removeClass(G.remove)}var L=C.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));if(G.add){M.removeClass(G.add)}if(G.remove){M.addClass(G.remove)}for(var P in L){if(typeof L[P]!="function"&&L[P]&&P.indexOf("Moz")==-1&&P.indexOf("length")==-1&&L[P]!=K[P]&&(P.match(/color/i)||(!P.match(/color/i)&&!isNaN(parseInt(L[P],10))))&&(K.position!="static"||(K.position=="static"&&!P.match(/left|top|bottom|right/)))){O[P]=L[P]}}M.animate(O,H,F,function(){if(typeof C(this).attr("style")=="object"){C(this).attr("style")["cssText"]="";C(this).attr("style")["cssText"]=N}else{C(this).attr("style",N)}if(G.add){C(this).addClass(G.add)}if(G.remove){C(this).removeClass(G.remove)}if(E){E.apply(this,arguments)}})})}});C.fn.extend({_show:C.fn.show,_hide:C.fn.hide,__toggle:C.fn.toggle,_addClass:C.fn.addClass,_removeClass:C.fn.removeClass,_toggleClass:C.fn.toggleClass,effect:function(E,G,F,H){return C.effects[E]?C.effects[E].call(this,{method:E,options:G||{},duration:F,callback:H}):null},show:function(){if(!arguments[0]||(arguments[0].constructor==Number||/(slow|normal|fast)/.test(arguments[0]))){return this._show.apply(this,arguments)}else{var E=arguments[1]||{};E["mode"]="show";return this.effect.apply(this,[arguments[0],E,arguments[2]||E.duration,arguments[3]||E.callback])}},hide:function(){if(!arguments[0]||(arguments[0].constructor==Number||/(slow|normal|fast)/.test(arguments[0]))){return this._hide.apply(this,arguments)}else{var E=arguments[1]||{};E["mode"]="hide";return this.effect.apply(this,[arguments[0],E,arguments[2]||E.duration,arguments[3]||E.callback])}},toggle:function(){if(!arguments[0]||(arguments[0].constructor==Number||/(slow|normal|fast)/.test(arguments[0]))||(arguments[0].constructor==Function)){return this.__toggle.apply(this,arguments)}else{var E=arguments[1]||{};E["mode"]="toggle";return this.effect.apply(this,[arguments[0],E,arguments[2]||E.duration,arguments[3]||E.callback])}},addClass:function(F,E,H,G){return E?C.effects.animateClass.apply(this,[{add:F},E,H,G]):this._addClass(F)},removeClass:function(F,E,H,G){return E?C.effects.animateClass.apply(this,[{remove:F},E,H,G]):this._removeClass(F)},toggleClass:function(F,E,H,G){return E?C.effects.animateClass.apply(this,[{toggle:F},E,H,G]):this._toggleClass(F)},morph:function(E,G,F,I,H){return C.effects.animateClass.apply(this,[{add:G,remove:E},F,I,H])},switchClass:function(){return this.morph.apply(this,arguments)},cssUnit:function(E){var F=this.css(E),G=[];C.each(["em","px","%","pt"],function(H,I){if(F.indexOf(I)>0){G=[parseFloat(F),I]}});return G}});jQuery.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(F,E){jQuery.fx.step[E]=function(G){if(G.state==0){G.start=D(G.elem,E);G.end=B(G.end)}G.elem.style[E]="rgb("+[Math.max(Math.min(parseInt((G.pos*(G.end[0]-G.start[0]))+G.start[0]),255),0),Math.max(Math.min(parseInt((G.pos*(G.end[1]-G.start[1]))+G.start[1]),255),0),Math.max(Math.min(parseInt((G.pos*(G.end[2]-G.start[2]))+G.start[2]),255),0)].join(",")+")"}});function B(F){var E;if(F&&F.constructor==Array&&F.length==3){return F}if(E=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(F)){return[parseInt(E[1]),parseInt(E[2]),parseInt(E[3])]}if(E=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(F)){return[parseFloat(E[1])*2.55,parseFloat(E[2])*2.55,parseFloat(E[3])*2.55]}if(E=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(F)){return[parseInt(E[1],16),parseInt(E[2],16),parseInt(E[3],16)]}if(E=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(F)){return[parseInt(E[1]+E[1],16),parseInt(E[2]+E[2],16),parseInt(E[3]+E[3],16)]}if(E=/rgba\(0, 0, 0, 0\)/.exec(F)){return A["transparent"]}return A[jQuery.trim(F).toLowerCase()]}function D(G,E){var F;do{F=jQuery.curCSS(G,E);if(F!=""&&F!="transparent"||jQuery.nodeName(G,"body")){break}E="backgroundColor"}while(G=G.parentNode);return B(F)}var A={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]};jQuery.easing["jswing"]=jQuery.easing["swing"];jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(F,G,E,I,H){return jQuery.easing[jQuery.easing.def](F,G,E,I,H)},easeInQuad:function(F,G,E,I,H){return I*(G/=H)*G+E},easeOutQuad:function(F,G,E,I,H){return -I*(G/=H)*(G-2)+E},easeInOutQuad:function(F,G,E,I,H){if((G/=H/2)<1){return I/2*G*G+E}return -I/2*((--G)*(G-2)-1)+E},easeInCubic:function(F,G,E,I,H){return I*(G/=H)*G*G+E},easeOutCubic:function(F,G,E,I,H){return I*((G=G/H-1)*G*G+1)+E},easeInOutCubic:function(F,G,E,I,H){if((G/=H/2)<1){return I/2*G*G*G+E}return I/2*((G-=2)*G*G+2)+E},easeInQuart:function(F,G,E,I,H){return I*(G/=H)*G*G*G+E},easeOutQuart:function(F,G,E,I,H){return -I*((G=G/H-1)*G*G*G-1)+E},easeInOutQuart:function(F,G,E,I,H){if((G/=H/2)<1){return I/2*G*G*G*G+E}return -I/2*((G-=2)*G*G*G-2)+E},easeInQuint:function(F,G,E,I,H){return I*(G/=H)*G*G*G*G+E},easeOutQuint:function(F,G,E,I,H){return I*((G=G/H-1)*G*G*G*G+1)+E},easeInOutQuint:function(F,G,E,I,H){if((G/=H/2)<1){return I/2*G*G*G*G*G+E}return I/2*((G-=2)*G*G*G*G+2)+E},easeInSine:function(F,G,E,I,H){return -I*Math.cos(G/H*(Math.PI/2))+I+E},easeOutSine:function(F,G,E,I,H){return I*Math.sin(G/H*(Math.PI/2))+E},easeInOutSine:function(F,G,E,I,H){return -I/2*(Math.cos(Math.PI*G/H)-1)+E},easeInExpo:function(F,G,E,I,H){return(G==0)?E:I*Math.pow(2,10*(G/H-1))+E},easeOutExpo:function(F,G,E,I,H){return(G==H)?E+I:I*(-Math.pow(2,-10*G/H)+1)+E},easeInOutExpo:function(F,G,E,I,H){if(G==0){return E}if(G==H){return E+I}if((G/=H/2)<1){return I/2*Math.pow(2,10*(G-1))+E}return I/2*(-Math.pow(2,-10*--G)+2)+E},easeInCirc:function(F,G,E,I,H){return -I*(Math.sqrt(1-(G/=H)*G)-1)+E},easeOutCirc:function(F,G,E,I,H){return I*Math.sqrt(1-(G=G/H-1)*G)+E},easeInOutCirc:function(F,G,E,I,H){if((G/=H/2)<1){return -I/2*(Math.sqrt(1-G*G)-1)+E}return I/2*(Math.sqrt(1-(G-=2)*G)+1)+E},easeInElastic:function(F,H,E,L,K){var I=1.70158;var J=0;var G=L;if(H==0){return E}if((H/=K)==1){return E+L}if(!J){J=K*0.3}if(G").css({position:"absolute",visibility:"visible",left:-D*(G/E),top:-F*(C/I)}).parent().addClass("effects-explode").css({position:"absolute",overflow:"hidden",width:G/E,height:C/I,left:J.left+D*(G/E)+(B.options.mode=="show"?(D-Math.floor(E/2))*(G/E):0),top:J.top+F*(C/I)+(B.options.mode=="show"?(F-Math.floor(I/2))*(C/I):0),opacity:B.options.mode=="show"?0:1}).animate({left:J.left+D*(G/E)+(B.options.mode=="show"?0:(D-Math.floor(E/2))*(G/E)),top:J.top+F*(C/I)+(B.options.mode=="show"?0:(F-Math.floor(I/2))*(C/I)),opacity:B.options.mode=="show"?1:0},B.duration||500)}}setTimeout(function(){B.options.mode=="show"?H.css({visibility:"visible"}):H.css({visibility:"visible"}).hide();if(B.callback){B.callback.apply(H[0])}H.dequeue();A(".effects-explode").remove()},B.duration||500)})}})(jQuery);(function(A){A.effects.fold=function(B){return this.queue(function(){var E=A(this),J=["position","top","left"];var G=A.effects.setMode(E,B.options.mode||"hide");var N=B.options.size||15;var M=!(!B.options.horizFirst);A.effects.save(E,J);E.show();var D=A.effects.createWrapper(E).css({overflow:"hidden"});var H=((G=="show")!=M);var F=H?["width","height"]:["height","width"];var C=H?[D.width(),D.height()]:[D.height(),D.width()];var I=/([0-9]+)%/.exec(N);if(I){N=parseInt(I[1])/100*C[G=="hide"?0:1]}if(G=="show"){D.css(M?{height:0,width:N}:{height:N,width:0})}var L={},K={};L[F[0]]=G=="show"?C[0]:N;K[F[1]]=G=="show"?C[1]:0;D.animate(L,B.duration/2,B.options.easing).animate(K,B.duration/2,B.options.easing,function(){if(G=="hide"){E.hide()}A.effects.restore(E,J);A.effects.removeWrapper(E);if(B.callback){B.callback.apply(E[0],arguments)}E.dequeue()})})}})(jQuery);(function(A){A.effects.highlight=function(B){return this.queue(function(){var E=A(this),D=["backgroundImage","backgroundColor","opacity"];var H=A.effects.setMode(E,B.options.mode||"show");var C=B.options.color||"#ffff99";var G=E.css("backgroundColor");A.effects.save(E,D);E.show();E.css({backgroundImage:"none",backgroundColor:C});var F={backgroundColor:G};if(H=="hide"){F["opacity"]=0}E.animate(F,{queue:false,duration:B.duration,easing:B.options.easing,complete:function(){if(H=="hide"){E.hide()}A.effects.restore(E,D);if(H=="show"&&jQuery.browser.msie){this.style.removeAttribute("filter")}if(B.callback){B.callback.apply(this,arguments)}E.dequeue()}})})}})(jQuery);(function(A){A.effects.pulsate=function(B){return this.queue(function(){var D=A(this);var F=A.effects.setMode(D,B.options.mode||"show");var E=B.options.times||5;if(F=="hide"){E--}if(D.is(":hidden")){D.css("opacity",0);D.show();D.animate({opacity:1},B.duration/2,B.options.easing);E=E-2}for(var C=0;C').appendTo(document.body);if(B.options.className){D.addClass(B.options.className)}D.addClass(B.options.className);D.css({top:C.top,left:C.left,height:E.outerHeight()-parseInt(D.css("borderTopWidth"))-parseInt(D.css("borderBottomWidth")),width:E.outerWidth()-parseInt(D.css("borderLeftWidth"))-parseInt(D.css("borderRightWidth")),position:"absolute"});C=F.offset();animation={top:C.top,left:C.left,height:F.outerHeight()-parseInt(D.css("borderTopWidth"))-parseInt(D.css("borderBottomWidth")),width:F.outerWidth()-parseInt(D.css("borderLeftWidth"))-parseInt(D.css("borderRightWidth"))};D.animate(animation,B.duration,B.options.easing,function(){D.remove();if(B.callback){B.callback.apply(E[0],arguments)}E.dequeue()})})}})(jQuery);(function(E){E.widget("ui.accordion",{_init:function(){var G=this.options;if(G.navigation){var J=this.element.find("a").filter(G.navigationFilter);if(J.length){if(J.filter(G.header).length){G.active=J}else{G.active=J.parent().parent().prev();J.addClass("current")}}}G.headers=this.element.find(G.header);G.active=C(G.headers,G.active);if(E.browser.msie){this.element.find("a").css("zoom","1")}if(!this.element.hasClass("ui-accordion")){this.element.addClass("ui-accordion");E('').insertBefore(G.headers);E('').appendTo(G.headers);G.headers.addClass("ui-accordion-header").attr("tabindex","0")}var I;if(G.fillSpace){I=this.element.parent().height();G.headers.each(function(){I-=E(this).outerHeight()});var H=0;G.headers.next().each(function(){H=Math.max(H,E(this).innerHeight()-E(this).height())}).height(I-H)}else{if(G.autoHeight){I=0;G.headers.next().each(function(){I=Math.max(I,E(this).outerHeight())}).height(I)}}G.headers.not(G.active||"").next().hide();G.active.parent().andSelf().addClass(G.selectedClass);if(G.event){this.element.bind((G.event)+".accordion",F)}},activate:function(G){F.call(this.element[0],{target:C(this.options.headers,G)[0]})},destroy:function(){this.options.headers.next().css("display","");if(this.options.fillSpace||this.options.autoHeight){this.options.headers.next().css("height","")}E.removeData(this.element[0],"accordion");this.element.removeClass("ui-accordion").unbind(".accordion")}});function B(H,G){return function(){return H.apply(G,arguments)}}function D(I){if(!E.data(this,"accordion")){return }var G=E.data(this,"accordion");var H=G.options;H.running=I?0:--H.running;if(H.running){return }if(H.clearStyle){H.toShow.add(H.toHide).css({height:"",overflow:""})}G._trigger("change",null,H.data)}function A(G,K,L,J,M){var I=E.data(this,"accordion").options;I.toShow=G;I.toHide=K;I.data=L;var H=B(D,this);E.data(this,"accordion")._trigger("changestart",null,I.data);I.running=K.size()===0?G.size():K.size();if(I.animated){if(!I.alwaysOpen&&J){E.ui.accordion.animations[I.animated]({toShow:jQuery([]),toHide:K,complete:H,down:M,autoHeight:I.autoHeight})}else{E.ui.accordion.animations[I.animated]({toShow:G,toHide:K,complete:H,down:M,autoHeight:I.autoHeight})}}else{if(!I.alwaysOpen&&J){G.toggle()}else{K.hide();G.show()}H(true)}}function F(L){var J=E.data(this,"accordion").options;if(J.disabled){return false}if(!L.target&&!J.alwaysOpen){J.active.parent().andSelf().toggleClass(J.selectedClass);var I=J.active.next(),M={options:J,newHeader:jQuery([]),oldHeader:J.active,newContent:jQuery([]),oldContent:I},G=(J.active=E([]));A.call(this,G,I,M);return false}var K=E(L.target);K=E(K.parents(J.header)[0]||K);var H=K[0]==J.active[0];if(J.running||(J.alwaysOpen&&H)){return false}if(!K.is(J.header)){return }J.active.parent().andSelf().toggleClass(J.selectedClass);if(!H){K.parent().andSelf().addClass(J.selectedClass)}var G=K.next(),I=J.active.next(),M={options:J,newHeader:H&&!J.alwaysOpen?E([]):K,oldHeader:J.active,newContent:H&&!J.alwaysOpen?E([]):G,oldContent:I},N=J.headers.index(J.active[0])>J.headers.index(K[0]);J.active=H?E([]):K;A.call(this,G,I,M,H,N);return false}function C(H,G){return G?typeof G=="number"?H.filter(":eq("+G+")"):H.not(H.not(G)):G===false?E([]):H.filter(":eq(0)")}E.extend(E.ui.accordion,{defaults:{selectedClass:"selected",alwaysOpen:true,animated:"slide",event:"click",header:"a",autoHeight:true,running:0,navigationFilter:function(){return this.href.toLowerCase()==location.href.toLowerCase()}},animations:{slide:function(G,I){G=E.extend({easing:"swing",duration:300},G,I);if(!G.toHide.size()){G.toShow.animate({height:"show"},G);return }var H=G.toHide.height(),J=G.toShow.height(),K=J/H;G.toShow.css({height:0,overflow:"hidden"}).show();G.toHide.filter(":hidden").each(G.complete).end().filter(":visible").animate({height:"hide"},{step:function(L){var M=(H-L)*K;if(E.browser.msie||E.browser.opera){M=Math.ceil(M)}G.toShow.height(M)},duration:G.duration,easing:G.easing,complete:function(){if(!G.autoHeight){G.toShow.css("height","auto")}G.complete()}})},bounceslide:function(G){this.slide(G,{easing:G.down?"bounceout":"swing",duration:G.down?1000:200})},easeslide:function(G){this.slide(G,{easing:"easeinout",duration:700})}}})})(jQuery);(function(A){A.widget("ui.autocomplete",{_init:function(){A.extend(this.options,{delay:this.options.url?A.Autocompleter.defaults.delay:10,max:!this.options.scroll?10:150,highlight:this.options.highlight||function(B){return B},formatMatch:this.options.formatMatch||this.options.formatItem});new A.Autocompleter(this.element[0],this.options)},result:function(B){return this.element.bind("result",B)},search:function(B){return this.element.trigger("search",[B])},flushCache:function(){return this.element.trigger("flushCache")},setData:function(B,C){return this.element.trigger("setOptions",[{key:C}])},destroy:function(){return this.element.trigger("unautocomplete")}});A.Autocompleter=function(L,G){var C={UP:38,DOWN:40,DEL:46,TAB:9,RETURN:13,ESC:27,COMMA:188,PAGEUP:33,PAGEDOWN:34,BACKSPACE:8};var B=A(L).attr("autocomplete","off").addClass(G.inputClass);if(G.result){B.bind("result.autocomplete",G.result)}var J;var P="";var M=A.Autocompleter.Cache(G);var E=0;var U;var X={mouseDownOnSelect:false};var R=A.Autocompleter.Select(G,L,D,X);var W;A.browser.opera&&A(L.form).bind("submit.autocomplete",function(){if(W){W=false;return false}});B.bind((A.browser.opera?"keypress":"keydown")+".autocomplete",function(Y){U=Y.keyCode;switch(Y.keyCode){case C.UP:Y.preventDefault();if(R.visible()){R.prev()}else{T(0,true)}break;case C.DOWN:Y.preventDefault();if(R.visible()){R.next()}else{T(0,true)}break;case C.PAGEUP:Y.preventDefault();if(R.visible()){R.pageUp()}else{T(0,true)}break;case C.PAGEDOWN:Y.preventDefault();if(R.visible()){R.pageDown()}else{T(0,true)}break;case G.multiple&&A.trim(G.multipleSeparator)==","&&C.COMMA:case C.TAB:case C.RETURN:if(D()){Y.preventDefault();W=true;return false}break;case C.ESC:R.hide();break;default:clearTimeout(J);J=setTimeout(T,G.delay);break}}).focus(function(){E++}).blur(function(){E=0;if(!X.mouseDownOnSelect){S()}}).click(function(){if(E++>1&&!R.visible()){T(0,true)}}).bind("search",function(){var Y=(arguments.length>1)?arguments[1]:null;function Z(d,c){var a;if(c&&c.length){for(var b=0;b1){Y=a.slice(0,a.length-1).join(G.multipleSeparator)+G.multipleSeparator+Y}Y+=G.multipleSeparator}B.val(Y);V();B.trigger("result",[Z.data,Z.value]);return true}function T(a,Z){if(U==C.DEL){R.hide();return }var Y=B.val();if(!Z&&Y==P){return }P=Y;Y=I(Y);if(Y.length>=G.minChars){B.addClass(G.loadingClass);if(!G.matchCase){Y=Y.toLowerCase()}F(Y,K,V)}else{N();R.hide()}}function H(Z){if(!Z){return[""]}var a=Z.split(G.multipleSeparator);var Y=[];A.each(a,function(b,c){if(A.trim(c)){Y[b]=A.trim(c)}});return Y}function I(Y){if(!G.multiple){return Y}var Z=H(Y);return Z[Z.length-1]}function Q(Y,Z){if(G.autoFill&&(I(B.val()).toLowerCase()==Y.toLowerCase())&&U!=C.BACKSPACE){B.val(B.val()+Z.substring(I(P).length));A.Autocompleter.Selection(L,P.length,P.length+Z.length)}}function S(){clearTimeout(J);J=setTimeout(V,200)}function V(){var Y=R.visible();R.hide();clearTimeout(J);N();if(G.mustMatch){B.autocomplete("search",function(Z){if(!Z){if(G.multiple){var a=H(B.val()).slice(0,-1);B.val(a.join(G.multipleSeparator)+(a.length?G.multipleSeparator:""))}else{B.val("")}}})}if(Y){A.Autocompleter.Selection(L,L.value.length,L.value.length)}}function K(Z,Y){if(Y&&Y.length&&E){N();R.display(Y,Z);Q(Z,Y[0].value);R.show()}else{V()}}function F(b,d,a){if(!G.matchCase){b=b.toLowerCase()}var c=M.load(b);if(c&&c.length){d(b,c)}else{if((typeof G.url=="string")&&(G.url.length>0)){var f={timestamp:+new Date()};A.each(G.extraParams,function(g,h){f[g]=typeof h=="function"?h():h});A.ajax({mode:"abort",port:"autocomplete"+L.name,dataType:G.dataType,url:G.url,data:A.extend({q:I(b),limit:G.max},f),success:function(h){var g=G.parse&&G.parse(h)||O(h);M.add(b,g);d(b,g)}})}else{if(G.source&&typeof G.source=="function"){var Z=G.source(b);var Y=(G.parse)?G.parse(Z):Z;M.add(b,Y);d(b,Y)}else{R.emptyList();a(b)}}}}function O(b){var Y=[];var a=b.split("\n");for(var Z=0;Z]*)("+B.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)","gi"),"$1")},scroll:true,scrollHeight:180};A.extend(A.ui.autocomplete,{defaults:A.Autocompleter.defaults});A.Autocompleter.Cache=function(C){var F={};var D=0;function H(K,J){if(!C.matchCase){K=K.toLowerCase()}var I=K.indexOf(J);if(I==-1){return false}return I==0||C.matchContains}function G(J,I){if(D>C.cacheLength){B()}if(!F[J]){D++}F[J]=I}function E(){if(!C.data){return false}var J={},I=0;if(!C.url){C.cacheLength=1}J[""]=[];for(var L=0,K=C.data.length;L0){var M=F[I];A.each(M,function(O,N){if(H(N.value,L)){K.push(N)}})}}return K}else{if(F[L]){return F[L]}else{if(C.matchSubset){for(var J=L.length-1;J>=C.minChars;J--){var M=F[L.substr(0,J)];if(M){var K=[];A.each(M,function(O,N){if(H(N.value,L)){K[K.length]=N}});return K}}}}}return null}}};A.Autocompleter.Select=function(E,J,L,P){var I={ACTIVE:"ui-autocomplete-over"};var K,F=-1,R,M="",S=true,C,O;function N(){if(!S){return }C=A("
").hide().addClass(E.resultsClass).css("position","absolute").appendTo(document.body);O=A("
    ").appendTo(C).mouseover(function(T){if(Q(T).nodeName&&Q(T).nodeName.toUpperCase()=="LI"){F=A("li",O).removeClass(I.ACTIVE).index(Q(T));A(Q(T)).addClass(I.ACTIVE)}}).click(function(T){A(Q(T)).addClass(I.ACTIVE);L();J.focus();return false}).mousedown(function(){P.mouseDownOnSelect=true}).mouseup(function(){P.mouseDownOnSelect=false});if(E.width>0){C.css("width",E.width)}S=false}function Q(U){var T=U.target;while(T&&T.tagName!="LI"){T=T.parentNode}if(!T){return[]}return T}function H(T){K.slice(F,F+1).removeClass(I.ACTIVE);G(T);var V=K.slice(F,F+1).addClass(I.ACTIVE);if(E.scroll){var U=0;K.slice(0,F).each(function(){U+=this.offsetHeight});if((U+V[0].offsetHeight-O.scrollTop())>O[0].clientHeight){O.scrollTop(U+V[0].offsetHeight-O.innerHeight())}else{if(U=K.size()){F=0}}}function B(T){return E.max&&E.max").html(E.highlight(W,M)).addClass(V%2==0?"ui-autocomplete-even":"ui-autocomplete-odd").appendTo(O)[0];A.data(T,"ui-autocomplete-data",R[V])}K=O.find("li");if(E.selectFirst){K.slice(0,1).addClass(I.ACTIVE);F=0}if(A.fn.bgiframe){O.bgiframe()}}return{display:function(U,T){N();R=U;M=T;D()},next:function(){H(1)},prev:function(){H(-1)},pageUp:function(){if(F!=0&&F-8<0){H(-F)}else{H(-8)}},pageDown:function(){if(F!=K.size()-1&&F+8>K.size()){H(K.size()-1-F)}else{H(8)}},hide:function(){C&&C.hide();K&&K.removeClass(I.ACTIVE);F=-1;A(J).triggerHandler("autocompletehide",[{},{options:E}],E["hide"])},visible:function(){return C&&C.is(":visible")},current:function(){return this.visible()&&(K.filter("."+I.ACTIVE)[0]||E.selectFirst&&K[0])},show:function(){var V=A(J).offset();C.css({width:typeof E.width=="string"||E.width>0?E.width:A(J).width(),top:V.top+J.offsetHeight,left:V.left}).show();if(E.scroll){O.scrollTop(0);O.css({maxHeight:E.scrollHeight,overflow:"auto"});if(A.browser.msie&&typeof document.body.style.maxHeight==="undefined"){var T=0;K.each(function(){T+=this.offsetHeight});var U=T>E.scrollHeight;O.css("height",U?E.scrollHeight:T);if(!U){K.width(O.width()-parseInt(K.css("padding-left"))-parseInt(K.css("padding-right")))}}}A(J).triggerHandler("autocompleteshow",[{},{options:E}],E["show"])},selected:function(){var T=K&&K.filter("."+I.ACTIVE).removeClass(I.ACTIVE);return T&&T.length&&A.data(T[0],"ui-autocomplete-data")},emptyList:function(){O&&O.empty()},unbind:function(){C&&C.remove()}}};A.Autocompleter.Selection=function(D,E,C){if(D.createTextRange){var B=D.createTextRange();B.collapse(true);B.moveStart("character",E);B.moveEnd("character",C);B.select()}else{if(D.setSelectionRange){D.setSelectionRange(E,C)}else{if(D.selectionStart){D.selectionStart=E;D.selectionEnd=C}}}D.focus()}})(jQuery);(function(A){A.widget("ui.colorpicker",{_init:function(){this.charMin=65;var D=this.options,B=this,C='
    ';if(typeof D.color=="string"){this.color=this._HexToHSB(D.color)}else{if(D.color.r!=undefined&&D.color.g!=undefined&&D.color.b!=undefined){this.color=this._RGBToHSB(D.color)}else{if(D.color.h!=undefined&&D.color.s!=undefined&&D.color.b!=undefined){this.color=this._fixHSB(D.color)}else{return this}}}this.origColor=this.color;this.picker=A(C);if(D.flat){this.picker.appendTo(this.element).show()}else{this.picker.appendTo(document.body)}this.fields=this.picker.find("input").bind("keydown",function(E){return B._keyDown.call(B,E)}).bind("change",function(E){return B._change.call(B,E)}).bind("blur",function(E){return B._blur.call(B,E)}).bind("focus",function(E){return B._focus.call(B,E)});this.picker.find("span").bind("mousedown",function(E){return B._downIncrement.call(B,E)});this.selector=this.picker.find("div.ui-colorpicker-color").bind("mousedown",function(E){return B._downSelector.call(B,E)});this.selectorIndic=this.selector.find("div div");this.hue=this.picker.find("div.ui-colorpicker-hue div");this.picker.find("div.ui-colorpicker-hue").bind("mousedown",function(E){return B._downHue.call(B,E)});this.newColor=this.picker.find("div.ui-colorpicker-new-color");this.currentColor=this.picker.find("div.ui-colorpicker-current-color");this.picker.find(".ui-colorpicker-submit").bind("mouseenter",function(E){return B._enterSubmit.call(B,E)}).bind("mouseleave",function(E){return B._leaveSubmit.call(B,E)}).bind("click",function(E){return B._clickSubmit.call(B,E)});this._fillRGBFields(this.color);this._fillHSBFields(this.color);this._fillHexFields(this.color);this._setHue(this.color);this._setSelector(this.color);this._setCurrentColor(this.color);this._setNewColor(this.color);if(D.flat){this.picker.css({position:"relative",display:"block"})}else{A(this.element).bind(D.eventName+".colorpicker",function(E){return B._show.call(B,E)})}},destroy:function(){this.picker.remove();this.element.removeData("colorpicker").unbind(".colorpicker")},_fillRGBFields:function(B){var C=this._HSBToRGB(B);this.fields.eq(1).val(C.r).end().eq(2).val(C.g).end().eq(3).val(C.b).end()},_fillHSBFields:function(B){this.fields.eq(4).val(B.h).end().eq(5).val(B.s).end().eq(6).val(B.b).end()},_fillHexFields:function(B){this.fields.eq(0).val(this._HSBToHex(B)).end()},_setSelector:function(B){this.selector.css("backgroundColor","#"+this._HSBToHex({h:B.h,s:100,b:100}));this.selectorIndic.css({left:parseInt(150*B.s/100,10),top:parseInt(150*(100-B.b)/100,10)})},_setHue:function(B){this.hue.css("top",parseInt(150-150*B.h/360,10))},_setCurrentColor:function(B){this.currentColor.css("backgroundColor","#"+this._HSBToHex(B))},_setNewColor:function(B){this.newColor.css("backgroundColor","#"+this._HSBToHex(B))},_keyDown:function(B){var C=B.charCode||B.keyCode||-1;if((C>=this.charMin&&C<=90)||C==32){return false}},_change:function(D,C){var B;C=C||D.target;if(C.parentNode.className.indexOf("-hex")>0){this.color=B=this._HexToHSB(this.value);this._fillRGBFields(B.color);this._fillHSBFields(B)}else{if(C.parentNode.className.indexOf("-hsb")>0){this.color=B=this._fixHSB({h:parseInt(this.fields.eq(4).val(),10),s:parseInt(this.fields.eq(5).val(),10),b:parseInt(this.fields.eq(6).val(),10)});this._fillRGBFields(B);this._fillHexFields(B)}else{this.color=B=this._RGBToHSB(this._fixRGB({r:parseInt(this.fields.eq(1).val(),10),g:parseInt(this.fields.eq(2).val(),10),b:parseInt(this.fields.eq(3).val(),10)}));this._fillHexFields(B);this._fillHSBFields(B)}}this._setSelector(B);this._setHue(B);this._setNewColor(B);this._trigger("change",D,{options:this.options,hsb:B,hex:this._HSBToHex(B),rgb:this._HSBToRGB(B)})},_blur:function(C){var B=this.color;this._fillRGBFields(B);this._fillHSBFields(B);this._fillHexFields(B);this._setHue(B);this._setSelector(B);this._setNewColor(B);this.fields.parent().removeClass("ui-colorpicker-focus")},_focus:function(B){this.charMin=B.target.parentNode.className.indexOf("-hex")>0?70:65;this.fields.parent().removeClass("ui-colorpicker-focus");A(B.target.parentNode).addClass("ui-colorpicker-focus")},_downIncrement:function(D){var C=A(D.target).parent().find("input").focus(),B=this;this.currentIncrement={el:A(D.target).parent().addClass("ui-colorpicker-slider"),max:D.target.parentNode.className.indexOf("-hsb-h")>0?360:(D.target.parentNode.className.indexOf("-hsb")>0?100:255),y:D.pageY,field:C,val:parseInt(C.val(),10)};A(document).bind("mouseup.cpSlider",function(E){return B._upIncrement.call(B,E)});A(document).bind("mousemove.cpSlider",function(E){return B._moveIncrement.call(B,E)});return false},_moveIncrement:function(B){this.currentIncrement.field.val(Math.max(0,Math.min(this.currentIncrement.max,parseInt(this.currentIncrement.val+B.pageY-this.currentIncrement.y,10))));this._change.apply(this,[B,this.currentIncrement.field.get(0)]);return false},_upIncrement:function(B){this.currentIncrement.el.removeClass("ui-colorpicker-slider").find("input").focus();this._change.apply(this,[B,this.currentIncrement.field.get(0)]);A(document).unbind("mouseup.cpSlider");A(document).unbind("mousemove.cpSlider");return false},_downHue:function(C){this.currentHue={y:this.picker.find("div.ui-colorpicker-hue").offset().top};this._change.apply(this,[C,this.fields.eq(4).val(parseInt(360*(150-Math.max(0,Math.min(150,(C.pageY-this.currentHue.y))))/150,10)).get(0)]);var B=this;A(document).bind("mouseup.cpSlider",function(D){return B._upHue.call(B,D)});A(document).bind("mousemove.cpSlider",function(D){return B._moveHue.call(B,D)});return false},_moveHue:function(B){this._change.apply(this,[B,this.fields.eq(4).val(parseInt(360*(150-Math.max(0,Math.min(150,(B.pageY-this.currentHue.y))))/150,10)).get(0)]);return false},_upHue:function(B){A(document).unbind("mouseup.cpSlider");A(document).unbind("mousemove.cpSlider");return false},_downSelector:function(C){var B=this;this.currentSelector={pos:this.picker.find("div.ui-colorpicker-color").offset()};this._change.apply(this,[C,this.fields.eq(6).val(parseInt(100*(150-Math.max(0,Math.min(150,(C.pageY-this.currentSelector.pos.top))))/150,10)).end().eq(5).val(parseInt(100*(Math.max(0,Math.min(150,(C.pageX-this.currentSelector.pos.left))))/150,10)).get(0)]);A(document).bind("mouseup.cpSlider",function(D){return B._upSelector.call(B,D)});A(document).bind("mousemove.cpSlider",function(D){return B._moveSelector.call(B,D)});return false},_moveSelector:function(B){this._change.apply(this,[B,this.fields.eq(6).val(parseInt(100*(150-Math.max(0,Math.min(150,(B.pageY-this.currentSelector.pos.top))))/150,10)).end().eq(5).val(parseInt(100*(Math.max(0,Math.min(150,(B.pageX-this.currentSelector.pos.left))))/150,10)).get(0)]);return false},_upSelector:function(B){A(document).unbind("mouseup.cpSlider");A(document).unbind("mousemove.cpSlider");return false},_enterSubmit:function(B){this.picker.find(".ui-colorpicker-submit").addClass("ui-colorpicker-focus")},_leaveSubmit:function(B){this.picker.find(".ui-colorpicker-submit").removeClass("ui-colorpicker-focus")},_clickSubmit:function(C){var B=this.color;this.origColor=B;this._setCurrentColor(B);this._trigger("submit",C,{options:this.options,hsb:B,hex:this._HSBToHex(B),rgb:this._HSBToRGB(B)});return false},_show:function(F){this._trigger("beforeShow",F,{options:this.options,hsb:this.color,hex:this._HSBToHex(this.color),rgb:this._HSBToRGB(this.color)});var G=this.element.offset();var E=this._getScroll();var D=G.top+this.element[0].offsetHeight;var C=G.left;if(D+176>E.t+Math.min(E.h,E.ih)){D-=this.element[0].offsetHeight+176}if(C+356>E.l+Math.min(E.w,E.iw)){C-=356}this.picker.css({left:C+"px",top:D+"px"});if(this._trigger("show",F,{options:this.options,hsb:this.color,hex:this._HSBToHex(this.color),rgb:this._HSBToRGB(this.color)})!=false){this.picker.show()}var B=this;A(document).bind("mousedown.colorpicker",function(H){return B._hide.call(B,H)});return false},_hide:function(B){if(!this._isChildOf(this.picker[0],B.target,this.picker[0])){if(this._trigger("hide",B,{options:this.options,hsb:this.color,hex:this._HSBToHex(this.color),rgb:this._HSBToRGB(this.color)})!=false){this.picker.hide()}A(document).unbind("mousedown.colorpicker")}},_isChildOf:function(D,C,B){if(D==C){return true}if(D.contains&&!A.browser.safari){return D.contains(C)}if(D.compareDocumentPosition){return !!(D.compareDocumentPosition(C)&16)}var E=C.parentNode;while(E&&E!=B){if(E==D){return true}E=E.parentNode}return false},_getScroll:function(){var E,C,B,F,D,G;if(document.documentElement){E=document.documentElement.scrollTop;C=document.documentElement.scrollLeft;B=document.documentElement.scrollWidth;F=document.documentElement.scrollHeight}else{E=document.body.scrollTop;C=document.body.scrollLeft;B=document.body.scrollWidth;F=document.body.scrollHeight}D=self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth||0;G=self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0;return{t:E,l:C,w:B,h:F,iw:D,ih:G}},_fixHSB:function(B){return{h:Math.min(360,Math.max(0,B.h)),s:Math.min(100,Math.max(0,B.s)),b:Math.min(100,Math.max(0,B.b))}},_fixRGB:function(B){return{r:Math.min(255,Math.max(0,B.r)),g:Math.min(255,Math.max(0,B.g)),b:Math.min(255,Math.max(0,B.b))}},_HexToRGB:function(B){var B=parseInt(((B.indexOf("#")>-1)?B.substring(1):B),16);return{r:B>>16,g:(B&65280)>>8,b:(B&255)}},_HexToHSB:function(B){return this._RGBToHSB(this._HexToRGB(B))},_RGBToHSB:function(C){var B={};B.b=Math.max(Math.max(C.r,C.g),C.b);B.s=(B.b<=0)?0:Math.round(100*(B.b-Math.min(Math.min(C.r,C.g),C.b))/B.b);B.b=Math.round((B.b/255)*100);if((C.r==C.g)&&(C.g==C.b)){B.h=0}else{if(C.r>=C.g&&C.g>=C.b){B.h=60*(C.g-C.b)/(C.r-C.b)}else{if(C.g>=C.r&&C.r>=C.b){B.h=60+60*(C.g-C.r)/(C.g-C.b)}else{if(C.g>=C.b&&C.b>=C.r){B.h=120+60*(C.b-C.r)/(C.g-C.r)}else{if(C.b>=C.g&&C.g>=C.r){B.h=180+60*(C.b-C.g)/(C.b-C.r)}else{if(C.b>=C.r&&C.r>=C.g){B.h=240+60*(C.r-C.g)/(C.b-C.g)}else{if(C.r>=C.b&&C.b>=C.g){B.h=300+60*(C.r-C.b)/(C.r-C.g)}else{B.h=0}}}}}}}B.h=Math.round(B.h);return B},_HSBToRGB:function(B){var D={};var H=Math.round(B.h);var G=Math.round(B.s*255/100);var C=Math.round(B.b*255/100);if(G==0){D.r=D.g=D.b=C}else{var I=C;var F=(255-G)*C/255;var E=(I-F)*(H%60)/60;if(H==360){H=0}if(H<60){D.r=I;D.b=F;D.g=F+E}else{if(H<120){D.g=I;D.b=F;D.r=I-E}else{if(H<180){D.g=I;D.r=F;D.b=F+E}else{if(H<240){D.b=I;D.r=F;D.g=I-E}else{if(H<300){D.b=I;D.g=F;D.r=F+E}else{if(H<360){D.r=I;D.g=F;D.b=I-E}else{D.r=0;D.g=0;D.b=0}}}}}}}return{r:Math.round(D.r),g:Math.round(D.g),b:Math.round(D.b)}},_RGBToHex:function(B){var C=[B.r.toString(16),B.g.toString(16),B.b.toString(16)];A.each(C,function(D,E){if(E.length==1){C[D]="0"+E}});return C.join("")},_HSBToHex:function(B){return this._RGBToHex(this._HSBToRGB(B))},setColor:function(B){if(typeof B=="string"){B=this._HexToHSB(B)}else{if(B.r!=undefined&&B.g!=undefined&&B.b!=undefined){B=this._RGBToHSB(B)}else{if(B.h!=undefined&&B.s!=undefined&&B.b!=undefined){B=this._fixHSB(B)}else{return this}}}this.color=B;this.origColor=B;this._fillRGBFields(B);this._fillHSBFields(B);this._fillHexFields(B);this._setHue(B);this._setSelector(B);this._setCurrentColor(B);this._setNewColor(B)}});A.extend(A.ui.colorpicker,{defaults:{eventName:"click",color:"ff0000",flat:false}})})(jQuery);(function($){var PROP_NAME="datepicker";function Datepicker(){this.debug=false;this._curInst=null;this._disabledInputs=[];this._datepickerShowing=false;this._inDialog=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._promptClass="ui-datepicker-prompt";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this.regional=[];this.regional[""]={clearText:"Clear",clearStatus:"Erase the current date",closeText:"Close",closeStatus:"Close without change",prevText:"<Prev",prevStatus:"Show the previous month",prevBigText:"<<",prevBigStatus:"Show the previous year",nextText:"Next>",nextStatus:"Show the next month",nextBigText:">>",nextBigStatus:"Show the next year",currentText:"Today",currentStatus:"Show the current month",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],monthStatus:"Show a different month",yearStatus:"Show a different year",weekHeader:"Wk",weekStatus:"Week of the year",dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],dayStatus:"Set DD as first week day",dateStatus:"Select DD, M d",dateFormat:"mm/dd/yy",firstDay:0,initStatus:"Select a date",isRTL:false};this._defaults={showOn:"focus",showAnim:"show",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,closeAtTop:true,mandatory:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,showBigPrevNext:false,gotoCurrent:false,changeMonth:true,changeYear:true,showMonthAfterYear:false,yearRange:"-10:+10",changeFirstDay:true,highlightWeek:false,showOtherMonths:false,showWeeks:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",showStatus:false,statusForDate:this.dateStatus,minDate:null,maxDate:null,duration:"normal",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,rangeSelect:false,rangeSeparator:" - ",altField:"",altFormat:""};$.extend(this._defaults,this.regional[""]);this.dpDiv=$('')}$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",log:function(){if(this.debug){console.log.apply("",arguments)}},setDefaults:function(settings){extendRemove(this._defaults,settings||{});return this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase();var inline=(nodeName=="div"||nodeName=="span");if(!target.id){target.id="dp"+(++this.uuid)}var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{});if(nodeName=="input"){this._connectDatepicker(target,inst)}else{if(inline){this._inlineDatepicker(target,inst)}}},_newInst:function(target,inline){var id=target[0].id.replace(/([:\[\]\.])/g,"\\\\$1");return{id:id,input:target,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:inline,dpDiv:(!inline?this.dpDiv:$('
    '))}},_connectDatepicker:function(target,inst){var input=$(target);if(input.hasClass(this.markerClassName)){return }var appendText=this._get(inst,"appendText");var isRTL=this._get(inst,"isRTL");if(appendText){input[isRTL?"before":"after"](''+appendText+"")}var showOn=this._get(inst,"showOn");if(showOn=="focus"||showOn=="both"){input.focus(this._showDatepicker)}if(showOn=="button"||showOn=="both"){var buttonText=this._get(inst,"buttonText");var buttonImage=this._get(inst,"buttonImage");var trigger=$(this._get(inst,"buttonImageOnly")?$("").addClass(this._triggerClass).attr({src:buttonImage,alt:buttonText,title:buttonText}):$('').addClass(this._triggerClass).html(buttonImage==""?buttonText:$("").attr({src:buttonImage,alt:buttonText,title:buttonText})));input[isRTL?"before":"after"](trigger);trigger.click(function(){if($.datepicker._datepickerShowing&&$.datepicker._lastInput==target){$.datepicker._hideDatepicker()}else{$.datepicker._showDatepicker(target)}return false})}input.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).bind("setData.datepicker",function(event,key,value){inst.settings[key]=value}).bind("getData.datepicker",function(event,key){return this._get(inst,key)});$.data(target,PROP_NAME,inst)},_inlineDatepicker:function(target,inst){var divSpan=$(target);if(divSpan.hasClass(this.markerClassName)){return }divSpan.addClass(this.markerClassName).append(inst.dpDiv).bind("setData.datepicker",function(event,key,value){inst.settings[key]=value}).bind("getData.datepicker",function(event,key){return this._get(inst,key)});$.data(target,PROP_NAME,inst);this._setDate(inst,this._getDefaultDate(inst));this._updateDatepicker(inst)},_inlineShow:function(inst){var numMonths=this._getNumberOfMonths(inst);inst.dpDiv.width(numMonths[1]*$(".ui-datepicker",inst.dpDiv[0]).width())},_dialogDatepicker:function(input,dateText,onSelect,settings,pos){var inst=this._dialogInst;if(!inst){var id="dp"+(++this.uuid);this._dialogInput=$('');this._dialogInput.keydown(this._doKeyDown);$("body").append(this._dialogInput);inst=this._dialogInst=this._newInst(this._dialogInput,false);inst.settings={};$.data(this._dialogInput[0],PROP_NAME,inst)}extendRemove(inst.settings,settings||{});this._dialogInput.val(dateText);this._pos=(pos?(pos.length?pos:[pos.pageX,pos.pageY]):null);if(!this._pos){var browserWidth=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;var browserHeight=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[(browserWidth/2)-100+scrollX,(browserHeight/2)-150+scrollY]}this._dialogInput.css("left",this._pos[0]+"px").css("top",this._pos[1]+"px");inst.settings.onSelect=onSelect;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);if($.blockUI){$.blockUI(this.dpDiv)}$.data(this._dialogInput[0],PROP_NAME,inst);return this},_destroyDatepicker:function(target){var $target=$(target);if(!$target.hasClass(this.markerClassName)){return }var nodeName=target.nodeName.toLowerCase();$.removeData(target,PROP_NAME);if(nodeName=="input"){$target.siblings("."+this._appendClass).remove().end().siblings("."+this._triggerClass).remove().end().removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress)}else{if(nodeName=="div"||nodeName=="span"){$target.removeClass(this.markerClassName).empty()}}},_enableDatepicker:function(target){var $target=$(target);if(!$target.hasClass(this.markerClassName)){return }var nodeName=target.nodeName.toLowerCase();if(nodeName=="input"){target.disabled=false;$target.siblings("button."+this._triggerClass).each(function(){this.disabled=false}).end().siblings("img."+this._triggerClass).css({opacity:"1.0",cursor:""})}else{if(nodeName=="div"||nodeName=="span"){$target.children("."+this._disableClass).remove()}}this._disabledInputs=$.map(this._disabledInputs,function(value){return(value==target?null:value)})},_disableDatepicker:function(target){var $target=$(target);if(!$target.hasClass(this.markerClassName)){return }var nodeName=target.nodeName.toLowerCase();if(nodeName=="input"){target.disabled=true;$target.siblings("button."+this._triggerClass).each(function(){this.disabled=true}).end().siblings("img."+this._triggerClass).css({opacity:"0.5",cursor:"default"})}else{if(nodeName=="div"||nodeName=="span"){var inline=$target.children("."+this._inlineClass);var offset=inline.offset();var relOffset={left:0,top:0};inline.parents().each(function(){if($(this).css("position")=="relative"){relOffset=$(this).offset();return false}});$target.prepend('
    ')}}this._disabledInputs=$.map(this._disabledInputs,function(value){return(value==target?null:value)});this._disabledInputs[this._disabledInputs.length]=target},_isDisabledDatepicker:function(target){if(!target){return false}for(var i=0;i-1)},_showDatepicker:function(input){input=input.target||input;if(input.nodeName.toLowerCase()!="input"){input=$("input",input.parentNode)[0]}if($.datepicker._isDisabledDatepicker(input)||$.datepicker._lastInput==input){return }var inst=$.datepicker._getInst(input);var beforeShow=$.datepicker._get(inst,"beforeShow");extendRemove(inst.settings,(beforeShow?beforeShow.apply(input,[input,inst]):{}));$.datepicker._hideDatepicker(null,"");$.datepicker._lastInput=input;$.datepicker._setDateFromField(inst);if($.datepicker._inDialog){input.value=""}if(!$.datepicker._pos){$.datepicker._pos=$.datepicker._findPos(input);$.datepicker._pos[1]+=input.offsetHeight}var isFixed=false;$(input).parents().each(function(){isFixed|=$(this).css("position")=="fixed";return !isFixed});if(isFixed&&$.browser.opera){$.datepicker._pos[0]-=document.documentElement.scrollLeft;$.datepicker._pos[1]-=document.documentElement.scrollTop}var offset={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null;inst.rangeStart=null;inst.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});$.datepicker._updateDatepicker(inst);inst.dpDiv.width($.datepicker._getNumberOfMonths(inst)[1]*$(".ui-datepicker",inst.dpDiv[0])[0].offsetWidth);offset=$.datepicker._checkOffset(inst,offset,isFixed);inst.dpDiv.css({position:($.datepicker._inDialog&&$.blockUI?"static":(isFixed?"fixed":"absolute")),display:"none",left:offset.left+"px",top:offset.top+"px"});if(!inst.inline){var showAnim=$.datepicker._get(inst,"showAnim")||"show";var duration=$.datepicker._get(inst,"duration");var postProcess=function(){$.datepicker._datepickerShowing=true;if($.browser.msie&&parseInt($.browser.version,10)<7){$("iframe.ui-datepicker-cover").css({width:inst.dpDiv.width()+4,height:inst.dpDiv.height()+4})}};if($.effects&&$.effects[showAnim]){inst.dpDiv.show(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.dpDiv[showAnim](duration,postProcess)}if(duration==""){postProcess()}if(inst.input[0].type!="hidden"){inst.input[0].focus()}$.datepicker._curInst=inst}},_updateDatepicker:function(inst){var dims={width:inst.dpDiv.width()+4,height:inst.dpDiv.height()+4};inst.dpDiv.empty().append(this._generateHTML(inst)).find("iframe.ui-datepicker-cover").css({width:dims.width,height:dims.height});var numMonths=this._getNumberOfMonths(inst);inst.dpDiv[(numMonths[0]!=1||numMonths[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");inst.dpDiv[(this._get(inst,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");if(inst.input&&inst.input[0].type!="hidden"){$(inst.input[0]).focus()}},_checkOffset:function(inst,offset,isFixed){var pos=inst.input?this._findPos(inst.input[0]):null;var browserWidth=window.innerWidth||document.documentElement.clientWidth;var browserHeight=window.innerHeight||document.documentElement.clientHeight;var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;if(this._get(inst,"isRTL")||(offset.left+inst.dpDiv.width()-scrollX)>browserWidth){offset.left=Math.max((isFixed?0:scrollX),pos[0]+(inst.input?inst.input.width():0)-(isFixed?scrollX:0)-inst.dpDiv.width()-(isFixed&&$.browser.opera?document.documentElement.scrollLeft:0))}else{offset.left-=(isFixed?scrollX:0)}if((offset.top+inst.dpDiv.height()-scrollY)>browserHeight){offset.top=Math.max((isFixed?0:scrollY),pos[1]-(isFixed?scrollY:0)-(this._inDialog?0:inst.dpDiv.height())-(isFixed&&$.browser.opera?document.documentElement.scrollTop:0))}else{offset.top-=(isFixed?scrollY:0)}return offset},_findPos:function(obj){while(obj&&(obj.type=="hidden"||obj.nodeType!=1)){obj=obj.nextSibling}var position=$(obj).offset();return[position.left,position.top]},_hideDatepicker:function(input,duration){var inst=this._curInst;if(!inst||(input&&inst!=$.data(input,PROP_NAME))){return }var rangeSelect=this._get(inst,"rangeSelect");if(rangeSelect&&inst.stayOpen){this._selectDate("#"+inst.id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear))}inst.stayOpen=false;if(this._datepickerShowing){duration=(duration!=null?duration:this._get(inst,"duration"));var showAnim=this._get(inst,"showAnim");var postProcess=function(){$.datepicker._tidyDialog(inst)};if(duration!=""&&$.effects&&$.effects[showAnim]){inst.dpDiv.hide(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.dpDiv[(duration==""?"hide":(showAnim=="slideDown"?"slideUp":(showAnim=="fadeIn"?"fadeOut":"hide")))](duration,postProcess)}if(duration==""){this._tidyDialog(inst)}var onClose=this._get(inst,"onClose");if(onClose){onClose.apply((inst.input?inst.input[0]:null),[(inst.input?inst.input.val():""),inst])}this._datepickerShowing=false;this._lastInput=null;inst.settings.prompt=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if($.blockUI){$.unblockUI();$("body").append(this.dpDiv)}}this._inDialog=false}this._curInst=null},_tidyDialog:function(inst){inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker");$("."+this._promptClass,inst.dpDiv).remove()},_checkExternalClick:function(event){if(!$.datepicker._curInst){return }var $target=$(event.target);if(($target.parents("#"+$.datepicker._mainDivId).length==0)&&!$target.hasClass($.datepicker.markerClassName)&&!$target.hasClass($.datepicker._triggerClass)&&$.datepicker._datepickerShowing&&!($.datepicker._inDialog&&$.blockUI)){$.datepicker._hideDatepicker(null,"")}},_adjustDate:function(id,offset,period){var target=$(id);var inst=this._getInst(target[0]);this._adjustInstDate(inst,offset,period);this._updateDatepicker(inst)},_gotoToday:function(id){var target=$(id);var inst=this._getInst(target[0]);if(this._get(inst,"gotoCurrent")&&inst.currentDay){inst.selectedDay=inst.currentDay;inst.drawMonth=inst.selectedMonth=inst.currentMonth;inst.drawYear=inst.selectedYear=inst.currentYear}else{var date=new Date();inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear()}this._notifyChange(inst);this._adjustDate(target)},_selectMonthYear:function(id,select,period){var target=$(id);var inst=this._getInst(target[0]);inst._selectingMonthYear=false;inst["selected"+(period=="M"?"Month":"Year")]=inst["draw"+(period=="M"?"Month":"Year")]=parseInt(select.options[select.selectedIndex].value,10);this._notifyChange(inst);this._adjustDate(target)},_clickMonthYear:function(id){var target=$(id);var inst=this._getInst(target[0]);if(inst.input&&inst._selectingMonthYear&&!$.browser.msie){inst.input[0].focus()}inst._selectingMonthYear=!inst._selectingMonthYear},_changeFirstDay:function(id,day){var target=$(id);var inst=this._getInst(target[0]);inst.settings.firstDay=day;this._updateDatepicker(inst)},_selectDay:function(id,month,year,td){if($(td).hasClass(this._unselectableClass)){return }var target=$(id);var inst=this._getInst(target[0]);var rangeSelect=this._get(inst,"rangeSelect");if(rangeSelect){inst.stayOpen=!inst.stayOpen;if(inst.stayOpen){$(".ui-datepicker td",inst.dpDiv).removeClass(this._currentClass);$(td).addClass(this._currentClass)}}inst.selectedDay=inst.currentDay=$("a",td).html();inst.selectedMonth=inst.currentMonth=month;inst.selectedYear=inst.currentYear=year;if(inst.stayOpen){inst.endDay=inst.endMonth=inst.endYear=null}else{if(rangeSelect){inst.endDay=inst.currentDay;inst.endMonth=inst.currentMonth;inst.endYear=inst.currentYear}}this._selectDate(id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear));if(inst.stayOpen){inst.rangeStart=new Date(inst.currentYear,inst.currentMonth,inst.currentDay);this._updateDatepicker(inst)}else{if(rangeSelect){inst.selectedDay=inst.currentDay=inst.rangeStart.getDate();inst.selectedMonth=inst.currentMonth=inst.rangeStart.getMonth();inst.selectedYear=inst.currentYear=inst.rangeStart.getFullYear();inst.rangeStart=null;if(inst.inline){this._updateDatepicker(inst)}}}},_clearDate:function(id){var target=$(id);var inst=this._getInst(target[0]);if(this._get(inst,"mandatory")){return }inst.stayOpen=false;inst.endDay=inst.endMonth=inst.endYear=inst.rangeStart=null;this._selectDate(target,"")},_selectDate:function(id,dateStr){var target=$(id);var inst=this._getInst(target[0]);dateStr=(dateStr!=null?dateStr:this._formatDate(inst));if(this._get(inst,"rangeSelect")&&dateStr){dateStr=(inst.rangeStart?this._formatDate(inst,inst.rangeStart):dateStr)+this._get(inst,"rangeSeparator")+dateStr}if(inst.input){inst.input.val(dateStr)}this._updateAlternate(inst);var onSelect=this._get(inst,"onSelect");if(onSelect){onSelect.apply((inst.input?inst.input[0]:null),[dateStr,inst])}else{if(inst.input){inst.input.trigger("change")}}if(inst.inline){this._updateDatepicker(inst)}else{if(!inst.stayOpen){this._hideDatepicker(null,this._get(inst,"duration"));this._lastInput=inst.input[0];if(typeof (inst.input[0])!="object"){inst.input[0].focus()}this._lastInput=null}}},_updateAlternate:function(inst){var altField=this._get(inst,"altField");if(altField){var altFormat=this._get(inst,"altFormat");var date=this._getDate(inst);dateStr=(isArray(date)?(!date[0]&&!date[1]?"":this.formatDate(altFormat,date[0],this._getFormatConfig(inst))+this._get(inst,"rangeSeparator")+this.formatDate(altFormat,date[1]||date[0],this._getFormatConfig(inst))):this.formatDate(altFormat,date,this._getFormatConfig(inst)));$(altField).each(function(){$(this).val(dateStr)})}},noWeekends:function(date){var day=date.getDay();return[(day>0&&day<6),""]},iso8601Week:function(date){var checkDate=new Date(date.getFullYear(),date.getMonth(),date.getDate(),(date.getTimezoneOffset()/-60));var firstMon=new Date(checkDate.getFullYear(),1-1,4);var firstDay=firstMon.getDay()||7;firstMon.setDate(firstMon.getDate()+1-firstDay);if(firstDay<4&&checkDatenew Date(checkDate.getFullYear(),12-1,28)){firstDay=new Date(checkDate.getFullYear()+1,1-1,4).getDay()||7;if(firstDay>4&&(checkDate.getDay()||7)0&&iValue="0"&&value.charAt(iValue)<="9"){num=num*10+parseInt(value.charAt(iValue++),10);size--}if(size==origSize){throw"Missing number at position "+iValue}return num};var getName=function(match,shortNames,longNames){var names=(lookAhead(match)?longNames:shortNames);var size=0;for(var j=0;j0&&iValue-1){month=1;day=doy;do{var dim=this._getDaysInMonth(year,month-1);if(day<=dim){break}month++;day-=dim}while(true)}var date=new Date(year,month-1,day);if(date.getFullYear()!=year||date.getMonth()+1!=month||date.getDate()!=day){throw"Invalid date"}return date},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TIMESTAMP:"@",W3C:"yy-mm-dd",formatDate:function(format,date,settings){if(!date){return""}var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;var lookAhead=function(match){var matches=(iFormat+1=0;m--){doy+=this._getDaysInMonth(date.getFullYear(),m)}output+=formatNumber("o",doy,3);break;case"m":output+=formatNumber("m",date.getMonth()+1,2);break;case"M":output+=formatName("M",date.getMonth(),monthNamesShort,monthNames);break;case"y":output+=(lookAhead("y")?date.getFullYear():(date.getYear()%100<10?"0":"")+date.getYear()%100);break;case"@":output+=date.getTime();break;case"'":if(lookAhead("'")){output+="'"}else{literal=true}break;default:output+=format.charAt(iFormat)}}}}return output},_possibleChars:function(format){var chars="";var literal=false;for(var iFormat=0;iFormat0){var settings=this._getFormatConfig(inst);if(dates.length>1){date=this.parseDate(dateFormat,dates[1],settings)||defaultDate;inst.endDay=date.getDate();inst.endMonth=date.getMonth();inst.endYear=date.getFullYear()}try{date=this.parseDate(dateFormat,dates[0],settings)||defaultDate}catch(e){this.log(e);date=defaultDate}}inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear();inst.currentDay=(dates[0]?date.getDate():0);inst.currentMonth=(dates[0]?date.getMonth():0);inst.currentYear=(dates[0]?date.getFullYear():0);this._adjustInstDate(inst)},_getDefaultDate:function(inst){var date=this._determineDate(this._get(inst,"defaultDate"),new Date());var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");date=(minDate&&datemaxDate?maxDate:date);return date},_determineDate:function(date,defaultDate){var offsetNumeric=function(offset){var date=new Date();date.setUTCDate(date.getUTCDate()+offset);return date};var offsetString=function(offset,getDaysInMonth){var date=new Date();var year=date.getFullYear();var month=date.getMonth();var day=date.getDate();var pattern=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g;var matches=pattern.exec(offset);while(matches){switch(matches[2]||"d"){case"d":case"D":day+=parseInt(matches[1],10);break;case"w":case"W":day+=parseInt(matches[1],10)*7;break;case"m":case"M":month+=parseInt(matches[1],10);day=Math.min(day,getDaysInMonth(year,month));break;case"y":case"Y":year+=parseInt(matches[1],10);day=Math.min(day,getDaysInMonth(year,month));break}matches=pattern.exec(offset)}return new Date(year,month,day)};date=(date==null?defaultDate:(typeof date=="string"?offsetString(date,this._getDaysInMonth):(typeof date=="number"?(isNaN(date)?defaultDate:offsetNumeric(date)):date)));return(date&&date.toString()=="Invalid Date"?defaultDate:date)},_setDate:function(inst,date,endDate){var clear=!(date);var origMonth=inst.selectedMonth;var origYear=inst.selectedYear;date=this._determineDate(date,new Date());inst.selectedDay=inst.currentDay=date.getDate();inst.drawMonth=inst.selectedMonth=inst.currentMonth=date.getMonth();inst.drawYear=inst.selectedYear=inst.currentYear=date.getFullYear();if(this._get(inst,"rangeSelect")){if(endDate){endDate=this._determineDate(endDate,null);inst.endDay=endDate.getDate();inst.endMonth=endDate.getMonth();inst.endYear=endDate.getFullYear()}else{inst.endDay=inst.currentDay;inst.endMonth=inst.currentMonth;inst.endYear=inst.currentYear}}if(origMonth!=inst.selectedMonth||origYear!=inst.selectedYear){this._notifyChange(inst)}this._adjustInstDate(inst);if(inst.input){inst.input.val(clear?"":this._formatDate(inst)+(!this._get(inst,"rangeSelect")?"":this._get(inst,"rangeSeparator")+this._formatDate(inst,inst.endDay,inst.endMonth,inst.endYear)))}},_getDate:function(inst){var startDate=(!inst.currentYear||(inst.input&&inst.input.val()=="")?null:new Date(inst.currentYear,inst.currentMonth,inst.currentDay));if(this._get(inst,"rangeSelect")){return[inst.rangeStart||startDate,(!inst.endYear?inst.rangeStart||startDate:new Date(inst.endYear,inst.endMonth,inst.endDay))]}else{return startDate}},_generateHTML:function(inst){var today=new Date();today=new Date(today.getFullYear(),today.getMonth(),today.getDate());var showStatus=this._get(inst,"showStatus");var initStatus=this._get(inst,"initStatus")||" ";var isRTL=this._get(inst,"isRTL");var clear=(this._get(inst,"mandatory")?"":'");var controls='
    '+(isRTL?"":clear)+'"+(isRTL?clear:"")+"
    ";var prompt=this._get(inst,"prompt");var closeAtTop=this._get(inst,"closeAtTop");var hideIfNoPrevNext=this._get(inst,"hideIfNoPrevNext");var navigationAsDateFormat=this._get(inst,"navigationAsDateFormat");var showBigPrevNext=this._get(inst,"showBigPrevNext");var numMonths=this._getNumberOfMonths(inst);var showCurrentAtPos=this._get(inst,"showCurrentAtPos");var stepMonths=this._get(inst,"stepMonths");var stepBigMonths=this._get(inst,"stepBigMonths");var isMultiMonth=(numMonths[0]!=1||numMonths[1]!=1);var currentDate=(!inst.currentDay?new Date(9999,9,9):new Date(inst.currentYear,inst.currentMonth,inst.currentDay));var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");var drawMonth=inst.drawMonth-showCurrentAtPos;var drawYear=inst.drawYear;if(drawMonth<0){drawMonth+=12;drawYear--}if(maxDate){var maxDraw=new Date(maxDate.getFullYear(),maxDate.getMonth()-numMonths[1]+1,maxDate.getDate());maxDraw=(minDate&&maxDrawmaxDraw){drawMonth--;if(drawMonth<0){drawMonth=11;drawYear--}}}var prevText=this._get(inst,"prevText");prevText=(!navigationAsDateFormat?prevText:this.formatDate(prevText,new Date(drawYear,drawMonth-stepMonths,1),this._getFormatConfig(inst)));var prevBigText=(showBigPrevNext?this._get(inst,"prevBigText"):"");prevBigText=(!navigationAsDateFormat?prevBigText:this.formatDate(prevBigText,new Date(drawYear,drawMonth-stepBigMonths,1),this._getFormatConfig(inst)));var prev='
    '+(this._canAdjustMonth(inst,-1,drawYear,drawMonth)?(showBigPrevNext?""+prevBigText+"":"")+""+prevText+"":(hideIfNoPrevNext?"":""))+"
    ";var nextText=this._get(inst,"nextText");nextText=(!navigationAsDateFormat?nextText:this.formatDate(nextText,new Date(drawYear,drawMonth+stepMonths,1),this._getFormatConfig(inst)));var nextBigText=(showBigPrevNext?this._get(inst,"nextBigText"):"");nextBigText=(!navigationAsDateFormat?nextBigText:this.formatDate(nextBigText,new Date(drawYear,drawMonth+stepBigMonths,1),this._getFormatConfig(inst)));var next='
    '+(this._canAdjustMonth(inst,+1,drawYear,drawMonth)?""+nextText+""+(showBigPrevNext?""+nextBigText+"":""):(hideIfNoPrevNext?"":""))+"
    ";var currentText=this._get(inst,"currentText");var gotoDate=(this._get(inst,"gotoCurrent")&&inst.currentDay?currentDate:today);currentText=(!navigationAsDateFormat?currentText:this.formatDate(currentText,gotoDate,this._getFormatConfig(inst)));var html=(prompt?'
    '+prompt+"
    ":"")+(closeAtTop&&!inst.inline?controls:"")+'";var firstDay=this._get(inst,"firstDay");var changeFirstDay=this._get(inst,"changeFirstDay");var dayNames=this._get(inst,"dayNames");var dayNamesShort=this._get(inst,"dayNamesShort");var dayNamesMin=this._get(inst,"dayNamesMin");var monthNames=this._get(inst,"monthNames");var beforeShowDay=this._get(inst,"beforeShowDay");var highlightWeek=this._get(inst,"highlightWeek");var showOtherMonths=this._get(inst,"showOtherMonths");var showWeeks=this._get(inst,"showWeeks");var calculateWeek=this._get(inst,"calculateWeek")||this.iso8601Week;var weekStatus=this._get(inst,"weekStatus");var status=(showStatus?this._get(inst,"dayStatus")||initStatus:"");var dateStatus=this._get(inst,"statusForDate")||this.dateStatus;var endDate=inst.endDay?new Date(inst.endYear,inst.endMonth,inst.endDay):currentDate;for(var row=0;row'+this._generateMonthYearHeader(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,row>0||col>0,showStatus,initStatus,monthNames)+''+(showWeeks?""+this._get(inst,"weekHeader")+"":"");for(var dow=0;dow<7;dow++){var day=(dow+firstDay)%7;var dayStatus=(status.indexOf("DD")>-1?status.replace(/DD/,dayNames[day]):status.replace(/D/,dayNamesShort[day]));html+="=5?' class="ui-datepicker-week-end-cell"':"")+">"+(!changeFirstDay?"'+dayNamesMin[day]+(changeFirstDay?"":"")+""}html+="";var daysInMonth=this._getDaysInMonth(drawYear,drawMonth);if(drawYear==inst.selectedYear&&drawMonth==inst.selectedMonth){inst.selectedDay=Math.min(inst.selectedDay,daysInMonth)}var leadDays=(this._getFirstDayOfMonth(drawYear,drawMonth)-firstDay+7)%7;var tzDate=new Date(drawYear,drawMonth,1-leadDays);var utcDate=new Date(drawYear,drawMonth,1-leadDays);var printDate=utcDate;var numRows=(isMultiMonth?6:Math.ceil((leadDays+daysInMonth)/7));for(var dRow=0;dRow'+(showWeeks?'":"");for(var dow=0;dow<7;dow++){var daySettings=(beforeShowDay?beforeShowDay.apply((inst.input?inst.input[0]:null),[printDate]):[true,""]);var otherMonth=(printDate.getMonth()!=drawMonth);var unselectable=otherMonth||!daySettings[0]||(minDate&&printDatemaxDate);html+='";tzDate.setDate(tzDate.getDate()+1);utcDate.setUTCDate(utcDate.getUTCDate()+1);printDate=(tzDate>utcDate?tzDate:utcDate)}html+=""}drawMonth++;if(drawMonth>11){drawMonth=0;drawYear++}html+="
    "+calculateWeek(printDate)+"=currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?" "+this._currentClass:"")+(printDate.getTime()==today.getTime()?" ui-datepicker-today":""))+'"'+((!otherMonth||showOtherMonths)&&daySettings[2]?' title="'+daySettings[2]+'"':"")+(unselectable?(highlightWeek?" onmouseover=\"jQuery(this).parent().addClass('ui-datepicker-week-over');\" onmouseout=\"jQuery(this).parent().removeClass('ui-datepicker-week-over');\"":""):" onmouseover=\"jQuery(this).addClass('ui-datepicker-days-cell-over')"+(highlightWeek?".parent().addClass('ui-datepicker-week-over')":"")+";"+(!showStatus||(otherMonth&&!showOtherMonths)?"":"jQuery('#ui-datepicker-status-"+inst.id+"').html('"+(dateStatus.apply((inst.input?inst.input[0]:null),[printDate,inst])||initStatus)+"');")+"\" onmouseout=\"jQuery(this).removeClass('ui-datepicker-days-cell-over')"+(highlightWeek?".parent().removeClass('ui-datepicker-week-over')":"")+";"+(!showStatus||(otherMonth&&!showOtherMonths)?"":"jQuery('#ui-datepicker-status-"+inst.id+"').html('"+initStatus+"');")+'" onclick="jQuery.datepicker._selectDay(\'#'+inst.id+"',"+drawMonth+","+drawYear+', this);"')+">"+(otherMonth?(showOtherMonths?printDate.getDate():" "):(unselectable?printDate.getDate():""+printDate.getDate()+""))+"
"}}html+=(showStatus?'
'+initStatus+"
":"")+(!closeAtTop&&!inst.inline?controls:"")+'
'+($.browser.msie&&parseInt($.browser.version,10)<7&&!inst.inline?'':"");return html},_generateMonthYearHeader:function(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,secondary,showStatus,initStatus,monthNames){minDate=(inst.rangeStart&&minDate&&selectedDate";for(var month=0;month<12;month++){if((!inMinYear||month>=minDate.getMonth())&&(!inMaxYear||month<=maxDate.getMonth())){monthHtml+='"}}monthHtml+=""}if(!showMonthAfterYear){html+=monthHtml}if(secondary||!this._get(inst,"changeYear")){html+=drawYear}else{var years=this._get(inst,"yearRange").split(":");var year=0;var endYear=0;if(years.length!=2){year=drawYear-10;endYear=drawYear+10}else{if(years[0].charAt(0)=="+"||years[0].charAt(0)=="-"){year=endYear=new Date().getFullYear();year+=parseInt(years[0],10);endYear+=parseInt(years[1],10)}else{year=parseInt(years[0],10);endYear=parseInt(years[1],10)}}year=(minDate?Math.max(year,minDate.getFullYear()):year);endYear=(maxDate?Math.min(endYear,maxDate.getFullYear()):endYear);html+='"}if(showMonthAfterYear){html+=monthHtml}html+="";return html},_addStatus:function(showStatus,id,text,initStatus){return(showStatus?" onmouseover=\"jQuery('#ui-datepicker-status-"+id+"').html('"+(text||initStatus)+"');\" onmouseout=\"jQuery('#ui-datepicker-status-"+id+"').html('"+initStatus+"');\"":"")},_adjustInstDate:function(inst,offset,period){var year=inst.drawYear+(period=="Y"?offset:0);var month=inst.drawMonth+(period=="M"?offset:0);var day=Math.min(inst.selectedDay,this._getDaysInMonth(year,month))+(period=="D"?offset:0);var date=new Date(year,month,day);var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");date=(minDate&&datemaxDate?maxDate:date);inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear();if(period=="M"||period=="Y"){this._notifyChange(inst)}},_notifyChange:function(inst){var onChange=this._get(inst,"onChangeMonthYear");if(onChange){onChange.apply((inst.input?inst.input[0]:null),[inst.selectedYear,inst.selectedMonth+1,inst])}},_getNumberOfMonths:function(inst){var numMonths=this._get(inst,"numberOfMonths");return(numMonths==null?[1,1]:(typeof numMonths=="number"?[1,numMonths]:numMonths))},_getMinMaxDate:function(inst,minMax,checkRange){var date=this._determineDate(this._get(inst,minMax+"Date"),null);if(date){date.setHours(0);date.setMinutes(0);date.setSeconds(0);date.setMilliseconds(0)}return(!checkRange||!inst.rangeStart?date:(!date||inst.rangeStart>date?inst.rangeStart:date))},_getDaysInMonth:function(year,month){return 32-new Date(year,month,32).getDate()},_getFirstDayOfMonth:function(year,month){return new Date(year,month,1).getDay()},_canAdjustMonth:function(inst,offset,curYear,curMonth){var numMonths=this._getNumberOfMonths(inst);var date=new Date(curYear,curMonth+(offset<0?offset:numMonths[1]),1);if(offset<0){date.setDate(this._getDaysInMonth(date.getFullYear(),date.getMonth()))}return this._isInRange(inst,date)},_isInRange:function(inst,date){var newMinDate=(!inst.rangeStart?null:new Date(inst.selectedYear,inst.selectedMonth,inst.selectedDay));newMinDate=(newMinDate&&inst.rangeStart=minDate)&&(!maxDate||date<=maxDate))},_getFormatConfig:function(inst){var shortYearCutoff=this._get(inst,"shortYearCutoff");shortYearCutoff=(typeof shortYearCutoff!="string"?shortYearCutoff:new Date().getFullYear()%100+parseInt(shortYearCutoff,10));return{shortYearCutoff:shortYearCutoff,dayNamesShort:this._get(inst,"dayNamesShort"),dayNames:this._get(inst,"dayNames"),monthNamesShort:this._get(inst,"monthNamesShort"),monthNames:this._get(inst,"monthNames")}},_formatDate:function(inst,day,month,year){if(!day){inst.currentDay=inst.selectedDay;inst.currentMonth=inst.selectedMonth;inst.currentYear=inst.selectedYear}var date=(day?(typeof day=="object"?day:new Date(year,month,day)):new Date(inst.currentYear,inst.currentMonth,inst.currentDay));return this.formatDate(this._get(inst,"dateFormat"),date,this._getFormatConfig(inst))}});function extendRemove(target,props){$.extend(target,props);for(var name in props){if(props[name]==null||props[name]==undefined){target[name]=props[name]}}return target}function isArray(a){return(a&&(($.browser.safari&&typeof a=="object"&&a.length)||(a.constructor&&a.constructor.toString().match(/\Array\(\)/))))}$.fn.datepicker=function(options){if(!$.datepicker.initialized){$(document.body).append($.datepicker.dpDiv).mousedown($.datepicker._checkExternalClick);$.datepicker.initialized=true}var otherArgs=Array.prototype.slice.call(arguments,1);if(typeof options=="string"&&(options=="isDisabled"||options=="getDate")){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}return this.each(function(){typeof options=="string"?$.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this].concat(otherArgs)):$.datepicker._attachDatepicker(this,options)})};$.datepicker=new Datepicker();$.datepicker.initialized=false;$.datepicker.uuid=new Date().getTime()})(jQuery);(function(B){var A={dragStart:"start.draggable",drag:"drag.draggable",dragStop:"stop.draggable",maxHeight:"maxHeight.resizable",minHeight:"minHeight.resizable",maxWidth:"maxWidth.resizable",minWidth:"minWidth.resizable",resizeStart:"start.resizable",resize:"drag.resizable",resizeStop:"stop.resizable"};B.widget("ui.dialog",{_init:function(){this.originalTitle=this.element.attr("title");this.options.title=this.options.title||this.originalTitle;var K=this,L=this.options,F=this.element.removeAttr("title").addClass("ui-dialog-content").wrap("
").wrap("
"),H=(this.uiDialogContainer=F.parent()).addClass("ui-dialog-container").css({position:"relative",width:"100%",height:"100%"}),E=(this.uiDialogTitlebar=B("
")).addClass("ui-dialog-titlebar").append('X').prependTo(H),J=L.title||" ",C=B.ui.dialog.getTitleId(this.element),D=B("").addClass("ui-dialog-title").attr("id",C).html(J).prependTo(E),I=(this.uiDialog=H.parent()).appendTo(document.body).hide().addClass("ui-dialog").addClass(L.dialogClass).addClass(F.attr("className")).removeClass("ui-dialog-content").css({position:"absolute",width:L.width,height:L.height,overflow:"hidden",zIndex:L.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(M){(L.closeOnEscape&&M.keyCode&&M.keyCode==B.keyCode.ESCAPE&&K.close())}).mousedown(function(){K._moveToTop()}),G=(this.uiDialogButtonPane=B("
")).addClass("ui-dialog-buttonpane").css({position:"absolute",bottom:0}).appendTo(I);this.uiDialogTitlebarClose=B(".ui-dialog-titlebar-close",E).hover(function(){B(this).addClass("ui-dialog-titlebar-close-hover")},function(){B(this).removeClass("ui-dialog-titlebar-close-hover")}).mousedown(function(M){M.stopPropagation()}).click(function(){K.close();return false});E.find("*").add(E).each(function(){B.ui.disableSelection(this)});(L.draggable&&B.fn.draggable&&this._makeDraggable());(L.resizable&&B.fn.resizable&&this._makeResizable());this._createButtons(L.buttons);this._isOpen=false;(L.bgiframe&&B.fn.bgiframe&&I.bgiframe());(L.autoOpen&&this.open())},destroy:function(){(this.overlay&&this.overlay.destroy());this.uiDialog.hide();this.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content").hide().appendTo("body");this.uiDialog.remove();(this.originalTitle&&this.element.attr("title",this.originalTitle))},close:function(){if(false===this._trigger("beforeclose",null,{options:this.options})){return }(this.overlay&&this.overlay.destroy());this.uiDialog.hide(this.options.hide).unbind("keypress.ui-dialog");this._trigger("close",null,{options:this.options});B.ui.dialog.overlay.resize();this._isOpen=false},isOpen:function(){return this._isOpen},open:function(){if(this._isOpen){return }this.overlay=this.options.modal?new B.ui.dialog.overlay(this):null;(this.uiDialog.next().length&&this.uiDialog.appendTo("body"));this._position(this.options.position);this.uiDialog.show(this.options.show);(this.options.autoResize&&this._size());this._moveToTop(true);(this.options.modal&&this.uiDialog.bind("keypress.ui-dialog",function(E){if(E.keyCode!=B.keyCode.TAB){return }var D=B(":tabbable",this),F=D.filter(":first")[0],C=D.filter(":last")[0];if(E.target==C&&!E.shiftKey){setTimeout(function(){F.focus()},1)}else{if(E.target==F&&E.shiftKey){setTimeout(function(){C.focus()},1)}}}));this.uiDialog.find(":tabbable:first").focus();this._trigger("open",null,{options:this.options});this._isOpen=true},_createButtons:function(F){var E=this,C=false,D=this.uiDialogButtonPane;D.empty().hide();B.each(F,function(){return !(C=true)});if(C){D.show();B.each(F,function(G,H){B('').text(G).click(function(){H.apply(E.element[0],arguments)}).appendTo(D)})}},_makeDraggable:function(){var C=this,D=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content",helper:D.dragHelper,handle:".ui-dialog-titlebar",start:function(){C._moveToTop();(D.dragStart&&D.dragStart.apply(C.element[0],arguments))},drag:function(){(D.drag&&D.drag.apply(C.element[0],arguments))},stop:function(){(D.dragStop&&D.dragStop.apply(C.element[0],arguments));B.ui.dialog.overlay.resize()}})},_makeResizable:function(F){F=(F===undefined?this.options.resizable:F);var C=this,E=this.options,D=typeof F=="string"?F:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",helper:E.resizeHelper,maxWidth:E.maxWidth,maxHeight:E.maxHeight,minWidth:E.minWidth,minHeight:E.minHeight,start:function(){(E.resizeStart&&E.resizeStart.apply(C.element[0],arguments))},resize:function(){(E.autoResize&&C._size.apply(C));(E.resize&&E.resize.apply(C.element[0],arguments))},handles:D,stop:function(){(E.autoResize&&C._size.apply(C));(E.resizeStop&&E.resizeStop.apply(C.element[0],arguments));B.ui.dialog.overlay.resize()}})},_moveToTop:function(E){if((this.options.modal&&!E)||(!this.options.stack&&!this.options.modal)){return this._trigger("focus",null,{options:this.options})}var D=this.options.zIndex,C=this.options;B(".ui-dialog:visible").each(function(){D=Math.max(D,parseInt(B(this).css("z-index"),10)||C.zIndex)});(this.overlay&&this.overlay.$el.css("z-index",++D));this.uiDialog.css("z-index",++D);this._trigger("focus",null,{options:this.options})},_position:function(H){var D=B(window),E=B(document),F=E.scrollTop(),C=E.scrollLeft(),G=F;if(B.inArray(H,["center","top","right","bottom","left"])>=0){H=[H=="right"||H=="left"?H:"center",H=="top"||H=="bottom"?H:"middle"]}if(H.constructor!=Array){H=["center","middle"]}if(H[0].constructor==Number){C+=H[0]}else{switch(H[0]){case"left":C+=0;break;case"right":C+=D.width()-this.uiDialog.width();break;default:case"center":C+=(D.width()-this.uiDialog.width())/2}}if(H[1].constructor==Number){F+=H[1]}else{switch(H[1]){case"top":F+=0;break;case"bottom":F+=D.height()-this.uiDialog.height();break;default:case"middle":F+=(D.height()-this.uiDialog.height())/2}}F=Math.max(F,G);this.uiDialog.css({top:F,left:C})},_setData:function(D,E){(A[D]&&this.uiDialog.data(A[D],E));switch(D){case"buttons":this._createButtons(E);break;case"draggable":(E?this._makeDraggable():this.uiDialog.draggable("destroy"));break;case"height":this.uiDialog.height(E);break;case"position":this._position(E);break;case"resizable":var C=this.uiDialog,F=this.uiDialog.is(":data(resizable)");(F&&!E&&C.resizable("destroy"));(F&&typeof E=="string"&&C.resizable("option","handles",E));(F||this._makeResizable(E));break;case"title":B(".ui-dialog-title",this.uiDialogTitlebar).html(E||" ");break;case"width":this.uiDialog.width(E);break}B.widget.prototype._setData.apply(this,arguments)},_size:function(){var D=this.uiDialogContainer,G=this.uiDialogTitlebar,E=this.element,F=(parseInt(E.css("margin-top"),10)||0)+(parseInt(E.css("margin-bottom"),10)||0),C=(parseInt(E.css("margin-left"),10)||0)+(parseInt(E.css("margin-right"),10)||0);E.height(D.height()-G.outerHeight()-F);E.width(D.width()-C)}});B.extend(B.ui.dialog,{defaults:{autoOpen:true,autoResize:true,bgiframe:false,buttons:{},closeOnEscape:true,draggable:true,height:200,minHeight:100,minWidth:150,modal:false,overlay:{},position:"center",resizable:true,stack:true,width:300,zIndex:1000},getter:"isOpen",uuid:0,getTitleId:function(C){return"ui-dialog-title-"+(C.attr("id")||++this.uuid)},overlay:function(C){this.$el=B.ui.dialog.overlay.create(C)}});B.extend(B.ui.dialog.overlay,{instances:[],events:B.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(C){return C+".dialog-overlay"}).join(" "),create:function(D){if(this.instances.length===0){setTimeout(function(){B("a, :input").bind(B.ui.dialog.overlay.events,function(){var F=false;var H=B(this).parents(".ui-dialog");if(H.length){var E=B(".ui-dialog-overlay");if(E.length){var G=parseInt(E.css("z-index"),10);E.each(function(){G=Math.max(G,parseInt(B(this).css("z-index"),10))});F=parseInt(H.css("z-index"),10)>G}else{F=true}}return F})},1);B(document).bind("keydown.dialog-overlay",function(E){(D.options.closeOnEscape&&E.keyCode&&E.keyCode==B.keyCode.ESCAPE&&D.close())});B(window).bind("resize.dialog-overlay",B.ui.dialog.overlay.resize)}var C=B("
").appendTo(document.body).addClass("ui-dialog-overlay").css(B.extend({borderWidth:0,margin:0,padding:0,position:"absolute",top:0,left:0,width:this.width(),height:this.height()},D.options.overlay));(D.options.bgiframe&&B.fn.bgiframe&&C.bgiframe());this.instances.push(C);return C},destroy:function(C){this.instances.splice(B.inArray(this.instances,C),1);if(this.instances.length===0){B("a, :input").add([document,window]).unbind(".dialog-overlay")}C.remove()},height:function(){if(B.browser.msie&&B.browser.version<7){var D=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);var C=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);if(Dthis.pp.left-H.distance)&&(F[0]this.pp.top-H.distance)&&(F[1] *"}})})(jQuery);(function(A){A.widget("ui.progressbar",{_init:function(){this._interval=this.options.interval;var B=this,C=this.options,E=(new Date()).getTime()+Math.random(),D=C.text||"0%";this.element.addClass("ui-progressbar").width(C.width);A.extend(this,{active:false,pixelState:0,percentState:0,identifier:E,bar:A('
').css({width:"0px",overflow:"hidden",zIndex:100}),textElement:A('
').html(D).css({width:"0px",overflow:"hidden"}),textBg:A('
').html(D).css({width:this.element.width()}),wrapper:A('
')});this.wrapper.append(this.bar.append(this.textElement.addClass(C.textClass)),this.textBg).appendTo(this.element)},plugins:{},ui:function(B){return{instance:this,identifier:this.identifier,options:this.options,element:this.bar,textElement:this.textElement,pixelState:this.pixelState,percentState:this.percentState}},_propagate:function(C,B){A.ui.plugin.call(this,C,[B,this.ui()]);this.element.triggerHandler(C=="progressbar"?C:["progressbar",C].join(""),[B,this.ui()],this.options[C])},destroy:function(){this.stop();this.element.removeClass("ui-progressbar ui-progressbar-disabled").removeData("progressbar").unbind(".progressbar").find(".ui-progressbar-wrap").remove();delete jQuery.easing[this.identifier]},enable:function(){this.element.removeClass("ui-progressbar-disabled");this.disabled=false},disable:function(){this.element.addClass("ui-progressbar-disabled");this.disabled=true},start:function(){var B=this,C=this.options;if(this.disabled){return }jQuery.easing[this.identifier]=function(K,L,J,I,H){var G=C.increment,E=C.width,F=((G>E?E:G)/E),D=Math.round(K/F)*F;return D>1?1:D};B.active=true;setTimeout(function(){B.active=false},C.duration);this._animate();this._propagate("start",this.ui());return false},_animate:function(){var C=this,D=this.options,B=D.interval;this.bar.animate({width:D.width},{duration:B,easing:this.identifier,step:function(G,E){C.progress((G/D.width)*100);var H=new Date().getTime(),F=(H-E.startTime);D.interval=B-F},complete:function(){delete jQuery.easing[C.identifier];C.pause();if(C.active){}}})},pause:function(){if(this.disabled){return }this.bar.stop();this._propagate("pause",this.ui())},stop:function(){this.bar.stop();this.bar.width(0);this.textElement.width(0);this.bar.addClass("ui-hidden");this.options.interval=this._interval;this._propagate("stop",this.ui())},text:function(B){this.textElement.html(B);this.textBg.html(B)},progress:function(B){if(this.bar.is(".ui-hidden")){this.bar.removeClass("ui-hidden")}this.percentState=B>100?100:B;this.pixelState=(this.percentState/100)*this.options.width;this.bar.width(this.pixelState);this.textElement.width(this.pixelState);if(this.options.range&&!this.options.text){this.textElement.html(Math.round(this.percentState)+"%")}this._propagate("progress",this.ui())}});A.ui.progressbar.defaults={width:300,duration:3000,interval:200,increment:1,range:true,text:"",addClass:"",textClass:""}})(jQuery);(function(A){A.fn.unwrap=A.fn.unwrap||function(B){return this.each(function(){A(this).parents(B).eq(0).after(this).remove()})};A.widget("ui.slider",{plugins:{},ui:function(B){return{options:this.options,handle:this.currentHandle,value:this.options.axis!="both"||!this.options.axis?Math.round(this.value(null,this.options.axis=="vertical"?"y":"x")):{x:Math.round(this.value(null,"x")),y:Math.round(this.value(null,"y"))},range:this._getRange()}},_propagate:function(C,B){A.ui.plugin.call(this,C,[B,this.ui()]);this.element.triggerHandler(C=="slide"?C:"slide"+C,[B,this.ui()],this.options[C])},destroy:function(){this.element.removeClass("ui-slider ui-slider-disabled").removeData("slider").unbind(".slider");if(this.handle&&this.handle.length){this.handle.unwrap("a");this.handle.each(function(){A(this).data("mouse")._mouseDestroy()})}this.generated&&this.generated.remove()},_setData:function(B,C){A.widget.prototype._setData.apply(this,arguments);if(/min|max|steps/.test(B)){this._initBoundaries()}if(B=="range"){C?this.handle.length==2&&this._createRange():this._removeRange()}},_init:function(){var B=this;this.element.addClass("ui-slider");this._initBoundaries();this.handle=A(this.options.handle,this.element);if(!this.handle.length){B.handle=B.generated=A(B.options.handles||[0]).map(function(){var D=A("
").addClass("ui-slider-handle").appendTo(B.element);if(this.id){D.attr("id",this.id)}return D[0]})}var C=function(D){this.element=A(D);this.element.data("mouse",this);this.options=B.options;this.element.bind("mousedown",function(){if(B.currentHandle){this.blur(B.currentHandle)}B._focus(this,true)});this._mouseInit()};A.extend(C.prototype,A.ui.mouse,{_mouseStart:function(D){return B._start.call(B,D,this.element[0])},_mouseStop:function(D){return B._stop.call(B,D,this.element[0])},_mouseDrag:function(D){return B._drag.call(B,D,this.element[0])},_mouseCapture:function(){return true},trigger:function(D){this._mouseDown(D)}});A(this.handle).each(function(){new C(this)}).wrap('').parent().bind("click",function(){return false}).bind("focus",function(D){B._focus(this.firstChild)}).bind("blur",function(D){B._blur(this.firstChild)}).bind("keydown",function(D){if(!B.options.noKeyboard){return B._keydown(D.keyCode,this.firstChild)}});this.element.bind("mousedown.slider",function(D){B._click.apply(B,[D]);B.currentHandle.data("mouse").trigger(D);B.firstValue=B.firstValue+1});A.each(this.options.handles||[],function(D,E){B.moveTo(E.start,D,true)});if(!isNaN(this.options.startValue)){this.moveTo(this.options.startValue,0,true)}this.previousHandle=A(this.handle[0]);if(this.handle.length==2&&this.options.range){this._createRange()}},_initBoundaries:function(){var B=this.element[0],C=this.options;this.actualSize={width:this.element.outerWidth(),height:this.element.outerHeight()};A.extend(C,{axis:C.axis||(B.offsetWidth
").addClass("ui-slider-range").css({position:"absolute"}).appendTo(this.element);this._updateRange()},_removeRange:function(){this.rangeElement.remove();this.rangeElement=null},_updateRange:function(){var C=this.options.axis=="vertical"?"top":"left";var B=this.options.axis=="vertical"?"height":"width";this.rangeElement.css(C,(parseInt(A(this.handle[0]).css(C),10)||0)+this._handleSize(0,this.options.axis=="vertical"?"y":"x")/2);this.rangeElement.css(B,(parseInt(A(this.handle[1]).css(C),10)||0)-(parseInt(A(this.handle[0]).css(C),10)||0))},_getRange:function(){return this.rangeElement?this._convertValue(parseInt(this.rangeElement.css(this.options.axis=="vertical"?"height":"width"),10),this.options.axis=="vertical"?"y":"x"):null},_handleIndex:function(){return this.handle.index(this.currentHandle[0])},value:function(D,B){if(this.handle.length==1){this.currentHandle=this.handle}if(!B){B=this.options.axis=="vertical"?"y":"x"}var C=A(D!=undefined&&D!==null?this.handle[D]||D:this.currentHandle);if(C.data("mouse").sliderValue){return parseInt(C.data("mouse").sliderValue[B],10)}else{return parseInt(((parseInt(C.css(B=="x"?"left":"top"),10)/(this.actualSize[B=="x"?"width":"height"]-this._handleSize(D,B)))*this.options.realMax[B])+this.options.min[B],10)}},_convertValue:function(C,B){return this.options.min[B]+(C/(this.actualSize[B=="x"?"width":"height"]-this._handleSize(null,B)))*this.options.realMax[B]},_translateValue:function(C,B){return((C-this.options.min[B])/this.options.realMax[B])*(this.actualSize[B=="x"?"width":"height"]-this._handleSize(null,B))},_translateRange:function(D,B){if(this.rangeElement){if(this.currentHandle[0]==this.handle[0]&&D>=this._translateValue(this.value(1),B)){D=this._translateValue(this.value(1,B)-this._oneStep(B),B)}if(this.currentHandle[0]==this.handle[1]&&D<=this._translateValue(this.value(0),B)){D=this._translateValue(this.value(0,B)+this._oneStep(B),B)}}if(this.options.handles){var C=this.options.handles[this._handleIndex()];if(Dthis._translateValue(C.max,B)){D=this._translateValue(C.max,B)}}}return D},_translateLimits:function(C,B){if(C>=this.actualSize[B=="x"?"width":"height"]-this._handleSize(null,B)){C=this.actualSize[B=="x"?"width":"height"]-this._handleSize(null,B)}if(C<=0){C=0}return C},_handleSize:function(C,B){return A(C!=undefined&&C!==null?this.handle[C]:this.currentHandle)[0]["offset"+(B=="x"?"Width":"Height")]},_oneStep:function(B){return this.options.stepping[B]||1},_pageStep:function(B){return 10},_start:function(C,B){var D=this.options;if(D.disabled){return false}this.actualSize={width:this.element.outerWidth(),height:this.element.outerHeight()};if(!this.currentHandle){this._focus(this.previousHandle,true)}this.offset=this.element.offset();this.handleOffset=this.currentHandle.offset();this.clickOffset={top:C.pageY-this.handleOffset.top,left:C.pageX-this.handleOffset.left};this.firstValue=this.value();this._propagate("start",C);this._drag(C,B);return true},_stop:function(B){this._propagate("stop",B);if(this.firstValue!=this.value()){this._propagate("change",B)}this._focus(this.currentHandle,true);return false},_drag:function(E,D){var F=this.options;var B={top:E.pageY-this.offset.top-this.clickOffset.top,left:E.pageX-this.offset.left-this.clickOffset.left};if(!this.currentHandle){this._focus(this.previousHandle,true)}B.left=this._translateLimits(B.left,"x");B.top=this._translateLimits(B.top,"y");if(F.stepping.x){var C=this._convertValue(B.left,"x");C=Math.round(C/F.stepping.x)*F.stepping.x;B.left=this._translateValue(C,"x")}if(F.stepping.y){var C=this._convertValue(B.top,"y");C=Math.round(C/F.stepping.y)*F.stepping.y;B.top=this._translateValue(C,"y")}B.left=this._translateRange(B.left,"x");B.top=this._translateRange(B.top,"y");if(F.axis!="vertical"){this.currentHandle.css({left:B.left})}if(F.axis!="horizontal"){this.currentHandle.css({top:B.top})}this.currentHandle.data("mouse").sliderValue={x:Math.round(this._convertValue(B.left,"x"))||0,y:Math.round(this._convertValue(B.top,"y"))||0};if(this.rangeElement){this._updateRange()}this._propagate("slide",E);return false},moveTo:function(F,E,G){var H=this.options;this.actualSize={width:this.element.outerWidth(),height:this.element.outerHeight()};if(E==undefined&&!this.currentHandle&&this.handle.length!=1){return false}if(E==undefined&&!this.currentHandle){E=0}if(E!=undefined){this.currentHandle=this.previousHandle=A(this.handle[E]||E)}if(F.x!==undefined&&F.y!==undefined){var B=F.x,I=F.y}else{var B=F,I=F}if(B!==undefined&&B.constructor!=Number){var D=/^\-\=/.test(B),C=/^\+\=/.test(B);if(D||C){B=this.value(null,"x")+parseInt(B.replace(D?"=":"+=",""),10)}else{B=isNaN(parseInt(B,10))?undefined:parseInt(B,10)}}if(I!==undefined&&I.constructor!=Number){var D=/^\-\=/.test(I),C=/^\+\=/.test(I);if(D||C){I=this.value(null,"y")+parseInt(I.replace(D?"=":"+=",""),10)}else{I=isNaN(parseInt(I,10))?undefined:parseInt(I,10)}}if(H.axis!="vertical"&&B!==undefined){if(H.stepping.x){B=Math.round(B/H.stepping.x)*H.stepping.x}B=this._translateValue(B,"x");B=this._translateLimits(B,"x");B=this._translateRange(B,"x");H.animate?this.currentHandle.stop().animate({left:B},(Math.abs(parseInt(this.currentHandle.css("left"))-B))*(!isNaN(parseInt(H.animate))?H.animate:5)):this.currentHandle.css({left:B})}if(H.axis!="horizontal"&&I!==undefined){if(H.stepping.y){I=Math.round(I/H.stepping.y)*H.stepping.y}I=this._translateValue(I,"y");I=this._translateLimits(I,"y");I=this._translateRange(I,"y");H.animate?this.currentHandle.stop().animate({top:I},(Math.abs(parseInt(this.currentHandle.css("top"))-I))*(!isNaN(parseInt(H.animate))?H.animate:5)):this.currentHandle.css({top:I})}if(this.rangeElement){this._updateRange()}this.currentHandle.data("mouse").sliderValue={x:Math.round(this._convertValue(B,"x"))||0,y:Math.round(this._convertValue(I,"y"))||0};if(!G){this._propagate("start",null);this._propagate("stop",null);this._propagate("change",null);this._propagate("slide",null)}}});A.ui.slider.getter="value";A.ui.slider.defaults={handle:".ui-slider-handle",distance:1,animate:false}})(jQuery);(function(A){A.widget("ui.spinner",{_init:function(){if(A.data(this.element[0],"spinner")){return }if(this.options.init){this.options.init(this.ui(null))}this._decimals=0;if(this.options.stepping.toString().indexOf(".")!=-1){var C=this.options.stepping.toString();this._decimals=C.slice(C.indexOf(".")+1,C.length).length}var B=this;this.element.addClass("ui-spinner-box").attr("autocomplete","off");this._setValue(isNaN(this._getValue())?this.options.start:this._getValue());this.element.wrap("
").parent().addClass("ui-spinner").append('').find(".ui-spinner-up").bind("mousedown",function(D){A(this).addClass("ui-spinner-pressed");if(!B.counter){B.counter=1}B._mousedown(100,"_up",D)}).bind("mouseup",function(D){A(this).removeClass("ui-spinner-pressed");if(B.counter==1){B._up(D)}B._mouseup(D)}).bind("mouseout",function(D){A(this).removeClass("ui-spinner-pressed");B._mouseup(D)}).bind("dblclick",function(D){A(this).removeClass("ui-spinner-pressed");B._up(D)}).bind("keydown.spinner",function(E){var D=A.keyCode;if(E.keyCode==D.SPACE||E.keyCode==D.ENTER){A(this).addClass("ui-spinner-pressed");if(!B.counter){B.counter=1}B._up.call(B,E)}else{if(E.keyCode==D.DOWN||E.keyCode==D.RIGHT){B.element.siblings(".ui-spinner-down").focus()}else{if(E.keyCode==D.LEFT){B.element.focus()}}}}).bind("keyup.spinner",function(D){A(this).removeClass("ui-spinner-pressed");B.counter=0;B._propagate("change",D)}).end().append('').find(".ui-spinner-down").bind("mousedown",function(D){A(this).addClass("ui-spinner-pressed");if(!B.counter){B.counter=1}B._mousedown(100,"_down",D)}).bind("mouseup",function(D){A(this).removeClass("ui-spinner-pressed");if(B.counter==1){B._down()}B._mouseup(D)}).bind("mouseout",function(D){A(this).removeClass("ui-spinner-pressed");B._mouseup(D)}).bind("dblclick",function(D){A(this).removeClass("ui-spinner-pressed");B._down(D)}).bind("keydown.spinner",function(E){var D=A.keyCode;if(E.keyCode==D.SPACE||E.keyCode==D.ENTER){A(this).addClass("ui-spinner-pressed");if(!B.counter){B.counter=1}B._down.call(B,E)}else{if(E.keyCode==D.UP||E.keyCode==D.LEFT){B.element.siblings(".ui-spinner-up").focus()}}}).bind("keyup.spinner",function(D){A(this).removeClass("ui-spinner-pressed");B.counter=0;B._propagate("change",D)}).end();this._items=this.element.children().length;if(this._items>1){this.element.addClass("ui-spinner-list").css("height",this.element.outerHeight()/this._items).children().addClass("ui-spinner-listitem").end().parent().css("height",this.element.outerHeight()).end();this.options.stepping=1;this.options.min=0;this.options.max=this._items-1}this.element.bind("keydown.spinner",function(D){if(!B.counter){B.counter=1}return B._keydown.call(B,D)}).bind("keyup.spinner",function(D){B.counter=0;B._propagate("change",D)}).bind("blur.spinner",function(D){B._cleanUp()});if(A.fn.mousewheel){this.element.mousewheel(function(D,E){B._mousewheel(D,E)})}},_constrain:function(){if(this.options.min!=undefined&&this._getValue()this.options.max){this._setValue(this.options.max)}},_cleanUp:function(){this._setValue(this._getValue());this._constrain()},_spin:function(C,B){if(this.disabled){return }if(isNaN(this._getValue())){this._setValue(this.options.start)}this._setValue(this._getValue()+(C=="up"?1:-1)*(this.options.incremental&&this.counter>100?(this.counter>200?100:10):1)*this.options.stepping);this._animate(C);this._constrain();if(this.counter){this.counter++}this._propagate("spin",B)},_down:function(B){this._spin("down",B);this._propagate("down",B)},_up:function(B){this._spin("up",B);this._propagate("up",B)},_mousedown:function(C,E,D){var B=this;C=C||100;if(this.timer){window.clearInterval(this.timer)}this.timer=window.setInterval(function(){B[E](D);if(B.counter>20){B._mousedown(20,E,D)}},C)},_mouseup:function(B){this.counter=0;if(this.timer){window.clearInterval(this.timer)}this.element[0].focus();this._propagate("change",B)},_keydown:function(C){var B=A.keyCode;if(C.keyCode==B.UP){this._up(C)}if(C.keyCode==B.DOWN){this._down(C)}if(C.keyCode==B.HOME){this._setValue(this.options.min||this.options.start)}if(C.keyCode==B.END&&this.options.max!=undefined){this._setValue(this.options.max)}return(C.keyCode==B.TAB||C.keyCode==B.BACKSPACE||C.keyCode==B.LEFT||C.keyCode==B.RIGHT||C.keyCode==B.PERIOD||C.keyCode==B.NUMPAD_DECIMAL||C.keyCode==B.NUMPAD_SUBTRACT||(C.keyCode>=96&&C.keyCode<=105)||(/[0-9\-\.]/).test(String.fromCharCode(C.keyCode)))?true:false},_mousewheel:function(B,C){C=(A.browser.opera?-C/Math.abs(C):C);C>0?this._up(B):this._down(B);B.preventDefault()},_getValue:function(){return parseFloat(this.element.val().replace(/[^0-9\-\.]/g,""))},_setValue:function(B){if(isNaN(B)){B=this.options.start}this.element.val(this.options.currency?A.ui.spinner.format.currency(B,this.options.currency):A.ui.spinner.format.number(B,this._decimals))},_animate:function(B){if(this.element.hasClass("ui-spinner-list")&&((B=="up"&&this._getValue()<=this.options.max)||(B=="down"&&this._getValue()>=this.options.min))){this.element.animate({marginTop:"-"+this._getValue()*this.element.outerHeight()},{duration:"fast",queue:false})}},_addItem:function(B){if(!this.element.is("input")){var C="div";if(this.element.is("ol")||this.element.is("ul")){C="li"}this.element.append("<"+C+' class="ui-spinner-dyn">'+B+"")}},plugins:{},ui:function(B){return{options:this.options,element:this.element,value:this._getValue(),add:this._addItem}},_propagate:function(C,B){A.ui.plugin.call(this,C,[B,this.ui()]);return this.element.triggerHandler(C=="spin"?C:"spin"+C,[B,this.ui()],this.options[C])},destroy:function(){if(!A.data(this.element[0],"spinner")){return }if(A.fn.mousewheel){this.element.unmousewheel()}this.element.removeClass("ui-spinner-box ui-spinner-list").removeAttr("disabled").removeAttr("autocomplete").removeData("spinner").unbind(".spinner").siblings().remove().end().children().removeClass("ui-spinner-listitem").remove(".ui-spinner-dyn").end().parent().removeClass("ui-spinner ui-spinner-disabled").before(this.element.clone()).remove().end()},enable:function(){this.element.removeAttr("disabled").siblings().removeAttr("disabled").parent().removeClass("ui-spinner-disabled");this.disabled=false},disable:function(){this.element.attr("disabled",true).siblings().attr("disabled",true).parent().addClass("ui-spinner-disabled");this.disabled=true}});A.extend(A.ui.spinner,{defaults:{stepping:1,start:0,incremental:true,currency:false},format:{number:function(B,C){return this.round(B,C)},currency:function(C,B){return(C!==Math.abs(C)?"-":"")+B+this.round(Math.abs(C),2)},round:function(B,D){var C=Math.round(parseFloat(B)*Math.pow(10,D))/Math.pow(10,D);if(D>0){C=C+((C.toString().indexOf(".")==-1)?".":"")+"0000000001";C=C.substr(0,C.indexOf(".")+1+D)}else{C=Math.round(C)}return C}}})})(jQuery);(function(A){A.widget("ui.tabs",{_init:function(){this.options.event+=".tabs";this._tabify(true)},_setData:function(B,C){if((/^selected/).test(B)){this.select(C)}else{this.options[B]=C;this._tabify()}},length:function(){return this.$tabs.length},_tabId:function(B){return B.title&&B.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+A.data(B)},ui:function(C,B){return{options:this.options,tab:C,panel:B,index:this.$tabs.index(C)}},_tabify:function(O){this.$lis=A("li:has(a[href])",this.element);this.$tabs=this.$lis.map(function(){return A("a",this)[0]});this.$panels=A([]);var P=this,D=this.options;this.$tabs.each(function(R,Q){if(Q.hash&&Q.hash.replace("#","")){P.$panels=P.$panels.add(Q.hash)}else{if(A(Q).attr("href")!="#"){A.data(Q,"href.tabs",Q.href);A.data(Q,"load.tabs",Q.href);var T=P._tabId(Q);Q.href="#"+T;var S=A("#"+T);if(!S.length){S=A(D.panelTemplate).attr("id",T).addClass(D.panelClass).insertAfter(P.$panels[R-1]||P.element);S.data("destroy.tabs",true)}P.$panels=P.$panels.add(S)}else{D.disabled.push(R+1)}}});if(O){this.element.addClass(D.navClass);this.$panels.each(function(){var Q=A(this);Q.addClass(D.panelClass)});if(D.selected===undefined){if(location.hash){this.$tabs.each(function(S,Q){if(Q.hash==location.hash){D.selected=S;if(A.browser.msie||A.browser.opera){var R=A(location.hash),T=R.attr("id");R.attr("id","");setTimeout(function(){R.attr("id",T)},500)}scrollTo(0,0);return false}})}else{if(D.cookie){var J=parseInt(A.cookie("ui-tabs-"+A.data(P.element[0])),10);if(J&&P.$tabs[J]){D.selected=J}}else{if(P.$lis.filter("."+D.selectedClass).length){D.selected=P.$lis.index(P.$lis.filter("."+D.selectedClass)[0])}}}}D.selected=D.selected===null||D.selected!==undefined?D.selected:0;D.disabled=A.unique(D.disabled.concat(A.map(this.$lis.filter("."+D.disabledClass),function(R,Q){return P.$lis.index(R)}))).sort();if(A.inArray(D.selected,D.disabled)!=-1){D.disabled.splice(A.inArray(D.selected,D.disabled),1)}this.$panels.addClass(D.hideClass);this.$lis.removeClass(D.selectedClass);if(D.selected!==null){this.$panels.eq(D.selected).show().removeClass(D.hideClass);this.$lis.eq(D.selected).addClass(D.selectedClass);var K=function(){P._trigger("show",null,P.ui(P.$tabs[D.selected],P.$panels[D.selected]))};if(A.data(this.$tabs[D.selected],"load.tabs")){this.load(D.selected,K)}else{K()}}A(window).bind("unload",function(){P.$tabs.unbind(".tabs");P.$lis=P.$tabs=P.$panels=null})}else{D.selected=this.$lis.index(this.$lis.filter("."+D.selectedClass)[0])}if(D.cookie){A.cookie("ui-tabs-"+A.data(P.element[0]),D.selected,D.cookie)}for(var G=0,N;N=this.$lis[G];G++){A(N)[A.inArray(G,D.disabled)!=-1&&!A(N).hasClass(D.selectedClass)?"addClass":"removeClass"](D.disabledClass)}if(D.cache===false){this.$tabs.removeData("cache.tabs")}var C,I,B={"min-width":0,duration:1},E="normal";if(D.fx&&D.fx.constructor==Array){C=D.fx[0]||B,I=D.fx[1]||B}else{C=I=D.fx||B}var H={display:"",overflow:"",height:""};if(!A.browser.msie){H.opacity=""}function M(R,Q,S){Q.animate(C,C.duration||E,function(){Q.addClass(D.hideClass).css(H);if(A.browser.msie&&C.opacity){Q[0].style.filter=""}if(S){L(R,S,Q)}})}function L(R,S,Q){if(I===B){S.css("display","block")}S.animate(I,I.duration||E,function(){S.removeClass(D.hideClass).css(H);if(A.browser.msie&&I.opacity){S[0].style.filter=""}P._trigger("show",null,P.ui(R,S[0]))})}function F(R,T,Q,S){T.addClass(D.selectedClass).siblings().removeClass(D.selectedClass);M(R,Q,S)}this.$tabs.unbind(".tabs").bind(D.event,function(){var T=A(this).parents("li:eq(0)"),Q=P.$panels.filter(":visible"),S=A(this.hash);if((T.hasClass(D.selectedClass)&&!D.unselect)||T.hasClass(D.disabledClass)||A(this).hasClass(D.loadingClass)||P._trigger("select",null,P.ui(this,S[0]))===false){this.blur();return false}P.options.selected=P.$tabs.index(this);if(D.unselect){if(T.hasClass(D.selectedClass)){P.options.selected=null;T.removeClass(D.selectedClass);P.$panels.stop();M(this,Q);this.blur();return false}else{if(!Q.length){P.$panels.stop();var R=this;P.load(P.$tabs.index(this),function(){T.addClass(D.selectedClass).addClass(D.unselectClass);L(R,S)});this.blur();return false}}}if(D.cookie){A.cookie("ui-tabs-"+A.data(P.element[0]),P.options.selected,D.cookie)}P.$panels.stop();if(S.length){var R=this;P.load(P.$tabs.index(this),Q.length?function(){F(R,T,Q,S)}:function(){T.addClass(D.selectedClass);L(R,S)})}else{throw"jQuery UI Tabs: Mismatching fragment identifier."}if(A.browser.msie){this.blur()}return false});if(!(/^click/).test(D.event)){this.$tabs.bind("click.tabs",function(){return false})}},add:function(E,D,C){if(C==undefined){C=this.$tabs.length}var G=this.options;var I=A(G.tabTemplate.replace(/#\{href\}/g,E).replace(/#\{label\}/g,D));I.data("destroy.tabs",true);var H=E.indexOf("#")==0?E.replace("#",""):this._tabId(A("a:first-child",I)[0]);var F=A("#"+H);if(!F.length){F=A(G.panelTemplate).attr("id",H).addClass(G.hideClass).data("destroy.tabs",true)}F.addClass(G.panelClass);if(C>=this.$lis.length){I.appendTo(this.element);F.appendTo(this.element[0].parentNode)}else{I.insertBefore(this.$lis[C]);F.insertBefore(this.$panels[C])}G.disabled=A.map(G.disabled,function(K,J){return K>=C?++K:K});this._tabify();if(this.$tabs.length==1){I.addClass(G.selectedClass);F.removeClass(G.hideClass);var B=A.data(this.$tabs[0],"load.tabs");if(B){this.load(C,B)}}this._trigger("add",null,this.ui(this.$tabs[C],this.$panels[C]))},remove:function(B){var D=this.options,E=this.$lis.eq(B).remove(),C=this.$panels.eq(B).remove();if(E.hasClass(D.selectedClass)&&this.$tabs.length>1){this.select(B+(B+1=B?--G:G});this._tabify();this._trigger("remove",null,this.ui(E.find("a")[0],C[0]))},enable:function(B){var C=this.options;if(A.inArray(B,C.disabled)==-1){return }var D=this.$lis.eq(B).removeClass(C.disabledClass);if(A.browser.safari){D.css("display","inline-block");setTimeout(function(){D.css("display","block")},0)}C.disabled=A.grep(C.disabled,function(F,E){return F!=B});this._trigger("enable",null,this.ui(this.$tabs[B],this.$panels[B]))},disable:function(C){var B=this,D=this.options;if(C!=D.selected){this.$lis.eq(C).addClass(D.disabledClass);D.disabled.push(C);D.disabled.sort();this._trigger("disable",null,this.ui(this.$tabs[C],this.$panels[C]))}},select:function(B){if(typeof B=="string"){B=this.$tabs.index(this.$tabs.filter("[href$="+B+"]")[0])}this.$tabs.eq(B).trigger(this.options.event)},load:function(G,K){var L=this,D=this.options,E=this.$tabs.eq(G),J=E[0],H=K==undefined||K===false,B=E.data("load.tabs");K=K||function(){};if(!B||!H&&A.data(J,"cache.tabs")){K();return }var M=function(N){var O=A(N),P=O.find("*:last");return P.length&&P.is(":not(img)")&&P||O};var C=function(){L.$tabs.filter("."+D.loadingClass).removeClass(D.loadingClass).each(function(){if(D.spinner){M(this).parent().html(M(this).data("label.tabs"))}});L.xhr=null};if(D.spinner){var I=M(J).html();M(J).wrapInner("").find("em").data("label.tabs",I).html(D.spinner)}var F=A.extend({},D.ajaxOptions,{url:B,success:function(O,N){A(J.hash).html(O);C();if(D.cache){A.data(J,"cache.tabs",true)}L._trigger("load",null,L.ui(L.$tabs[G],L.$panels[G]));D.ajaxOptions.success&&D.ajaxOptions.success(O,N);K()}});if(this.xhr){this.xhr.abort();C()}E.addClass(D.loadingClass);setTimeout(function(){L.xhr=A.ajax(F)},0)},url:function(C,B){this.$tabs.eq(C).removeData("cache.tabs").data("load.tabs",B)},destroy:function(){var B=this.options;this.element.unbind(".tabs").removeClass(B.navClass).removeData("tabs");this.$tabs.each(function(){var C=A.data(this,"href.tabs");if(C){this.href=C}var D=A(this).unbind(".tabs");A.each(["href","load","cache"],function(E,F){D.removeData(F+".tabs")})});this.$lis.add(this.$panels).each(function(){if(A.data(this,"destroy.tabs")){A(this).remove()}else{A(this).removeClass([B.selectedClass,B.unselectClass,B.disabledClass,B.panelClass,B.hideClass].join(" "))}})}});A.ui.tabs.defaults={unselect:false,event:"click",disabled:[],cookie:null,spinner:"Loading…",cache:false,idPrefix:"ui-tabs-",ajaxOptions:{},fx:null,tabTemplate:'
  • #{label}
  • ',panelTemplate:"
    ",navClass:"ui-tabs-nav",selectedClass:"ui-tabs-selected",unselectClass:"ui-tabs-unselect",disabledClass:"ui-tabs-disabled",panelClass:"ui-tabs-panel",hideClass:"ui-tabs-hide",loadingClass:"ui-tabs-loading"};A.ui.tabs.getter="length";A.extend(A.ui.tabs.prototype,{rotation:null,rotate:function(C,F){F=F||false;var B=this,E=this.options.selected;function G(){B.rotation=setInterval(function(){E=++E').insertBefore(G.headers);E('').appendTo(G.headers);G.headers.addClass("ui-accordion-header").attr("tabindex","0")}var I;if(G.fillSpace){I=this.element.parent().height();G.headers.each(function(){I-=E(this).outerHeight()});var H=0;G.headers.next().each(function(){H=Math.max(H,E(this).innerHeight()-E(this).height())}).height(I-H)}else{if(G.autoHeight){I=0;G.headers.next().each(function(){I=Math.max(I,E(this).outerHeight())}).height(I)}}G.headers.not(G.active||"").next().hide();G.active.parent().andSelf().addClass(G.selectedClass);if(G.event){this.element.bind((G.event)+".accordion",F)}},activate:function(G){F.call(this.element[0],{target:C(this.options.headers,G)[0]})},destroy:function(){this.options.headers.next().css("display","");if(this.options.fillSpace||this.options.autoHeight){this.options.headers.next().css("height","")}E.removeData(this.element[0],"accordion");this.element.removeClass("ui-accordion").unbind(".accordion")}});function B(H,G){return function(){return H.apply(G,arguments)}}function D(I){if(!E.data(this,"accordion")){return }var G=E.data(this,"accordion");var H=G.options;H.running=I?0:--H.running;if(H.running){return }if(H.clearStyle){H.toShow.add(H.toHide).css({height:"",overflow:""})}G._trigger("change",null,H.data)}function A(G,K,L,J,M){var I=E.data(this,"accordion").options;I.toShow=G;I.toHide=K;I.data=L;var H=B(D,this);E.data(this,"accordion")._trigger("changestart",null,I.data);I.running=K.size()===0?G.size():K.size();if(I.animated){if(!I.alwaysOpen&&J){E.ui.accordion.animations[I.animated]({toShow:jQuery([]),toHide:K,complete:H,down:M,autoHeight:I.autoHeight})}else{E.ui.accordion.animations[I.animated]({toShow:G,toHide:K,complete:H,down:M,autoHeight:I.autoHeight})}}else{if(!I.alwaysOpen&&J){G.toggle()}else{K.hide();G.show()}H(true)}}function F(L){var J=E.data(this,"accordion").options;if(J.disabled){return false}if(!L.target&&!J.alwaysOpen){J.active.parent().andSelf().toggleClass(J.selectedClass);var I=J.active.next(),M={options:J,newHeader:jQuery([]),oldHeader:J.active,newContent:jQuery([]),oldContent:I},G=(J.active=E([]));A.call(this,G,I,M);return false}var K=E(L.target);K=E(K.parents(J.header)[0]||K);var H=K[0]==J.active[0];if(J.running||(J.alwaysOpen&&H)){return false}if(!K.is(J.header)){return }J.active.parent().andSelf().toggleClass(J.selectedClass);if(!H){K.parent().andSelf().addClass(J.selectedClass)}var G=K.next(),I=J.active.next(),M={options:J,newHeader:H&&!J.alwaysOpen?E([]):K,oldHeader:J.active,newContent:H&&!J.alwaysOpen?E([]):G,oldContent:I},N=J.headers.index(J.active[0])>J.headers.index(K[0]);J.active=H?E([]):K;A.call(this,G,I,M,H,N);return false}function C(H,G){return G?typeof G=="number"?H.filter(":eq("+G+")"):H.not(H.not(G)):G===false?E([]):H.filter(":eq(0)")}E.extend(E.ui.accordion,{defaults:{selectedClass:"selected",alwaysOpen:true,animated:"slide",event:"click",header:"a",autoHeight:true,running:0,navigationFilter:function(){return this.href.toLowerCase()==location.href.toLowerCase()}},animations:{slide:function(G,I){G=E.extend({easing:"swing",duration:300},G,I);if(!G.toHide.size()){G.toShow.animate({height:"show"},G);return }var H=G.toHide.height(),J=G.toShow.height(),K=J/H;G.toShow.css({height:0,overflow:"hidden"}).show();G.toHide.filter(":hidden").each(G.complete).end().filter(":visible").animate({height:"hide"},{step:function(L){var M=(H-L)*K;if(E.browser.msie||E.browser.opera){M=Math.ceil(M)}G.toShow.height(M)},duration:G.duration,easing:G.easing,complete:function(){if(!G.autoHeight){G.toShow.css("height","auto")}G.complete()}})},bounceslide:function(G){this.slide(G,{easing:G.down?"bounceout":"swing",duration:G.down?1000:200})},easeslide:function(G){this.slide(G,{easing:"easeinout",duration:700})}}})})(jQuery) \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/minified/ui.autocomplete.min.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/minified/Attic/ui.autocomplete.min.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/minified/ui.autocomplete.min.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1 @@ +(function(A){A.widget("ui.autocomplete",{_init:function(){A.extend(this.options,{delay:this.options.url?A.Autocompleter.defaults.delay:10,max:!this.options.scroll?10:150,highlight:this.options.highlight||function(B){return B},formatMatch:this.options.formatMatch||this.options.formatItem});new A.Autocompleter(this.element[0],this.options)},result:function(B){return this.element.bind("result",B)},search:function(B){return this.element.trigger("search",[B])},flushCache:function(){return this.element.trigger("flushCache")},setData:function(B,C){return this.element.trigger("setOptions",[{key:C}])},destroy:function(){return this.element.trigger("unautocomplete")}});A.Autocompleter=function(L,G){var C={UP:38,DOWN:40,DEL:46,TAB:9,RETURN:13,ESC:27,COMMA:188,PAGEUP:33,PAGEDOWN:34,BACKSPACE:8};var B=A(L).attr("autocomplete","off").addClass(G.inputClass);if(G.result){B.bind("result.autocomplete",G.result)}var J;var P="";var M=A.Autocompleter.Cache(G);var E=0;var U;var X={mouseDownOnSelect:false};var R=A.Autocompleter.Select(G,L,D,X);var W;A.browser.opera&&A(L.form).bind("submit.autocomplete",function(){if(W){W=false;return false}});B.bind((A.browser.opera?"keypress":"keydown")+".autocomplete",function(Y){U=Y.keyCode;switch(Y.keyCode){case C.UP:Y.preventDefault();if(R.visible()){R.prev()}else{T(0,true)}break;case C.DOWN:Y.preventDefault();if(R.visible()){R.next()}else{T(0,true)}break;case C.PAGEUP:Y.preventDefault();if(R.visible()){R.pageUp()}else{T(0,true)}break;case C.PAGEDOWN:Y.preventDefault();if(R.visible()){R.pageDown()}else{T(0,true)}break;case G.multiple&&A.trim(G.multipleSeparator)==","&&C.COMMA:case C.TAB:case C.RETURN:if(D()){Y.preventDefault();W=true;return false}break;case C.ESC:R.hide();break;default:clearTimeout(J);J=setTimeout(T,G.delay);break}}).focus(function(){E++}).blur(function(){E=0;if(!X.mouseDownOnSelect){S()}}).click(function(){if(E++>1&&!R.visible()){T(0,true)}}).bind("search",function(){var Y=(arguments.length>1)?arguments[1]:null;function Z(d,c){var a;if(c&&c.length){for(var b=0;b1){Y=a.slice(0,a.length-1).join(G.multipleSeparator)+G.multipleSeparator+Y}Y+=G.multipleSeparator}B.val(Y);V();B.trigger("result",[Z.data,Z.value]);return true}function T(a,Z){if(U==C.DEL){R.hide();return }var Y=B.val();if(!Z&&Y==P){return }P=Y;Y=I(Y);if(Y.length>=G.minChars){B.addClass(G.loadingClass);if(!G.matchCase){Y=Y.toLowerCase()}F(Y,K,V)}else{N();R.hide()}}function H(Z){if(!Z){return[""]}var a=Z.split(G.multipleSeparator);var Y=[];A.each(a,function(b,c){if(A.trim(c)){Y[b]=A.trim(c)}});return Y}function I(Y){if(!G.multiple){return Y}var Z=H(Y);return Z[Z.length-1]}function Q(Y,Z){if(G.autoFill&&(I(B.val()).toLowerCase()==Y.toLowerCase())&&U!=C.BACKSPACE){B.val(B.val()+Z.substring(I(P).length));A.Autocompleter.Selection(L,P.length,P.length+Z.length)}}function S(){clearTimeout(J);J=setTimeout(V,200)}function V(){var Y=R.visible();R.hide();clearTimeout(J);N();if(G.mustMatch){B.autocomplete("search",function(Z){if(!Z){if(G.multiple){var a=H(B.val()).slice(0,-1);B.val(a.join(G.multipleSeparator)+(a.length?G.multipleSeparator:""))}else{B.val("")}}})}if(Y){A.Autocompleter.Selection(L,L.value.length,L.value.length)}}function K(Z,Y){if(Y&&Y.length&&E){N();R.display(Y,Z);Q(Z,Y[0].value);R.show()}else{V()}}function F(b,d,a){if(!G.matchCase){b=b.toLowerCase()}var c=M.load(b);if(c&&c.length){d(b,c)}else{if((typeof G.url=="string")&&(G.url.length>0)){var e={timestamp:+new Date()};A.each(G.extraParams,function(f,g){e[f]=typeof g=="function"?g():g});A.ajax({mode:"abort",port:"autocomplete"+L.name,dataType:G.dataType,url:G.url,data:A.extend({q:I(b),limit:G.max},e),success:function(g){var f=G.parse&&G.parse(g)||O(g);M.add(b,f);d(b,f)}})}else{if(G.source&&typeof G.source=="function"){var Z=G.source(b);var Y=(G.parse)?G.parse(Z):Z;M.add(b,Y);d(b,Y)}else{R.emptyList();a(b)}}}}function O(b){var Y=[];var a=b.split("\n");for(var Z=0;Z]*)("+B.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)","gi"),"$1")},scroll:true,scrollHeight:180};A.extend(A.ui.autocomplete,{defaults:A.Autocompleter.defaults});A.Autocompleter.Cache=function(C){var F={};var D=0;function H(K,J){if(!C.matchCase){K=K.toLowerCase()}var I=K.indexOf(J);if(I==-1){return false}return I==0||C.matchContains}function G(J,I){if(D>C.cacheLength){B()}if(!F[J]){D++}F[J]=I}function E(){if(!C.data){return false}var J={},I=0;if(!C.url){C.cacheLength=1}J[""]=[];for(var L=0,K=C.data.length;L0){var M=F[I];A.each(M,function(O,N){if(H(N.value,L)){K.push(N)}})}}return K}else{if(F[L]){return F[L]}else{if(C.matchSubset){for(var J=L.length-1;J>=C.minChars;J--){var M=F[L.substr(0,J)];if(M){var K=[];A.each(M,function(O,N){if(H(N.value,L)){K[K.length]=N}});return K}}}}}return null}}};A.Autocompleter.Select=function(E,J,L,P){var I={ACTIVE:"ui-autocomplete-over"};var K,F=-1,R,M="",S=true,C,O;function N(){if(!S){return }C=A("
    ").hide().addClass(E.resultsClass).css("position","absolute").appendTo(document.body);O=A("
      ").appendTo(C).mouseover(function(T){if(Q(T).nodeName&&Q(T).nodeName.toUpperCase()=="LI"){F=A("li",O).removeClass(I.ACTIVE).index(Q(T));A(Q(T)).addClass(I.ACTIVE)}}).click(function(T){A(Q(T)).addClass(I.ACTIVE);L();J.focus();return false}).mousedown(function(){P.mouseDownOnSelect=true}).mouseup(function(){P.mouseDownOnSelect=false});if(E.width>0){C.css("width",E.width)}S=false}function Q(U){var T=U.target;while(T&&T.tagName!="LI"){T=T.parentNode}if(!T){return[]}return T}function H(T){K.slice(F,F+1).removeClass(I.ACTIVE);G(T);var V=K.slice(F,F+1).addClass(I.ACTIVE);if(E.scroll){var U=0;K.slice(0,F).each(function(){U+=this.offsetHeight});if((U+V[0].offsetHeight-O.scrollTop())>O[0].clientHeight){O.scrollTop(U+V[0].offsetHeight-O.innerHeight())}else{if(U=K.size()){F=0}}}function B(T){return E.max&&E.max").html(E.highlight(W,M)).addClass(V%2==0?"ui-autocomplete-even":"ui-autocomplete-odd").appendTo(O)[0];A.data(T,"ui-autocomplete-data",R[V])}K=O.find("li");if(E.selectFirst){K.slice(0,1).addClass(I.ACTIVE);F=0}if(A.fn.bgiframe){O.bgiframe()}}return{display:function(U,T){N();R=U;M=T;D()},next:function(){H(1)},prev:function(){H(-1)},pageUp:function(){if(F!=0&&F-8<0){H(-F)}else{H(-8)}},pageDown:function(){if(F!=K.size()-1&&F+8>K.size()){H(K.size()-1-F)}else{H(8)}},hide:function(){C&&C.hide();K&&K.removeClass(I.ACTIVE);F=-1;A(J).triggerHandler("autocompletehide",[{},{options:E}],E["hide"])},visible:function(){return C&&C.is(":visible")},current:function(){return this.visible()&&(K.filter("."+I.ACTIVE)[0]||E.selectFirst&&K[0])},show:function(){var V=A(J).offset();C.css({width:typeof E.width=="string"||E.width>0?E.width:A(J).width(),top:V.top+J.offsetHeight,left:V.left}).show();if(E.scroll){O.scrollTop(0);O.css({maxHeight:E.scrollHeight,overflow:"auto"});if(A.browser.msie&&typeof document.body.style.maxHeight==="undefined"){var T=0;K.each(function(){T+=this.offsetHeight});var U=T>E.scrollHeight;O.css("height",U?E.scrollHeight:T);if(!U){K.width(O.width()-parseInt(K.css("padding-left"))-parseInt(K.css("padding-right")))}}}A(J).triggerHandler("autocompleteshow",[{},{options:E}],E["show"])},selected:function(){var T=K&&K.filter("."+I.ACTIVE).removeClass(I.ACTIVE);return T&&T.length&&A.data(T[0],"ui-autocomplete-data")},emptyList:function(){O&&O.empty()},unbind:function(){C&&C.remove()}}};A.Autocompleter.Selection=function(D,E,C){if(D.createTextRange){var B=D.createTextRange();B.collapse(true);B.moveStart("character",E);B.moveEnd("character",C);B.select()}else{if(D.setSelectionRange){D.setSelectionRange(E,C)}else{if(D.selectionStart){D.selectionStart=E;D.selectionEnd=C}}}D.focus()}})(jQuery) \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/minified/ui.colorpicker.min.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/minified/Attic/ui.colorpicker.min.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/minified/ui.colorpicker.min.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1 @@ +(function(A){A.widget("ui.colorpicker",{_init:function(){this.charMin=65;var D=this.options,B=this,C='
      ';if(typeof D.color=="string"){this.color=this._HexToHSB(D.color)}else{if(D.color.r!=undefined&&D.color.g!=undefined&&D.color.b!=undefined){this.color=this._RGBToHSB(D.color)}else{if(D.color.h!=undefined&&D.color.s!=undefined&&D.color.b!=undefined){this.color=this._fixHSB(D.color)}else{return this}}}this.origColor=this.color;this.picker=A(C);if(D.flat){this.picker.appendTo(this.element).show()}else{this.picker.appendTo(document.body)}this.fields=this.picker.find("input").bind("keydown",function(E){return B._keyDown.call(B,E)}).bind("change",function(E){return B._change.call(B,E)}).bind("blur",function(E){return B._blur.call(B,E)}).bind("focus",function(E){return B._focus.call(B,E)});this.picker.find("span").bind("mousedown",function(E){return B._downIncrement.call(B,E)});this.selector=this.picker.find("div.ui-colorpicker-color").bind("mousedown",function(E){return B._downSelector.call(B,E)});this.selectorIndic=this.selector.find("div div");this.hue=this.picker.find("div.ui-colorpicker-hue div");this.picker.find("div.ui-colorpicker-hue").bind("mousedown",function(E){return B._downHue.call(B,E)});this.newColor=this.picker.find("div.ui-colorpicker-new-color");this.currentColor=this.picker.find("div.ui-colorpicker-current-color");this.picker.find(".ui-colorpicker-submit").bind("mouseenter",function(E){return B._enterSubmit.call(B,E)}).bind("mouseleave",function(E){return B._leaveSubmit.call(B,E)}).bind("click",function(E){return B._clickSubmit.call(B,E)});this._fillRGBFields(this.color);this._fillHSBFields(this.color);this._fillHexFields(this.color);this._setHue(this.color);this._setSelector(this.color);this._setCurrentColor(this.color);this._setNewColor(this.color);if(D.flat){this.picker.css({position:"relative",display:"block"})}else{A(this.element).bind(D.eventName+".colorpicker",function(E){return B._show.call(B,E)})}},destroy:function(){this.picker.remove();this.element.removeData("colorpicker").unbind(".colorpicker")},_fillRGBFields:function(B){var C=this._HSBToRGB(B);this.fields.eq(1).val(C.r).end().eq(2).val(C.g).end().eq(3).val(C.b).end()},_fillHSBFields:function(B){this.fields.eq(4).val(B.h).end().eq(5).val(B.s).end().eq(6).val(B.b).end()},_fillHexFields:function(B){this.fields.eq(0).val(this._HSBToHex(B)).end()},_setSelector:function(B){this.selector.css("backgroundColor","#"+this._HSBToHex({h:B.h,s:100,b:100}));this.selectorIndic.css({left:parseInt(150*B.s/100,10),top:parseInt(150*(100-B.b)/100,10)})},_setHue:function(B){this.hue.css("top",parseInt(150-150*B.h/360,10))},_setCurrentColor:function(B){this.currentColor.css("backgroundColor","#"+this._HSBToHex(B))},_setNewColor:function(B){this.newColor.css("backgroundColor","#"+this._HSBToHex(B))},_keyDown:function(B){var C=B.charCode||B.keyCode||-1;if((C>=this.charMin&&C<=90)||C==32){return false}},_change:function(D,C){var B;C=C||D.target;if(C.parentNode.className.indexOf("-hex")>0){this.color=B=this._HexToHSB(this.value);this._fillRGBFields(B.color);this._fillHSBFields(B)}else{if(C.parentNode.className.indexOf("-hsb")>0){this.color=B=this._fixHSB({h:parseInt(this.fields.eq(4).val(),10),s:parseInt(this.fields.eq(5).val(),10),b:parseInt(this.fields.eq(6).val(),10)});this._fillRGBFields(B);this._fillHexFields(B)}else{this.color=B=this._RGBToHSB(this._fixRGB({r:parseInt(this.fields.eq(1).val(),10),g:parseInt(this.fields.eq(2).val(),10),b:parseInt(this.fields.eq(3).val(),10)}));this._fillHexFields(B);this._fillHSBFields(B)}}this._setSelector(B);this._setHue(B);this._setNewColor(B);this._trigger("change",D,{options:this.options,hsb:B,hex:this._HSBToHex(B),rgb:this._HSBToRGB(B)})},_blur:function(C){var B=this.color;this._fillRGBFields(B);this._fillHSBFields(B);this._fillHexFields(B);this._setHue(B);this._setSelector(B);this._setNewColor(B);this.fields.parent().removeClass("ui-colorpicker-focus")},_focus:function(B){this.charMin=B.target.parentNode.className.indexOf("-hex")>0?70:65;this.fields.parent().removeClass("ui-colorpicker-focus");A(B.target.parentNode).addClass("ui-colorpicker-focus")},_downIncrement:function(D){var C=A(D.target).parent().find("input").focus(),B=this;this.currentIncrement={el:A(D.target).parent().addClass("ui-colorpicker-slider"),max:D.target.parentNode.className.indexOf("-hsb-h")>0?360:(D.target.parentNode.className.indexOf("-hsb")>0?100:255),y:D.pageY,field:C,val:parseInt(C.val(),10)};A(document).bind("mouseup.cpSlider",function(E){return B._upIncrement.call(B,E)});A(document).bind("mousemove.cpSlider",function(E){return B._moveIncrement.call(B,E)});return false},_moveIncrement:function(B){this.currentIncrement.field.val(Math.max(0,Math.min(this.currentIncrement.max,parseInt(this.currentIncrement.val+B.pageY-this.currentIncrement.y,10))));this._change.apply(this,[B,this.currentIncrement.field.get(0)]);return false},_upIncrement:function(B){this.currentIncrement.el.removeClass("ui-colorpicker-slider").find("input").focus();this._change.apply(this,[B,this.currentIncrement.field.get(0)]);A(document).unbind("mouseup.cpSlider");A(document).unbind("mousemove.cpSlider");return false},_downHue:function(C){this.currentHue={y:this.picker.find("div.ui-colorpicker-hue").offset().top};this._change.apply(this,[C,this.fields.eq(4).val(parseInt(360*(150-Math.max(0,Math.min(150,(C.pageY-this.currentHue.y))))/150,10)).get(0)]);var B=this;A(document).bind("mouseup.cpSlider",function(D){return B._upHue.call(B,D)});A(document).bind("mousemove.cpSlider",function(D){return B._moveHue.call(B,D)});return false},_moveHue:function(B){this._change.apply(this,[B,this.fields.eq(4).val(parseInt(360*(150-Math.max(0,Math.min(150,(B.pageY-this.currentHue.y))))/150,10)).get(0)]);return false},_upHue:function(B){A(document).unbind("mouseup.cpSlider");A(document).unbind("mousemove.cpSlider");return false},_downSelector:function(C){var B=this;this.currentSelector={pos:this.picker.find("div.ui-colorpicker-color").offset()};this._change.apply(this,[C,this.fields.eq(6).val(parseInt(100*(150-Math.max(0,Math.min(150,(C.pageY-this.currentSelector.pos.top))))/150,10)).end().eq(5).val(parseInt(100*(Math.max(0,Math.min(150,(C.pageX-this.currentSelector.pos.left))))/150,10)).get(0)]);A(document).bind("mouseup.cpSlider",function(D){return B._upSelector.call(B,D)});A(document).bind("mousemove.cpSlider",function(D){return B._moveSelector.call(B,D)});return false},_moveSelector:function(B){this._change.apply(this,[B,this.fields.eq(6).val(parseInt(100*(150-Math.max(0,Math.min(150,(B.pageY-this.currentSelector.pos.top))))/150,10)).end().eq(5).val(parseInt(100*(Math.max(0,Math.min(150,(B.pageX-this.currentSelector.pos.left))))/150,10)).get(0)]);return false},_upSelector:function(B){A(document).unbind("mouseup.cpSlider");A(document).unbind("mousemove.cpSlider");return false},_enterSubmit:function(B){this.picker.find(".ui-colorpicker-submit").addClass("ui-colorpicker-focus")},_leaveSubmit:function(B){this.picker.find(".ui-colorpicker-submit").removeClass("ui-colorpicker-focus")},_clickSubmit:function(C){var B=this.color;this.origColor=B;this._setCurrentColor(B);this._trigger("submit",C,{options:this.options,hsb:B,hex:this._HSBToHex(B),rgb:this._HSBToRGB(B)});return false},_show:function(F){this._trigger("beforeShow",F,{options:this.options,hsb:this.color,hex:this._HSBToHex(this.color),rgb:this._HSBToRGB(this.color)});var G=this.element.offset();var E=this._getScroll();var D=G.top+this.element[0].offsetHeight;var C=G.left;if(D+176>E.t+Math.min(E.h,E.ih)){D-=this.element[0].offsetHeight+176}if(C+356>E.l+Math.min(E.w,E.iw)){C-=356}this.picker.css({left:C+"px",top:D+"px"});if(this._trigger("show",F,{options:this.options,hsb:this.color,hex:this._HSBToHex(this.color),rgb:this._HSBToRGB(this.color)})!=false){this.picker.show()}var B=this;A(document).bind("mousedown.colorpicker",function(H){return B._hide.call(B,H)});return false},_hide:function(B){if(!this._isChildOf(this.picker[0],B.target,this.picker[0])){if(this._trigger("hide",B,{options:this.options,hsb:this.color,hex:this._HSBToHex(this.color),rgb:this._HSBToRGB(this.color)})!=false){this.picker.hide()}A(document).unbind("mousedown.colorpicker")}},_isChildOf:function(D,C,B){if(D==C){return true}if(D.contains&&!A.browser.safari){return D.contains(C)}if(D.compareDocumentPosition){return !!(D.compareDocumentPosition(C)&16)}var E=C.parentNode;while(E&&E!=B){if(E==D){return true}E=E.parentNode}return false},_getScroll:function(){var E,C,B,F,D,G;if(document.documentElement){E=document.documentElement.scrollTop;C=document.documentElement.scrollLeft;B=document.documentElement.scrollWidth;F=document.documentElement.scrollHeight}else{E=document.body.scrollTop;C=document.body.scrollLeft;B=document.body.scrollWidth;F=document.body.scrollHeight}D=self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth||0;G=self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0;return{t:E,l:C,w:B,h:F,iw:D,ih:G}},_fixHSB:function(B){return{h:Math.min(360,Math.max(0,B.h)),s:Math.min(100,Math.max(0,B.s)),b:Math.min(100,Math.max(0,B.b))}},_fixRGB:function(B){return{r:Math.min(255,Math.max(0,B.r)),g:Math.min(255,Math.max(0,B.g)),b:Math.min(255,Math.max(0,B.b))}},_HexToRGB:function(B){var B=parseInt(((B.indexOf("#")>-1)?B.substring(1):B),16);return{r:B>>16,g:(B&65280)>>8,b:(B&255)}},_HexToHSB:function(B){return this._RGBToHSB(this._HexToRGB(B))},_RGBToHSB:function(C){var B={};B.b=Math.max(Math.max(C.r,C.g),C.b);B.s=(B.b<=0)?0:Math.round(100*(B.b-Math.min(Math.min(C.r,C.g),C.b))/B.b);B.b=Math.round((B.b/255)*100);if((C.r==C.g)&&(C.g==C.b)){B.h=0}else{if(C.r>=C.g&&C.g>=C.b){B.h=60*(C.g-C.b)/(C.r-C.b)}else{if(C.g>=C.r&&C.r>=C.b){B.h=60+60*(C.g-C.r)/(C.g-C.b)}else{if(C.g>=C.b&&C.b>=C.r){B.h=120+60*(C.b-C.r)/(C.g-C.r)}else{if(C.b>=C.g&&C.g>=C.r){B.h=180+60*(C.b-C.g)/(C.b-C.r)}else{if(C.b>=C.r&&C.r>=C.g){B.h=240+60*(C.r-C.g)/(C.b-C.g)}else{if(C.r>=C.b&&C.b>=C.g){B.h=300+60*(C.r-C.b)/(C.r-C.g)}else{B.h=0}}}}}}}B.h=Math.round(B.h);return B},_HSBToRGB:function(B){var D={};var H=Math.round(B.h);var G=Math.round(B.s*255/100);var C=Math.round(B.b*255/100);if(G==0){D.r=D.g=D.b=C}else{var I=C;var F=(255-G)*C/255;var E=(I-F)*(H%60)/60;if(H==360){H=0}if(H<60){D.r=I;D.b=F;D.g=F+E}else{if(H<120){D.g=I;D.b=F;D.r=I-E}else{if(H<180){D.g=I;D.r=F;D.b=F+E}else{if(H<240){D.b=I;D.r=F;D.g=I-E}else{if(H<300){D.b=I;D.g=F;D.r=F+E}else{if(H<360){D.r=I;D.g=F;D.b=I-E}else{D.r=0;D.g=0;D.b=0}}}}}}}return{r:Math.round(D.r),g:Math.round(D.g),b:Math.round(D.b)}},_RGBToHex:function(B){var C=[B.r.toString(16),B.g.toString(16),B.b.toString(16)];A.each(C,function(D,E){if(E.length==1){C[D]="0"+E}});return C.join("")},_HSBToHex:function(B){return this._RGBToHex(this._HSBToRGB(B))},setColor:function(B){if(typeof B=="string"){B=this._HexToHSB(B)}else{if(B.r!=undefined&&B.g!=undefined&&B.b!=undefined){B=this._RGBToHSB(B)}else{if(B.h!=undefined&&B.s!=undefined&&B.b!=undefined){B=this._fixHSB(B)}else{return this}}}this.color=B;this.origColor=B;this._fillRGBFields(B);this._fillHSBFields(B);this._fillHexFields(B);this._setHue(B);this._setSelector(B);this._setCurrentColor(B);this._setNewColor(B)}});A.extend(A.ui.colorpicker,{defaults:{eventName:"click",color:"ff0000",flat:false}})})(jQuery) \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/minified/ui.core.min.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/minified/Attic/ui.core.min.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/minified/ui.core.min.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1 @@ +(function(D){var C=D.fn.remove;D.fn.remove=function(){D("*",this).add(this).triggerHandler("remove");return C.apply(this,arguments)};function B(E){function G(H){var I=H.style;return(I.display!="none"&&I.visibility!="hidden")}var F=G(E);(F&&D.each(D.dir(E,"parentNode"),function(){return(F=G(this))}));return F}D.extend(D.expr[":"],{data:function(F,G,E){return D.data(F,E[3])},tabbable:function(F,G,E){var H=F.nodeName.toLowerCase();return(F.tabIndex>=0&&(("a"==H&&F.href)||(/input|select|textarea|button/.test(H)&&"hidden"!=F.type&&!F.disabled))&&B(F))}});D.keyCode={BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38};function A(H,I,J,G){function F(L){var K=D[H][I][L]||[];return(typeof K=="string"?K.split(/,?\s+/):K)}var E=F("getter");if(G.length==1&&typeof G[0]=="string"){E=E.concat(F("getterSetter"))}return(D.inArray(J,E)!=-1)}D.widget=function(F,E){var G=F.split(".")[0];F=F.split(".")[1];D.fn[F]=function(K){var I=(typeof K=="string"),J=Array.prototype.slice.call(arguments,1);if(I&&K.substring(0,1)=="_"){return this}if(I&&A(G,F,K,J)){var H=D.data(this[0],F);return(H?H[K].apply(H,J):undefined)}return this.each(function(){var L=D.data(this,F);(!L&&!I&&D.data(this,F,new D[G][F](this,K)));(L&&I&&D.isFunction(L[K])&&L[K].apply(L,J))})};D[G][F]=function(J,I){var H=this;this.widgetName=F;this.widgetEventPrefix=D[G][F].eventPrefix||F;this.widgetBaseClass=G+"-"+F;this.options=D.extend({},D.widget.defaults,D[G][F].defaults,D.metadata&&D.metadata.get(J)[F],I);this.element=D(J).bind("setData."+F,function(M,K,L){return H._setData(K,L)}).bind("getData."+F,function(L,K){return H._getData(K)}).bind("remove",function(){return H.destroy()});this._init()};D[G][F].prototype=D.extend({},D.widget.prototype,E);D[G][F].getterSetter="option"};D.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName)},option:function(G,H){var F=G,E=this;if(typeof G=="string"){if(H===undefined){return this._getData(G)}F={};F[G]=H}D.each(F,function(I,J){E._setData(I,J)})},_getData:function(E){return this.options[E]},_setData:function(E,F){this.options[E]=F;if(E=="disabled"){this.element[F?"addClass":"removeClass"](this.widgetBaseClass+"-disabled")}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(F,H,G){var E=(F==this.widgetEventPrefix?F:this.widgetEventPrefix+F);H=H||D.event.fix({type:E,target:this.element[0]});return this.element.triggerHandler(E,[H,G],this.options[F])}};D.widget.defaults={disabled:false};D.ui={plugin:{add:function(F,G,I){var H=D.ui[F].prototype;for(var E in I){H.plugins[E]=H.plugins[E]||[];H.plugins[E].push([G,I[E]])}},call:function(E,G,F){var I=E.plugins[G];if(!I){return }for(var H=0;H').addClass(E).css({position:"absolute",top:"-5000px",left:"-5000px",display:"block"}).appendTo("body");D.ui.cssCache[E]=!!((!(/auto|default/).test(F.css("cursor"))||(/^[1-9]/).test(F.css("height"))||(/^[1-9]/).test(F.css("width"))||!(/none/).test(F.css("backgroundImage"))||!(/transparent|rgba\(0, 0, 0, 0\)/).test(F.css("backgroundColor"))));try{D("body").get(0).removeChild(F.get(0))}catch(G){}return D.ui.cssCache[E]},disableSelection:function(E){return D(E).attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},enableSelection:function(E){return D(E).attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},hasScroll:function(H,F){if(D(H).css("overflow")=="hidden"){return false}var E=(F&&F=="left")?"scrollLeft":"scrollTop",G=false;if(H[E]>0){return true}H[E]=1;G=(H[E]>0);H[E]=0;return G}};D.ui.mouse={_mouseInit:function(){var E=this;this.element.bind("mousedown."+this.widgetName,function(F){return E._mouseDown(F)});if(D.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(D.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(G){(this._mouseStarted&&this._mouseUp(G));this._mouseDownEvent=G;var F=this,H=(G.which==1),E=(typeof this.options.cancel=="string"?D(G.target).parents().add(G.target).filter(this.options.cancel).length:false);if(!H||E||!this._mouseCapture(G)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){F.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(G)&&this._mouseDelayMet(G)){this._mouseStarted=(this._mouseStart(G)!==false);if(!this._mouseStarted){G.preventDefault();return true}}this._mouseMoveDelegate=function(I){return F._mouseMove(I)};this._mouseUpDelegate=function(I){return F._mouseUp(I)};D(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);return false},_mouseMove:function(E){if(D.browser.msie&&!E.button){return this._mouseUp(E)}if(this._mouseStarted){this._mouseDrag(E);return false}if(this._mouseDistanceMet(E)&&this._mouseDelayMet(E)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,E)!==false);(this._mouseStarted?this._mouseDrag(E):this._mouseUp(E))}return !this._mouseStarted},_mouseUp:function(E){D(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._mouseStop(E)}return false},_mouseDistanceMet:function(E){return(Math.max(Math.abs(this._mouseDownEvent.pageX-E.pageX),Math.abs(this._mouseDownEvent.pageY-E.pageY))>=this.options.distance)},_mouseDelayMet:function(E){return this.mouseDelayMet},_mouseStart:function(E){},_mouseDrag:function(E){},_mouseStop:function(E){},_mouseCapture:function(E){return true}};D.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery) \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/minified/ui.datepicker.min.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/minified/Attic/ui.datepicker.min.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/minified/ui.datepicker.min.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1 @@ +(function($){var PROP_NAME="datepicker";function Datepicker(){this.debug=false;this._curInst=null;this._disabledInputs=[];this._datepickerShowing=false;this._inDialog=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._promptClass="ui-datepicker-prompt";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this.regional=[];this.regional[""]={clearText:"Clear",clearStatus:"Erase the current date",closeText:"Close",closeStatus:"Close without change",prevText:"<Prev",prevStatus:"Show the previous month",prevBigText:"<<",prevBigStatus:"Show the previous year",nextText:"Next>",nextStatus:"Show the next month",nextBigText:">>",nextBigStatus:"Show the next year",currentText:"Today",currentStatus:"Show the current month",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],monthStatus:"Show a different month",yearStatus:"Show a different year",weekHeader:"Wk",weekStatus:"Week of the year",dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],dayStatus:"Set DD as first week day",dateStatus:"Select DD, M d",dateFormat:"mm/dd/yy",firstDay:0,initStatus:"Select a date",isRTL:false};this._defaults={showOn:"focus",showAnim:"show",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,closeAtTop:true,mandatory:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,showBigPrevNext:false,gotoCurrent:false,changeMonth:true,changeYear:true,showMonthAfterYear:false,yearRange:"-10:+10",changeFirstDay:true,highlightWeek:false,showOtherMonths:false,showWeeks:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",showStatus:false,statusForDate:this.dateStatus,minDate:null,maxDate:null,duration:"normal",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,rangeSelect:false,rangeSeparator:" - ",altField:"",altFormat:""};$.extend(this._defaults,this.regional[""]);this.dpDiv=$('')}$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",log:function(){if(this.debug){console.log.apply("",arguments)}},setDefaults:function(settings){extendRemove(this._defaults,settings||{});return this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase();var inline=(nodeName=="div"||nodeName=="span");if(!target.id){target.id="dp"+(++this.uuid)}var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{});if(nodeName=="input"){this._connectDatepicker(target,inst)}else{if(inline){this._inlineDatepicker(target,inst)}}},_newInst:function(target,inline){var id=target[0].id.replace(/([:\[\]\.])/g,"\\\\$1");return{id:id,input:target,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:inline,dpDiv:(!inline?this.dpDiv:$('
      '))}},_connectDatepicker:function(target,inst){var input=$(target);if(input.hasClass(this.markerClassName)){return }var appendText=this._get(inst,"appendText");var isRTL=this._get(inst,"isRTL");if(appendText){input[isRTL?"before":"after"](''+appendText+"")}var showOn=this._get(inst,"showOn");if(showOn=="focus"||showOn=="both"){input.focus(this._showDatepicker)}if(showOn=="button"||showOn=="both"){var buttonText=this._get(inst,"buttonText");var buttonImage=this._get(inst,"buttonImage");var trigger=$(this._get(inst,"buttonImageOnly")?$("").addClass(this._triggerClass).attr({src:buttonImage,alt:buttonText,title:buttonText}):$('').addClass(this._triggerClass).html(buttonImage==""?buttonText:$("").attr({src:buttonImage,alt:buttonText,title:buttonText})));input[isRTL?"before":"after"](trigger);trigger.click(function(){if($.datepicker._datepickerShowing&&$.datepicker._lastInput==target){$.datepicker._hideDatepicker()}else{$.datepicker._showDatepicker(target)}return false})}input.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).bind("setData.datepicker",function(event,key,value){inst.settings[key]=value}).bind("getData.datepicker",function(event,key){return this._get(inst,key)});$.data(target,PROP_NAME,inst)},_inlineDatepicker:function(target,inst){var divSpan=$(target);if(divSpan.hasClass(this.markerClassName)){return }divSpan.addClass(this.markerClassName).append(inst.dpDiv).bind("setData.datepicker",function(event,key,value){inst.settings[key]=value}).bind("getData.datepicker",function(event,key){return this._get(inst,key)});$.data(target,PROP_NAME,inst);this._setDate(inst,this._getDefaultDate(inst));this._updateDatepicker(inst)},_inlineShow:function(inst){var numMonths=this._getNumberOfMonths(inst);inst.dpDiv.width(numMonths[1]*$(".ui-datepicker",inst.dpDiv[0]).width())},_dialogDatepicker:function(input,dateText,onSelect,settings,pos){var inst=this._dialogInst;if(!inst){var id="dp"+(++this.uuid);this._dialogInput=$('');this._dialogInput.keydown(this._doKeyDown);$("body").append(this._dialogInput);inst=this._dialogInst=this._newInst(this._dialogInput,false);inst.settings={};$.data(this._dialogInput[0],PROP_NAME,inst)}extendRemove(inst.settings,settings||{});this._dialogInput.val(dateText);this._pos=(pos?(pos.length?pos:[pos.pageX,pos.pageY]):null);if(!this._pos){var browserWidth=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;var browserHeight=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[(browserWidth/2)-100+scrollX,(browserHeight/2)-150+scrollY]}this._dialogInput.css("left",this._pos[0]+"px").css("top",this._pos[1]+"px");inst.settings.onSelect=onSelect;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);if($.blockUI){$.blockUI(this.dpDiv)}$.data(this._dialogInput[0],PROP_NAME,inst);return this},_destroyDatepicker:function(target){var $target=$(target);if(!$target.hasClass(this.markerClassName)){return }var nodeName=target.nodeName.toLowerCase();$.removeData(target,PROP_NAME);if(nodeName=="input"){$target.siblings("."+this._appendClass).remove().end().siblings("."+this._triggerClass).remove().end().removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress)}else{if(nodeName=="div"||nodeName=="span"){$target.removeClass(this.markerClassName).empty()}}},_enableDatepicker:function(target){var $target=$(target);if(!$target.hasClass(this.markerClassName)){return }var nodeName=target.nodeName.toLowerCase();if(nodeName=="input"){target.disabled=false;$target.siblings("button."+this._triggerClass).each(function(){this.disabled=false}).end().siblings("img."+this._triggerClass).css({opacity:"1.0",cursor:""})}else{if(nodeName=="div"||nodeName=="span"){$target.children("."+this._disableClass).remove()}}this._disabledInputs=$.map(this._disabledInputs,function(value){return(value==target?null:value)})},_disableDatepicker:function(target){var $target=$(target);if(!$target.hasClass(this.markerClassName)){return }var nodeName=target.nodeName.toLowerCase();if(nodeName=="input"){target.disabled=true;$target.siblings("button."+this._triggerClass).each(function(){this.disabled=true}).end().siblings("img."+this._triggerClass).css({opacity:"0.5",cursor:"default"})}else{if(nodeName=="div"||nodeName=="span"){var inline=$target.children("."+this._inlineClass);var offset=inline.offset();var relOffset={left:0,top:0};inline.parents().each(function(){if($(this).css("position")=="relative"){relOffset=$(this).offset();return false}});$target.prepend('
      ')}}this._disabledInputs=$.map(this._disabledInputs,function(value){return(value==target?null:value)});this._disabledInputs[this._disabledInputs.length]=target},_isDisabledDatepicker:function(target){if(!target){return false}for(var i=0;i-1)},_showDatepicker:function(input){input=input.target||input;if(input.nodeName.toLowerCase()!="input"){input=$("input",input.parentNode)[0]}if($.datepicker._isDisabledDatepicker(input)||$.datepicker._lastInput==input){return }var inst=$.datepicker._getInst(input);var beforeShow=$.datepicker._get(inst,"beforeShow");extendRemove(inst.settings,(beforeShow?beforeShow.apply(input,[input,inst]):{}));$.datepicker._hideDatepicker(null,"");$.datepicker._lastInput=input;$.datepicker._setDateFromField(inst);if($.datepicker._inDialog){input.value=""}if(!$.datepicker._pos){$.datepicker._pos=$.datepicker._findPos(input);$.datepicker._pos[1]+=input.offsetHeight}var isFixed=false;$(input).parents().each(function(){isFixed|=$(this).css("position")=="fixed";return !isFixed});if(isFixed&&$.browser.opera){$.datepicker._pos[0]-=document.documentElement.scrollLeft;$.datepicker._pos[1]-=document.documentElement.scrollTop}var offset={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null;inst.rangeStart=null;inst.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});$.datepicker._updateDatepicker(inst);inst.dpDiv.width($.datepicker._getNumberOfMonths(inst)[1]*$(".ui-datepicker",inst.dpDiv[0])[0].offsetWidth);offset=$.datepicker._checkOffset(inst,offset,isFixed);inst.dpDiv.css({position:($.datepicker._inDialog&&$.blockUI?"static":(isFixed?"fixed":"absolute")),display:"none",left:offset.left+"px",top:offset.top+"px"});if(!inst.inline){var showAnim=$.datepicker._get(inst,"showAnim")||"show";var duration=$.datepicker._get(inst,"duration");var postProcess=function(){$.datepicker._datepickerShowing=true;if($.browser.msie&&parseInt($.browser.version,10)<7){$("iframe.ui-datepicker-cover").css({width:inst.dpDiv.width()+4,height:inst.dpDiv.height()+4})}};if($.effects&&$.effects[showAnim]){inst.dpDiv.show(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.dpDiv[showAnim](duration,postProcess)}if(duration==""){postProcess()}if(inst.input[0].type!="hidden"){inst.input[0].focus()}$.datepicker._curInst=inst}},_updateDatepicker:function(inst){var dims={width:inst.dpDiv.width()+4,height:inst.dpDiv.height()+4};inst.dpDiv.empty().append(this._generateHTML(inst)).find("iframe.ui-datepicker-cover").css({width:dims.width,height:dims.height});var numMonths=this._getNumberOfMonths(inst);inst.dpDiv[(numMonths[0]!=1||numMonths[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");inst.dpDiv[(this._get(inst,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");if(inst.input&&inst.input[0].type!="hidden"){$(inst.input[0]).focus()}},_checkOffset:function(inst,offset,isFixed){var pos=inst.input?this._findPos(inst.input[0]):null;var browserWidth=window.innerWidth||document.documentElement.clientWidth;var browserHeight=window.innerHeight||document.documentElement.clientHeight;var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;if(this._get(inst,"isRTL")||(offset.left+inst.dpDiv.width()-scrollX)>browserWidth){offset.left=Math.max((isFixed?0:scrollX),pos[0]+(inst.input?inst.input.width():0)-(isFixed?scrollX:0)-inst.dpDiv.width()-(isFixed&&$.browser.opera?document.documentElement.scrollLeft:0))}else{offset.left-=(isFixed?scrollX:0)}if((offset.top+inst.dpDiv.height()-scrollY)>browserHeight){offset.top=Math.max((isFixed?0:scrollY),pos[1]-(isFixed?scrollY:0)-(this._inDialog?0:inst.dpDiv.height())-(isFixed&&$.browser.opera?document.documentElement.scrollTop:0))}else{offset.top-=(isFixed?scrollY:0)}return offset},_findPos:function(obj){while(obj&&(obj.type=="hidden"||obj.nodeType!=1)){obj=obj.nextSibling}var position=$(obj).offset();return[position.left,position.top]},_hideDatepicker:function(input,duration){var inst=this._curInst;if(!inst||(input&&inst!=$.data(input,PROP_NAME))){return }var rangeSelect=this._get(inst,"rangeSelect");if(rangeSelect&&inst.stayOpen){this._selectDate("#"+inst.id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear))}inst.stayOpen=false;if(this._datepickerShowing){duration=(duration!=null?duration:this._get(inst,"duration"));var showAnim=this._get(inst,"showAnim");var postProcess=function(){$.datepicker._tidyDialog(inst)};if(duration!=""&&$.effects&&$.effects[showAnim]){inst.dpDiv.hide(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.dpDiv[(duration==""?"hide":(showAnim=="slideDown"?"slideUp":(showAnim=="fadeIn"?"fadeOut":"hide")))](duration,postProcess)}if(duration==""){this._tidyDialog(inst)}var onClose=this._get(inst,"onClose");if(onClose){onClose.apply((inst.input?inst.input[0]:null),[(inst.input?inst.input.val():""),inst])}this._datepickerShowing=false;this._lastInput=null;inst.settings.prompt=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if($.blockUI){$.unblockUI();$("body").append(this.dpDiv)}}this._inDialog=false}this._curInst=null},_tidyDialog:function(inst){inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker");$("."+this._promptClass,inst.dpDiv).remove()},_checkExternalClick:function(event){if(!$.datepicker._curInst){return }var $target=$(event.target);if(($target.parents("#"+$.datepicker._mainDivId).length==0)&&!$target.hasClass($.datepicker.markerClassName)&&!$target.hasClass($.datepicker._triggerClass)&&$.datepicker._datepickerShowing&&!($.datepicker._inDialog&&$.blockUI)){$.datepicker._hideDatepicker(null,"")}},_adjustDate:function(id,offset,period){var target=$(id);var inst=this._getInst(target[0]);this._adjustInstDate(inst,offset,period);this._updateDatepicker(inst)},_gotoToday:function(id){var target=$(id);var inst=this._getInst(target[0]);if(this._get(inst,"gotoCurrent")&&inst.currentDay){inst.selectedDay=inst.currentDay;inst.drawMonth=inst.selectedMonth=inst.currentMonth;inst.drawYear=inst.selectedYear=inst.currentYear}else{var date=new Date();inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear()}this._notifyChange(inst);this._adjustDate(target)},_selectMonthYear:function(id,select,period){var target=$(id);var inst=this._getInst(target[0]);inst._selectingMonthYear=false;inst["selected"+(period=="M"?"Month":"Year")]=inst["draw"+(period=="M"?"Month":"Year")]=parseInt(select.options[select.selectedIndex].value,10);this._notifyChange(inst);this._adjustDate(target)},_clickMonthYear:function(id){var target=$(id);var inst=this._getInst(target[0]);if(inst.input&&inst._selectingMonthYear&&!$.browser.msie){inst.input[0].focus()}inst._selectingMonthYear=!inst._selectingMonthYear},_changeFirstDay:function(id,day){var target=$(id);var inst=this._getInst(target[0]);inst.settings.firstDay=day;this._updateDatepicker(inst)},_selectDay:function(id,month,year,td){if($(td).hasClass(this._unselectableClass)){return }var target=$(id);var inst=this._getInst(target[0]);var rangeSelect=this._get(inst,"rangeSelect");if(rangeSelect){inst.stayOpen=!inst.stayOpen;if(inst.stayOpen){$(".ui-datepicker td",inst.dpDiv).removeClass(this._currentClass);$(td).addClass(this._currentClass)}}inst.selectedDay=inst.currentDay=$("a",td).html();inst.selectedMonth=inst.currentMonth=month;inst.selectedYear=inst.currentYear=year;if(inst.stayOpen){inst.endDay=inst.endMonth=inst.endYear=null}else{if(rangeSelect){inst.endDay=inst.currentDay;inst.endMonth=inst.currentMonth;inst.endYear=inst.currentYear}}this._selectDate(id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear));if(inst.stayOpen){inst.rangeStart=new Date(inst.currentYear,inst.currentMonth,inst.currentDay);this._updateDatepicker(inst)}else{if(rangeSelect){inst.selectedDay=inst.currentDay=inst.rangeStart.getDate();inst.selectedMonth=inst.currentMonth=inst.rangeStart.getMonth();inst.selectedYear=inst.currentYear=inst.rangeStart.getFullYear();inst.rangeStart=null;if(inst.inline){this._updateDatepicker(inst)}}}},_clearDate:function(id){var target=$(id);var inst=this._getInst(target[0]);if(this._get(inst,"mandatory")){return }inst.stayOpen=false;inst.endDay=inst.endMonth=inst.endYear=inst.rangeStart=null;this._selectDate(target,"")},_selectDate:function(id,dateStr){var target=$(id);var inst=this._getInst(target[0]);dateStr=(dateStr!=null?dateStr:this._formatDate(inst));if(this._get(inst,"rangeSelect")&&dateStr){dateStr=(inst.rangeStart?this._formatDate(inst,inst.rangeStart):dateStr)+this._get(inst,"rangeSeparator")+dateStr}if(inst.input){inst.input.val(dateStr)}this._updateAlternate(inst);var onSelect=this._get(inst,"onSelect");if(onSelect){onSelect.apply((inst.input?inst.input[0]:null),[dateStr,inst])}else{if(inst.input){inst.input.trigger("change")}}if(inst.inline){this._updateDatepicker(inst)}else{if(!inst.stayOpen){this._hideDatepicker(null,this._get(inst,"duration"));this._lastInput=inst.input[0];if(typeof (inst.input[0])!="object"){inst.input[0].focus()}this._lastInput=null}}},_updateAlternate:function(inst){var altField=this._get(inst,"altField");if(altField){var altFormat=this._get(inst,"altFormat");var date=this._getDate(inst);dateStr=(isArray(date)?(!date[0]&&!date[1]?"":this.formatDate(altFormat,date[0],this._getFormatConfig(inst))+this._get(inst,"rangeSeparator")+this.formatDate(altFormat,date[1]||date[0],this._getFormatConfig(inst))):this.formatDate(altFormat,date,this._getFormatConfig(inst)));$(altField).each(function(){$(this).val(dateStr)})}},noWeekends:function(date){var day=date.getDay();return[(day>0&&day<6),""]},iso8601Week:function(date){var checkDate=new Date(date.getFullYear(),date.getMonth(),date.getDate(),(date.getTimezoneOffset()/-60));var firstMon=new Date(checkDate.getFullYear(),1-1,4);var firstDay=firstMon.getDay()||7;firstMon.setDate(firstMon.getDate()+1-firstDay);if(firstDay<4&&checkDatenew Date(checkDate.getFullYear(),12-1,28)){firstDay=new Date(checkDate.getFullYear()+1,1-1,4).getDay()||7;if(firstDay>4&&(checkDate.getDay()||7)0&&iValue="0"&&value.charAt(iValue)<="9"){num=num*10+parseInt(value.charAt(iValue++),10);size--}if(size==origSize){throw"Missing number at position "+iValue}return num};var getName=function(match,shortNames,longNames){var names=(lookAhead(match)?longNames:shortNames);var size=0;for(var j=0;j0&&iValue-1){month=1;day=doy;do{var dim=this._getDaysInMonth(year,month-1);if(day<=dim){break}month++;day-=dim}while(true)}var date=new Date(year,month-1,day);if(date.getFullYear()!=year||date.getMonth()+1!=month||date.getDate()!=day){throw"Invalid date"}return date},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TIMESTAMP:"@",W3C:"yy-mm-dd",formatDate:function(format,date,settings){if(!date){return""}var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;var lookAhead=function(match){var matches=(iFormat+1=0;m--){doy+=this._getDaysInMonth(date.getFullYear(),m)}output+=formatNumber("o",doy,3);break;case"m":output+=formatNumber("m",date.getMonth()+1,2);break;case"M":output+=formatName("M",date.getMonth(),monthNamesShort,monthNames);break;case"y":output+=(lookAhead("y")?date.getFullYear():(date.getYear()%100<10?"0":"")+date.getYear()%100);break;case"@":output+=date.getTime();break;case"'":if(lookAhead("'")){output+="'"}else{literal=true}break;default:output+=format.charAt(iFormat)}}}}return output},_possibleChars:function(format){var chars="";var literal=false;for(var iFormat=0;iFormat0){var settings=this._getFormatConfig(inst);if(dates.length>1){date=this.parseDate(dateFormat,dates[1],settings)||defaultDate;inst.endDay=date.getDate();inst.endMonth=date.getMonth();inst.endYear=date.getFullYear()}try{date=this.parseDate(dateFormat,dates[0],settings)||defaultDate}catch(e){this.log(e);date=defaultDate}}inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear();inst.currentDay=(dates[0]?date.getDate():0);inst.currentMonth=(dates[0]?date.getMonth():0);inst.currentYear=(dates[0]?date.getFullYear():0);this._adjustInstDate(inst)},_getDefaultDate:function(inst){var date=this._determineDate(this._get(inst,"defaultDate"),new Date());var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");date=(minDate&&datemaxDate?maxDate:date);return date},_determineDate:function(date,defaultDate){var offsetNumeric=function(offset){var date=new Date();date.setUTCDate(date.getUTCDate()+offset);return date};var offsetString=function(offset,getDaysInMonth){var date=new Date();var year=date.getFullYear();var month=date.getMonth();var day=date.getDate();var pattern=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g;var matches=pattern.exec(offset);while(matches){switch(matches[2]||"d"){case"d":case"D":day+=parseInt(matches[1],10);break;case"w":case"W":day+=parseInt(matches[1],10)*7;break;case"m":case"M":month+=parseInt(matches[1],10);day=Math.min(day,getDaysInMonth(year,month));break;case"y":case"Y":year+=parseInt(matches[1],10);day=Math.min(day,getDaysInMonth(year,month));break}matches=pattern.exec(offset)}return new Date(year,month,day)};date=(date==null?defaultDate:(typeof date=="string"?offsetString(date,this._getDaysInMonth):(typeof date=="number"?(isNaN(date)?defaultDate:offsetNumeric(date)):date)));return(date&&date.toString()=="Invalid Date"?defaultDate:date)},_setDate:function(inst,date,endDate){var clear=!(date);var origMonth=inst.selectedMonth;var origYear=inst.selectedYear;date=this._determineDate(date,new Date());inst.selectedDay=inst.currentDay=date.getDate();inst.drawMonth=inst.selectedMonth=inst.currentMonth=date.getMonth();inst.drawYear=inst.selectedYear=inst.currentYear=date.getFullYear();if(this._get(inst,"rangeSelect")){if(endDate){endDate=this._determineDate(endDate,null);inst.endDay=endDate.getDate();inst.endMonth=endDate.getMonth();inst.endYear=endDate.getFullYear()}else{inst.endDay=inst.currentDay;inst.endMonth=inst.currentMonth;inst.endYear=inst.currentYear}}if(origMonth!=inst.selectedMonth||origYear!=inst.selectedYear){this._notifyChange(inst)}this._adjustInstDate(inst);if(inst.input){inst.input.val(clear?"":this._formatDate(inst)+(!this._get(inst,"rangeSelect")?"":this._get(inst,"rangeSeparator")+this._formatDate(inst,inst.endDay,inst.endMonth,inst.endYear)))}},_getDate:function(inst){var startDate=(!inst.currentYear||(inst.input&&inst.input.val()=="")?null:new Date(inst.currentYear,inst.currentMonth,inst.currentDay));if(this._get(inst,"rangeSelect")){return[inst.rangeStart||startDate,(!inst.endYear?inst.rangeStart||startDate:new Date(inst.endYear,inst.endMonth,inst.endDay))]}else{return startDate}},_generateHTML:function(inst){var today=new Date();today=new Date(today.getFullYear(),today.getMonth(),today.getDate());var showStatus=this._get(inst,"showStatus");var initStatus=this._get(inst,"initStatus")||" ";var isRTL=this._get(inst,"isRTL");var clear=(this._get(inst,"mandatory")?"":'");var controls='
      '+(isRTL?"":clear)+'"+(isRTL?clear:"")+"
      ";var prompt=this._get(inst,"prompt");var closeAtTop=this._get(inst,"closeAtTop");var hideIfNoPrevNext=this._get(inst,"hideIfNoPrevNext");var navigationAsDateFormat=this._get(inst,"navigationAsDateFormat");var showBigPrevNext=this._get(inst,"showBigPrevNext");var numMonths=this._getNumberOfMonths(inst);var showCurrentAtPos=this._get(inst,"showCurrentAtPos");var stepMonths=this._get(inst,"stepMonths");var stepBigMonths=this._get(inst,"stepBigMonths");var isMultiMonth=(numMonths[0]!=1||numMonths[1]!=1);var currentDate=(!inst.currentDay?new Date(9999,9,9):new Date(inst.currentYear,inst.currentMonth,inst.currentDay));var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");var drawMonth=inst.drawMonth-showCurrentAtPos;var drawYear=inst.drawYear;if(drawMonth<0){drawMonth+=12;drawYear--}if(maxDate){var maxDraw=new Date(maxDate.getFullYear(),maxDate.getMonth()-numMonths[1]+1,maxDate.getDate());maxDraw=(minDate&&maxDrawmaxDraw){drawMonth--;if(drawMonth<0){drawMonth=11;drawYear--}}}var prevText=this._get(inst,"prevText");prevText=(!navigationAsDateFormat?prevText:this.formatDate(prevText,new Date(drawYear,drawMonth-stepMonths,1),this._getFormatConfig(inst)));var prevBigText=(showBigPrevNext?this._get(inst,"prevBigText"):"");prevBigText=(!navigationAsDateFormat?prevBigText:this.formatDate(prevBigText,new Date(drawYear,drawMonth-stepBigMonths,1),this._getFormatConfig(inst)));var prev='
      '+(this._canAdjustMonth(inst,-1,drawYear,drawMonth)?(showBigPrevNext?""+prevBigText+"":"")+""+prevText+"":(hideIfNoPrevNext?"":""))+"
      ";var nextText=this._get(inst,"nextText");nextText=(!navigationAsDateFormat?nextText:this.formatDate(nextText,new Date(drawYear,drawMonth+stepMonths,1),this._getFormatConfig(inst)));var nextBigText=(showBigPrevNext?this._get(inst,"nextBigText"):"");nextBigText=(!navigationAsDateFormat?nextBigText:this.formatDate(nextBigText,new Date(drawYear,drawMonth+stepBigMonths,1),this._getFormatConfig(inst)));var next='
      '+(this._canAdjustMonth(inst,+1,drawYear,drawMonth)?""+nextText+""+(showBigPrevNext?""+nextBigText+"":""):(hideIfNoPrevNext?"":""))+"
      ";var currentText=this._get(inst,"currentText");var gotoDate=(this._get(inst,"gotoCurrent")&&inst.currentDay?currentDate:today);currentText=(!navigationAsDateFormat?currentText:this.formatDate(currentText,gotoDate,this._getFormatConfig(inst)));var html=(prompt?'
      '+prompt+"
      ":"")+(closeAtTop&&!inst.inline?controls:"")+'";var firstDay=this._get(inst,"firstDay");var changeFirstDay=this._get(inst,"changeFirstDay");var dayNames=this._get(inst,"dayNames");var dayNamesShort=this._get(inst,"dayNamesShort");var dayNamesMin=this._get(inst,"dayNamesMin");var monthNames=this._get(inst,"monthNames");var beforeShowDay=this._get(inst,"beforeShowDay");var highlightWeek=this._get(inst,"highlightWeek");var showOtherMonths=this._get(inst,"showOtherMonths");var showWeeks=this._get(inst,"showWeeks");var calculateWeek=this._get(inst,"calculateWeek")||this.iso8601Week;var weekStatus=this._get(inst,"weekStatus");var status=(showStatus?this._get(inst,"dayStatus")||initStatus:"");var dateStatus=this._get(inst,"statusForDate")||this.dateStatus;var endDate=inst.endDay?new Date(inst.endYear,inst.endMonth,inst.endDay):currentDate;for(var row=0;row'+this._generateMonthYearHeader(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,row>0||col>0,showStatus,initStatus,monthNames)+''+(showWeeks?""+this._get(inst,"weekHeader")+"":"");for(var dow=0;dow<7;dow++){var day=(dow+firstDay)%7;var dayStatus=(status.indexOf("DD")>-1?status.replace(/DD/,dayNames[day]):status.replace(/D/,dayNamesShort[day]));html+="=5?' class="ui-datepicker-week-end-cell"':"")+">"+(!changeFirstDay?"'+dayNamesMin[day]+(changeFirstDay?"":"")+""}html+="";var daysInMonth=this._getDaysInMonth(drawYear,drawMonth);if(drawYear==inst.selectedYear&&drawMonth==inst.selectedMonth){inst.selectedDay=Math.min(inst.selectedDay,daysInMonth)}var leadDays=(this._getFirstDayOfMonth(drawYear,drawMonth)-firstDay+7)%7;var tzDate=new Date(drawYear,drawMonth,1-leadDays);var utcDate=new Date(drawYear,drawMonth,1-leadDays);var printDate=utcDate;var numRows=(isMultiMonth?6:Math.ceil((leadDays+daysInMonth)/7));for(var dRow=0;dRow'+(showWeeks?'":"");for(var dow=0;dow<7;dow++){var daySettings=(beforeShowDay?beforeShowDay.apply((inst.input?inst.input[0]:null),[printDate]):[true,""]);var otherMonth=(printDate.getMonth()!=drawMonth);var unselectable=otherMonth||!daySettings[0]||(minDate&&printDatemaxDate);html+='";tzDate.setDate(tzDate.getDate()+1);utcDate.setUTCDate(utcDate.getUTCDate()+1);printDate=(tzDate>utcDate?tzDate:utcDate)}html+=""}drawMonth++;if(drawMonth>11){drawMonth=0;drawYear++}html+="
      "+calculateWeek(printDate)+"=currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?" "+this._currentClass:"")+(printDate.getTime()==today.getTime()?" ui-datepicker-today":""))+'"'+((!otherMonth||showOtherMonths)&&daySettings[2]?' title="'+daySettings[2]+'"':"")+(unselectable?(highlightWeek?" onmouseover=\"jQuery(this).parent().addClass('ui-datepicker-week-over');\" onmouseout=\"jQuery(this).parent().removeClass('ui-datepicker-week-over');\"":""):" onmouseover=\"jQuery(this).addClass('ui-datepicker-days-cell-over')"+(highlightWeek?".parent().addClass('ui-datepicker-week-over')":"")+";"+(!showStatus||(otherMonth&&!showOtherMonths)?"":"jQuery('#ui-datepicker-status-"+inst.id+"').html('"+(dateStatus.apply((inst.input?inst.input[0]:null),[printDate,inst])||initStatus)+"');")+"\" onmouseout=\"jQuery(this).removeClass('ui-datepicker-days-cell-over')"+(highlightWeek?".parent().removeClass('ui-datepicker-week-over')":"")+";"+(!showStatus||(otherMonth&&!showOtherMonths)?"":"jQuery('#ui-datepicker-status-"+inst.id+"').html('"+initStatus+"');")+'" onclick="jQuery.datepicker._selectDay(\'#'+inst.id+"',"+drawMonth+","+drawYear+', this);"')+">"+(otherMonth?(showOtherMonths?printDate.getDate():" "):(unselectable?printDate.getDate():""+printDate.getDate()+""))+"
    "}}html+=(showStatus?'
    '+initStatus+"
    ":"")+(!closeAtTop&&!inst.inline?controls:"")+'
    '+($.browser.msie&&parseInt($.browser.version,10)<7&&!inst.inline?'':"");return html},_generateMonthYearHeader:function(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,secondary,showStatus,initStatus,monthNames){minDate=(inst.rangeStart&&minDate&&selectedDate";for(var month=0;month<12;month++){if((!inMinYear||month>=minDate.getMonth())&&(!inMaxYear||month<=maxDate.getMonth())){monthHtml+='"}}monthHtml+=""}if(!showMonthAfterYear){html+=monthHtml}if(secondary||!this._get(inst,"changeYear")){html+=drawYear}else{var years=this._get(inst,"yearRange").split(":");var year=0;var endYear=0;if(years.length!=2){year=drawYear-10;endYear=drawYear+10}else{if(years[0].charAt(0)=="+"||years[0].charAt(0)=="-"){year=endYear=new Date().getFullYear();year+=parseInt(years[0],10);endYear+=parseInt(years[1],10)}else{year=parseInt(years[0],10);endYear=parseInt(years[1],10)}}year=(minDate?Math.max(year,minDate.getFullYear()):year);endYear=(maxDate?Math.min(endYear,maxDate.getFullYear()):endYear);html+='"}if(showMonthAfterYear){html+=monthHtml}html+="
    ";return html},_addStatus:function(showStatus,id,text,initStatus){return(showStatus?" onmouseover=\"jQuery('#ui-datepicker-status-"+id+"').html('"+(text||initStatus)+"');\" onmouseout=\"jQuery('#ui-datepicker-status-"+id+"').html('"+initStatus+"');\"":"")},_adjustInstDate:function(inst,offset,period){var year=inst.drawYear+(period=="Y"?offset:0);var month=inst.drawMonth+(period=="M"?offset:0);var day=Math.min(inst.selectedDay,this._getDaysInMonth(year,month))+(period=="D"?offset:0);var date=new Date(year,month,day);var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");date=(minDate&&datemaxDate?maxDate:date);inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear();if(period=="M"||period=="Y"){this._notifyChange(inst)}},_notifyChange:function(inst){var onChange=this._get(inst,"onChangeMonthYear");if(onChange){onChange.apply((inst.input?inst.input[0]:null),[inst.selectedYear,inst.selectedMonth+1,inst])}},_getNumberOfMonths:function(inst){var numMonths=this._get(inst,"numberOfMonths");return(numMonths==null?[1,1]:(typeof numMonths=="number"?[1,numMonths]:numMonths))},_getMinMaxDate:function(inst,minMax,checkRange){var date=this._determineDate(this._get(inst,minMax+"Date"),null);if(date){date.setHours(0);date.setMinutes(0);date.setSeconds(0);date.setMilliseconds(0)}return(!checkRange||!inst.rangeStart?date:(!date||inst.rangeStart>date?inst.rangeStart:date))},_getDaysInMonth:function(year,month){return 32-new Date(year,month,32).getDate()},_getFirstDayOfMonth:function(year,month){return new Date(year,month,1).getDay()},_canAdjustMonth:function(inst,offset,curYear,curMonth){var numMonths=this._getNumberOfMonths(inst);var date=new Date(curYear,curMonth+(offset<0?offset:numMonths[1]),1);if(offset<0){date.setDate(this._getDaysInMonth(date.getFullYear(),date.getMonth()))}return this._isInRange(inst,date)},_isInRange:function(inst,date){var newMinDate=(!inst.rangeStart?null:new Date(inst.selectedYear,inst.selectedMonth,inst.selectedDay));newMinDate=(newMinDate&&inst.rangeStart=minDate)&&(!maxDate||date<=maxDate))},_getFormatConfig:function(inst){var shortYearCutoff=this._get(inst,"shortYearCutoff");shortYearCutoff=(typeof shortYearCutoff!="string"?shortYearCutoff:new Date().getFullYear()%100+parseInt(shortYearCutoff,10));return{shortYearCutoff:shortYearCutoff,dayNamesShort:this._get(inst,"dayNamesShort"),dayNames:this._get(inst,"dayNames"),monthNamesShort:this._get(inst,"monthNamesShort"),monthNames:this._get(inst,"monthNames")}},_formatDate:function(inst,day,month,year){if(!day){inst.currentDay=inst.selectedDay;inst.currentMonth=inst.selectedMonth;inst.currentYear=inst.selectedYear}var date=(day?(typeof day=="object"?day:new Date(year,month,day)):new Date(inst.currentYear,inst.currentMonth,inst.currentDay));return this.formatDate(this._get(inst,"dateFormat"),date,this._getFormatConfig(inst))}});function extendRemove(target,props){$.extend(target,props);for(var name in props){if(props[name]==null||props[name]==undefined){target[name]=props[name]}}return target}function isArray(a){return(a&&(($.browser.safari&&typeof a=="object"&&a.length)||(a.constructor&&a.constructor.toString().match(/\Array\(\)/))))}$.fn.datepicker=function(options){if(!$.datepicker.initialized){$(document.body).append($.datepicker.dpDiv).mousedown($.datepicker._checkExternalClick);$.datepicker.initialized=true}var otherArgs=Array.prototype.slice.call(arguments,1);if(typeof options=="string"&&(options=="isDisabled"||options=="getDate")){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}return this.each(function(){typeof options=="string"?$.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this].concat(otherArgs)):$.datepicker._attachDatepicker(this,options)})};$.datepicker=new Datepicker();$.datepicker.initialized=false;$.datepicker.uuid=new Date().getTime()})(jQuery) \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/minified/ui.dialog.min.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/minified/Attic/ui.dialog.min.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/minified/ui.dialog.min.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1 @@ +(function(B){var A={dragStart:"start.draggable",drag:"drag.draggable",dragStop:"stop.draggable",maxHeight:"maxHeight.resizable",minHeight:"minHeight.resizable",maxWidth:"maxWidth.resizable",minWidth:"minWidth.resizable",resizeStart:"start.resizable",resize:"drag.resizable",resizeStop:"stop.resizable"};B.widget("ui.dialog",{_init:function(){this.originalTitle=this.element.attr("title");this.options.title=this.options.title||this.originalTitle;var K=this,L=this.options,F=this.element.removeAttr("title").addClass("ui-dialog-content").wrap("
    ").wrap("
    "),H=(this.uiDialogContainer=F.parent()).addClass("ui-dialog-container").css({position:"relative",width:"100%",height:"100%"}),E=(this.uiDialogTitlebar=B("
    ")).addClass("ui-dialog-titlebar").append('X').prependTo(H),J=L.title||" ",C=B.ui.dialog.getTitleId(this.element),D=B("").addClass("ui-dialog-title").attr("id",C).html(J).prependTo(E),I=(this.uiDialog=H.parent()).appendTo(document.body).hide().addClass("ui-dialog").addClass(L.dialogClass).addClass(F.attr("className")).removeClass("ui-dialog-content").css({position:"absolute",width:L.width,height:L.height,overflow:"hidden",zIndex:L.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(M){(L.closeOnEscape&&M.keyCode&&M.keyCode==B.keyCode.ESCAPE&&K.close())}).mousedown(function(){K._moveToTop()}),G=(this.uiDialogButtonPane=B("
    ")).addClass("ui-dialog-buttonpane").css({position:"absolute",bottom:0}).appendTo(I);this.uiDialogTitlebarClose=B(".ui-dialog-titlebar-close",E).hover(function(){B(this).addClass("ui-dialog-titlebar-close-hover")},function(){B(this).removeClass("ui-dialog-titlebar-close-hover")}).mousedown(function(M){M.stopPropagation()}).click(function(){K.close();return false});E.find("*").add(E).each(function(){B.ui.disableSelection(this)});(L.draggable&&B.fn.draggable&&this._makeDraggable());(L.resizable&&B.fn.resizable&&this._makeResizable());this._createButtons(L.buttons);this._isOpen=false;(L.bgiframe&&B.fn.bgiframe&&I.bgiframe());(L.autoOpen&&this.open())},destroy:function(){(this.overlay&&this.overlay.destroy());this.uiDialog.hide();this.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content").hide().appendTo("body");this.uiDialog.remove();(this.originalTitle&&this.element.attr("title",this.originalTitle))},close:function(){if(false===this._trigger("beforeclose",null,{options:this.options})){return }(this.overlay&&this.overlay.destroy());this.uiDialog.hide(this.options.hide).unbind("keypress.ui-dialog");this._trigger("close",null,{options:this.options});B.ui.dialog.overlay.resize();this._isOpen=false},isOpen:function(){return this._isOpen},open:function(){if(this._isOpen){return }this.overlay=this.options.modal?new B.ui.dialog.overlay(this):null;(this.uiDialog.next().length&&this.uiDialog.appendTo("body"));this._position(this.options.position);this.uiDialog.show(this.options.show);(this.options.autoResize&&this._size());this._moveToTop(true);(this.options.modal&&this.uiDialog.bind("keypress.ui-dialog",function(E){if(E.keyCode!=B.keyCode.TAB){return }var D=B(":tabbable",this),F=D.filter(":first")[0],C=D.filter(":last")[0];if(E.target==C&&!E.shiftKey){setTimeout(function(){F.focus()},1)}else{if(E.target==F&&E.shiftKey){setTimeout(function(){C.focus()},1)}}}));this.uiDialog.find(":tabbable:first").focus();this._trigger("open",null,{options:this.options});this._isOpen=true},_createButtons:function(F){var E=this,C=false,D=this.uiDialogButtonPane;D.empty().hide();B.each(F,function(){return !(C=true)});if(C){D.show();B.each(F,function(G,H){B('').text(G).click(function(){H.apply(E.element[0],arguments)}).appendTo(D)})}},_makeDraggable:function(){var C=this,D=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content",helper:D.dragHelper,handle:".ui-dialog-titlebar",start:function(){C._moveToTop();(D.dragStart&&D.dragStart.apply(C.element[0],arguments))},drag:function(){(D.drag&&D.drag.apply(C.element[0],arguments))},stop:function(){(D.dragStop&&D.dragStop.apply(C.element[0],arguments));B.ui.dialog.overlay.resize()}})},_makeResizable:function(F){F=(F===undefined?this.options.resizable:F);var C=this,E=this.options,D=typeof F=="string"?F:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",helper:E.resizeHelper,maxWidth:E.maxWidth,maxHeight:E.maxHeight,minWidth:E.minWidth,minHeight:E.minHeight,start:function(){(E.resizeStart&&E.resizeStart.apply(C.element[0],arguments))},resize:function(){(E.autoResize&&C._size.apply(C));(E.resize&&E.resize.apply(C.element[0],arguments))},handles:D,stop:function(){(E.autoResize&&C._size.apply(C));(E.resizeStop&&E.resizeStop.apply(C.element[0],arguments));B.ui.dialog.overlay.resize()}})},_moveToTop:function(E){if((this.options.modal&&!E)||(!this.options.stack&&!this.options.modal)){return this._trigger("focus",null,{options:this.options})}var D=this.options.zIndex,C=this.options;B(".ui-dialog:visible").each(function(){D=Math.max(D,parseInt(B(this).css("z-index"),10)||C.zIndex)});(this.overlay&&this.overlay.$el.css("z-index",++D));this.uiDialog.css("z-index",++D);this._trigger("focus",null,{options:this.options})},_position:function(H){var D=B(window),E=B(document),F=E.scrollTop(),C=E.scrollLeft(),G=F;if(B.inArray(H,["center","top","right","bottom","left"])>=0){H=[H=="right"||H=="left"?H:"center",H=="top"||H=="bottom"?H:"middle"]}if(H.constructor!=Array){H=["center","middle"]}if(H[0].constructor==Number){C+=H[0]}else{switch(H[0]){case"left":C+=0;break;case"right":C+=D.width()-this.uiDialog.width();break;default:case"center":C+=(D.width()-this.uiDialog.width())/2}}if(H[1].constructor==Number){F+=H[1]}else{switch(H[1]){case"top":F+=0;break;case"bottom":F+=D.height()-this.uiDialog.height();break;default:case"middle":F+=(D.height()-this.uiDialog.height())/2}}F=Math.max(F,G);this.uiDialog.css({top:F,left:C})},_setData:function(D,E){(A[D]&&this.uiDialog.data(A[D],E));switch(D){case"buttons":this._createButtons(E);break;case"draggable":(E?this._makeDraggable():this.uiDialog.draggable("destroy"));break;case"height":this.uiDialog.height(E);break;case"position":this._position(E);break;case"resizable":var C=this.uiDialog,F=this.uiDialog.is(":data(resizable)");(F&&!E&&C.resizable("destroy"));(F&&typeof E=="string"&&C.resizable("option","handles",E));(F||this._makeResizable(E));break;case"title":B(".ui-dialog-title",this.uiDialogTitlebar).html(E||" ");break;case"width":this.uiDialog.width(E);break}B.widget.prototype._setData.apply(this,arguments)},_size:function(){var D=this.uiDialogContainer,G=this.uiDialogTitlebar,E=this.element,F=(parseInt(E.css("margin-top"),10)||0)+(parseInt(E.css("margin-bottom"),10)||0),C=(parseInt(E.css("margin-left"),10)||0)+(parseInt(E.css("margin-right"),10)||0);E.height(D.height()-G.outerHeight()-F);E.width(D.width()-C)}});B.extend(B.ui.dialog,{defaults:{autoOpen:true,autoResize:true,bgiframe:false,buttons:{},closeOnEscape:true,draggable:true,height:200,minHeight:100,minWidth:150,modal:false,overlay:{},position:"center",resizable:true,stack:true,width:300,zIndex:1000},getter:"isOpen",uuid:0,getTitleId:function(C){return"ui-dialog-title-"+(C.attr("id")||++this.uuid)},overlay:function(C){this.$el=B.ui.dialog.overlay.create(C)}});B.extend(B.ui.dialog.overlay,{instances:[],events:B.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(C){return C+".dialog-overlay"}).join(" "),create:function(D){if(this.instances.length===0){setTimeout(function(){B("a, :input").bind(B.ui.dialog.overlay.events,function(){var F=false;var H=B(this).parents(".ui-dialog");if(H.length){var E=B(".ui-dialog-overlay");if(E.length){var G=parseInt(E.css("z-index"),10);E.each(function(){G=Math.max(G,parseInt(B(this).css("z-index"),10))});F=parseInt(H.css("z-index"),10)>G}else{F=true}}return F})},1);B(document).bind("keydown.dialog-overlay",function(E){(D.options.closeOnEscape&&E.keyCode&&E.keyCode==B.keyCode.ESCAPE&&D.close())});B(window).bind("resize.dialog-overlay",B.ui.dialog.overlay.resize)}var C=B("
    ").appendTo(document.body).addClass("ui-dialog-overlay").css(B.extend({borderWidth:0,margin:0,padding:0,position:"absolute",top:0,left:0,width:this.width(),height:this.height()},D.options.overlay));(D.options.bgiframe&&B.fn.bgiframe&&C.bgiframe());this.instances.push(C);return C},destroy:function(C){this.instances.splice(B.inArray(this.instances,C),1);if(this.instances.length===0){B("a, :input").add([document,window]).unbind(".dialog-overlay")}C.remove()},height:function(){if(B.browser.msie&&B.browser.version<7){var D=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);var C=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);if(Dthis.containment[2]){B.left=this.containment[2]}if(B.top>this.containment[3]){B.top=this.containment[3]}}if(F.grid){var D=this.originalPosition.top+Math.round((B.top-this.originalPosition.top)/F.grid[1])*F.grid[1];B.top=this.containment?(!(Dthis.containment[3])?D:(!(Dthis.containment[2])?C:(!(C
    ').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000}).css(A(this).offset()).appendTo("body")})},stop:function(C,B){A("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});A.ui.plugin.add("draggable","scroll",{start:function(D,C){var E=C.options;var B=A(this).data("draggable");E.scrollSensitivity=E.scrollSensitivity||20;E.scrollSpeed=E.scrollSpeed||20;B.overflowY=function(F){do{if(/auto|scroll/.test(F.css("overflow"))||(/auto|scroll/).test(F.css("overflow-y"))){return F}F=F.parent()}while(F[0].parentNode);return A(document)}(this);B.overflowX=function(F){do{if(/auto|scroll/.test(F.css("overflow"))||(/auto|scroll/).test(F.css("overflow-x"))){return F}F=F.parent()}while(F[0].parentNode);return A(document)}(this);if(B.overflowY[0]!=document&&B.overflowY[0].tagName!="HTML"){B.overflowYOffset=B.overflowY.offset()}if(B.overflowX[0]!=document&&B.overflowX[0].tagName!="HTML"){B.overflowXOffset=B.overflowX.offset()}},drag:function(E,D){var F=D.options,B=false;var C=A(this).data("draggable");if(C.overflowY[0]!=document&&C.overflowY[0].tagName!="HTML"){if((C.overflowYOffset.top+C.overflowY[0].offsetHeight)-E.pageY=0;M--){var L=E.snapElements[M].left,J=L+E.snapElements[M].width,I=E.snapElements[M].top,S=I+E.snapElements[M].height;if(!((L-Q=K&&I<=G)||(H>=K&&H<=G)||(IG))&&((D>=E&&D<=B)||(C>=E&&C<=B)||(DB));break;default:return false;break}};A.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(E,H){var B=A.ui.ddmanager.droppables[E.options.scope];var F=H?H.type:null;var G=(E.currentItem||E.element).find(":data(droppable)").andSelf();droppablesLoop:for(var D=0;Dthis.pp.left-H.distance)&&(F[0]this.pp.top-H.distance)&&(F[1] *"}})})(jQuery) \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/minified/ui.progressbar.min.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/minified/Attic/ui.progressbar.min.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/minified/ui.progressbar.min.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1 @@ +(function(A){A.widget("ui.progressbar",{_init:function(){this._interval=this.options.interval;var B=this,C=this.options,E=(new Date()).getTime()+Math.random(),D=C.text||"0%";this.element.addClass("ui-progressbar").width(C.width);A.extend(this,{active:false,pixelState:0,percentState:0,identifier:E,bar:A('
    ').css({width:"0px",overflow:"hidden",zIndex:100}),textElement:A('
    ').html(D).css({width:"0px",overflow:"hidden"}),textBg:A('
    ').html(D).css({width:this.element.width()}),wrapper:A('
    ')});this.wrapper.append(this.bar.append(this.textElement.addClass(C.textClass)),this.textBg).appendTo(this.element)},plugins:{},ui:function(B){return{instance:this,identifier:this.identifier,options:this.options,element:this.bar,textElement:this.textElement,pixelState:this.pixelState,percentState:this.percentState}},_propagate:function(C,B){A.ui.plugin.call(this,C,[B,this.ui()]);this.element.triggerHandler(C=="progressbar"?C:["progressbar",C].join(""),[B,this.ui()],this.options[C])},destroy:function(){this.stop();this.element.removeClass("ui-progressbar ui-progressbar-disabled").removeData("progressbar").unbind(".progressbar").find(".ui-progressbar-wrap").remove();delete jQuery.easing[this.identifier]},enable:function(){this.element.removeClass("ui-progressbar-disabled");this.disabled=false},disable:function(){this.element.addClass("ui-progressbar-disabled");this.disabled=true},start:function(){var B=this,C=this.options;if(this.disabled){return }jQuery.easing[this.identifier]=function(K,L,J,I,H){var G=C.increment,E=C.width,F=((G>E?E:G)/E),D=Math.round(K/F)*F;return D>1?1:D};B.active=true;setTimeout(function(){B.active=false},C.duration);this._animate();this._propagate("start",this.ui());return false},_animate:function(){var C=this,D=this.options,B=D.interval;this.bar.animate({width:D.width},{duration:B,easing:this.identifier,step:function(G,E){C.progress((G/D.width)*100);var H=new Date().getTime(),F=(H-E.startTime);D.interval=B-F},complete:function(){delete jQuery.easing[C.identifier];C.pause();if(C.active){}}})},pause:function(){if(this.disabled){return }this.bar.stop();this._propagate("pause",this.ui())},stop:function(){this.bar.stop();this.bar.width(0);this.textElement.width(0);this.bar.addClass("ui-hidden");this.options.interval=this._interval;this._propagate("stop",this.ui())},text:function(B){this.textElement.html(B);this.textBg.html(B)},progress:function(B){if(this.bar.is(".ui-hidden")){this.bar.removeClass("ui-hidden")}this.percentState=B>100?100:B;this.pixelState=(this.percentState/100)*this.options.width;this.bar.width(this.pixelState);this.textElement.width(this.pixelState);if(this.options.range&&!this.options.text){this.textElement.html(Math.round(this.percentState)+"%")}this._propagate("progress",this.ui())}});A.ui.progressbar.defaults={width:300,duration:3000,interval:200,increment:1,range:true,text:"",addClass:"",textClass:""}})(jQuery) \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/minified/ui.resizable.min.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/minified/Attic/ui.resizable.min.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/minified/ui.resizable.min.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1 @@ +(function(A){A.widget("ui.resizable",A.extend({},A.ui.mouse,{_init:function(){var M=this,N=this.options;var Q=this.element.css("position");this.originalElement=this.element;this.element.addClass("ui-resizable").css({position:/static/.test(Q)?"relative":Q});A.extend(N,{_aspectRatio:!!(N.aspectRatio),helper:N.helper||N.ghost||N.animate?N.helper||"proxy":null,knobHandles:N.knobHandles===true?"ui-resizable-knob-handle":N.knobHandles});var H="1px solid #DEDEDE";N.defaultTheme={"ui-resizable":{display:"block"},"ui-resizable-handle":{position:"absolute",background:"#F2F2F2",fontSize:"0.1px"},"ui-resizable-n":{cursor:"n-resize",height:"4px",left:"0px",right:"0px",borderTop:H},"ui-resizable-s":{cursor:"s-resize",height:"4px",left:"0px",right:"0px",borderBottom:H},"ui-resizable-e":{cursor:"e-resize",width:"4px",top:"0px",bottom:"0px",borderRight:H},"ui-resizable-w":{cursor:"w-resize",width:"4px",top:"0px",bottom:"0px",borderLeft:H},"ui-resizable-se":{cursor:"se-resize",width:"4px",height:"4px",borderRight:H,borderBottom:H},"ui-resizable-sw":{cursor:"sw-resize",width:"4px",height:"4px",borderBottom:H,borderLeft:H},"ui-resizable-ne":{cursor:"ne-resize",width:"4px",height:"4px",borderRight:H,borderTop:H},"ui-resizable-nw":{cursor:"nw-resize",width:"4px",height:"4px",borderLeft:H,borderTop:H}};N.knobTheme={"ui-resizable-handle":{background:"#F2F2F2",border:"1px solid #808080",height:"8px",width:"8px"},"ui-resizable-n":{cursor:"n-resize",top:"0px",left:"45%"},"ui-resizable-s":{cursor:"s-resize",bottom:"0px",left:"45%"},"ui-resizable-e":{cursor:"e-resize",right:"0px",top:"45%"},"ui-resizable-w":{cursor:"w-resize",left:"0px",top:"45%"},"ui-resizable-se":{cursor:"se-resize",right:"0px",bottom:"0px"},"ui-resizable-sw":{cursor:"sw-resize",left:"0px",bottom:"0px"},"ui-resizable-nw":{cursor:"nw-resize",left:"0px",top:"0px"},"ui-resizable-ne":{cursor:"ne-resize",right:"0px",top:"0px"}};N._nodeName=this.element[0].nodeName;if(N._nodeName.match(/canvas|textarea|input|select|button|img/i)){var B=this.element;if(/relative/.test(B.css("position"))&&A.browser.opera){B.css({position:"relative",top:"auto",left:"auto"})}B.wrap(A('
    ').css({position:B.css("position"),width:B.outerWidth(),height:B.outerHeight(),top:B.css("top"),left:B.css("left")}));var J=this.element;this.element=this.element.parent();this.element.data("resizable",this);this.element.css({marginLeft:J.css("marginLeft"),marginTop:J.css("marginTop"),marginRight:J.css("marginRight"),marginBottom:J.css("marginBottom")});J.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});if(A.browser.safari&&N.preventDefault){J.css("resize","none")}N.proportionallyResize=J.css({position:"static",zoom:1,display:"block"});this.element.css({margin:J.css("margin")});this._proportionallyResize()}if(!N.handles){N.handles=!A(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}}if(N.handles.constructor==String){N.zIndex=N.zIndex||1000;if(N.handles=="all"){N.handles="n,e,s,w,se,sw,ne,nw"}var O=N.handles.split(",");N.handles={};var G={handle:"position: absolute; display: none; overflow:hidden;",n:"top: 0pt; width:100%;",e:"right: 0pt; height:100%;",s:"bottom: 0pt; width:100%;",w:"left: 0pt; height:100%;",se:"bottom: 0pt; right: 0px;",sw:"bottom: 0pt; left: 0px;",ne:"top: 0pt; right: 0px;",nw:"top: 0pt; left: 0px;"};for(var R=0;R
    '].join("")).css(K);N.handles[S]=".ui-resizable-"+S;this.element.append(E.css(C?T:{}).css(N.knobHandles?D:{}).addClass(N.knobHandles?"ui-resizable-knob-handle":"").addClass(N.knobHandles))}if(N.knobHandles){this.element.addClass("ui-resizable-knob").css(!A.ui.css("ui-resizable-knob")?{}:{})}}this._renderAxis=function(Y){Y=Y||this.element;for(var V in N.handles){if(N.handles[V].constructor==String){N.handles[V]=A(N.handles[V],this.element).show()}if(N.transparent){N.handles[V].css({opacity:0})}if(this.element.is(".ui-wrapper")&&N._nodeName.match(/textarea|input|select|button/i)){var W=A(N.handles[V],this.element),X=0;X=/sw|ne|nw|se|n|s/.test(V)?W.outerHeight():W.outerWidth();var U=["padding",/ne|nw|n/.test(V)?"Top":/se|sw|s/.test(V)?"Bottom":/^e$/.test(V)?"Right":"Left"].join("");if(!N.transparent){Y.css(U,X)}this._proportionallyResize()}if(!A(N.handles[V]).length){continue}}};this._renderAxis(this.element);N._handles=A(".ui-resizable-handle",M.element);if(N.disableSelection){N._handles.each(function(U,V){A.ui.disableSelection(V)})}N._handles.mouseover(function(){if(!N.resizing){if(this.className){var U=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}M.axis=N.axis=U&&U[1]?U[1]:"se"}});if(N.autoHide){N._handles.hide();A(M.element).addClass("ui-resizable-autohide").hover(function(){A(this).removeClass("ui-resizable-autohide");N._handles.show()},function(){if(!N.resizing){A(this).addClass("ui-resizable-autohide");N._handles.hide()}})}this._mouseInit()},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,options:this.options,originalSize:this.originalSize,originalPosition:this.originalPosition}},_propagate:function(C,B){A.ui.plugin.call(this,C,[B,this.ui()]);if(C!="resize"){this.element.triggerHandler(["resize",C].join(""),[B,this.ui()],this.options[C])}},destroy:function(){var D=this.element,C=D.children(".ui-resizable").get(0);this._mouseDestroy();var B=function(E){A(E).removeClass("ui-resizable ui-resizable-disabled").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};B(D);if(D.is(".ui-wrapper")&&C){D.parent().append(A(C).css({position:D.css("position"),width:D.outerWidth(),height:D.outerHeight(),top:D.css("top"),left:D.css("left")})).end().remove();B(C)}},_mouseCapture:function(D){if(this.options.disabled){return false}var C=false;for(var B in this.options.handles){if(A(this.options.handles[B])[0]==D.target){C=true}}if(!C){return false}return true},_mouseStart:function(I){var C=this.options,B=this.element.position(),D=this.element,H=function(M){return parseInt(M,10)||0},G=A.browser.msie&&A.browser.version<7;C.resizing=true;C.documentScroll={top:A(document).scrollTop(),left:A(document).scrollLeft()};if(D.is(".ui-draggable")||(/absolute/).test(D.css("position"))){var J=A.browser.msie&&!C.containment&&(/absolute/).test(D.css("position"))&&!(/relative/).test(D.parent().css("position"));var K=J?C.documentScroll.top:0,F=J?C.documentScroll.left:0;D.css({position:"absolute",top:(B.top+K),left:(B.left+F)})}if(A.browser.opera&&/relative/.test(D.css("position"))){D.css({position:"relative",top:"auto",left:"auto"})}this._renderProxy();var L=H(this.helper.css("left")),E=H(this.helper.css("top"));if(C.containment){L+=A(C.containment).scrollLeft()||0;E+=A(C.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:L,top:E};this.size=C.helper||G?{width:D.outerWidth(),height:D.outerHeight()}:{width:D.width(),height:D.height()};this.originalSize=C.helper||G?{width:D.outerWidth(),height:D.outerHeight()}:{width:D.width(),height:D.height()};this.originalPosition={left:L,top:E};this.sizeDiff={width:D.outerWidth()-D.width(),height:D.outerHeight()-D.height()};this.originalMousePosition={left:I.pageX,top:I.pageY};C.aspectRatio=(typeof C.aspectRatio=="number")?C.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);if(C.preserveCursor){A("body").css("cursor",this.axis+"-resize")}this._propagate("start",I);return true},_mouseDrag:function(I){var D=this.helper,C=this.options,J={},M=this,F=this.originalMousePosition,K=this.axis;var N=(I.pageX-F.left)||0,L=(I.pageY-F.top)||0;var E=this._change[K];if(!E){return false}var H=E.apply(this,[I,N,L]),G=A.browser.msie&&A.browser.version<7,B=this.sizeDiff;if(C._aspectRatio||I.shiftKey){H=this._updateRatio(H,I)}H=this._respectSize(H,I);this._propagate("resize",I);D.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!C.helper&&C.proportionallyResize){this._proportionallyResize()}this._updateCache(H);this.element.triggerHandler("resize",[I,this.ui()],this.options["resize"]);return false},_mouseStop:function(I){this.options.resizing=false;var E=this.options,H=function(M){return parseInt(M,10)||0},K=this;if(E.helper){var D=E.proportionallyResize,B=D&&(/textarea/i).test(D.get(0).nodeName),C=B&&A.ui.hasScroll(D.get(0),"left")?0:K.sizeDiff.height,G=B?0:K.sizeDiff.width;var L={width:(K.size.width-G),height:(K.size.height-C)},F=(parseInt(K.element.css("left"),10)+(K.position.left-K.originalPosition.left))||null,J=(parseInt(K.element.css("top"),10)+(K.position.top-K.originalPosition.top))||null;if(!E.animate){this.element.css(A.extend(L,{top:J,left:F}))}if(E.helper&&!E.animate){this._proportionallyResize()}}if(E.preserveCursor){A("body").css("cursor","auto")}this._propagate("stop",I);if(E.helper){this.helper.remove()}return false},_updateCache:function(B){var C=this.options;this.offset=this.helper.offset();if(B.left){this.position.left=B.left}if(B.top){this.position.top=B.top}if(B.height){this.size.height=B.height}if(B.width){this.size.width=B.width}},_updateRatio:function(D,E){var F=this.options,G=this.position,C=this.size,B=this.axis;if(D.height){D.width=(C.height*F.aspectRatio)}else{if(D.width){D.height=(C.width/F.aspectRatio)}}if(B=="sw"){D.left=G.left+(C.width-D.width);D.top=null}if(B=="nw"){D.top=G.top+(C.height-D.height);D.left=G.left+(C.width-D.width)}return D},_respectSize:function(H,I){var F=this.helper,E=this.options,N=E._aspectRatio||I.shiftKey,M=this.axis,P=H.width&&E.maxWidth&&E.maxWidthH.width,O=H.height&&E.minHeight&&E.minHeight>H.height;if(D){H.width=E.minWidth}if(O){H.height=E.minHeight}if(P){H.width=E.maxWidth}if(J){H.height=E.maxHeight}var C=this.originalPosition.left+this.originalSize.width,L=this.position.top+this.size.height;var G=/sw|nw|w/.test(M),B=/nw|ne|n/.test(M);if(D&&G){H.left=C-E.minWidth}if(P&&G){H.left=C-E.maxWidth}if(O&&B){H.top=L-E.minHeight}if(J&&B){H.top=L-E.maxHeight}var K=!H.width&&!H.height;if(K&&!H.left&&H.top){H.top=null}else{if(K&&!H.top&&H.left){H.left=null}}return H},_proportionallyResize:function(){var F=this.options;if(!F.proportionallyResize){return }var D=F.proportionallyResize,C=this.helper||this.element;if(!F.borderDif){var B=[D.css("borderTopWidth"),D.css("borderRightWidth"),D.css("borderBottomWidth"),D.css("borderLeftWidth")],E=[D.css("paddingTop"),D.css("paddingRight"),D.css("paddingBottom"),D.css("paddingLeft")];F.borderDif=A.map(B,function(G,I){var H=parseInt(G,10)||0,J=parseInt(E[I],10)||0;return H+J})}D.css({height:(C.height()-F.borderDif[0]-F.borderDif[2])+"px",width:(C.width()-F.borderDif[1]-F.borderDif[3])+"px"})},_renderProxy:function(){var C=this.element,F=this.options;this.elementOffset=C.offset();if(F.helper){this.helper=this.helper||A('
    ');var B=A.browser.msie&&A.browser.version<7,D=(B?1:0),E=(B?2:-1);this.helper.addClass(F.helper).css({width:C.outerWidth()+E,height:C.outerHeight()+E,position:"absolute",left:this.elementOffset.left-D+"px",top:this.elementOffset.top-D+"px",zIndex:++F.zIndex});this.helper.appendTo("body");if(F.disableSelection){A.ui.disableSelection(this.helper.get(0))}}else{this.helper=C}},_change:{e:function(D,C,B){return{width:this.originalSize.width+C}},w:function(F,C,B){var G=this.options,D=this.originalSize,E=this.originalPosition;return{left:E.left+C,width:D.width-C}},n:function(F,C,B){var G=this.options,D=this.originalSize,E=this.originalPosition;return{top:E.top+B,height:D.height-B}},s:function(D,C,B){return{height:this.originalSize.height+B}},se:function(D,C,B){return A.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[D,C,B]))},sw:function(D,C,B){return A.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[D,C,B]))},ne:function(D,C,B){return A.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[D,C,B]))},nw:function(D,C,B){return A.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[D,C,B]))}}}));A.extend(A.ui.resizable,{defaults:{cancel:":input",distance:1,delay:0,preventDefault:true,transparent:false,minWidth:10,minHeight:10,aspectRatio:false,disableSelection:true,preserveCursor:true,autoHide:false,knobHandles:false}});A.ui.plugin.add("resizable","containment",{start:function(I,K){var E=K.options,M=A(this).data("resizable"),G=M.element;var C=E.containment,F=(C instanceof A)?C.get(0):(/parent/.test(C))?G.parent().get(0):C;if(!F){return }M.containerElement=A(F);if(/document/.test(C)||C==document){M.containerOffset={left:0,top:0};M.containerPosition={left:0,top:0};M.parentData={element:A(document),left:0,top:0,width:A(document).width(),height:A(document).height()||document.body.parentNode.scrollHeight}}else{M.containerOffset=A(F).offset();M.containerPosition=A(F).position();M.containerSize={height:A(F).innerHeight(),width:A(F).innerWidth()};var J=M.containerOffset,B=M.containerSize.height,H=M.containerSize.width,D=(A.ui.hasScroll(F,"left")?F.scrollWidth:H),L=(A.ui.hasScroll(F)?F.scrollHeight:B);M.parentData={element:F,left:J.left,top:J.top,width:D,height:L}}},resize:function(H,K){var E=K.options,N=A(this).data("resizable"),C=N.containerSize,J=N.containerOffset,G=N.size,I=N.position,L=E._aspectRatio||H.shiftKey,B={top:0,left:0},D=N.containerElement;if(D[0]!=document&&/static/.test(D.css("position"))){B=N.containerPosition}if(I.left<(E.helper?J.left:B.left)){N.size.width=N.size.width+(E.helper?(N.position.left-J.left):(N.position.left-B.left));if(L){N.size.height=N.size.width/E.aspectRatio}N.position.left=E.helper?J.left:B.left}if(I.top<(E.helper?J.top:0)){N.size.height=N.size.height+(E.helper?(N.position.top-J.top):N.position.top);if(L){N.size.width=N.size.height*E.aspectRatio}N.position.top=E.helper?J.top:0}var F=(E.helper?N.offset.left-J.left:(N.position.left-B.left))+N.sizeDiff.width,M=(E.helper?N.offset.top-J.top:N.position.top)+N.sizeDiff.height;if(F+N.size.width>=N.parentData.width){N.size.width=N.parentData.width-F;if(L){N.size.height=N.size.width/E.aspectRatio}}if(M+N.size.height>=N.parentData.height){N.size.height=N.parentData.height-M;if(L){N.size.width=N.size.height*E.aspectRatio}}},stop:function(G,J){var C=J.options,L=A(this).data("resizable"),H=L.position,I=L.containerOffset,B=L.containerPosition,D=L.containerElement;var E=A(L.helper),M=E.offset(),K=E.innerWidth(),F=E.innerHeight();if(C.helper&&!C.animate&&/relative/.test(D.css("position"))){A(this).css({left:(M.left-I.left),top:(M.top-I.top),width:K,height:F})}if(C.helper&&!C.animate&&/static/.test(D.css("position"))){A(this).css({left:B.left+(M.left-I.left),top:B.top+(M.top-I.top),width:K,height:F})}}});A.ui.plugin.add("resizable","grid",{resize:function(H,J){var D=J.options,L=A(this).data("resizable"),G=L.size,E=L.originalSize,F=L.originalPosition,K=L.axis,I=D._aspectRatio||H.shiftKey;D.grid=typeof D.grid=="number"?[D.grid,D.grid]:D.grid;var C=Math.round((G.width-E.width)/(D.grid[0]||1))*(D.grid[0]||1),B=Math.round((G.height-E.height)/(D.grid[1]||1))*(D.grid[1]||1);if(/^(se|s|e)$/.test(K)){L.size.width=E.width+C;L.size.height=E.height+B}else{if(/^(ne)$/.test(K)){L.size.width=E.width+C;L.size.height=E.height+B;L.position.top=F.top-B}else{if(/^(sw)$/.test(K)){L.size.width=E.width+C;L.size.height=E.height+B;L.position.left=F.left-C}else{L.size.width=E.width+C;L.size.height=E.height+B;L.position.top=F.top-B;L.position.left=F.left-C}}}}});A.ui.plugin.add("resizable","animate",{stop:function(I,K){var F=K.options,L=A(this).data("resizable");var E=F.proportionallyResize,B=E&&(/textarea/i).test(E.get(0).nodeName),C=B&&A.ui.hasScroll(E.get(0),"left")?0:L.sizeDiff.height,H=B?0:L.sizeDiff.width;var D={width:(L.size.width-H),height:(L.size.height-C)},G=(parseInt(L.element.css("left"),10)+(L.position.left-L.originalPosition.left))||null,J=(parseInt(L.element.css("top"),10)+(L.position.top-L.originalPosition.top))||null;L.element.animate(A.extend(D,J&&G?{top:J,left:G}:{}),{duration:F.animateDuration||"slow",easing:F.animateEasing||"swing",step:function(){var M={width:parseInt(L.element.css("width"),10),height:parseInt(L.element.css("height"),10),top:parseInt(L.element.css("top"),10),left:parseInt(L.element.css("left"),10)};if(E){E.css({width:M.width,height:M.height})}L._updateCache(M);L._propagate("animate",I)}})}});A.ui.plugin.add("resizable","ghost",{start:function(E,D){var F=D.options,B=A(this).data("resizable"),G=F.proportionallyResize,C=B.size;if(!G){B.ghost=B.element.clone()}else{B.ghost=G.clone()}B.ghost.css({opacity:0.25,display:"block",position:"relative",height:C.height,width:C.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof F.ghost=="string"?F.ghost:"");B.ghost.appendTo(B.helper)},resize:function(D,C){var E=C.options,B=A(this).data("resizable"),F=E.proportionallyResize;if(B.ghost){B.ghost.css({position:"relative",height:B.size.height,width:B.size.width})}},stop:function(D,C){var E=C.options,B=A(this).data("resizable"),F=E.proportionallyResize;if(B.ghost&&B.helper){B.helper.get(0).removeChild(B.ghost.get(0))}}});A.ui.plugin.add("resizable","alsoResize",{start:function(E,C){var F=C.options,B=A(this).data("resizable"),D=function(G){A(G).each(function(){A(this).data("resizable-alsoresize",{width:parseInt(A(this).width(),10),height:parseInt(A(this).height(),10),left:parseInt(A(this).css("left"),10),top:parseInt(A(this).css("top"),10)})})};if(typeof (F.alsoResize)=="object"){if(F.alsoResize.length){F.alsoResize=F.alsoResize[0];D(F.alsoResize)}else{A.each(F.alsoResize,function(G,H){D(G)})}}else{D(F.alsoResize)}},resize:function(F,E){var G=E.options,C=A(this).data("resizable"),D=C.originalSize,I=C.originalPosition;var H={height:(C.size.height-D.height)||0,width:(C.size.width-D.width)||0,top:(C.position.top-I.top)||0,left:(C.position.left-I.left)||0},B=function(J,K){A(J).each(function(){var N=A(this).data("resizable-alsoresize"),M={},L=K&&K.length?K:["width","height","top","left"];A.each(L||["width","height","top","left"],function(O,Q){var P=(N[Q]||0)+(H[Q]||0);if(P&&P>=0){M[Q]=P||null}});A(this).css(M)})};if(typeof (G.alsoResize)=="object"){A.each(G.alsoResize,function(J,K){B(J,K)})}else{B(G.alsoResize)}},stop:function(C,B){A(this).removeData("resizable-alsoresize-start")}})})(jQuery) \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/minified/ui.selectable.min.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/minified/Attic/ui.selectable.min.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/minified/ui.selectable.min.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1 @@ +(function(A){A.widget("ui.selectable",A.extend({},A.ui.mouse,{_init:function(){var B=this;this.element.addClass("ui-selectable");this.dragged=false;var C;this.refresh=function(){C=A(B.options.filter,B.element[0]);C.each(function(){var D=A(this);var E=D.offset();A.data(this,"selectable-item",{element:this,$element:D,left:E.left,top:E.top,right:E.left+D.width(),bottom:E.top+D.height(),startselected:false,selected:D.hasClass("ui-selected"),selecting:D.hasClass("ui-selecting"),unselecting:D.hasClass("ui-unselecting")})})};this.refresh();this.selectees=C.addClass("ui-selectee");this._mouseInit();this.helper=A(document.createElement("div")).css({border:"1px dotted black"}).addClass("ui-selectable-helper")},toggle:function(){if(this.options.disabled){this.enable()}else{this.disable()}},destroy:function(){this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy()},_mouseStart:function(E){var C=this;this.opos=[E.pageX,E.pageY];if(this.options.disabled){return }var D=this.options;this.selectees=A(D.filter,this.element[0]);this.element.triggerHandler("selectablestart",[E,{"selectable":this.element[0],"options":D}],D.start);A("body").append(this.helper);this.helper.css({"z-index":100,"position":"absolute","left":E.clientX,"top":E.clientY,"width":0,"height":0});if(D.autoRefresh){this.refresh()}this.selectees.filter(".ui-selected").each(function(){var F=A.data(this,"selectable-item");F.startselected=true;if(!E.metaKey){F.$element.removeClass("ui-selected");F.selected=false;F.$element.addClass("ui-unselecting");F.unselecting=true;C.element.triggerHandler("selectableunselecting",[E,{selectable:C.element[0],unselecting:F.element,options:D}],D.unselecting)}});var B=false;A(E.target).parents().andSelf().each(function(){if(A.data(this,"selectable-item")){B=true}});return this.options.keyboard?!B:true},_mouseDrag:function(I){var C=this;this.dragged=true;if(this.options.disabled){return }var E=this.options;var D=this.opos[0],H=this.opos[1],B=I.pageX,G=I.pageY;if(D>B){var F=B;B=D;D=F}if(H>G){var F=G;G=H;H=F}this.helper.css({left:D,top:H,width:B-D,height:G-H});this.selectees.each(function(){var J=A.data(this,"selectable-item");if(!J||J.element==C.element[0]){return }var K=false;if(E.tolerance=="touch"){K=(!(J.left>B||J.rightG||J.bottomD&&J.rightH&&J.bottom").addClass("ui-slider-handle").appendTo(B.element);if(this.id){D.attr("id",this.id)}return D[0]})}var C=function(D){this.element=A(D);this.element.data("mouse",this);this.options=B.options;this.element.bind("mousedown",function(){if(B.currentHandle){this.blur(B.currentHandle)}B._focus(this,true)});this._mouseInit()};A.extend(C.prototype,A.ui.mouse,{_mouseStart:function(D){return B._start.call(B,D,this.element[0])},_mouseStop:function(D){return B._stop.call(B,D,this.element[0])},_mouseDrag:function(D){return B._drag.call(B,D,this.element[0])},_mouseCapture:function(){return true},trigger:function(D){this._mouseDown(D)}});A(this.handle).each(function(){new C(this)}).wrap('').parent().bind("click",function(){return false}).bind("focus",function(D){B._focus(this.firstChild)}).bind("blur",function(D){B._blur(this.firstChild)}).bind("keydown",function(D){if(!B.options.noKeyboard){return B._keydown(D.keyCode,this.firstChild)}});this.element.bind("mousedown.slider",function(D){B._click.apply(B,[D]);B.currentHandle.data("mouse").trigger(D);B.firstValue=B.firstValue+1});A.each(this.options.handles||[],function(D,E){B.moveTo(E.start,D,true)});if(!isNaN(this.options.startValue)){this.moveTo(this.options.startValue,0,true)}this.previousHandle=A(this.handle[0]);if(this.handle.length==2&&this.options.range){this._createRange()}},_initBoundaries:function(){var B=this.element[0],C=this.options;this.actualSize={width:this.element.outerWidth(),height:this.element.outerHeight()};A.extend(C,{axis:C.axis||(B.offsetWidth
    ").addClass("ui-slider-range").css({position:"absolute"}).appendTo(this.element);this._updateRange()},_removeRange:function(){this.rangeElement.remove();this.rangeElement=null},_updateRange:function(){var C=this.options.axis=="vertical"?"top":"left";var B=this.options.axis=="vertical"?"height":"width";this.rangeElement.css(C,(parseInt(A(this.handle[0]).css(C),10)||0)+this._handleSize(0,this.options.axis=="vertical"?"y":"x")/2);this.rangeElement.css(B,(parseInt(A(this.handle[1]).css(C),10)||0)-(parseInt(A(this.handle[0]).css(C),10)||0))},_getRange:function(){return this.rangeElement?this._convertValue(parseInt(this.rangeElement.css(this.options.axis=="vertical"?"height":"width"),10),this.options.axis=="vertical"?"y":"x"):null},_handleIndex:function(){return this.handle.index(this.currentHandle[0])},value:function(D,B){if(this.handle.length==1){this.currentHandle=this.handle}if(!B){B=this.options.axis=="vertical"?"y":"x"}var C=A(D!=undefined&&D!==null?this.handle[D]||D:this.currentHandle);if(C.data("mouse").sliderValue){return parseInt(C.data("mouse").sliderValue[B],10)}else{return parseInt(((parseInt(C.css(B=="x"?"left":"top"),10)/(this.actualSize[B=="x"?"width":"height"]-this._handleSize(D,B)))*this.options.realMax[B])+this.options.min[B],10)}},_convertValue:function(C,B){return this.options.min[B]+(C/(this.actualSize[B=="x"?"width":"height"]-this._handleSize(null,B)))*this.options.realMax[B]},_translateValue:function(C,B){return((C-this.options.min[B])/this.options.realMax[B])*(this.actualSize[B=="x"?"width":"height"]-this._handleSize(null,B))},_translateRange:function(D,B){if(this.rangeElement){if(this.currentHandle[0]==this.handle[0]&&D>=this._translateValue(this.value(1),B)){D=this._translateValue(this.value(1,B)-this._oneStep(B),B)}if(this.currentHandle[0]==this.handle[1]&&D<=this._translateValue(this.value(0),B)){D=this._translateValue(this.value(0,B)+this._oneStep(B),B)}}if(this.options.handles){var C=this.options.handles[this._handleIndex()];if(Dthis._translateValue(C.max,B)){D=this._translateValue(C.max,B)}}}return D},_translateLimits:function(C,B){if(C>=this.actualSize[B=="x"?"width":"height"]-this._handleSize(null,B)){C=this.actualSize[B=="x"?"width":"height"]-this._handleSize(null,B)}if(C<=0){C=0}return C},_handleSize:function(C,B){return A(C!=undefined&&C!==null?this.handle[C]:this.currentHandle)[0]["offset"+(B=="x"?"Width":"Height")]},_oneStep:function(B){return this.options.stepping[B]||1},_pageStep:function(B){return 10},_start:function(C,B){var D=this.options;if(D.disabled){return false}this.actualSize={width:this.element.outerWidth(),height:this.element.outerHeight()};if(!this.currentHandle){this._focus(this.previousHandle,true)}this.offset=this.element.offset();this.handleOffset=this.currentHandle.offset();this.clickOffset={top:C.pageY-this.handleOffset.top,left:C.pageX-this.handleOffset.left};this.firstValue=this.value();this._propagate("start",C);this._drag(C,B);return true},_stop:function(B){this._propagate("stop",B);if(this.firstValue!=this.value()){this._propagate("change",B)}this._focus(this.currentHandle,true);return false},_drag:function(E,D){var F=this.options;var B={top:E.pageY-this.offset.top-this.clickOffset.top,left:E.pageX-this.offset.left-this.clickOffset.left};if(!this.currentHandle){this._focus(this.previousHandle,true)}B.left=this._translateLimits(B.left,"x");B.top=this._translateLimits(B.top,"y");if(F.stepping.x){var C=this._convertValue(B.left,"x");C=Math.round(C/F.stepping.x)*F.stepping.x;B.left=this._translateValue(C,"x")}if(F.stepping.y){var C=this._convertValue(B.top,"y");C=Math.round(C/F.stepping.y)*F.stepping.y;B.top=this._translateValue(C,"y")}B.left=this._translateRange(B.left,"x");B.top=this._translateRange(B.top,"y");if(F.axis!="vertical"){this.currentHandle.css({left:B.left})}if(F.axis!="horizontal"){this.currentHandle.css({top:B.top})}this.currentHandle.data("mouse").sliderValue={x:Math.round(this._convertValue(B.left,"x"))||0,y:Math.round(this._convertValue(B.top,"y"))||0};if(this.rangeElement){this._updateRange()}this._propagate("slide",E);return false},moveTo:function(F,E,G){var H=this.options;this.actualSize={width:this.element.outerWidth(),height:this.element.outerHeight()};if(E==undefined&&!this.currentHandle&&this.handle.length!=1){return false}if(E==undefined&&!this.currentHandle){E=0}if(E!=undefined){this.currentHandle=this.previousHandle=A(this.handle[E]||E)}if(F.x!==undefined&&F.y!==undefined){var B=F.x,I=F.y}else{var B=F,I=F}if(B!==undefined&&B.constructor!=Number){var D=/^\-\=/.test(B),C=/^\+\=/.test(B);if(D||C){B=this.value(null,"x")+parseInt(B.replace(D?"=":"+=",""),10)}else{B=isNaN(parseInt(B,10))?undefined:parseInt(B,10)}}if(I!==undefined&&I.constructor!=Number){var D=/^\-\=/.test(I),C=/^\+\=/.test(I);if(D||C){I=this.value(null,"y")+parseInt(I.replace(D?"=":"+=",""),10)}else{I=isNaN(parseInt(I,10))?undefined:parseInt(I,10)}}if(H.axis!="vertical"&&B!==undefined){if(H.stepping.x){B=Math.round(B/H.stepping.x)*H.stepping.x}B=this._translateValue(B,"x");B=this._translateLimits(B,"x");B=this._translateRange(B,"x");H.animate?this.currentHandle.stop().animate({left:B},(Math.abs(parseInt(this.currentHandle.css("left"))-B))*(!isNaN(parseInt(H.animate))?H.animate:5)):this.currentHandle.css({left:B})}if(H.axis!="horizontal"&&I!==undefined){if(H.stepping.y){I=Math.round(I/H.stepping.y)*H.stepping.y}I=this._translateValue(I,"y");I=this._translateLimits(I,"y");I=this._translateRange(I,"y");H.animate?this.currentHandle.stop().animate({top:I},(Math.abs(parseInt(this.currentHandle.css("top"))-I))*(!isNaN(parseInt(H.animate))?H.animate:5)):this.currentHandle.css({top:I})}if(this.rangeElement){this._updateRange()}this.currentHandle.data("mouse").sliderValue={x:Math.round(this._convertValue(B,"x"))||0,y:Math.round(this._convertValue(I,"y"))||0};if(!G){this._propagate("start",null);this._propagate("stop",null);this._propagate("change",null);this._propagate("slide",null)}}});A.ui.slider.getter="value";A.ui.slider.defaults={handle:".ui-slider-handle",distance:1,animate:false}})(jQuery) \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/minified/ui.sortable.min.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/minified/Attic/ui.sortable.min.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/minified/ui.sortable.min.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1 @@ +(function(B){function A(E,D){var C=B.browser.safari&&B.browser.version<522;if(E.contains&&!C){return E.contains(D)}if(E.compareDocumentPosition){return !!(E.compareDocumentPosition(D)&16)}while(D=D.parentNode){if(D==E){return true}}return false}B.widget("ui.sortable",B.extend({},B.ui.mouse,{_init:function(){var C=this.options;this.containerCache={};this.element.addClass("ui-sortable");this.refresh();this.floating=this.items.length?(/left|right/).test(this.items[0].item.css("float")):false;this.offset=this.element.offset();this._mouseInit()},plugins:{},ui:function(C){return{helper:(C||this)["helper"],placeholder:(C||this)["placeholder"]||B([]),position:(C||this)["position"],absolutePosition:(C||this)["positionAbs"],options:this.options,element:this.element,item:(C||this)["currentItem"],sender:C?C.element:null}},_propagate:function(F,E,C,D){B.ui.plugin.call(this,F,[E,this.ui(C)]);if(!D){this.element.triggerHandler(F=="sort"?F:"sort"+F,[E,this.ui(C)],this.options[F])}},serialize:function(E){var C=this._getItemsAsjQuery(E&&E.connected);var D=[];E=E||{};B(C).each(function(){var F=(B(this.item||this).attr(E.attribute||"id")||"").match(E.expression||(/(.+)[-=_](.+)/));if(F){D.push((E.key||F[1]+"[]")+"="+(E.key&&E.expression?F[1]:F[2]))}});return D.join("&")},toArray:function(E){var C=this._getItemsAsjQuery(E&&E.connected);var D=[];C.each(function(){D.push(B(this).attr(E.attr||"id"))});return D},_intersectsWith:function(L){var E=this.positionAbs.left,D=E+this.helperProportions.width,K=this.positionAbs.top,J=K+this.helperProportions.height;var F=L.left,C=F+L.width,M=L.top,I=M+L.height;var N=this.offset.click.top,H=this.offset.click.left;var G=(K+N)>M&&(K+N)F&&(E+H)L[this.floating?"width":"height"])){return G}else{return(FO&&(L+P)F&&(E+H)N[this.floating?"width":"height"])){if(!G){return false}if(this.floating){if((E+H)>F&&(E+H)F+N.width/2&&(E+H)O+M/2){return 1}}}}else{if(!(FF&&EC){return 1}}else{if(J>O&&LI){return 2}}}return false},refresh:function(){this._refreshItems();this.refreshPositions()},_getItemsAsjQuery:function(H){var D=this;var C=[];var F=[];if(this.options.connectWith&&H){for(var G=this.options.connectWith.length-1;G>=0;G--){var J=B(this.options.connectWith[G]);for(var E=J.length-1;E>=0;E--){var I=B.data(J[E],"sortable");if(I&&I!=this&&!I.options.disabled){F.push([B.isFunction(I.options.items)?I.options.items.call(I.element):B(I.options.items,I.element).not(".ui-sortable-helper"),I])}}}}F.push([B.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):B(this.options.items,this.element).not(".ui-sortable-helper"),this]);for(var G=F.length-1;G>=0;G--){F[G][0].each(function(){C.push(this)})}return B(C)},_removeCurrentsFromItems:function(){var E=this.currentItem.find(":data(sortable-item)");for(var D=0;D=0;G--){var I=B(this.options.connectWith[G]);for(var E=I.length-1;E>=0;E--){var H=B.data(I[E],"sortable");if(H&&H!=this&&!H.options.disabled){F.push([B.isFunction(H.options.items)?H.options.items.call(H.element):B(H.options.items,H.element),H]);this.containers.push(H)}}}}for(var G=F.length-1;G>=0;G--){F[G][0].each(function(){B.data(this,"sortable-item",F[G][1]);D.push({item:B(this),instance:F[G][1],width:0,height:0,left:0,top:0})})}},refreshPositions:function(D){if(this.offsetParent){var C=this.offsetParent.offset();this.offset.parent={top:C.top+this.offsetParentBorders.top,left:C.left+this.offsetParentBorders.left}}for(var F=this.items.length-1;F>=0;F--){if(this.items[F].instance!=this.currentContainer&&this.currentContainer&&this.items[F].item[0]!=this.currentItem[0]){continue}var E=this.options.toleranceElement?B(this.options.toleranceElement,this.items[F].item):this.items[F].item;if(!D){this.items[F].width=E[0].offsetWidth;this.items[F].height=E[0].offsetHeight}var G=E.offset();this.items[F].left=G.left;this.items[F].top=G.top}if(this.options.custom&&this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this)}else{for(var F=this.containers.length-1;F>=0;F--){var G=this.containers[F].element.offset();this.containers[F].containerCache.left=G.left;this.containers[F].containerCache.top=G.top;this.containers[F].containerCache.width=this.containers[F].element.outerWidth();this.containers[F].containerCache.height=this.containers[F].element.outerHeight()}}},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var C=this.items.length-1;C>=0;C--){this.items[C].item.removeData("sortable-item")}},_createPlaceholder:function(E){var C=E||this,F=C.options;if(!F.placeholder||F.placeholder.constructor==String){var D=F.placeholder;F.placeholder={element:function(){var G=B(document.createElement(C.currentItem[0].nodeName)).addClass(D||"ui-sortable-placeholder")[0];if(!D){G.style.visibility="hidden";document.body.appendChild(G);G.innerHTML=C.currentItem[0].innerHTML;document.body.removeChild(G)}return G},update:function(G,H){if(D&&!F.forcePlaceholderSize){return }if(!H.height()){H.height(C.currentItem.innerHeight()-parseInt(C.currentItem.css("paddingTop")||0,10)-parseInt(C.currentItem.css("paddingBottom")||0,10))}if(!H.width()){H.width(C.currentItem.innerWidth()-parseInt(C.currentItem.css("paddingLeft")||0,10)-parseInt(C.currentItem.css("paddingRight")||0,10))}}}}C.placeholder=B(F.placeholder.element.call(C.element,C.currentItem));C.currentItem.parent()[0].appendChild(C.placeholder[0]);C.placeholder[0].parentNode.insertBefore(C.placeholder[0],C.currentItem[0]);F.placeholder.update(C,C.placeholder)},_contactContainers:function(F){for(var D=this.containers.length-1;D>=0;D--){if(this._intersectsWith(this.containers[D].containerCache)){if(!this.containers[D].containerCache.over){if(this.currentContainer!=this.containers[D]){var I=10000;var H=null;var E=this.positionAbs[this.containers[D].floating?"left":"top"];for(var C=this.items.length-1;C>=0;C--){if(!A(this.containers[D].element[0],this.items[C].item[0])){continue}var G=this.items[C][this.containers[D].floating?"left":"top"];if(Math.abs(G-E)=0;F--){this.containers[F]._propagate("activate",G,this)}}if(B.ui.ddmanager){B.ui.ddmanager.current=this}if(B.ui.ddmanager&&!C.dropBehaviour){B.ui.ddmanager.prepareOffsets(this,G)}this.dragging=true;this._mouseDrag(G);return true},_convertPositionTo:function(D,E){if(!E){E=this.position}var C=D=="absolute"?1:-1;return{top:(E.top+this.offset.parent.top*C-(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)*C+this.margins.top*C),left:(E.left+this.offset.parent.left*C-(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft)*C+this.margins.left*C)}},_generatePosition:function(F){var G=this.options;var C={top:(F.pageY-this.offset.click.top-this.offset.parent.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)),left:(F.pageX-this.offset.click.left-this.offset.parent.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft))};if(!this.originalPosition){return C}if(this.containment){if(C.leftthis.containment[2]){C.left=this.containment[2]}if(C.top>this.containment[3]){C.top=this.containment[3]}}if(G.grid){var E=this.originalPosition.top+Math.round((C.top-this.originalPosition.top)/G.grid[1])*G.grid[1];C.top=this.containment?(!(Ethis.containment[3])?E:(!(Ethis.containment[2])?D:(!(D=0;C--){var E=this._intersectsWithEdge(this.items[C]);if(!E){continue}if(this.items[C].item[0]!=this.currentItem[0]&&this.placeholder[E==1?"next":"prev"]()[0]!=this.items[C].item[0]&&!A(this.placeholder[0],this.items[C].item[0])&&(this.options.type=="semi-dynamic"?!A(this.element[0],this.items[C].item[0]):true)){this.updateOriginalPosition=this._generatePosition(D);this.direction=E==1?"down":"up";this.options.sortIndicator.call(this,D,this.items[C]);this._propagate("change",D);break}}this._contactContainers(D);if(B.ui.ddmanager){B.ui.ddmanager.drag(this,D)}this.element.triggerHandler("sort",[D,this.ui()],this.options["sort"]);return false},_rearrange:function(H,G,D,F){D?D[0].appendChild(this.placeholder[0]):G.item[0].parentNode.insertBefore(this.placeholder[0],(this.direction=="down"?G.item[0]:G.item[0].nextSibling));this.counter=this.counter?++this.counter:1;var E=this,C=this.counter;window.setTimeout(function(){if(C==E.counter){E.refreshPositions(!F)}},0)},_mouseStop:function(E,D){if(B.ui.ddmanager&&!this.options.dropBehaviour){B.ui.ddmanager.drop(this,E)}if(this.options.revert){var C=this;var F=C.placeholder.offset();B(this.helper).animate({left:F.left-this.offset.parent.left-C.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:F.top-this.offset.parent.top-C.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){C._clear(E)})}else{this._clear(E,D)}return false},_clear:function(E,D){if(!this._noFinalSort){this.placeholder.before(this.currentItem)}this._noFinalSort=null;if(this.options.helper=="original"){this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else{this.currentItem.show()}if(this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0]){this._propagate("update",E,null,D)}if(!A(this.element[0],this.currentItem[0])){this._propagate("remove",E,null,D);for(var C=this.containers.length-1;C>=0;C--){if(A(this.containers[C].element[0],this.currentItem[0])){this.containers[C]._propagate("update",E,this,D);this.containers[C]._propagate("receive",E,this,D)}}}for(var C=this.containers.length-1;C>=0;C--){this.containers[C]._propagate("deactivate",E,this,D);if(this.containers[C].containerCache.over){this.containers[C]._propagate("out",E,this);this.containers[C].containerCache.over=0}}this.dragging=false;if(this.cancelHelperRemoval){this._propagate("beforeStop",E,null,D);this._propagate("stop",E,null,D);return false}this._propagate("beforeStop",E,null,D);this.placeholder.remove();if(this.options.helper!="original"){this.helper.remove()}this.helper=null;this._propagate("stop",E,null,D);return true}}));B.extend(B.ui.sortable,{getter:"serialize toArray",defaults:{helper:"original",tolerance:"guess",distance:1,delay:0,scroll:true,scrollSensitivity:20,scrollSpeed:20,cancel:":input",items:"> *",zIndex:1000,dropOnEmpty:true,appendTo:"parent",sortIndicator:B.ui.sortable.prototype._rearrange,scope:"default",forcePlaceholderSize:false}});B.ui.plugin.add("sortable","cursor",{start:function(E,D){var C=B("body");if(C.css("cursor")){D.options._cursor=C.css("cursor")}C.css("cursor",D.options.cursor)},beforeStop:function(D,C){if(C.options._cursor){B("body").css("cursor",C.options._cursor)}}});B.ui.plugin.add("sortable","zIndex",{start:function(E,D){var C=D.helper;if(C.css("zIndex")){D.options._zIndex=C.css("zIndex")}C.css("zIndex",D.options.zIndex)},beforeStop:function(D,C){if(C.options._zIndex){B(C.helper).css("zIndex",C.options._zIndex)}}});B.ui.plugin.add("sortable","opacity",{start:function(E,D){var C=D.helper;if(C.css("opacity")){D.options._opacity=C.css("opacity")}C.css("opacity",D.options.opacity)},beforeStop:function(D,C){if(C.options._opacity){B(C.helper).css("opacity",C.options._opacity)}}});B.ui.plugin.add("sortable","scroll",{start:function(E,D){var F=D.options;var C=B(this).data("sortable");C.overflowY=function(G){do{if(/auto|scroll/.test(G.css("overflow"))||(/auto|scroll/).test(G.css("overflow-y"))){return G}G=G.parent()}while(G[0].parentNode);return B(document)}(C.currentItem);C.overflowX=function(G){do{if(/auto|scroll/.test(G.css("overflow"))||(/auto|scroll/).test(G.css("overflow-x"))){return G}G=G.parent()}while(G[0].parentNode);return B(document)}(C.currentItem);if(C.overflowY[0]!=document&&C.overflowY[0].tagName!="HTML"){C.overflowYOffset=C.overflowY.offset()}if(C.overflowX[0]!=document&&C.overflowX[0].tagName!="HTML"){C.overflowXOffset=C.overflowX.offset()}},sort:function(E,D){var F=D.options;var C=B(this).data("sortable");if(C.overflowY[0]!=document&&C.overflowY[0].tagName!="HTML"){if((C.overflowYOffset.top+C.overflowY[0].offsetHeight)-E.pageY").parent().addClass("ui-spinner").append('').find(".ui-spinner-up").bind("mousedown",function(D){A(this).addClass("ui-spinner-pressed");if(!B.counter){B.counter=1}B._mousedown(100,"_up",D)}).bind("mouseup",function(D){A(this).removeClass("ui-spinner-pressed");if(B.counter==1){B._up(D)}B._mouseup(D)}).bind("mouseout",function(D){A(this).removeClass("ui-spinner-pressed");B._mouseup(D)}).bind("dblclick",function(D){A(this).removeClass("ui-spinner-pressed");B._up(D)}).bind("keydown.spinner",function(E){var D=A.keyCode;if(E.keyCode==D.SPACE||E.keyCode==D.ENTER){A(this).addClass("ui-spinner-pressed");if(!B.counter){B.counter=1}B._up.call(B,E)}else{if(E.keyCode==D.DOWN||E.keyCode==D.RIGHT){B.element.siblings(".ui-spinner-down").focus()}else{if(E.keyCode==D.LEFT){B.element.focus()}}}}).bind("keyup.spinner",function(D){A(this).removeClass("ui-spinner-pressed");B.counter=0;B._propagate("change",D)}).end().append('').find(".ui-spinner-down").bind("mousedown",function(D){A(this).addClass("ui-spinner-pressed");if(!B.counter){B.counter=1}B._mousedown(100,"_down",D)}).bind("mouseup",function(D){A(this).removeClass("ui-spinner-pressed");if(B.counter==1){B._down()}B._mouseup(D)}).bind("mouseout",function(D){A(this).removeClass("ui-spinner-pressed");B._mouseup(D)}).bind("dblclick",function(D){A(this).removeClass("ui-spinner-pressed");B._down(D)}).bind("keydown.spinner",function(E){var D=A.keyCode;if(E.keyCode==D.SPACE||E.keyCode==D.ENTER){A(this).addClass("ui-spinner-pressed");if(!B.counter){B.counter=1}B._down.call(B,E)}else{if(E.keyCode==D.UP||E.keyCode==D.LEFT){B.element.siblings(".ui-spinner-up").focus()}}}).bind("keyup.spinner",function(D){A(this).removeClass("ui-spinner-pressed");B.counter=0;B._propagate("change",D)}).end();this._items=this.element.children().length;if(this._items>1){this.element.addClass("ui-spinner-list").css("height",this.element.outerHeight()/this._items).children().addClass("ui-spinner-listitem").end().parent().css("height",this.element.outerHeight()).end();this.options.stepping=1;this.options.min=0;this.options.max=this._items-1}this.element.bind("keydown.spinner",function(D){if(!B.counter){B.counter=1}return B._keydown.call(B,D)}).bind("keyup.spinner",function(D){B.counter=0;B._propagate("change",D)}).bind("blur.spinner",function(D){B._cleanUp()});if(A.fn.mousewheel){this.element.mousewheel(function(D,E){B._mousewheel(D,E)})}},_constrain:function(){if(this.options.min!=undefined&&this._getValue()this.options.max){this._setValue(this.options.max)}},_cleanUp:function(){this._setValue(this._getValue());this._constrain()},_spin:function(C,B){if(this.disabled){return }if(isNaN(this._getValue())){this._setValue(this.options.start)}this._setValue(this._getValue()+(C=="up"?1:-1)*(this.options.incremental&&this.counter>100?(this.counter>200?100:10):1)*this.options.stepping);this._animate(C);this._constrain();if(this.counter){this.counter++}this._propagate("spin",B)},_down:function(B){this._spin("down",B);this._propagate("down",B)},_up:function(B){this._spin("up",B);this._propagate("up",B)},_mousedown:function(C,E,D){var B=this;C=C||100;if(this.timer){window.clearInterval(this.timer)}this.timer=window.setInterval(function(){B[E](D);if(B.counter>20){B._mousedown(20,E,D)}},C)},_mouseup:function(B){this.counter=0;if(this.timer){window.clearInterval(this.timer)}this.element[0].focus();this._propagate("change",B)},_keydown:function(C){var B=A.keyCode;if(C.keyCode==B.UP){this._up(C)}if(C.keyCode==B.DOWN){this._down(C)}if(C.keyCode==B.HOME){this._setValue(this.options.min||this.options.start)}if(C.keyCode==B.END&&this.options.max!=undefined){this._setValue(this.options.max)}return(C.keyCode==B.TAB||C.keyCode==B.BACKSPACE||C.keyCode==B.LEFT||C.keyCode==B.RIGHT||C.keyCode==B.PERIOD||C.keyCode==B.NUMPAD_DECIMAL||C.keyCode==B.NUMPAD_SUBTRACT||(C.keyCode>=96&&C.keyCode<=105)||(/[0-9\-\.]/).test(String.fromCharCode(C.keyCode)))?true:false},_mousewheel:function(B,C){C=(A.browser.opera?-C/Math.abs(C):C);C>0?this._up(B):this._down(B);B.preventDefault()},_getValue:function(){return parseFloat(this.element.val().replace(/[^0-9\-\.]/g,""))},_setValue:function(B){if(isNaN(B)){B=this.options.start}this.element.val(this.options.currency?A.ui.spinner.format.currency(B,this.options.currency):A.ui.spinner.format.number(B,this._decimals))},_animate:function(B){if(this.element.hasClass("ui-spinner-list")&&((B=="up"&&this._getValue()<=this.options.max)||(B=="down"&&this._getValue()>=this.options.min))){this.element.animate({marginTop:"-"+this._getValue()*this.element.outerHeight()},{duration:"fast",queue:false})}},_addItem:function(B){if(!this.element.is("input")){var C="div";if(this.element.is("ol")||this.element.is("ul")){C="li"}this.element.append("<"+C+' class="ui-spinner-dyn">'+B+"")}},plugins:{},ui:function(B){return{options:this.options,element:this.element,value:this._getValue(),add:this._addItem}},_propagate:function(C,B){A.ui.plugin.call(this,C,[B,this.ui()]);return this.element.triggerHandler(C=="spin"?C:"spin"+C,[B,this.ui()],this.options[C])},destroy:function(){if(!A.data(this.element[0],"spinner")){return }if(A.fn.mousewheel){this.element.unmousewheel()}this.element.removeClass("ui-spinner-box ui-spinner-list").removeAttr("disabled").removeAttr("autocomplete").removeData("spinner").unbind(".spinner").siblings().remove().end().children().removeClass("ui-spinner-listitem").remove(".ui-spinner-dyn").end().parent().removeClass("ui-spinner ui-spinner-disabled").before(this.element.clone()).remove().end()},enable:function(){this.element.removeAttr("disabled").siblings().removeAttr("disabled").parent().removeClass("ui-spinner-disabled");this.disabled=false},disable:function(){this.element.attr("disabled",true).siblings().attr("disabled",true).parent().addClass("ui-spinner-disabled");this.disabled=true}});A.extend(A.ui.spinner,{defaults:{stepping:1,start:0,incremental:true,currency:false},format:{number:function(B,C){return this.round(B,C)},currency:function(C,B){return(C!==Math.abs(C)?"-":"")+B+this.round(Math.abs(C),2)},round:function(B,D){var C=Math.round(parseFloat(B)*Math.pow(10,D))/Math.pow(10,D);if(D>0){C=C+((C.toString().indexOf(".")==-1)?".":"")+"0000000001";C=C.substr(0,C.indexOf(".")+1+D)}else{C=Math.round(C)}return C}}})})(jQuery) \ No newline at end of file Index: lams_central/web/includes/javascript/jquery-ui/ui/minified/ui.tabs.min.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/minified/Attic/ui.tabs.min.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/minified/ui.tabs.min.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1 @@ +(function(A){A.widget("ui.tabs",{_init:function(){this.options.event+=".tabs";this._tabify(true)},_setData:function(B,C){if((/^selected/).test(B)){this.select(C)}else{this.options[B]=C;this._tabify()}},length:function(){return this.$tabs.length},_tabId:function(B){return B.title&&B.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+A.data(B)},ui:function(C,B){return{options:this.options,tab:C,panel:B,index:this.$tabs.index(C)}},_tabify:function(O){this.$lis=A("li:has(a[href])",this.element);this.$tabs=this.$lis.map(function(){return A("a",this)[0]});this.$panels=A([]);var P=this,D=this.options;this.$tabs.each(function(R,Q){if(Q.hash&&Q.hash.replace("#","")){P.$panels=P.$panels.add(Q.hash)}else{if(A(Q).attr("href")!="#"){A.data(Q,"href.tabs",Q.href);A.data(Q,"load.tabs",Q.href);var T=P._tabId(Q);Q.href="#"+T;var S=A("#"+T);if(!S.length){S=A(D.panelTemplate).attr("id",T).addClass(D.panelClass).insertAfter(P.$panels[R-1]||P.element);S.data("destroy.tabs",true)}P.$panels=P.$panels.add(S)}else{D.disabled.push(R+1)}}});if(O){this.element.addClass(D.navClass);this.$panels.each(function(){var Q=A(this);Q.addClass(D.panelClass)});if(D.selected===undefined){if(location.hash){this.$tabs.each(function(S,Q){if(Q.hash==location.hash){D.selected=S;if(A.browser.msie||A.browser.opera){var R=A(location.hash),T=R.attr("id");R.attr("id","");setTimeout(function(){R.attr("id",T)},500)}scrollTo(0,0);return false}})}else{if(D.cookie){var J=parseInt(A.cookie("ui-tabs-"+A.data(P.element[0])),10);if(J&&P.$tabs[J]){D.selected=J}}else{if(P.$lis.filter("."+D.selectedClass).length){D.selected=P.$lis.index(P.$lis.filter("."+D.selectedClass)[0])}}}}D.selected=D.selected===null||D.selected!==undefined?D.selected:0;D.disabled=A.unique(D.disabled.concat(A.map(this.$lis.filter("."+D.disabledClass),function(R,Q){return P.$lis.index(R)}))).sort();if(A.inArray(D.selected,D.disabled)!=-1){D.disabled.splice(A.inArray(D.selected,D.disabled),1)}this.$panels.addClass(D.hideClass);this.$lis.removeClass(D.selectedClass);if(D.selected!==null){this.$panels.eq(D.selected).show().removeClass(D.hideClass);this.$lis.eq(D.selected).addClass(D.selectedClass);var K=function(){P._trigger("show",null,P.ui(P.$tabs[D.selected],P.$panels[D.selected]))};if(A.data(this.$tabs[D.selected],"load.tabs")){this.load(D.selected,K)}else{K()}}A(window).bind("unload",function(){P.$tabs.unbind(".tabs");P.$lis=P.$tabs=P.$panels=null})}else{D.selected=this.$lis.index(this.$lis.filter("."+D.selectedClass)[0])}if(D.cookie){A.cookie("ui-tabs-"+A.data(P.element[0]),D.selected,D.cookie)}for(var G=0,N;N=this.$lis[G];G++){A(N)[A.inArray(G,D.disabled)!=-1&&!A(N).hasClass(D.selectedClass)?"addClass":"removeClass"](D.disabledClass)}if(D.cache===false){this.$tabs.removeData("cache.tabs")}var C,I,B={"min-width":0,duration:1},E="normal";if(D.fx&&D.fx.constructor==Array){C=D.fx[0]||B,I=D.fx[1]||B}else{C=I=D.fx||B}var H={display:"",overflow:"",height:""};if(!A.browser.msie){H.opacity=""}function M(R,Q,S){Q.animate(C,C.duration||E,function(){Q.addClass(D.hideClass).css(H);if(A.browser.msie&&C.opacity){Q[0].style.filter=""}if(S){L(R,S,Q)}})}function L(R,S,Q){if(I===B){S.css("display","block")}S.animate(I,I.duration||E,function(){S.removeClass(D.hideClass).css(H);if(A.browser.msie&&I.opacity){S[0].style.filter=""}P._trigger("show",null,P.ui(R,S[0]))})}function F(R,T,Q,S){T.addClass(D.selectedClass).siblings().removeClass(D.selectedClass);M(R,Q,S)}this.$tabs.unbind(".tabs").bind(D.event,function(){var T=A(this).parents("li:eq(0)"),Q=P.$panels.filter(":visible"),S=A(this.hash);if((T.hasClass(D.selectedClass)&&!D.unselect)||T.hasClass(D.disabledClass)||A(this).hasClass(D.loadingClass)||P._trigger("select",null,P.ui(this,S[0]))===false){this.blur();return false}P.options.selected=P.$tabs.index(this);if(D.unselect){if(T.hasClass(D.selectedClass)){P.options.selected=null;T.removeClass(D.selectedClass);P.$panels.stop();M(this,Q);this.blur();return false}else{if(!Q.length){P.$panels.stop();var R=this;P.load(P.$tabs.index(this),function(){T.addClass(D.selectedClass).addClass(D.unselectClass);L(R,S)});this.blur();return false}}}if(D.cookie){A.cookie("ui-tabs-"+A.data(P.element[0]),P.options.selected,D.cookie)}P.$panels.stop();if(S.length){var R=this;P.load(P.$tabs.index(this),Q.length?function(){F(R,T,Q,S)}:function(){T.addClass(D.selectedClass);L(R,S)})}else{throw"jQuery UI Tabs: Mismatching fragment identifier."}if(A.browser.msie){this.blur()}return false});if(!(/^click/).test(D.event)){this.$tabs.bind("click.tabs",function(){return false})}},add:function(E,D,C){if(C==undefined){C=this.$tabs.length}var G=this.options;var I=A(G.tabTemplate.replace(/#\{href\}/g,E).replace(/#\{label\}/g,D));I.data("destroy.tabs",true);var H=E.indexOf("#")==0?E.replace("#",""):this._tabId(A("a:first-child",I)[0]);var F=A("#"+H);if(!F.length){F=A(G.panelTemplate).attr("id",H).addClass(G.hideClass).data("destroy.tabs",true)}F.addClass(G.panelClass);if(C>=this.$lis.length){I.appendTo(this.element);F.appendTo(this.element[0].parentNode)}else{I.insertBefore(this.$lis[C]);F.insertBefore(this.$panels[C])}G.disabled=A.map(G.disabled,function(K,J){return K>=C?++K:K});this._tabify();if(this.$tabs.length==1){I.addClass(G.selectedClass);F.removeClass(G.hideClass);var B=A.data(this.$tabs[0],"load.tabs");if(B){this.load(C,B)}}this._trigger("add",null,this.ui(this.$tabs[C],this.$panels[C]))},remove:function(B){var D=this.options,E=this.$lis.eq(B).remove(),C=this.$panels.eq(B).remove();if(E.hasClass(D.selectedClass)&&this.$tabs.length>1){this.select(B+(B+1=B?--G:G});this._tabify();this._trigger("remove",null,this.ui(E.find("a")[0],C[0]))},enable:function(B){var C=this.options;if(A.inArray(B,C.disabled)==-1){return }var D=this.$lis.eq(B).removeClass(C.disabledClass);if(A.browser.safari){D.css("display","inline-block");setTimeout(function(){D.css("display","block")},0)}C.disabled=A.grep(C.disabled,function(F,E){return F!=B});this._trigger("enable",null,this.ui(this.$tabs[B],this.$panels[B]))},disable:function(C){var B=this,D=this.options;if(C!=D.selected){this.$lis.eq(C).addClass(D.disabledClass);D.disabled.push(C);D.disabled.sort();this._trigger("disable",null,this.ui(this.$tabs[C],this.$panels[C]))}},select:function(B){if(typeof B=="string"){B=this.$tabs.index(this.$tabs.filter("[href$="+B+"]")[0])}this.$tabs.eq(B).trigger(this.options.event)},load:function(G,K){var L=this,D=this.options,E=this.$tabs.eq(G),J=E[0],H=K==undefined||K===false,B=E.data("load.tabs");K=K||function(){};if(!B||!H&&A.data(J,"cache.tabs")){K();return }var M=function(N){var O=A(N),P=O.find("*:last");return P.length&&P.is(":not(img)")&&P||O};var C=function(){L.$tabs.filter("."+D.loadingClass).removeClass(D.loadingClass).each(function(){if(D.spinner){M(this).parent().html(M(this).data("label.tabs"))}});L.xhr=null};if(D.spinner){var I=M(J).html();M(J).wrapInner("").find("em").data("label.tabs",I).html(D.spinner)}var F=A.extend({},D.ajaxOptions,{url:B,success:function(O,N){A(J.hash).html(O);C();if(D.cache){A.data(J,"cache.tabs",true)}L._trigger("load",null,L.ui(L.$tabs[G],L.$panels[G]));D.ajaxOptions.success&&D.ajaxOptions.success(O,N);K()}});if(this.xhr){this.xhr.abort();C()}E.addClass(D.loadingClass);setTimeout(function(){L.xhr=A.ajax(F)},0)},url:function(C,B){this.$tabs.eq(C).removeData("cache.tabs").data("load.tabs",B)},destroy:function(){var B=this.options;this.element.unbind(".tabs").removeClass(B.navClass).removeData("tabs");this.$tabs.each(function(){var C=A.data(this,"href.tabs");if(C){this.href=C}var D=A(this).unbind(".tabs");A.each(["href","load","cache"],function(E,F){D.removeData(F+".tabs")})});this.$lis.add(this.$panels).each(function(){if(A.data(this,"destroy.tabs")){A(this).remove()}else{A(this).removeClass([B.selectedClass,B.unselectClass,B.disabledClass,B.panelClass,B.hideClass].join(" "))}})}});A.ui.tabs.defaults={unselect:false,event:"click",disabled:[],cookie:null,spinner:"Loading…",cache:false,idPrefix:"ui-tabs-",ajaxOptions:{},fx:null,tabTemplate:'
  • #{label}
  • ',panelTemplate:"
    ",navClass:"ui-tabs-nav",selectedClass:"ui-tabs-selected",unselectClass:"ui-tabs-unselect",disabledClass:"ui-tabs-disabled",panelClass:"ui-tabs-panel",hideClass:"ui-tabs-hide",loadingClass:"ui-tabs-loading"};A.ui.tabs.getter="length";A.extend(A.ui.tabs.prototype,{rotation:null,rotate:function(C,F){F=F||false;var B=this,E=this.options.selected;function G(){B.rotation=setInterval(function(){E=++E35?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}('(3(A){A.2.z=3(B){y d.x(3(){1 D=A(d),C=["w","v","u"];1 H=A.2.t(D,B.6.s||"5");1 G=B.6.r||"8";A.2.q(D,C);D.7();1 J=A.2.p(D).a({o:"n"});1 E=(G=="8")?"c":"b";1 I=(G=="8")?J.c():J.b();4(H=="7"){J.a(E,0)}1 F={};F[E]=H=="7"?I:0;J.m(F,B.l,B.6.k,3(){4(H=="5"){D.5()}A.2.j(D,C);A.2.i(D);4(B.9){B.9.h(D[0],g)}D.f()})})}})(e)',46,46,'|var|effects|function|if|hide|options|show|vertical|callback|css|width|height|this|jQuery|dequeue|arguments|apply|removeWrapper|restore|easing|duration|animate|hidden|overflow|createWrapper|save|direction|mode|setMode|left|top|position|queue|return|blind||||||||||'.split('|'),0,{})) + Index: lams_central/web/includes/javascript/jquery-ui/ui/packed/effects.bounce.packed.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/packed/Attic/effects.bounce.packed.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/packed/effects.bounce.packed.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,2 @@ +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}('(a(A){A.8.16=a(B){15 e.m(a(){4 E=A(e),K=["14","i","j"];4 J=A.8.13(E,B.6.12||"11");4 M=B.6.10||"k";4 C=B.6.u||Z;4 D=B.6.Y||5;4 G=B.X||W;7(/h|d/.V(J)){K.U("g")}A.8.T(E,K);E.h();A.8.S(E);4 F=(M=="k"||M=="R")?"i":"j";4 O=(M=="k"||M=="j")?"9":"Q";4 C=B.6.u||(F=="i"?E.P({t:s})/3:E.z({t:s})/3);7(J=="h"){E.r("g",0).r(F,O=="9"?-C:C)}7(J=="d"){C=C/(D*2)}7(J!="d"){D--}7(J=="h"){4 H={g:1};H[F]=(O=="9"?"+=":"-=")+C;E.c(H,G/2,B.6.b);C=C/2;D--}y(4 I=0;I35?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(A){A.3.Q=4(B){P l.i(4(){1 F=A(l),J=["6","k","j","e","d"];1 I=A.3.O(F,B.a.N||"9");1 K=B.a.M||"7";A.3.L(F,J);F.5();1 C=A.3.z(F).c({y:"x"});1 E=F[0].w=="v"?C:F;1 G={b:(K=="7")?"e":"d",6:(K=="7")?"k":"j"};1 D=(K=="7")?E.e():E.d();8(I=="5"){E.c(G.b,0);E.c(G.6,D/2)}1 H={};H[G.b]=I=="5"?D:0;H[G.6]=I=="5"?0:D/2;E.u(H,{i:t,h:B.h,g:B.a.g,s:4(){8(I=="9"){F.9()}A.3.r(F,J);A.3.q(F);8(B.f){B.f.p(F[0],o)}F.n()}})})}})(m)',53,53,'|var||effects|function|show|position|vertical|if|hide|options|size|css|width|height|callback|easing|duration|queue|left|top|this|jQuery|dequeue|arguments|apply|removeWrapper|restore|complete|false|animate|IMG|tagName|hidden|overflow|createWrapper||||||||||||save|direction|mode|setMode|return|clip'.split('|'),0,{})) + Index: lams_central/web/includes/javascript/jquery-ui/ui/packed/effects.core.packed.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/packed/Attic/effects.core.packed.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/packed/effects.core.packed.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,2 @@ +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}('(b(C){C.r=C.r||{};C.14(C.r,{52:b(F,G){1T(d E=0;E\');d I=F.1v();8(F.k("R")=="1R"){I.k({R:"1W"});F.k({R:"1W"})}m{d H=F.k("1e");8(1S(j(H))){H="2t"}d G=F.k("1f");8(1S(j(G))){G="2t"}I.k({R:F.k("R"),1e:H,1f:G,4J:F.k("z-4I")}).1c();F.k({R:"1W",1e:0,1f:0})}I.k(E);6 I},4H:b(E){8(E.1v().W("1V")=="1U"){6 E.1v().4G(E)}6 E},4F:b(F,G,E,H){H=H||{};C.1n(G,b(J,I){1u=F.2g(I);8(1u[0]>0){H[I]=1u[0]*E+1u[1]}});6 H},19:b(G,H,J,I){d E=(1d J=="b"?J:(I?I:U));d F=(1d J=="1P"?J:U);6 e.1n(b(){d O={};d M=C(e);d N=M.W("Q")||"";8(1d N=="1P"){N=N["1O"]}8(G.t){M.4E(G.t)?G.p=G.t:G.q=G.t}d K=C.14({},(1t.1s?1t.1s.2s(e,U):e.2r));8(G.q){M.1b(G.q)}8(G.p){M.1a(G.p)}d L=C.14({},(1t.1s?1t.1s.2s(e,U):e.2r));8(G.q){M.1a(G.q)}8(G.p){M.1b(G.p)}1T(d P 4D L){8(1d L[P]!="b"&&L[P]&&P.1H("4C")==-1&&P.1H("1m")==-1&&L[P]!=K[P]&&(P.1Q(/1G/i)||(!P.1Q(/1G/i)&&!1S(j(L[P],10))))&&(K.R!="1R"||(K.R=="1R"&&!P.1Q(/1f|1e|2q|2p/)))){O[P]=L[P]}}M.4B(O,H,F,b(){8(1d C(e).W("Q")=="1P"){C(e).W("Q")["1O"]="";C(e).W("Q")["1O"]=N}m{C(e).W("Q",N)}8(G.q){C(e).1b(G.q)}8(G.p){C(e).1a(G.p)}8(E){E.l(e,g)}})})}});C.V.14({2o:C.V.1c,2n:C.V.1r,2m:C.V.t,2l:C.V.1b,2k:C.V.1a,2i:C.V.2j,1q:b(E,G,F,H){6 C.r[E]?C.r[E].4A(e,{4z:E,4y:G||{},1p:F,1o:H}):U},1c:b(){8(!g[0]||(g[0].17==1N||/(1M|1L|1K)/.1J(g[0]))){6 e.2o.l(e,g)}m{d E=g[1]||{};E["1I"]="1c";6 e.1q.l(e,[g[0],E,g[2]||E.1p,g[3]||E.1o])}},1r:b(){8(!g[0]||(g[0].17==1N||/(1M|1L|1K)/.1J(g[0]))){6 e.2n.l(e,g)}m{d E=g[1]||{};E["1I"]="1r";6 e.1q.l(e,[g[0],E,g[2]||E.1p,g[3]||E.1o])}},t:b(){8(!g[0]||(g[0].17==1N||/(1M|1L|1K)/.1J(g[0]))||(g[0].17==4x)){6 e.2m.l(e,g)}m{d E=g[1]||{};E["1I"]="t";6 e.1q.l(e,[g[0],E,g[2]||E.1p,g[3]||E.1o])}},1b:b(F,E,H,G){6 E?C.r.19.l(e,[{q:F},E,H,G]):e.2l(F)},1a:b(F,E,H,G){6 E?C.r.19.l(e,[{p:F},E,H,G]):e.2k(F)},2j:b(F,E,H,G){6 E?C.r.19.l(e,[{t:F},E,H,G]):e.2i(F)},2h:b(E,G,F,I,H){6 C.r.19.l(e,[{q:G,p:E},F,I,H])},4w:b(){6 e.2h.l(e,g)},2g:b(E){d F=e.k(E),G=[];C.1n(["4v","4u","%","4t"],b(H,I){8(F.1H(I)>0){G=[1l(F),I]}});6 G}});h.1n(["2e","4s","4r","4q","4p","1G","4o"],b(F,E){h.4n.4m[E]=b(G){8(G.4l==0){G.T=D(G.2f,E);G.18=B(G.18)}G.2f.Q[E]="1C("+[c.1F(c.1E(j((G.1D*(G.18[0]-G.T[0]))+G.T[0]),f),0),c.1F(c.1E(j((G.1D*(G.18[1]-G.T[1]))+G.T[1]),f),0),c.1F(c.1E(j((G.1D*(G.18[2]-G.T[2]))+G.T[2]),f),0)].4k(",")+")"}});b B(F){d E;8(F&&F.17==4j&&F.1m==3){6 F}8(E=/1C\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/.15(F)){6[j(E[1]),j(E[2]),j(E[3])]}8(E=/1C\\(\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*\\)/.15(F)){6[1l(E[1])*2.1B,1l(E[2])*2.1B,1l(E[3])*2.1B]}8(E=/#([a-11-Z-9]{2})([a-11-Z-9]{2})([a-11-Z-9]{2})/.15(F)){6[j(E[1],16),j(E[2],16),j(E[3],16)]}8(E=/#([a-11-Z-9])([a-11-Z-9])([a-11-Z-9])/.15(F)){6[j(E[1]+E[1],16),j(E[2]+E[2],16),j(E[3]+E[3],16)]}8(E=/4i\\(0, 0, 0, 0\\)/.15(F)){6 A["1i"]}6 A[h.4h(F).4g()]}b D(G,E){d F;4f{F=h.4e(G,E);8(F!=""&&F!="1i"||h.4d(G,"4c")){S}E="2e"}4b(G=G.4a);6 B(F)}d A={49:[0,f,f],48:[2a,f,f],46:[2d,2d,45],44:[0,0,0],43:[0,0,f],41:[24,42,42],40:[0,f,f],3Z:[0,0,Y],3Y:[0,Y,Y],3X:[1A,1A,1A],3W:[0,2c,0],3V:[3U,3T,2b],3S:[Y,0,Y],3R:[3Q,2b,47],3P:[f,29,0],3O:[3N,50,3M],3L:[Y,0,0],3K:[3J,3I,3H],3G:[3F,0,1k],3E:[f,0,f],3D:[f,3C,0],3B:[0,o,0],3A:[v,0,3z],3y:[2a,28,29],3x:[3w,3v,28],3u:[26,f,f],3t:[27,3s,27],3r:[1k,1k,1k],3q:[f,3p,3o],3n:[f,f,26],3m:[0,f,0],3l:[f,0,f],3k:[o,0,0],3j:[0,0,o],3i:[o,o,0],3h:[f,24,0],3g:[f,1j,3f],3e:[o,0,o],3d:[o,0,o],3c:[f,0,0],3b:[1j,1j,1j],3a:[f,f,f],39:[f,f,0],1i:[f,f,f]};h.u["38"]=h.u["23"];h.14(h.u,{22:"21",23:b(F,G,E,I,H){6 h.u[h.u.22](F,G,E,I,H)},37:b(F,G,E,I,H){6 I*(G/=H)*G+E},21:b(F,G,E,I,H){6-I*(G/=H)*(G-2)+E},36:b(F,G,E,I,H){8((G/=H/2)<1){6 I/2*G*G+E}6-I/2*((--G)*(G-2)-1)+E},35:b(F,G,E,I,H){6 I*(G/=H)*G*G+E},34:b(F,G,E,I,H){6 I*((G=G/H-1)*G*G+1)+E},33:b(F,G,E,I,H){8((G/=H/2)<1){6 I/2*G*G*G+E}6 I/2*((G-=2)*G*G+2)+E},32:b(F,G,E,I,H){6 I*(G/=H)*G*G*G+E},31:b(F,G,E,I,H){6-I*((G=G/H-1)*G*G*G-1)+E},30:b(F,G,E,I,H){8((G/=H/2)<1){6 I/2*G*G*G*G+E}6-I/2*((G-=2)*G*G*G-2)+E},2Z:b(F,G,E,I,H){6 I*(G/=H)*G*G*G*G+E},2Y:b(F,G,E,I,H){6 I*((G=G/H-1)*G*G*G*G+1)+E},2X:b(F,G,E,I,H){8((G/=H/2)<1){6 I/2*G*G*G*G*G+E}6 I/2*((G-=2)*G*G*G*G+2)+E},2W:b(F,G,E,I,H){6-I*c.20(G/H*(c.n/2))+I+E},2V:b(F,G,E,I,H){6 I*c.13(G/H*(c.n/2))+E},2U:b(F,G,E,I,H){6-I/2*(c.20(c.n*G/H)-1)+E},2T:b(F,G,E,I,H){6(G==0)?E:I*c.w(2,10*(G/H-1))+E},2S:b(F,G,E,I,H){6(G==H)?E+I:I*(-c.w(2,-10*G/H)+1)+E},2R:b(F,G,E,I,H){8(G==0){6 E}8(G==H){6 E+I}8((G/=H/2)<1){6 I/2*c.w(2,10*(G-1))+E}6 I/2*(-c.w(2,-10*--G)+2)+E},2Q:b(F,G,E,I,H){6-I*(c.1h(1-(G/=H)*G)-1)+E},2P:b(F,G,E,I,H){6 I*c.1h(1-(G=G/H-1)*G)+E},2O:b(F,G,E,I,H){8((G/=H/2)<1){6-I/2*(c.1h(1-G*G)-1)+E}6 I/2*(c.1h(1-(G-=2)*G)+1)+E},2N:b(F,H,E,L,K){d I=1.X;d J=0;d G=L;8(H==0){6 E}8((H/=K)==1){6 E+L}8(!J){J=K*0.3}8(G35?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}('(5(A){A.4.S=5(B){R a.i(5(){3 E=A(a),D=["Q","e","9","d"];3 I=A.4.P(E,B.6.O||"c");3 H=B.6.N||"9";A.4.M(E,D);E.8();A.4.L(E);3 F=(H=="m"||H=="K")?"e":"9";3 C=(H=="m"||H=="9")?"7":"z";3 J=B.6.y||(F=="e"?E.x({l:k})/2:E.w({l:k})/2);b(I=="8"){E.j("d",0).j(F,C=="7"?-J:J)}3 G={d:I=="8"?1:0};G[F]=(I=="8"?(C=="7"?"+=":"-="):(C=="7"?"-=":"+="))+J;E.v(G,{i:u,h:B.h,g:B.6.g,t:5(){b(I=="c"){E.c()}A.4.s(E,D);A.4.r(E);b(B.f){B.f.q(a,p)}E.o()}})})}})(n)',55,55,'|||var|effects|function|options|pos|show|left|this|if|hide|opacity|top|callback|easing|duration|queue|css|true|margin|up|jQuery|dequeue|arguments|apply|removeWrapper|restore|complete|false|animate|outerWidth|outerHeight|distance|neg|||||||||||down|createWrapper|save|direction|mode|setMode|position|return|drop'.split('|'),0,{})) + Index: lams_central/web/includes/javascript/jquery-ui/ui/packed/effects.explode.packed.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/packed/Attic/effects.explode.packed.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/packed/effects.explode.packed.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,2 @@ +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}('(e(A){A.i.h=e(B){16 j.15(e(){8 I=B.4.g?7.x(7.w(B.4.g)):3;8 E=B.4.g?7.x(7.w(B.4.g)):3;B.4.5=B.4.5=="14"?(A(j).13(":c")?"n":"6"):B.4.5;8 H=A(j).6().9("d","p");8 J=H.12();J.a-=v(H.9("11"))||0;J.b-=v(H.9("10"))||0;8 G=H.Z(u);8 C=H.Y(u);t(8 F=0;F").9({r:"q",d:"c",b:-D*(G/E),a:-F*(C/I)}).T().S("i-h").9({r:"q",R:"p",Q:G/E,P:C/I,b:J.b+D*(G/E)+(B.4.5=="6"?(D-7.f(E/2))*(G/E):0),a:J.a+F*(C/I)+(B.4.5=="6"?(F-7.f(I/2))*(C/I):0),o:B.4.5=="6"?0:1}).O({b:J.b+D*(G/E)+(B.4.5=="6"?0:(D-7.f(E/2))*(G/E)),a:J.a+F*(C/I)+(B.4.5=="6"?0:(F-7.f(I/2))*(C/I)),o:B.4.5=="6"?1:0},B.l||k)}}N(e(){B.4.5=="6"?H.9({d:"c"}):H.9({d:"c"}).n();M(B.m){B.m.L(H[0])}H.K();A(".i-h").z()},B.l||k)})}})(y)',62,69,'||||options|mode|show|Math|var|css|top|left|visible|visibility|function|floor|pieces|explode|effects|this|500|duration|callback|hide|opacity|hidden|absolute|position|div|for|true|parseInt|sqrt|round|jQuery|remove|||||||||||dequeue|apply|if|setTimeout|animate|height|width|overflow|addClass|parent|wrap|body|appendTo|clone|outerHeight|outerWidth|marginLeft|marginTop|offset|is|toggle|queue|return'.split('|'),0,{})) + Index: lams_central/web/includes/javascript/jquery-ui/ui/packed/effects.fold.packed.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/packed/Attic/effects.fold.packed.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/packed/effects.fold.packed.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,2 @@ +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}('(c(A){A.4.U=c(B){T i.S(c(){3 E=A(i),J=["R","Q","P"];3 G=A.4.O(E,B.7.z||"b");3 N=B.7.y||x;3 M=!(!B.7.w);A.4.v(E,J);E.8();3 D=A.4.u(E).h({t:"s"});3 H=((G=="8")!=M);3 F=H?["5","6"]:["6","5"];3 C=H?[D.5(),D.6()]:[D.6(),D.5()];3 I=/([0-9]+)%/.r(N);a(I){N=q(I[1])/p*C[G=="b"?0:1]}a(G=="8"){D.h(M?{6:0,5:N}:{6:N,5:0})}3 L={},K={};L[F[0]]=G=="8"?C[0]:N;K[F[1]]=G=="8"?C[1]:0;D.g(L,B.f/2,B.7.e).g(K,B.f/2,B.7.e,c(){a(G=="b"){E.b()}A.4.o(E,J);A.4.n(E);a(B.d){B.d.m(E[0],l)}E.k()})})}})(j)',57,57,'|||var|effects|width|height|options|show||if|hide|function|callback|easing|duration|animate|css|this|jQuery|dequeue|arguments|apply|removeWrapper|restore|100|parseInt|exec|hidden|overflow|createWrapper|save|horizFirst|15|size|mode|||||||||||||||setMode|left|top|position|queue|return|fold'.split('|'),0,{})) + Index: lams_central/web/includes/javascript/jquery-ui/ui/packed/effects.highlight.packed.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/packed/Attic/effects.highlight.packed.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/packed/effects.highlight.packed.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,2 @@ +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}('(5(A){A.4.J=5(B){I 2.e(5(){1 E=A(2),D=["g","6","f"];1 H=A.4.z(E,B.9.y||"7");1 C=B.9.x||"#w";1 G=E.h("6");A.4.v(E,D);E.7();E.h({g:"u",6:C});1 F={6:G};3(H=="8"){F["f"]=0}E.t(F,{e:s,d:B.d,c:B.9.c,r:5(){3(H=="8"){E.8()}A.4.q(E,D);3(H=="7"&&a.p.o){2.n.m("l")}3(B.b){B.b.k(2,j)}E.i()}})})}})(a)',46,46,'|var|this|if|effects|function|backgroundColor|show|hide|options|jQuery|callback|easing|duration|queue|opacity|backgroundImage|css|dequeue|arguments|apply|filter|removeAttribute|style|msie|browser|restore|complete|false|animate|none|save|ffff99|color|mode|setMode|||||||||return|highlight'.split('|'),0,{})) + Index: lams_central/web/includes/javascript/jquery-ui/ui/packed/effects.pulsate.packed.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/packed/Attic/effects.pulsate.packed.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/packed/effects.pulsate.packed.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,2 @@ +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}('(7(A){A.n.z=7(B){y d.j(7(){f 3=A(d);f h=A.n.x(3,B.4.w||"m");f c=B.4.v||5;b(h=="g"){c--}b(3.u(":t")){3.s("6",0);3.m();3.a({6:1},B.9/2,B.4.8);c=c-2}r(f C=0;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}('(b(A){A.7.1y=b(B){U d.o(b(){5 F=A(d);5 C=A.13(s,{},B.9);5 H=A.7.T(F,B.9.k||"f");5 G=V(B.9.t)||1x;C.12=s;5 E={6:F.6(),4:F.4()};5 D=G/l;F.2=(H=="f")?E:{6:E.6*D,4:E.4*D};C.2=F.2;C.t=(H=="f")?G:l;C.k=H;F.j("S",C,B.h,B.m);F.u()})};A.7.S=b(B){U d.o(b(){5 G=A(d);5 D=A.13(s,{},B.9);5 J=A.7.T(G,B.9.k||"j");5 H=V(B.9.t)||(V(B.9.t)==0?0:(J=="f"?0:l));5 I=B.9.1w||"i";5 C=B.9.R;a(J!="j"){D.R=C||["1v","1u"];D.n=s}5 F={6:G.6(),4:G.4()};G.2=B.9.2||(J=="z"?{6:0,4:0}:F);5 E={y:I!="1t"?(H/l):1,x:I!="1s"?(H/l):1};G.3={6:F.6*E.y,4:F.4*E.x};a(B.9.12){a(J=="z"){G.2.g=0;G.3.g=1}a(J=="f"){G.2.g=1;G.3.g=0}}D.2=G.2;D.3=G.3;D.k=J;G.j("11",D,B.h,B.m);G.u()})};A.7.11=b(B){U d.o(b(){5 C=A(d),N=["10","r","q","4","6","p","g"];5 M=["10","r","q","p","g"];5 J=["4","6","p"];5 P=["1r"];5 K=["1q","1p","1o","1n"];5 F=["1m","1l","1k","1j"];5 G=A.7.T(C,B.9.k||"j");5 I=B.9.n||W;5 E=B.9.S||"i";5 O=B.9.R;5 D={6:C.6(),4:C.4()};C.2=B.9.2||D;C.3=B.9.3||D;a(O){5 H=A.7.1i(O,D);C.2.r=(D.6-C.2.6)*H.y;C.2.q=(D.4-C.2.4)*H.x;C.3.r=(D.6-C.3.6)*H.y;C.3.q=(D.4-C.3.4)*H.x}5 L={2:{y:C.2.6/D.6,x:C.2.4/D.4},3:{y:C.3.6/D.6,x:C.3.4/D.4}};a(E=="1h"||E=="i"){a(L.2.y!=L.3.y){N=N.e(K);C.2=A.7.c(C,K,L.2.y,C.2);C.3=A.7.c(C,K,L.3.y,C.3)}a(L.2.x!=L.3.x){N=N.e(F);C.2=A.7.c(C,F,L.2.x,C.2);C.3=A.7.c(C,F,L.3.x,C.3)}}a(E=="Z"||E=="i"){a(L.2.y!=L.3.y){N=N.e(P);C.2=A.7.c(C,P,L.2.y,C.2);C.3=A.7.c(C,P,L.3.y,C.3)}}A.7.Y(C,I?N:M);C.z();A.7.1g(C);C.w("p","1f").w(C.2);a(E=="Z"||E=="i"){K=K.e(["1e","1d"]).e(P);F=F.e(["1c","1b"]);J=N.e(K).e(F);C.1a("*[4]").19(b(){8=A(d);a(I){A.7.Y(8,J)}5 Q={6:8.6(),4:8.4()};8.2={6:Q.6*L.2.y,4:Q.4*L.2.x};8.3={6:Q.6*L.3.y,4:Q.4*L.3.x};a(L.2.y!=L.3.y){8.2=A.7.c(8,K,L.2.y,8.2);8.3=A.7.c(8,K,L.3.y,8.3)}a(L.2.x!=L.3.x){8.2=A.7.c(8,F,L.2.x,8.2);8.3=A.7.c(8,F,L.3.x,8.3)}8.w(8.2);8.X(8.3,B.h,B.9.v,b(){a(I){A.7.n(8,J)}})})}C.X(C.3,{o:W,h:B.h,v:B.9.v,18:b(){a(G=="f"){C.f()}A.7.n(C,I?N:M);A.7.17(C);a(B.m){B.m.16(d,15)}C.u()}})})}})(14)',62,97,'||from|to|width|var|height|effects|child|options|if|function|setTransition|this|concat|hide|opacity|duration|both|effect|mode|100|callback|restore|queue|overflow|left|top|true|percent|dequeue|easing|css|||show||||||||||||||||||origin|scale|setMode|return|parseInt|false|animate|save|content|position|size|fade|extend|jQuery|arguments|apply|removeWrapper|complete|each|find|marginRight|marginLeft|marginBottom|marginTop|hidden|createWrapper|box|getBaseline|paddingRight|paddingLeft|borderRightWidth|borderLeftWidth|paddingBottom|paddingTop|borderBottomWidth|borderTopWidth|fontSize|vertical|horizontal|center|middle|direction|150|puff'.split('|'),0,{})) + Index: lams_central/web/includes/javascript/jquery-ui/ui/packed/effects.shake.packed.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/packed/Attic/effects.shake.packed.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/packed/effects.shake.packed.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,2 @@ +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}('(6(A){A.5.U=6(B){T b.d(6(){4 E=A(b),K=["S","g","a"];4 J=A.5.R(E,B.0.Q||"P");4 M=B.0.z||"a";4 C=B.0.y||x;4 D=B.0.w||3;4 G=B.h||B.0.h||v;A.5.u(E,K);E.t();A.5.s(E);4 F=(M=="f"||M=="r")?"g":"a";4 O=(M=="f"||M=="a")?"9":"q";4 H={},N={},L={};H[F]=(O=="9"?"-=":"+=")+C;N[F]=(O=="9"?"+=":"-=")+C*2;L[F]=(O=="9"?"-=":"+=")+C*2;E.8(H,G,B.0.7);p(4 I=1;I35?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}('(2(A){A.1.Q=2(B){P 7.e(2(){0 E=A(7),D=["O","9","6"];0 I=A.1.N(E,B.3.M||"5");0 H=B.3.L||"6";A.1.K(E,D);E.5();A.1.z(E).f({y:"x"});0 F=(H=="i"||H=="w")?"9":"6";0 C=(H=="i"||H=="6")?"4":"v";0 J=B.3.u||(F=="9"?E.t({h:g}):E.s({h:g}));8(I=="5"){E.f(F,C=="4"?-J:J)}0 G={};G[F]=(I=="5"?(C=="4"?"+=":"-="):(C=="4"?"-=":"+="))+J;E.r(G,{e:q,d:B.d,c:B.3.c,p:2(){8(I=="b"){E.b()}A.1.o(E,D);A.1.n(E);8(B.a){B.a.m(7,l)}E.k()}})})}})(j)',53,53,'var|effects|function|options|pos|show|left|this|if|top|callback|hide|easing|duration|queue|css|true|margin|up|jQuery|dequeue|arguments|apply|removeWrapper|restore|complete|false|animate|outerWidth|outerHeight|distance|neg|down|hidden|overflow|createWrapper|||||||||||save|direction|mode|setMode|position|return|slide'.split('|'),0,{})) + Index: lams_central/web/includes/javascript/jquery-ui/ui/packed/effects.transfer.packed.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/packed/Attic/effects.transfer.packed.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/packed/effects.transfer.packed.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,2 @@ +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}('(5(A){A.9.o=5(B){R p.Q(5(){4 E=A(p);4 G=A.9.P(E,B.3.O||"N");4 F=A(B.3.M);4 C=E.l();4 D=A(\'\').J(I.H);b(B.3.8){D.m(B.3.8)}D.m(B.3.8);D.1({7:C.7,6:C.6,k:E.j()-2(D.1("i"))-2(D.1("h")),g:E.f()-2(D.1("e"))-2(D.1("d")),z:"y"});C=F.l();c={7:C.7,6:C.6,k:F.j()-2(D.1("i"))-2(D.1("h")),g:F.f()-2(D.1("e"))-2(D.1("d"))};D.x(c,B.w,B.3.v,5(){D.u();b(B.a){B.a.t(E[0],s)}E.r()})})}})(q)',54,54,'|css|parseInt|options|var|function|left|top|className|effects|callback|if|animation|borderRightWidth|borderLeftWidth|outerWidth|width|borderBottomWidth|borderTopWidth|outerHeight|height|offset|addClass|div|transfer|this|jQuery|dequeue|arguments|apply|remove|easing|duration|animate|absolute|position||||||||body|document|appendTo|ui|class|to|effect|mode|setMode|queue|return'.split('|'),0,{})) + Index: lams_central/web/includes/javascript/jquery-ui/ui/packed/jquery.ui.all.packed.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/packed/Attic/jquery.ui.all.packed.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/packed/jquery.ui.all.packed.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,2 @@ +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}('(u(D){p C=D.fn.2k;D.fn.2k=u(){D("*",k).2l(k).3v("2k");19 C.1J(k,1T)};u B(E){u G(H){p I=H.2R;19(I.4D!="64"&&I.ae!="3h")}p F=G(E);(F&&D.1D(D.qY(E,"3f"),u(){19(F=G(k))}));19 F}D.23(D.qX[":"],{1w:u(F,G,E){19 D.1w(F,E[3])},ej:u(F,G,E){p H=F.3l.4Y();19(F.hn>=0&&(("a"==H&&F.4C)||(/1z|51|bL|43/.1O(H)&&"3h"!=F.4k&&!F.1I))&&B(F))}});D.2w={c6:8,qW:20,fy:ju,qV:17,qU:46,aK:40,gR:35,dP:13,e5:27,gS:36,qT:45,c5:37,qS:fN,gP:qR,qQ:qP,qO:qN,qM:qL,gO:qK,qJ:34,qI:33,gQ:qH,dL:39,qG:16,dQ:32,aJ:9,aL:38};u A(H,I,J,G){u F(L){p K=D[H][I][L]||[];19(2B K=="4s"?K.6X(/,?\\s+/):K)}p E=F("aA");if(G.1t==1&&2B G[0]=="4s"){E=E.5V(F("kV"))}19(D.8M(J,E)!=-1)}D.3P=u(F,E){p G=F.6X(".")[0];F=F.6X(".")[1];D.fn[F]=u(K){p I=(2B K=="4s"),J=9z.5d.7s.1P(1T,1);if(I&&K.fk(0,1)=="9A"){19 k}if(I&&A(G,F,K,J)){p H=D.1w(k[0],F);19(H?H[K].1J(H,J):2f)}19 k.1D(u(){p L=D.1w(k,F);(!L&&!I&&D.1w(k,F,22 D[G][F](k,K)));(L&&I&&D.7V(L[K])&&L[K].1J(L,J))})};D[G][F]=u(J,I){p H=k;k.8K=F;k.gu=D[G][F].qF||F;k.kU=G+"-"+F;k.v=D.23({},D.3P.4g,D[G][F].4g,D.kW&&D.kW.4x(J)[F],I);k.1d=D(J).1M("cL."+F,u(M,K,L){19 H.5X(K,L)}).1M("fc."+F,u(L,K){19 H.gv(K)}).1M("2k",u(){19 H.3s()});k.52()};D[G][F].5d=D.23({},D.3P.5d,E);D[G][F].kV="91"};D.3P.5d={52:u(){},3s:u(){k.1d.4r(k.8K)},91:u(G,H){p F=G,E=k;if(2B G=="4s"){if(H===2f){19 k.gv(G)}F={};F[G]=H}D.1D(F,u(I,J){E.5X(I,J)})},gv:u(E){19 k.v[E]},5X:u(E,F){k.v[E]=F;if(E=="1I"){k.1d[F?"1x":"1G"](k.kU+"-1I")}},9y:u(){k.5X("1I",1h)},83:u(){k.5X("1I",1q)},4h:u(F,H,G){p E=(F==k.gu?F:k.gu+F);H=H||D.4B.qE({4k:E,1s:k.1d[0]});19 k.1d.3v(E,[H,G],k.v[F])}};D.3P.4g={1I:1h};D.1a={2Y:{2l:u(F,G,I){p H=D.1a[F].5d;1R(p E in I){H.6r[E]=H.6r[E]||[];H.6r[E].4n([G,I[E]])}},1P:u(E,G,F){p I=E.6r[G];if(!I){19}1R(p H=0;H\').1x(E).1e({1p:"2H",1c:"-kT",1b:"-kT",4D:"7m"}).31("1Z");D.1a.bU[E]=!!((!(/4b|4S/).1O(F.1e("30"))||(/^[1-9]/).1O(F.1e("1g"))||(/^[1-9]/).1O(F.1e("1f"))||!(/64/).1O(F.1e("fJ"))||!(/7O|jS\\(0, 0, 0, 0\\)/).1O(F.1e("7b"))));cA{D("1Z").4x(0).dm(F.4x(0))}cz(G){}19 D.1a.bU[E]},93:u(E){19 D(E).2Q("73","on").1e("kS","64").1M("kR.1a",u(){19 1h})},qC:u(E){19 D(E).2Q("73","dR").1e("kS","").2G("kR.1a")},bK:u(H,F){if(D(H).1e("2V")=="3h"){19 1h}p E=(F&&F=="1b")?"2D":"2q",G=1h;if(H[E]>0){19 1q}H[E]=1;G=(H[E]>0);H[E]=0;19 G}};D.1a.5r={9F:u(){p E=k;k.1d.1M("5f."+k.8K,u(F){19 E.dX(F)});if(D.2j.3Z){k.kQ=k.1d.2Q("73");k.1d.2Q("73","on")}k.qB=1h},9G:u(){k.1d.2G("."+k.8K);(D.2j.3Z&&k.1d.2Q("73",k.kQ))},dX:u(G){(k.7Y&&k.bT(G));k.dz=G;p F=k,H=(G.qA==1),E=(2B k.v.7B=="4s"?D(G.1s).5F().2l(G.1s).3D(k.v.7B).1t:1h);if(!H||E||!k.8U(G)){19 1q}k.dy=!k.v.6L;if(!k.dy){k.qz=5E(u(){F.dy=1q},k.v.6L)}if(k.gr(G)&&k.gq(G)){k.7Y=(k.7w(G)!==1h);if(!k.7Y){G.6T();19 1q}}k.gt=u(I){19 F.kP(I)};k.gs=u(I){19 F.bT(I)};D(1l).1M("6V."+k.8K,k.gt).1M("63."+k.8K,k.gs);19 1h},kP:u(E){if(D.2j.3Z&&!E.43){19 k.bT(E)}if(k.7Y){k.6t(E);19 1h}if(k.gr(E)&&k.gq(E)){k.7Y=(k.7w(k.dz,E)!==1h);(k.7Y?k.6t(E):k.bT(E))}19!k.7Y},bT:u(E){D(1l).2G("6V."+k.8K,k.gt).2G("63."+k.8K,k.gs);if(k.7Y){k.7Y=1h;k.7v(E)}19 1h},gr:u(E){19(1k.1H(1k.41(k.dz.3x-E.3x),1k.41(k.dz.3g-E.3g))>=k.v.3G)},gq:u(E){19 k.dy},7w:u(E){},6t:u(E){},7v:u(E){},8U:u(E){19 1q}};D.1a.5r.4g={7B:1n,3G:1,6L:0}})(1L);(u(A){A.3P("1a.2x",A.23({},A.1a.5r,{kO:u(C){p B=!k.v.29||!A(k.v.29,k.1d).1t?1q:1h;A(k.v.29,k.1d).2N("*").8z().1D(u(){if(k==C.1s){B=1q}});19 B},dk:u(){p C=k.v;p B=A.7V(C.1u)?A(C.1u.1J(k.1d[0],[e])):(C.1u=="86"?k.1d.86():k.1d);if(!B.5F("1Z").1t){B.31((C.31=="1B"?k.1d[0].3f:C.31))}if(B[0]!=k.1d[0]&&!(/(6H|2H)/).1O(B.1e("1p"))){B.1e("1p","2H")}19 B},52:u(){if(k.v.1u=="8D"&&!(/^(?:r|a|f)/).1O(k.1d.1e("1p"))){k.1d[0].2R.1p="2C"}(k.v.ay&&k.1d.1x(k.v.ay+"-2x"));(k.v.1I&&k.1d.1x("1a-2x-1I"));k.9F()},8U:u(B){p C=k.v;if(k.1u||C.1I||A(B.1s).is(".1a-1C-29")){19 1h}k.29=k.kO(B);if(!k.29){19 1h}19 1q},7w:u(D){p E=k.v;k.1u=k.dk();if(A.1a.3e){A.1a.3e.3S=k}k.3O={1b:(1m(k.1d.1e("9u"),10)||0),1c:(1m(k.1d.1e("87"),10)||0)};k.6o=k.1u.1e("1p");k.1i=k.1d.1i();k.1i={1c:k.1i.1c-k.3O.1c,1b:k.1i.1b-k.3O.1b};k.1i.2n={1b:D.3x-k.1i.1b,1c:D.3g-k.1i.1c};k.kN();k.3n=k.1u.3n();p B=k.3n.1i();if(k.3n[0]==1l.1Z&&A.2j.qy){B={1c:0,1b:0}}k.1i.1B={1c:B.1c+(1m(k.3n.1e("7d"),10)||0),1b:B.1b+(1m(k.3n.1e("7c"),10)||0)};if(k.6o=="2C"){p C=k.1d.1p();k.1i.2C={1c:C.1c-(1m(k.1u.1e("1c"),10)||0)+k.8J.2q(),1b:C.1b-(1m(k.1u.1e("1b"),10)||0)+k.8I.2D()}}1j{k.1i.2C={1c:0,1b:0}}k.3t=k.9v(D);k.gp();if(E.6O){k.kM(E.6O)}A.23(k,{go:(k.6o=="2H"&&(!k.8J[0].5c||(/(2y|1Z)/i).1O(k.8J[0].5c))),gm:(k.6o=="2H"&&(!k.8I[0].5c||(/(2y|1Z)/i).1O(k.8I[0].5c))),gn:k.8J[0]!=k.3n[0]&&!(k.8J[0]==1l&&(/(1Z|2y)/i).1O(k.3n[0].5c)),gl:k.8I[0]!=k.3n[0]&&!(k.8I[0]==1l&&(/(1Z|2y)/i).1O(k.3n[0].5c))});if(E.1U){k.kL()}k.26("2z",D);k.gp();if(A.1a.3e&&!E.di){A.1a.3e.bG(k,D)}k.1u.1x("1a-2x-ao");k.6t(D);19 1q},kN:u(){k.8J=u(B){do{if(/4b|4y/.1O(B.1e("2V"))||(/4b|4y/).1O(B.1e("2V-y"))){19 B}B=B.1B()}4X(B[0].3f);19 A(1l)}(k.1u);k.8I=u(B){do{if(/4b|4y/.1O(B.1e("2V"))||(/4b|4y/).1O(B.1e("2V-x"))){19 B}B=B.1B()}4X(B[0].3f);19 A(1l)}(k.1u)},kM:u(B){if(B.1b!=2f){k.1i.2n.1b=B.1b+k.3O.1b}if(B.3L!=2f){k.1i.2n.1b=k.2A.1f-B.3L+k.3O.1b}if(B.1c!=2f){k.1i.2n.1c=B.1c+k.3O.1c}if(B.49!=2f){k.1i.2n.1c=k.2A.1g-B.49+k.3O.1c}},gp:u(){k.2A={1f:k.1u.44(),1g:k.1u.3q()}},kL:u(){p E=k.v;if(E.1U=="1B"){E.1U=k.1u[0].3f}if(E.1U=="1l"||E.1U=="3p"){k.1U=[0-k.1i.2C.1b-k.1i.1B.1b,0-k.1i.2C.1c-k.1i.1B.1c,A(E.1U=="1l"?1l:3p).1f()-k.1i.2C.1b-k.1i.1B.1b-k.2A.1f-k.3O.1b-(1m(k.1d.1e("8A"),10)||0),(A(E.1U=="1l"?1l:3p).1g()||1l.1Z.3f.5s)-k.1i.2C.1c-k.1i.1B.1c-k.2A.1g-k.3O.1c-(1m(k.1d.1e("8B"),10)||0)]}if(!(/^(1l|3p|1B)$/).1O(E.1U)){p C=A(E.1U)[0];p D=A(E.1U).1i();p B=(A(C).1e("2V")!="3h");k.1U=[D.1b+(1m(A(C).1e("7c"),10)||0)-k.1i.2C.1b-k.1i.1B.1b,D.1c+(1m(A(C).1e("7d"),10)||0)-k.1i.2C.1c-k.1i.1B.1c,D.1b+(B?1k.1H(C.8Y,C.4G):C.4G)-(1m(A(C).1e("7c"),10)||0)-k.1i.2C.1b-k.1i.1B.1b-k.2A.1f-k.3O.1b-(1m(k.1d.1e("8A"),10)||0),D.1c+(B?1k.1H(C.5s,C.3H):C.3H)-(1m(A(C).1e("7d"),10)||0)-k.1i.2C.1c-k.1i.1B.1c-k.2A.1g-k.3O.1c-(1m(k.1d.1e("8B"),10)||0)]}},5D:u(C,D){if(!D){D=k.1p}p B=C=="2H"?1:-1;19{1c:(D.1c+k.1i.2C.1c*B+k.1i.1B.1c*B-(k.6o=="6H"||k.go||k.gn?0:k.8J.2q())*B+(k.6o=="6H"?A(1l).2q():0)*B+k.3O.1c*B),1b:(D.1b+k.1i.2C.1b*B+k.1i.1B.1b*B-(k.6o=="6H"||k.gm||k.gl?0:k.8I.2D())*B+(k.6o=="6H"?A(1l).2D():0)*B+k.3O.1b*B)}},9v:u(E){p F=k.v;p B={1c:(E.3g-k.1i.2n.1c-k.1i.2C.1c-k.1i.1B.1c+(k.6o=="6H"||k.go||k.gn?0:k.8J.2q())-(k.6o=="6H"?A(1l).2q():0)),1b:(E.3x-k.1i.2n.1b-k.1i.2C.1b-k.1i.1B.1b+(k.6o=="6H"||k.gm||k.gl?0:k.8I.2D())-(k.6o=="6H"?A(1l).2D():0))};if(!k.3t){19 B}if(k.1U){if(B.1bk.1U[2]){B.1b=k.1U[2]}if(B.1c>k.1U[3]){B.1c=k.1U[3]}}if(F.3r){p D=k.3t.1c+1k.2S((B.1c-k.3t.1c)/F.3r[1])*F.3r[1];B.1c=k.1U?(!(Dk.1U[3])?D:(!(Dk.1U[2])?C:(!(C\').1e({1f:k.4G+"px",1g:k.3H+"px",1p:"2H",1Y:"0.qt",2T:aX}).1e(A(k).1i()).31("1Z")})},3b:u(C,B){A("1v.1a-2x-bS").1D(u(){k.3f.dm(k)})}});A.1a.2Y.2l("2x","4y",{2z:u(D,C){p E=C.v;p B=A(k).1w("2x");E.4A=E.4A||20;E.4z=E.4z||20;B.4d=u(F){do{if(/4b|4y/.1O(F.1e("2V"))||(/4b|4y/).1O(F.1e("2V-y"))){19 F}F=F.1B()}4X(F[0].3f);19 A(1l)}(k);B.4c=u(F){do{if(/4b|4y/.1O(F.1e("2V"))||(/4b|4y/).1O(F.1e("2V-x"))){19 F}F=F.1B()}4X(F[0].3f);19 A(1l)}(k);if(B.4d[0]!=1l&&B.4d[0].5c!="8C"){B.aj=B.4d.1i()}if(B.4c[0]!=1l&&B.4c[0].5c!="8C"){B.ai=B.4c.1i()}},56:u(E,D){p F=D.v,B=1h;p C=A(k).1w("2x");if(C.4d[0]!=1l&&C.4d[0].5c!="8C"){if((C.aj.1c+C.4d[0].3H)-E.3g=0;M--){p L=E.5T[M].1b,J=L+E.5T[M].1f,I=E.5T[M].1c,S=I+E.5T[M].1g;if(!((L-Q=K&&I<=G)||(H>=K&&H<=G)||(IG))&&((D>=E&&D<=B)||(C>=E&&C<=B)||(DB));1S;4S:19 1h;1S}};A.1a.3e={3S:1n,8H:{"4S":[]},bG:u(E,H){p B=A.1a.3e.8H[E.v.7g];p F=H?H.4k:1n;p G=(E.21||E.1d).2N(":1w(5R)").8z();kF:1R(p D=0;D\').1e({1p:B.1e("1p"),1f:B.44(),1g:B.3q(),1c:B.1e("1c"),1b:B.1e("1b")}));p J=k.1d;k.1d=k.1d.1B();k.1d.1w("1C",k);k.1d.1e({9u:J.1e("9u"),87:J.1e("87"),8A:J.1e("8A"),8B:J.1e("8B")});J.1e({9u:0,87:0,8A:0,8B:0});if(A.2j.aC&&N.6T){J.1e("2K","64")}N.7W=J.1e({1p:"7M",jB:1,4D:"7m"});k.1d.1e({4R:J.1e("4R")});k.bO()}if(!N.3R){N.3R=!A(".1a-1C-29",k.1d).1t?"e,s,4U":{n:".1a-1C-n",e:".1a-1C-e",s:".1a-1C-s",w:".1a-1C-w",4U:".1a-1C-4U",4T:".1a-1C-4T",ne:".1a-1C-ne",nw:".1a-1C-nw"}}if(N.3R.4O==9D){N.2T=N.2T||aX;if(N.3R=="qa"){N.3R="n,e,s,w,4U,4T,ne,nw"}p O=N.3R.6X(",");N.3R={};p G={29:"1p: 2H; 4D: 64; 2V:3h;",n:"1c: 8F; 1f:2b%;",e:"3L: 8F; 1g:2b%;",s:"49: 8F; 1f:2b%;",w:"1b: 8F; 1g:2b%;",4U:"49: 8F; 3L: 3y;",4T:"49: 8F; 1b: 3y;",ne:"1c: 8F; 3L: 3y;",nw:"1c: 8F; 1b: 3y;"};1R(p R=0;R\'].6p("")).1e(K);N.3R[S]=".1a-1C-"+S;k.1d.5e(E.1e(C?T:{}).1e(N.7X?D:{}).1x(N.7X?"1a-1C-bP-29":"").1x(N.7X))}if(N.7X){k.1d.1x("1a-1C-bP").1e(!A.1a.1e("1a-1C-bP")?{}:{})}}k.kv=u(Y){Y=Y||k.1d;1R(p V in N.3R){if(N.3R[V].4O==9D){N.3R[V]=A(N.3R[V],k.1d).1N()}if(N.7O){N.3R[V].1e({1Y:0})}if(k.1d.is(".1a-aU")&&N.gb.3V(/bL|1z|51|43/i)){p W=A(N.3R[V],k.1d),X=0;X=/4T|ne|nw|4U|n|s/.1O(V)?W.3q():W.44();p U=["aV",/ne|nw|n/.1O(V)?"q9":/4U|4T|s/.1O(V)?"q8":/^e$/.1O(V)?"q7":"q6"].6p("");if(!N.7O){Y.1e(U,X)}k.bO()}if(!A(N.3R[V]).1t){6i}}};k.kv(k.1d);N.aw=A(".1a-1C-29",M.1d);if(N.93){N.aw.1D(u(U,V){A.1a.93(V)})}N.aw.ja(u(){if(!N.dt){if(k.6w){p U=k.6w.3V(/1a-1C-(4U|4T|ne|nw|n|e|s|w)/i)}M.2O=N.2O=U&&U[1]?U[1]:"4U"}});if(N.kq){N.aw.1Q();A(M.1d).1x("1a-1C-ga").cm(u(){A(k).1G("1a-1C-ga");N.aw.1N()},u(){if(!N.dt){A(k).1x("1a-1C-ga");N.aw.1Q()}})}k.9F()},6r:{},1a:u(){19{g9:k.g9,1d:k.1d,1u:k.1u,1p:k.1p,1E:k.1E,v:k.v,6m:k.6m,3t:k.3t}},26:u(C,B){A.1a.2Y.1P(k,C,[B,k.1a()]);if(C!="2K"){k.1d.3v(["2K",C].6p(""),[B,k.1a()],k.v[C])}},3s:u(){p D=k.1d,C=D.9C(".1a-1C").4x(0);k.9G();p B=u(E){A(E).1G("1a-1C 1a-1C-1I").4r("1C").2G(".1C").2N(".1a-1C-29").2k()};B(D);if(D.is(".1a-aU")&&C){D.1B().5e(A(C).1e({1p:D.1e("1p"),1f:D.44(),1g:D.3q(),1c:D.1e("1c"),1b:D.1e("1b")})).3i().2k();B(C)}},8U:u(D){if(k.v.1I){19 1h}p C=1h;1R(p B in k.v.3R){if(A(k.v.3R[B])[0]==D.1s){C=1q}}if(!C){19 1h}19 1q},7w:u(I){p C=k.v,B=k.1d.1p(),D=k.1d,H=u(M){19 1m(M,10)||0},G=A.2j.3Z&&A.2j.8c<7;C.dt=1q;C.g8={1c:A(1l).2q(),1b:A(1l).2D()};if(D.is(".1a-2x")||(/2H/).1O(D.1e("1p"))){p J=A.2j.3Z&&!C.1U&&(/2H/).1O(D.1e("1p"))&&!(/2C/).1O(D.1B().1e("1p"));p K=J?C.g8.1c:0,F=J?C.g8.1b:0;D.1e({1p:"2H",1c:(B.1c+K),1b:(B.1b+F)})}if(A.2j.5W&&/2C/.1O(D.1e("1p"))){D.1e({1p:"2C",1c:"4b",1b:"4b"})}k.kr();p L=H(k.1u.1e("1b")),E=H(k.1u.1e("1c"));if(C.1U){L+=A(C.1U).2D()||0;E+=A(C.1U).2q()||0}k.1i=k.1u.1i();k.1p={1b:L,1c:E};k.1E=C.1u||G?{1f:D.44(),1g:D.3q()}:{1f:D.1f(),1g:D.1g()};k.6m=C.1u||G?{1f:D.44(),1g:D.3q()}:{1f:D.1f(),1g:D.1g()};k.3t={1b:L,1c:E};k.8E={1f:D.44()-D.1f(),1g:D.3q()-D.1g()};k.ku={1b:I.3x,1c:I.3g};C.6Q=(2B C.6Q=="84")?C.6Q:((k.6m.1f/k.6m.1g)||1);if(C.g6){A("1Z").1e("30",k.2O+"-2K")}k.26("2z",I);19 1q},6t:u(I){p D=k.1u,C=k.v,J={},M=k,F=k.ku,K=k.2O;p N=(I.3x-F.1b)||0,L=(I.3g-F.1c)||0;p E=k.4L[K];if(!E){19 1h}p H=E.1J(k,[I,N,L]),G=A.2j.3Z&&A.2j.8c<7,B=k.8E;if(C.bM||I.9L){H=k.kt(H,I)}H=k.ks(H,I);k.26("2K",I);D.1e({1c:k.1p.1c+"px",1b:k.1p.1b+"px",1f:k.1E.1f+"px",1g:k.1E.1g+"px"});if(!C.1u&&C.7W){k.bO()}k.g4(H);k.1d.3v("2K",[I,k.1a()],k.v["2K"]);19 1h},7v:u(I){k.v.dt=1h;p E=k.v,H=u(M){19 1m(M,10)||0},K=k;if(E.1u){p D=E.7W,B=D&&(/bL/i).1O(D.4x(0).3l),C=B&&A.1a.bK(D.4x(0),"1b")?0:K.8E.1g,G=B?0:K.8E.1f;p L={1f:(K.1E.1f-G),1g:(K.1E.1g-C)},F=(1m(K.1d.1e("1b"),10)+(K.1p.1b-K.3t.1b))||1n,J=(1m(K.1d.1e("1c"),10)+(K.1p.1c-K.3t.1c))||1n;if(!E.24){k.1d.1e(A.23(L,{1c:J,1b:F}))}if(E.1u&&!E.24){k.bO()}}if(E.g6){A("1Z").1e("30","4b")}k.26("3b",I);if(E.1u){k.1u.2k()}19 1h},g4:u(B){p C=k.v;k.1i=k.1u.1i();if(B.1b){k.1p.1b=B.1b}if(B.1c){k.1p.1c=B.1c}if(B.1g){k.1E.1g=B.1g}if(B.1f){k.1E.1f=B.1f}},kt:u(D,E){p F=k.v,G=k.1p,C=k.1E,B=k.2O;if(D.1g){D.1f=(C.1g*F.6Q)}1j{if(D.1f){D.1g=(C.1f/F.6Q)}}if(B=="4T"){D.1b=G.1b+(C.1f-D.1f);D.1c=1n}if(B=="nw"){D.1c=G.1c+(C.1g-D.1g);D.1b=G.1b+(C.1f-D.1f)}19 D},ks:u(H,I){p F=k.1u,E=k.v,N=E.bM||I.9L,M=k.2O,P=H.1f&&E.8e&&E.8eH.1f,O=H.1g&&E.6Z&&E.6Z>H.1g;if(D){H.1f=E.6Y}if(O){H.1g=E.6Z}if(P){H.1f=E.8e}if(J){H.1g=E.71}p C=k.3t.1b+k.6m.1f,L=k.1p.1c+k.1E.1g;p G=/4T|nw|w/.1O(M),B=/nw|ne|n/.1O(M);if(D&&G){H.1b=C-E.6Y}if(P&&G){H.1b=C-E.8e}if(O&&B){H.1c=L-E.6Z}if(J&&B){H.1c=L-E.71}p K=!H.1f&&!H.1g;if(K&&!H.1b&&H.1c){H.1c=1n}1j{if(K&&!H.1c&&H.1b){H.1b=1n}}19 H},bO:u(){p F=k.v;if(!F.7W){19}p D=F.7W,C=k.1u||k.1d;if(!F.av){p B=[D.1e("7d"),D.1e("d5"),D.1e("d6"),D.1e("7c")],E=[D.1e("fI"),D.1e("fF"),D.1e("fH"),D.1e("fG")];F.av=A.7n(B,u(G,I){p H=1m(G,10)||0,J=1m(E[I],10)||0;19 H+J})}D.1e({1g:(C.1g()-F.av[0]-F.av[2])+"px",1f:(C.1f()-F.av[1]-F.av[3])+"px"})},kr:u(){p C=k.1d,F=k.v;k.g7=C.1i();if(F.1u){k.1u=k.1u||A(\'<1v 2R="2V:3h;">\');p B=A.2j.3Z&&A.2j.8c<7,D=(B?1:0),E=(B?2:-1);k.1u.1x(F.1u).1e({1f:C.44()+E,1g:C.3q()+E,1p:"2H",1b:k.g7.1b-D+"px",1c:k.g7.1c-D+"px",2T:++F.2T});k.1u.31("1Z");if(F.93){A.1a.93(k.1u.4x(0))}}1j{k.1u=C}},4L:{e:u(D,C,B){19{1f:k.6m.1f+C}},w:u(F,C,B){p G=k.v,D=k.6m,E=k.3t;19{1b:E.1b+C,1f:D.1f-C}},n:u(F,C,B){p G=k.v,D=k.6m,E=k.3t;19{1c:E.1c+B,1g:D.1g-B}},s:u(D,C,B){19{1g:k.6m.1g+B}},4U:u(D,C,B){19 A.23(k.4L.s.1J(k,1T),k.4L.e.1J(k,[D,C,B]))},4T:u(D,C,B){19 A.23(k.4L.s.1J(k,1T),k.4L.w.1J(k,[D,C,B]))},ne:u(D,C,B){19 A.23(k.4L.n.1J(k,1T),k.4L.e.1J(k,[D,C,B]))},nw:u(D,C,B){19 A.23(k.4L.n.1J(k,1T),k.4L.w.1J(k,[D,C,B]))}}}));A.23(A.1a.1C,{4g:{7B:":1z",3G:1,6L:0,6T:1q,7O:1h,6Y:10,6Z:10,6Q:1h,93:1q,g6:1q,kq:1h,7X:1h}});A.1a.2Y.2l("1C","1U",{2z:u(I,K){p E=K.v,M=A(k).1w("1C"),G=M.1d;p C=E.1U,F=(C q5 A)?C.4x(0):(/1B/.1O(C))?G.1B().4x(0):C;if(!F){19}M.g5=A(F);if(/1l/.1O(C)||C==1l){M.bN={1b:0,1c:0};M.dr={1b:0,1c:0};M.au={1d:A(1l),1b:0,1c:0,1f:A(1l).1f(),1g:A(1l).1g()||1l.1Z.3f.5s}}1j{M.bN=A(F).1i();M.dr=A(F).1p();M.ds={1g:A(F).7z(),1f:A(F).8X()};p J=M.bN,B=M.ds.1g,H=M.ds.1f,D=(A.1a.bK(F,"1b")?F.8Y:H),L=(A.1a.bK(F)?F.5s:B);M.au={1d:F,1b:J.1b,1c:J.1c,1f:D,1g:L}}},2K:u(H,K){p E=K.v,N=A(k).1w("1C"),C=N.ds,J=N.bN,G=N.1E,I=N.1p,L=E.bM||H.9L,B={1c:0,1b:0},D=N.g5;if(D[0]!=1l&&/7M/.1O(D.1e("1p"))){B=N.dr}if(I.1b<(E.1u?J.1b:B.1b)){N.1E.1f=N.1E.1f+(E.1u?(N.1p.1b-J.1b):(N.1p.1b-B.1b));if(L){N.1E.1g=N.1E.1f/E.6Q}N.1p.1b=E.1u?J.1b:B.1b}if(I.1c<(E.1u?J.1c:0)){N.1E.1g=N.1E.1g+(E.1u?(N.1p.1c-J.1c):N.1p.1c);if(L){N.1E.1f=N.1E.1g*E.6Q}N.1p.1c=E.1u?J.1c:0}p F=(E.1u?N.1i.1b-J.1b:(N.1p.1b-B.1b))+N.8E.1f,M=(E.1u?N.1i.1c-J.1c:N.1p.1c)+N.8E.1g;if(F+N.1E.1f>=N.au.1f){N.1E.1f=N.au.1f-F;if(L){N.1E.1g=N.1E.1f/E.6Q}}if(M+N.1E.1g>=N.au.1g){N.1E.1g=N.au.1g-M;if(L){N.1E.1f=N.1E.1g*E.6Q}}},3b:u(G,J){p C=J.v,L=A(k).1w("1C"),H=L.1p,I=L.bN,B=L.dr,D=L.g5;p E=A(L.1u),M=E.1i(),K=E.8X(),F=E.7z();if(C.1u&&!C.24&&/2C/.1O(D.1e("1p"))){A(k).1e({1b:(M.1b-I.1b),1c:(M.1c-I.1c),1f:K,1g:F})}if(C.1u&&!C.24&&/7M/.1O(D.1e("1p"))){A(k).1e({1b:B.1b+(M.1b-I.1b),1c:B.1c+(M.1c-I.1c),1f:K,1g:F})}}});A.1a.2Y.2l("1C","3r",{2K:u(H,J){p D=J.v,L=A(k).1w("1C"),G=L.1E,E=L.6m,F=L.3t,K=L.2O,I=D.bM||H.9L;D.3r=2B D.3r=="84"?[D.3r,D.3r]:D.3r;p C=1k.2S((G.1f-E.1f)/(D.3r[0]||1))*(D.3r[0]||1),B=1k.2S((G.1g-E.1g)/(D.3r[1]||1))*(D.3r[1]||1);if(/^(4U|s|e)$/.1O(K)){L.1E.1f=E.1f+C;L.1E.1g=E.1g+B}1j{if(/^(ne)$/.1O(K)){L.1E.1f=E.1f+C;L.1E.1g=E.1g+B;L.1p.1c=F.1c-B}1j{if(/^(4T)$/.1O(K)){L.1E.1f=E.1f+C;L.1E.1g=E.1g+B;L.1p.1b=F.1b-C}1j{L.1E.1f=E.1f+C;L.1E.1g=E.1g+B;L.1p.1c=F.1c-B;L.1p.1b=F.1b-C}}}}});A.1a.2Y.2l("1C","24",{3b:u(I,K){p F=K.v,L=A(k).1w("1C");p E=F.7W,B=E&&(/bL/i).1O(E.4x(0).3l),C=B&&A.1a.bK(E.4x(0),"1b")?0:L.8E.1g,H=B?0:L.8E.1f;p D={1f:(L.1E.1f-H),1g:(L.1E.1g-C)},G=(1m(L.1d.1e("1b"),10)+(L.1p.1b-L.3t.1b))||1n,J=(1m(L.1d.1e("1c"),10)+(L.1p.1c-L.3t.1c))||1n;L.1d.24(A.23(D,J&&G?{1c:J,1b:G}:{}),{1V:F.q4||"de",2g:F.q3||"by",ch:u(){p M={1f:1m(L.1d.1e("1f"),10),1g:1m(L.1d.1e("1g"),10),1c:1m(L.1d.1e("1c"),10),1b:1m(L.1d.1e("1b"),10)};if(E){E.1e({1f:M.1f,1g:M.1g})}L.g4(M);L.26("24",I)}})}});A.1a.2Y.2l("1C","5Q",{2z:u(E,D){p F=D.v,B=A(k).1w("1C"),G=F.7W,C=B.1E;if(!G){B.5Q=B.1d.86()}1j{B.5Q=G.86()}B.5Q.1e({1Y:0.25,4D:"7m",1p:"2C",1g:C.1g,1f:C.1f,4R:0,1b:0,1c:0}).1x("1a-1C-5Q").1x(2B F.5Q=="4s"?F.5Q:"");B.5Q.31(B.1u)},2K:u(D,C){p E=C.v,B=A(k).1w("1C"),F=E.7W;if(B.5Q){B.5Q.1e({1p:"2C",1g:B.1E.1g,1f:B.1E.1f})}},3b:u(D,C){p E=C.v,B=A(k).1w("1C"),F=E.7W;if(B.5Q&&B.1u){B.1u.4x(0).dm(B.5Q.4x(0))}}});A.1a.2Y.2l("1C","6P",{2z:u(E,C){p F=C.v,B=A(k).1w("1C"),D=u(G){A(G).1D(u(){A(k).1w("1C-g3",{1f:1m(A(k).1f(),10),1g:1m(A(k).1g(),10),1b:1m(A(k).1e("1b"),10),1c:1m(A(k).1e("1c"),10)})})};if(2B(F.6P)=="7C"){if(F.6P.1t){F.6P=F.6P[0];D(F.6P)}1j{A.1D(F.6P,u(G,H){D(G)})}}1j{D(F.6P)}},2K:u(F,E){p G=E.v,C=A(k).1w("1C"),D=C.6m,I=C.3t;p H={1g:(C.1E.1g-D.1g)||0,1f:(C.1E.1f-D.1f)||0,1c:(C.1p.1c-I.1c)||0,1b:(C.1p.1b-I.1b)||0},B=u(J,K){A(J).1D(u(){p N=A(k).1w("1C-g3"),M={},L=K&&K.1t?K:["1f","1g","1c","1b"];A.1D(L||["1f","1g","1c","1b"],u(O,Q){p P=(N[Q]||0)+(H[Q]||0);if(P&&P>=0){M[Q]=P||1n}});A(k).1e(M)})};if(2B(G.6P)=="7C"){A.1D(G.6P,u(J,K){B(J,K)})}1j{B(G.6P)}},3b:u(C,B){A(k).4r("1C-g3-2z")}})})(1L);(u(A){A.3P("1a.4f",A.23({},A.1a.5r,{52:u(){p B=k;k.1d.1x("1a-4f");k.fZ=1h;p C;k.bI=u(){C=A(B.v.3D,B.1d[0]);C.1D(u(){p D=A(k);p E=D.1i();A.1w(k,"4f-2X",{1d:k,$1d:D,1b:E.1b,1c:E.1c,3L:E.1b+D.1f(),49:E.1c+D.1g(),9w:1h,2a:D.4o("1a-2a"),5l:D.4o("1a-5l"),4p:D.4o("1a-4p")})})};k.bI();k.dn=C.1x("1a-q2");k.9F();k.1u=A(1l.kh("1v")).1e({cg:"dq q1 jQ"}).1x("1a-4f-1u")},6j:u(){if(k.v.1I){k.9y()}1j{k.83()}},3s:u(){k.1d.1G("1a-4f 1a-4f-1I").4r("4f").2G(".4f");k.9G()},7w:u(E){p C=k;k.g2=[E.3x,E.3g];if(k.v.1I){19}p D=k.v;k.dn=A(D.3D,k.1d[0]);k.1d.3v("q0",[E,{"4f":k.1d[0],"v":D}],D.2z);A("1Z").5e(k.1u);k.1u.1e({"z-3J":2b,"1p":"2H","1b":E.gw,"1c":E.pZ,"1f":0,"1g":0});if(D.kn){k.bI()}k.dn.3D(".1a-2a").1D(u(){p F=A.1w(k,"4f-2X");F.9w=1q;if(!E.g1){F.$1d.1G("1a-2a");F.2a=1h;F.$1d.1x("1a-4p");F.4p=1q;C.1d.3v("g0",[E,{4f:C.1d[0],4p:F.1d,v:D}],D.4p)}});p B=1h;A(E.1s).5F().8z().1D(u(){if(A.1w(k,"4f-2X")){B=1q}});19 k.v.pY?!B:1q},6t:u(I){p C=k;k.fZ=1q;if(k.v.1I){19}p E=k.v;p D=k.g2[0],H=k.g2[1],B=I.3x,G=I.3g;if(D>B){p F=B;B=D;D=F}if(H>G){p F=G;G=H;H=F}k.1u.1e({1b:D,1c:H,1f:B-D,1g:G-H});k.dn.1D(u(){p J=A.1w(k,"4f-2X");if(!J||J.1d==C.1d[0]){19}p K=1h;if(E.6l=="fY"){K=(!(J.1b>B||J.3LG||J.49D&&J.3LH&&J.49M&&(K+N)F&&(E+H)L[k.7U?"1f":"1g"])){19 G}1j{19(FO&&(L+P)F&&(E+H)N[k.7U?"1f":"1g"])){if(!G){19 1h}if(k.7U){if((E+H)>F&&(E+H)F+N.1f/2&&(E+H)O+M/2){19 1}}}}1j{if(!(FF&&EC){19 1}}1j{if(J>O&&LI){19 2}}}19 1h},bI:u(){k.dl();k.bF()},fW:u(H){p D=k;p C=[];p F=[];if(k.v.ar&&H){1R(p G=k.v.ar.1t-1;G>=0;G--){p J=B(k.v.ar[G]);1R(p E=J.1t-1;E>=0;E--){p I=B.1w(J[E],"3a");if(I&&I!=k&&!I.v.1I){F.4n([B.7V(I.v.2c)?I.v.2c.1P(I.1d):B(I.v.2c,I.1d).82(".1a-3a-1u"),I])}}}}F.4n([B.7V(k.v.2c)?k.v.2c.1P(k.1d,1n,{v:k.v,2X:k.21}):B(k.v.2c,k.1d).82(".1a-3a-1u"),k]);1R(p G=F.1t-1;G>=0;G--){F[G][0].1D(u(){C.4n(k)})}19 B(C)},ke:u(){p E=k.21.2N(":1w(3a-2X)");1R(p D=0;D=0;G--){p I=B(k.v.ar[G]);1R(p E=I.1t-1;E>=0;E--){p H=B.1w(I[E],"3a");if(H&&H!=k&&!H.v.1I){F.4n([B.7V(H.v.2c)?H.v.2c.1P(H.1d):B(H.v.2c,H.1d),H]);k.2P.4n(H)}}}}1R(p G=F.1t-1;G>=0;G--){F[G][0].1D(u(){B.1w(k,"3a-2X",F[G][1]);D.4n({2X:B(k),2p:F[G][1],1f:0,1g:0,1b:0,1c:0})})}},bF:u(D){if(k.3n){p C=k.3n.1i();k.1i.1B={1c:C.1c+k.bH.1c,1b:C.1b+k.bH.1b}}1R(p F=k.2c.1t-1;F>=0;F--){if(k.2c[F].2p!=k.aq&&k.aq&&k.2c[F].2X[0]!=k.21[0]){6i}p E=k.v.kj?B(k.v.kj,k.2c[F].2X):k.2c[F].2X;if(!D){k.2c[F].1f=E[0].4G;k.2c[F].1g=E[0].3H}p G=E.1i();k.2c[F].1b=G.1b;k.2c[F].1c=G.1c}if(k.v.fV&&k.v.fV.ki){k.v.fV.ki.1P(k)}1j{1R(p F=k.2P.1t-1;F>=0;F--){p G=k.2P[F].1d.1i();k.2P[F].5P.1b=G.1b;k.2P[F].5P.1c=G.1c;k.2P[F].5P.1f=k.2P[F].1d.44();k.2P[F].5P.1g=k.2P[F].1d.3q()}}},3s:u(){k.1d.1G("1a-3a 1a-3a-1I").4r("3a").2G(".3a");k.9G();1R(p C=k.2c.1t-1;C>=0;C--){k.2c[C].2X.4r("3a-2X")}},kd:u(E){p C=E||k,F=C.v;if(!F.3I||F.3I.4O==9D){p D=F.3I;F.3I={1d:u(){p G=B(1l.kh(C.21[0].3l)).1x(D||"1a-3a-3I")[0];if(!D){G.2R.ae="3h";1l.1Z.dj(G);G.kg=C.21[0].kg;1l.1Z.dm(G)}19 G},bE:u(G,H){if(D&&!F.k3){19}if(!H.1g()){H.1g(C.21.7z()-1m(C.21.1e("fI")||0,10)-1m(C.21.1e("fH")||0,10))}if(!H.1f()){H.1f(C.21.8X()-1m(C.21.1e("fG")||0,10)-1m(C.21.1e("fF")||0,10))}}}}C.3I=B(F.3I.1d.1P(C.1d,C.21));C.21.1B()[0].dj(C.3I[0]);C.3I[0].3f.aE(C.3I[0],C.21[0]);F.3I.bE(C,C.3I)},kb:u(F){1R(p D=k.2P.1t-1;D>=0;D--){if(k.kf(k.2P[D].5P)){if(!k.2P[D].5P.4w){if(k.aq!=k.2P[D]){p I=pQ;p H=1n;p E=k.4e[k.2P[D].7U?"1b":"1c"];1R(p C=k.2c.1t-1;C>=0;C--){if(!A(k.2P[D].1d[0],k.2c[C].2X[0])){6i}p G=k.2c[C][k.2P[D].7U?"1b":"1c"];if(1k.41(G-E)=0;F--){k.2P[F].26("ad",G,k)}}if(B.1a.3e){B.1a.3e.3S=k}if(B.1a.3e&&!C.di){B.1a.3e.bG(k,G)}k.ao=1q;k.6t(G);19 1q},5D:u(D,E){if(!E){E=k.1p}p C=D=="2H"?1:-1;19{1c:(E.1c+k.1i.1B.1c*C-(k.3n[0]==1l.1Z?0:k.3n[0].2q)*C+k.3O.1c*C),1b:(E.1b+k.1i.1B.1b*C-(k.3n[0]==1l.1Z?0:k.3n[0].2D)*C+k.3O.1b*C)}},9v:u(F){p G=k.v;p C={1c:(F.3g-k.1i.2n.1c-k.1i.1B.1c+(k.3n[0]==1l.1Z?0:k.3n[0].2q)),1b:(F.3x-k.1i.2n.1b-k.1i.1B.1b+(k.3n[0]==1l.1Z?0:k.3n[0].2D))};if(!k.3t){19 C}if(k.1U){if(C.1bk.1U[2]){C.1b=k.1U[2]}if(C.1c>k.1U[3]){C.1c=k.1U[3]}}if(G.3r){p E=k.3t.1c+1k.2S((C.1c-k.3t.1c)/G.3r[1])*G.3r[1];C.1c=k.1U?(!(Ek.1U[3])?E:(!(Ek.1U[2])?D:(!(D=0;C--){p E=k.kc(k.2c[C]);if(!E){6i}if(k.2c[C].2X[0]!=k.21[0]&&k.3I[E==1?"4I":"6b"]()[0]!=k.2c[C].2X[0]&&!A(k.3I[0],k.2c[C].2X[0])&&(k.v.4k=="pO-pN"?!A(k.1d[0],k.2c[C].2X[0]):1q)){k.fU=k.9v(D);k.7R=E==1?"53":"4P";k.v.dh.1P(k,D,k.2c[C]);k.26("5q",D);1S}}k.kb(D);if(B.1a.3e){B.1a.3e.56(k,D)}k.1d.3v("6S",[D,k.1a()],k.v["6S"]);19 1h},k4:u(H,G,D,F){D?D[0].dj(k.3I[0]):G.2X[0].3f.aE(k.3I[0],(k.7R=="53"?G.2X[0]:G.2X[0].ii));k.3w=k.3w?++k.3w:1;p E=k,C=k.3w;3p.5E(u(){if(C==E.3w){E.bF(!F)}},0)},7v:u(E,D){if(B.1a.3e&&!k.v.di){B.1a.3e.7S(k,E)}if(k.v.7h){p C=k;p F=C.3I.1i();B(k.1u).24({1b:F.1b-k.1i.1B.1b-C.3O.1b+(k.3n[0]==1l.1Z?0:k.3n[0].2D),1c:F.1c-k.1i.1B.1c-C.3O.1c+(k.3n[0]==1l.1Z?0:k.3n[0].2q)},1m(k.v.7h,10)||aG,u(){C.ap(E)})}1j{k.ap(E,D)}19 1h},ap:u(E,D){if(!k.ka){k.3I.c2(k.21)}k.ka=1n;if(k.v.1u=="8D"){k.21.1e(k.k9).1G("1a-3a-1u")}1j{k.21.1N()}if(k.fT.6b!=k.21.6b().82(".1a-3a-1u")[0]||k.fT.1B!=k.21.1B()[0]){k.26("bE",E,1n,D)}if(!A(k.1d[0],k.21[0])){k.26("2k",E,1n,D);1R(p C=k.2P.1t-1;C>=0;C--){if(A(k.2P[C].1d[0],k.21[0])){k.2P[C].26("bE",E,k,D);k.2P[C].26("k8",E,k,D)}}}1R(p C=k.2P.1t-1;C>=0;C--){k.2P[C].26("bD",E,k,D);if(k.2P[C].5P.4w){k.2P[C].26("bC",E,k);k.2P[C].5P.4w=0}}k.ao=1h;if(k.an){k.26("bB",E,1n,D);k.26("3b",E,1n,D);19 1h}k.26("bB",E,1n,D);k.3I.2k();if(k.v.1u!="8D"){k.1u.2k()}k.1u=1n;k.26("3b",E,1n,D);19 1q}}));B.23(B.1a.3a,{aA:"k7 k6",4g:{1u:"8D",6l:"fS",3G:1,6L:0,4y:1q,4A:20,4z:20,7B:":1z",2c:"> *",2T:aX,k5:1q,31:"1B",dh:B.1a.3a.5d.k4,7g:"4S",k3:1h}});B.1a.2Y.2l("3a","30",{2z:u(E,D){p C=B("1Z");if(C.1e("30")){D.v.am=C.1e("30")}C.1e("30",D.v.30)},bB:u(D,C){if(C.v.am){B("1Z").1e("30",C.v.am)}}});B.1a.2Y.2l("3a","2T",{2z:u(E,D){p C=D.1u;if(C.1e("2T")){D.v.al=C.1e("2T")}C.1e("2T",D.v.2T)},bB:u(D,C){if(C.v.al){B(C.1u).1e("2T",C.v.al)}}});B.1a.2Y.2l("3a","1Y",{2z:u(E,D){p C=D.1u;if(C.1e("1Y")){D.v.ak=C.1e("1Y")}C.1e("1Y",D.v.1Y)},bB:u(D,C){if(C.v.ak){B(C.1u).1e("1Y",C.v.ak)}}});B.1a.2Y.2l("3a","4y",{2z:u(E,D){p F=D.v;p C=B(k).1w("3a");C.4d=u(G){do{if(/4b|4y/.1O(G.1e("2V"))||(/4b|4y/).1O(G.1e("2V-y"))){19 G}G=G.1B()}4X(G[0].3f);19 B(1l)}(C.21);C.4c=u(G){do{if(/4b|4y/.1O(G.1e("2V"))||(/4b|4y/).1O(G.1e("2V-x"))){19 G}G=G.1B()}4X(G[0].3f);19 B(1l)}(C.21);if(C.4d[0]!=1l&&C.4d[0].5c!="8C"){C.aj=C.4d.1i()}if(C.4c[0]!=1l&&C.4c[0].5c!="8C"){C.ai=C.4c.1i()}},6S:u(E,D){p F=D.v;p C=B(k).1w("3a");if(C.4d[0]!=1l&&C.4d[0].5c!="8C"){if((C.aj.1c+C.4d[0].3H)-E.3g\');p I=F.1B();if(F.1e("1p")=="7M"){I.1e({1p:"2C"});F.1e({1p:"2C"})}1j{p H=F.1e("1c");if(5p(1m(H))){H="4b"}p G=F.1e("1b");if(5p(1m(G))){G="4b"}I.1e({1p:F.1e("1p"),1c:H,1b:G,2T:F.1e("z-3J")}).1N();F.1e({1p:"2C",1c:0,1b:0})}I.1e(E);19 I},7e:u(E){if(E.1B().2Q("id")=="fQ"){19 E.1B().pL(E)}19 E},6N:u(F,G,E,H){H=H||{};C.1D(G,u(J,I){dg=F.jU(I);if(dg[0]>0){H[I]=dg[0]*E+dg[1]}});19 H},bA:u(G,H,J,I){p E=(2B J=="u"?J:(I?I:1n));p F=(2B J=="7C"?J:1n);19 k.1D(u(){p O={};p M=C(k);p N=M.2Q("2R")||"";if(2B N=="7C"){N=N["fP"]}if(G.6j){M.4o(G.6j)?G.2k=G.6j:G.2l=G.6j}p K=C.23({},(1l.df?1l.df.k1(k,1n):k.k0));if(G.2l){M.1x(G.2l)}if(G.2k){M.1G(G.2k)}p L=C.23({},(1l.df?1l.df.k1(k,1n):k.k0));if(G.2l){M.1G(G.2l)}if(G.2k){M.1x(G.2k)}1R(p P in L){if(2B L[P]!="u"&&L[P]&&P.4N("pK")==-1&&P.4N("1t")==-1&&L[P]!=K[P]&&(P.3V(/2h/i)||(!P.3V(/2h/i)&&!5p(1m(L[P],10))))&&(K.1p!="7M"||(K.1p=="7M"&&!P.3V(/1b|1c|49|3L/)))){O[P]=L[P]}}M.24(O,H,F,u(){if(2B C(k).2Q("2R")=="7C"){C(k).2Q("2R")["fP"]="";C(k).2Q("2R")["fP"]=N}1j{C(k).2Q("2R",N)}if(G.2l){C(k).1x(G.2l)}if(G.2k){C(k).1G(G.2k)}if(E){E.1J(k,1T)}})})}});C.fn.23({cW:C.fn.1N,cV:C.fn.1Q,jZ:C.fn.6j,jY:C.fn.1x,jX:C.fn.1G,jW:C.fn.d4,6k:u(E,G,F,H){19 C.1A[E]?C.1A[E].1P(k,{pJ:E,v:G||{},1V:F,2W:H}):1n},1N:u(){if(!1T[0]||(1T[0].4O==8Q||/(de|aF|c3)/.1O(1T[0]))){19 k.cW.1J(k,1T)}1j{p E=1T[1]||{};E["3m"]="1N";19 k.6k.1J(k,[1T[0],E,1T[2]||E.1V,1T[3]||E.2W])}},1Q:u(){if(!1T[0]||(1T[0].4O==8Q||/(de|aF|c3)/.1O(1T[0]))){19 k.cV.1J(k,1T)}1j{p E=1T[1]||{};E["3m"]="1Q";19 k.6k.1J(k,[1T[0],E,1T[2]||E.1V,1T[3]||E.2W])}},6j:u(){if(!1T[0]||(1T[0].4O==8Q||/(de|aF|c3)/.1O(1T[0]))||(1T[0].4O==pI)){19 k.jZ.1J(k,1T)}1j{p E=1T[1]||{};E["3m"]="6j";19 k.6k.1J(k,[1T[0],E,1T[2]||E.1V,1T[3]||E.2W])}},1x:u(F,E,H,G){19 E?C.1A.bA.1J(k,[{2l:F},E,H,G]):k.jY(F)},1G:u(F,E,H,G){19 E?C.1A.bA.1J(k,[{2k:F},E,H,G]):k.jX(F)},d4:u(F,E,H,G){19 E?C.1A.bA.1J(k,[{6j:F},E,H,G]):k.jW(F)},jV:u(E,G,F,I,H){19 C.1A.bA.1J(k,[{2l:G,2k:E},F,I,H])},pH:u(){19 k.jV.1J(k,1T)},jU:u(E){p F=k.1e(E),G=[];C.1D(["em","px","%","pt"],u(H,I){if(F.4N(I)>0){G=[9B(F),I]}});19 G}});1L.1D(["7b","pG","pF","pE","pD","2h","pC"],u(F,E){1L.fx.ch[E]=u(G){if(G.j1==0){G.2z=D(G.jT,E);G.3i=B(G.3i)}G.jT.2R[E]="5y("+[1k.1H(1k.1W(1m((G.2M*(G.3i[0]-G.2z[0]))+G.2z[0]),2t),0),1k.1H(1k.1W(1m((G.2M*(G.3i[1]-G.2z[1]))+G.2z[1]),2t),0),1k.1H(1k.1W(1m((G.2M*(G.3i[2]-G.2z[2]))+G.2z[2]),2t),0)].6p(",")+")"}});u B(F){p E;if(F&&F.4O==9z&&F.1t==3){19 F}if(E=/5y\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/.8p(F)){19[1m(E[1]),1m(E[2]),1m(E[3])]}if(E=/5y\\(\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*\\)/.8p(F)){19[9B(E[1])*2.55,9B(E[2])*2.55,9B(E[3])*2.55]}if(E=/#([a-fA-ah-9]{2})([a-fA-ah-9]{2})([a-fA-ah-9]{2})/.8p(F)){19[1m(E[1],16),1m(E[2],16),1m(E[3],16)]}if(E=/#([a-fA-ah-9])([a-fA-ah-9])([a-fA-ah-9])/.8p(F)){19[1m(E[1]+E[1],16),1m(E[2]+E[2],16),1m(E[3]+E[3],16)]}if(E=/jS\\(0, 0, 0, 0\\)/.8p(F)){19 A["7O"]}19 A[1L.ab(F).4Y()]}u D(G,E){p F;do{F=1L.pB(G,E);if(F!=""&&F!="7O"||1L.3l(G,"1Z")){1S}E="7b"}4X(G=G.3f);19 B(F)}p A={pA:[0,2t,2t],pz:[cS,2t,2t],py:[jR,jR,pw],jQ:[0,0,0],pv:[0,0,2t],pu:[jM,42,42],ps:[0,2t,2t],pr:[0,0,ag],pq:[0,ag,ag],po:[fO,fO,fO],pn:[0,2b,0],pm:[pl,pk,fN],pj:[ag,0,ag],pi:[85,fN,47],ph:[2t,fB,0],pg:[pf,50,pe],pd:[ag,0,0],pc:[pb,3z,pa],p9:[p8,0,dc],p7:[2t,0,2t],p6:[2t,p5,0],p4:[0,7T,0],p3:[75,0,p2],p1:[cS,jP,fB],p0:[oZ,oY,jP],oX:[jN,2t,2t],oW:[jO,oV,jO],oU:[dc,dc,dc],oT:[2t,oS,oR],oQ:[2t,2t,jN],oP:[0,2t,0],oO:[2t,0,2t],oN:[7T,0,0],oM:[0,0,7T],oL:[7T,7T,0],oK:[2t,jM,0],oJ:[2t,db,oI],oH:[7T,0,7T],oG:[7T,0,7T],oF:[2t,0,0],oE:[db,db,db],oD:[2t,2t,2t],oC:[2t,2t,0],7O:[2t,2t,2t]};1L.2g["oB"]=1L.2g["by"];1L.23(1L.2g,{jL:"jK",by:u(F,G,E,I,H){19 1L.2g[1L.2g.jL](F,G,E,I,H)},oA:u(F,G,E,I,H){19 I*(G/=H)*G+E},jK:u(F,G,E,I,H){19-I*(G/=H)*(G-2)+E},oz:u(F,G,E,I,H){if((G/=H/2)<1){19 I/2*G*G+E}19-I/2*((--G)*(G-2)-1)+E},oy:u(F,G,E,I,H){19 I*(G/=H)*G*G+E},ox:u(F,G,E,I,H){19 I*((G=G/H-1)*G*G+1)+E},ow:u(F,G,E,I,H){if((G/=H/2)<1){19 I/2*G*G*G+E}19 I/2*((G-=2)*G*G+2)+E},ov:u(F,G,E,I,H){19 I*(G/=H)*G*G*G+E},ou:u(F,G,E,I,H){19-I*((G=G/H-1)*G*G*G-1)+E},ot:u(F,G,E,I,H){if((G/=H/2)<1){19 I/2*G*G*G*G+E}19-I/2*((G-=2)*G*G*G-2)+E},os:u(F,G,E,I,H){19 I*(G/=H)*G*G*G*G+E},or:u(F,G,E,I,H){19 I*((G=G/H-1)*G*G*G*G+1)+E},oq:u(F,G,E,I,H){if((G/=H/2)<1){19 I/2*G*G*G*G*G+E}19 I/2*((G-=2)*G*G*G*G+2)+E},op:u(F,G,E,I,H){19-I*1k.jJ(G/H*(1k.7f/2))+I+E},oo:u(F,G,E,I,H){19 I*1k.bz(G/H*(1k.7f/2))+E},om:u(F,G,E,I,H){19-I/2*(1k.jJ(1k.7f*G/H)-1)+E},ok:u(F,G,E,I,H){19(G==0)?E:I*1k.5Y(2,10*(G/H-1))+E},oj:u(F,G,E,I,H){19(G==H)?E+I:I*(-1k.5Y(2,-10*G/H)+1)+E},oi:u(F,G,E,I,H){if(G==0){19 E}if(G==H){19 E+I}if((G/=H/2)<1){19 I/2*1k.5Y(2,10*(G-1))+E}19 I/2*(-1k.5Y(2,-10*--G)+2)+E},oh:u(F,G,E,I,H){19-I*(1k.8V(1-(G/=H)*G)-1)+E},og:u(F,G,E,I,H){19 I*1k.8V(1-(G=G/H-1)*G)+E},oe:u(F,G,E,I,H){if((G/=H/2)<1){19-I/2*(1k.8V(1-G*G)-1)+E}19 I/2*(1k.8V(1-(G-=2)*G)+1)+E},od:u(F,H,E,L,K){p I=1.af;p J=0;p G=L;if(H==0){19 E}if((H/=K)==1){19 E+L}if(!J){J=K*0.3}if(G<1k.41(L)){G=L;p I=J/4}1j{p I=J/(2*1k.7f)*1k.fM(L/G)}19-(G*1k.5Y(2,10*(H-=1))*1k.bz((H*K-I)*(2*1k.7f)/J))+E},oc:u(F,H,E,L,K){p I=1.af;p J=0;p G=L;if(H==0){19 E}if((H/=K)==1){19 E+L}if(!J){J=K*0.3}if(G<1k.41(L)){G=L;p I=J/4}1j{p I=J/(2*1k.7f)*1k.fM(L/G)}19 G*1k.5Y(2,-10*H)*1k.bz((H*K-I)*(2*1k.7f)/J)+L+E},ob:u(F,H,E,L,K){p I=1.af;p J=0;p G=L;if(H==0){19 E}if((H/=K/2)==2){19 E+L}if(!J){J=K*(0.3*1.5)}if(G<1k.41(L)){G=L;p I=J/4}1j{p I=J/(2*1k.7f)*1k.fM(L/G)}if(H<1){19-0.5*(G*1k.5Y(2,10*(H-=1))*1k.bz((H*K-I)*(2*1k.7f)/J))+E}19 G*1k.5Y(2,-10*(H-=1))*1k.bz((H*K-I)*(2*1k.7f)/J)*0.5+L+E},oa:u(F,G,E,J,I,H){if(H==2f){H=1.af}19 J*(G/=I)*G*((H+1)*G-H)+E},o9:u(F,G,E,J,I,H){if(H==2f){H=1.af}19 J*((G=G/I-1)*G*((H+1)*G+H)+1)+E},o8:u(F,G,E,J,I,H){if(H==2f){H=1.af}if((G/=I/2)<1){19 J/2*(G*G*(((H*=(1.jI))+1)*G-H))+E}19 J/2*((G-=2)*G*(((H*=(1.jI))+1)*G+H)+2)+E},jH:u(F,G,E,I,H){19 I-1L.2g.fL(F,H-G,0,I,H)+E},fL:u(F,G,E,I,H){if((G/=H)<(1/2.75)){19 I*(7.da*G*G)+E}1j{if(G<(2/2.75)){19 I*(7.da*(G-=(1.5/2.75))*G+0.75)+E}1j{if(G<(2.5/2.75)){19 I*(7.da*(G-=(2.25/2.75))*G+0.o7)+E}1j{19 I*(7.da*(G-=(2.o6/2.75))*G+0.o5)+E}}}},o4:u(F,G,E,I,H){if(G").1e({1p:"2H",ae:"4j",1b:-D*(G/E),1c:-F*(C/I)}).1B().1x("1A-fK").1e({1p:"2H",2V:"3h",1f:G/E,1g:C/I,1b:J.1b+D*(G/E)+(B.v.3m=="1N"?(D-1k.bj(E/2))*(G/E):0),1c:J.1c+F*(C/I)+(B.v.3m=="1N"?(F-1k.bj(I/2))*(C/I):0),1Y:B.v.3m=="1N"?0:1}).24({1b:J.1b+D*(G/E)+(B.v.3m=="1N"?0:(D-1k.bj(E/2))*(G/E)),1c:J.1c+F*(C/I)+(B.v.3m=="1N"?0:(F-1k.bj(I/2))*(C/I)),1Y:B.v.3m=="1N"?1:0},B.1V||aG)}}5E(u(){B.v.3m=="1N"?H.1e({ae:"4j"}):H.1e({ae:"4j"}).1Q();if(B.2W){B.2W.1J(H[0])}H.4Z();A(".1A-fK").2k()},B.1V||aG)})}})(1L);(u(A){A.1A.nY=u(B){19 k.3Q(u(){p E=A(k),J=["1p","1c","1b"];p G=A.1A.5B(E,B.v.3m||"1Q");p N=B.v.1E||15;p M=!(!B.v.nX);A.1A.6M(E,J);E.1N();p D=A.1A.7Q(E).1e({2V:"3h"});p H=((G=="1N")!=M);p F=H?["1f","1g"]:["1g","1f"];p C=H?[D.1f(),D.1g()]:[D.1g(),D.1f()];p I=/([0-9]+)%/.8p(N);if(I){N=1m(I[1])/2b*C[G=="1Q"?0:1]}if(G=="1N"){D.1e(M?{1g:0,1f:N}:{1g:N,1f:0})}p L={},K={};L[F[0]]=G=="1N"?C[0]:N;K[F[1]]=G=="1N"?C[1]:0;D.24(L,B.1V/2,B.v.2g).24(K,B.1V/2,B.v.2g,u(){if(G=="1Q"){E.1Q()}A.1A.5C(E,J);A.1A.7e(E);if(B.2W){B.2W.1J(E[0],1T)}E.4Z()})})}})(1L);(u(A){A.1A.bv=u(B){19 k.3Q(u(){p E=A(k),D=["fJ","7b","1Y"];p H=A.1A.5B(E,B.v.3m||"1N");p C=B.v.2h||"#nW";p G=E.1e("7b");A.1A.6M(E,D);E.1N();E.1e({fJ:"64",7b:C});p F={7b:G};if(H=="1Q"){F["1Y"]=0}E.24(F,{3Q:1h,1V:B.1V,2g:B.v.2g,6v:u(){if(H=="1Q"){E.1Q()}A.1A.5C(E,D);if(H=="1N"&&1L.2j.3Z){k.2R.nV("3D")}if(B.2W){B.2W.1J(k,1T)}E.4Z()}})})}})(1L);(u(A){A.1A.nU=u(B){19 k.3Q(u(){p D=A(k);p F=A.1A.5B(D,B.v.3m||"1N");p E=B.v.fC||5;if(F=="1Q"){E--}if(D.is(":3h")){D.1e("1Y",0);D.1N();D.24({1Y:1},B.1V/2,B.v.2g);E=E-2}1R(p C=0;C\').31(1l.1Z);if(B.v.6w){D.1x(B.v.6w)}D.1x(B.v.6w);D.1e({1c:C.1c,1b:C.1b,1g:E.3q()-1m(D.1e("7d"))-1m(D.1e("d6")),1f:E.44()-1m(D.1e("7c"))-1m(D.1e("d5")),1p:"2H"});C=F.1i();jC={1c:C.1c,1b:C.1b,1g:F.3q()-1m(D.1e("7d"))-1m(D.1e("d6")),1f:F.44()-1m(D.1e("7c"))-1m(D.1e("d5"))};D.24(jC,B.1V,B.v.2g,u(){D.2k();if(B.2W){B.2W.1J(E[0],1T)}E.4Z()})})}})(1L);(u(E){E.3P("1a.4M",{52:u(){p G=k.v;if(G.nR){p J=k.1d.2N("a").3D(G.jv);if(J.1t){if(J.3D(G.99).1t){G.48=J}1j{G.48=J.1B().1B().6b();J.1x("3S")}}}G.5A=k.1d.2N(G.99);G.48=C(G.5A,G.48);if(E.2j.3Z){k.1d.2N("a").1e("jB","1")}if(!k.1d.4o("1a-4M")){k.1d.1x("1a-4M");E(\'<3o 2e="1a-4M-1b"/>\').aE(G.5A);E(\'<3o 2e="1a-4M-3L"/>\').31(G.5A);G.5A.1x("1a-4M-99").2Q("nQ","0")}p I;if(G.jA){I=k.1d.1B().1g();G.5A.1D(u(){I-=E(k).3q()});p H=0;G.5A.4I().1D(u(){H=1k.1H(H,E(k).7z()-E(k).1g())}).1g(I-H)}1j{if(G.8y){I=0;G.5A.4I().1D(u(){I=1k.1H(I,E(k).3q())}).1g(I)}}G.5A.82(G.48||"").4I().1Q();G.48.1B().8z().1x(G.3X);if(G.4B){k.1d.1M((G.4B)+".4M",F)}},ad:u(G){F.1P(k.1d[0],{1s:C(k.v.5A,G)[0]})},3s:u(){k.v.5A.4I().1e("4D","");if(k.v.jA||k.v.8y){k.v.5A.4I().1e("1g","")}E.4r(k.1d[0],"4M");k.1d.1G("1a-4M").2G(".4M")}});u B(H,G){19 u(){19 H.1J(G,1T)}}u D(I){if(!E.1w(k,"4M")){19}p G=E.1w(k,"4M");p H=G.v;H.ac=I?0:--H.ac;if(H.ac){19}if(H.nP){H.7P.2l(H.9s).1e({1g:"",2V:""})}G.4h("5q",1n,H.1w)}u A(G,K,L,J,M){p I=E.1w(k,"4M").v;I.7P=G;I.9s=K;I.1w=L;p H=B(D,k);E.1w(k,"4M").4h("nO",1n,I.1w);I.ac=K.1E()===0?G.1E():K.1E();if(I.d3){if(!I.9t&&J){E.1a.4M.fz[I.d3]({7P:1L([]),9s:K,6v:H,53:M,8y:I.8y})}1j{E.1a.4M.fz[I.d3]({7P:G,9s:K,6v:H,53:M,8y:I.8y})}}1j{if(!I.9t&&J){G.6j()}1j{K.1Q();G.1N()}H(1q)}}u F(L){p J=E.1w(k,"4M").v;if(J.1I){19 1h}if(!L.1s&&!J.9t){J.48.1B().8z().d4(J.3X);p I=J.48.4I(),M={v:J,jz:1L([]),jy:J.48,jx:1L([]),jw:I},G=(J.48=E([]));A.1P(k,G,I,M);19 1h}p K=E(L.1s);K=E(K.5F(J.99)[0]||K);p H=K[0]==J.48[0];if(J.ac||(J.9t&&H)){19 1h}if(!K.is(J.99)){19}J.48.1B().8z().d4(J.3X);if(!H){K.1B().8z().1x(J.3X)}p G=K.4I(),I=J.48.4I(),M={v:J,jz:H&&!J.9t?E([]):K,jy:J.48,jx:H&&!J.9t?E([]):G,jw:I},N=J.5A.3J(J.48[0])>J.5A.3J(K[0]);J.48=H?E([]):K;A.1P(k,G,I,M,H,N);19 1h}u C(H,G){19 G?2B G=="84"?H.3D(":eq("+G+")"):H.82(H.82(G)):G===1h?E([]):H.3D(":eq(0)")}E.23(E.1a.4M,{4g:{3X:"2a",9t:1q,d3:"7t",4B:"2n",99:"a",8y:1q,ac:0,jv:u(){19 k.4C.4Y()==c1.4C.4Y()}},fz:{7t:u(G,I){G=E.23({2g:"by",1V:aT},G,I);if(!G.9s.1E()){G.7P.24({1g:"1N"},G);19}p H=G.9s.1g(),J=G.7P.1g(),K=J/H;G.7P.1e({1g:0,2V:"3h"}).1N();G.9s.3D(":3h").1D(G.6v).3i().3D(":4j").24({1g:"1Q"},{ch:u(L){p M=(H-L)*K;if(E.2j.3Z||E.2j.5W){M=1k.hN(M)}G.7P.1g(M)},1V:G.1V,2g:G.2g,6v:u(){if(!G.8y){G.7P.1e("1g","4b")}G.6v()}})},nN:u(G){k.7t(G,{2g:G.53?"nM":"by",1V:G.53?aX:aO})},nL:u(G){k.7t(G,{2g:"nK",1V:nJ})}}})})(1L);(u(A){A.3P("1a.4t",{52:u(){A.23(k.v,{6L:k.v.7k?A.6h.4g.6L:10,1H:!k.v.4y?10:3z,bv:k.v.bv||u(B){19 B},cZ:k.v.cZ||k.v.fr});22 A.6h(k.1d[0],k.v)},6K:u(B){19 k.1d.1M("6K",B)},d2:u(B){19 k.1d.5n("d2",[B])},fw:u(){19 k.1d.5n("fw")},cL:u(B,C){19 k.1d.5n("jp",[{6I:C}])},3s:u(){19 k.1d.5n("jo")}});A.6h=u(L,G){p C={aL:38,aK:40,jm:46,aJ:9,jr:13,jq:27,fy:ju,jt:33,js:34,c6:8};p B=A(L).2Q("4t","dR").1x(G.jk);if(G.6K){B.1M("6K.4t",G.6K)}p J;p P="";p M=A.6h.jf(G);p E=0;p U;p X={cX:1h};p R=A.6h.cO(G,L,D,X);p W;A.2j.5W&&A(L.jn).1M("9q.4t",u(){if(W){W=1h;19 1h}});B.1M((A.2j.5W?"9J":"61")+".4t",u(Y){U=Y.2w;68(Y.2w){1K C.aL:Y.6T();if(R.4j()){R.6b()}1j{T(0,1q)}1S;1K C.aK:Y.6T();if(R.4j()){R.4I()}1j{T(0,1q)}1S;1K C.jt:Y.6T();if(R.4j()){R.j8()}1j{T(0,1q)}1S;1K C.js:Y.6T();if(R.4j()){R.j7()}1j{T(0,1q)}1S;1K G.bx&&A.ab(G.8x)==","&&C.fy:1K C.aJ:1K C.jr:if(D()){Y.6T();W=1q;19 1h}1S;1K C.jq:R.1Q();1S;4S:fv(J);J=5E(T,G.6L);1S}}).3c(u(){E++}).7o(u(){E=0;if(!X.cX){S()}}).2n(u(){if(E++>1&&!R.4j()){T(0,1q)}}).1M("d2",u(){p Y=(1T.1t>1)?1T[1]:1n;u Z(d,c){p a;if(c&&c.1t){1R(p b=0;b1){Y=a.7s(0,a.1t-1).6p(G.8x)+G.8x+Y}Y+=G.8x}B.2v(Y);V();B.5n("6K",[Z.1w,Z.1X]);19 1q}u T(a,Z){if(U==C.jm){R.1Q();19}p Y=B.2v();if(!Z&&Y==P){19}P=Y;Y=I(Y);if(Y.1t>=G.fs){B.1x(G.7Z);if(!G.d0){Y=Y.4Y()}F(Y,K,V)}1j{N();R.1Q()}}u H(Z){if(!Z){19[""]}p a=Z.6X(G.8x);p Y=[];A.1D(a,u(b,c){if(A.ab(c)){Y[b]=A.ab(c)}});19 Y}u I(Y){if(!G.bx){19 Y}p Z=H(Y);19 Z[Z.1t-1]}u Q(Y,Z){if(G.jh&&(I(B.2v()).4Y()==Y.4Y())&&U!=C.c6){B.2v(B.2v()+Z.fk(I(P).1t));A.6h.fp(L,P.1t,P.1t+Z.1t)}}u S(){fv(J);J=5E(V,aO)}u V(){p Y=R.4j();R.1Q();fv(J);N();if(G.jj){B.4t("d2",u(Z){if(!Z){if(G.bx){p a=H(B.2v()).7s(0,-1);B.2v(a.6p(G.8x)+(a.1t?G.8x:""))}1j{B.2v("")}}})}if(Y){A.6h.fp(L,L.1X.1t,L.1X.1t)}}u K(Z,Y){if(Y&&Y.1t&&E){N();R.4D(Y,Z);Q(Z,Y[0].1X);R.1N()}1j{V()}}u F(b,d,a){if(!G.d0){b=b.4Y()}p c=M.5m(b);if(c&&c.1t){d(b,c)}1j{if((2B G.7k=="4s")&&(G.7k.1t>0)){p f={nI:+22 2m()};A.1D(G.ji,u(g,h){f[g]=2B h=="u"?h():h});A.gC({3m:"gD",nH:"4t"+L.4u,jl:G.jl,7k:G.7k,1w:A.23({q:I(b),nG:G.1H},f),bY:u(h){p g=G.d1&&G.d1(h)||O(h);M.2l(b,g);d(b,g)}})}1j{if(G.fu&&2B G.fu=="u"){p Z=G.fu(b);p Y=(G.d1)?G.d1(Z):Z;M.2l(b,Y);d(b,Y)}1j{R.j6();a(b)}}}}u O(b){p Y=[];p a=b.6X("\\n");1R(p Z=0;Z]*)("+B.5o(/([\\^\\$\\(\\)\\[\\]\\{\\}\\*\\.\\+\\?\\|\\\\])/gi,"\\\\$1")+")(?![^<>]*>)(?![^&;]+;)","gi"),"$1")},4y:1q,5s:fj};A.23(A.1a.4t,{4g:A.6h.4g});A.6h.jf=u(C){p F={};p D=0;u H(K,J){if(!C.d0){K=K.4Y()}p I=K.4N(J);if(I==-1){19 1h}19 I==0||C.ft}u G(J,I){if(D>C.bw){B()}if(!F[J]){D++}F[J]=I}u E(){if(!C.1w){19 1h}p J={},I=0;if(!C.7k){C.bw=1}J[""]=[];1R(p L=0,K=C.1w.1t;L0){p M=F[I];A.1D(M,u(O,N){if(H(N.1X,L)){K.4n(N)}})}}19 K}1j{if(F[L]){19 F[L]}1j{if(C.jc){1R(p J=L.1t-1;J>=C.fs;J--){p M=F[L.gG(0,J)];if(M){p K=[];A.1D(M,u(O,N){if(H(N.1X,L)){K[K.1t]=N}});19 K}}}}}19 1n}}};A.6h.cO=u(E,J,L,P){p I={6J:"1a-4t-4w"};p K,F=-1,R,M="",S=1q,C,O;u N(){if(!S){19}C=A("<1v/>").1Q().1x(E.jb).1e("1p","2H").31(1l.1Z);O=A("").31(C).ja(u(T){if(Q(T).3l&&Q(T).3l.nC()=="j9"){F=A("li",O).1G(I.6J).3J(Q(T));A(Q(T)).1x(I.6J)}}).2n(u(T){A(Q(T)).1x(I.6J);L();J.3c();19 1h}).5f(u(){P.cX=1q}).63(u(){P.cX=1h});if(E.1f>0){C.1e("1f",E.1f)}S=1h}u Q(U){p T=U.1s;4X(T&&T.5c!="j9"){T=T.3f}if(!T){19[]}19 T}u H(T){K.7s(F,F+1).1G(I.6J);G(T);p V=K.7s(F,F+1).1x(I.6J);if(E.4y){p U=0;K.7s(0,F).1D(u(){U+=k.3H});if((U+V[0].3H-O.2q())>O[0].a2){O.2q(U+V[0].3H-O.7z())}1j{if(U=K.1E()){F=0}}}u B(T){19 E.1H&&E.1H").2y(E.bv(W,M)).1x(V%2==0?"1a-4t-nB":"1a-4t-nA").31(O)[0];A.1w(T,"1a-4t-1w",R[V])}K=O.2N("li");if(E.fq){K.7s(0,1).1x(I.6J);F=0}if(A.fn.7A){O.7A()}}19{4D:u(U,T){N();R=U;M=T;D()},4I:u(){H(1)},6b:u(){H(-1)},j8:u(){if(F!=0&&F-8<0){H(-F)}1j{H(-8)}},j7:u(){if(F!=K.1E()-1&&F+8>K.1E()){H(K.1E()-1-F)}1j{H(8)}},1Q:u(){C&&C.1Q();K&&K.1G(I.6J);F=-1;A(J).3v("nz",[{},{v:E}],E["1Q"])},4j:u(){19 C&&C.is(":4j")},3S:u(){19 k.4j()&&(K.3D("."+I.6J)[0]||E.fq&&K[0])},1N:u(){p V=A(J).1i();C.1e({1f:2B E.1f=="4s"||E.1f>0?E.1f:A(J).1f(),1c:V.1c+J.3H,1b:V.1b}).1N();if(E.4y){O.2q(0);O.1e({71:E.5s,2V:"4b"});if(A.2j.3Z&&2B 1l.1Z.2R.71==="2f"){p T=0;K.1D(u(){T+=k.3H});p U=T>E.5s;O.1e("1g",U?E.5s:T);if(!U){K.1f(O.1f()-1m(K.1e("aV-1b"))-1m(K.1e("aV-3L")))}}}A(J).3v("ny",[{},{v:E}],E["1N"])},2a:u(){p T=K&&K.3D("."+I.6J).1G(I.6J);19 T&&T.1t&&A.1w(T[0],"1a-4t-1w")},j6:u(){O&&O.b0()},2G:u(){C&&C.2k()}}};A.6h.fp=u(D,E,C){if(D.j5){p B=D.j5();B.nx(1q);B.nv("j4",E);B.nu("j4",C);B.51()}1j{if(D.j3){D.j3(E,C)}1j{if(D.j2){D.j2=E;D.nt=C}}}D.3c()}})(1L);(u(A){A.3P("1a.2i",{52:u(){k.fm=65;p D=k.v,B=k,C=\'<1v 2e="1a-2i ns"><1v 2e="1a-2i-2h"><1v><1v><1v 2e="1a-2i-aa"><1v><1v 2e="1a-2i-22-2h"><1v 2e="1a-2i-3S-2h"><1v 2e="1a-2i-79"><3u 1R="1a-2i-79" 4E="79"><1z 4k="4H" 9r="6" 1E="6" /><1v 2e="1a-2i-5y-r 1a-2i-7a"><3u 1R="1a-2i-5y-r"><1z 4k="4H" 9r="3" 1E="2" /><3o><1v 2e="1a-2i-5y-g 1a-2i-7a"><3u 1R="1a-2i-5y-g"><1z 4k="4H" 9r="3" 1E="2" /><3o><1v 2e="1a-2i-5y-b 1a-2i-7a"><3u 1R="1a-2i-5y-b"<1z 4k="4H" 9r="3" 1E="2" /><3o><1v 2e="1a-2i-5z-h 1a-2i-7a"><3u 1R="1a-2i-5z-h"><1z 4k="4H" 9r="3" 1E="2" /><3o><1v 2e="1a-2i-5z-s 1a-2i-7a"><3u 1R="1a-2i-5z-s"><1z 4k="4H" 9r="3" 1E="2" /><3o><1v 2e="1a-2i-5z-b 1a-2i-7a"><3u 1R="1a-2i-5z-b"><1z 4k="4H" 9r="3" 1E="2" /><3o><43 2e="1a-2i-9q 1a-4S-j1" 4u="9q" 4k="43">nr\';if(2B D.2h=="4s"){k.2h=k.cR(D.2h)}1j{if(D.2h.r!=2f&&D.2h.g!=2f&&D.2h.b!=2f){k.2h=k.bt(D.2h)}1j{if(D.2h.h!=2f&&D.2h.s!=2f&&D.2h.b!=2f){k.2h=k.cQ(D.2h)}1j{19 k}}}k.fi=k.2h;k.4a=A(C);if(D.fh){k.4a.31(k.1d).1N()}1j{k.4a.31(1l.1Z)}k.5b=k.4a.2N("1z").1M("61",u(E){19 B.iX.1P(B,E)}).1M("5q",u(E){19 B.4L.1P(B,E)}).1M("7o",u(E){19 B.cf.1P(B,E)}).1M("3c",u(E){19 B.7u.1P(B,E)});k.4a.2N("3o").1M("5f",u(E){19 B.iW.1P(B,E)});k.fo=k.4a.2N("1v.1a-2i-2h").1M("5f",u(E){19 B.iQ.1P(B,E)});k.j0=k.fo.2N("1v 1v");k.aa=k.4a.2N("1v.1a-2i-aa 1v");k.4a.2N("1v.1a-2i-aa").1M("5f",u(E){19 B.iT.1P(B,E)});k.iY=k.4a.2N("1v.1a-2i-22-2h");k.iZ=k.4a.2N("1v.1a-2i-3S-2h");k.4a.2N(".1a-2i-9q").1M("nq",u(E){19 B.iN.1P(B,E)}).1M("np",u(E){19 B.iM.1P(B,E)}).1M("2n",u(E){19 B.iL.1P(B,E)});k.a9(k.2h);k.a8(k.2h);k.a7(k.2h);k.bs(k.2h);k.br(k.2h);k.cP(k.2h);k.bq(k.2h);if(D.fh){k.4a.1e({1p:"2C",4D:"7m"})}1j{A(k.1d).1M(D.iB+".2i",u(E){19 B.cW.1P(B,E)})}},3s:u(){k.4a.2k();k.1d.4r("2i").2G(".2i")},a9:u(B){p C=k.8v(B);k.5b.eq(1).2v(C.r).3i().eq(2).2v(C.g).3i().eq(3).2v(C.b).3i()},a8:u(B){k.5b.eq(4).2v(B.h).3i().eq(5).2v(B.s).3i().eq(6).2v(B.b).3i()},a7:u(B){k.5b.eq(0).2v(k.78(B)).3i()},br:u(B){k.fo.1e("7b","#"+k.78({h:B.h,s:2b,b:2b}));k.j0.1e({1b:1m(3z*B.s/2b,10),1c:1m(3z*(2b-B.b)/2b,10)})},bs:u(B){k.aa.1e("1c",1m(3z-3z*B.h/9p,10))},cP:u(B){k.iZ.1e("7b","#"+k.78(B))},bq:u(B){k.iY.1e("7b","#"+k.78(B))},iX:u(B){p C=B.f6||B.2w||-1;if((C>=k.fm&&C<=90)||C==32){19 1h}},4L:u(D,C){p B;C=C||D.1s;if(C.3f.6w.4N("-79")>0){k.2h=B=k.cR(k.1X);k.a9(B.2h);k.a8(B)}1j{if(C.3f.6w.4N("-5z")>0){k.2h=B=k.cQ({h:1m(k.5b.eq(4).2v(),10),s:1m(k.5b.eq(5).2v(),10),b:1m(k.5b.eq(6).2v(),10)});k.a9(B);k.a7(B)}1j{k.2h=B=k.bt(k.iF({r:1m(k.5b.eq(1).2v(),10),g:1m(k.5b.eq(2).2v(),10),b:1m(k.5b.eq(3).2v(),10)}));k.a7(B);k.a8(B)}}k.br(B);k.bs(B);k.bq(B);k.4h("5q",D,{v:k.v,5z:B,79:k.78(B),5y:k.8v(B)})},cf:u(C){p B=k.2h;k.a9(B);k.a8(B);k.a7(B);k.bs(B);k.br(B);k.bq(B);k.5b.1B().1G("1a-2i-3c")},7u:u(B){k.fm=B.1s.3f.6w.4N("-79")>0?70:65;k.5b.1B().1G("1a-2i-3c");A(B.1s.3f).1x("1a-2i-3c")},iW:u(D){p C=A(D.1s).1B().2N("1z").3c(),B=k;k.8w={el:A(D.1s).1B().1x("1a-2i-54"),1H:D.1s.3f.6w.4N("-5z-h")>0?9p:(D.1s.3f.6w.4N("-5z")>0?2b:2t),y:D.3g,7a:C,2v:1m(C.2v(),10)};A(1l).1M("63.6g",u(E){19 B.iU.1P(B,E)});A(1l).1M("6V.6g",u(E){19 B.iV.1P(B,E)});19 1h},iV:u(B){k.8w.7a.2v(1k.1H(0,1k.1W(k.8w.1H,1m(k.8w.2v+B.3g-k.8w.y,10))));k.4L.1J(k,[B,k.8w.7a.4x(0)]);19 1h},iU:u(B){k.8w.el.1G("1a-2i-54").2N("1z").3c();k.4L.1J(k,[B,k.8w.7a.4x(0)]);A(1l).2G("63.6g");A(1l).2G("6V.6g");19 1h},iT:u(C){k.fl={y:k.4a.2N("1v.1a-2i-aa").1i().1c};k.4L.1J(k,[C,k.5b.eq(4).2v(1m(9p*(3z-1k.1H(0,1k.1W(3z,(C.3g-k.fl.y))))/3z,10)).4x(0)]);p B=k;A(1l).1M("63.6g",u(D){19 B.iR.1P(B,D)});A(1l).1M("6V.6g",u(D){19 B.iS.1P(B,D)});19 1h},iS:u(B){k.4L.1J(k,[B,k.5b.eq(4).2v(1m(9p*(3z-1k.1H(0,1k.1W(3z,(B.3g-k.fl.y))))/3z,10)).4x(0)]);19 1h},iR:u(B){A(1l).2G("63.6g");A(1l).2G("6V.6g");19 1h},iQ:u(C){p B=k;k.bu={2M:k.4a.2N("1v.1a-2i-2h").1i()};k.4L.1J(k,[C,k.5b.eq(6).2v(1m(2b*(3z-1k.1H(0,1k.1W(3z,(C.3g-k.bu.2M.1c))))/3z,10)).3i().eq(5).2v(1m(2b*(1k.1H(0,1k.1W(3z,(C.3x-k.bu.2M.1b))))/3z,10)).4x(0)]);A(1l).1M("63.6g",u(D){19 B.iO.1P(B,D)});A(1l).1M("6V.6g",u(D){19 B.iP.1P(B,D)});19 1h},iP:u(B){k.4L.1J(k,[B,k.5b.eq(6).2v(1m(2b*(3z-1k.1H(0,1k.1W(3z,(B.3g-k.bu.2M.1c))))/3z,10)).3i().eq(5).2v(1m(2b*(1k.1H(0,1k.1W(3z,(B.3x-k.bu.2M.1b))))/3z,10)).4x(0)]);19 1h},iO:u(B){A(1l).2G("63.6g");A(1l).2G("6V.6g");19 1h},iN:u(B){k.4a.2N(".1a-2i-9q").1x("1a-2i-3c")},iM:u(B){k.4a.2N(".1a-2i-9q").1G("1a-2i-3c")},iL:u(C){p B=k.2h;k.fi=B;k.cP(B);k.4h("9q",C,{v:k.v,5z:B,79:k.78(B),5y:k.8v(B)});19 1h},cW:u(F){k.4h("a3",F,{v:k.v,5z:k.2h,79:k.78(k.2h),5y:k.8v(k.2h)});p G=k.1d.1i();p E=k.iH();p D=G.1c+k.1d[0].3H;p C=G.1b;if(D+iK>E.t+1k.1W(E.h,E.ih)){D-=k.1d[0].3H+iK}if(C+iJ>E.l+1k.1W(E.w,E.iw)){C-=iJ}k.4a.1e({1b:C+"px",1c:D+"px"});if(k.4h("1N",F,{v:k.v,5z:k.2h,79:k.78(k.2h),5y:k.8v(k.2h)})!=1h){k.4a.1N()}p B=k;A(1l).1M("5f.2i",u(H){19 B.cV.1P(B,H)});19 1h},cV:u(B){if(!k.iI(k.4a[0],B.1s,k.4a[0])){if(k.4h("1Q",B,{v:k.v,5z:k.2h,79:k.78(k.2h),5y:k.8v(k.2h)})!=1h){k.4a.1Q()}A(1l).2G("5f.2i")}},iI:u(D,C,B){if(D==C){19 1q}if(D.cU&&!A.2j.aC){19 D.cU(C)}if(D.cT){19!!(D.cT(C)&16)}p E=C.3f;4X(E&&E!=B){if(E==D){19 1q}E=E.3f}19 1h},iH:u(){p E,C,B,F,D,G;if(1l.3T){E=1l.3T.2q;C=1l.3T.2D;B=1l.3T.8Y;F=1l.3T.5s}1j{E=1l.1Z.2q;C=1l.1Z.2D;B=1l.1Z.8Y;F=1l.1Z.5s}D=iG.8X||1l.3T.bn||1l.1Z.bn||0;G=iG.7z||1l.3T.a2||1l.1Z.a2||0;19{t:E,l:C,w:B,h:F,iw:D,ih:G}},cQ:u(B){19{h:1k.1W(9p,1k.1H(0,B.h)),s:1k.1W(2b,1k.1H(0,B.s)),b:1k.1W(2b,1k.1H(0,B.b))}},iF:u(B){19{r:1k.1W(2t,1k.1H(0,B.r)),g:1k.1W(2t,1k.1H(0,B.g)),b:1k.1W(2t,1k.1H(0,B.b))}},iE:u(B){p B=1m(((B.4N("#")>-1)?B.fk(1):B),16);19{r:B>>16,g:(B&no)>>8,b:(B&2t)}},cR:u(B){19 k.bt(k.iE(B))},bt:u(C){p B={};B.b=1k.1H(1k.1H(C.r,C.g),C.b);B.s=(B.b<=0)?0:1k.2S(2b*(B.b-1k.1W(1k.1W(C.r,C.g),C.b))/B.b);B.b=1k.2S((B.b/2t)*2b);if((C.r==C.g)&&(C.g==C.b)){B.h=0}1j{if(C.r>=C.g&&C.g>=C.b){B.h=60*(C.g-C.b)/(C.r-C.b)}1j{if(C.g>=C.r&&C.r>=C.b){B.h=60+60*(C.g-C.r)/(C.g-C.b)}1j{if(C.g>=C.b&&C.b>=C.r){B.h=iD+60*(C.b-C.r)/(C.g-C.r)}1j{if(C.b>=C.g&&C.g>=C.r){B.h=fj+60*(C.b-C.g)/(C.b-C.r)}1j{if(C.b>=C.r&&C.r>=C.g){B.h=cS+60*(C.r-C.g)/(C.b-C.g)}1j{if(C.r>=C.b&&C.b>=C.g){B.h=aT+60*(C.r-C.b)/(C.r-C.g)}1j{B.h=0}}}}}}}B.h=1k.2S(B.h);19 B},8v:u(B){p D={};p H=1k.2S(B.h);p G=1k.2S(B.s*2t/2b);p C=1k.2S(B.b*2t/2b);if(G==0){D.r=D.g=D.b=C}1j{p I=C;p F=(2t-G)*C/2t;p E=(I-F)*(H%60)/60;if(H==9p){H=0}if(H<60){D.r=I;D.b=F;D.g=F+E}1j{if(H\')}$.23(b2.5d,{6G:"mu",eR:u(){if(k.iv){mt.eR.1J("",1T)}},ms:u(2r){9N(k.5x,2r||{});19 k},hp:u(1s,2r){p a6=1n;1R(cN in k.5x){p cM=1s.mr("1r:"+cN);if(cM){a6=a6||{};cA{a6[cN]=mq(cM)}cz(im){a6[cN]=cM}}}p 3l=1s.3l.4Y();p 4i=(3l=="1v"||3l=="3o");if(!1s.id){1s.id="dp"+(++k.aW)}p 18=k.fb($(1s),4i);18.2r=$.23({},2r||{},a6||{});if(3l=="1z"){k.iu(1s,18)}1j{if(4i){k.iq(1s,18)}}},fb:u(1s,4i){p id=1s[0].id.5o(/([:\\[\\]\\.])/g,"\\\\\\\\$1");19{id:id,1z:1s,5h:0,4V:0,58:0,2I:0,2U:0,4i:4i,2Z:(!4i?k.2Z:$(\'<1v 2e="\'+k.f9+\'">\'))}},iu:u(1s,18){p 1z=$(1s);if(1z.4o(k.6G)){19}p bp=k.1y(18,"bp");p 5J=k.1y(18,"5J");if(bp){1z[5J?"c2":"e0"](\'<3o 2e="\'+k.fa+\'">\'+bp+"")}p 9m=k.1y(18,"9m");if(9m=="3c"||9m=="6u"){1z.3c(k.a4)}if(9m=="43"||9m=="6u"){p 8u=k.1y(18,"8u");p a5=k.1y(18,"a5");p 5n=$(k.1y(18,"it")?$("<9x/>").1x(k.7L).2Q({ez:a5,ir:8u,4E:8u}):$(\'<43 4k="43">\').1x(k.7L).2y(a5==""?8u:$("<9x/>").2Q({ez:a5,ir:8u,4E:8u})));1z[5J?"c2":"e0"](5n);5n.2n(u(){if($.1o.9h&&$.1o.a0==1s){$.1o.7H()}1j{$.1o.a4(1s)}19 1h})}1z.1x(k.6G).61(k.cJ).9J(k.f7).1M("cL.1o",u(4B,6I,1X){18.2r[6I]=1X}).1M("fc.1o",u(4B,6I){19 k.1y(18,6I)});$.1w(1s,8t,18)},iq:u(1s,18){p fd=$(1s);if(fd.4o(k.6G)){19}fd.1x(k.6G).5e(18.2Z).1M("cL.1o",u(4B,6I,1X){18.2r[6I]=1X}).1M("fc.1o",u(4B,6I){19 k.1y(18,6I)});$.1w(1s,8t,18);k.eM(18,k.eQ(18));k.6F(18)},mp:u(18){p 4K=k.9P(18);18.2Z.1f(4K[1]*$(".1a-1o",18.2Z[0]).1f())},mo:u(1z,io,8r,2r,2M){p 18=k.ip;if(!18){p id="dp"+(++k.aW);k.76=$(\'<1z 4k="4H" id="\'+id+\'" 1E="1" 2R="1p: 2H; 1c: -ig;"/>\');k.76.61(k.cJ);$("1Z").5e(k.76);18=k.ip=k.fb(k.76,1h);18.2r={};$.1w(k.76[0],8t,18)}9N(18.2r,2r||{});k.76.2v(io);k.5O=(2M?(2M.1t?2M:[2M.3x,2M.3g]):1n);if(!k.5O){p cI=3p.8X||1l.3T.bn||1l.1Z.bn;p cH=3p.7z||1l.3T.a2||1l.1Z.a2;p 9l=1l.3T.2D||1l.1Z.2D;p 9k=1l.3T.2q||1l.1Z.2q;k.5O=[(cI/2)-2b+9l,(cH/2)-3z+9k]}k.76.1e("1b",k.5O[0]+"px").1e("1c",k.5O[1]+"px");18.2r.8r=8r;k.8s=1q;k.2Z.1x(k.f0);k.a4(k.76[0]);if($.bl){$.bl(k.2Z)}$.1w(k.76[0],8t,18);19 k},mn:u(1s){p $1s=$(1s);if(!$1s.4o(k.6G)){19}p 3l=1s.3l.4Y();$.4r(1s,8t);if(3l=="1z"){$1s.5U("."+k.fa).2k().3i().5U("."+k.7L).2k().3i().1G(k.6G).2G("3c",k.a4).2G("61",k.cJ).2G("9J",k.f7)}1j{if(3l=="1v"||3l=="3o"){$1s.1G(k.6G).b0()}}},ml:u(1s){p $1s=$(1s);if(!$1s.4o(k.6G)){19}p 3l=1s.3l.4Y();if(3l=="1z"){1s.1I=1h;$1s.5U("43."+k.7L).1D(u(){k.1I=1h}).3i().5U("9x."+k.7L).1e({1Y:"1.0",30:""})}1j{if(3l=="1v"||3l=="3o"){$1s.9C("."+k.f8).2k()}}k.7N=$.7n(k.7N,u(1X){19(1X==1s?1n:1X)})},mk:u(1s){p $1s=$(1s);if(!$1s.4o(k.6G)){19}p 3l=1s.3l.4Y();if(3l=="1z"){1s.1I=1q;$1s.5U("43."+k.7L).1D(u(){k.1I=1q}).3i().5U("9x."+k.7L).1e({1Y:"0.5",30:"4S"})}1j{if(3l=="1v"||3l=="3o"){p 4i=$1s.9C("."+k.f9);p 1i=4i.1i();p cK={1b:0,1c:0};4i.5F().1D(u(){if($(k).1e("1p")=="2C"){cK=$(k).1i();19 1h}});$1s.mj(\'<1v 2e="\'+k.f8+\'" 2R="\'+($.2j.3Z?"bo-2h: 7O; ":"")+"1f: "+4i.1f()+"px; 1g: "+4i.1g()+"px; 1b: "+(1i.1b-cK.1b)+"px; 1c: "+(1i.1c-cK.1c)+\'px;">\')}}k.7N=$.7n(k.7N,u(1X){19(1X==1s?1n:1X)});k.7N[k.7N.1t]=1s},il:u(1s){if(!1s){19 1h}1R(p i=0;i-1)},a4:u(1z){1z=1z.1s||1z;if(1z.3l.4Y()!="1z"){1z=$("1z",1z.3f)[0]}if($.1o.il(1z)||$.1o.a0==1z){19}p 18=$.1o.59(1z);p a3=$.1o.1y(18,"a3");9N(18.2r,(a3?a3.1J(1z,[1z,18]):{}));$.1o.7H(1n,"");$.1o.a0=1z;$.1o.eT(18);if($.1o.8s){1z.1X=""}if(!$.1o.5O){$.1o.5O=$.1o.f3(1z);$.1o.5O[1]+=1z.3H}p 5k=1h;$(1z).5F().1D(u(){5k|=$(k).1e("1p")=="6H";19!5k});if(5k&&$.2j.5W){$.1o.5O[0]-=1l.3T.2D;$.1o.5O[1]-=1l.3T.2q}p 1i={1b:$.1o.5O[0],1c:$.1o.5O[1]};$.1o.5O=1n;18.4v=1n;18.2Z.1e({1p:"2H",4D:"7m",1c:"-me"});$.1o.6F(18);18.2Z.1f($.1o.9P(18)[1]*$(".1a-1o",18.2Z[0])[0].4G);1i=$.1o.ij(18,1i,5k);18.2Z.1e({1p:($.1o.8s&&$.bl?"7M":(5k?"6H":"2H")),4D:"64",1b:1i.1b+"px",1c:1i.1c+"px"});if(!18.4i){p 6f=$.1o.1y(18,"6f")||"1N";p 1V=$.1o.1y(18,"1V");p 9i=u(){$.1o.9h=1q;if($.2j.3Z&&1m($.2j.8c,10)<7){$("b6.1a-1o-ey").1e({1f:18.2Z.1f()+4,1g:18.2Z.1g()+4})}};if($.1A&&$.1A[6f]){18.2Z.1N(6f,$.1o.1y(18,"f2"),1V,9i)}1j{18.2Z[6f](1V,9i)}if(1V==""){9i()}if(18.1z[0].4k!="3h"){18.1z[0].3c()}$.1o.a1=18}},6F:u(18){p f4={1f:18.2Z.1f()+4,1g:18.2Z.1g()+4};18.2Z.b0().5e(k.i2(18)).2N("b6.1a-1o-ey").1e({1f:f4.1f,1g:f4.1g});p 4K=k.9P(18);18.2Z[(4K[0]!=1||4K[1]!=1?"2l":"2k")+"ik"]("1a-1o-md");18.2Z[(k.1y(18,"5J")?"2l":"2k")+"ik"]("1a-1o-mc");if(18.1z&&18.1z[0].4k!="3h"){$(18.1z[0]).3c()}},ij:u(18,1i,5k){p 2M=18.1z?k.f3(18.1z[0]):1n;p cI=3p.8X||1l.3T.bn;p cH=3p.7z||1l.3T.a2;p 9l=1l.3T.2D||1l.1Z.2D;p 9k=1l.3T.2q||1l.1Z.2q;if(k.1y(18,"5J")||(1i.1b+18.2Z.1f()-9l)>cI){1i.1b=1k.1H((5k?0:9l),2M[0]+(18.1z?18.1z.1f():0)-(5k?9l:0)-18.2Z.1f()-(5k&&$.2j.5W?1l.3T.2D:0))}1j{1i.1b-=(5k?9l:0)}if((1i.1c+18.2Z.1g()-9k)>cH){1i.1c=1k.1H((5k?0:9k),2M[1]-(5k?9k:0)-(k.8s?0:18.2Z.1g())-(5k&&$.2j.5W?1l.3T.2q:0))}1j{1i.1c-=(5k?9k:0)}19 1i},f3:u(9j){4X(9j&&(9j.4k=="3h"||9j.mb!=1)){9j=9j.ii}p 1p=$(9j).1i();19[1p.1b,1p.1c]},7H:u(1z,1V){p 18=k.a1;if(!18||(1z&&18!=$.1w(1z,8t))){19}p 5L=k.1y(18,"5L");if(5L&&18.7K){k.cF("#"+18.id,k.95(18,18.4J,18.5g,18.57))}18.7K=1h;if(k.9h){1V=(1V!=1n?1V:k.1y(18,"1V"));p 6f=k.1y(18,"6f");p 9i=u(){$.1o.f1(18)};if(1V!=""&&$.1A&&$.1A[6f]){18.2Z.1Q(6f,$.1o.1y(18,"f2"),1V,9i)}1j{18.2Z[(1V==""?"1Q":(6f=="ma"?"m9":(6f=="m8"?"m7":"1Q")))](1V,9i)}if(1V==""){k.f1(18)}p bm=k.1y(18,"bm");if(bm){bm.1J((18.1z?18.1z[0]:1n),[(18.1z?18.1z.2v():""),18])}k.9h=1h;k.a0=1n;18.2r.9W=1n;if(k.8s){k.76.1e({1p:"2H",1b:"0",1c:"-ig"});if($.bl){$.m6();$("1Z").5e(k.2Z)}}k.8s=1h}k.a1=1n},f1:u(18){18.2Z.1G(k.f0).2G(".1a-1o");$("."+k.eH,18.2Z).2k()},hq:u(4B){if(!$.1o.a1){19}p $1s=$(4B.1s);if(($1s.5F("#"+$.1o.eZ).1t==0)&&!$1s.4o($.1o.6G)&&!$1s.4o($.1o.7L)&&$.1o.9h&&!($.1o.8s&&$.bl)){$.1o.7H(1n,"")}},5K:u(id,1i,6z){p 1s=$(id);p 18=k.59(1s[0]);k.co(18,1i,6z);k.6F(18)},eF:u(id){p 1s=$(id);p 18=k.59(1s[0]);if(k.1y(18,"eI")&&18.4J){18.5h=18.4J;18.2I=18.4V=18.5g;18.2U=18.58=18.57}1j{p 1r=22 2m();18.5h=1r.3A();18.2I=18.4V=1r.3M();18.2U=18.58=1r.3d()}k.b4(18);k.5K(1s)},ev:u(id,51,6z){p 1s=$(id);p 18=k.59(1s[0]);18.cG=1h;18["2a"+(6z=="M"?"ie":"ic")]=18["m5"+(6z=="M"?"ie":"ic")]=1m(51.v[51.m4].1X,10);k.b4(18);k.5K(1s)},eu:u(id){p 1s=$(id);p 18=k.59(1s[0]);if(18.1z&&18.cG&&!$.2j.3Z){18.1z[0].3c()}18.cG=!18.cG},hQ:u(id,2L){p 1s=$(id);p 18=k.59(1s[0]);18.2r.5v=2L;k.6F(18)},eB:u(id,2E,2s,5u){if($(5u).4o(k.eC)){19}p 1s=$(id);p 18=k.59(1s[0]);p 5L=k.1y(18,"5L");if(5L){18.7K=!18.7K;if(18.7K){$(".1a-1o 5u",18.2Z).1G(k.cq);$(5u).1x(k.cq)}}18.5h=18.4J=$("a",5u).2y();18.4V=18.5g=2E;18.58=18.57=2s;if(18.7K){18.6a=18.6D=18.4l=1n}1j{if(5L){18.6a=18.4J;18.6D=18.5g;18.4l=18.57}}k.cF(id,k.95(18,18.4J,18.5g,18.57));if(18.7K){18.4v=22 2m(18.57,18.5g,18.4J);k.6F(18)}1j{if(5L){18.5h=18.4J=18.4v.3A();18.4V=18.5g=18.4v.3M();18.58=18.57=18.4v.3d();18.4v=1n;if(18.4i){k.6F(18)}}}},eJ:u(id){p 1s=$(id);p 18=k.59(1s[0]);if(k.1y(18,"eK")){19}18.7K=1h;18.6a=18.6D=18.4l=18.4v=1n;k.cF(1s,"")},cF:u(id,6e){p 1s=$(id);p 18=k.59(1s[0]);6e=(6e!=1n?6e:k.95(18));if(k.1y(18,"5L")&&6e){6e=(18.4v?k.95(18,18.4v):6e)+k.1y(18,"bh")+6e}if(18.1z){18.1z.2v(6e)}k.eY(18);p 8r=k.1y(18,"8r");if(8r){8r.1J((18.1z?18.1z[0]:1n),[6e,18])}1j{if(18.1z){18.1z.5n("5q")}}if(18.4i){k.6F(18)}1j{if(!18.7K){k.7H(1n,k.1y(18,"1V"));k.a0=18.1z[0];if(2B(18.1z[0])!="7C"){18.1z[0].3c()}k.a0=1n}}},eY:u(18){p bk=k.1y(18,"bk");if(bk){p 9Z=k.1y(18,"9Z");p 1r=k.eL(18);6e=(hr(1r)?(!1r[0]&&!1r[1]?"":k.6x(9Z,1r[0],k.69(18))+k.1y(18,"bh")+k.6x(9Z,1r[1]||1r[0],k.69(18))):k.6x(9Z,1r,k.69(18)));$(bk).1D(u(){$(k).2v(6e)})}},m3:u(1r){p 2L=1r.9Q();19[(2L>0&&2L<6),""]},cw:u(1r){p 6E=22 2m(1r.3d(),1r.3M(),1r.3A(),(1r.m2()/-60));p 9Y=22 2m(6E.3d(),1-1,4);p 5v=9Y.9Q()||7;9Y.cn(9Y.3A()+1-5v);if(5v<4&&6E<9Y){6E.cn(6E.3A()-3);19 $.1o.cw(6E)}1j{if(6E>22 2m(6E.3d(),12-1,28)){5v=22 2m(6E.3d()+1,1-1,4).9Q()||7;if(5v>4&&(6E.9Q()||7)<5v-3){19 1}}}19 1k.bj(((6E-9Y)/m1)/7)+1},9b:u(1r,18){19 $.1o.6x($.1o.1y(18,"9b"),1r,$.1o.69(18))},eS:u(3E,1X,2r){if(3E==1n||1X==1n){8N"eN 1T"}1X=(2B 1X=="7C"?1X.7p():1X+"");if(1X==""){19 1n}p 5H=(2r?2r.5H:1n)||k.5x.5H;p 5t=(2r?2r.5t:1n)||k.5x.5t;p 5i=(2r?2r.5i:1n)||k.5x.5i;p 6y=(2r?2r.6y:1n)||k.5x.6y;p 4W=(2r?2r.4W:1n)||k.5x.4W;p 2s=-1;p 2E=-1;p 2L=-1;p 9f=-1;p 5M=1h;p 5N=u(3V){p 5w=(3C+1<3E.1t&&3E.4m(3C+1)==3V);if(5w){3C++}19 5w};p 9X=u(3V){5N(3V);p eX=(3V=="@"?14:(3V=="y"?4:(3V=="o"?3:2)));p 1E=eX;p 7J=0;4X(1E>0&&6d<1X.1t&&1X.4m(6d)>="0"&&1X.4m(6d)<="9"){7J=7J*10+1m(1X.4m(6d++),10);1E--}if(1E==eX){8N"ib 84 at 1p "+6d}19 7J};p eW=u(3V,cC,cD){p bi=(5N(3V)?cD:cC);p 1E=0;1R(p j=0;j0&&6d<1X.1t){4u+=1X.4m(6d++);1R(p i=0;i-1){2E=1;2L=9f;do{p eV=k.97(2s,2E-1);if(2L<=eV){1S}2E++;2L-=eV}4X(1q)}p 1r=22 2m(2s,2E-1,2L);if(1r.3d()!=2s||1r.3M()+1!=2E||1r.3A()!=2L){8N"eN 1r"}19 1r},lY:"9g-mm-dd",lX:"D, dd M 9g",lW:"9g-mm-dd",lV:"D, d M y",lU:"be, dd-M-y",lT:"D, d M y",lS:"D, d M 9g",lR:"D, d M 9g",lQ:"D, d M y",lP:"@",lO:"9g-mm-dd",6x:u(3E,1r,2r){if(!1r){19""}p 5t=(2r?2r.5t:1n)||k.5x.5t;p 5i=(2r?2r.5i:1n)||k.5x.5i;p 6y=(2r?2r.6y:1n)||k.5x.6y;p 4W=(2r?2r.4W:1n)||k.5x.4W;p 5N=u(3V){p 5w=(3C+1<3E.1t&&3E.4m(3C+1)==3V);if(5w){3C++}19 5w};p cB=u(3V,1X,i9){p 7J=""+1X;if(5N(3V)){4X(7J.1t=0;m--){9f+=k.97(1r.3d(),m)}6c+=cB("o",9f,3);1S;1K"m":6c+=cB("m",1r.3M()+1,2);1S;1K"M":6c+=eU("M",1r.3M(),6y,4W);1S;1K"y":6c+=(5N("y")?1r.3d():(1r.i8()%2b<10?"0":"")+1r.i8()%2b);1S;1K"@":6c+=1r.67();1S;1K"\'":if(5N("\'")){6c+="\'"}1j{5M=1q}1S;4S:6c+=3E.4m(3C)}}}}19 6c},i7:u(3E){p 7I="";p 5M=1h;1R(p 3C=0;3C<3E.1t;3C++){if(5M){if(3E.4m(3C)=="\'"&&!5N("\'")){5M=1h}1j{7I+=3E.4m(3C)}}1j{68(3E.4m(3C)){1K"d":1K"m":1K"y":1K"@":7I+="lN";1S;1K"D":1K"M":19 1n;1K"\'":if(5N("\'")){7I+="\'"}1j{5M=1q}1S;4S:7I+=3E.4m(3C)}}}19 7I},1y:u(18,4u){19 18.2r[4u]!==2f?18.2r[4u]:k.5x[4u]},eT:u(18){p 94=k.1y(18,"94");p 8q=18.1z?18.1z.2v().6X(k.1y(18,"bh")):1n;18.6a=18.6D=18.4l=1n;p 1r=74=k.eQ(18);if(8q.1t>0){p 2r=k.69(18);if(8q.1t>1){1r=k.eS(94,8q[1],2r)||74;18.6a=1r.3A();18.6D=1r.3M();18.4l=1r.3d()}cA{1r=k.eS(94,8q[0],2r)||74}cz(e){k.eR(e);1r=74}}18.5h=1r.3A();18.2I=18.4V=1r.3M();18.2U=18.58=1r.3d();18.4J=(8q[0]?1r.3A():0);18.5g=(8q[0]?1r.3M():0);18.57=(8q[0]?1r.3d():0);k.co(18)},eQ:u(18){p 1r=k.b3(k.1y(18,"74"),22 2m());p 3k=k.7D(18,"1W",1q);p 3B=k.7D(18,"1H");1r=(3k&&1r<3k?3k:1r);1r=(3B&&1r>3B?3B:1r);19 1r},b3:u(1r,74){p i5=u(1i){p 1r=22 2m();1r.hL(1r.hK()+1i);19 1r};p i6=u(1i,eP){p 1r=22 2m();p 2s=1r.3d();p 2E=1r.3M();p 2L=1r.3A();p eO=/([+-]?[0-9]+)\\s*(d|D|w|W|m|M|y|Y)?/g;p 5w=eO.8p(1i);4X(5w){68(5w[2]||"d"){1K"d":1K"D":2L+=1m(5w[1],10);1S;1K"w":1K"W":2L+=1m(5w[1],10)*7;1S;1K"m":1K"M":2E+=1m(5w[1],10);2L=1k.1W(2L,eP(2s,2E));1S;1K"y":1K"Y":2s+=1m(5w[1],10);2L=1k.1W(2L,eP(2s,2E));1S}5w=eO.8p(1i)}19 22 2m(2s,2E,2L)};1r=(1r==1n?74:(2B 1r=="4s"?i6(1r,k.97):(2B 1r=="84"?(5p(1r)?74:i5(1r)):1r)));19(1r&&1r.7p()=="eN 2m"?74:1r)},eM:u(18,1r,6C){p 6B=!(1r);p i4=18.4V;p i3=18.58;1r=k.b3(1r,22 2m());18.5h=18.4J=1r.3A();18.2I=18.4V=18.5g=1r.3M();18.2U=18.58=18.57=1r.3d();if(k.1y(18,"5L")){if(6C){6C=k.b3(6C,1n);18.6a=6C.3A();18.6D=6C.3M();18.4l=6C.3d()}1j{18.6a=18.4J;18.6D=18.5g;18.4l=18.57}}if(i4!=18.4V||i3!=18.58){k.b4(18)}k.co(18);if(18.1z){18.1z.2v(6B?"":k.95(18)+(!k.1y(18,"5L")?"":k.1y(18,"bh")+k.95(18,18.6a,18.6D,18.4l)))}},eL:u(18){p cy=(!18.57||(18.1z&&18.1z.2v()=="")?1n:22 2m(18.57,18.5g,18.4J));if(k.1y(18,"5L")){19[18.4v||cy,(!18.4l?18.4v||cy:22 2m(18.4l,18.6D,18.6a))]}1j{19 cy}},i2:u(18){p 8j=22 2m();8j=22 2m(8j.3d(),8j.3M(),8j.3A());p 3W=k.1y(18,"3W");p 3N=k.1y(18,"3N")||"&#ex;";p 5J=k.1y(18,"5J");p 6B=(k.1y(18,"eK")?"":\'<1v 2e="1a-1o-6B">"+k.1y(18,"i0")+"");p eA=\'<1v 2e="1a-1o-lM">\'+(5J?"":6B)+\'<1v 2e="1a-1o-6W">"+k.1y(18,"hY")+""+(5J?6B:"")+"";p 9W=k.1y(18,"9W");p b7=k.1y(18,"b7");p bf=k.1y(18,"bf");p 8k=k.1y(18,"8k");p 9e=k.1y(18,"9e");p 4K=k.9P(18);p cx=k.1y(18,"cx");p 7G=k.1y(18,"7G");p 7F=k.1y(18,"7F");p hO=(4K[0]!=1||4K[1]!=1);p cr=(!18.4J?22 2m(lL,9,9):22 2m(18.57,18.5g,18.4J));p 3k=k.7D(18,"1W",1q);p 3B=k.7D(18,"1H");p 2I=18.2I-cx;p 2U=18.2U;if(2I<0){2I+=12;2U--}if(3B){p bg=22 2m(3B.3d(),3B.3M()-4K[1]+1,3B.3A());bg=(3k&&bg<3k?3k:bg);4X(22 2m(2U,2I,1)>bg){2I--;if(2I<0){2I=11;2U--}}}p 8n=k.1y(18,"8n");8n=(!8k?8n:k.6x(8n,22 2m(2U,2I-7G,1),k.69(18)));p 8o=(9e?k.1y(18,"8o"):"");8o=(!8k?8o:k.6x(8o,22 2m(2U,2I-7F,1),k.69(18)));p 6b=\'<1v 2e="1a-1o-6b">\'+(k.ep(18,-1,2U,2I)?(9e?""+8o+"":"")+""+8n+"":(bf?"":"<3u>"+8o+"<3u>"+8n+""))+"";p 8m=k.1y(18,"8m");8m=(!8k?8m:k.6x(8m,22 2m(2U,2I+7G,1),k.69(18)));p 8l=(9e?k.1y(18,"8l"):"");8l=(!8k?8l:k.6x(8l,22 2m(2U,2I+7F,1),k.69(18)));p 4I=\'<1v 2e="1a-1o-4I">\'+(k.ep(18,+1,2U,2I)?""+8m+""+(9e?""+8l+"":""):(bf?"":"<3u>"+8m+"<3u>"+8l+""))+"";p 9d=k.1y(18,"9d");p eG=(k.1y(18,"eI")&&18.4J?cr:8j);9d=(!8k?9d:k.6x(9d,eG,k.69(18)));p 2y=(9W?\'<1v 2e="\'+k.eH+\'">\'+9W+"":"")+(b7&&!18.4i?eA:"")+\'<1v 2e="1a-1o-lK">\'+(5J?4I:6b)+(k.eo(18,eG)?\'<1v 2e="1a-1o-3S">"+9d+"":"")+(5J?6b:4I)+"";p 5v=k.1y(18,"5v");p bd=k.1y(18,"bd");p 5i=k.1y(18,"5i");p 5t=k.1y(18,"5t");p cu=k.1y(18,"cu");p 4W=k.1y(18,"4W");p ba=k.1y(18,"ba");p 9T=k.1y(18,"9T");p 8g=k.1y(18,"8g");p bc=k.1y(18,"bc");p cs=k.1y(18,"cs")||k.cw;p bb=k.1y(18,"bb");p 72=(3W?k.1y(18,"cv")||3N:"");p 9b=k.1y(18,"hS")||k.9b;p 6C=18.6a?22 2m(18.4l,18.6D,18.6a):cr;1R(p 9c=0;9c<4K[0];9c++){1R(p 9V=0;9V<4K[1];9V++){p 9R=22 2m(2U,2I,18.5h);2y+=\'<1v 2e="1a-1o-lJ-2E\'+(9V==0?" 1a-1o-22-9c":"")+\'">\'+k.hH(18,2I,2U,3k,3B,9R,9c>0||9V>0,3W,3N,4W)+\'\'+(bc?"<5u"+k.5I(3W,18.id,bb,3N)+">"+k.1y(18,"hR")+"":"");1R(p 7E=0;7E<7;7E++){p 2L=(7E+5v)%7;p cv=(72.4N("be")>-1?72.5o(/be/,5i[2L]):72.5o(/D/,5t[2L]));2y+="<5u"+((7E+5v+6)%7>=5?\' 2e="1a-1o-8i-3i-9a"\':"")+">"+(!bd?"<3o":"\'+cu[2L]+(bd?"":"")+""}2y+="";p eE=k.97(2U,2I);if(2U==18.58&&2I==18.4V){18.5h=1k.1W(18.5h,eE)}p ct=(k.hu(2U,2I)-5v+7)%7;p b8=22 2m(2U,2I,1-ct);p 9S=22 2m(2U,2I,1-ct);p 5j=9S;p hM=(hO?6:1k.hN((ct+eE)/7));1R(p eD=0;eD\'+(bc?\'<5u 2e="1a-1o-8i-9V"\'+k.5I(3W,18.id,bb,3N)+">"+cs(5j)+"":"");1R(p 7E=0;7E<7;7E++){p b9=(ba?ba.1J((18.1z?18.1z[0]:1n),[5j]):[1q,""]);p 8h=(5j.3M()!=2I);p 73=8h||!b9[0]||(3k&&5j<3k)||(3B&&5j>3B);2y+=\'<5u 2e="1a-1o-9U-9a\'+((7E+5v+6)%7>=5?" 1a-1o-8i-3i-9a":"")+(8h?" 1a-1o-lG-2E":"")+(5j.67()==9R.67()&&2I==18.4V?" 1a-1o-9U-9a-4w":"")+(73?" "+k.eC:"")+(8h&&!8g?"":" "+b9[1]+(5j.67()>=cr.67()&&5j.67()<=6C.67()?" "+k.cq:"")+(5j.67()==8j.67()?" 1a-1o-8j":""))+\'"\'+((!8h||8g)&&b9[2]?\' 4E="\'+b9[2]+\'"\':"")+(73?(9T?" et=\\"1L(k).1B().1x(\'1a-1o-8i-4w\');\\" es=\\"1L(k).1B().1G(\'1a-1o-8i-4w\');\\"":""):" et=\\"1L(k).1x(\'1a-1o-9U-9a-4w\')"+(9T?".1B().1x(\'1a-1o-8i-4w\')":"")+";"+(!3W||(8h&&!8g)?"":"1L(\'#1a-1o-72-"+18.id+"\').2y(\'"+(9b.1J((18.1z?18.1z[0]:1n),[5j,18])||3N)+"\');")+"\\" es=\\"1L(k).1G(\'1a-1o-9U-9a-4w\')"+(9T?".1B().1G(\'1a-1o-8i-4w\')":"")+";"+(!3W||(8h&&!8g)?"":"1L(\'#1a-1o-72-"+18.id+"\').2y(\'"+3N+"\');")+\'" 6A="1L.1o.eB(\\\'#\'+18.id+"\',"+2I+","+2U+\', k);"\')+">"+(8h?(8g?5j.3A():"&#ex;"):(73?5j.3A():""+5j.3A()+""))+"";b8.cn(b8.3A()+1);9S.hL(9S.hK()+1);5j=(b8>9S?b8:9S)}2y+=""}2I++;if(2I>11){2I=0;2U++}2y+=""}}2y+=(3W?\'<1v 2R="6B: 6u;"><1v id="1a-1o-72-\'+18.id+\'" 2e="1a-1o-72">\'+3N+"":"")+(!b7&&!18.4i?eA:"")+\'<1v 2R="6B: 6u;">\'+($.2j.3Z&&1m($.2j.8c,10)<7&&!18.4i?\'\':"");19 2y},hH:u(18,2I,2U,3k,3B,9R,ew,3W,3N,4W){3k=(18.4v&&3k&&9R<3k?9R:3k);p b5=k.1y(18,"b5");p 2y=\'<1v 2e="1a-1o-99">\';p 98="";if(ew||!k.1y(18,"hG")){98+=4W[2I]+"&#ex;"}1j{p hE=(3k&&3k.3d()==2U);p hD=(3B&&3B.3d()==2U);98+=\'<51 2e="1a-1o-22-2E" hA="1L.1o.ev(\\\'#\'+18.id+"\', k, \'M\');\\" 6A=\\"1L.1o.eu(\'#"+18.id+"\');\\""+k.5I(3W,18.id,k.1y(18,"hF"),3N)+">";1R(p 2E=0;2E<12;2E++){if((!hE||2E>=3k.3M())&&(!hD||2E<=3B.3M())){98+=\'<91 1X="\'+2E+\'"\'+(2E==2I?\' 2a="2a"\':"")+">"+4W[2E]+""}}98+=""}if(!b5){2y+=98}if(ew||!k.1y(18,"hC")){2y+=2U}1j{p 8f=k.1y(18,"hB").6X(":");p 2s=0;p 4l=0;if(8f.1t!=2){2s=2U-10;4l=2U+10}1j{if(8f[0].4m(0)=="+"||8f[0].4m(0)=="-"){2s=4l=22 2m().3d();2s+=1m(8f[0],10);4l+=1m(8f[1],10)}1j{2s=1m(8f[0],10);4l=1m(8f[1],10)}}2s=(3k?1k.1H(2s,3k.3d()):2s);4l=(3B?1k.1W(4l,3B.3d()):4l);2y+=\'<51 2e="1a-1o-22-2s" hA="1L.1o.ev(\\\'#\'+18.id+"\', k, \'Y\');\\" 6A=\\"1L.1o.eu(\'#"+18.id+"\');\\""+k.5I(3W,18.id,k.1y(18,"hz"),3N)+">";1R(;2s<=4l;2s++){2y+=\'<91 1X="\'+2s+\'"\'+(2s==2U?\' 2a="2a"\':"")+">"+2s+""}2y+=""}if(b5){2y+=98}2y+="";19 2y},5I:u(3W,id,4H,3N){19(3W?" et=\\"1L(\'#1a-1o-72-"+id+"\').2y(\'"+(4H||3N)+"\');\\" es=\\"1L(\'#1a-1o-72-"+id+"\').2y(\'"+3N+"\');\\"":"")},co:u(18,1i,6z){p 2s=18.2U+(6z=="Y"?1i:0);p 2E=18.2I+(6z=="M"?1i:0);p 2L=1k.1W(18.5h,k.97(2s,2E))+(6z=="D"?1i:0);p 1r=22 2m(2s,2E,2L);p 3k=k.7D(18,"1W",1q);p 3B=k.7D(18,"1H");1r=(3k&&1r<3k?3k:1r);1r=(3B&&1r>3B?3B:1r);18.5h=1r.3A();18.2I=18.4V=1r.3M();18.2U=18.58=1r.3d();if(6z=="M"||6z=="Y"){k.b4(18)}},b4:u(18){p er=k.1y(18,"hy");if(er){er.1J((18.1z?18.1z[0]:1n),[18.58,18.4V+1,18])}},9P:u(18){p 4K=k.1y(18,"hx");19(4K==1n?[1,1]:(2B 4K=="84"?[1,4K]:4K))},7D:u(18,hw,hv){p 1r=k.b3(k.1y(18,hw+"2m"),1n);if(1r){1r.lE(0);1r.lD(0);1r.lC(0);1r.lB(0)}19(!hv||!18.4v?1r:(!1r||18.4v>1r?18.4v:1r))},97:u(2s,2E){19 32-22 2m(2s,2E,32).3A()},hu:u(2s,2E){19 22 2m(2s,2E,1).9Q()},ep:u(18,1i,ht,hs){p 4K=k.9P(18);p 1r=22 2m(ht,hs+(1i<0?1i:4K[1]),1);if(1i<0){1r.cn(k.97(1r.3d(),1r.3M()))}19 k.eo(18,1r)},eo:u(18,1r){p 9O=(!18.4v?1n:22 2m(18.58,18.4V,18.5h));9O=(9O&&18.4v<9O?18.4v:9O);p 3k=9O||k.7D(18,"1W");p 3B=k.7D(18,"1H");19((!3k||1r>=3k)&&(!3B||1r<=3B))},69:u(18){p 5H=k.1y(18,"5H");5H=(2B 5H!="4s"?5H:22 2m().3d()%2b+1m(5H,10));19{5H:5H,5t:k.1y(18,"5t"),5i:k.1y(18,"5i"),6y:k.1y(18,"6y"),4W:k.1y(18,"4W")}},95:u(18,2L,2E,2s){if(!2L){18.4J=18.5h;18.5g=18.4V;18.57=18.58}p 1r=(2L?(2B 2L=="7C"?2L:22 2m(2s,2E,2L)):22 2m(18.57,18.5g,18.4J));19 k.6x(k.1y(18,"94"),1r,k.69(18))}});u 9N(1s,9M){$.23(1s,9M);1R(p 4u in 9M){if(9M[4u]==1n||9M[4u]==2f){1s[4u]=9M[4u]}}19 1s}u hr(a){19(a&&(($.2j.aC&&2B a=="7C"&&a.1t)||(a.4O&&a.4O.7p().3V(/\\9z\\(\\)/))))}$.fn.1o=u(v){if(!$.1o.ek){$(1l.1Z).5e($.1o.2Z).5f($.1o.hq);$.1o.ek=1q}p en=9z.5d.7s.1P(1T,1);if(2B v=="4s"&&(v=="lA"||v=="3A")){19 $.1o["9A"+v+"b2"].1J($.1o,[k[0]].5V(en))}19 k.1D(u(){2B v=="4s"?$.1o["9A"+v+"b2"].1J($.1o,[k].5V(en)):$.1o.hp(k,v)})};$.1o=22 b2();$.1o.ek=1h;$.1o.aW=22 2m().67()})(1L);(u(B){p A={eh:"2z.2x",56:"56.2x",eg:"3b.2x",71:"71.1C",6Z:"6Z.1C",8e:"8e.1C",6Y:"6Y.1C",ef:"2z.1C",2K:"56.1C",ee:"3b.1C"};B.3P("1a.2o",{52:u(){k.cl=k.1d.2Q("4E");k.v.4E=k.v.4E||k.cl;p K=k,L=k.v,F=k.1d.aI("4E").1x("1a-2o-92").7r("<1v/>").7r("<1v/>"),H=(k.hj=F.1B()).1x("1a-2o-lz").1e({1p:"2C",1f:"2b%",1g:"2b%"}),E=(k.e8=B("<1v/>")).1x("1a-2o-9K").5e(\'<3o>X\').ho(H),J=L.4E||"&hk;",C=B.1a.2o.hg(k.1d),D=B("<3o/>").1x("1a-2o-4E").2Q("id",C).2y(J).ho(E),I=(k.3U=H.1B()).31(1l.1Z).1Q().1x("1a-2o").1x(L.ly).1x(F.2Q("6w")).1G("1a-2o-92").1e({1p:"2H",1f:L.1f,1g:L.1g,2V:"3h",2T:L.2T}).2Q("hn",-1).1e("h5",0).61(u(M){(L.e6&&M.2w&&M.2w==B.2w.e5&&K.6W())}).5f(u(){K.ck()}),G=(k.hl=B("<1v/>")).1x("1a-2o-lx").1e({1p:"2H",49:0}).31(I);k.lw=B(".1a-2o-9K-6W",E).cm(u(){B(k).1x("1a-2o-9K-6W-cm")},u(){B(k).1G("1a-2o-9K-6W-cm")}).5f(u(M){M.hm()}).2n(u(){K.6W();19 1h});E.2N("*").2l(E).1D(u(){B.1a.93(k)});(L.2x&&B.fn.2x&&k.eb());(L.1C&&B.fn.1C&&k.e9());k.ed(L.e7);k.b1=1h;(L.7A&&B.fn.7A&&I.7A());(L.hi&&k.ei())},3s:u(){(k.3j&&k.3j.3s());k.3U.1Q();k.1d.2G(".2o").4r("2o").1G("1a-2o-92").1Q().31("1Z");k.3U.2k();(k.cl&&k.1d.2Q("4E",k.cl))},6W:u(){if(1h===k.4h("lv",1n,{v:k.v})){19}(k.3j&&k.3j.3s());k.3U.1Q(k.v.1Q).2G("9J.1a-2o");k.4h("6W",1n,{v:k.v});B.1a.2o.3j.2K();k.b1=1h},hh:u(){19 k.b1},ei:u(){if(k.b1){19}k.3j=k.v.aY?22 B.1a.2o.3j(k):1n;(k.3U.4I().1t&&k.3U.31("1Z"));k.ea(k.v.1p);k.3U.1N(k.v.1N);(k.v.ci&&k.cj());k.ck(1q);(k.v.aY&&k.3U.1M("9J.1a-2o",u(E){if(E.2w!=B.2w.aJ){19}p D=B(":ej",k),F=D.3D(":bZ")[0],C=D.3D(":gE")[0];if(E.1s==C&&!E.9L){5E(u(){F.3c()},1)}1j{if(E.1s==F&&E.9L){5E(u(){C.3c()},1)}}}));k.3U.2N(":ej:bZ").3c();k.4h("ei",1n,{v:k.v});k.b1=1q},ed:u(F){p E=k,C=1h,D=k.hl;D.b0().1Q();B.1D(F,u(){19!(C=1q)});if(C){D.1N();B.1D(F,u(G,H){B(\'<43 4k="43">\').4H(G).2n(u(){H.1J(E.1d[0],1T)}).31(D)})}},eb:u(){p C=k,D=k.v;k.3U.2x({7B:".1a-2o-92",1u:D.lu,29:".1a-2o-9K",2z:u(){C.ck();(D.eh&&D.eh.1J(C.1d[0],1T))},56:u(){(D.56&&D.56.1J(C.1d[0],1T))},3b:u(){(D.eg&&D.eg.1J(C.1d[0],1T));B.1a.2o.3j.2K()}})},e9:u(F){F=(F===2f?k.v.1C:F);p C=k,E=k.v,D=2B F=="4s"?F:"n,e,s,w,4U,4T,ne,nw";k.3U.1C({7B:".1a-2o-92",1u:E.lt,8e:E.8e,71:E.71,6Y:E.6Y,6Z:E.6Z,2z:u(){(E.ef&&E.ef.1J(C.1d[0],1T))},2K:u(){(E.ci&&C.cj.1J(C));(E.2K&&E.2K.1J(C.1d[0],1T))},3R:D,3b:u(){(E.ci&&C.cj.1J(C));(E.ee&&E.ee.1J(C.1d[0],1T));B.1a.2o.3j.2K()}})},ck:u(E){if((k.v.aY&&!E)||(!k.v.8d&&!k.v.aY)){19 k.4h("3c",1n,{v:k.v})}p D=k.v.2T,C=k.v;B(".1a-2o:4j").1D(u(){D=1k.1H(D,1m(B(k).1e("z-3J"),10)||C.2T)});(k.3j&&k.3j.$el.1e("z-3J",++D));k.3U.1e("z-3J",++D);k.4h("3c",1n,{v:k.v})},ea:u(H){p D=B(3p),E=B(1l),F=E.2q(),C=E.2D(),G=F;if(B.8M(H,["8Z","1c","3L","49","1b"])>=0){H=[H=="3L"||H=="1b"?H:"8Z",H=="1c"||H=="49"?H:"aZ"]}if(H.4O!=9z){H=["8Z","aZ"]}if(H[0].4O==8Q){C+=H[0]}1j{68(H[0]){1K"1b":C+=0;1S;1K"3L":C+=D.1f()-k.3U.1f();1S;4S:1K"8Z":C+=(D.1f()-k.3U.1f())/2}}if(H[1].4O==8Q){F+=H[1]}1j{68(H[1]){1K"1c":F+=0;1S;1K"49":F+=D.1g()-k.3U.1g();1S;4S:1K"aZ":F+=(D.1g()-k.3U.1g())/2}}F=1k.1H(F,G);k.3U.1e({1c:F,1b:C})},5X:u(D,E){(A[D]&&k.3U.1w(A[D],E));68(D){1K"e7":k.ed(E);1S;1K"2x":(E?k.eb():k.3U.2x("3s"));1S;1K"1g":k.3U.1g(E);1S;1K"1p":k.ea(E);1S;1K"1C":p C=k.3U,F=k.3U.is(":1w(1C)");(F&&!E&&C.1C("3s"));(F&&2B E=="4s"&&C.1C("91","3R",E));(F||k.e9(E));1S;1K"4E":B(".1a-2o-4E",k.e8).2y(E||"&hk;");1S;1K"1f":k.3U.1f(E);1S}B.3P.5d.5X.1J(k,1T)},cj:u(){p D=k.hj,G=k.e8,E=k.1d,F=(1m(E.1e("4R-1c"),10)||0)+(1m(E.1e("4R-49"),10)||0),C=(1m(E.1e("4R-1b"),10)||0)+(1m(E.1e("4R-3L"),10)||0);E.1g(D.1g()-G.3q()-F);E.1f(D.1f()-C)}});B.23(B.1a.2o,{4g:{hi:1q,ci:1q,7A:1h,e7:{},e6:1q,2x:1q,1g:aO,6Z:2b,6Y:3z,aY:1h,3j:{},1p:"8Z",1C:1q,8d:1q,1f:aT,2T:aX},aA:"hh",aW:0,hg:u(C){19"1a-2o-4E-"+(C.2Q("id")||++k.aW)},3j:u(C){k.$el=B.1a.2o.3j.hf(C)}});B.23(B.1a.2o.3j,{8W:[],he:B.7n("3c,5f,63,61,9J,2n".6X(","),u(C){19 C+".2o-3j"}).6p(" "),hf:u(D){if(k.8W.1t===0){5E(u(){B("a, :1z").1M(B.1a.2o.3j.he,u(){p F=1h;p H=B(k).5F(".1a-2o");if(H.1t){p E=B(".1a-2o-3j");if(E.1t){p G=1m(E.1e("z-3J"),10);E.1D(u(){G=1k.1H(G,1m(B(k).1e("z-3J"),10))});F=1m(H.1e("z-3J"),10)>G}1j{F=1q}}19 F})},1);B(1l).1M("61.2o-3j",u(E){(D.v.e6&&E.2w&&E.2w==B.2w.e5&&D.6W())});B(3p).1M("2K.2o-3j",B.1a.2o.3j.2K)}p C=B("<1v/>").31(1l.1Z).1x("1a-2o-3j").1e(B.23({ls:0,4R:0,aV:0,1p:"2H",1c:0,1b:0,1f:k.1f(),1g:k.1g()},D.v.3j));(D.v.7A&&B.fn.7A&&C.7A());k.8W.4n(C);19 C},3s:u(C){k.8W.c0(B.8M(k.8W,C),1);if(k.8W.1t===0){B("a, :1z").2l([1l,3p]).2G(".2o-3j")}C.2k()},1g:u(){if(B.2j.3Z&&B.2j.8c<7){p D=1k.1H(1l.3T.5s,1l.1Z.5s);p C=1k.1H(1l.3T.3H,1l.1Z.3H);if(Dk.pp.1b-H.3G)&&(F[0]k.pp.1c-H.3G)&&(F[1] *"}})})(1L);(u(A){A.3P("1a.4Q",{52:u(){k.h8=k.v.aS;p B=k,C=k.v,E=(22 2m()).67()+1k.lq(),D=C.4H||"0%";k.1d.1x("1a-4Q").1f(C.1f);A.23(k,{48:1h,9I:0,9H:0,6q:E,66:A(\'<1v 2e="1a-4Q-66 1a-3h">\').1e({1f:"3y",2V:"3h",2T:2b}),8b:A(\'<1v 2e="1a-4Q-4H">\').2y(D).1e({1f:"3y",2V:"3h"}),e2:A(\'<1v 2e="1a-4Q-4H 1a-4Q-4H-lp">\').2y(D).1e({1f:k.1d.1f()}),aU:A(\'<1v 2e="1a-4Q-7r">\')});k.aU.5e(k.66.5e(k.8b.1x(C.h6)),k.e2).31(k.1d)},6r:{},1a:u(B){19{2p:k,6q:k.6q,v:k.v,1d:k.66,8b:k.8b,9I:k.9I,9H:k.9H}},26:u(C,B){A.1a.2Y.1P(k,C,[B,k.1a()]);k.1d.3v(C=="4Q"?C:["4Q",C].6p(""),[B,k.1a()],k.v[C])},3s:u(){k.3b();k.1d.1G("1a-4Q 1a-4Q-1I").4r("4Q").2G(".4Q").2N(".1a-4Q-7r").2k();h9 1L.2g[k.6q]},9y:u(){k.1d.1G("1a-4Q-1I");k.1I=1h},83:u(){k.1d.1x("1a-4Q-1I");k.1I=1q},2z:u(){p B=k,C=k.v;if(k.1I){19}1L.2g[k.6q]=u(K,L,J,I,H){p G=C.h7,E=C.1f,F=((G>E?E:G)/E),D=1k.2S(K/F)*F;19 D>1?1:D};B.48=1q;5E(u(){B.48=1h},C.1V);k.c4();k.26("2z",k.1a());19 1h},c4:u(){p C=k,D=k.v,B=D.aS;k.66.24({1f:D.1f},{1V:B,2g:k.6q,ch:u(G,E){C.e1((G/D.1f)*2b);p H=22 2m().67(),F=(H-E.lo);D.aS=B-F},6v:u(){h9 1L.2g[C.6q];C.e3();if(C.48){}}})},e3:u(){if(k.1I){19}k.66.3b();k.26("e3",k.1a())},3b:u(){k.66.3b();k.66.1f(0);k.8b.1f(0);k.66.1x("1a-3h");k.v.aS=k.h8;k.26("3b",k.1a())},4H:u(B){k.8b.2y(B);k.e2.2y(B)},e1:u(B){if(k.66.is(".1a-3h")){k.66.1G("1a-3h")}k.9H=B>2b?2b:B;k.9I=(k.9H/2b)*k.v.1f;k.66.1f(k.9I);k.8b.1f(k.9I);if(k.v.9E&&!k.v.4H){k.8b.2y(1k.2S(k.9H)+"%")}k.26("e1",k.1a())}});A.1a.4Q.4g={1f:aT,1V:ln,aS:aO,h7:1,9E:1q,4H:"",1x:"",h6:""}})(1L);(u(A){A.fn.dZ=A.fn.dZ||u(B){19 k.1D(u(){A(k).5F(B).eq(0).e0(k).2k()})};A.3P("1a.54",{6r:{},1a:u(B){19{v:k.v,29:k.2J,1X:k.v.2O!="6u"||!k.v.2O?1k.2S(k.1X(1n,k.v.2O=="4F"?"y":"x")):{x:1k.2S(k.1X(1n,"x")),y:1k.2S(k.1X(1n,"y"))},9E:k.h1()}},26:u(C,B){A.1a.2Y.1P(k,C,[B,k.1a()]);k.1d.3v(C=="7t"?C:"7t"+C,[B,k.1a()],k.v[C])},3s:u(){k.1d.1G("1a-54 1a-54-1I").4r("54").2G(".54");if(k.29&&k.29.1t){k.29.dZ("a");k.29.1D(u(){A(k).1w("5r").9G()})}k.dY&&k.dY.2k()},5X:u(B,C){A.3P.5d.5X.1J(k,1T);if(/1W|1H|8T/.1O(B)){k.dV()}if(B=="9E"){C?k.29.1t==2&&k.dU():k.h2()}},52:u(){p B=k;k.1d.1x("1a-54");k.dV();k.29=A(k.v.29,k.1d);if(!k.29.1t){B.29=B.dY=A(B.v.3R||[0]).7n(u(){p D=A("<1v/>").1x("1a-54-29").31(B.1d);if(k.id){D.2Q("id",k.id)}19 D[0]})}p C=u(D){k.1d=A(D);k.1d.1w("5r",k);k.v=B.v;k.1d.1M("5f",u(){if(B.2J){k.7o(B.2J)}B.7u(k,1q)});k.9F()};A.23(C.5d,A.1a.5r,{7w:u(D){19 B.gY.1P(B,D,k.1d[0])},7v:u(D){19 B.gX.1P(B,D,k.1d[0])},6t:u(D){19 B.dS.1P(B,D,k.1d[0])},8U:u(){19 1q},5n:u(D){k.dX(D)}});A(k.29).1D(u(){22 C(k)}).7r(\'\').1B().1M("2n",u(){19 1h}).1M("3c",u(D){B.7u(k.dW)}).1M("7o",u(D){B.cf(k.dW)}).1M("61",u(D){if(!B.v.lm){19 B.c7(D.2w,k.dW)}});k.1d.1M("5f.54",u(D){B.h3.1J(B,[D]);B.2J.1w("5r").5n(D);B.cd=B.cd+1});A.1D(k.v.3R||[],u(D,E){B.aR(E.2z,D,1q)});if(!5p(k.v.h4)){k.aR(k.v.h4,0,1q)}k.88=A(k.29[0]);if(k.29.1t==2&&k.v.9E){k.dU()}},dV:u(){p B=k.1d[0],C=k.v;k.89={1f:k.1d.44(),1g:k.1d.3q()};A.23(C,{2O:C.2O||(B.4G").1x("1a-54-9E").1e({1p:"2H"}).31(k.1d);k.cb()},h2:u(){k.6s.2k();k.6s=1n},cb:u(){p C=k.v.2O=="4F"?"1c":"1b";p B=k.v.2O=="4F"?"1g":"1f";k.6s.1e(C,(1m(A(k.29[0]).1e(C),10)||0)+k.8S(0,k.v.2O=="4F"?"y":"x")/2);k.6s.1e(B,(1m(A(k.29[1]).1e(C),10)||0)-(1m(A(k.29[0]).1e(C),10)||0))},h1:u(){19 k.6s?k.6U(1m(k.6s.1e(k.v.2O=="4F"?"1g":"1f"),10),k.v.2O=="4F"?"y":"x"):1n},h0:u(){19 k.29.3J(k.2J[0])},1X:u(D,B){if(k.29.1t==1){k.2J=k.29}if(!B){B=k.v.2O=="4F"?"y":"x"}p C=A(D!=2f&&D!==1n?k.29[D]||D:k.2J);if(C.1w("5r").ca){19 1m(C.1w("5r").ca[B],10)}1j{19 1m(((1m(C.1e(B=="x"?"1b":"1c"),10)/(k.89[B=="x"?"1f":"1g"]-k.8S(D,B)))*k.v.8a[B])+k.v.1W[B],10)}},6U:u(C,B){19 k.v.1W[B]+(C/(k.89[B=="x"?"1f":"1g"]-k.8S(1n,B)))*k.v.8a[B]},5G:u(C,B){19((C-k.v.1W[B])/k.v.8a[B])*(k.89[B=="x"?"1f":"1g"]-k.8S(1n,B))},aP:u(D,B){if(k.6s){if(k.2J[0]==k.29[0]&&D>=k.5G(k.1X(1),B)){D=k.5G(k.1X(1,B)-k.ce(B),B)}if(k.2J[0]==k.29[1]&&D<=k.5G(k.1X(0),B)){D=k.5G(k.1X(0,B)+k.ce(B),B)}}if(k.v.3R){p C=k.v.3R[k.h0()];if(Dk.5G(C.1H,B)){D=k.5G(C.1H,B)}}}19 D},aQ:u(C,B){if(C>=k.89[B=="x"?"1f":"1g"]-k.8S(1n,B)){C=k.89[B=="x"?"1f":"1g"]-k.8S(1n,B)}if(C<=0){C=0}19 C},8S:u(C,B){19 A(C!=2f&&C!==1n?k.29[C]:k.2J)[0]["1i"+(B=="x"?"ll":"lk")]},ce:u(B){19 k.v.3F[B]||1},gZ:u(B){19 10},gY:u(C,B){p D=k.v;if(D.1I){19 1h}k.89={1f:k.1d.44(),1g:k.1d.3q()};if(!k.2J){k.7u(k.88,1q)}k.1i=k.1d.1i();k.dT=k.2J.1i();k.8R={1c:C.3g-k.dT.1c,1b:C.3x-k.dT.1b};k.cd=k.1X();k.26("2z",C);k.dS(C,B);19 1q},gX:u(B){k.26("3b",B);if(k.cd!=k.1X()){k.26("5q",B)}k.7u(k.2J,1q);19 1h},dS:u(E,D){p F=k.v;p B={1c:E.3g-k.1i.1c-k.8R.1c,1b:E.3x-k.1i.1b-k.8R.1b};if(!k.2J){k.7u(k.88,1q)}B.1b=k.aQ(B.1b,"x");B.1c=k.aQ(B.1c,"y");if(F.3F.x){p C=k.6U(B.1b,"x");C=1k.2S(C/F.3F.x)*F.3F.x;B.1b=k.5G(C,"x")}if(F.3F.y){p C=k.6U(B.1c,"y");C=1k.2S(C/F.3F.y)*F.3F.y;B.1c=k.5G(C,"y")}B.1b=k.aP(B.1b,"x");B.1c=k.aP(B.1c,"y");if(F.2O!="4F"){k.2J.1e({1b:B.1b})}if(F.2O!="cc"){k.2J.1e({1c:B.1c})}k.2J.1w("5r").ca={x:1k.2S(k.6U(B.1b,"x"))||0,y:1k.2S(k.6U(B.1c,"y"))||0};if(k.6s){k.cb()}k.26("7t",E);19 1h},aR:u(F,E,G){p H=k.v;k.89={1f:k.1d.44(),1g:k.1d.3q()};if(E==2f&&!k.2J&&k.29.1t!=1){19 1h}if(E==2f&&!k.2J){E=0}if(E!=2f){k.2J=k.88=A(k.29[E]||E)}if(F.x!==2f&&F.y!==2f){p B=F.x,I=F.y}1j{p B=F,I=F}if(B!==2f&&B.4O!=8Q){p D=/^\\-\\=/.1O(B),C=/^\\+\\=/.1O(B);if(D||C){B=k.1X(1n,"x")+1m(B.5o(D?"=":"+=",""),10)}1j{B=5p(1m(B,10))?2f:1m(B,10)}}if(I!==2f&&I.4O!=8Q){p D=/^\\-\\=/.1O(I),C=/^\\+\\=/.1O(I);if(D||C){I=k.1X(1n,"y")+1m(I.5o(D?"=":"+=",""),10)}1j{I=5p(1m(I,10))?2f:1m(I,10)}}if(H.2O!="4F"&&B!==2f){if(H.3F.x){B=1k.2S(B/H.3F.x)*H.3F.x}B=k.5G(B,"x");B=k.aQ(B,"x");B=k.aP(B,"x");H.24?k.2J.3b().24({1b:B},(1k.41(1m(k.2J.1e("1b"))-B))*(!5p(1m(H.24))?H.24:5)):k.2J.1e({1b:B})}if(H.2O!="cc"&&I!==2f){if(H.3F.y){I=1k.2S(I/H.3F.y)*H.3F.y}I=k.5G(I,"y");I=k.aQ(I,"y");I=k.aP(I,"y");H.24?k.2J.3b().24({1c:I},(1k.41(1m(k.2J.1e("1c"))-I))*(!5p(1m(H.24))?H.24:5)):k.2J.1e({1c:I})}if(k.6s){k.cb()}k.2J.1w("5r").ca={x:1k.2S(k.6U(B,"x"))||0,y:1k.2S(k.6U(I,"y"))||0};if(!G){k.26("2z",1n);k.26("3b",1n);k.26("5q",1n);k.26("7t",1n)}}});A.1a.54.aA="1X";A.1a.54.4g={29:".1a-54-29",3G:1,24:1h}})(1L);(u(A){A.3P("1a.2d",{52:u(){if(A.1w(k.1d[0],"2d")){19}if(k.v.gW){k.v.gW(k.1a(1n))}k.dK=0;if(k.v.3F.7p().4N(".")!=-1){p C=k.v.3F.7p();k.dK=C.7s(C.4N(".")+1,C.1t).1t}p B=k;k.1d.1x("1a-2d-dH").2Q("4t","dR");k.7q(5p(k.5Z())?k.v.2z:k.5Z());k.1d.7r("<1v>").1B().1x("1a-2d").5e(\'<43 2e="1a-2d-4P" 4k="43">&#lj;\').2N(".1a-2d-4P").1M("5f",u(D){A(k).1x("1a-2d-62");if(!B.3w){B.3w=1}B.c8(2b,"8P",D)}).1M("63",u(D){A(k).1G("1a-2d-62");if(B.3w==1){B.8P(D)}B.aN(D)}).1M("gV",u(D){A(k).1G("1a-2d-62");B.aN(D)}).1M("gU",u(D){A(k).1G("1a-2d-62");B.8P(D)}).1M("61.2d",u(E){p D=A.2w;if(E.2w==D.dQ||E.2w==D.dP){A(k).1x("1a-2d-62");if(!B.3w){B.3w=1}B.8P.1P(B,E)}1j{if(E.2w==D.aK||E.2w==D.dL){B.1d.5U(".1a-2d-53").3c()}1j{if(E.2w==D.c5){B.1d.3c()}}}}).1M("dO.2d",u(D){A(k).1G("1a-2d-62");B.3w=0;B.26("5q",D)}).3i().5e(\'<43 2e="1a-2d-53" 4k="43">&#lh;\').2N(".1a-2d-53").1M("5f",u(D){A(k).1x("1a-2d-62");if(!B.3w){B.3w=1}B.c8(2b,"8O",D)}).1M("63",u(D){A(k).1G("1a-2d-62");if(B.3w==1){B.8O()}B.aN(D)}).1M("gV",u(D){A(k).1G("1a-2d-62");B.aN(D)}).1M("gU",u(D){A(k).1G("1a-2d-62");B.8O(D)}).1M("61.2d",u(E){p D=A.2w;if(E.2w==D.dQ||E.2w==D.dP){A(k).1x("1a-2d-62");if(!B.3w){B.3w=1}B.8O.1P(B,E)}1j{if(E.2w==D.aL||E.2w==D.c5){B.1d.5U(".1a-2d-4P").3c()}}}).1M("dO.2d",u(D){A(k).1G("1a-2d-62");B.3w=0;B.26("5q",D)}).3i();k.c9=k.1d.9C().1t;if(k.c9>1){k.1d.1x("1a-2d-dG").1e("1g",k.1d.3q()/k.c9).9C().1x("1a-2d-gJ").3i().1B().1e("1g",k.1d.3q()).3i();k.v.3F=1;k.v.1W=0;k.v.1H=k.c9-1}k.1d.1M("61.2d",u(D){if(!B.3w){B.3w=1}19 B.c7.1P(B,D)}).1M("dO.2d",u(D){B.3w=0;B.26("5q",D)}).1M("7o.2d",u(D){B.gT()});if(A.fn.dI){k.1d.dI(u(D,E){B.gM(D,E)})}},dN:u(){if(k.v.1W!=2f&&k.5Z()k.v.1H){k.7q(k.v.1H)}},gT:u(){k.7q(k.5Z());k.dN()},dM:u(C,B){if(k.1I){19}if(5p(k.5Z())){k.7q(k.v.2z)}k.7q(k.5Z()+(C=="4P"?1:-1)*(k.v.gH&&k.3w>2b?(k.3w>aO?2b:10):1)*k.v.3F);k.c4(C);k.dN();if(k.3w){k.3w++}k.26("dJ",B)},8O:u(B){k.dM("53",B);k.26("53",B)},8P:u(B){k.dM("4P",B);k.26("4P",B)},c8:u(C,E,D){p B=k;C=C||2b;if(k.aM){3p.dB(k.aM)}k.aM=3p.gx(u(){B[E](D);if(B.3w>20){B.c8(20,E,D)}},C)},aN:u(B){k.3w=0;if(k.aM){3p.dB(k.aM)}k.1d[0].3c();k.26("5q",B)},c7:u(C){p B=A.2w;if(C.2w==B.aL){k.8P(C)}if(C.2w==B.aK){k.8O(C)}if(C.2w==B.gS){k.7q(k.v.1W||k.v.2z)}if(C.2w==B.gR&&k.v.1H!=2f){k.7q(k.v.1H)}19(C.2w==B.aJ||C.2w==B.c6||C.2w==B.c5||C.2w==B.dL||C.2w==B.gQ||C.2w==B.gP||C.2w==B.gO||(C.2w>=96&&C.2w<=lg)||(/[0-9\\-\\.]/).1O(9D.gN(C.2w)))?1q:1h},gM:u(B,C){C=(A.2j.5W?-C/1k.41(C):C);C>0?k.8P(B):k.8O(B);B.6T()},5Z:u(){19 9B(k.1d.2v().5o(/[^0-9\\-\\.]/g,""))},7q:u(B){if(5p(B)){B=k.v.2z}k.1d.2v(k.v.aH?A.1a.2d.3E.aH(B,k.v.aH):A.1a.2d.3E.84(B,k.dK))},c4:u(B){if(k.1d.4o("1a-2d-dG")&&((B=="4P"&&k.5Z()<=k.v.1H)||(B=="53"&&k.5Z()>=k.v.1W))){k.1d.24({87:"-"+k.5Z()*k.1d.3q()},{1V:"c3",3Q:1h})}},gK:u(B){if(!k.1d.is("1z")){p C="1v";if(k.1d.is("ol")||k.1d.is("gL")){C="li"}k.1d.5e("<"+C+\' 2e="1a-2d-gI">\'+B+"")}},6r:{},1a:u(B){19{v:k.v,1d:k.1d,1X:k.5Z(),2l:k.gK}},26:u(C,B){A.1a.2Y.1P(k,C,[B,k.1a()]);19 k.1d.3v(C=="dJ"?C:"dJ"+C,[B,k.1a()],k.v[C])},3s:u(){if(!A.1w(k.1d[0],"2d")){19}if(A.fn.dI){k.1d.lf()}k.1d.1G("1a-2d-dH 1a-2d-dG").aI("1I").aI("4t").4r("2d").2G(".2d").5U().2k().3i().9C().1G("1a-2d-gJ").2k(".1a-2d-gI").3i().1B().1G("1a-2d 1a-2d-1I").c2(k.1d.86()).2k().3i()},9y:u(){k.1d.aI("1I").5U().aI("1I").1B().1G("1a-2d-1I");k.1I=1h},83:u(){k.1d.2Q("1I",1q).5U().2Q("1I",1q).1B().1x("1a-2d-1I");k.1I=1q}});A.23(A.1a.2d,{4g:{3F:1,2z:0,gH:1q,aH:1h},3E:{84:u(B,C){19 k.2S(B,C)},aH:u(C,B){19(C!==1k.41(C)?"-":"")+B+k.2S(1k.41(C),2)},2S:u(B,D){p C=1k.2S(9B(B)*1k.5Y(10,D))/1k.5Y(10,D);if(D>0){C=C+((C.7p().4N(".")==-1)?".":"")+"le";C=C.gG(0,C.4N(".")+1+D)}1j{C=1k.2S(C)}19 C}}})})(1L);(u(A){A.3P("1a.1F",{52:u(){k.v.4B+=".1F";k.aD(1q)},5X:u(B,C){if((/^2a/).1O(B)){k.51(C)}1j{k.v[B]=C;k.aD()}},1t:u(){19 k.$1F.1t},dF:u(B){19 B.4E&&B.4E.5o(/\\s/g,"9A").5o(/[^A-ld-lc-9\\-9A:\\.]/g,"")||k.v.gB+A.1w(B)},1a:u(C,B){19{v:k.v,lb:C,gz:B,3J:k.$1F.3J(C)}},aD:u(O){k.$4q=A("li:la(a[4C])",k.1d);k.$1F=k.$4q.7n(u(){19 A("a",k)[0]});k.$3Y=A([]);p P=k,D=k.v;k.$1F.1D(u(R,Q){if(Q.7l&&Q.7l.5o("#","")){P.$3Y=P.$3Y.2l(Q.7l)}1j{if(A(Q).2Q("4C")!="#"){A.1w(Q,"4C.1F",Q.4C);A.1w(Q,"5m.1F",Q.4C);p T=P.dF(Q);Q.4C="#"+T;p S=A("#"+T);if(!S.1t){S=A(D.dE).2Q("id",T).1x(D.aB).l9(P.$3Y[R-1]||P.1d);S.1w("3s.1F",1q)}P.$3Y=P.$3Y.2l(S)}1j{D.1I.4n(R+1)}}});if(O){k.1d.1x(D.dD);k.$3Y.1D(u(){p Q=A(k);Q.1x(D.aB)});if(D.2a===2f){if(c1.7l){k.$1F.1D(u(S,Q){if(Q.7l==c1.7l){D.2a=S;if(A.2j.3Z||A.2j.5W){p R=A(c1.7l),T=R.2Q("id");R.2Q("id","");5E(u(){R.2Q("id",T)},aG)}l8(0,0);19 1h}})}1j{if(D.7j){p J=1m(A.7j("1a-1F-"+A.1w(P.1d[0])),10);if(J&&P.$1F[J]){D.2a=J}}1j{if(P.$4q.3D("."+D.3X).1t){D.2a=P.$4q.3J(P.$4q.3D("."+D.3X)[0])}}}}D.2a=D.2a===1n||D.2a!==2f?D.2a:0;D.1I=A.l7(D.1I.5V(A.7n(k.$4q.3D("."+D.8L),u(R,Q){19 P.$4q.3J(R)}))).6S();if(A.8M(D.2a,D.1I)!=-1){D.1I.c0(A.8M(D.2a,D.1I),1)}k.$3Y.1x(D.80);k.$4q.1G(D.3X);if(D.2a!==1n){k.$3Y.eq(D.2a).1N().1G(D.80);k.$4q.eq(D.2a).1x(D.3X);p K=u(){P.4h("1N",1n,P.1a(P.$1F[D.2a],P.$3Y[D.2a]))};if(A.1w(k.$1F[D.2a],"5m.1F")){k.5m(D.2a,K)}1j{K()}}A(3p).1M("l6",u(){P.$1F.2G(".1F");P.$4q=P.$1F=P.$3Y=1n})}1j{D.2a=k.$4q.3J(k.$4q.3D("."+D.3X)[0])}if(D.7j){A.7j("1a-1F-"+A.1w(P.1d[0]),D.2a,D.7j)}1R(p G=0,N;N=k.$4q[G];G++){A(N)[A.8M(G,D.1I)!=-1&&!A(N).4o(D.3X)?"1x":"1G"](D.8L)}if(D.81===1h){k.$1F.4r("81.1F")}p C,I,B={"1W-1f":0,1V:1},E="aF";if(D.fx&&D.fx.4O==9z){C=D.fx[0]||B,I=D.fx[1]||B}1j{C=I=D.fx||B}p H={4D:"",2V:"",1g:""};if(!A.2j.3Z){H.1Y=""}u M(R,Q,S){Q.24(C,C.1V||E,u(){Q.1x(D.80).1e(H);if(A.2j.3Z&&C.1Y){Q[0].2R.3D=""}if(S){L(R,S,Q)}})}u L(R,S,Q){if(I===B){S.1e("4D","7m")}S.24(I,I.1V||E,u(){S.1G(D.80).1e(H);if(A.2j.3Z&&I.1Y){S[0].2R.3D=""}P.4h("1N",1n,P.1a(R,S[0]))})}u F(R,T,Q,S){T.1x(D.3X).5U().1G(D.3X);M(R,Q,S)}k.$1F.2G(".1F").1M(D.4B,u(){p T=A(k).5F("li:eq(0)"),Q=P.$3Y.3D(":4j"),S=A(k.7l);if((T.4o(D.3X)&&!D.bV)||T.4o(D.8L)||A(k).4o(D.7Z)||P.4h("51",1n,P.1a(k,S[0]))===1h){k.7o();19 1h}P.v.2a=P.$1F.3J(k);if(D.bV){if(T.4o(D.3X)){P.v.2a=1n;T.1G(D.3X);P.$3Y.3b();M(k,Q);k.7o();19 1h}1j{if(!Q.1t){P.$3Y.3b();p R=k;P.5m(P.$1F.3J(k),u(){T.1x(D.3X).1x(D.dC);L(R,S)});k.7o();19 1h}}}if(D.7j){A.7j("1a-1F-"+A.1w(P.1d[0]),P.v.2a,D.7j)}P.$3Y.3b();if(S.1t){p R=k;P.5m(P.$1F.3J(k),Q.1t?u(){F(R,T,Q,S)}:u(){T.1x(D.3X);L(R,S)})}1j{8N"1L l5 l4: l3 l2 6q."}if(A.2j.3Z){k.7o()}19 1h});if(!(/^2n/).1O(D.4B)){k.$1F.1M("2n.1F",u(){19 1h})}},2l:u(E,D,C){if(C==2f){C=k.$1F.1t}p G=k.v;p I=A(G.gA.5o(/#\\{4C\\}/g,E).5o(/#\\{3u\\}/g,D));I.1w("3s.1F",1q);p H=E.4N("#")==0?E.5o("#",""):k.dF(A("a:bZ-3K",I)[0]);p F=A("#"+H);if(!F.1t){F=A(G.dE).2Q("id",H).1x(G.80).1w("3s.1F",1q)}F.1x(G.aB);if(C>=k.$4q.1t){I.31(k.1d);F.31(k.1d[0].3f)}1j{I.aE(k.$4q[C]);F.aE(k.$3Y[C])}G.1I=A.7n(G.1I,u(K,J){19 K>=C?++K:K});k.aD();if(k.$1F.1t==1){I.1x(G.3X);F.1G(G.80);p B=A.1w(k.$1F[0],"5m.1F");if(B){k.5m(C,B)}}k.4h("2l",1n,k.1a(k.$1F[C],k.$3Y[C]))},2k:u(B){p D=k.v,E=k.$4q.eq(B).2k(),C=k.$3Y.eq(B).2k();if(E.4o(D.3X)&&k.$1F.1t>1){k.51(B+(B+1=B?--G:G});k.aD();k.4h("2k",1n,k.1a(E.2N("a")[0],C[0]))},9y:u(B){p C=k.v;if(A.8M(B,C.1I)==-1){19}p D=k.$4q.eq(B).1G(C.8L);if(A.2j.aC){D.1e("4D","4i-7m");5E(u(){D.1e("4D","7m")},0)}C.1I=A.gF(C.1I,u(F,E){19 F!=B});k.4h("9y",1n,k.1a(k.$1F[B],k.$3Y[B]))},83:u(C){p B=k,D=k.v;if(C!=D.2a){k.$4q.eq(C).1x(D.8L);D.1I.4n(C);D.1I.6S();k.4h("83",1n,k.1a(k.$1F[C],k.$3Y[C]))}},51:u(B){if(2B B=="4s"){B=k.$1F.3J(k.$1F.3D("[4C$="+B+"]")[0])}k.$1F.eq(B).5n(k.v.4B)},5m:u(G,K){p L=k,D=k.v,E=k.$1F.eq(G),J=E[0],H=K==2f||K===1h,B=E.1w("5m.1F");K=K||u(){};if(!B||!H&&A.1w(J,"81.1F")){K();19}p M=u(N){p O=A(N),P=O.2N("*:gE");19 P.1t&&P.is(":82(9x)")&&P||O};p C=u(){L.$1F.3D("."+D.7Z).1G(D.7Z).1D(u(){if(D.2d){M(k).1B().2y(M(k).1w("3u.1F"))}});L.bX=1n};if(D.2d){p I=M(J).2y();M(J).l1("").2N("em").1w("3u.1F",I).2y(D.2d)}p F=A.23({},D.bW,{7k:B,bY:u(O,N){A(J.7l).2y(O);C();if(D.81){A.1w(J,"81.1F",1q)}L.4h("5m",1n,L.1a(L.$1F[G],L.$3Y[G]));D.bW.bY&&D.bW.bY(O,N);K()}});if(k.bX){k.bX.gD();C()}E.1x(D.7Z);5E(u(){L.bX=A.gC(F)},0)},7k:u(C,B){k.$1F.eq(C).4r("81.1F").1w("5m.1F",B)},3s:u(){p B=k.v;k.1d.2G(".1F").1G(B.dD).4r("1F");k.$1F.1D(u(){p C=A.1w(k,"4C.1F");if(C){k.4C=C}p D=A(k).2G(".1F");A.1D(["4C","5m","81"],u(E,F){D.4r(F+".1F")})});k.$4q.2l(k.$3Y).1D(u(){if(A.1w(k,"3s.1F")){A(k).2k()}1j{A(k).1G([B.3X,B.dC,B.8L,B.aB,B.80].6p(" "))}})}});A.1a.1F.4g={bV:1h,4B:"2n",1I:[],7j:1n,2d:"l0&#kZ;",81:1h,gB:"1a-1F-",bW:{},fx:1n,gA:\'
  • <3o>#{3u}
  • \',dE:"<1v>",dD:"1a-1F-kY",3X:"1a-1F-2a",dC:"1a-1F-bV",8L:"1a-1F-1I",aB:"1a-1F-gz",80:"1a-1F-1Q",7Z:"1a-1F-gy"};A.1a.1F.aA="1t";A.23(A.1a.1F.5d,{dA:1n,kX:u(C,F){F=F||1h;p B=k,E=k.v.2a;u G(){B.dA=gx(u(){E=++E35?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(E){E.2f("d.5",{2e:4(){7 G=2.c;3(G.2d){7 J=2.e.12("a").n(G.1b);3(J.1q){3(J.n(G.p).1q){G.6=J}w{G.6=J.l().l().2c();J.v("2b")}}}G.8=2.e.12(G.p);G.6=C(G.8,G.6);3(E.T.14){2.e.12("a").m("2a","1")}3(!2.e.29("d-5")){2.e.v("d-5");E(\'<1p 1o="d-5-28"/>\').27(G.8);E(\'<1p 1o="d-5-26"/>\').25(G.8);G.8.v("d-5-p").24("23","0")}7 I;3(G.1l){I=2.e.l().9();G.8.O(4(){I-=E(2).1m()});7 H=0;G.8.h().O(4(){H=S.1n(H,E(2).22()-E(2).9())}).9(I-H)}w{3(G.g){I=0;G.8.h().O(4(){I=S.1n(I,E(2).1m())}).9(I)}}G.8.Z(G.6||"").h().U();G.6.l().R().v(G.t);3(G.Y){2.e.21((G.Y)+".5",F)}},20:4(G){F.10(2.e[0],{11:C(2.c.8,G)[0]})},1Z:4(){2.c.8.h().m("1Y","");3(2.c.1l||2.c.g){2.c.8.h().m("9","")}E.1X(2.e[0],"5");2.e.1W("d-5").1V(".5")}});4 B(H,G){b 4(){b H.1U(G,1T)}}4 D(I){3(!E.i(2,"5")){b}7 G=E.i(2,"5");7 H=G.c;H.o=I?0:--H.o;3(H.o){b}3(H.1S){H.f.1R(H.j).m({9:"",17:""})}G.1k("1Q",1j,H.i)}4 A(G,K,L,J,M){7 I=E.i(2,"5").c;I.f=G;I.j=K;I.i=L;7 H=B(D,2);E.i(2,"5").1k("1P",1j,I.i);I.o=K.P()===0?G.P():K.P();3(I.Q){3(!I.k&&J){E.d.5.W[I.Q]({f:x([]),j:K,s:H,z:M,g:I.g})}w{E.d.5.W[I.Q]({f:G,j:K,s:H,z:M,g:I.g})}}w{3(!I.k&&J){G.1O()}w{K.U();G.V()}H(X)}}4 F(L){7 J=E.i(2,"5").c;3(J.1N){b u}3(!L.11&&!J.k){J.6.l().R().1i(J.t);7 I=J.6.h(),M={c:J,1h:x([]),1g:J.6,1f:x([]),1e:I},G=(J.6=E([]));A.10(2,G,I,M);b u}7 K=E(L.11);K=E(K.1M(J.p)[0]||K);7 H=K[0]==J.6[0];3(J.o||(J.k&&H)){b u}3(!K.1L(J.p)){b}J.6.l().R().1i(J.t);3(!H){K.l().R().v(J.t)}7 G=K.h(),I=J.6.h(),M={c:J,1h:H&&!J.k?E([]):K,1g:J.6,1f:H&&!J.k?E([]):G,1e:I},N=J.8.1d(J.6[0])>J.8.1d(K[0]);J.6=H?E([]):K;A.10(2,G,I,M,H,N);b u}4 C(H,G){b G?1K G=="1J"?H.n(":1c("+G+")"):H.Z(H.Z(G)):G===u?E([]):H.n(":1c(0)")}E.18(E.d.5,{1I:{t:"1H",k:X,Q:"y",Y:"1G",p:"a",g:X,o:0,1b:4(){b 2.1a.19()==1F.1a.19()}},W:{y:4(G,I){G=E.18({r:"13",q:1E},G,I);3(!G.j.P()){G.f.15({9:"V"},G);b}7 H=G.j.9(),J=G.f.9(),K=J/H;G.f.m({9:0,17:"16"}).V();G.j.n(":16").O(G.s).1D().n(":1C").15({9:"U"},{1B:4(L){7 M=(H-L)*K;3(E.T.14||E.T.1A){M=S.1z(M)}G.f.9(M)},q:G.q,r:G.r,s:4(){3(!G.g){G.f.m("9","1y")}G.s()}})},1x:4(G){2.y(G,{r:G.z?"1w":"13",q:G.z?1v:1u})},1t:4(G){2.y(G,{r:"1s",q:1r})}}})})(x)',62,140,'||this|if|function|accordion|active|var|headers|height||return|options|ui|element|toShow|autoHeight|next|data|toHide|alwaysOpen|parent|css|filter|running|header|duration|easing|complete|selectedClass|false|addClass|else|jQuery|slide|down|||||||||||||||each|size|animated|andSelf|Math|browser|hide|show|animations|true|event|not|call|target|find|swing|msie|animate|hidden|overflow|extend|toLowerCase|href|navigationFilter|eq|index|oldContent|newContent|oldHeader|newHeader|toggleClass|null|_trigger|fillSpace|outerHeight|max|class|span|length|700|easeinout|easeslide|200|1000|bounceout|bounceslide|auto|ceil|opera|step|visible|end|300|location|click|selected|defaults|number|typeof|is|parents|disabled|toggle|changestart|change|add|clearStyle|arguments|apply|unbind|removeClass|removeData|display|destroy|activate|bind|innerHeight|tabindex|attr|appendTo|right|insertBefore|left|hasClass|zoom|current|prev|navigation|_init|widget'.split('|'),0,{})) + Index: lams_central/web/includes/javascript/jquery-ui/ui/packed/ui.autocomplete.packed.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/packed/Attic/ui.autocomplete.packed.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/packed/ui.autocomplete.packed.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,2 @@ +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}('(3(A){A.4d("t.i",{4c:3(){A.1y(k.w,{1z:k.w.1b?A.o.1x.1z:10,1a:!k.w.1q?10:4b,1r:k.w.1r||3(B){6 B},1v:k.w.1v||k.w.1N});1T A.o(k.1f[0],k.w)},s:3(B){6 k.1f.15("s",B)},1C:3(B){6 k.1f.1e("1C",[B])},1Y:3(){6 k.1f.1e("1Y")},4a:3(B,C){6 k.1f.1e("2K",[{49:C}])},48:3(){6 k.1f.1e("2J")}});A.o=3(L,G){5 C={2S:38,2R:40,2H:46,2N:9,2M:13,2L:27,2O:47,2Q:33,2P:34,2G:8};5 B=A(L).45("i","44").11(G.2D);4(G.s){B.15("s.i",G.s)}5 J;5 P="";5 M=A.o.2w(G);5 E=0;5 U;5 X={1s:j};5 R=A.o.2q(G,L,D,X);5 W;A.1H.2U&&A(L.2I).15("43.i",3(){4(W){W=j;6 j}});B.15((A.1H.2U?"42":"41")+".i",3(Y){U=Y.2T;3Z(Y.2T){17 C.2S:Y.1m();4(R.x()){R.2i()}h{T(0,m)}16;17 C.2R:Y.1m();4(R.x()){R.2j()}h{T(0,m)}16;17 C.2Q:Y.1m();4(R.x()){R.2h()}h{T(0,m)}16;17 C.2P:Y.1m();4(R.x()){R.2g()}h{T(0,m)}16;17 G.1l&&A.1A(G.14)==","&&C.2O:17 C.2N:17 C.2M:4(D()){Y.1m();W=m;6 j}16;17 C.2L:R.z();16;3Y:1X(J);J=1S(T,G.1z);16}}).1E(3(){E++}).3X(3(){E=0;4(!X.1s){S()}}).2n(3(){4(E++>1&&!R.x()){T(0,m)}}).15("1C",3(){5 Y=(1D.7>1)?1D[1]:1t;3 Z(d,c){5 a;4(c&&c.7){1d(5 b=0;b1){Y=a.1c(0,a.7-1).2F(G.14)+G.14+Y}Y+=G.14}B.v(Y);V();B.1e("s",[Z.l,Z.u]);6 m}3 T(a,Z){4(U==C.2H){R.z();6}5 Y=B.v();4(!Z&&Y==P){6}P=Y;Y=I(Y);4(Y.7>=G.1O){B.11(G.1U);4(!G.1w){Y=Y.12()}F(Y,K,V)}h{N();R.z()}}3 H(Z){4(!Z){6[""]}5 a=Z.1V(G.14);5 Y=[];A.y(a,3(b,c){4(A.1A(c)){Y[b]=A.1A(c)}});6 Y}3 I(Y){4(!G.1l){6 Y}5 Z=H(Y);6 Z[Z.7-1]}3 Q(Y,Z){4(G.2A&&(I(B.v()).12()==Y.12())&&U!=C.2G){B.v(B.v()+Z.3W(I(P).7));A.o.1F(L,P.7,P.7+Z.7)}}3 S(){1X(J);J=1S(V,3V)}3 V(){5 Y=R.x();R.z();1X(J);N();4(G.2C){B.i("1C",3(Z){4(!Z){4(G.1l){5 a=H(B.v()).1c(0,-1);B.v(a.2F(G.14)+(a.7?G.14:""))}h{B.v("")}}})}4(Y){A.o.1F(L,L.u.7,L.u.7)}}3 K(Z,Y){4(Y&&Y.7&&E){N();R.2k(Y,Z);Q(Z,Y[0].u);R.1o()}h{V()}}3 F(b,d,a){4(!G.1w){b=b.12()}5 c=M.2t(b);4(c&&c.7){d(b,c)}h{4((19 G.1b=="1I")&&(G.1b.7>0)){5 e={3U:+1T 3T()};A.y(G.2B,3(f,g){e[f]=19 g=="3"?g():g});A.3S({3R:"3Q",3P:"i"+L.3O,2E:G.2E,1b:G.1b,l:A.1y({q:I(b),3N:G.1a},e),3M:3(g){5 f=G.1B&&G.1B(g)||O(g);M.1R(b,f);d(b,f)}})}h{4(G.1W&&19 G.1W=="3"){5 Z=G.1W(b);5 Y=(G.1B)?G.1B(Z):Z;M.1R(b,Y);d(b,Y)}h{R.24();a(b)}}}}3 O(b){5 Y=[];5 a=b.1V("\\n");1d(5 Z=0;Z]*)("+B.2z(/([\\^\\$\\(\\)\\[\\]\\{\\}\\*\\.\\+\\?\\|\\\\])/2y,"\\\\$1")+")(?![^<>]*>)(?![^&;]+;)","2y"),"<2x>$1")},1q:m,1p:3F};A.1y(A.t.i,{1x:A.o.1x});A.o.2w=3(C){5 F={};5 D=0;3 H(K,J){4(!C.1w){K=K.12()}5 I=K.3E(J);4(I==-1){6 j}6 I==0||C.1Q}3 G(J,I){4(D>C.1k){B()}4(!F[J]){D++}F[J]=I}3 E(){4(!C.l){6 j}5 J={},I=0;4(!C.1b){C.1k=1}J[""]=[];1d(5 L=0,K=C.l.7;L0){5 M=F[I];A.y(M,3(O,N){4(H(N.u,L)){K.1P(N)}})}}6 K}h{4(F[L]){6 F[L]}h{4(C.2r){1d(5 J=L.7-1;J>=C.1O;J--){5 M=F[L.3C(0,J)];4(M){5 K=[];A.y(M,3(O,N){4(H(N.u,L)){K[K.7]=N}});6 K}}}}}6 1t}}};A.o.2q=3(E,J,L,P){5 I={p:"t-i-3B"};5 K,F=-1,R,M="",S=m,C,O;3 N(){4(!S){6}C=A("<3A/>").z().11(E.2p).18("3z","3y").1L(2e.2d);O=A("<3x/>").1L(C).3w(3(T){4(Q(T).2o&&Q(T).2o.3v()=="2m"){F=A("1K",O).1g(I.p).3u(Q(T));A(Q(T)).11(I.p)}}).2n(3(T){A(Q(T)).11(I.p);L();J.1E();6 j}).3t(3(){P.1s=m}).3s(3(){P.1s=j});4(E.r>0){C.18("r",E.r)}S=j}3 Q(U){5 T=U.3r;3q(T&&T.3p!="2m"){T=T.3o}4(!T){6[]}6 T}3 H(T){K.1c(F,F+1).1g(I.p);G(T);5 V=K.1c(F,F+1).11(I.p);4(E.1q){5 U=0;K.1c(0,F).y(3(){U+=k.1h});4((U+V[0].1h-O.1i())>O[0].3n){O.1i(U+V[0].1h-O.3m())}h{4(U=K.1j()){F=0}}}3 B(T){6 E.1a&&E.1a").3l(E.1r(W,M)).11(V%2==0?"t-i-3k":"t-i-3j").1L(O)[0];A.l(T,"t-i-l",R[V])}K=O.3i("1K");4(E.1J){K.1c(0,1).11(I.p);F=0}4(A.3h.2l){O.2l()}}6{2k:3(U,T){N();R=U;M=T;D()},2j:3(){H(1)},2i:3(){H(-1)},2h:3(){4(F!=0&&F-8<0){H(-F)}h{H(-8)}},2g:3(){4(F!=K.1j()-1&&F+8>K.1j()){H(K.1j()-1-F)}h{H(8)}},z:3(){C&&C.z();K&&K.1g(I.p);F=-1;A(J).29("3g",[{},{w:E}],E["z"])},x:3(){6 C&&C.3f(":x")},3e:3(){6 k.x()&&(K.26("."+I.p)[0]||E.1J&&K[0])},1o:3(){5 V=A(J).3d();C.18({r:19 E.r=="1I"||E.r>0?E.r:A(J).r(),2f:V.2f+J.1h,1G:V.1G}).1o();4(E.1q){O.1i(0);O.18({2c:E.1p,3c:"3b"});4(A.1H.3a&&19 2e.2d.39.2c==="37"){5 T=0;K.y(3(){T+=k.1h});5 U=T>E.1p;O.18("36",U?E.1p:T);4(!U){K.r(O.r()-2b(K.18("2a-1G"))-2b(K.18("2a-35")))}}}A(J).29("32",[{},{w:E}],E["1o"])},28:3(){5 T=K&&K.26("."+I.p).1g(I.p);6 T&&T.7&&A.l(T[0],"t-i-l")},24:3(){O&&O.23()},1n:3(){C&&C.31()}}};A.o.1F=3(D,E,C){4(D.22){5 B=D.22();B.30(m);B.2Z("21",E);B.2Y("21",C);B.2X()}h{4(D.20){D.20(E,C)}h{4(D.1Z){D.1Z=E;D.2W=C}}}D.1E()}})(2V)',62,262,'|||function|if|var|return|length||||||||||else|autocomplete|false|this|data|true||Autocompleter|ACTIVE||width|result|ui|value|val|options|visible|each|hide||||||||||||||||||||||||||||addClass|toLowerCase||multipleSeparator|bind|break|case|css|typeof|max|url|slice|for|trigger|element|removeClass|offsetHeight|scrollTop|size|cacheLength|multiple|preventDefault|unbind|show|scrollHeight|scroll|highlight|mouseDownOnSelect|null|formatResult|formatMatch|matchCase|defaults|extend|delay|trim|parse|search|arguments|focus|Selection|left|browser|string|selectFirst|li|appendTo|continue|formatItem|minChars|push|matchContains|add|setTimeout|new|loadingClass|split|source|clearTimeout|flushCache|selectionStart|setSelectionRange|character|createTextRange|empty|emptyList||filter||selected|triggerHandler|padding|parseInt|maxHeight|body|document|top|pageDown|pageUp|prev|next|display|bgiframe|LI|click|nodeName|resultsClass|Select|matchSubset|in|load|populate|flush|Cache|strong|gi|replace|autoFill|extraParams|mustMatch|inputClass|dataType|join|BACKSPACE|DEL|form|unautocomplete|setOptions|ESC|RETURN|TAB|COMMA|PAGEDOWN|PAGEUP|DOWN|UP|keyCode|opera|jQuery|selectionEnd|select|moveEnd|moveStart|collapse|remove|autocompleteshow|||right|height|undefined||style|msie|auto|overflow|offset|current|is|autocompletehide|fn|find|odd|even|html|innerHeight|clientHeight|parentNode|tagName|while|target|mouseup|mousedown|index|toUpperCase|mouseover|ul|absolute|position|div|over|substr|charAt|indexOf|180|RegExp|100|400|loading|results|input|success|limit|name|port|abort|mode|ajax|Date|timestamp|200|substring|blur|default|switch||keydown|keypress|submit|off|attr||188|destroy|key|setData|150|_init|widget'.split('|'),0,{})) + Index: lams_central/web/includes/javascript/jquery-ui/ui/packed/ui.colorpicker.packed.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/packed/Attic/ui.colorpicker.packed.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/packed/ui.colorpicker.packed.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,2 @@ +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}('(9(A){A.3A("c.a",{3z:9(){7.1W=2L;m D=7.W,B=7,C=\'<13 1e="1m" 1l="6" 1k="6" /><13 1e="1m" 1l="3" 1k="2" /><13 1e="1m" 1l="3" 1k="2" /><13 1e="1m" 1l="3" 1k="2" /><13 1e="1m" 1l="3" 1k="2" /><13 1e="1m" 1l="3" 1k="2" /><13 1e="1m" 1l="3" 1k="2" /><1Z S="c-a-1t c-3w-3v" 3u="1t" 1e="1Z">3t\';j(23 D.e=="22"){7.e=7.1M(D.e)}n{j(D.e.r!=T&&D.e.g!=T&&D.e.b!=T){7.e=7.1D(D.e)}n{j(D.e.h!=T&&D.e.s!=T&&D.e.b!=T){7.e=7.1L(D.e)}n{d 7}}}7.1Q=7.e;7.p=A(C);j(D.1P){7.p.2V(7.1s).1S()}n{7.p.2V(k.1g)}7.N=7.p.O("13").z("3s",9(E){d B.2P.x(B,E)}).z("2O",9(E){d B.1c.x(B,E)}).z("3r",9(E){d B.2N.x(B,E)}).z("1b",9(E){d B.2M.x(B,E)});7.p.O("R").z("1E",9(E){d B.2K.x(B,E)});7.1Y=7.p.O("i.c-a-e").z("1E",9(E){d B.2C.x(B,E)});7.2S=7.1Y.O("i i");7.1z=7.p.O("i.c-a-1z i");7.p.O("i.c-a-1z").z("1E",9(E){d B.2F.x(B,E)});7.2Q=7.p.O("i.c-a-2U-e");7.2R=7.p.O("i.c-a-2T-e");7.p.O(".c-a-1t").z("3q",9(E){d B.2y.x(B,E)}).z("3p",9(E){d B.2x.x(B,E)}).z("20",9(E){d B.2w.x(B,E)});7.1q(7.e);7.1p(7.e);7.1o(7.e);7.1C(7.e);7.1B(7.e);7.1K(7.e);7.1A(7.e);j(D.1P){7.p.1j({3o:"3n",3m:"3l"})}n{A(7.1s).z(D.21+".a",9(E){d B.2v.x(B,E)})}},3k:9(){7.p.3j();7.1s.3i("a").19(".a")},1q:9(B){m C=7.17(B);7.N.u(1).o(C.r).15().u(2).o(C.g).15().u(3).o(C.b).15()},1p:9(B){7.N.u(4).o(B.h).15().u(5).o(B.s).15().u(6).o(B.b).15()},1o:9(B){7.N.u(0).o(7.X(B)).15()},1B:9(B){7.1Y.1j("1X","#"+7.X({h:B.h,s:M,b:M}));7.2S.1j({1G:v(q*B.s/M,10),1i:v(q*(M-B.b)/M,10)})},1C:9(B){7.1z.1j("1i",v(q-q*B.h/1f,10))},1K:9(B){7.2R.1j("1X","#"+7.X(B))},1A:9(B){7.2Q.1j("1X","#"+7.X(B))},2P:9(B){m C=B.3h||B.3g||-1;j((C>=7.1W&&C<=3f)||C==32){d L}},1c:9(D,C){m B;C=C||D.1a;j(C.18.1J.1r("-11")>0){7.e=B=7.1M(7.3e);7.1q(B.e);7.1p(B)}n{j(C.18.1J.1r("-P")>0){7.e=B=7.1L({h:v(7.N.u(4).o(),10),s:v(7.N.u(5).o(),10),b:v(7.N.u(6).o(),10)});7.1q(B);7.1o(B)}n{7.e=B=7.1D(7.2a({r:v(7.N.u(1).o(),10),g:v(7.N.u(2).o(),10),b:v(7.N.u(3).o(),10)}));7.1o(B);7.1p(B)}}7.1B(B);7.1C(B);7.1A(B);7.1F("2O",D,{W:7.W,P:B,11:7.X(B),V:7.17(B)})},2N:9(C){m B=7.e;7.1q(B);7.1p(B);7.1o(B);7.1C(B);7.1B(B);7.1A(B);7.N.1O().1N("c-a-1b")},2M:9(B){7.1W=B.1a.18.1J.1r("-11")>0?3d:2L;7.N.1O().1N("c-a-1b");A(B.1a.18).1U("c-a-1b")},2K:9(D){m C=A(D.1a).1O().O("13").1b(),B=7;7.1d={2H:A(D.1a).1O().1U("c-a-2G"),K:D.1a.18.1J.1r("-P-h")>0?1f:(D.1a.18.1J.1r("-P")>0?M:Z),y:D.1x,12:C,o:v(C.o(),10)};A(k).z("1v.U",9(E){d B.2I.x(B,E)});A(k).z("1u.U",9(E){d B.2J.x(B,E)});d L},2J:9(B){7.1d.12.o(f.K(0,f.J(7.1d.K,v(7.1d.o+B.1x-7.1d.y,10))));7.1c.1y(7,[B,7.1d.12.1w(0)]);d L},2I:9(B){7.1d.2H.1N("c-a-2G").O("13").1b();7.1c.1y(7,[B,7.1d.12.1w(0)]);A(k).19("1v.U");A(k).19("1u.U");d L},2F:9(C){7.1V={y:7.p.O("i.c-a-1z").1T().1i};7.1c.1y(7,[C,7.N.u(4).o(v(1f*(q-f.K(0,f.J(q,(C.1x-7.1V.y))))/q,10)).1w(0)]);m B=7;A(k).z("1v.U",9(D){d B.2D.x(B,D)});A(k).z("1u.U",9(D){d B.2E.x(B,D)});d L},2E:9(B){7.1c.1y(7,[B,7.N.u(4).o(v(1f*(q-f.K(0,f.J(q,(B.1x-7.1V.y))))/q,10)).1w(0)]);d L},2D:9(B){A(k).19("1v.U");A(k).19("1u.U");d L},2C:9(C){m B=7;7.1I={1H:7.p.O("i.c-a-e").1T()};7.1c.1y(7,[C,7.N.u(6).o(v(M*(q-f.K(0,f.J(q,(C.1x-7.1I.1H.1i))))/q,10)).15().u(5).o(v(M*(f.K(0,f.J(q,(C.2A-7.1I.1H.1G))))/q,10)).1w(0)]);A(k).z("1v.U",9(D){d B.2z.x(B,D)});A(k).z("1u.U",9(D){d B.2B.x(B,D)});d L},2B:9(B){7.1c.1y(7,[B,7.N.u(6).o(v(M*(q-f.K(0,f.J(q,(B.1x-7.1I.1H.1i))))/q,10)).15().u(5).o(v(M*(f.K(0,f.J(q,(B.2A-7.1I.1H.1G))))/q,10)).1w(0)]);d L},2z:9(B){A(k).19("1v.U");A(k).19("1u.U");d L},2y:9(B){7.p.O(".c-a-1t").1U("c-a-1b")},2x:9(B){7.p.O(".c-a-1t").1N("c-a-1b")},2w:9(C){m B=7.e;7.1Q=B;7.1K(B);7.1F("1t",C,{W:7.W,P:B,11:7.X(B),V:7.17(B)});d L},2v:9(F){7.1F("3c",F,{W:7.W,P:7.e,11:7.X(7.e),V:7.17(7.e)});m G=7.1s.1T();m E=7.2k();m D=G.1i+7.1s[0].2u;m C=G.1G;j(D+2t>E.t+f.J(E.h,E.2b)){D-=7.1s[0].2u+2t}j(C+2s>E.l+f.J(E.w,E.2c)){C-=2s}7.p.1j({1G:C+"2r",1i:D+"2r"});j(7.1F("1S",F,{W:7.W,P:7.e,11:7.X(7.e),V:7.17(7.e)})!=L){7.p.1S()}m B=7;A(k).z("1E.a",9(H){d B.2q.x(B,H)});d L},2q:9(B){j(!7.2o(7.p[0],B.1a,7.p[0])){j(7.1F("2p",B,{W:7.W,P:7.e,11:7.X(7.e),V:7.17(7.e)})!=L){7.p.2p()}A(k).19("1E.a")}},2o:9(D,C,B){j(D==C){d 2l}j(D.2n&&!A.3b.3a){d D.2n(C)}j(D.2m){d!!(D.2m(C)&16)}m E=C.18;39(E&&E!=B){j(E==D){d 2l}E=E.18}d L},2k:9(){m E,C,B,F,D,G;j(k.1h){E=k.1h.2j;C=k.1h.2i;B=k.1h.2h;F=k.1h.2g}n{E=k.1g.2j;C=k.1g.2i;B=k.1g.2h;F=k.1g.2g}D=2e.38||k.1h.2f||k.1g.2f||0;G=2e.37||k.1h.2d||k.1g.2d||0;d{t:E,l:C,w:B,h:F,2c:D,2b:G}},1L:9(B){d{h:f.J(1f,f.K(0,B.h)),s:f.J(M,f.K(0,B.s)),b:f.J(M,f.K(0,B.b))}},2a:9(B){d{r:f.J(Z,f.K(0,B.r)),g:f.J(Z,f.K(0,B.g)),b:f.J(Z,f.K(0,B.b))}},29:9(B){m B=v(((B.1r("#")>-1)?B.36(1):B),16);d{r:B>>16,g:(B&35)>>8,b:(B&Z)}},1M:9(B){d 7.1D(7.29(B))},1D:9(C){m B={};B.b=f.K(f.K(C.r,C.g),C.b);B.s=(B.b<=0)?0:f.14(M*(B.b-f.J(f.J(C.r,C.g),C.b))/B.b);B.b=f.14((B.b/Z)*M);j((C.r==C.g)&&(C.g==C.b)){B.h=0}n{j(C.r>=C.g&&C.g>=C.b){B.h=Y*(C.g-C.b)/(C.r-C.b)}n{j(C.g>=C.r&&C.r>=C.b){B.h=Y+Y*(C.g-C.r)/(C.g-C.b)}n{j(C.g>=C.b&&C.b>=C.r){B.h=28+Y*(C.b-C.r)/(C.g-C.r)}n{j(C.b>=C.g&&C.g>=C.r){B.h=27+Y*(C.b-C.g)/(C.b-C.r)}n{j(C.b>=C.r&&C.r>=C.g){B.h=26+Y*(C.r-C.g)/(C.b-C.g)}n{j(C.r>=C.b&&C.b>=C.g){B.h=25+Y*(C.r-C.b)/(C.r-C.g)}n{B.h=0}}}}}}}B.h=f.14(B.h);d B},17:9(B){m D={};m H=f.14(B.h);m G=f.14(B.s*Z/M);m C=f.14(B.b*Z/M);j(G==0){D.r=D.g=D.b=C}n{m I=C;m F=(Z-G)*C/Z;m E=(I-F)*(H%Y)/Y;j(H==1f){H=0}j(H35?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(D){6 C=D.1f.Q;D.1f.Q=4(){D("*",2).15(2).1F("Q");5 C.O(2,1O)};4 B(E){4 G(H){6 I=H.3N;5(I.1A!="19"&&I.3M!="18")}6 F=G(E);(F&&D.1d(D.3L(E,"3K"),4(){5(F=G(2))}));5 F}D.1e(D.3J[":"],{w:4(F,G,E){5 D.w(F,E[3])},3I:4(F,G,E){6 H=F.3H.3G();5(F.3F>=0&&(("a"==H&&F.3E)||(/3D|3C|3B|1r/.k(H)&&"18"!=F.1G&&!F.l))&&B(F))}});D.3A={3z:8,3y:20,3x:3w,3v:17,3u:3t,3s:3r,3q:35,3p:13,3o:27,3n:36,3m:3l,3k:37,3j:3i,3h:3g,3f:3e,3d:3c,3b:3a,31:30,2Z:34,2Y:33,2X:2W,2V:39,2U:16,2T:32,2S:9,2R:38};4 A(H,I,J,G){4 F(L){6 K=D[H][I][L]||[];5(o K=="n"?K.1g(/,?\\s+/):K)}6 E=F("2Q");7(G.12==1&&o G[0]=="n"){E=E.2P(F("1M"))}5(D.2O(J,E)!=-1)}D.u=4(F,E){6 G=F.1g(".")[0];F=F.1g(".")[1];D.1f[F]=4(K){6 I=(o K=="n"),J=2N.t.2M.1E(1O,1);7(I&&K.2L(0,1)=="2K"){5 2}7(I&&A(G,F,K,J)){6 H=D.w(2[0],F);5(H?H[K].O(H,J):1I)}5 2.1d(4(){6 L=D.w(2,F);(!L&&!I&&D.w(2,F,2J D[G][F](2,K)));(L&&I&&D.2I(L[K])&&L[K].O(L,J))})};D[G][F]=4(J,I){6 H=2;2.h=F;2.1b=D[G][F].2H||F;2.1H=G+"-"+F;2.e=D.1e({},D.u.x,D[G][F].x,D.1N&&D.1N.1a(J)[F],I);2.d=D(J).i("2G."+F,4(M,K,L){5 H.v(K,L)}).i("2F."+F,4(L,K){5 H.1c(K)}).i("Q",4(){5 H.1K()});2.1L()};D[G][F].t=D.1e({},D.u.t,E);D[G][F].1M="1J"};D.u.t={1L:4(){},1K:4(){2.d.2E(2.h)},1J:4(G,H){6 F=G,E=2;7(o G=="n"){7(H===1I){5 2.1c(G)}F={};F[G]=H}D.1d(F,4(I,J){E.v(I,J)})},1c:4(E){5 2.e[E]},v:4(E,F){2.e[E]=F;7(E=="l"){2.d[F?"1C":"2D"](2.1H+"-l")}},2C:4(){2.v("l",b)},2B:4(){2.v("l",j)},2A:4(F,H,G){6 E=(F==2.1b?F:2.1b+F);H=H||D.2z.2y({1G:E,14:2.d[0]});5 2.d.1F(E,[H,G],2.e[F])}};D.u.x={l:b};D.c={2x:{15:4(F,G,I){6 H=D.c[F].t;1D(6 E 2w I){H.P[E]=H.P[E]||[];H.P[E].2v([G,I[E]])}},1E:4(E,G,F){6 I=E.P[G];7(!I){5}1D(6 H=0;H\').1C(E).f({2r:"2q",2p:"-1B",1w:"-1B",1A:"2o"}).2n("1z");D.c.r[E]=!!((!(/2m|2l/).k(F.f("2k"))||(/^[1-9]/).k(F.f("2j"))||(/^[1-9]/).k(F.f("2i"))||!(/19/).k(F.f("2h"))||!(/2g|2f\\(0, 0, 0, 0\\)/).k(F.f("2e"))));2d{D("1z").1a(0).2c(F.1a(0))}2b(G){}5 D.c.r[E]},2a:4(E){5 D(E).q("p","1v").f("1y","19").i("1x.c",4(){5 b})},29:4(E){5 D(E).q("p","28").f("1y","").N("1x.c")},26:4(H,F){7(D(H).f("25")=="18"){5 b}6 E=(F&&F=="1w")?"24":"23",G=b;7(H[E]>0){5 j}H[E]=1;G=(H[E]>0);H[E]=0;5 G}};D.c.1i={22:4(){6 E=2;2.d.i("21."+2.h,4(F){5 E.1t(F)});7(D.11.10){2.1u=2.d.q("p");2.d.q("p","1v")}2.1Z=b},1Y:4(){2.d.N("."+2.h);(D.11.10&&2.d.q("p",2.1u))},1t:4(G){(2.g&&2.m(G));2.z=G;6 F=2,H=(G.1X==1),E=(o 2.e.S=="n"?D(G.14).1W().15(G.14).1V(2.e.S).12:b);7(!H||E||!2.1j(G)){5 j}2.y=!2.e.R;7(!2.y){2.1U=1T(4(){F.y=j},2.e.R)}7(2.X(G)&&2.V(G)){2.g=(2.U(G)!==b);7(!2.g){G.1S();5 j}}2.Z=4(I){5 F.1s(I)};2.Y=4(I){5 F.m(I)};D(1q).i("1p."+2.h,2.Z).i("1o."+2.h,2.Y);5 b},1s:4(E){7(D.11.10&&!E.1r){5 2.m(E)}7(2.g){2.T(E);5 b}7(2.X(E)&&2.V(E)){2.g=(2.U(2.z,E)!==b);(2.g?2.T(E):2.m(E))}5!2.g},m:4(E){D(1q).N("1p."+2.h,2.Z).N("1o."+2.h,2.Y);7(2.g){2.g=b;2.1k(E)}5 b},X:4(E){5(W.1R(W.1m(2.z.1n-E.1n),W.1m(2.z.1l-E.1l))>=2.e.1h)},V:4(E){5 2.y},U:4(E){},T:4(E){},1k:4(E){},1j:4(E){5 j}};D.c.1i.x={S:1Q,1h:1,R:0}})(1P)',62,236,'||this||function|return|var|if||||false|ui|element|options|css|_mouseStarted|widgetName|bind|true|test|disabled|_mouseUp|string|typeof|unselectable|attr|cssCache||prototype|widget|_setData|data|defaults|mouseDelayMet|_mouseDownEvent||||||||||||||unbind|apply|plugins|remove|delay|cancel|_mouseDrag|_mouseStart|_mouseDelayMet|Math|_mouseDistanceMet|_mouseUpDelegate|_mouseMoveDelegate|msie|browser|length||target|add|||hidden|none|get|widgetEventPrefix|_getData|each|extend|fn|split|distance|mouse|_mouseCapture|_mouseStop|pageY|abs|pageX|mouseup|mousemove|document|button|_mouseMove|_mouseDown|_mouseUnselectable|on|left|selectstart|MozUserSelect|body|display|5000px|addClass|for|call|triggerHandler|type|widgetBaseClass|undefined|option|destroy|_init|getterSetter|metadata|arguments|jQuery|null|max|preventDefault|setTimeout|_mouseDelayTimer|filter|parents|which|_mouseDestroy|started||mousedown|_mouseInit|scrollTop|scrollLeft|overflow|hasScroll||off|enableSelection|disableSelection|catch|removeChild|try|backgroundColor|rgba|transparent|backgroundImage|width|height|cursor|default|auto|appendTo|block|top|absolute|position|gen|class|div|push|in|plugin|fix|event|_trigger|disable|enable|removeClass|removeData|getData|setData|eventPrefix|isFunction|new|_|substring|slice|Array|inArray|concat|getter|UP|TAB|SPACE|SHIFT|RIGHT|190|PERIOD|PAGE_UP|PAGE_DOWN|109|NUMPAD_SUBTRACT|||||||||106|NUMPAD_MULTIPLY|108|NUMPAD_ENTER|111|NUMPAD_DIVIDE|110|NUMPAD_DECIMAL|107|NUMPAD_ADD|LEFT|45|INSERT|HOME|ESCAPE|ENTER|END|40|DOWN|46|DELETE|CONTROL|188|COMMA|CAPS_LOCK|BACKSPACE|keyCode|textarea|select|input|href|tabIndex|toLowerCase|nodeName|tabbable|expr|parentNode|dir|visibility|style'.split('|'),0,{})) + Index: lams_central/web/includes/javascript/jquery-ui/ui/packed/ui.datepicker.packed.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/packed/Attic/ui.datepicker.packed.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/packed/ui.datepicker.packed.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,2 @@ +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}('(p($){c 2T="f";p 3Z(){b.7P=E;b.3Q=t;b.2y=[];b.3l=E;b.2S=E;b.5W="v-f-I";b.6f="v-f-1c";b.6h="v-f-3v";b.2w="v-f-4o";b.5Y="v-f-af";b.5B="v-f-3I";b.6e="v-f-4u";b.5v="v-f-49";b.4G="v-f-4O-H";b.6k=[];b.6k[""]={76:"ae",77:"ad 3s 4O h",74:"7U",75:"7U ac 7j",2M:"m;ab",72:"3t 3s 7T F",2N:"m;m;",73:"3t 3s 7T B",2L:"aal;",71:"3t 3s 3H F",2K:"l;l;",70:"3t 3s 3H B",3f:"a9",6Z:"3t 3s 4O F",1n:["a8","a7","a6","a5","7S","a4","a3","a2","a1","a0","9Z","9Y"],1Z:["9X","9W","9V","9U","7S","9T","9S","9R","9Q","9P","9O","9N"],6K:"3t a 7R F",6D:"3t a 7R B",6X:"9M",4d:"9L 9K 3s B",1v:["9J","9I","9H","9G","9F","9E","9D"],1z:["9C","9B","9A","9z","9y","9x","9w"],4K:["9v","9u","9t","9s","9r","9q","9p"],4L:"9o 4g 9n 9m 2F H",3d:"7Q 4g, M d",2X:"4U/3J/3k",1B:0,Z:"7Q a h",1I:E};b.1D={3r:"2P",1V:"69",62:{},2e:t,4v:"",2W:"...",3X:"",7N:E,47:1d,5E:E,4h:E,2I:E,3g:E,5C:E,6L:1d,6H:1d,44:E,6G:"-10:+10",4f:1d,3D:E,2C:E,4e:E,4I:b.4M,1F:"+10",15:E,6Y:b.3d,R:t,T:t,1j:"9l",4c:t,4s:t,2Q:t,6C:t,4q:t,6B:1,4P:0,2r:1,2q:12,1K:E,4j:" - ",4n:"",3N:""};$.4x(b.1D,b.6k[""]);b.O=$(\'\')}$.4x(3Z.6q,{29:"9k",5L:p(){k(b.7P){9j.5L.2k("",5d)}},9i:p(z){3x(b.1D,z||{});r b},6n:p(n,z){c 3Y=t;1l(59 6v b.1D){c 58=n.9h("h:"+59);k(58){3Y=3Y||{};5O{3Y[59]=9g(58)}5M(7x){3Y[59]=58}}}c 1a=n.1a.4t();c 1c=(1a=="I"||1a=="2H");k(!n.u){n.u="7F"+(++b.5a)}c 8=b.6i($(n),1c);8.z=$.4x({},z||{},3Y||{});k(1a=="q"){b.7O(n,8)}P{k(1c){b.7I(n,8)}}},6i:p(n,1c){c u=n[0].u.5y(/([:\\[\\]\\.])/g,"\\\\\\\\$1");r{u:u,q:n,1u:0,1m:0,1q:0,G:0,J:0,1c:1c,O:(!1c?b.O:$(\'\'))}},7O:p(n,8){c q=$(n);k(q.2R(b.29)){r}c 4v=b.l(8,"4v");c 1I=b.l(8,"1I");k(4v){q[1I?"7K":"7J"](\'<2H 16="\'+b.6h+\'">\'+4v+"")}c 3r=b.l(8,"3r");k(3r=="2P"||3r=="4D"){q.2P(b.3U)}k(3r=="3W"||3r=="4D"){c 2W=b.l(8,"2W");c 3X=b.l(8,"3X");c 4o=$(b.l(8,"7N")?$("<56/>").2o(b.2w).7M({5s:3X,7L:2W,4b:2W}):$(\'<3W 4r="3W">\').2o(b.2w).V(3X==""?2W:$("<56/>").7M({5s:3X,7L:2W,4b:2W})));q[1I?"7K":"7J"](4o);4o.9f(p(){k($.f.3l&&$.f.3O==n){$.f.2s()}P{$.f.3U(n)}r E})}q.2o(b.29).6g(b.54).7C(b.6d).57("7H.f",p(3P,2V,K){8.z[2V]=K}).57("7G.f",p(3P,2V){r b.l(8,2V)});$.3n(n,2T,8)},7I:p(n,8){c 6j=$(n);k(6j.2R(b.29)){r}6j.2o(b.29).3v(8.O).57("7H.f",p(3P,2V,K){8.z[2V]=K}).57("7G.f",p(3P,2V){r b.l(8,2V)});$.3n(n,2T,8);b.5G(8,b.5K(8));b.26(8)},9e:p(8){c 1i=b.3z(8);8.O.1E(1i[1]*$(".v-f",8.O[0]).1E())},9d:p(q,7D,2Q,z,2x){c 8=b.7E;k(!8){c u="7F"+(++b.5a);b.2g=$(\'\');b.2g.6g(b.54);$("2l").3v(b.2g);8=b.7E=b.6i(b.2g,E);8.z={};$.3n(b.2g[0],2T,8)}3x(8.z,z||{});b.2g.3i(7D);b.1O=(2x?(2x.1f?2x:[2x.9c,2x.9b]):t);k(!b.1O){c 52=53.7o||1e.1W.67||1e.2l.67;c 51=53.7n||1e.1W.66||1e.2l.66;c 3q=1e.1W.3T||1e.2l.3T;c 3p=1e.1W.3S||1e.2l.3S;b.1O=[(52/2)-2Z+3q,(51/2)-9a+3p]}b.2g.2a("1N",b.1O[0]+"2U").2a("1x",b.1O[1]+"2U");8.z.2Q=2Q;b.2S=1d;b.O.2o(b.5Y);b.3U(b.2g[0]);k($.4p){$.4p(b.O)}$.3n(b.2g[0],2T,8);r b},99:p(n){c $n=$(n);k(!$n.2R(b.29)){r}c 1a=n.1a.4t();$.98(n,2T);k(1a=="q"){$n.3V("."+b.6h).3R().3F().3V("."+b.2w).3R().3F().3b(b.29).4Y("2P",b.3U).4Y("6g",b.54).4Y("7C",b.6d)}P{k(1a=="I"||1a=="2H"){$n.3b(b.29).7s()}}},97:p(n){c $n=$(n);k(!$n.2R(b.29)){r}c 1a=n.1a.4t();k(1a=="q"){n.4u=E;$n.3V("3W."+b.2w).3u(p(){b.4u=E}).3F().3V("56."+b.2w).2a({7B:"1.0",7A:""})}P{k(1a=="I"||1a=="2H"){$n.7z("."+b.6e).3R()}}b.2y=$.7y(b.2y,p(K){r(K==n?t:K)})},96:p(n){c $n=$(n);k(!$n.2R(b.29)){r}c 1a=n.1a.4t();k(1a=="q"){n.4u=1d;$n.3V("3W."+b.2w).3u(p(){b.4u=1d}).3F().3V("56."+b.2w).2a({7B:"0.5",7A:"4l"})}P{k(1a=="I"||1a=="2H"){c 1c=$n.7z("."+b.6f);c L=1c.L();c 55={1N:0,1x:0};1c.5X().3u(p(){k($(b).2a("1T")=="95"){55=$(b).L();r E}});$n.94(\'\')}}b.2y=$.7y(b.2y,p(K){r(K==n?t:K)});b.2y[b.2y.1f]=n},7v:p(n){k(!n){r E}1l(c i=0;i-1)},3U:p(q){q=q.n||q;k(q.1a.4t()!="q"){q=$("q",q.8R)[0]}k($.f.7v(q)||$.f.3O==q){r}c 8=$.f.1r(q);c 4s=$.f.l(8,"4s");3x(8.z,(4s?4s.2k(q,[q,8]):{}));$.f.2s(t,"");$.f.3O=q;$.f.5P(8);k($.f.2S){q.K=""}k(!$.f.1O){$.f.1O=$.f.64(q);$.f.1O[1]+=q.8Q}c 1y=E;$(q).5X().3u(p(){1y|=$(b).2a("1T")=="7u";r!1y});k(1y&&$.2c.65){$.f.1O[0]-=1e.1W.3T;$.f.1O[1]-=1e.1W.3S}c L={1N:$.f.1O[0],1x:$.f.1O[1]};$.f.1O=t;8.1g=t;8.O.2a({1T:"4Z",6a:"8P",1x:"-8O"});$.f.26(8);8.O.1E($.f.3z(8)[1]*$(".v-f",8.O[0])[0].8N);L=$.f.7p(8,L,1y);8.O.2a({1T:($.f.2S&&$.4p?"8M":(1y?"7u":"4Z")),6a:"7t",1N:L.1N+"2U",1x:L.1x+"2U"});k(!8.1c){c 1V=$.f.l(8,"1V")||"69";c 1j=$.f.l(8,"1j");c 3m=p(){$.f.3l=1d;k($.2c.4C&&1G($.2c.6N,10)<7){$("4B.v-f-5r").2a({1E:8.O.1E()+4,2h:8.O.2h()+4})}};k($.50&&$.50[1V]){8.O.69(1V,$.f.l(8,"62"),1j,3m)}P{8.O[1V](1j,3m)}k(1j==""){3m()}k(8.q[0].4r!="63"){8.q[0].2P()}$.f.3Q=8}},26:p(8){c 68={1E:8.O.1E()+4,2h:8.O.2h()+4};8.O.7s().3v(b.78(8)).8L("4B.v-f-5r").2a({1E:68.1E,2h:68.2h});c 1i=b.3z(8);8.O[(1i[0]!=1||1i[1]!=1?"7r":"3R")+"7q"]("v-f-8K");8.O[(b.l(8,"1I")?"7r":"3R")+"7q"]("v-f-8J");k(8.q&&8.q[0].4r!="63"){$(8.q[0]).2P()}},7p:p(8,L,1y){c 2x=8.q?b.64(8.q[0]):t;c 52=53.7o||1e.1W.67;c 51=53.7n||1e.1W.66;c 3q=1e.1W.3T||1e.2l.3T;c 3p=1e.1W.3S||1e.2l.3S;k(b.l(8,"1I")||(L.1N+8.O.1E()-3q)>52){L.1N=21.2z((1y?0:3q),2x[0]+(8.q?8.q.1E():0)-(1y?3q:0)-8.O.1E()-(1y&&$.2c.65?1e.1W.3T:0))}P{L.1N-=(1y?3q:0)}k((L.1x+8.O.2h()-3p)>51){L.1x=21.2z((1y?0:3p),2x[1]-(1y?3p:0)-(b.2S?0:8.O.2h())-(1y&&$.2c.65?1e.1W.3S:0))}P{L.1x-=(1y?3p:0)}r L},64:p(3o){3h(3o&&(3o.4r=="63"||3o.8I!=1)){3o=3o.8H}c 1T=$(3o).L();r[1T.1N,1T.1x]},2s:p(q,1j){c 8=b.3Q;k(!8||(q&&8!=$.3n(q,2T))){r}c 1K=b.l(8,"1K");k(1K&&8.2v){b.4W("#"+8.u,b.2Y(8,8.1h,8.1t,8.1p))}8.2v=E;k(b.3l){1j=(1j!=t?1j:b.l(8,"1j"));c 1V=b.l(8,"1V");c 3m=p(){$.f.5Z(8)};k(1j!=""&&$.50&&$.50[1V]){8.O.61(1V,$.f.l(8,"62"),1j,3m)}P{8.O[(1j==""?"61":(1V=="8G"?"8F":(1V=="8E"?"8D":"61")))](1j,3m)}k(1j==""){b.5Z(8)}c 4q=b.l(8,"4q");k(4q){4q.2k((8.q?8.q[0]:t),[(8.q?8.q.3i():""),8])}b.3l=E;b.3O=t;8.z.3I=t;k(b.2S){b.2g.2a({1T:"4Z",1N:"0",1x:"-7m"});k($.4p){$.8C();$("2l").3v(b.O)}}b.2S=E}b.3Q=t},5Z:p(8){8.O.3b(b.5Y).4Y(".v-f");$("."+b.5B,8.O).3R()},6s:p(3P){k(!$.f.3Q){r}c $n=$(3P.n);k(($n.5X("#"+$.f.5W).1f==0)&&!$n.2R($.f.29)&&!$n.2R($.f.2w)&&$.f.3l&&!($.f.2S&&$.4p)){$.f.2s(t,"")}},1J:p(u,L,20){c n=$(u);c 8=b.1r(n[0]);b.4z(8,L,20);b.26(8)},5z:p(u){c n=$(u);c 8=b.1r(n[0]);k(b.l(8,"5C")&&8.1h){8.1u=8.1h;8.G=8.1m=8.1t;8.J=8.1q=8.1p}P{c h=x A();8.1u=h.S();8.G=8.1m=h.X();8.J=8.1q=h.Q()}b.43(8);b.1J(n)},5o:p(u,3a,20){c n=$(u);c 8=b.1r(n[0]);8.4X=E;8["45"+(20=="M"?"7l":"7k")]=8["8B"+(20=="M"?"7l":"7k")]=1G(3a.2j[3a.8A].K,10);b.43(8);b.1J(n)},5n:p(u){c n=$(u);c 8=b.1r(n[0]);k(8.q&&8.4X&&!$.2c.4C){8.q[0].2P()}8.4X=!8.4X},6V:p(u,H){c n=$(u);c 8=b.1r(n[0]);8.z.1B=H;b.26(8)},5u:p(u,F,B,1A){k($(1A).2R(b.5v)){r}c n=$(u);c 8=b.1r(n[0]);c 1K=b.l(8,"1K");k(1K){8.2v=!8.2v;k(8.2v){$(".v-f 1A",8.O).3b(b.4G);$(1A).2o(b.4G)}}8.1u=8.1h=$("a",1A).V();8.1m=8.1t=F;8.1q=8.1p=B;k(8.2v){8.1Q=8.24=8.19=t}P{k(1K){8.1Q=8.1h;8.24=8.1t;8.19=8.1p}}b.4W(u,b.2Y(8,8.1h,8.1t,8.1p));k(8.2v){8.1g=x A(8.1p,8.1t,8.1h);b.26(8)}P{k(1K){8.1u=8.1h=8.1g.S();8.1m=8.1t=8.1g.X();8.1q=8.1p=8.1g.Q();8.1g=t;k(8.1c){b.26(8)}}}},5D:p(u){c n=$(u);c 8=b.1r(n[0]);k(b.l(8,"5E")){r}8.2v=E;8.1Q=8.24=8.19=8.1g=t;b.4W(n,"")},4W:p(u,1U){c n=$(u);c 8=b.1r(n[0]);1U=(1U!=t?1U:b.2Y(8));k(b.l(8,"1K")&&1U){1U=(8.1g?b.2Y(8,8.1g):1U)+b.l(8,"4j")+1U}k(8.q){8.q.3i(1U)}b.5V(8);c 2Q=b.l(8,"2Q");k(2Q){2Q.2k((8.q?8.q[0]:t),[1U,8])}P{k(8.q){8.q.4o("7j")}}k(8.1c){b.26(8)}P{k(!8.2v){b.2s(t,b.l(8,"1j"));b.3O=8.q[0];k(1X(8.q[0])!="4w"){8.q[0].2P()}b.3O=t}}},5V:p(8){c 4n=b.l(8,"4n");k(4n){c 3N=b.l(8,"3N");c h=b.5F(8);1U=(6u(h)?(!h[0]&&!h[1]?"":b.1Y(3N,h[0],b.1P(8))+b.l(8,"4j")+b.1Y(3N,h[1]||h[0],b.1P(8))):b.1Y(3N,h,b.1P(8)));$(4n).3u(p(){$(b).3i(1U)})}},8z:p(h){c H=h.3A();r[(H>0&&H<6),""]},4M:p(h){c 25=x A(h.Q(),h.X(),h.S(),(h.8y()/-60));c 3M=x A(25.Q(),1-1,4);c 1B=3M.3A()||7;3M.4y(3M.S()+1-1B);k(1B<4&&25<3M){25.4y(25.S()-3);r $.f.4M(25)}P{k(25>x A(25.Q(),12-1,28)){1B=x A(25.Q()+1,1-1,4).3A()||7;k(1B>4&&(25.3A()||7)<1B-3){r 1}}}r 21.8x(((25-3M)/8w)/7)+1},3d:p(h,8){r $.f.1Y($.f.l(8,"3d"),h,$.f.1P(8))},5N:p(18,K,z){k(18==t||K==t){3K"5H 5d"}K=(1X K=="4w"?K.5e():K+"");k(K==""){r t}c 1F=(z?z.1F:t)||b.1D.1F;c 1z=(z?z.1z:t)||b.1D.1z;c 1v=(z?z.1v:t)||b.1D.1v;c 1Z=(z?z.1Z:t)||b.1D.1Z;c 1n=(z?z.1n:t)||b.1D.1n;c B=-1;c F=-1;c H=-1;c 3j=-1;c 1L=E;c 1M=p(1o){c 1C=(U+1<18.1f&&18.1b(U+1)==1o);k(1C){U++}r 1C};c 3L=p(1o){1M(1o);c 5U=(1o=="@"?14:(1o=="y"?4:(1o=="o"?3:2)));c 2f=5U;c 2u=0;3h(2f>0&&1S="0"&&K.1b(1S)<="9"){2u=2u*10+1G(K.1b(1S++),10);2f--}k(2f==5U){3K"7i 5i 5T 1T "+1S}r 2u};c 5S=p(1o,4S,4T){c 4m=(1M(1o)?4T:4S);c 2f=0;1l(c j=0;j<4m.1f;j++){2f=21.2z(2f,4m[j].1f)}c 1k="";c 7h=1S;3h(2f>0&&1S-1){F=1;H=3j;8t{c 5R=b.30(B,F-1);k(H<=5R){N}F++;H-=5R}3h(1d)}c h=x A(B,F-1,H);k(h.Q()!=B||h.X()+1!=F||h.S()!=H){3K"5H h"}r h},8s:"3k-4U-3J",8r:"D, 3J M 3k",8q:"3k-4U-3J",8p:"D, d M y",8o:"4g, 3J-M-y",8n:"D, d M y",8m:"D, d M 3k",8l:"D, d M 3k",8k:"D, d M y",8j:"@",8i:"3k-4U-3J",1Y:p(18,h,z){k(!h){r""}c 1z=(z?z.1z:t)||b.1D.1z;c 1v=(z?z.1v:t)||b.1D.1v;c 1Z=(z?z.1Z:t)||b.1D.1Z;c 1n=(z?z.1n:t)||b.1D.1n;c 1M=p(1o){c 1C=(U+1<18.1f&&18.1b(U+1)==1o);k(1C){U++}r 1C};c 4R=p(1o,K,7g){c 2u=""+K;k(1M(1o)){3h(2u.1f<7g){2u="0"+2u}}r 2u};c 5Q=p(1o,K,4S,4T){r(1M(1o)?4T[K]:4S[K])};c 1R="";c 1L=E;k(h){1l(c U=0;U<18.1f;U++){k(1L){k(18.1b(U)=="\'"&&!1M("\'")){1L=E}P{1R+=18.1b(U)}}P{4k(18.1b(U)){C"d":1R+=4R("d",h.S(),2);N;C"D":1R+=5Q("D",h.3A(),1z,1v);N;C"o":c 3j=h.S();1l(c m=h.X()-1;m>=0;m--){3j+=b.30(h.Q(),m)}1R+=4R("o",3j,3);N;C"m":1R+=4R("m",h.X()+1,2);N;C"M":1R+=5Q("M",h.X(),1Z,1n);N;C"y":1R+=(1M("y")?h.Q():(h.7f()%2Z<10?"0":"")+h.7f()%2Z);N;C"@":1R+=h.2b();N;C"\'":k(1M("\'")){1R+="\'"}P{1L=1d}N;4l:1R+=18.1b(U)}}}}r 1R},7e:p(18){c 2t="";c 1L=E;1l(c U=0;U<18.1f;U++){k(1L){k(18.1b(U)=="\'"&&!1M("\'")){1L=E}P{2t+=18.1b(U)}}P{4k(18.1b(U)){C"d":C"m":C"y":C"@":2t+="8h";N;C"D":C"M":r t;C"\'":k(1M("\'")){2t+="\'"}P{1L=1d}N;4l:2t+=18.1b(U)}}}r 2t},l:p(8,1k){r 8.z[1k]!==5f?8.z[1k]:b.1D[1k]},5P:p(8){c 2X=b.l(8,"2X");c 2O=8.q?8.q.3i().6F(b.l(8,"4j")):t;8.1Q=8.24=8.19=t;c h=2e=b.5K(8);k(2O.1f>0){c z=b.1P(8);k(2O.1f>1){h=b.5N(2X,2O[1],z)||2e;8.1Q=h.S();8.24=h.X();8.19=h.Q()}5O{h=b.5N(2X,2O[0],z)||2e}5M(e){b.5L(e);h=2e}}8.1u=h.S();8.G=8.1m=h.X();8.J=8.1q=h.Q();8.1h=(2O[0]?h.S():0);8.1t=(2O[0]?h.X():0);8.1p=(2O[0]?h.Q():0);b.4z(8)},5K:p(8){c h=b.42(b.l(8,"2e"),x A());c R=b.2m(8,"2n",1d);c T=b.2m(8,"2z");h=(R&&hT?T:h);r h},42:p(h,2e){c 7b=p(L){c h=x A();h.6R(h.6Q()+L);r h};c 7c=p(L,5J){c h=x A();c B=h.Q();c F=h.X();c H=h.S();c 5I=/([+-]?[0-9]+)\\s*(d|D|w|W|m|M|y|Y)?/g;c 1C=5I.7d(L);3h(1C){4k(1C[2]||"d"){C"d":C"D":H+=1G(1C[1],10);N;C"w":C"W":H+=1G(1C[1],10)*7;N;C"m":C"M":F+=1G(1C[1],10);H=21.2n(H,5J(B,F));N;C"y":C"Y":B+=1G(1C[1],10);H=21.2n(H,5J(B,F));N}1C=5I.7d(L)}r x A(B,F,H)};h=(h==t?2e:(1X h=="41"?7c(h,b.30):(1X h=="5i"?(8g(h)?2e:7b(h)):h)));r(h&&h.5e()=="5H A"?2e:h)},5G:p(8,h,23){c 2B=!(h);c 7a=8.1m;c 79=8.1q;h=b.42(h,x A());8.1u=8.1h=h.S();8.G=8.1m=8.1t=h.X();8.J=8.1q=8.1p=h.Q();k(b.l(8,"1K")){k(23){23=b.42(23,t);8.1Q=23.S();8.24=23.X();8.19=23.Q()}P{8.1Q=8.1h;8.24=8.1t;8.19=8.1p}}k(7a!=8.1m||79!=8.1q){b.43(8)}b.4z(8);k(8.q){8.q.3i(2B?"":b.2Y(8)+(!b.l(8,"1K")?"":b.l(8,"4j")+b.2Y(8,8.1Q,8.24,8.19)))}},5F:p(8){c 4Q=(!8.1p||(8.q&&8.q.3i()=="")?t:x A(8.1p,8.1t,8.1h));k(b.l(8,"1K")){r[8.1g||4Q,(!8.19?8.1g||4Q:x A(8.19,8.24,8.1Q))]}P{r 4Q}},78:p(8){c 2G=x A();2G=x A(2G.Q(),2G.X(),2G.S());c 15=b.l(8,"15");c Z=b.l(8,"Z")||"q;";c 1I=b.l(8,"1I");c 2B=(b.l(8,"5E")?"":\'"+b.l(8,"76")+"");c 5t=\'\'+(1I?"":2B)+\'"+b.l(8,"74")+""+(1I?2B:"")+"";c 3I=b.l(8,"3I");c 47=b.l(8,"47");c 4h=b.l(8,"4h");c 2I=b.l(8,"2I");c 3g=b.l(8,"3g");c 1i=b.3z(8);c 4P=b.l(8,"4P");c 2r=b.l(8,"2r");c 2q=b.l(8,"2q");c 6T=(1i[0]!=1||1i[1]!=1);c 4H=(!8.1h?x A(8d,9,9):x A(8.1p,8.1t,8.1h));c R=b.2m(8,"2n",1d);c T=b.2m(8,"2z");c G=8.G-4P;c J=8.J;k(G<0){G+=12;J--}k(T){c 4i=x A(T.Q(),T.X()-1i[1]+1,T.S());4i=(R&&4i4i){G--;k(G<0){G=11;J--}}}c 2M=b.l(8,"2M");2M=(!2I?2M:b.1Y(2M,x A(J,G-2r,1),b.1P(8)));c 2N=(3g?b.l(8,"2N"):"");2N=(!2I?2N:b.1Y(2N,x A(J,G-2q,1),b.1P(8)));c 4N=\'\'+(b.5h(8,-1,J,G)?(3g?""+2N+"":"")+""+2M+"":(4h?"":"<2J>"+2N+"<2J>"+2M+""))+"";c 2L=b.l(8,"2L");2L=(!2I?2L:b.1Y(2L,x A(J,G+2r,1),b.1P(8)));c 2K=(3g?b.l(8,"2K"):"");2K=(!2I?2K:b.1Y(2K,x A(J,G+2q,1),b.1P(8)));c 3H=\'\'+(b.5h(8,+1,J,G)?""+2L+""+(3g?""+2K+"":""):(4h?"":"<2J>"+2L+"<2J>"+2K+""))+"";c 3f=b.l(8,"3f");c 5A=(b.l(8,"5C")&&8.1h?4H:2G);3f=(!2I?3f:b.1Y(3f,5A,b.1P(8)));c V=(3I?\'\'+3I+"":"")+(47&&!8.1c?5t:"")+\'\'+(1I?3H:4N)+(b.5g(8,5A)?\'"+3f+"":"")+(1I?4N:3H)+"";c 1B=b.l(8,"1B");c 4f=b.l(8,"4f");c 1v=b.l(8,"1v");c 1z=b.l(8,"1z");c 4K=b.l(8,"4K");c 1n=b.l(8,"1n");c 4c=b.l(8,"4c");c 3D=b.l(8,"3D");c 2C=b.l(8,"2C");c 4e=b.l(8,"4e");c 4I=b.l(8,"4I")||b.4M;c 4d=b.l(8,"4d");c 2d=(15?b.l(8,"4L")||Z:"");c 3d=b.l(8,"6Y")||b.3d;c 23=8.1Q?x A(8.19,8.24,8.1Q):4H;1l(c 3e=0;3e<1i[0];3e++){1l(c 3G=0;3G<1i[1];3G++){c 3B=x A(J,G,8.1u);V+=\'\'+b.6M(8,G,J,R,T,3B,3e>0||3G>0,15,Z,1n)+\'<6O 16="v-f" 8a="0" 89="0"><6U><4E 16="v-f-4b-3e">\'+(4e?"<1A"+b.1H(15,8.u,4d,Z)+">"+b.l(8,"6X")+"":"");1l(c 2p=0;2p<7;2p++){c H=(2p+1B)%7;c 4L=(2d.6W("4g")>-1?2d.5y(/4g/,1v[H]):2d.5y(/D/,1z[H]));V+="<1A"+((2p+1B+6)%7>=5?\' 16="v-f-2F-3F-3c"\':"")+">"+(!4f?"<2H":"\'+4K[H]+(4f?"":"")+""}V+="<6P>";c 5x=b.30(J,G);k(J==8.1q&&G==8.1m){8.1u=21.2n(8.1u,5x)}c 4J=(b.6y(J,G)-1B+7)%7;c 48=x A(J,G,1-4J);c 3C=x A(J,G,1-4J);c 1w=3C;c 6S=(6T?6:21.88((4J+5x)/7));1l(c 5w=0;5w<6S;5w++){V+=\'<4E 16="v-f-3E-3e">\'+(4e?\'<1A 16="v-f-2F-3G"\'+b.1H(15,8.u,4d,Z)+">"+4I(1w)+"":"");1l(c 2p=0;2p<7;2p++){c 4a=(4c?4c.2k((8.q?8.q[0]:t),[1w]):[1d,""]);c 2D=(1w.X()!=G);c 49=2D||!4a[0]||(R&&1wT);V+=\'<1A 16="v-f-3E-3c\'+((2p+1B+6)%7>=5?" v-f-2F-3F-3c":"")+(2D?" v-f-87-F":"")+(1w.2b()==3B.2b()&&G==8.1m?" v-f-3E-3c-2E":"")+(49?" "+b.5v:"")+(2D&&!2C?"":" "+4a[1]+(1w.2b()>=4H.2b()&&1w.2b()<=23.2b()?" "+b.4G:"")+(1w.2b()==2G.2b()?" v-f-2G":""))+\'"\'+((!2D||2C)&&4a[2]?\' 4b="\'+4a[2]+\'"\':"")+(49?(3D?" 5m=\\"17(b).4F().2o(\'v-f-2F-2E\');\\" 5k=\\"17(b).4F().3b(\'v-f-2F-2E\');\\"":""):" 5m=\\"17(b).2o(\'v-f-3E-3c-2E\')"+(3D?".4F().2o(\'v-f-2F-2E\')":"")+";"+(!15||(2D&&!2C)?"":"17(\'#v-f-2d-"+8.u+"\').V(\'"+(3d.2k((8.q?8.q[0]:t),[1w,8])||Z)+"\');")+"\\" 5k=\\"17(b).3b(\'v-f-3E-3c-2E\')"+(3D?".4F().3b(\'v-f-2F-2E\')":"")+";"+(!15||(2D&&!2C)?"":"17(\'#v-f-2d-"+8.u+"\').V(\'"+Z+"\');")+\'" 22="17.f.5u(\\\'#\'+8.u+"\',"+G+","+J+\', b);"\')+">"+(2D?(2C?1w.S():"q;"):(49?1w.S():""+1w.S()+""))+"";48.4y(48.S()+1);3C.6R(3C.6Q()+1);1w=(48>3C?48:3C)}V+=""}G++;k(G>11){G=0;J++}V+=""}}V+=(15?\'\'+Z+"":"")+(!47&&!8.1c?5t:"")+\'\'+($.2c.4C&&1G($.2c.6N,10)<7&&!8.1c?\'<4B 5s="86:E;" 16="v-f-5r">\':"");r V},6M:p(8,G,J,R,T,3B,5p,15,Z,1n){R=(8.1g&&R&&3B\';c 31="";k(5p||!b.l(8,"6L")){31+=1n[G]+"q;"}P{c 6J=(R&&R.Q()==J);c 6I=(T&&T.Q()==J);31+=\'<3a 16="v-f-x-F" 6E="17.f.5o(\\\'#\'+8.u+"\', b, \'M\');\\" 22=\\"17.f.5n(\'#"+8.u+"\');\\""+b.1H(15,8.u,b.l(8,"6K"),Z)+">";1l(c F=0;F<12;F++){k((!6J||F>=R.X())&&(!6I||F<=T.X())){31+=\'<4A K="\'+F+\'"\'+(F==G?\' 45="45"\':"")+">"+1n[F]+""}}31+=""}k(!44){V+=31}k(5p||!b.l(8,"6H")){V+=J}P{c 2A=b.l(8,"6G").6F(":");c B=0;c 19=0;k(2A.1f!=2){B=J-10;19=J+10}P{k(2A[0].1b(0)=="+"||2A[0].1b(0)=="-"){B=19=x A().Q();B+=1G(2A[0],10);19+=1G(2A[1],10)}P{B=1G(2A[0],10);19=1G(2A[1],10)}}B=(R?21.2z(B,R.Q()):B);19=(T?21.2n(19,T.Q()):19);V+=\'<3a 16="v-f-x-B" 6E="17.f.5o(\\\'#\'+8.u+"\', b, \'Y\');\\" 22=\\"17.f.5n(\'#"+8.u+"\');\\""+b.1H(15,8.u,b.l(8,"6D"),Z)+">";1l(;B<=19;B++){V+=\'<4A K="\'+B+\'"\'+(B==J?\' 45="45"\':"")+">"+B+""}V+=""}k(44){V+=31}V+="";r V},1H:p(15,u,5l,Z){r(15?" 5m=\\"17(\'#v-f-2d-"+u+"\').V(\'"+(5l||Z)+"\');\\" 5k=\\"17(\'#v-f-2d-"+u+"\').V(\'"+Z+"\');\\"":"")},4z:p(8,L,20){c B=8.J+(20=="Y"?L:0);c F=8.G+(20=="M"?L:0);c H=21.2n(8.1u,b.30(B,F))+(20=="D"?L:0);c h=x A(B,F,H);c R=b.2m(8,"2n",1d);c T=b.2m(8,"2z");h=(R&&hT?T:h);8.1u=h.S();8.G=8.1m=h.X();8.J=8.1q=h.Q();k(20=="M"||20=="Y"){b.43(8)}},43:p(8){c 5j=b.l(8,"6C");k(5j){5j.2k((8.q?8.q[0]:t),[8.1q,8.1m+1,8])}},3z:p(8){c 1i=b.l(8,"6B");r(1i==t?[1,1]:(1X 1i=="5i"?[1,1i]:1i))},2m:p(8,6A,6z){c h=b.42(b.l(8,6A+"A"),t);k(h){h.84(0);h.83(0);h.82(0);h.81(0)}r(!6z||!8.1g?h:(!h||8.1g>h?8.1g:h))},30:p(B,F){r 32-x A(B,F,32).S()},6y:p(B,F){r x A(B,F,1).3A()},5h:p(8,L,6x,6w){c 1i=b.3z(8);c h=x A(6x,6w+(L<0?L:1i[1]),1);k(L<0){h.4y(b.30(h.Q(),h.X()))}r b.5g(8,h)},5g:p(8,h){c 3y=(!8.1g?t:x A(8.1q,8.1m,8.1u));3y=(3y&&8.1g<3y?8.1g:3y);c R=3y||b.2m(8,"2n");c T=b.2m(8,"2z");r((!R||h>=R)&&(!T||h<=T))},1P:p(8){c 1F=b.l(8,"1F");1F=(1X 1F!="41"?1F:x A().Q()%2Z+1G(1F,10));r{1F:1F,1z:b.l(8,"1z"),1v:b.l(8,"1v"),1Z:b.l(8,"1Z"),1n:b.l(8,"1n")}},2Y:p(8,H,F,B){k(!H){8.1h=8.1u;8.1t=8.1m;8.1p=8.1q}c h=(H?(1X H=="4w"?H:x A(B,F,H)):x A(8.1p,8.1t,8.1h));r b.1Y(b.l(8,"2X"),h,b.1P(8))}});p 3x(n,3w){$.4x(n,3w);1l(c 1k 6v 3w){k(3w[1k]==t||3w[1k]==5f){n[1k]=3w[1k]}}r n}p 6u(a){r(a&&(($.2c.80&&1X a=="4w"&&a.1f)||(a.6t&&a.6t.5e().1o(/\\6r\\(\\)/))))}$.7Z.f=p(2j){k(!$.f.5b){$(1e.2l).3v($.f.O).7Y($.f.6s);$.f.5b=1d}c 5c=6r.6q.7X.7W(5d,1);k(1X 2j=="41"&&(2j=="7V"||2j=="S")){r $.f["6p"+2j+"3Z"].2k($.f,[b[0]].6o(5c))}r b.3u(p(){1X 2j=="41"?$.f["6p"+2j+"3Z"].2k($.f,[b].6o(5c)):$.f.6n(b,2j)})};$.f=x 3Z();$.f.5b=E;$.f.5a=x A().2b()})(17)',62,636,'||||||||inst|||this|var|||datepicker||date|||if|_get||target||function|input|return||null|id|ui||new||settings|Date|year|case||false|month|drawMonth|day|div|drawYear|value|offset||break|dpDiv|else|getFullYear|minDate|getDate|maxDate|iFormat|html||getMonth||initStatus||||||showStatus|class|jQuery|format|endYear|nodeName|charAt|inline|true|document|length|rangeStart|currentDay|numMonths|duration|name|for|selectedMonth|monthNames|match|currentYear|selectedYear|_getInst|ctrlKey|currentMonth|selectedDay|dayNames|printDate|top|isFixed|dayNamesShort|td|firstDay|matches|_defaults|width|shortYearCutoff|parseInt|_addStatus|isRTL|_adjustDate|rangeSelect|literal|lookAhead|left|_pos|_getFormatConfig|endDay|output|iValue|position|dateStr|showAnim|documentElement|typeof|formatDate|monthNamesShort|period|Math|onclick|endDate|endMonth|checkDate|_updateDatepicker|||markerClassName|css|getTime|browser|status|defaultDate|size|_dialogInput|height|handled|options|apply|body|_getMinMaxDate|min|addClass|dow|stepBigMonths|stepMonths|_hideDatepicker|chars|num|stayOpen|_triggerClass|pos|_disabledInputs|max|years|clear|showOtherMonths|otherMonth|over|week|today|span|navigationAsDateFormat|label|nextBigText|nextText|prevText|prevBigText|dates|focus|onSelect|hasClass|_inDialog|PROP_NAME|px|key|buttonText|dateFormat|_formatDate|100|_getDaysInMonth|monthHtml|||||||||select|removeClass|cell|dateStatus|row|currentText|showBigPrevNext|while|val|doy|yy|_datepickerShowing|postProcess|data|obj|scrollY|scrollX|showOn|the|Show|each|append|props|extendRemove|newMinDate|_getNumberOfMonths|getDay|selectedDate|utcDate|highlightWeek|days|end|col|next|prompt|dd|throw|getNumber|firstMon|altFormat|_lastInput|event|_curInst|remove|scrollTop|scrollLeft|_showDatepicker|siblings|button|buttonImage|inlineSettings|Datepicker||string|_determineDate|_notifyChange|showMonthAfterYear|selected|style|closeAtTop|tzDate|unselectable|daySettings|title|beforeShowDay|weekStatus|showWeeks|changeFirstDay|DD|hideIfNoPrevNext|maxDraw|rangeSeparator|switch|default|names|altField|trigger|blockUI|onClose|type|beforeShow|toLowerCase|disabled|appendText|object|extend|setDate|_adjustInstDate|option|iframe|msie|both|tr|parent|_currentClass|currentDate|calculateWeek|leadDays|dayNamesMin|dayStatus|iso8601Week|prev|current|showCurrentAtPos|startDate|formatNumber|shortNames|longNames|mm|checkLiteral|_selectDate|_selectingMonthYear|unbind|absolute|effects|browserHeight|browserWidth|window|_doKeyDown|relOffset|img|bind|attrValue|attrName|uuid|initialized|otherArgs|arguments|toString|undefined|_isInRange|_canAdjustMonth|number|onChange|onmouseout|text|onmouseover|_clickMonthYear|_selectMonthYear|secondary|xa0|cover|src|controls|_selectDay|_unselectableClass|dRow|daysInMonth|replace|_gotoToday|gotoDate|_promptClass|gotoCurrent|_clearDate|mandatory|_getDate|_setDate|Invalid|pattern|getDaysInMonth|_getDefaultDate|log|catch|parseDate|try|_setDateFromField|formatName|dim|getName|at|origSize|_updateAlternate|_mainDivId|parents|_dialogClass|_tidyDialog||hide|showOptions|hidden|_findPos|opera|clientHeight|clientWidth|dims|show|display|chr|keyCode|_doKeyPress|_disableClass|_inlineClass|keydown|_appendClass|_newInst|divSpan|regional|x3e|x3c|_attachDatepicker|concat|_|prototype|Array|_checkExternalClick|constructor|isArray|in|curMonth|curYear|_getFirstDayOfMonth|checkRange|minMax|numberOfMonths|onChangeMonthYear|yearStatus|onchange|split|yearRange|changeYear|inMaxYear|inMinYear|monthStatus|changeMonth|_generateMonthYearHeader|version|table|tbody|getUTCDate|setUTCDate|numRows|isMultiMonth|thead|_changeFirstDay|indexOf|weekHeader|statusForDate|currentStatus|nextBigStatus|nextStatus|prevStatus|prevBigStatus|closeText|closeStatus|clearText|clearStatus|_generateHTML|origYear|origMonth|offsetNumeric|offsetString|exec|_possibleChars|getYear|len|iInit|Missing|change|Year|Month|100px|innerHeight|innerWidth|_checkOffset|Class|add|empty|none|fixed|_isDisabledDatepicker|charCode|err|map|children|cursor|opacity|keypress|dateText|_dialogInst|dp|getData|setData|_inlineDatepicker|after|before|alt|attr|buttonImageOnly|_connectDatepicker|debug|Select|different|May|previous|Close|isDisabled|call|slice|mousedown|fn|safari|setMilliseconds|setSeconds|setMinutes|setHours|header|javascript|other|ceil|cellspacing|cellpadding|one|links|9999|close|control|isNaN|0123456789|W3C|TIMESTAMP|RSS|RFC_2822|RFC_1123|RFC_1036|RFC_850|RFC_822|ISO_8601|COOKIE|ATOM|do|Unexpected|Unknown|86400000|floor|getTimezoneOffset|noWeekends|selectedIndex|draw|unblockUI|fadeOut|fadeIn|slideUp|slideDown|nextSibling|nodeType|rtl|multi|find|static|offsetWidth|1000px|block|offsetHeight|parentNode|fromCharCode|String|stopPropagation|preventDefault|_getDateDatepicker|_setDateDatepicker|_refreshDatepicker|_changeDatepicker|instance|transparent|color|background|prepend|relative|_disableDatepicker|_enableDatepicker|removeData|_destroyDatepicker|150|pageY|pageX|_dialogDatepicker|_inlineShow|click|eval|getAttribute|setDefaults|console|hasDatepicker|normal|first|as|Set|Sa|Fr|Th|We|Tu|Mo|Su|Sat|Fri|Thu|Wed|Tue|Mon|Sun|Saturday|Friday|Thursday|Wednesday|Tuesday|Monday|Sunday|of|Week|Wk|Dec|Nov|Oct|Sep|Aug|Jul|Jun|Apr|Mar|Feb|Jan|December|November|October|September|August|July|June|April|March|February|January|Today|Next|Prev|without|Erase|Clear|dialog'.split('|'),0,{})) + Index: lams_central/web/includes/javascript/jquery-ui/ui/packed/ui.dialog.packed.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/packed/Attic/ui.dialog.packed.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/packed/ui.dialog.packed.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,2 @@ +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(B){g A={20:"1z.O",1b:"1b.O",1Z:"1y.O",1A:"1A.k",1l:"1l.k",1B:"1B.k",1k:"1k.k",1Y:"1z.k",p:"1b.k",1X:"1y.k"};B.2t("6.5",{3K:4(){3.1C=3.l.19("u");3.8.u=3.8.u||3.1C;g K=3,L=3.8,F=3.l.3J("u").r("6-5-1o").2N("<1g/>").2N("<1g/>"),H=(3.2r=F.2L()).r("6-5-3I").i({11:"3H",d:"1N%",c:"1N%"}),E=(3.1P=B("<1g/>")).r("6-5-1c").3G(\'<26>X\').2M(H),J=L.u||"&2u;",C=B.6.5.2n(3.l),D=B("<26/>").r("6-5-u").19("2m",C).2v(J).2M(E),I=(3.b=H.2L()).16(j.R).1d().r("6-5").r(L.3D).r(F.19("3C")).24("6-5-1o").i({11:"1G",d:L.d,c:L.c,3B:"3A",1h:L.1h}).19("3z",-1).i("3y",0).1I(4(M){(L.1H&&M.S&&M.S==B.S.2i&&K.N())}).1M(4(){K.1x()}),G=(3.2E=B("<1g/>")).r("6-5-3x").i({11:"1G",1m:0}).16(I);3.3w=B(".6-5-1c-N",E).25(4(){B(3).r("6-5-1c-N-25")},4(){B(3).24("6-5-1c-N-25")}).1M(4(M){M.3v()}).1K(4(){K.N();h U});E.2H("*").1E(E).12(4(){B.6.3u(3)});(L.O&&B.1s.O&&3.1S());(L.k&&B.1s.k&&3.1Q());3.1T(L.1O);3.1p=U;(L.Z&&B.1s.Z&&I.Z());(L.2q&&3.23())},P:4(){(3.9&&3.9.P());3.b.1d();3.l.1F(".5").3t("5").24("6-5-1o").1d().16("R");3.b.2f();(3.1C&&3.l.19("u",3.1C))},N:4(){f(U===3.1n("3s",1a,{8:3.8})){h}(3.9&&3.9.P());3.b.1d(3.8.1d).1F("1L.6-5");3.1n("N",1a,{8:3.8});B.6.5.9.p();3.1p=U},2o:4(){h 3.1p},23:4(){f(3.1p){h}3.9=3.8.1j?3r B.6.5.9(3):1a;(3.b.3q().1e&&3.b.16("R"));3.1R(3.8.11);3.b.22(3.8.22);(3.8.1u&&3.1w());3.1x(t);(3.8.1j&&3.b.1t("1L.6-5",4(E){f(E.S!=B.S.3p){h}g D=B(":2G",3),F=D.2K(":2F")[0],C=D.2K(":3o")[0];f(E.2J==C&&!E.2I){1J(4(){F.18()},1)}q{f(E.2J==F&&E.2I){1J(4(){C.18()},1)}}}));3.b.2H(":2G:2F").18();3.1n("23",1a,{8:3.8});3.1p=t},1T:4(F){g E=3,C=U,D=3.2E;D.3n().1d();B.12(F,4(){h!(C=t)});f(C){D.22();B.12(F,4(G,H){B(\'<21 3m="21">\').3l(G).1K(4(){H.v(E.l[0],V)}).16(D)})}},1S:4(){g C=3,D=3.8;3.b.O({2D:".6-5-1o",2C:D.3k,3j:".6-5-1c",1z:4(){C.1x();(D.20&&D.20.v(C.l[0],V))},1b:4(){(D.1b&&D.1b.v(C.l[0],V))},1y:4(){(D.1Z&&D.1Z.v(C.l[0],V));B.6.5.9.p()}})},1Q:4(F){F=(F===3i?3.8.k:F);g C=3,E=3.8,D=2y F=="2x"?F:"n,e,s,w,3h,3g,3f,3e";3.b.k({2D:".6-5-1o",2C:E.3d,1B:E.1B,1A:E.1A,1k:E.1k,1l:E.1l,1z:4(){(E.1Y&&E.1Y.v(C.l[0],V))},p:4(){(E.1u&&C.1w.v(C));(E.p&&E.p.v(C.l[0],V))},2w:D,1y:4(){(E.1u&&C.1w.v(C));(E.1X&&E.1X.v(C.l[0],V));B.6.5.9.p()}})},1x:4(E){f((3.8.1j&&!E)||(!3.8.2p&&!3.8.1j)){h 3.1n("18",1a,{8:3.8})}g D=3.8.1h,C=3.8;B(".6-5:3c").12(4(){D=y.x(D,T(B(3).i("z-17"),10)||C.1h)});(3.9&&3.9.$1D.i("z-17",++D));3.b.i("z-17",++D);3.1n("18",1a,{8:3.8})},1R:4(H){g D=B(Y),E=B(j),F=E.3b(),C=E.3a(),G=F;f(B.2h(H,["1i","15","1v","1m","14"])>=0){H=[H=="1v"||H=="14"?H:"1i",H=="15"||H=="1m"?H:"1V"]}f(H.1W!=39){H=["1i","1V"]}f(H[0].1W==2B){C+=H[0]}q{1U(H[0]){m"14":C+=0;o;m"1v":C+=D.d()-3.b.d();o;2A:m"1i":C+=(D.d()-3.b.d())/2}}f(H[1].1W==2B){F+=H[1]}q{1U(H[1]){m"15":F+=0;o;m"1m":F+=D.c()-3.b.c();o;2A:m"1V":F+=(D.c()-3.b.c())/2}}F=y.x(F,G);3.b.i({15:F,14:C})},2s:4(D,E){(A[D]&&3.b.2z(A[D],E));1U(D){m"1O":3.1T(E);o;m"O":(E?3.1S():3.b.O("P"));o;m"c":3.b.c(E);o;m"11":3.1R(E);o;m"k":g C=3.b,F=3.b.38(":2z(k)");(F&&!E&&C.k("P"));(F&&2y E=="2x"&&C.k("37","2w",E));(F||3.1Q(E));o;m"u":B(".6-5-u",3.1P).2v(E||"&2u;");o;m"d":3.b.d(E);o}B.2t.27.2s.v(3,V)},1w:4(){g D=3.2r,G=3.1P,E=3.l,F=(T(E.i("1f-15"),10)||0)+(T(E.i("1f-1m"),10)||0),C=(T(E.i("1f-14"),10)||0)+(T(E.i("1f-1v"),10)||0);E.c(D.c()-G.36()-F);E.d(D.d()-C)}});B.1q(B.6.5,{35:{2q:t,1u:t,Z:U,1O:{},1H:t,O:t,c:34,1l:1N,1k:33,1j:U,9:{},11:"1i",k:t,2p:t,d:32,1h:31},30:"2o",2l:0,2n:4(C){h"6-5-u-"+(C.19("2m")||++3.2l)},9:4(C){3.$1D=B.6.5.9.2k(C)}});B.1q(B.6.5.9,{W:[],2j:B.2Z("18,1M,2Y,1I,1L,1K".2X(","),4(C){h C+".5-9"}).2W(" "),2k:4(D){f(3.W.1e===0){1J(4(){B("a, :2g").1t(B.6.5.9.2j,4(){g F=U;g H=B(3).2V(".6-5");f(H.1e){g E=B(".6-5-9");f(E.1e){g G=T(E.i("z-17"),10);E.12(4(){G=y.x(G,T(B(3).i("z-17"),10))});F=T(H.i("z-17"),10)>G}q{F=t}}h F})},1);B(j).1t("1I.5-9",4(E){(D.8.1H&&E.S&&E.S==B.S.2i&&D.N())});B(Y).1t("p.5-9",B.6.5.9.p)}g C=B("<1g/>").16(j.R).r("6-5-9").i(B.1q({2U:0,1f:0,2T:0,11:"1G",15:0,14:0,d:3.d(),c:3.c()},D.8.9));(D.8.Z&&B.1s.Z&&C.Z());3.W.2S(C);h C},P:4(C){3.W.2R(B.2h(3.W,C),1);f(3.W.1e===0){B("a, :2g").1E([j,Y]).1F(".5-9")}C.2f()},c:4(){f(B.13.2c&&B.13.2b<7){g D=y.x(j.1r.2e,j.R.2e);g C=y.x(j.1r.2d,j.R.2d);f(D35?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}('(b(A){A.41("k.l",A.1F({},A.k.40,{30:b(C){c B=!4.8.1K||!A(4.8.1K,4.m).1Q?T:U;A(4.8.1K,4.m).3Z("*").3Y().1m(b(){7(4==C.2a){B=T}});p B},2Z:b(){c C=4.8;c B=A.2M(C.h)?A(C.h.3X(4.m[0],[e])):(C.h=="2c"?4.m.2c():4.m);7(!B.3W("1c").1Q){B.1E((C.1E=="o"?4.m[0].1r:C.1E))}7(B[0]!=4.m[0]&&!(/(1l|1t)/).z(B.d("s"))){B.d("s","1t")}p B},3V:b(){7(4.8.h=="2m"&&!(/^(?:r|a|f)/).z(4.m.d("s"))){4.m[0].1B.s="q"}(4.8.2l&&4.m.2x(4.8.2l+"-l"));(4.8.23&&4.m.2x("k-l-23"));4.3U()},2A:b(B){c C=4.8;7(4.h||C.23||A(B.2a).3T(".k-3S-1K")){p U}4.1K=4.30(B);7(!4.1K){p U}p T},2z:b(D){c E=4.8;4.h=4.2Z();7(A.k.1h){A.k.1h.3R=4}4.Z={6:(t(4.m.d("3Q"),10)||0),5:(t(4.m.d("3P"),10)||0)};4.13=4.h.d("s");4.9=4.m.9();4.9={5:4.9.5-4.Z.5,6:4.9.6-4.Z.6};4.9.u={6:D.1G-4.9.6,5:D.1I-4.9.5};4.2X();4.1d=4.h.1d();c B=4.1d.9();7(4.1d[0]==j.1c&&A.3O.3N){B={5:0,6:0}}4.9.o={5:B.5+(t(4.1d.d("2u"),10)||0),6:B.6+(t(4.1d.d("2v"),10)||0)};7(4.13=="q"){c C=4.m.s();4.9.q={5:C.5-(t(4.h.d("5"),10)||0)+4.1v.w(),6:C.6-(t(4.h.d("6"),10)||0)+4.1u.v()}}1D{4.9.q={5:0,6:0}}4.1z=4.2p(D);4.2w();7(E.2Y){4.2W(E.2Y)}A.1F(4,{2t:(4.13=="1t"&&(!4.1v[0].1b||(/(25|1c)/i).z(4.1v[0].1b))),2r:(4.13=="1t"&&(!4.1u[0].1b||(/(25|1c)/i).z(4.1u[0].1b))),2s:4.1v[0]!=4.1d[0]&&!(4.1v[0]==j&&(/(1c|25)/i).z(4.1d[0].1b)),2q:4.1u[0]!=4.1d[0]&&!(4.1u[0]==j&&(/(1c|25)/i).z(4.1d[0].1b))});7(E.n){4.2T()}4.1g("1e",D);4.2w();7(A.k.1h&&!E.2N){A.k.1h.2K(4,D)}4.h.2x("k-l-2n");4.29(D);p T},2X:b(){4.1v=b(B){21{7(/1s|1j/.z(B.d("1i"))||(/1s|1j/).z(B.d("1i-y"))){p B}B=B.o()}1Z(B[0].1r);p A(j)}(4.h);4.1u=b(B){21{7(/1s|1j/.z(B.d("1i"))||(/1s|1j/).z(B.d("1i-x"))){p B}B=B.o()}1Z(B[0].1r);p A(j)}(4.h)},2W:b(B){7(B.6!=24){4.9.u.6=B.6+4.Z.6}7(B.2V!=24){4.9.u.6=4.Y.W-B.2V+4.Z.6}7(B.5!=24){4.9.u.5=B.5+4.Z.5}7(B.2U!=24){4.9.u.5=4.Y.V-B.2U+4.Z.5}},2w:b(){4.Y={W:4.h.2J(),V:4.h.2I()}},2T:b(){c E=4.8;7(E.n=="o"){E.n=4.h[0].1r}7(E.n=="j"||E.n=="1H"){4.n=[0-4.9.q.6-4.9.o.6,0-4.9.q.5-4.9.o.5,A(E.n=="j"?j:1H).W()-4.9.q.6-4.9.o.6-4.Y.W-4.Z.6-(t(4.m.d("2S"),10)||0),(A(E.n=="j"?j:1H).V()||j.1c.1r.2Q)-4.9.q.5-4.9.o.5-4.Y.V-4.Z.5-(t(4.m.d("2P"),10)||0)]}7(!(/^(j|1H|o)$/).z(E.n)){c C=A(E.n)[0];c D=A(E.n).9();c B=(A(C).d("1i")!="3M");4.n=[D.6+(t(A(C).d("2v"),10)||0)-4.9.q.6-4.9.o.6,D.5+(t(A(C).d("2u"),10)||0)-4.9.q.5-4.9.o.5,D.6+(B?12.2R(C.3L,C.1W):C.1W)-(t(A(C).d("2v"),10)||0)-4.9.q.6-4.9.o.6-4.Y.W-4.Z.6-(t(4.m.d("2S"),10)||0),D.5+(B?12.2R(C.2Q,C.1Y):C.1Y)-(t(A(C).d("2u"),10)||0)-4.9.q.5-4.9.o.5-4.Y.V-4.Z.5-(t(4.m.d("2P"),10)||0)]}},15:b(C,D){7(!D){D=4.s}c B=C=="1t"?1:-1;p{5:(D.5+4.9.q.5*B+4.9.o.5*B-(4.13=="1l"||4.2t||4.2s?0:4.1v.w())*B+(4.13=="1l"?A(j).w():0)*B+4.Z.5*B),6:(D.6+4.9.q.6*B+4.9.o.6*B-(4.13=="1l"||4.2r||4.2q?0:4.1u.v())*B+(4.13=="1l"?A(j).v():0)*B+4.Z.6*B)}},2p:b(E){c F=4.8;c B={5:(E.1I-4.9.u.5-4.9.q.5-4.9.o.5+(4.13=="1l"||4.2t||4.2s?0:4.1v.w())-(4.13=="1l"?A(j).w():0)),6:(E.1G-4.9.u.6-4.9.q.6-4.9.o.6+(4.13=="1l"||4.2r||4.2q?0:4.1u.v())-(4.13=="1l"?A(j).v():0))};7(!4.1z){p B}7(4.n){7(B.6<4.n[0]){B.6=4.n[0]}7(B.5<4.n[1]){B.5=4.n[1]}7(B.6>4.n[2]){B.6=4.n[2]}7(B.5>4.n[3]){B.5=4.n[3]}}7(F.1k){c D=4.1z.5+12.2O((B.5-4.1z.5)/F.1k[1])*F.1k[1];B.5=4.n?(!(D<4.n[1]||D>4.n[3])?D:(!(D<4.n[1])?D-F.1k[1]:D+F.1k[1])):D;c C=4.1z.6+12.2O((B.6-4.1z.6)/F.1k[0])*F.1k[0];B.6=4.n?(!(C<4.n[0]||C>4.n[2])?C:(!(C<4.n[0])?C-F.1k[0]:C+F.1k[0])):C}p B},29:b(B){4.s=4.2p(B);4.1w=4.15("1t");4.s=4.1g("1p",B)||4.s;7(!4.8.1P||4.8.1P!="y"){4.h[0].1B.6=4.s.6+"22"}7(!4.8.1P||4.8.1P!="x"){4.h[0].1B.5=4.s.5+"22"}7(A.k.1h){A.k.1h.1p(4,B)}p U},28:b(C){c D=U;7(A.k.1h&&!4.8.2N){c D=A.k.1h.3K(4,C)}7((4.8.1o=="3J"&&!D)||(4.8.1o=="3I"&&D)||4.8.1o===T||(A.2M(4.8.1o)&&4.8.1o.1M(4.m,D))){c B=4;A(4.h).3H(4.1z,t(4.8.3G,10)||3F,b(){B.1g("1x",C);B.2o()})}1D{4.1g("1x",C);4.2o()}p U},2o:b(){4.h.2L("k-l-2n");7(4.8.h!="2m"&&!4.1L){4.h.26()}4.h=2d;4.1L=U},3E:{},1N:b(B){p{h:4.h,s:4.s,2e:4.1w,8:4.8}},1g:b(C,B){A.k.1f.1M(4,C,[B,4.1N()]);7(C=="1p"){4.1w=4.15("1t")}p 4.m.2B(C=="1p"?C:"1p"+C,[B,4.1N()],4.8[C])},3D:b(){7(!4.m.11("l")){p}4.m.3C("l").3B(".l").2L("k-l k-l-2n k-l-23");4.3A()}}));A.1F(A.k.l,{3z:{1E:"o",1P:U,3y:":3x",3w:0,3v:1,h:"2m",3u:"3t",2l:"k"}});A.k.1f.1n("l","1J",{1e:b(D,C){c B=A("1c");7(B.d("1J")){C.8.2k=B.d("1J")}B.d("1J",C.8.1J)},1x:b(C,B){7(B.8.2k){A("1c").d("1J",B.8.2k)}}});A.k.1f.1n("l","14",{1e:b(D,C){c B=A(C.h);7(B.d("14")){C.8.2j=B.d("14")}B.d("14",C.8.14)},1x:b(C,B){7(B.8.2j){A(B.h).d("14",B.8.2j)}}});A.k.1f.1n("l","1y",{1e:b(D,C){c B=A(C.h);7(B.d("1y")){C.8.2i=B.d("1y")}B.d("1y",C.8.1y)},1x:b(C,B){7(B.8.2i){A(B.h).d("1y",B.8.2i)}}});A.k.1f.1n("l","1O",{1e:b(C,B){A(B.8.1O===T?"3s":B.8.1O).1m(b(){A(\'<2h 3r="k-l-1O" 1B="3q: #3p;">\').d({W:4.1W+"22",V:4.1Y+"22",s:"1t",1y:"0.3o",14:3n}).d(A(4).9()).1E("1c")})},1x:b(C,B){A("2h.k-l-1O").1m(b(){4.1r.3m(4)})}});A.k.1f.1n("l","1j",{1e:b(D,C){c E=C.8;c B=A(4).11("l");E.1a=E.1a||20;E.19=E.19||20;B.17=b(F){21{7(/1s|1j/.z(F.d("1i"))||(/1s|1j/).z(F.d("1i-y"))){p F}F=F.o()}1Z(F[0].1r);p A(j)}(4);B.16=b(F){21{7(/1s|1j/.z(F.d("1i"))||(/1s|1j/).z(F.d("1i-x"))){p F}F=F.o()}1Z(F[0].1r);p A(j)}(4);7(B.17[0]!=j&&B.17[0].1b!="1X"){B.2g=B.17.9()}7(B.16[0]!=j&&B.16[0].1b!="1X"){B.2f=B.16.9()}},1p:b(E,D){c F=D.8,B=U;c C=A(4).11("l");7(C.17[0]!=j&&C.17[0].1b!="1X"){7((C.2g.5+C.17[0].1Y)-E.1I=0;M--){c L=E.X[M].6,J=L+E.X[M].W,I=E.X[M].5,S=I+E.X[M].V;7(!((L-Q35?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}('(8(A){A.1s("5.d",{1r:8(B,C){7(B=="e"){3.4.e=C&&A.1q(C)?C:8(D){a D.1p(e)}}22{A.1s.21.1r.20(3,1Z)}},1Y:8(){9 C=3.4,B=C.e;3.f=0;3.j=1;3.4.e=3.4.e&&A.1q(3.4.e)?3.4.e:8(D){a D.1p(B)};3.O={t:3.6[0].1j,o:3.6[0].1i};A.5.c.l[3.4.k]=A.5.c.l[3.4.k]||[];A.5.c.l[3.4.k].1X(3);(3.4.1a&&3.6.Z(3.4.1a+"-d"))},1W:{},5:8(B){a{1n:(B.h||B.6),1o:B.1o,m:B.m,1V:B.p,4:3.4,6:3.6}},1U:8(){9 B=A.5.c.l[3.4.k];18(9 C=0;C=K&&I<=G)||(H>=K&&H<=G)||(IG))&&((D>=E&&D<=B)||(C>=E&&C<=B)||(DB));P;19:a i;P}};A.5.c={u:15,l:{"19":[]},1e:8(E,H){9 B=A.5.c.l[E.4.k];9 F=H?H.1E:15;9 G=(E.h||E.6).1l(":M(d)").1D();1k:18(9 D=0;D35?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}('(c(B){h A=0;B.12("m.f",{1w:c(){h C=4,D=4.p;4.j.1v("m-f").17("T.f",c(E){(!C.S&&D.T&&D.T.Q(4,[E,{p:C.p,k:C.k[0],1u:C.k[1]}]))});i(!(/^(r|a)/).1t(4.j.9("w"))){4.j.9("w","1s")}4.d=[];4.j.1r(D.d).O(c(){h E=B(4);C.d.1q([4,E.16(),[E.t(),E.s()],(D.18?E.w():1p)]);(D.8&&E.9("8",D.8.n))});(D.18&&B.O(4.d,c(){B(4[0]).9({w:"1o",7:4[3].7,6:4[3].6})}));4.R=++A;B(15).17("13.f"+4.R,c(E){(C.S||C.Z.Q(C,[E]))});4.g=4.j.16()},1n:c(){4.P();4.j.1m("m-f m-f-S").14(".f");B(15).14("13.f"+4.R)},11:c(){4.P();B.12.1l.11.Q(4,1k)},P:c(C){h D=4.p;B.O(4.d,c(){h E=4;B(E[0]).9({t:E[2][0],s:E[2][1],7:(E[3]?E[3].7:0),6:(E[3]?E[3].6:0)});(D.8&&B(E[0]).9("8",D.8.n));(D.q&&B(E[0]).9("z-K",""))})},Z:c(G){h F=[G.1j,G.1i],H=4.p,J,I=1;4.k=4.d[0];h C=((F[0]>4.g.6-H.b)&&(F[0]<4.g.6+4.j[0].M+H.b)&&(F[1]>4.g.7-H.b)&&(F[1]<4.g.7+4.j[0].N+H.b));i(!C){1h 1g}1f(h E=0;E<4.d.1e;E++){J=4.d[E];h D=I;i(!H.l){I=o.1d(o.Y(F[0]-((J[3]?4.g.6:J[1].6)+v(J[0].u.6,10))-(J[0].M/2),2)+o.Y(F[1]-((J[3]?4.g.7:J[1].7)+v(J[0].u.7,10))-(J[0].N/2),2))}L{i(H.l=="y"){I=o.X(F[1]-((J[3]?4.g.7:J[1].7)+v(J[0].u.7,10))-(J[0].N/2))}L{I=o.X(F[0]-((J[3]?4.g.6:J[1].6)+v(J[0].u.6,10))-(J[0].M/2))}}i(I *"}})})(19)',62,95,'||||this||left|top|opacity|css||distance|function|items|magnification|magnifier|pp|var|if|element|current|axis|ui|min|Math|options|zIndex||height|width|style|parseInt|position||||||||||||||index|else|offsetWidth|offsetHeight|each|reset|apply|identifier|disabled|click|verticalLine|baseline|max|abs|pow|_magnify||disable|widget|mousemove|unbind|document|offset|bind|overlap|jQuery|150|defaults|extend|sqrt|length|for|false|return|pageY|pageX|arguments|prototype|removeClass|destroy|absolute|null|push|find|relative|test|currentOffset|addClass|_init'.split('|'),0,{})) + Index: lams_central/web/includes/javascript/jquery-ui/ui/packed/ui.progressbar.packed.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/packed/Attic/ui.progressbar.packed.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/packed/ui.progressbar.packed.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,2 @@ +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}('(5(A){A.1z("3.4",{1y:5(){2.U=2.8.j;q B=2,C=2.8,E=(Y X()).W()+z.1x(),D=C.c||"0%";2.a.i("3-4").6(C.6);A.1w(2,{s:u,g:0,f:0,e:E,7:A(\'\').P({6:"15",14:"h",1v:n}),9:A(\'\').l(D).P({6:"15",14:"h"}),N:A(\'\').l(D).P({6:2.a.6()}),13:A(\'\')});2.13.12(2.7.12(2.9.i(C.Q)),2.N).1t(2.a)},1s:{},3:5(B){p{1r:2,e:2.e,8:2.8,a:2.7,9:2.9,g:2.g,f:2.f}},k:5(C,B){A.3.1q.1p(2,C,[B,2.3()]);2.a.1o(C=="4"?C:["4",C].1n(""),[B,2.3()],2.8[C])},1m:5(){2.o();2.a.M("3-4 3-4-d").1l("4").1k(".4").1j(".3-4-11").1i();V r.t[2.e]},1h:5(){2.a.M("3-4-d");2.d=u},1g:5(){2.a.i("3-4-d");2.d=w},10:5(){q B=2,C=2.8;m(2.d){p}r.t[2.e]=5(K,L,J,I,H){q G=C.S,E=C.6,F=((G>E?E:G)/E),D=z.T(K/F)*F;p D>1?1:D};B.s=w;1f(5(){B.s=u},C.x);2.Z();2.k("10",2.3());p u},Z:5(){q C=2,D=2.8,B=D.j;2.7.1e({6:D.6},{x:B,t:2.e,1d:5(G,E){C.y((G/D.6)*n);q H=Y X().W(),F=(H-E.1c);D.j=B-F},1b:5(){V r.t[C.e];C.O();m(C.s){}}})},O:5(){m(2.d){p}2.7.o();2.k("O",2.3())},o:5(){2.7.o();2.7.6(0);2.9.6(0);2.7.i("3-h");2.8.j=2.U;2.k("o",2.3())},c:5(B){2.9.l(B);2.N.l(B)},y:5(B){m(2.7.1a(".3-h")){2.7.M("3-h")}2.f=B>n?n:B;2.g=(2.f/n)*2.8.6;2.7.6(2.g);2.9.6(2.g);m(2.8.R&&!2.8.c){2.9.l(z.T(2.f)+"%")}2.k("y",2.3())}});A.3.4.19={6:18,x:17,j:16,S:1,R:w,c:"",i:"",Q:""}})(r)',62,98,'||this|ui|progressbar|function|width|bar|options|textElement|element|div|text|disabled|identifier|percentState|pixelState|hidden|addClass|interval|_propagate|html|if|100|stop|return|var|jQuery|active|easing|false|class|true|duration|progress|Math|||||||||||||removeClass|textBg|pause|css|textClass|range|increment|round|_interval|delete|getTime|Date|new|_animate|start|wrap|append|wrapper|overflow|0px|200|3000|300|defaults|is|complete|startTime|step|animate|setTimeout|disable|enable|remove|find|unbind|removeData|destroy|join|triggerHandler|call|plugin|instance|plugins|appendTo|back|zIndex|extend|random|_init|widget'.split('|'),0,{})) + Index: lams_central/web/includes/javascript/jquery-ui/ui/packed/ui.resizable.packed.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/packed/Attic/ui.resizable.packed.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/packed/ui.resizable.packed.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,2 @@ +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}('(h(A){A.4t("b.c",A.19({},A.b.4s,{4r:h(){f M=4,N=4.m;f Q=4.k.d("g");4.2v=4.k;4.k.1j("b-c").d({g:/20/.q(Q)?"1i":Q});A.19(N,{1N:!!(N.1a),l:N.l||N.12||N.1o?N.l||"4q":1g,1m:N.1m===1q?"b-c-1V-13":N.1m});f H="2E 3m #4p";N.3j={"b-c":{1W:"2d"},"b-c-13":{g:"1D",3o:"#3n",4o:"0.2E"},"b-c-n":{t:"n-o",8:"16",5:"p",1t:"p",2F:H},"b-c-s":{t:"s-o",8:"16",5:"p",1t:"p",2I:H},"b-c-e":{t:"e-o",6:"16",9:"p",1u:"p",2H:H},"b-c-w":{t:"w-o",6:"16",9:"p",1u:"p",2G:H},"b-c-y":{t:"y-o",6:"16",8:"16",2H:H,2I:H},"b-c-x":{t:"x-o",6:"16",8:"16",2I:H,2G:H},"b-c-Z":{t:"Z-o",6:"16",8:"16",2H:H,2F:H},"b-c-z":{t:"z-o",6:"16",8:"16",2G:H,2F:H}};N.2z={"b-c-13":{3o:"#3n",4n:"2E 3m #4m",8:"3l",6:"3l"},"b-c-n":{t:"n-o",9:"p",5:"45%"},"b-c-s":{t:"s-o",1u:"p",5:"45%"},"b-c-e":{t:"e-o",1t:"p",9:"45%"},"b-c-w":{t:"w-o",5:"p",9:"45%"},"b-c-y":{t:"y-o",1t:"p",1u:"p"},"b-c-x":{t:"x-o",5:"p",1u:"p"},"b-c-z":{t:"z-o",5:"p",9:"p"},"b-c-Z":{t:"Z-o",1t:"p",9:"p"}};N.2y=4.k[0].2f;a(N.2y.2x(/4l|1Y|2j|3f|3e|4k/i)){f B=4.k;a(/1i/.q(B.d("g"))&&A.1f.35){B.d({g:"1i",9:"1U",5:"1U"})}B.4j(A(\'<1E 3i="b-2t" 2o="2n: 2m;">\').d({g:B.d("g"),6:B.1x(),8:B.1w(),9:B.d("9"),5:B.d("5")}));f J=4.k;4.k=4.k.1P();4.k.11("c",4);4.k.d({2D:J.d("2D"),2C:J.d("2C"),2B:J.d("2B"),2A:J.d("2A")});J.d({2D:0,2C:0,2B:0,2A:0});a(A.1f.4i&&N.2V){J.d("o","3k")}N.1h=J.d({g:"20",4h:1,1W:"2d"});4.k.d({2c:J.d("2c")});4.1T()}a(!N.u){N.u=!A(".b-c-13",4.k).1K?"e,s,y":{n:".b-c-n",e:".b-c-e",s:".b-c-s",w:".b-c-w",y:".b-c-y",x:".b-c-x",Z:".b-c-Z",z:".b-c-z"}}a(N.u.3h==3g){N.1C=N.1C||4g;a(N.u=="4f"){N.u="n,e,s,w,y,x,Z,z"}f O=N.u.4e(",");N.u={};f G={13:"g: 1D; 1W: 3k; 2n:2m;",n:"9: 1s; 6:2a%;",e:"1t: 1s; 8:2a%;",s:"1u: 1s; 6:2a%;",w:"5: 1s; 8:2a%;",y:"1u: 1s; 1t: p;",x:"1u: 1s; 5: p;",Z:"9: 1s; 1t: p;",z:"9: 1s; 5: p;"};2s(f R=0;R\'].2u("")).d(K);N.u[S]=".b-c-"+S;4.k.38(E.d(C?T:{}).d(N.1m?D:{}).1j(N.1m?"b-c-1V-13":"").1j(N.1m))}a(N.1m){4.k.1j("b-c-1V").d(!A.b.d("b-c-1V")?{}:{})}}4.3d=h(Y){Y=Y||4.k;2s(f V 36 N.u){a(N.u[V].3h==3g){N.u[V]=A(N.u[V],4.k).3b()}a(N.2i){N.u[V].d({2M:0})}a(4.k.2r(".b-2t")&&N.2y.2x(/1Y|2j|3f|3e/i)){f W=A(N.u[V],4.k),X=0;X=/x|Z|z|y|n|s/.q(V)?W.1w():W.1x();f U=["4c",/Z|z|n/.q(V)?"4b":/y|x|s/.q(V)?"4a":/^e$/.q(V)?"49":"48"].2u("");a(!N.2i){Y.d(U,X)}4.1T()}a(!A(N.u[V]).1K){47}}};4.3d(4.k);N.1G=A(".b-c-13",M.k);a(N.1Q){N.1G.1y(h(U,V){A.b.1Q(V)})}N.1G.46(h(){a(!N.29){a(4.3c){f U=4.3c.2x(/b-c-(y|x|Z|z|n|e|s|w)/i)}M.1v=N.1v=U&&U[1]?U[1]:"y"}});a(N.2U){N.1G.3a();A(M.k).1j("b-c-2w").44(h(){A(4).39("b-c-2w");N.1G.3b()},h(){a(!N.29){A(4).1j("b-c-2w");N.1G.3a()}})}4.43()},42:{},b:h(){r{2v:4.2v,k:4.k,l:4.l,g:4.g,j:4.j,m:4.m,15:4.15,14:4.14}},1M:h(C,B){A.b.1z.41(4,C,[B,4.b()]);a(C!="o"){4.k.2Z(["o",C].2u(""),[B,4.b()],4.m[C])}},40:h(){f D=4.k,C=D.3Z(".b-c").1c(0);4.3Y();f B=h(E){A(E).39("b-c b-c-37").2J("c").3X(".c").3W(".b-c-13").2p()};B(D);a(D.2r(".b-2t")&&C){D.1P().38(A(C).d({g:D.d("g"),6:D.1x(),8:D.1w(),9:D.d("9"),5:D.d("5")})).3V().2p();B(C)}},3U:h(D){a(4.m.37){r 1b}f C=1b;2s(f B 36 4.m.u){a(A(4.m.u[B])[0]==D.3T){C=1q}}a(!C){r 1b}r 1q},3S:h(I){f C=4.m,B=4.k.g(),D=4.k,H=h(M){r v(M,10)||0},G=A.1f.26&&A.1f.2l<7;C.29=1q;C.2q={9:A(1l).33(),5:A(1l).34()};a(D.2r(".b-3R")||(/1D/).q(D.d("g"))){f J=A.1f.26&&!C.1B&&(/1D/).q(D.d("g"))&&!(/1i/).q(D.1P().d("g"));f K=J?C.2q.9:0,F=J?C.2q.5:0;D.d({g:"1D",9:(B.9+K),5:(B.5+F)})}a(A.1f.35&&/1i/.q(D.d("g"))){D.d({g:"1i",9:"1U",5:"1U"})}4.2W();f L=H(4.l.d("5")),E=H(4.l.d("9"));a(C.1B){L+=A(C.1B).34()||0;E+=A(C.1B).33()||0}4.1k=4.l.1k();4.g={5:L,9:E};4.j=C.l||G?{6:D.1x(),8:D.1w()}:{6:D.6(),8:D.8()};4.15=C.l||G?{6:D.1x(),8:D.1w()}:{6:D.6(),8:D.8()};4.14={5:L,9:E};4.1p={6:D.1x()-D.6(),8:D.1w()-D.8()};4.32={5:I.31,9:I.30};C.1a=(1J C.1a=="2Q")?C.1a:((4.15.6/4.15.8)||1);a(C.2h){A("23").d("t",4.1v+"-o")}4.1M("1H",I);r 1q},3Q:h(I){f D=4.l,C=4.m,J={},M=4,F=4.32,K=4.1v;f N=(I.31-F.5)||0,L=(I.30-F.9)||0;f E=4.1e[K];a(!E){r 1b}f H=E.1n(4,[I,N,L]),G=A.1f.26&&A.1f.2l<7,B=4.1p;a(C.1N||I.1Z){H=4.2Y(H,I)}H=4.2X(H,I);4.1M("o",I);D.d({9:4.g.9+"1r",5:4.g.5+"1r",6:4.j.6+"1r",8:4.j.8+"1r"});a(!C.l&&C.1h){4.1T()}4.2e(H);4.k.2Z("o",[I,4.b()],4.m["o"]);r 1b},3P:h(I){4.m.29=1b;f E=4.m,H=h(M){r v(M,10)||0},K=4;a(E.l){f D=E.1h,B=D&&(/1Y/i).q(D.1c(0).2f),C=B&&A.b.1X(D.1c(0),"5")?0:K.1p.8,G=B?0:K.1p.6;f L={6:(K.j.6-G),8:(K.j.8-C)},F=(v(K.k.d("5"),10)+(K.g.5-K.14.5))||1g,J=(v(K.k.d("9"),10)+(K.g.9-K.14.9))||1g;a(!E.1o){4.k.d(A.19(L,{9:J,5:F}))}a(E.l&&!E.1o){4.1T()}}a(E.2h){A("23").d("t","1U")}4.1M("1I",I);a(E.l){4.l.2p()}r 1b},2e:h(B){f C=4.m;4.1k=4.l.1k();a(B.5){4.g.5=B.5}a(B.9){4.g.9=B.9}a(B.8){4.j.8=B.8}a(B.6){4.j.6=B.6}},2Y:h(D,E){f F=4.m,G=4.g,C=4.j,B=4.1v;a(D.8){D.6=(C.8*F.1a)}18{a(D.6){D.8=(C.6/F.1a)}}a(B=="x"){D.5=G.5+(C.6-D.6);D.9=1g}a(B=="z"){D.9=G.9+(C.8-D.8);D.5=G.5+(C.6-D.6)}r D},2X:h(H,I){f F=4.l,E=4.m,N=E.1N||I.1Z,M=4.1v,P=H.6&&E.28&&E.28H.6,O=H.8&&E.1R&&E.1R>H.8;a(D){H.6=E.1S}a(O){H.8=E.1R}a(P){H.6=E.28}a(J){H.8=E.27}f C=4.14.5+4.15.6,L=4.g.9+4.j.8;f G=/x|z|w/.q(M),B=/z|Z|n/.q(M);a(D&&G){H.5=C-E.1S}a(P&&G){H.5=C-E.28}a(O&&B){H.9=L-E.1R}a(J&&B){H.9=L-E.27}f K=!H.6&&!H.8;a(K&&!H.5&&H.9){H.9=1g}18{a(K&&!H.9&&H.5){H.5=1g}}r H},1T:h(){f F=4.m;a(!F.1h){r}f D=F.1h,C=4.l||4.k;a(!F.1F){f B=[D.d("3O"),D.d("3N"),D.d("3M"),D.d("3L")],E=[D.d("3K"),D.d("3J"),D.d("3I"),D.d("3H")];F.1F=A.3G(B,h(G,I){f H=v(G,10)||0,J=v(E[I],10)||0;r H+J})}D.d({8:(C.8()-F.1F[0]-F.1F[2])+"1r",6:(C.6()-F.1F[1]-F.1F[3])+"1r"})},2W:h(){f C=4.k,F=4.m;4.2k=C.1k();a(F.l){4.l=4.l||A(\'<1E 2o="2n:2m;">\');f B=A.1f.26&&A.1f.2l<7,D=(B?1:0),E=(B?2:-1);4.l.1j(F.l).d({6:C.1x()+E,8:C.1w()+E,g:"1D",5:4.2k.5-D+"1r",9:4.2k.9-D+"1r",1C:++F.1C});4.l.2L("23");a(F.1Q){A.b.1Q(4.l.1c(0))}}18{4.l=C}},1e:{e:h(D,C,B){r{6:4.15.6+C}},w:h(F,C,B){f G=4.m,D=4.15,E=4.14;r{5:E.5+C,6:D.6-C}},n:h(F,C,B){f G=4.m,D=4.15,E=4.14;r{9:E.9+B,8:D.8-B}},s:h(D,C,B){r{8:4.15.8+B}},y:h(D,C,B){r A.19(4.1e.s.1n(4,24),4.1e.e.1n(4,[D,C,B]))},x:h(D,C,B){r A.19(4.1e.s.1n(4,24),4.1e.w.1n(4,[D,C,B]))},Z:h(D,C,B){r A.19(4.1e.n.1n(4,24),4.1e.e.1n(4,[D,C,B]))},z:h(D,C,B){r A.19(4.1e.n.1n(4,24),4.1e.w.1n(4,[D,C,B]))}}}));A.19(A.b.c,{3F:{3E:":2j",3D:1,3C:0,2V:1q,2i:1b,1S:10,1R:10,1a:1b,1Q:1q,2h:1q,2U:1b,1m:1b}});A.b.1z.1L("c","1B",{1H:h(I,K){f E=K.m,M=A(4).11("c"),G=M.k;f C=E.1B,F=(C 3B A)?C.1c(0):(/1P/.q(C))?G.1P().1c(0):C;a(!F){r}M.2g=A(F);a(/1l/.q(C)||C==1l){M.1O={5:0,9:0};M.21={5:0,9:0};M.1A={k:A(1l),5:0,9:0,6:A(1l).6(),8:A(1l).8()||1l.23.3A.2T}}18{M.1O=A(F).1k();M.21=A(F).g();M.22={8:A(F).2R(),6:A(F).2S()};f J=M.1O,B=M.22.8,H=M.22.6,D=(A.b.1X(F,"5")?F.3z:H),L=(A.b.1X(F)?F.2T:B);M.1A={k:F,5:J.5,9:J.9,6:D,8:L}}},o:h(H,K){f E=K.m,N=A(4).11("c"),C=N.22,J=N.1O,G=N.j,I=N.g,L=E.1N||H.1Z,B={9:0,5:0},D=N.2g;a(D[0]!=1l&&/20/.q(D.d("g"))){B=N.21}a(I.5<(E.l?J.5:B.5)){N.j.6=N.j.6+(E.l?(N.g.5-J.5):(N.g.5-B.5));a(L){N.j.8=N.j.6/E.1a}N.g.5=E.l?J.5:B.5}a(I.9<(E.l?J.9:0)){N.j.8=N.j.8+(E.l?(N.g.9-J.9):N.g.9);a(L){N.j.6=N.j.8*E.1a}N.g.9=E.l?J.9:0}f F=(E.l?N.1k.5-J.5:(N.g.5-B.5))+N.1p.6,M=(E.l?N.1k.9-J.9:N.g.9)+N.1p.8;a(F+N.j.6>=N.1A.6){N.j.6=N.1A.6-F;a(L){N.j.8=N.j.6/E.1a}}a(M+N.j.8>=N.1A.8){N.j.8=N.1A.8-M;a(L){N.j.6=N.j.8*E.1a}}},1I:h(G,J){f C=J.m,L=A(4).11("c"),H=L.g,I=L.1O,B=L.21,D=L.2g;f E=A(L.l),M=E.1k(),K=E.2S(),F=E.2R();a(C.l&&!C.1o&&/1i/.q(D.d("g"))){A(4).d({5:(M.5-I.5),9:(M.9-I.9),6:K,8:F})}a(C.l&&!C.1o&&/20/.q(D.d("g"))){A(4).d({5:B.5+(M.5-I.5),9:B.9+(M.9-I.9),6:K,8:F})}}});A.b.1z.1L("c","1d",{o:h(H,J){f D=J.m,L=A(4).11("c"),G=L.j,E=L.15,F=L.14,K=L.1v,I=D.1N||H.1Z;D.1d=1J D.1d=="2Q"?[D.1d,D.1d]:D.1d;f C=2P.2O((G.6-E.6)/(D.1d[0]||1))*(D.1d[0]||1),B=2P.2O((G.8-E.8)/(D.1d[1]||1))*(D.1d[1]||1);a(/^(y|s|e)$/.q(K)){L.j.6=E.6+C;L.j.8=E.8+B}18{a(/^(Z)$/.q(K)){L.j.6=E.6+C;L.j.8=E.8+B;L.g.9=F.9-B}18{a(/^(x)$/.q(K)){L.j.6=E.6+C;L.j.8=E.8+B;L.g.5=F.5-C}18{L.j.6=E.6+C;L.j.8=E.8+B;L.g.9=F.9-B;L.g.5=F.5-C}}}}});A.b.1z.1L("c","1o",{1I:h(I,K){f F=K.m,L=A(4).11("c");f E=F.1h,B=E&&(/1Y/i).q(E.1c(0).2f),C=B&&A.b.1X(E.1c(0),"5")?0:L.1p.8,H=B?0:L.1p.6;f D={6:(L.j.6-H),8:(L.j.8-C)},G=(v(L.k.d("5"),10)+(L.g.5-L.14.5))||1g,J=(v(L.k.d("9"),10)+(L.g.9-L.14.9))||1g;L.k.1o(A.19(D,J&&G?{9:J,5:G}:{}),{3y:F.3x||"3w",3v:F.3u||"3t",3s:h(){f M={6:v(L.k.d("6"),10),8:v(L.k.d("8"),10),9:v(L.k.d("9"),10),5:v(L.k.d("5"),10)};a(E){E.d({6:M.6,8:M.8})}L.2e(M);L.1M("1o",I)}})}});A.b.1z.1L("c","12",{1H:h(E,D){f F=D.m,B=A(4).11("c"),G=F.1h,C=B.j;a(!G){B.12=B.k.2N()}18{B.12=G.2N()}B.12.d({2M:0.25,1W:"2d",g:"1i",8:C.8,6:C.6,2c:0,5:0,9:0}).1j("b-c-12").1j(1J F.12=="3r"?F.12:"");B.12.2L(B.l)},o:h(D,C){f E=C.m,B=A(4).11("c"),F=E.1h;a(B.12){B.12.d({g:"1i",8:B.j.8,6:B.j.6})}},1I:h(D,C){f E=C.m,B=A(4).11("c"),F=E.1h;a(B.12&&B.l){B.l.1c(0).3q(B.12.1c(0))}}});A.b.1z.1L("c","17",{1H:h(E,C){f F=C.m,B=A(4).11("c"),D=h(G){A(G).1y(h(){A(4).11("c-2b",{6:v(A(4).6(),10),8:v(A(4).8(),10),5:v(A(4).d("5"),10),9:v(A(4).d("9"),10)})})};a(1J(F.17)=="2K"){a(F.17.1K){F.17=F.17[0];D(F.17)}18{A.1y(F.17,h(G,H){D(G)})}}18{D(F.17)}},o:h(F,E){f G=E.m,C=A(4).11("c"),D=C.15,I=C.14;f H={8:(C.j.8-D.8)||0,6:(C.j.6-D.6)||0,9:(C.g.9-I.9)||0,5:(C.g.5-I.5)||0},B=h(J,K){A(J).1y(h(){f N=A(4).11("c-2b"),M={},L=K&&K.1K?K:["6","8","9","5"];A.1y(L||["6","8","9","5"],h(O,Q){f P=(N[Q]||0)+(H[Q]||0);a(P&&P>=0){M[Q]=P||1g}});A(4).d(M)})};a(1J(G.17)=="2K"){A.1y(G.17,h(J,K){B(J,K)})}18{B(G.17)}},1I:h(C,B){A(4).2J("c-2b-1H")}})})(3p)',62,278,'||||this|left|width||height|top|if|ui|resizable|css||var|position|function||size|element|helper|options||resize|0px|test|return||cursor|handles|parseInt||sw|se|nw||||||||||||||||||||||||||ne||data|ghost|handle|originalPosition|originalSize|4px|alsoResize|else|extend|aspectRatio|false|get|grid|_change|browser|null|proportionallyResize|relative|addClass|offset|document|knobHandles|apply|animate|sizeDiff|true|px|0pt|right|bottom|axis|outerHeight|outerWidth|each|plugin|parentData|containment|zIndex|absolute|div|borderDif|_handles|start|stop|typeof|length|add|_propagate|_aspectRatio|containerOffset|parent|disableSelection|minHeight|minWidth|_proportionallyResize|auto|knob|display|hasScroll|textarea|shiftKey|static|containerPosition|containerSize|body|arguments||msie|maxHeight|maxWidth|resizing|100|alsoresize|margin|block|_updateCache|nodeName|containerElement|preserveCursor|transparent|input|elementOffset|version|hidden|overflow|style|remove|documentScroll|is|for|wrapper|join|originalElement|autohide|match|_nodeName|knobTheme|marginBottom|marginRight|marginTop|marginLeft|1px|borderTop|borderLeft|borderRight|borderBottom|removeData|object|appendTo|opacity|clone|round|Math|number|innerHeight|innerWidth|scrollHeight|autoHide|preventDefault|_renderProxy|_respectSize|_updateRatio|triggerHandler|pageY|pageX|originalMousePosition|scrollTop|scrollLeft|opera|in|disabled|append|removeClass|hide|show|className|_renderAxis|button|select|String|constructor|class|defaultTheme|none|8px|solid|F2F2F2|background|jQuery|removeChild|string|step|swing|animateEasing|easing|slow|animateDuration|duration|scrollWidth|parentNode|instanceof|delay|distance|cancel|defaults|map|paddingLeft|paddingBottom|paddingRight|paddingTop|borderLeftWidth|borderBottomWidth|borderRightWidth|borderTopWidth|_mouseStop|_mouseDrag|draggable|_mouseStart|target|_mouseCapture|end|find|unbind|_mouseDestroy|children|destroy|call|plugins|_mouseInit|hover||mouseover|continue|Left|Right|Bottom|Top|padding|trim|split|all|1000|zoom|safari|wrap|img|canvas|808080|border|fontSize|DEDEDE|proxy|_init|mouse|widget'.split('|'),0,{})) + Index: lams_central/web/includes/javascript/jquery-ui/ui/packed/ui.selectable.packed.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/packed/Attic/ui.selectable.packed.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/packed/ui.selectable.packed.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,2 @@ +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}('(d(A){A.1M("4.5",A.V({},A.4.1L,{1K:d(){8 B=2;2.3.f("4-5");2.v=b;8 C;2.Q=d(){C=A(B.9.q,B.3[0]);C.p(d(){8 D=A(2);8 E=D.1J();A.o(2,"5-n",{3:2,$3:D,k:E.k,j:E.j,L:E.k+D.N(),y:E.j+D.M(),i:b,a:D.R("4-a"),c:D.R("4-c"),6:D.R("4-6")})})};2.Q();2.s=C.f("4-1I");2.1H();2.m=A(1G.1F("1E")).O({1D:"1C 1B 1A"}).f("4-5-m")},1z:d(){7(2.9.t){2.1y()}r{2.1x()}},1w:d(){2.3.g("4-5 4-5-t").1v("5").1u(".5");2.1t()},1s:d(E){8 C=2;2.P=[E.Y,E.X];7(2.9.t){l}8 D=2.9;2.s=A(D.q,2.3[0]);2.3.h("1r",[E,{"5":2.3[0],"9":D}],D.1q);A("U").1p(2.m);2.m.O({"z-1o":1n,"1m":"1l","k":E.1k,"j":E.1j,"N":0,"M":0});7(D.T){2.Q()}2.s.q(".4-a").p(d(){8 F=A.o(2,"5-n");F.i=e;7(!E.x){F.$3.g("4-a");F.a=b;F.$3.f("4-6");F.6=e;C.3.h("w",[E,{5:C.3[0],6:F.3,9:D}],D.6)}});8 B=b;A(E.1i).1h().1g().p(d(){7(A.o(2,"5-n")){B=e}});l 2.9.1f?!B:e},1e:d(I){8 C=2;2.v=e;7(2.9.t){l}8 E=2.9;8 D=2.P[0],H=2.P[1],B=I.Y,G=I.X;7(D>B){8 F=B;B=D;D=F}7(H>G){8 F=G;G=H;H=F}2.m.O({k:D,j:H,N:B-D,M:G-H});2.s.p(d(){8 J=A.o(2,"5-n");7(!J||J.3==C.3[0]){l}8 K=b;7(E.u=="S"){K=(!(J.k>B||J.LG||J.yD&&J.LH&&J.y35?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}('(6(A){A.2d.1B=A.2d.1B||6(B){b 3.16(6(){A(3).2S(B).2R(0).2Q(3).1s()})};A.2c("k.n",{2P:{},k:6(B){b{8:3.8,9:3.7,o:3.8.l!="2O"||!3.8.l?q.t(3.o(i,3.8.l=="z"?"y":"x")):{x:q.t(3.o(i,"x")),y:q.t(3.o(i,"y"))},1g:3.1M()}},N:6(C,B){A.k.2N.1j(3,C,[B,3.k()]);3.e.2M(C=="17"?C:"17"+C,[B,3.k()],3.8[C])},2L:6(){3.e.1T("k-n k-n-1r").2K("n").2J(".n");4(3.9&&3.9.11){3.9.1B("a");3.9.16(6(){A(3).U("Q").2I()})}3.1A&&3.1A.1s()},2b:6(B,C){A.2c.2a.2b.26(3,2H);4(/j|m|Y/.O(B)){3.1x()}4(B=="1g"){C?3.9.11==2&&3.1u():3.1N()}},2G:6(){d B=3;3.e.1h("k-n");3.1x();3.9=A(3.8.9,3.e);4(!3.9.11){B.9=B.1A=A(B.8.1f||[0]).2F(6(){d D=A("<1t/>").1h("k-n-9").1O(B.e);4(3.1z){D.2E("1z",3.1z)}b D[0]})}d C=6(D){3.e=A(D);3.e.U("Q",3);3.8=B.8;3.e.12("27",6(){4(B.7){3.28(B.7)}B.W(3,v)});3.2D()};A.23(C.2a,A.k.Q,{2C:6(D){b B.1J.1j(B,D,3.e[0])},2B:6(D){b B.1I.1j(B,D,3.e[0])},2A:6(D){b B.1p.1j(B,D,3.e[0])},2z:6(){b v},25:6(D){3.2y(D)}});A(3.9).16(6(){2x C(3)}).2w(\'\').1W().12("2r",6(){b P}).12("1V",6(D){B.W(3.1y)}).12("28",6(D){B.1U(3.1y)}).12("2q",6(D){4(!B.8.2p){b B.21(D.2o,3.1y)}});3.e.12("27.n",6(D){B.1R.26(B,[D]);B.7.U("Q").25(D);B.1d=B.1d+1});A.16(3.8.1f||[],6(D,E){B.15(E.1k,D,v)});4(!V(3.8.24)){3.15(3.8.24,0,v)}3.R=A(3.9[0]);4(3.9.11==2&&3.8.1g){3.1u()}},1x:6(){d B=3.e[0],C=3.8;3.S={K:3.e.1n(),J:3.e.1m()};A.23(C,{l:C.l||(B.1P").1h("k-n-1g").p({2l:"2k"}).1O(3.e);3.1a()},1N:6(){3.u.1s();3.u=i},1a:6(){d C=3.8.l=="z"?"f":"h";d B=3.8.l=="z"?"J":"K";3.u.p(C,(c(A(3.9[0]).p(C),10)||0)+3.X(0,3.8.l=="z"?"y":"x")/2);3.u.p(B,(c(A(3.9[1]).p(C),10)||0)-(c(A(3.9[0]).p(C),10)||0))},1M:6(){b 3.u?3.w(c(3.u.p(3.8.l=="z"?"J":"K"),10),3.8.l=="z"?"y":"x"):i},1L:6(){b 3.9.2j(3.7[0])},o:6(D,B){4(3.9.11==1){3.7=3.9}4(!B){B=3.8.l=="z"?"y":"x"}d C=A(D!=s&&D!==i?3.9[D]||D:3.7);4(C.U("Q").19){b c(C.U("Q").19[B],10)}Z{b c(((c(C.p(B=="x"?"h":"f"),10)/(3.S[B=="x"?"K":"J"]-3.X(D,B)))*3.8.T[B])+3.8.j[B],10)}},w:6(C,B){b 3.8.j[B]+(C/(3.S[B=="x"?"K":"J"]-3.X(i,B)))*3.8.T[B]},r:6(C,B){b((C-3.8.j[B])/3.8.T[B])*(3.S[B=="x"?"K":"J"]-3.X(i,B))},13:6(D,B){4(3.u){4(3.7[0]==3.9[0]&&D>=3.r(3.o(1),B)){D=3.r(3.o(1,B)-3.1e(B),B)}4(3.7[0]==3.9[1]&&D<=3.r(3.o(0),B)){D=3.r(3.o(0,B)+3.1e(B),B)}}4(3.8.1f){d C=3.8.1f[3.1L()];4(D<3.r(C.j,B)){D=3.r(C.j,B)}Z{4(D>3.r(C.m,B)){D=3.r(C.m,B)}}}b D},14:6(C,B){4(C>=3.S[B=="x"?"K":"J"]-3.X(i,B)){C=3.S[B=="x"?"K":"J"]-3.X(i,B)}4(C<=0){C=0}b C},X:6(C,B){b A(C!=s&&C!==i?3.9[C]:3.7)[0]["L"+(B=="x"?"2i":"2h")]},1e:6(B){b 3.8.g[B]||1},1K:6(B){b 10},1J:6(C,B){d D=3.8;4(D.1r){b P}3.S={K:3.e.1n(),J:3.e.1m()};4(!3.7){3.W(3.R,v)}3.L=3.e.L();3.1q=3.7.L();3.1o={f:C.1c-3.1q.f,h:C.1b-3.1q.h};3.1d=3.o();3.N("1k",C);3.1p(C,B);b v},1I:6(B){3.N("18",B);4(3.1d!=3.o()){3.N("1D",B)}3.W(3.7,v);b P},1p:6(E,D){d F=3.8;d B={f:E.1c-3.L.f-3.1o.f,h:E.1b-3.L.h-3.1o.h};4(!3.7){3.W(3.R,v)}B.h=3.14(B.h,"x");B.f=3.14(B.f,"y");4(F.g.x){d C=3.w(B.h,"x");C=q.t(C/F.g.x)*F.g.x;B.h=3.r(C,"x")}4(F.g.y){d C=3.w(B.f,"y");C=q.t(C/F.g.y)*F.g.y;B.f=3.r(C,"y")}B.h=3.13(B.h,"x");B.f=3.13(B.f,"y");4(F.l!="z"){3.7.p({h:B.h})}4(F.l!="1l"){3.7.p({f:B.f})}3.7.U("Q").19={x:q.t(3.w(B.h,"x"))||0,y:q.t(3.w(B.f,"y"))||0};4(3.u){3.1a()}3.N("17",E);b P},15:6(F,E,G){d H=3.8;3.S={K:3.e.1n(),J:3.e.1m()};4(E==s&&!3.7&&3.9.11!=1){b P}4(E==s&&!3.7){E=0}4(E!=s){3.7=3.R=A(3.9[E]||E)}4(F.x!==s&&F.y!==s){d B=F.x,I=F.y}Z{d B=F,I=F}4(B!==s&&B.1H!=1G){d D=/^\\-\\=/.O(B),C=/^\\+\\=/.O(B);4(D||C){B=3.o(i,"x")+c(B.1F(D?"=":"+=",""),10)}Z{B=V(c(B,10))?s:c(B,10)}}4(I!==s&&I.1H!=1G){d D=/^\\-\\=/.O(I),C=/^\\+\\=/.O(I);4(D||C){I=3.o(i,"y")+c(I.1F(D?"=":"+=",""),10)}Z{I=V(c(I,10))?s:c(I,10)}}4(H.l!="z"&&B!==s){4(H.g.x){B=q.t(B/H.g.x)*H.g.x}B=3.r(B,"x");B=3.14(B,"x");B=3.13(B,"x");H.M?3.7.18().M({h:B},(q.1E(c(3.7.p("h"))-B))*(!V(c(H.M))?H.M:5)):3.7.p({h:B})}4(H.l!="1l"&&I!==s){4(H.g.y){I=q.t(I/H.g.y)*H.g.y}I=3.r(I,"y");I=3.14(I,"y");I=3.13(I,"y");H.M?3.7.18().M({f:I},(q.1E(c(3.7.p("f"))-I))*(!V(c(H.M))?H.M:5)):3.7.p({f:I})}4(3.u){3.1a()}3.7.U("Q").19={x:q.t(3.w(B,"x"))||0,y:q.t(3.w(I,"y"))||0};4(!G){3.N("1k",i);3.N("18",i);3.N("1D",i);3.N("17",i)}}});A.k.n.2g="o";A.k.n.2f={9:".k-n-9",1C:1,M:P}})(2e)',62,179,'|||this|if||function|currentHandle|options|handle||return|parseInt|var|element|top|stepping|left|null|min|ui|axis|max|slider|value|css|Math|_translateValue|undefined|round|rangeElement|true|_convertValue|||vertical||||||||||height|width|offset|animate|_propagate|test|false|mouse|previousHandle|actualSize|realMax|data|isNaN|_focus|_handleSize|steps|else||length|bind|_translateRange|_translateLimits|moveTo|each|slide|stop|sliderValue|_updateRange|pageX|pageY|firstValue|_oneStep|handles|range|addClass|35|call|start|horizontal|outerHeight|outerWidth|clickOffset|_drag|handleOffset|disabled|remove|div|_createRange|40|37|_initBoundaries|firstChild|id|generated|unwrap|distance|change|abs|replace|Number|constructor|_stop|_start|_pageStep|_handleIndex|_getRange|_removeRange|appendTo|offsetWidth|offsetHeight|_click|active|removeClass|_blur|focus|parent|39|38|34|36|_keydown|100|extend|startValue|trigger|apply|mousedown|blur|none|prototype|_setData|widget|fn|jQuery|defaults|getter|Height|Width|index|absolute|position|target|33|keyCode|noKeyboard|keydown|click|border|outline|style|href|wrap|new|_mouseDown|_mouseCapture|_mouseDrag|_mouseStop|_mouseStart|_mouseInit|attr|map|_init|arguments|_mouseDestroy|unbind|removeData|destroy|triggerHandler|plugin|both|plugins|after|eq|parents'.split('|'),0,{})) + Index: lams_central/web/includes/javascript/jquery-ui/ui/packed/ui.sortable.packed.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/packed/Attic/ui.sortable.packed.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/packed/ui.sortable.packed.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,2 @@ +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}('(a(B){a A(E,D){6 C=B.3e.4t&&B.3e.4s<4r;5(E.3d&&!C){e E.3d(D)}5(E.3c){e!!(E.3c(D)&16)}1Y(D=D.1d){5(D==E){e 11}}e Q}B.4q("i.l",B.2u({},B.i.4p,{4o:a(){6 C=4.7;4.W={};4.k.2i("i-l");4.36();4.1b=4.d.t?(/9|2f/).1o(4.d[0].q.f("4n")):Q;4.b=4.k.b();4.4m()},4l:{},i:a(C){e{j:(C||4)["j"],r:(C||4)["r"]||B([]),X:(C||4)["X"],4k:(C||4)["1f"],7:4.7,k:4.k,q:(C||4)["c"],4j:C?C.k:R}},v:a(F,E,C,D){B.i.1i.13(4,F,[E,4.i(C)]);5(!D){4.k.2G(F=="1h"?F:"1h"+F,[E,4.i(C)],4.7[F])}},2t:a(E){6 C=4.2m(E&&E.39);6 D=[];E=E||{};B(C).1u(a(){6 F=(B(4.q||4).2n(E.4i||"38")||"").4h(E.3a||(/(.+)[-=4g](.+)/));5(F){D.1g((E.3b||F[1]+"[]")+"="+(E.3b&&E.3a?F[1]:F[2]))}});e D.4f("&")},2s:a(E){6 C=4.2m(E&&E.39);6 D=[];C.1u(a(){D.1g(B(4).2n(E.2n||"38"))});e D},30:a(L){6 E=4.1f.9,D=E+4.s.o,K=4.1f.8,J=K+4.s.p;6 F=L.9,C=F+L.o,M=L.8,I=M+L.p;6 N=4.b.14.8,H=4.b.14.9;6 G=(K+N)>M&&(K+N)F&&(E+H)L[4.1b?"o":"p"])){e G}U{e(FO&&(L+P)F&&(E+H)N[4.1b?"o":"p"])){5(!G){e Q}5(4.1b){5((E+H)>F&&(E+H)F+N.o/2&&(E+H)O+M/2){e 1}}}}U{5(!(FF&&EC){e 1}}U{5(J>O&&LI){e 2}}}e Q},36:a(){4.2k();4.1M()},2m:a(H){6 D=4;6 C=[];6 F=[];5(4.7.1v&&H){w(6 G=4.7.1v.t-1;G>=0;G--){6 J=B(4.7.1v[G]);w(6 E=J.t-1;E>=0;E--){6 I=B.15(J[E],"l");5(I&&I!=4&&!I.7.1T){F.1g([B.1U(I.7.d)?I.7.d.13(I.k):B(I.7.d,I.k).27(".i-l-j"),I])}}}}F.1g([B.1U(4.7.d)?4.7.d.13(4.k,R,{7:4.7,q:4.c}):B(4.7.d,4.k).27(".i-l-j"),4]);w(6 G=F.t-1;G>=0;G--){F[G][0].1u(a(){C.1g(4)})}e B(C)},2W:a(){6 E=4.c.2X(":15(l-q)");w(6 D=0;D<4.d.t;D++){w(6 C=0;C=0;G--){6 I=B(4.7.1v[G]);w(6 E=I.t-1;E>=0;E--){6 H=B.15(I[E],"l");5(H&&H!=4&&!H.7.1T){F.1g([B.1U(H.7.d)?H.7.d.13(H.k):B(H.7.d,H.k),H]);4.g.1g(H)}}}}w(6 G=F.t-1;G>=0;G--){F[G][0].1u(a(){B.15(4,"l-q",F[G][1]);D.1g({q:B(4),35:F[G][1],o:0,p:0,9:0,8:0})})}},1M:a(D){5(4.u){6 C=4.u.b();4.b.n={8:C.8+4.1F.8,9:C.9+4.1F.9}}w(6 F=4.d.t-1;F>=0;F--){5(4.d[F].35!=4.1t&&4.1t&&4.d[F].q[0]!=4.c[0]){1P}6 E=4.7.34?B(4.7.34,4.d[F].q):4.d[F].q;5(!D){4.d[F].o=E[0].1G;4.d[F].p=E[0].1J}6 G=E.b();4.d[F].9=G.9;4.d[F].8=G.8}5(4.7.2l&&4.7.2l.33){4.7.2l.33.13(4)}U{w(6 F=4.g.t-1;F>=0;F--){6 G=4.g[F].k.b();4.g[F].W.9=G.9;4.g[F].W.8=G.8;4.g[F].W.o=4.g[F].k.2h();4.g[F].W.p=4.g[F].k.2g()}}},4c:a(){4.k.2y("i-l i-l-1T").32("l").4b(".l");4.4a();w(6 C=4.d.t-1;C>=0;C--){4.d[C].q.32("l-q")}},2T:a(E){6 C=E||4,F=C.7;5(!F.r||F.r.49==48){6 D=F.r;F.r={k:a(){6 G=B(h.47(C.c[0].46)).2i(D||"i-l-r")[0];5(!D){G.2b.45="2R";h.V.1N(G);G.31=C.c[0].31;h.V.44(G)}e G},1C:a(G,H){5(D&&!F.2p){e}5(!H.p()){H.p(C.c.43()-z(C.c.f("42")||0,10)-z(C.c.f("41")||0,10))}5(!H.o()){H.o(C.c.40()-z(C.c.f("3Z")||0,10)-z(C.c.f("3Y")||0,10))}}}}C.r=B(F.r.k.13(C.k,C.c));C.c.n()[0].1N(C.r[0]);C.r[0].1d.2F(C.r[0],C.c[0]);F.r.1C(C,C.r)},2H:a(F){w(6 D=4.g.t-1;D>=0;D--){5(4.30(4.g[D].W)){5(!4.g[D].W.1l){5(4.1t!=4.g[D]){6 I=3X;6 H=R;6 E=4.1f[4.g[D].1b?"9":"8"];w(6 C=4.d.t-1;C>=0;C--){5(!A(4.g[D].k[0],4.d[C].q[0])){1P}6 G=4.d[C][4.g[D].1b?"9":"8"];5(1s.2Z(G-E)=0;F--){4.g[F].v("3J",G,4)}}5(B.i.1e){B.i.1e.3I=4}5(B.i.1e&&!C.2C){B.i.1e.3H(4,G)}4.2w=11;4.2L(G);e 11},2c:a(D,E){5(!E){E=4.X}6 C=D=="1Q"?1:-1;e{8:(E.8+4.b.n.8*C-(4.u[0]==h.V?0:4.u[0].T)*C+4.12.8*C),9:(E.9+4.b.n.9*C-(4.u[0]==h.V?0:4.u[0].S)*C+4.12.9*C)}},1O:a(F){6 G=4.7;6 C={8:(F.1n-4.b.14.8-4.b.n.8+(4.u[0]==h.V?0:4.u[0].T)),9:(F.1m-4.b.14.9-4.b.n.9+(4.u[0]==h.V?0:4.u[0].S))};5(!4.1c){e C}5(4.m){5(C.9<4.m[0]){C.9=4.m[0]}5(C.8<4.m[1]){C.8=4.m[1]}5(C.9>4.m[2]){C.9=4.m[2]}5(C.8>4.m[3]){C.8=4.m[3]}}5(G.19){6 E=4.1c.8+1s.2M((C.8-4.1c.8)/G.19[1])*G.19[1];C.8=4.m?(!(E<4.m[1]||E>4.m[3])?E:(!(E<4.m[1])?E-G.19[1]:E+G.19[1])):E;6 D=4.1c.9+1s.2M((C.9-4.1c.9)/G.19[0])*G.19[0];C.9=4.m?(!(D<4.m[0]||D>4.m[2])?D:(!(D<4.m[0])?D-G.19[0]:D+G.19[0])):D}e C},2L:a(D){4.X=4.1O(D);4.1f=4.2c("1Q");B.i.1i.13(4,"1h",[D,4.i()]);4.1f=4.2c("1Q");4.j[0].2b.9=4.X.9+"2K";4.j[0].2b.8=4.X.8+"2K";w(6 C=4.d.t-1;C>=0;C--){6 E=4.2J(4.d[C]);5(!E){1P}5(4.d[C].q[0]!=4.c[0]&&4.r[E==1?"3G":"1D"]()[0]!=4.d[C].q[0]&&!A(4.r[0],4.d[C].q[0])&&(4.7.2I=="3F-3E"?!A(4.k[0],4.d[C].q[0]):11)){4.2a=4.1O(D);4.2E=E==1?"2D":"3D";4.7.1L.13(4,D,4.d[C]);4.v("29",D);3C}}4.2H(D);5(B.i.1e){B.i.1e.3B(4,D)}4.k.2G("1h",[D,4.i()],4.7["1h"]);e Q},2q:a(H,G,D,F){D?D[0].1N(4.r[0]):G.q[0].1d.2F(4.r[0],(4.2E=="2D"?G.q[0]:G.q[0].3A));4.1E=4.1E?++4.1E:1;6 E=4,C=4.1E;1j.3z(a(){5(C==E.1E){E.1M(!F)}},0)},3y:a(E,D){5(B.i.1e&&!4.7.2C){B.i.1e.3x(4,E)}5(4.7.2B){6 C=4;6 F=C.r.b();B(4.j).3w({9:F.9-4.b.n.9-C.12.9+(4.u[0]==h.V?0:4.u[0].S),8:F.8-4.b.n.8-C.12.8+(4.u[0]==h.V?0:4.u[0].T)},z(4.7.2B,10)||3v,a(){C.28(E)})}U{4.28(E,D)}e Q},28:a(E,D){5(!4.2A){4.r.3u(4.c)}4.2A=R;5(4.7.j=="1B"){4.c.f(4.2z).2y("i-l-j")}U{4.c.3t()}5(4.26.1D!=4.c.1D().27(".i-l-j")[0]||4.26.n!=4.c.n()[0]){4.v("1C",E,R,D)}5(!A(4.k[0],4.c[0])){4.v("25",E,R,D);w(6 C=4.g.t-1;C>=0;C--){5(A(4.g[C].k[0],4.c[0])){4.g[C].v("1C",E,4,D);4.g[C].v("3s",E,4,D)}}}w(6 C=4.g.t-1;C>=0;C--){4.g[C].v("3r",E,4,D);5(4.g[C].W.1l){4.g[C].v("2x",E,4);4.g[C].W.1l=0}}4.2w=Q;5(4.3q){4.v("1z",E,R,D);4.v("2v",E,R,D);e Q}4.v("1z",E,R,D);4.r.25();5(4.7.j!="1B"){4.j.25()}4.j=R;4.v("2v",E,R,D);e 11}}));B.2u(B.i.l,{3p:"2t 2s",3o:{j:"1B",1A:"24",3n:1,3m:0,1p:11,18:20,17:20,3l:":3k",d:"> *",1k:3j,2r:11,23:"n",1L:B.i.l.3i.2q,3h:"3g",2p:Q}});B.i.1i.1w("l","1r",{1y:a(E,D){6 C=B("V");5(C.f("1r")){D.7.22=C.f("1r")}C.f("1r",D.7.1r)},1z:a(D,C){5(C.7.22){B("V").f("1r",C.7.22)}}});B.i.1i.1w("l","1k",{1y:a(E,D){6 C=D.j;5(C.f("1k")){D.7.21=C.f("1k")}C.f("1k",D.7.1k)},1z:a(D,C){5(C.7.21){B(C.j).f("1k",C.7.21)}}});B.i.1i.1w("l","1q",{1y:a(E,D){6 C=D.j;5(C.f("1q")){D.7.1Z=C.f("1q")}C.f("1q",D.7.1q)},1z:a(D,C){5(C.7.1Z){B(C.j).f("1q",C.7.1Z)}}});B.i.1i.1w("l","1p",{1y:a(E,D){6 F=D.7;6 C=B(4).15("l");C.Z=a(G){2o{5(/1K|1p/.1o(G.f("1x"))||(/1K|1p/).1o(G.f("1x-y"))){e G}G=G.n()}1Y(G[0].1d);e B(h)}(C.c);C.Y=a(G){2o{5(/1K|1p/.1o(G.f("1x"))||(/1K|1p/).1o(G.f("1x-x"))){e G}G=G.n()}1Y(G[0].1d);e B(h)}(C.c);5(C.Z[0]!=h&&C.Z[0].1I!="1H"){C.1X=C.Z.b()}5(C.Y[0]!=h&&C.Y[0].1I!="1H"){C.1W=C.Y.b()}},1h:a(E,D){6 F=D.7;6 C=B(4).15("l");5(C.Z[0]!=h&&C.Z[0].1I!="1H"){5((C.1X.8+C.Z[0].1J)-E.1n35?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}('(6(A){A.2I("5.4",{2H:6(){7(A.1s(3.8[0],"4")){i}7(3.a.1O){3.a.1O(3.5(2G))}3.19=0;7(3.a.G.V().N(".")!=-1){m C=3.a.G.V();3.19=C.2F(C.N(".")+1,C.1i).1i}m B=3;3.8.k("5-4-1q").Y("1p","2E");3.l(1a(3.f())?3.a.F:3.f());3.8.2D("<1u>").H().k("5-4").16(\'C;\').1M(".5-4-r").d("1L",6(D){A(3).k("5-4-h");7(!B.c){B.c=1}B.T(L,"t",D)}).d("1K",6(D){A(3).e("5-4-h");7(B.c==1){B.t(D)}B.K(D)}).d("1J",6(D){A(3).e("5-4-h");B.K(D)}).d("1I",6(D){A(3).e("5-4-h");B.t(D)}).d("1h.4",6(E){m D=A.b;7(E.b==D.1H||E.b==D.1G){A(3).k("5-4-h");7(!B.c){B.c=1}B.t.Q(B,E)}M{7(E.b==D.1z||E.b==D.1y){B.8.I(".5-4-v").S()}M{7(E.b==D.1b){B.8.S()}}}}).d("1g.4",6(D){A(3).e("5-4-h");B.c=0;B.n("R",D)}).p().16(\'B;\').1M(".5-4-v").d("1L",6(D){A(3).k("5-4-h");7(!B.c){B.c=1}B.T(L,"s",D)}).d("1K",6(D){A(3).e("5-4-h");7(B.c==1){B.s()}B.K(D)}).d("1J",6(D){A(3).e("5-4-h");B.K(D)}).d("1I",6(D){A(3).e("5-4-h");B.s(D)}).d("1h.4",6(E){m D=A.b;7(E.b==D.1H||E.b==D.1G){A(3).k("5-4-h");7(!B.c){B.c=1}B.s.Q(B,E)}M{7(E.b==D.1A||E.b==D.1b){B.8.I(".5-4-r").S()}}}).d("1g.4",6(D){A(3).e("5-4-h");B.c=0;B.n("R",D)}).p();3.U=3.8.11().1i;7(3.U>1){3.8.k("5-4-12").1F("1E",3.8.18()/3.U).11().k("5-4-1o").p().H().1F("1E",3.8.18()).p();3.a.G=1;3.a.u=0;3.a.q=3.U-1}3.8.d("1h.4",6(D){7(!B.c){B.c=1}i B.1B.Q(B,D)}).d("1g.4",6(D){B.c=0;B.n("R",D)}).d("2A.4",6(D){B.1D()});7(A.1r.13){3.8.13(6(D,E){B.1x(D,E)})}},1f:6(){7(3.a.u!=1c&&3.f()<3.a.u){3.l(3.a.u)}7(3.a.q!=1c&&3.f()>3.a.q){3.l(3.a.q)}},1D:6(){3.l(3.f());3.1f()},1e:6(C,B){7(3.j){i}7(1a(3.f())){3.l(3.a.F)}3.l(3.f()+(C=="r"?1:-1)*(3.a.1m&&3.c>L?(3.c>2z?L:10):1)*3.a.G);3.1v(C);3.1f();7(3.c){3.c++}3.n("14",B)},s:6(B){3.1e("v",B);3.n("v",B)},t:6(B){3.1e("r",B);3.n("r",B)},T:6(C,E,D){m B=3;C=C||L;7(3.J){1d.1C(3.J)}3.J=1d.2y(6(){B[E](D);7(B.c>20){B.T(20,E,D)}},C)},K:6(B){3.c=0;7(3.J){1d.1C(3.J)}3.8[0].S();3.n("R",B)},1B:6(C){m B=A.b;7(C.b==B.1A){3.t(C)}7(C.b==B.1z){3.s(C)}7(C.b==B.2x){3.l(3.a.u||3.a.F)}7(C.b==B.2w&&3.a.q!=1c){3.l(3.a.q)}i(C.b==B.2v||C.b==B.2u||C.b==B.1b||C.b==B.1y||C.b==B.2t||C.b==B.2s||C.b==B.2r||(C.b>=2q&&C.b<=2p)||(/[0-9\\-\\.]/).2o(2n.2m(C.b)))?z:O},1x:6(B,C){C=(A.2l.2k?-C/o.W(C):C);C>0?3.t(B):3.s(B);B.2j()},f:6(){i 1k(3.8.1w().2i(/[^0-9\\-\\.]/g,""))},l:6(B){7(1a(B)){B=3.a.F}3.8.1w(3.a.y?A.5.4.X.y(B,3.a.y):A.5.4.X.1l(B,3.19))},1v:6(B){7(3.8.2h("5-4-12")&&((B=="r"&&3.f()<=3.a.q)||(B=="v"&&3.f()>=3.a.u))){3.8.2g({2f:"-"+3.f()*3.8.18()},{2e:"2d",2c:O})}},1t:6(B){7(!3.8.17("2b")){m C="1u";7(3.8.17("2a")||3.8.17("29")){C="28"}3.8.16("<"+C+\' 15="5-4-1n">\'+B+"")}},27:{},5:6(B){i{a:3.a,8:3.8,26:3.f(),25:3.1t}},n:6(C,B){A.5.24.Q(3,C,[B,3.5()]);i 3.8.23(C=="14"?C:"14"+C,[B,3.5()],3.a[C])},22:6(){7(!A.1s(3.8[0],"4")){i}7(A.1r.13){3.8.21()}3.8.e("5-4-1q 5-4-12").P("j").P("1p").1Z("4").1Y(".4").I().Z().p().11().e("5-4-1o").Z(".5-4-1n").p().H().e("5-4 5-4-j").1X(3.8.1W()).Z().p()},1V:6(){3.8.P("j").I().P("j").H().e("5-4-j");3.j=O},1U:6(){3.8.Y("j",z).I().Y("j",z).H().k("5-4-j");3.j=z}});A.1T(A.5.4,{1S:{G:1,F:0,1m:z,y:O},X:{1l:6(B,C){i 3.x(B,C)},y:6(C,B){i(C!==o.W(C)?"-":"")+B+3.x(o.W(C),2)},x:6(B,D){m C=o.x(1k(B)*o.1j(10,D))/o.1j(10,D);7(D>0){C=C+((C.V().N(".")==-1)?".":"")+"1R";C=C.1Q(0,C.N(".")+1+D)}M{C=o.x(C)}i C}}})})(1P)',62,169,'|||this|spinner|ui|function|if|element||options|keyCode|counter|bind|removeClass|_getValue||pressed|return|disabled|addClass|_setValue|var|_propagate|Math|end|max|up|_down|_up|min|down|button|round|currency|true||||||start|stepping|parent|siblings|timer|_mouseup|100|else|indexOf|false|removeAttr|call|change|focus|_mousedown|_items|toString|abs|format|attr|remove||children|list|mousewheel|spin|class|append|is|outerHeight|_decimals|isNaN|LEFT|undefined|window|_spin|_constrain|keyup|keydown|length|pow|parseFloat|number|incremental|dyn|listitem|autocomplete|box|fn|data|_addItem|div|_animate|val|_mousewheel|RIGHT|DOWN|UP|_keydown|clearInterval|_cleanUp|height|css|ENTER|SPACE|dblclick|mouseout|mouseup|mousedown|find|type|init|jQuery|substr|0000000001|defaults|extend|disable|enable|clone|before|unbind|removeData||unmousewheel|destroy|triggerHandler|plugin|add|value|plugins|li|ul|ol|input|queue|fast|duration|marginTop|animate|hasClass|replace|preventDefault|opera|browser|fromCharCode|String|test|105|96|NUMPAD_SUBTRACT|NUMPAD_DECIMAL|PERIOD|BACKSPACE|TAB|END|HOME|setInterval|200|blur|9660|9650|wrap|off|slice|null|_init|widget'.split('|'),0,{})) + Index: lams_central/web/includes/javascript/jquery-ui/ui/packed/ui.tabs.packed.js =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/includes/javascript/jquery-ui/ui/packed/Attic/ui.tabs.packed.js,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_central/web/includes/javascript/jquery-ui/ui/packed/ui.tabs.packed.js 3 Nov 2008 03:59:26 -0000 1.1 @@ -0,0 +1,2 @@ +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(A){A.35("8.3",{34:4(){2.c.y+=".3";2.1e(1c)},33:4(B,C){5((/^7/).1Z(B)){2.16(C)}m{2.c[B]=C;2.1e()}},j:4(){h 2.$3.j},1E:4(B){h B.23&&B.23.13(/\\s/g,"22").13(/[^A-32-31-9\\-22:\\.]/g,"")||2.c.1Q+A.d(B)},8:4(C,B){h{c:2.c,30:C,1M:B,x:2.$3.x(C)}},1e:4(O){2.$e=A("1i:2Z(a[n])",2.u);2.$3=2.$e.1s(4(){h A("a",2)[0]});2.$b=A([]);6 P=2,D=2.c;2.$3.X(4(R,Q){5(Q.v&&Q.v.13("#","")){P.$b=P.$b.1b(Q.v)}m{5(A(Q).12("n")!="#"){A.d(Q,"n.3",Q.n);A.d(Q,"p.3",Q.n);6 T=P.1E(Q);Q.n="#"+T;6 S=A("#"+T);5(!S.j){S=A(D.1x).12("1f",T).l(D.18).2Y(P.$b[R-1]||P.u);S.d("1a.3",1c)}P.$b=P.$b.1b(S)}m{D.f.1U(R+1)}}});5(O){2.u.l(D.1w);2.$b.X(4(){6 Q=A(2);Q.l(D.18)});5(D.7===1p){5(1J.v){2.$3.X(4(S,Q){5(Q.v==1J.v){D.7=S;5(A.Y.1g||A.Y.2X){6 R=A(1J.v),T=R.12("1f");R.12("1f","");1z(4(){R.12("1f",T)},2W)}2V(0,0);h o}})}m{5(D.t){6 J=2U(A.t("8-3-"+A.d(P.u[0])),10);5(J&&P.$3[J]){D.7=J}}m{5(P.$e.w("."+D.i).j){D.7=P.$e.x(P.$e.w("."+D.i)[0])}}}}D.7=D.7===k||D.7!==1p?D.7:0;D.f=A.2T(D.f.2S(A.1s(2.$e.w("."+D.W),4(R,Q){h P.$e.x(R)}))).1T();5(A.1r(D.7,D.f)!=-1){D.f.2R(A.1r(D.7,D.f),1)}2.$b.l(D.z);2.$e.q(D.i);5(D.7!==k){2.$b.r(D.7).1G().q(D.z);2.$e.r(D.7).l(D.i);6 K=4(){P.V("1G",k,P.8(P.$3[D.7],P.$b[D.7]))};5(A.d(2.$3[D.7],"p.3")){2.p(D.7,K)}m{K()}}A(2Q).15("2P",4(){P.$3.14(".3");P.$e=P.$3=P.$b=k})}m{D.7=2.$e.x(2.$e.w("."+D.i)[0])}5(D.t){A.t("8-3-"+A.d(P.u[0]),D.7,D.t)}2O(6 G=0,N;N=2.$e[G];G++){A(N)[A.1r(G,D.f)!=-1&&!A(N).11(D.i)?"l":"q"](D.W)}5(D.U===o){2.$3.1m("U.3")}6 C,I,B={"2N-2M":0,1I:1},E="2L";5(D.Z&&D.Z.2K==2J){C=D.Z[0]||B,I=D.Z[1]||B}m{C=I=D.Z||B}6 H={1q:"",2I:"",2H:""};5(!A.Y.1g){H.1H=""}4 M(R,Q,S){Q.21(C,C.1I||E,4(){Q.l(D.z).1d(H);5(A.Y.1g&&C.1H){Q[0].20.w=""}5(S){L(R,S,Q)}})}4 L(R,S,Q){5(I===B){S.1d("1q","1D")}S.21(I,I.1I||E,4(){S.q(D.z).1d(H);5(A.Y.1g&&I.1H){S[0].20.w=""}P.V("1G",k,P.8(R,S[0]))})}4 F(R,T,Q,S){T.l(D.i).2G().q(D.i);M(R,Q,S)}2.$3.14(".3").15(D.y,4(){6 T=A(2).2F("1i:r(0)"),Q=P.$b.w(":2E"),S=A(2.v);5((T.11(D.i)&&!D.1h)||T.11(D.W)||A(2).11(D.17)||P.V("16",k,P.8(2,S[0]))===o){2.1t();h o}P.c.7=P.$3.x(2);5(D.1h){5(T.11(D.i)){P.c.7=k;T.q(D.i);P.$b.1F();M(2,Q);2.1t();h o}m{5(!Q.j){P.$b.1F();6 R=2;P.p(P.$3.x(2),4(){T.l(D.i).l(D.1v);L(R,S)});2.1t();h o}}}5(D.t){A.t("8-3-"+A.d(P.u[0]),P.c.7,D.t)}P.$b.1F();5(S.j){6 R=2;P.p(P.$3.x(2),Q.j?4(){F(R,T,Q,S)}:4(){T.l(D.i);L(R,S)})}m{2D"1K 2C 2B: 2A 2z 2y."}5(A.Y.1g){2.1t()}h o});5(!(/^1y/).1Z(D.y)){2.$3.15("1y.3",4(){h o})}},1b:4(E,D,C){5(C==1p){C=2.$3.j}6 G=2.c;6 I=A(G.1P.13(/#\\{n\\}/g,E).13(/#\\{1j\\}/g,D));I.d("1a.3",1c);6 H=E.2x("#")==0?E.13("#",""):2.1E(A("a:2w-2v",I)[0]);6 F=A("#"+H);5(!F.j){F=A(G.1x).12("1f",H).l(G.z).d("1a.3",1c)}F.l(G.18);5(C>=2.$e.j){I.1Y(2.u);F.1Y(2.u[0].2u)}m{I.1X(2.$e[C]);F.1X(2.$b[C])}G.f=A.1s(G.f,4(K,J){h K>=C?++K:K});2.1e();5(2.$3.j==1){I.l(G.i);F.q(G.z);6 B=A.d(2.$3[0],"p.3");5(B){2.p(C,B)}}2.V("1b",k,2.8(2.$3[C],2.$b[C]))},19:4(B){6 D=2.c,E=2.$e.r(B).19(),C=2.$b.r(B).19();5(E.11(D.i)&&2.$3.j>1){2.16(B+(B+1<2.$3.j?1:-1))}D.f=A.1s(A.1W(D.f,4(G,F){h G!=B}),4(G,F){h G>=B?--G:G});2.1e();2.V("19",k,2.8(E.1C("a")[0],C[0]))},1V:4(B){6 C=2.c;5(A.1r(B,C.f)==-1){h}6 D=2.$e.r(B).q(C.W);5(A.Y.2t){D.1d("1q","2s-1D");1z(4(){D.1d("1q","1D")},0)}C.f=A.1W(C.f,4(F,E){h F!=B});2.V("1V",k,2.8(2.$3[B],2.$b[B]))},1S:4(C){6 B=2,D=2.c;5(C!=D.7){2.$e.r(C).l(D.W);D.f.1U(C);D.f.1T();2.V("1S",k,2.8(2.$3[C],2.$b[C]))}},16:4(B){5(2r B=="2q"){B=2.$3.x(2.$3.w("[n$="+B+"]")[0])}2.$3.r(B).2p(2.c.y)},p:4(G,K){6 L=2,D=2.c,E=2.$3.r(G),J=E[0],H=K==1p||K===o,B=E.d("p.3");K=K||4(){};5(!B||!H&&A.d(J,"U.3")){K();h}6 M=4(N){6 O=A(N),P=O.1C("*:2o");h P.j&&P.2n(":2m(2l)")&&P||O};6 C=4(){L.$3.w("."+D.17).q(D.17).X(4(){5(D.1l){M(2).2k().1o(M(2).d("1j.3"))}});L.1n=k};5(D.1l){6 I=M(J).1o();M(J).2j("<1B>").1C("1B").d("1j.3",I).1o(D.1l)}6 F=A.1L({},D.1k,{1R:B,1A:4(O,N){A(J.v).1o(O);C();5(D.U){A.d(J,"U.3",1c)}L.V("p",k,L.8(L.$3[G],L.$b[G]));D.1k.1A&&D.1k.1A(O,N);K()}});5(2.1n){2.1n.2i();C()}E.l(D.17);1z(4(){L.1n=A.2h(F)},0)},1R:4(C,B){2.$3.r(C).1m("U.3").d("p.3",B)},1a:4(){6 B=2.c;2.u.14(".3").q(B.1w).1m("3");2.$3.X(4(){6 C=A.d(2,"n.3");5(C){2.n=C}6 D=A(2).14(".3");A.X(["n","p","U"],4(E,F){D.1m(F+".3")})});2.$e.1b(2.$b).X(4(){5(A.d(2,"1a.3")){A(2).19()}m{A(2).q([B.i,B.1v,B.W,B.18,B.z].2g(" "))}})}});A.8.3.2f={1h:o,y:"1y",f:[],t:k,1l:"2ed;",U:o,1Q:"8-3-",1k:{},Z:k,1P:\'<1i><1O>#{1j}\',1x:"<1N>",1w:"8-3-2c",i:"8-3-7",1v:"8-3-1h",W:"8-3-f",18:"8-3-1M",z:"8-3-2b",17:"8-3-2a"};A.8.3.29="j";A.1L(A.8.3.28,{1u:k,27:4(C,F){F=F||o;6 B=2,E=2.c.7;4 G(){B.1u=26(4(){E=++E