diff --git a/.bowerrc b/.bowerrc new file mode 100644 index 0000000..6866ac2 --- /dev/null +++ b/.bowerrc @@ -0,0 +1,3 @@ +{ + "directory": "vendor" +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a88b536 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +vendor/ +*.komodoproject diff --git a/README.md b/README.md index 3ec034c..900aff4 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,47 @@ # OpenVPN Admin -## Résumé -Administrer son OpenVPN via une interface web (visualisation des logs, modifications des utilisateurs pouvant se connecter...) selon un VPN configuré pour fonctionner avec SQL ([cf article de blog](http://blog.sandrocazzaniga.fr/?p=808)). +## Summary +Administrate its OpenVPN with a web interface (logs visualisations, users managing...) and a SQL database. -![Prévisualisation](/images/screen_adminvpn.png "Prévisualisation de l'interface web") +![Previsualisation](http://lutim.cpy.re/wRzijuCg) -Les configurations ainsi que les scripts d'OpenVPN adaptés à cette interface sont présents dans le dossier openvpn-conf. +## Prerequisite + * GNU/Linux with Bash and root access + * Fresh install of OpenVPN + * Web server (NGinx, Apache...) + * MySQL + * PHP >= 5.5 with modules: + * zip + * pdo_mysql + +## Tests -## Prérequis -Serveur Web (NGinx, Apache...), PHP, SQL (MySQL, Postgre...). +Only tested on Debian Jessie. Feel free to open issues. ## Installation -* Importer les bases SQL via le fichier sql/import.sql -* Supprimer le dossier sql -* Ajouter un administrateur en spécifiant un nom et un mot de passe (hashé avec sha1) - INSERT INTO admin (admin_id, admin_pass) VALUES ("superadmin", SHA1('monmdp')); + * Setup OpenVPN and the web application: -* Copier le fichier include/config.php.example vers include/config.php -* Modifier le fichier config.php en rentrant les identifiants de votre BDD -* Vous pouvez utiliser le dossier openvpn-conf, mais en production le site ne doit pas contenir ce dossier (supprimez le ou déplacez le) + cd ~/my_coding_workspace + git clone https://github.com/Chocobozzz/OpenVPN-Admin openvpn-admin + cd openvpn-admin + ./install.sh www_base_dir web_user web_group -## Notes -Utilisation du projet [SlickGrid](https://github.com/mleibman/SlickGrid) ainsi que de [SlickGridEnhancementPager](https://github.com/kingleema/SlickGridEnhancementPager) pour la pagination. -Utilisation des scripts de [pajhome](http://pajhome.org.uk/crypt/md5/index.html) pour l'algorithme sha1 en JavaScript. + * Setup the web server (Apache, NGinx...) to serve the web application. + * Create the admin of the web application by visiting http://your-installation/index.php?installation + +## Usage + + * Start OpenVPN on the server (for example `systemctl start openvpn@server`) + * Connect to the web application as an admin + * Create an user + * User get the configurations files via the web application + * User run OpenVPN (for example `systemctl start openvpn@client`) + +## Use of + + * [Bootstrap](https://github.com/twbs/bootstrap) + * [SlickGrid](https://github.com/mleibman/SlickGrid) + * [SlickGridEnhancementPager](https://github.com/kingleema/SlickGridEnhancementPager) ([forked](https://github.com/Chocobozzz/SlickGridEnhancementPager/)) + * [js-sha1](https://github.com/emn178/js-sha1) diff --git a/bower.json b/bower.json new file mode 100644 index 0000000..d3daee4 --- /dev/null +++ b/bower.json @@ -0,0 +1,21 @@ +{ + "name": "openvpn-admin", + "version": "0.0.1", + "description": "Setup and administration of openvpn with a web interface", + "dependencies": { + "bootstrap": "^3.3.5", + "slickgrid": "git://github.com/mleibman/SlickGrid.git#master", + "js-sha1": "^0.3.0", + "slickgrid-enhancement-pager": "git://github.com/Chocobozzz/SlickGridEnhancementPager#master" + }, + "keywords": [ + "openvpn", + "admin", + "setup" + ], + "authors": [ + "Florian Bigard " + ], + "license": "GPLv3", + "private": true +} \ No newline at end of file diff --git a/css/dropkick.css b/css/dropkick.css deleted file mode 100644 index 8f33fa1..0000000 --- a/css/dropkick.css +++ /dev/null @@ -1,201 +0,0 @@ -/** - * Default DropKick theme - * - * Feel free to edit the default theme - * or even add your own. - * - * See the readme for themeing help - * - */ - -/***** Begin Theme, feel free to edit in here! ******/ - -/* One container to bind them... */ -.dk_container { - background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f5f5f5)); - background: -moz-linear-gradient(top, #fff, #f5f5f5); - background: -o-linear-gradient(top, #fff, #f5f5f5); - background-color: #f5f5f5; - font-family: 'Helvetica', Arial, sans-serif; - font-size: 12px; - font-weight: bold; - line-height: 14px; - border-radius: 5px; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; -} - .dk_container:focus { - outline: 0; - } - .dk_container a { - cursor: pointer; - text-decoration: none; - } - -/* Opens the dropdown and holds the menu label */ -.dk_toggle { - /** - * Help: Arrow image not appearing - * Try updating this property to your correct dk_arrows.png path - */ - background-image: url('../images/dk_arrows.png'); - background-repeat: no-repeat; - background-position: 90% center; - border: 1px solid #ccc; - color: #333; - margin-top: 2px; - margin-left: 2px; - padding: 4px 2px 2px 4px; - text-shadow: #fff 1px 1px 0; - border-radius: 5px; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - -webkit-transition: border-color .5s; - -moz-transition: border-color .5s; - -o-transition: border-color .5s; - transition: border-color .5s; -} - .dk_toggle:hover { - border-color: #8c8c8c; - } - /* Applied when the dropdown is focused */ - .dk_focus .dk_toggle { - border-color: #40b5e2; - } - .dk_focus .dk_toggle { - box-shadow: 0 0 5px #40b5e2; - -moz-box-shadow: 0 0 5px #40b5e2; - -webkit-box-shadow: 0 0 5px #40b5e2; - } - -/* Applied whenever the dropdown is open */ -.dk_open { - box-shadow: 0 0 5px #40b5e2; - -moz-box-shadow: 0 0 5px #40b5e2; - -webkit-box-shadow: 0 0 5px #40b5e2; - /** - * Help: Dropdown menu is covered by something - * Try setting this value higher - */ - z-index: 10; -} - .dk_open .dk_toggle { - background-color: #ececec; - border-color: #8c8c8c; - color: #ccc; - box-shadow: inset 0 -2px 5px #ccc; - border-radius: 5px 5px 0 0; - -moz-border-radius: 5px 5px 0 0; - -webkit-border-radius: 5px 5px 0 0; - } - -/* The outer container of the options */ -.dk_options { - box-shadow: rgba(0, 0, 0, .2) 0 2px 8px; - -moz-box-shadow: rgba(0, 0, 0, .2) 0 2px 8px; - -webkit-box-shadow: rgba(0, 0, 0, .2) 0 2px 8px; - border-radius: 0 0 5px 5px; - -moz-border-radius: 0 0 5px 5px; - -webkit-border-radius: 0 0 5px 5px; -} - .dk_options a { - background-color: #fff; - border-bottom: 1px solid #999; - font-weight: bold; - padding: 8px 10px; - } - .dk_options li:last-child a { - border-bottom: none; - } - .dk_options a:hover, - .dk_option_current a { - background-color: #0084c7; - border-bottom-color: #004c72; - color: #fff; - text-decoration: none; - text-shadow: rgba(0, 0, 0, .5) 0 1px 0; - } - -/* Inner container for options, this is what makes the scrollbar possible. */ -.dk_options_inner { - border: 1px solid #8c8c8e; - border-bottom-width: 2px; - border-bottom-color: #999; - color: #333; - max-height: 250px; - text-shadow: #fff 0 1px 0; - border-radius: 0 0 5px 5px; - -moz-border-radius: 0 0 5px 5px; - -webkit-border-radius: 0 0 5px 5px; -} - -/* Set a max-height on the options inner */ -.dk_options_inner, -.dk_touch .dk_options { - max-height: 250px; -} - -/****** End Theme ******/ - -/***** Critical to the continued enjoyment of working dropdowns ******/ - -.dk_container { - display: none; - float: left; - position: relative; -} - .dk_container a { - outline: 0; - } - -.dk_toggle { - display: -moz-inline-stack; - display: inline-block; - *display: inline; - position: relative; - zoom: 1; -} - -.dk_open { - position: relative; -} - .dk_open .dk_options { - display: block; - } - .dk_open .dk_label { - color: inherit; - } - -.dk_options { - display: none; - margin-top: -1px; - position: absolute; - right: 0; - width: 100%; -} - .dk_options a, - .dk_options a:link, - .dk_options a:visited { - display: block; - } - .dk_options_inner { - overflow: auto; - position: relative; - } - -.dk_touch .dk_options { - overflow: hidden; -} - -.dk_touch .dk_options_inner { - max-height: none; - overflow: visible; -} - -.dk_fouc select { - position: relative; - top: -99999em; - visibility: hidden; -} - -/***** End Critical to the continued enjoyment of working dropdowns ******/ diff --git a/css/enhancementpager.css b/css/enhancementpager.css deleted file mode 100644 index 83d5704..0000000 --- a/css/enhancementpager.css +++ /dev/null @@ -1,124 +0,0 @@ -.slick-enhancement-pager { - width: 100%; - height: 26px; - border: 1px solid gray; - border-top: 0; - background: url('../images/header-columns-bg.gif') repeat-x center bottom; - vertical-align: middle; - position: relative; -} - -.button-base-class { - display: inline-block; - border: #CCC solid 1px; - margin: 4px; - width:16px; - height:16px; - cursor: pointer; - vertical-align: middle; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; -} - -.resultset_first{ - background: url('../images/resultset_first.png') no-repeat; -} - -.resultset_first:hover{ - background: #CEF url('../images/resultset_first.png') no-repeat; -} - -.resultset_prev{ - background: url('../images/resultset_previous.png') no-repeat; -} - -.resultset_prev:hover{ - background: #CEF url('../images/resultset_previous.png') no-repeat; -} - -.resultset_next{ - background: url('../images/resultset_next.png') no-repeat; -} - -.resultset_next:hover{ - background: #CEF url('../images/resultset_next.png') no-repeat; -} - -.resultset_last{ - background: url('../images/resultset_last.png') no-repeat; -} - -.resultset_last:hover{ - background: #CEF url('../images/resultset_last.png') no-repeat; -} - -.spacer{ - width: 1px; - margin: 4px; - display: inline-block; - background: url('../images/spacer.png') no-repeat; -} - -.refresh{ - background: url('../images/arrow_refresh.png') no-repeat; -} - -.refresh:hover{ - background: #CEF url('../images/arrow_refresh.png') no-repeat; -} - -.dataloading{ - display: inline-block; - margin: 4px; - background: url('../images/ajax-loader.gif') no-repeat; - width:16px; - height:16px; - cursor: pointer; - vertical-align: middle; -} - -.pageplus{ - background: url('../images/pageplus.png') no-repeat; -} - -.pageplus:hover{ - background: #CEF url('../images/pageplus.png') no-repeat; -} - -.pageminus{ - background: url('../images/pageminus.png') no-repeat; -} - -.pageminus:hover{ - background: #CEF url('../images/pageminus.png') no-repeat; -} - -.currentrecords{ - position:absolute;right:0px; - background: url('../images/lightbulb.png') no-repeat; -} - -.currentrecords:hover{ - position:absolute;right:0px; - background: #CEF url('../images/lightbulb.png') no-repeat; -} - -.pagerslider{ - display:inline-block; - width:80px; - margin:4px 9px 4px 4px; - vertical-align: middle; -} - -.recordsperpage{ - display:inline-block; - vertical-align: middle; - width:80px; -} - -.recordstate{ - position:absolute; - top:6px; - right:26px; -} \ No newline at end of file diff --git a/css/index.css b/css/index.css index cb22006..70dd35f 100644 --- a/css/index.css +++ b/css/index.css @@ -1,134 +1,47 @@ -* { - font-family: arial; - font-size: 8pt; -} - body { - background: beige; - padding: 0; - margin: 8px; + margin: auto; + padding: 10px; + + /* Overide jquery ui style with bootstrap */ + font-family: "Helvetica Neue",Helvetica,Arial,sans-serif !important; + font-size: 14px !important; + line-height: 1.42857 !important; + color: #333 !important; } -h2 { - font-size: 10pt; - border-bottom: 1px dotted gray; +a.glyphicon { + color: #333 !important; } -ul { - margin-left: 0; - padding: 0; - cursor: default; +.delete { + cursor: pointer; } -li { - background: url("../images/arrow_right_spearmint.png") no-repeat center left; - padding: 0 0 0 14px; - - list-style: none; - margin: 0; +#header_admin { + margin : 10px; } -.grid:not(#grid_log) { - background: white; - outline: 0; - border: 1px solid gray; - margin-bottom: 20px; +.block-grid { + margin: 20px; } -#pagination { - margin-bottom: 20px; +.grid { + border: 1px solid rgba(0, 0, 0, 0.2); } -.grid-header { - border: 1px solid gray; - border-bottom: 0; - border-top: 0; - background: url('../images/header-bg.gif') repeat-x center top; - color: black; - height: 24px; - line-height: 24px; -} - -.grid-header label { - display: inline-block; +/*.slick-header-column { font-weight: bold; - margin: auto auto auto 6px; + border-bottom: 2px solid rgba(0, 0, 0, 0.2) !important; +}*/ + +/* Fix with slickgrid and bootstrap association */ +.slick-header *, *:before, *.after { + -moz-box-sizing: content-box; + box-sizing: content-box; } -.grid-header .ui-icon { - margin: 4px 4px auto 6px; - background-color: transparent; - border-color: transparent; -} - -.grid-header .ui-icon.ui-state-hover { - background-color: white; -} - -.grid-header #txtSearch { - margin: 0 4px 0 4px; - padding: 2px 2px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - border: 1px solid silver; -} - -.options-panel { - -moz-border-radius: 6px; - -webkit-border-radius: 6px; - border: 1px solid silver; - background: #f0f0f0; - padding: 4px; - margin-bottom: 20px; - width: 320px; - position: absolute; - top: 0px; - left: 650px; -} - -/* Individual cell styles */ -.slick-cell.task-name { - font-weight: bold; - text-align: right; -} - -.slick-cell.task-percent { - text-align: right; -} - -.slick-cell.cell-move-handle { - font-weight: bold; - text-align: right; - border-right: solid gray; - - background: #efefef; - cursor: move; -} - -.cell-move-handle:hover { - background: #b6b9bd; -} - -.slick-row.selected .cell-move-handle { - background: #D5DC8D; -} - -.slick-row .cell-actions { - text-align: left; -} - -.slick-row.complete { - background-color: #DFD; - color: #555; -} - -.percent-complete-bar { - display: inline-block; - height: 6px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; -} +/* Editor */ /* Slick.Editors.Text, Slick.Editors.Date */ input.editor-text { width: 100%; @@ -228,49 +141,4 @@ input.editor-checkbox { height: 100%; padding: 0; border: 0; -} - - -.delete { - cursor: pointer; -} - - -#bloc_connexion { - margin-top: 200px; - text-align: center; -} - -#form_connexion label { - font-weight: bold; - display: inline-block; - width: 100px; - text-align: right; - margin-right: 10px; -} - -#presentation_administrateur { - margin : 10px; -} - - -.cell-title { - font-weight: bold; -} - -.cell-effort-driven { - text-align: center; -} - -.cell-selection { - border-right-color: silver; - border-right-style: solid; - background: #f5f5f5; - color: gray; - text-align: right; - font-size: 10px; -} - -.slick-row.selected .cell-selection { - background-color: transparent; /* show default selected row background */ -} +} \ No newline at end of file diff --git a/css/jquery-ui-1.8.16.custom.css b/css/jquery-ui-1.8.16.custom.css deleted file mode 100644 index d8dc127..0000000 --- a/css/jquery-ui-1.8.16.custom.css +++ /dev/null @@ -1,409 +0,0 @@ -/* - * jQuery UI CSS Framework 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - */ - -/* Layout helpers -----------------------------------*/ -.ui-helper-hidden { display: none; } -.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } -.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } -.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } -.ui-helper-clearfix { display: inline-block; } -/* required comment for clearfix to work in Opera \*/ -* html .ui-helper-clearfix { height:1%; } -.ui-helper-clearfix { display:block; } -/* end clearfix */ -.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } - - -/* Interaction Cues -----------------------------------*/ -.ui-state-disabled { cursor: default !important; } - - -/* Icons -----------------------------------*/ - -/* states and ../images */ -.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } - - -/* Misc visuals -----------------------------------*/ - -/* Overlays */ -.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } - - -/* - * jQuery UI CSS Framework 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - * - * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px - */ - - -/* Component containers -----------------------------------*/ -.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; } -.ui-widget .ui-widget { font-size: 1em; } -.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; } -.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(../images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; } -.ui-widget-content a { color: #222222; } -.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; } -.ui-widget-header a { color: #222222; } - -/* Interaction states -----------------------------------*/ -.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(../images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; } -.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; } -.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada url(../images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; } -.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; } -.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(../images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; } -.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; } -.ui-widget :active { outline: none; } - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(../images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; } -.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } -.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(../images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; } -.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; } -.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; } -.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } -.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } -.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } - -/* Icons -----------------------------------*/ - -/* states and ../images */ -.ui-icon { width: 16px; height: 16px; background-image: url(../images/ui-icons_222222_256x240.png); } -.ui-widget-content .ui-icon {background-image: url(../images/ui-icons_222222_256x240.png); } -.ui-widget-header .ui-icon {background-image: url(../images/ui-icons_222222_256x240.png); } -.ui-state-default .ui-icon { background-image: url(../images/ui-icons_888888_256x240.png); } -.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(../images/ui-icons_454545_256x240.png); } -.ui-state-active .ui-icon {background-image: url(../images/ui-icons_454545_256x240.png); } -.ui-state-highlight .ui-icon {background-image: url(../images/ui-icons_2e83ff_256x240.png); } -.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(../images/ui-icons_cd0a0a_256x240.png); } - -/* positioning */ -.ui-icon-carat-1-n { background-position: 0 0; } -.ui-icon-carat-1-ne { background-position: -16px 0; } -.ui-icon-carat-1-e { background-position: -32px 0; } -.ui-icon-carat-1-se { background-position: -48px 0; } -.ui-icon-carat-1-s { background-position: -64px 0; } -.ui-icon-carat-1-sw { background-position: -80px 0; } -.ui-icon-carat-1-w { background-position: -96px 0; } -.ui-icon-carat-1-nw { background-position: -112px 0; } -.ui-icon-carat-2-n-s { background-position: -128px 0; } -.ui-icon-carat-2-e-w { background-position: -144px 0; } -.ui-icon-triangle-1-n { background-position: 0 -16px; } -.ui-icon-triangle-1-ne { background-position: -16px -16px; } -.ui-icon-triangle-1-e { background-position: -32px -16px; } -.ui-icon-triangle-1-se { background-position: -48px -16px; } -.ui-icon-triangle-1-s { background-position: -64px -16px; } -.ui-icon-triangle-1-sw { background-position: -80px -16px; } -.ui-icon-triangle-1-w { background-position: -96px -16px; } -.ui-icon-triangle-1-nw { background-position: -112px -16px; } -.ui-icon-triangle-2-n-s { background-position: -128px -16px; } -.ui-icon-triangle-2-e-w { background-position: -144px -16px; } -.ui-icon-arrow-1-n { background-position: 0 -32px; } -.ui-icon-arrow-1-ne { background-position: -16px -32px; } -.ui-icon-arrow-1-e { background-position: -32px -32px; } -.ui-icon-arrow-1-se { background-position: -48px -32px; } -.ui-icon-arrow-1-s { background-position: -64px -32px; } -.ui-icon-arrow-1-sw { background-position: -80px -32px; } -.ui-icon-arrow-1-w { background-position: -96px -32px; } -.ui-icon-arrow-1-nw { background-position: -112px -32px; } -.ui-icon-arrow-2-n-s { background-position: -128px -32px; } -.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } -.ui-icon-arrow-2-e-w { background-position: -160px -32px; } -.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } -.ui-icon-arrowstop-1-n { background-position: -192px -32px; } -.ui-icon-arrowstop-1-e { background-position: -208px -32px; } -.ui-icon-arrowstop-1-s { background-position: -224px -32px; } -.ui-icon-arrowstop-1-w { background-position: -240px -32px; } -.ui-icon-arrowthick-1-n { background-position: 0 -48px; } -.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } -.ui-icon-arrowthick-1-e { background-position: -32px -48px; } -.ui-icon-arrowthick-1-se { background-position: -48px -48px; } -.ui-icon-arrowthick-1-s { background-position: -64px -48px; } -.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } -.ui-icon-arrowthick-1-w { background-position: -96px -48px; } -.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } -.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } -.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } -.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } -.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } -.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } -.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } -.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } -.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } -.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } -.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } -.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } -.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } -.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } -.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } -.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } -.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } -.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } -.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } -.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } -.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } -.ui-icon-arrow-4 { background-position: 0 -80px; } -.ui-icon-arrow-4-diag { background-position: -16px -80px; } -.ui-icon-extlink { background-position: -32px -80px; } -.ui-icon-newwin { background-position: -48px -80px; } -.ui-icon-refresh { background-position: -64px -80px; } -.ui-icon-shuffle { background-position: -80px -80px; } -.ui-icon-transfer-e-w { background-position: -96px -80px; } -.ui-icon-transferthick-e-w { background-position: -112px -80px; } -.ui-icon-folder-collapsed { background-position: 0 -96px; } -.ui-icon-folder-open { background-position: -16px -96px; } -.ui-icon-document { background-position: -32px -96px; } -.ui-icon-document-b { background-position: -48px -96px; } -.ui-icon-note { background-position: -64px -96px; } -.ui-icon-mail-closed { background-position: -80px -96px; } -.ui-icon-mail-open { background-position: -96px -96px; } -.ui-icon-suitcase { background-position: -112px -96px; } -.ui-icon-comment { background-position: -128px -96px; } -.ui-icon-person { background-position: -144px -96px; } -.ui-icon-print { background-position: -160px -96px; } -.ui-icon-trash { background-position: -176px -96px; } -.ui-icon-locked { background-position: -192px -96px; } -.ui-icon-unlocked { background-position: -208px -96px; } -.ui-icon-bookmark { background-position: -224px -96px; } -.ui-icon-tag { background-position: -240px -96px; } -.ui-icon-home { background-position: 0 -112px; } -.ui-icon-flag { background-position: -16px -112px; } -.ui-icon-calendar { background-position: -32px -112px; } -.ui-icon-cart { background-position: -48px -112px; } -.ui-icon-pencil { background-position: -64px -112px; } -.ui-icon-clock { background-position: -80px -112px; } -.ui-icon-disk { background-position: -96px -112px; } -.ui-icon-calculator { background-position: -112px -112px; } -.ui-icon-zoomin { background-position: -128px -112px; } -.ui-icon-zoomout { background-position: -144px -112px; } -.ui-icon-search { background-position: -160px -112px; } -.ui-icon-wrench { background-position: -176px -112px; } -.ui-icon-gear { background-position: -192px -112px; } -.ui-icon-heart { background-position: -208px -112px; } -.ui-icon-star { background-position: -224px -112px; } -.ui-icon-link { background-position: -240px -112px; } -.ui-icon-cancel { background-position: 0 -128px; } -.ui-icon-plus { background-position: -16px -128px; } -.ui-icon-plusthick { background-position: -32px -128px; } -.ui-icon-minus { background-position: -48px -128px; } -.ui-icon-minusthick { background-position: -64px -128px; } -.ui-icon-close { background-position: -80px -128px; } -.ui-icon-closethick { background-position: -96px -128px; } -.ui-icon-key { background-position: -112px -128px; } -.ui-icon-lightbulb { background-position: -128px -128px; } -.ui-icon-scissors { background-position: -144px -128px; } -.ui-icon-clipboard { background-position: -160px -128px; } -.ui-icon-copy { background-position: -176px -128px; } -.ui-icon-contact { background-position: -192px -128px; } -.ui-icon-image { background-position: -208px -128px; } -.ui-icon-video { background-position: -224px -128px; } -.ui-icon-script { background-position: -240px -128px; } -.ui-icon-alert { background-position: 0 -144px; } -.ui-icon-info { background-position: -16px -144px; } -.ui-icon-notice { background-position: -32px -144px; } -.ui-icon-help { background-position: -48px -144px; } -.ui-icon-check { background-position: -64px -144px; } -.ui-icon-bullet { background-position: -80px -144px; } -.ui-icon-radio-off { background-position: -96px -144px; } -.ui-icon-radio-on { background-position: -112px -144px; } -.ui-icon-pin-w { background-position: -128px -144px; } -.ui-icon-pin-s { background-position: -144px -144px; } -.ui-icon-play { background-position: 0 -160px; } -.ui-icon-pause { background-position: -16px -160px; } -.ui-icon-seek-next { background-position: -32px -160px; } -.ui-icon-seek-prev { background-position: -48px -160px; } -.ui-icon-seek-end { background-position: -64px -160px; } -.ui-icon-seek-start { background-position: -80px -160px; } -/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ -.ui-icon-seek-first { background-position: -80px -160px; } -.ui-icon-stop { background-position: -96px -160px; } -.ui-icon-eject { background-position: -112px -160px; } -.ui-icon-volume-off { background-position: -128px -160px; } -.ui-icon-volume-on { background-position: -144px -160px; } -.ui-icon-power { background-position: 0 -176px; } -.ui-icon-signal-diag { background-position: -16px -176px; } -.ui-icon-signal { background-position: -32px -176px; } -.ui-icon-battery-0 { background-position: -48px -176px; } -.ui-icon-battery-1 { background-position: -64px -176px; } -.ui-icon-battery-2 { background-position: -80px -176px; } -.ui-icon-battery-3 { background-position: -96px -176px; } -.ui-icon-circle-plus { background-position: 0 -192px; } -.ui-icon-circle-minus { background-position: -16px -192px; } -.ui-icon-circle-close { background-position: -32px -192px; } -.ui-icon-circle-triangle-e { background-position: -48px -192px; } -.ui-icon-circle-triangle-s { background-position: -64px -192px; } -.ui-icon-circle-triangle-w { background-position: -80px -192px; } -.ui-icon-circle-triangle-n { background-position: -96px -192px; } -.ui-icon-circle-arrow-e { background-position: -112px -192px; } -.ui-icon-circle-arrow-s { background-position: -128px -192px; } -.ui-icon-circle-arrow-w { background-position: -144px -192px; } -.ui-icon-circle-arrow-n { background-position: -160px -192px; } -.ui-icon-circle-zoomin { background-position: -176px -192px; } -.ui-icon-circle-zoomout { background-position: -192px -192px; } -.ui-icon-circle-check { background-position: -208px -192px; } -.ui-icon-circlesmall-plus { background-position: 0 -208px; } -.ui-icon-circlesmall-minus { background-position: -16px -208px; } -.ui-icon-circlesmall-close { background-position: -32px -208px; } -.ui-icon-squaresmall-plus { background-position: -48px -208px; } -.ui-icon-squaresmall-minus { background-position: -64px -208px; } -.ui-icon-squaresmall-close { background-position: -80px -208px; } -.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } -.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } -.ui-icon-grip-solid-vertical { background-position: -32px -224px; } -.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } -.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } -.ui-icon-grip-diagonal-se { background-position: -80px -224px; } - - -/* Misc visuals -----------------------------------*/ - -/* Corner radius */ -.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; } -.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; } -.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; } -.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } - -/* Overlays */ -.ui-widget-overlay { background: #aaaaaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); } -.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/* - * jQuery UI Resizable 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Resizable#theming - */ -.ui-resizable { position: relative;} -.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; } -.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } -.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } -.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } -.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } -.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } -.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } -.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } -.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } -.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* - * jQuery UI Selectable 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Selectable#theming - */ -.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } -/* - * jQuery UI Slider 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Slider#theming - */ -.ui-slider { position: relative; text-align: left; } -.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } -.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } - -.ui-slider-horizontal { height: .8em; } -.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } -.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } -.ui-slider-horizontal .ui-slider-range-min { left: 0; } -.ui-slider-horizontal .ui-slider-range-max { right: 0; } - -.ui-slider-vertical { width: .8em; height: 100px; } -.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } -.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } -.ui-slider-vertical .ui-slider-range-min { bottom: 0; } -.ui-slider-vertical .ui-slider-range-max { top: 0; }/* - * jQuery UI Datepicker 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Datepicker#theming - */ -.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } -.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } -.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } -.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } -.ui-datepicker .ui-datepicker-prev { left:2px; } -.ui-datepicker .ui-datepicker-next { right:2px; } -.ui-datepicker .ui-datepicker-prev-hover { left:1px; } -.ui-datepicker .ui-datepicker-next-hover { right:1px; } -.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } -.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } -.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } -.ui-datepicker select.ui-datepicker-month-year {width: 100%;} -.ui-datepicker select.ui-datepicker-month, -.ui-datepicker select.ui-datepicker-year { width: 49%;} -.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } -.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } -.ui-datepicker td { border: 0; padding: 1px; } -.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } -.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } -.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } -.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } - -/* with multiple calendars */ -.ui-datepicker.ui-datepicker-multi { width:auto; } -.ui-datepicker-multi .ui-datepicker-group { float:left; } -.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } -.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } -.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } -.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } -.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } -.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } -.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } -.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; } - -/* RTL support */ -.ui-datepicker-rtl { direction: rtl; } -.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } -.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } -.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } -.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } -.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } -.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } -.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } -.ui-datepicker-rtl .ui-datepicker-group { float:right; } -.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } -.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } - -/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ -.ui-datepicker-cover { - display: none; /*sorry for IE5*/ - display/**/: block; /*sorry for IE5*/ - position: absolute; /*must have*/ - z-index: -1; /*must have*/ - filter: mask(); /*must have*/ - top: -4px; /*must have*/ - left: -4px; /*must have*/ - width: 200px; /*must have*/ - height: 200px; /*must have*/ -} diff --git a/css/min.css b/css/min.css deleted file mode 100644 index ec04923..0000000 --- a/css/min.css +++ /dev/null @@ -1,11 +0,0 @@ -/* This file results from the fusion of the following files : dropkick.css, enhancementpager.css, index.css, jquery-ui-1.8.16.custom.css, slick-default-theme.css, slick.grid.css, */ - - -/* * jQuery UI CSS Framework 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API */ -.dk_container{background:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f5f5f5));background:-moz-linear-gradient(top,#fff,#f5f5f5);background:-o-linear-gradient(top,#fff,#f5f5f5);background-color:#f5f5f5;font-family:'Helvetica',Arial,sans-serif;font-size:12px;font-weight:bold;line-height:14px;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;}.dk_container:focus{outline:0;}.dk_container a{cursor:pointer;text-decoration:none;}.dk_toggle{background-image:url('../images/dk_arrows.png');background-repeat:no-repeat;background-position:90% center;border:1px solid #ccc;color:#333;margin-top:2px;margin-left:2px;padding:4px 2px 2px 4px;text-shadow:#fff 1px 1px 0;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;-webkit-transition:border-color .5s;-moz-transition:border-color .5s;-o-transition:border-color .5s;transition:border-color .5s;}.dk_toggle:hover{border-color:#8c8c8c;}.dk_focus .dk_toggle{border-color:#40b5e2;}.dk_focus .dk_toggle{box-shadow:0 0 5px #40b5e2;-moz-box-shadow:0 0 5px #40b5e2;-webkit-box-shadow:0 0 5px #40b5e2;}.dk_open{box-shadow:0 0 5px #40b5e2;-moz-box-shadow:0 0 5px #40b5e2;-webkit-box-shadow:0 0 5px #40b5e2;z-index:10;}.dk_open .dk_toggle{background-color:#ececec;border-color:#8c8c8c;color:#ccc;box-shadow:inset 0 -2px 5px #ccc;border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;}.dk_options{box-shadow:rgba(0,0,0,.2) 0 2px 8px;-moz-box-shadow:rgba(0,0,0,.2) 0 2px 8px;-webkit-box-shadow:rgba(0,0,0,.2) 0 2px 8px;border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;}.dk_options a{background-color:#fff;border-bottom:1px solid #999;font-weight:bold;padding:8px 10px;}.dk_options li:last-child a{border-bottom:none;}.dk_options a:hover,.dk_option_current a{background-color:#0084c7;border-bottom-color:#004c72;color:#fff;text-decoration:none;text-shadow:rgba(0,0,0,.5) 0 1px 0;}.dk_options_inner{border:1px solid #8c8c8e;border-bottom-width:2px;border-bottom-color:#999;color:#333;max-height:250px;text-shadow:#fff 0 1px 0;border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;}.dk_options_inner,.dk_touch .dk_options{max-height:250px;}.dk_container{display:none;float:left;position:relative;}.dk_container a{outline:0;}.dk_toggle{display:-moz-inline-stack;display:inline-block;*display:inline;position:relative;zoom:1;}.dk_open{position:relative;}.dk_open .dk_options{display:block;}.dk_open .dk_label{color:inherit;}.dk_options{display:none;margin-top:-1px;position:absolute;right:0;width:100%;}.dk_options a,.dk_options a:link,.dk_options a:visited{display:block;}.dk_options_inner{overflow:auto;position:relative;}.dk_touch .dk_options{overflow:hidden;}.dk_touch .dk_options_inner{max-height:none;overflow:visible;}.dk_fouc select{position:relative;top:-99999em;visibility:hidden;}.slick-enhancement-pager{width:100%;height:26px;border:1px solid gray;border-top:0;background:url('../images/header-columns-bg.gif') repeat-x center bottom;vertical-align:middle;position:relative;}.button-base-class{display:inline-block;border:#CCC solid 1px;margin:4px;width:16px;height:16px;cursor:pointer;vertical-align:middle;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;}.resultset_first{background:url('../images/resultset_first.png') no-repeat;}.resultset_first:hover{background:#CEF url('../images/resultset_first.png') no-repeat;}.resultset_prev{background:url('../images/resultset_previous.png') no-repeat;}.resultset_prev:hover{background:#CEF url('../images/resultset_previous.png') no-repeat;}.resultset_next{background:url('../images/resultset_next.png') no-repeat;}.resultset_next:hover{background:#CEF url('../images/resultset_next.png') no-repeat;}.resultset_last{background:url('../images/resultset_last.png') no-repeat;}.resultset_last:hover{background:#CEF url('../images/resultset_last.png') no-repeat;}.spacer{width:1px;margin:4px;display:inline-block;background:url('../images/spacer.png') no-repeat;}.refresh{background:url('../images/arrow_refresh.png') no-repeat;}.refresh:hover{background:#CEF url('../images/arrow_refresh.png') no-repeat;}.dataloading{display:inline-block;margin:4px;background:url('../images/ajax-loader.gif') no-repeat;width:16px;height:16px;cursor:pointer;vertical-align:middle;}.pageplus{background:url('../images/pageplus.png') no-repeat;}.pageplus:hover{background:#CEF url('../images/pageplus.png') no-repeat;}.pageminus{background:url('../images/pageminus.png') no-repeat;}.pageminus:hover{background:#CEF url('../images/pageminus.png') no-repeat;}.currentrecords{position:absolute;right:0px;background:url('../images/lightbulb.png') no-repeat;}.currentrecords:hover{position:absolute;right:0px;background:#CEF url('../images/lightbulb.png') no-repeat;}.pagerslider{display:inline-block;width:80px;margin:4px 9px 4px 4px;vertical-align:middle;}.recordsperpage{display:inline-block;vertical-align:middle;width:80px;}.recordstate{position:absolute;top:6px;right:26px;}*{font-family:arial;font-size:8pt;}body{background:beige;padding:0;margin:8px;}h2{font-size:10pt;border-bottom:1px dotted gray;}ul{margin-left:0;padding:0;cursor:default;}li{background:url("../images/arrow_right_spearmint.png") no-repeat center left;padding:0 0 0 14px;list-style:none;margin:0;}.grid:not(#grid_log){background:white;outline:0;border:1px solid gray;margin-bottom:20px;}#pagination{margin-bottom:20px;}.grid-header{border:1px solid gray;border-bottom:0;border-top:0;background:url('../images/header-bg.gif') repeat-x center top;color:black;height:24px;line-height:24px;}.grid-header label{display:inline-block;font-weight:bold;margin:auto auto auto 6px;}.grid-header .ui-icon{margin:4px 4px auto 6px;background-color:transparent;border-color:transparent;}.grid-header .ui-icon.ui-state-hover{background-color:white;}.grid-header #txtSearch{margin:0 4px 0 4px;padding:2px 2px;-moz-border-radius:2px;-webkit-border-radius:2px;border:1px solid silver;}.options-panel{-moz-border-radius:6px;-webkit-border-radius:6px;border:1px solid silver;background:#f0f0f0;padding:4px;margin-bottom:20px;width:320px;position:absolute;top:0px;left:650px;}.slick-cell.task-name{font-weight:bold;text-align:right;}.slick-cell.task-percent{text-align:right;}.slick-cell.cell-move-handle{font-weight:bold;text-align:right;border-right:solid gray;background:#efefef;cursor:move;}.cell-move-handle:hover{background:#b6b9bd;}.slick-row.selected .cell-move-handle{background:#D5DC8D;}.slick-row .cell-actions{text-align:left;}.slick-row.complete{background-color:#DFD;color:#555;}.percent-complete-bar{display:inline-block;height:6px;-moz-border-radius:3px;-webkit-border-radius:3px;}input.editor-text{width:100%;height:100%;border:0;margin:0;background:transparent;outline:0;padding:0;}.ui-datepicker-trigger{margin-top:2px;padding:0;vertical-align:top;}input.editor-percentcomplete{width:100%;height:100%;border:0;margin:0;background:transparent;outline:0;padding:0;float:left;}.editor-percentcomplete-picker{position:relative;display:inline-block;width:16px;height:100%;background:url("../images/pencil.gif") no-repeat center center;overflow:visible;z-index:1000;float:right;}.editor-percentcomplete-helper{border:0 solid gray;position:absolute;top:-2px;left:-9px;background:url("../images/editor-helper-bg.gif") no-repeat top left;padding-left:9px;width:120px;height:140px;display:none;overflow:visible;}.editor-percentcomplete-wrapper{background:beige;padding:20px 8px;width:100%;height:98px;border:1px solid gray;border-left:0;}.editor-percentcomplete-buttons{float:right;}.editor-percentcomplete-buttons button{width:80px;}.editor-percentcomplete-slider{float:left;}.editor-percentcomplete-picker:hover .editor-percentcomplete-helper{display:block;}.editor-percentcomplete-helper:hover{display:block;}select.editor-yesno{width:100%;margin:0;vertical-align:middle;}input.editor-checkbox{margin:0;height:100%;padding:0;border:0;}.delete{cursor:pointer;}#bloc_connexion{margin-top:200px;text-align:center;}#form_connexion label{font-weight:bold;display:inline-block;width:100px;text-align:right;margin-right:10px;}#presentation_administrateur{margin:10px;}.cell-title{font-weight:bold;}.cell-effort-driven{text-align:center;}.cell-selection{border-right-color:silver;border-right-style:solid;background:#f5f5f5;color:gray;text-align:right;font-size:10px;}.slick-row.selected .cell-selection{background-color:transparent;}.ui-helper-hidden{display:none;}.ui-helper-hidden-accessible{position:absolute !important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none;}.ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}.ui-helper-clearfix{display:inline-block;}* html .ui-helper-clearfix{height:1%;}.ui-helper-clearfix{display:block;}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0);}.ui-state-disabled{cursor:default !important;}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%;}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em;}.ui-widget .ui-widget{font-size:1em;}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em;}.ui-widget-content{border:1px solid #aaaaaa;background:#ffffff url(../images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222222;}.ui-widget-content a{color:#222222;}.ui-widget-header{border:1px solid #aaaaaa;background:#cccccc url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222222;font-weight:bold;}.ui-widget-header a{color:#222222;}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6 url(../images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#555555;}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555555;text-decoration:none;}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #999999;background:#dadada url(../images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121;}.ui-state-hover a,.ui-state-hover a:hover{color:#212121;text-decoration:none;}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaaaaa;background:#ffffff url(../images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121;}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none;}.ui-widget :active{outline:none;}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(../images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636;}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636;}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(../images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a;}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a;}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a;}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold;}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal;}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none;}.ui-icon{width:16px;height:16px;background-image:url(../images/ui-icons_222222_256x240.png);}.ui-widget-content .ui-icon{background-image:url(../images/ui-icons_222222_256x240.png);}.ui-widget-header .ui-icon{background-image:url(../images/ui-icons_222222_256x240.png);}.ui-state-default .ui-icon{background-image:url(../images/ui-icons_888888_256x240.png);}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(../images/ui-icons_454545_256x240.png);}.ui-state-active .ui-icon{background-image:url(../images/ui-icons_454545_256x240.png);}.ui-state-highlight .ui-icon{background-image:url(../images/ui-icons_2e83ff_256x240.png);}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(../images/ui-icons_cd0a0a_256x240.png);}.ui-icon-carat-1-n{background-position:0 0;}.ui-icon-carat-1-ne{background-position:-16px 0;}.ui-icon-carat-1-e{background-position:-32px 0;}.ui-icon-carat-1-se{background-position:-48px 0;}.ui-icon-carat-1-s{background-position:-64px 0;}.ui-icon-carat-1-sw{background-position:-80px 0;}.ui-icon-carat-1-w{background-position:-96px 0;}.ui-icon-carat-1-nw{background-position:-112px 0;}.ui-icon-carat-2-n-s{background-position:-128px 0;}.ui-icon-carat-2-e-w{background-position:-144px 0;}.ui-icon-triangle-1-n{background-position:0 -16px;}.ui-icon-triangle-1-ne{background-position:-16px -16px;}.ui-icon-triangle-1-e{background-position:-32px -16px;}.ui-icon-triangle-1-se{background-position:-48px -16px;}.ui-icon-triangle-1-s{background-position:-64px -16px;}.ui-icon-triangle-1-sw{background-position:-80px -16px;}.ui-icon-triangle-1-w{background-position:-96px -16px;}.ui-icon-triangle-1-nw{background-position:-112px -16px;}.ui-icon-triangle-2-n-s{background-position:-128px -16px;}.ui-icon-triangle-2-e-w{background-position:-144px -16px;}.ui-icon-arrow-1-n{background-position:0 -32px;}.ui-icon-arrow-1-ne{background-position:-16px -32px;}.ui-icon-arrow-1-e{background-position:-32px -32px;}.ui-icon-arrow-1-se{background-position:-48px -32px;}.ui-icon-arrow-1-s{background-position:-64px -32px;}.ui-icon-arrow-1-sw{background-position:-80px -32px;}.ui-icon-arrow-1-w{background-position:-96px -32px;}.ui-icon-arrow-1-nw{background-position:-112px -32px;}.ui-icon-arrow-2-n-s{background-position:-128px -32px;}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px;}.ui-icon-arrow-2-e-w{background-position:-160px -32px;}.ui-icon-arrow-2-se-nw{background-position:-176px -32px;}.ui-icon-arrowstop-1-n{background-position:-192px -32px;}.ui-icon-arrowstop-1-e{background-position:-208px -32px;}.ui-icon-arrowstop-1-s{background-position:-224px -32px;}.ui-icon-arrowstop-1-w{background-position:-240px -32px;}.ui-icon-arrowthick-1-n{background-position:0 -48px;}.ui-icon-arrowthick-1-ne{background-position:-16px -48px;}.ui-icon-arrowthick-1-e{background-position:-32px -48px;}.ui-icon-arrowthick-1-se{background-position:-48px -48px;}.ui-icon-arrowthick-1-s{background-position:-64px -48px;}.ui-icon-arrowthick-1-sw{background-position:-80px -48px;}.ui-icon-arrowthick-1-w{background-position:-96px -48px;}.ui-icon-arrowthick-1-nw{background-position:-112px -48px;}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px;}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px;}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px;}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px;}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px;}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px;}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px;}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px;}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px;}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px;}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px;}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px;}.ui-icon-arrowreturn-1-w{background-position:-64px -64px;}.ui-icon-arrowreturn-1-n{background-position:-80px -64px;}.ui-icon-arrowreturn-1-e{background-position:-96px -64px;}.ui-icon-arrowreturn-1-s{background-position:-112px -64px;}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px;}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px;}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px;}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px;}.ui-icon-arrow-4{background-position:0 -80px;}.ui-icon-arrow-4-diag{background-position:-16px -80px;}.ui-icon-extlink{background-position:-32px -80px;}.ui-icon-newwin{background-position:-48px -80px;}.ui-icon-refresh{background-position:-64px -80px;}.ui-icon-shuffle{background-position:-80px -80px;}.ui-icon-transfer-e-w{background-position:-96px -80px;}.ui-icon-transferthick-e-w{background-position:-112px -80px;}.ui-icon-folder-collapsed{background-position:0 -96px;}.ui-icon-folder-open{background-position:-16px -96px;}.ui-icon-document{background-position:-32px -96px;}.ui-icon-document-b{background-position:-48px -96px;}.ui-icon-note{background-position:-64px -96px;}.ui-icon-mail-closed{background-position:-80px -96px;}.ui-icon-mail-open{background-position:-96px -96px;}.ui-icon-suitcase{background-position:-112px -96px;}.ui-icon-comment{background-position:-128px -96px;}.ui-icon-person{background-position:-144px -96px;}.ui-icon-print{background-position:-160px -96px;}.ui-icon-trash{background-position:-176px -96px;}.ui-icon-locked{background-position:-192px -96px;}.ui-icon-unlocked{background-position:-208px -96px;}.ui-icon-bookmark{background-position:-224px -96px;}.ui-icon-tag{background-position:-240px -96px;}.ui-icon-home{background-position:0 -112px;}.ui-icon-flag{background-position:-16px -112px;}.ui-icon-calendar{background-position:-32px -112px;}.ui-icon-cart{background-position:-48px -112px;}.ui-icon-pencil{background-position:-64px -112px;}.ui-icon-clock{background-position:-80px -112px;}.ui-icon-disk{background-position:-96px -112px;}.ui-icon-calculator{background-position:-112px -112px;}.ui-icon-zoomin{background-position:-128px -112px;}.ui-icon-zoomout{background-position:-144px -112px;}.ui-icon-search{background-position:-160px -112px;}.ui-icon-wrench{background-position:-176px -112px;}.ui-icon-gear{background-position:-192px -112px;}.ui-icon-heart{background-position:-208px -112px;}.ui-icon-star{background-position:-224px -112px;}.ui-icon-link{background-position:-240px -112px;}.ui-icon-cancel{background-position:0 -128px;}.ui-icon-plus{background-position:-16px -128px;}.ui-icon-plusthick{background-position:-32px -128px;}.ui-icon-minus{background-position:-48px -128px;}.ui-icon-minusthick{background-position:-64px -128px;}.ui-icon-close{background-position:-80px -128px;}.ui-icon-closethick{background-position:-96px -128px;}.ui-icon-key{background-position:-112px -128px;}.ui-icon-lightbulb{background-position:-128px -128px;}.ui-icon-scissors{background-position:-144px -128px;}.ui-icon-clipboard{background-position:-160px -128px;}.ui-icon-copy{background-position:-176px -128px;}.ui-icon-contact{background-position:-192px -128px;}.ui-icon-image{background-position:-208px -128px;}.ui-icon-video{background-position:-224px -128px;}.ui-icon-script{background-position:-240px -128px;}.ui-icon-alert{background-position:0 -144px;}.ui-icon-info{background-position:-16px -144px;}.ui-icon-notice{background-position:-32px -144px;}.ui-icon-help{background-position:-48px -144px;}.ui-icon-check{background-position:-64px -144px;}.ui-icon-bullet{background-position:-80px -144px;}.ui-icon-radio-off{background-position:-96px -144px;}.ui-icon-radio-on{background-position:-112px -144px;}.ui-icon-pin-w{background-position:-128px -144px;}.ui-icon-pin-s{background-position:-144px -144px;}.ui-icon-play{background-position:0 -160px;}.ui-icon-pause{background-position:-16px -160px;}.ui-icon-seek-next{background-position:-32px -160px;}.ui-icon-seek-prev{background-position:-48px -160px;}.ui-icon-seek-end{background-position:-64px -160px;}.ui-icon-seek-start{background-position:-80px -160px;}.ui-icon-seek-first{background-position:-80px -160px;}.ui-icon-stop{background-position:-96px -160px;}.ui-icon-eject{background-position:-112px -160px;}.ui-icon-volume-off{background-position:-128px -160px;}.ui-icon-volume-on{background-position:-144px -160px;}.ui-icon-power{background-position:0 -176px;}.ui-icon-signal-diag{background-position:-16px -176px;}.ui-icon-signal{background-position:-32px -176px;}.ui-icon-battery-0{background-position:-48px -176px;}.ui-icon-battery-1{background-position:-64px -176px;}.ui-icon-battery-2{background-position:-80px -176px;}.ui-icon-battery-3{background-position:-96px -176px;}.ui-icon-circle-plus{background-position:0 -192px;}.ui-icon-circle-minus{background-position:-16px -192px;}.ui-icon-circle-close{background-position:-32px -192px;}.ui-icon-circle-triangle-e{background-position:-48px -192px;}.ui-icon-circle-triangle-s{background-position:-64px -192px;}.ui-icon-circle-triangle-w{background-position:-80px -192px;}.ui-icon-circle-triangle-n{background-position:-96px -192px;}.ui-icon-circle-arrow-e{background-position:-112px -192px;}.ui-icon-circle-arrow-s{background-position:-128px -192px;}.ui-icon-circle-arrow-w{background-position:-144px -192px;}.ui-icon-circle-arrow-n{background-position:-160px -192px;}.ui-icon-circle-zoomin{background-position:-176px -192px;}.ui-icon-circle-zoomout{background-position:-192px -192px;}.ui-icon-circle-check{background-position:-208px -192px;}.ui-icon-circlesmall-plus{background-position:0 -208px;}.ui-icon-circlesmall-minus{background-position:-16px -208px;}.ui-icon-circlesmall-close{background-position:-32px -208px;}.ui-icon-squaresmall-plus{background-position:-48px -208px;}.ui-icon-squaresmall-minus{background-position:-64px -208px;}.ui-icon-squaresmall-close{background-position:-80px -208px;}.ui-icon-grip-dotted-vertical{background-position:0 -224px;}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px;}.ui-icon-grip-solid-vertical{background-position:-32px -224px;}.ui-icon-grip-solid-horizontal{background-position:-48px -224px;}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px;}.ui-icon-grip-diagonal-se{background-position:-80px -224px;}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px;}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-khtml-border-top-right-radius:4px;border-top-right-radius:4px;}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px;}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-khtml-border-bottom-right-radius:4px;border-bottom-right-radius:4px;}.ui-widget-overlay{background:#aaaaaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.30;filter:Alpha(Opacity=30);}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaaaaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.30;filter:Alpha(Opacity=30);-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;}.ui-resizable{position:relative;}.ui-resizable-handle{position:absolute;font-size:0.1px;z-index:99999;display:block;}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none;}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0;}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0;}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%;}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%;}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px;}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px;}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px;}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px;}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black;}.ui-slider{position:relative;text-align:left;}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0;}.ui-slider-horizontal{height:.8em;}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em;}.ui-slider-horizontal .ui-slider-range{top:0;height:100%;}.ui-slider-horizontal .ui-slider-range-min{left:0;}.ui-slider-horizontal .ui-slider-range-max{right:0;}.ui-slider-vertical{width:.8em;height:100px;}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em;}.ui-slider-vertical .ui-slider-range{left:0;width:100%;}.ui-slider-vertical .ui-slider-range-min{bottom:0;}.ui-slider-vertical .ui-slider-range-max{top:0;}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none;}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0;}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em;}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px;}.ui-datepicker .ui-datepicker-prev{left:2px;}.ui-datepicker .ui-datepicker-next{right:2px;}.ui-datepicker .ui-datepicker-prev-hover{left:1px;}.ui-datepicker .ui-datepicker-next-hover{right:1px;}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px;}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center;}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0;}.ui-datepicker select.ui-datepicker-month-year{width:100%;}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%;}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em;}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0;}.ui-datepicker td{border:0;padding:1px;}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none;}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0;}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible;}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left;}.ui-datepicker.ui-datepicker-multi{width:auto;}.ui-datepicker-multi .ui-datepicker-group{float:left;}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em;}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%;}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%;}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%;}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header{border-left-width:0;}.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0;}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left;}.ui-datepicker-row-break{clear:both;width:100%;font-size:0em;}.ui-datepicker-rtl{direction:rtl;}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto;}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto;}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto;}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto;}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right;}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left;}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current{float:right;}.ui-datepicker-rtl .ui-datepicker-group{float:right;}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header{border-right-width:0;border-left-width:1px;}.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px;}.ui-datepicker-cover{display:none;display:block;position:absolute;z-index:-1;filter:mask();top:-4px;left:-4px;width:200px;height:200px;}.slick-header-columns{background:url('../images/header-columns-bg.gif') repeat-x center bottom;border-bottom:1px solid silver;}.slick-header-column{background:url('../images/header-columns-bg.gif') repeat-x center bottom;border-right:1px solid silver;}.slick-header-column:hover,.slick-header-column-active{background:white url('../images/header-columns-over-bg.gif') repeat-x center bottom;}.slick-headerrow{background:#fafafa;}.slick-headerrow-column{background:#fafafa;border-bottom:0;height:100%;}.slick-row.ui-state-active{background:#F5F7D7;}.slick-row{position:absolute;background:white;border:0px;line-height:20px;}.slick-row.selected{z-index:10;background:#DFE8F6;}.slick-cell{padding-left:4px;padding-right:4px;}.slick-group{border-bottom:2px solid silver;}.slick-group-toggle{width:9px;height:9px;margin-right:5px;}.slick-group-toggle.expanded{background:url(../images/collapse.gif) no-repeat center center;}.slick-group-toggle.collapsed{background:url(../images/expand.gif) no-repeat center center;}.slick-group-totals{color:gray;background:white;}.slick-cell.selected{background-color:beige;}.slick-cell.active{border-color:gray;border-style:solid;}.slick-sortable-placeholder{background:silver !important;}.slick-row.odd{background:#fafafa;}.slick-row.ui-state-active{background:#F5F7D7;}.slick-row.loading{opacity:0.5;filter:alpha(opacity = 50);}.slick-cell.invalid{border-color:red;-moz-animation-duration:0.2s;-webkit-animation-duration:0.2s;-moz-animation-name:slickgrid-invalid-hilite;-webkit-animation-name:slickgrid-invalid-hilite;}@-moz-keyframesslickgrid-invalid-hilite{from{box-shadow:0 0 6px red;}to{box-shadow:none;}}@-webkit-keyframesslickgrid-invalid-hilite{from{box-shadow:0 0 6px red;}to{box-shadow:none;}}.slick-header.ui-state-default,.slick-headerrow.ui-state-default{width:100%;overflow:hidden;border-left:0px;}.slick-header-columns,.slick-headerrow-columns{position:relative;white-space:nowrap;cursor:default;overflow:hidden;}.slick-header-column.ui-state-default{position:relative;display:inline-block;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;height:16px;line-height:16px;margin:0;padding:4px;border-right:1px solid silver;border-left:0px;border-top:0px;border-bottom:0px;float:left;}.slick-headerrow-column.ui-state-default{padding:4px;}.slick-header-column-sorted{font-style:italic;}.slick-sort-indicator{display:inline-block;width:8px;height:5px;margin-left:4px;margin-top:6px;float:left;}.slick-sort-indicator-desc{background:url(images/sort-desc.gif);}.slick-sort-indicator-asc{background:url(images/sort-asc.gif);}.slick-resizable-handle{position:absolute;font-size:0.1px;display:block;cursor:col-resize;width:4px;right:0px;top:0;height:100%;}.slick-sortable-placeholder{background:silver;}.grid-canvas{position:relative;outline:0;}.slick-row.ui-widget-content,.slick-row.ui-state-active{position:absolute;border:0px;width:100%;}.slick-cell,.slick-headerrow-column{position:absolute;border:1px solid transparent;border-right:1px dotted silver;border-bottom-color:silver;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;vertical-align:middle;z-index:1;padding:1px 2px 2px 1px;margin:0;white-space:nowrap;cursor:default;}.slick-group{}.slick-group-toggle{display:inline-block;}.slick-cell.highlighted{background:lightskyblue;background:rgba(0,0,255,0.2);-webkit-transition:all 0.5s;-moz-transition:all 0.5s;-o-transition:all 0.5s;transition:all 0.5s;}.slick-cell.flashing{border:1px solid red !important;}.slick-cell.editable{z-index:11;overflow:visible;background:white;border-color:black;border-style:solid;}.slick-cell:focus{outline:none;}.slick-reorder-proxy{display:inline-block;background:blue;opacity:0.15;filter:alpha(opacity = 15);cursor:move;}.slick-reorder-guide{display:inline-block;height:2px;background:blue;opacity:0.7;filter:alpha(opacity = 70);}.slick-selection{z-index:10;position:absolute;border:2px dashed black;} \ No newline at end of file diff --git a/css/slick-default-theme.css b/css/slick-default-theme.css deleted file mode 100644 index 3b6601b..0000000 --- a/css/slick-default-theme.css +++ /dev/null @@ -1,118 +0,0 @@ -/* -IMPORTANT: -In order to preserve the uniform grid appearance, all cell styles need to have padding, margin and border sizes. -No built-in (selected, editable, highlight, flashing, invalid, loading, :focus) or user-specified CSS -classes should alter those! -*/ - -.slick-header-columns { - background: url('../images/header-columns-bg.gif') repeat-x center bottom; - border-bottom: 1px solid silver; -} - -.slick-header-column { - background: url('../images/header-columns-bg.gif') repeat-x center bottom; - border-right: 1px solid silver; -} - -.slick-header-column:hover, .slick-header-column-active { - background: white url('../images/header-columns-over-bg.gif') repeat-x center bottom; -} - -.slick-headerrow { - background: #fafafa; -} - -.slick-headerrow-column { - background: #fafafa; - border-bottom: 0; - height: 100%; -} - -.slick-row.ui-state-active { - background: #F5F7D7; -} - -.slick-row { - position: absolute; - background: white; - border: 0px; - line-height: 20px; -} - -.slick-row.selected { - z-index: 10; - background: #DFE8F6; -} - -.slick-cell { - padding-left: 4px; - padding-right: 4px; -} - -.slick-group { - border-bottom: 2px solid silver; -} - -.slick-group-toggle { - width: 9px; - height: 9px; - margin-right: 5px; -} - -.slick-group-toggle.expanded { - background: url(../images/collapse.gif) no-repeat center center; -} - -.slick-group-toggle.collapsed { - background: url(../images/expand.gif) no-repeat center center; -} - -.slick-group-totals { - color: gray; - background: white; -} - -.slick-cell.selected { - background-color: beige; -} - -.slick-cell.active { - border-color: gray; - border-style: solid; -} - -.slick-sortable-placeholder { - background: silver !important; -} - -.slick-row.odd { - background: #fafafa; -} - -.slick-row.ui-state-active { - background: #F5F7D7; -} - -.slick-row.loading { - opacity: 0.5; - filter: alpha(opacity = 50); -} - -.slick-cell.invalid { - border-color: red; - -moz-animation-duration: 0.2s; - -webkit-animation-duration: 0.2s; - -moz-animation-name: slickgrid-invalid-hilite; - -webkit-animation-name: slickgrid-invalid-hilite; -} - -@-moz-keyframes slickgrid-invalid-hilite { - from { box-shadow: 0 0 6px red; } - to { box-shadow: none; } -} - -@-webkit-keyframes slickgrid-invalid-hilite { - from { box-shadow: 0 0 6px red; } - to { box-shadow: none; } -} diff --git a/css/slick.grid.css b/css/slick.grid.css deleted file mode 100644 index 6a416db..0000000 --- a/css/slick.grid.css +++ /dev/null @@ -1,157 +0,0 @@ -/* -IMPORTANT: -In order to preserve the uniform grid appearance, all cell styles need to have padding, margin and border sizes. -No built-in (selected, editable, highlight, flashing, invalid, loading, :focus) or user-specified CSS -classes should alter those! -*/ - -.slick-header.ui-state-default, .slick-headerrow.ui-state-default { - width: 100%; - overflow: hidden; - border-left: 0px; -} - -.slick-header-columns, .slick-headerrow-columns { - position: relative; - white-space: nowrap; - cursor: default; - overflow: hidden; -} - -.slick-header-column.ui-state-default { - position: relative; - display: inline-block; - overflow: hidden; - -o-text-overflow: ellipsis; - text-overflow: ellipsis; - height: 16px; - line-height: 16px; - margin: 0; - padding: 4px; - border-right: 1px solid silver; - border-left: 0px; - border-top: 0px; - border-bottom: 0px; - float: left; -} - -.slick-headerrow-column.ui-state-default { - padding: 4px; -} - -.slick-header-column-sorted { - font-style: italic; -} - -.slick-sort-indicator { - display: inline-block; - width: 8px; - height: 5px; - margin-left: 4px; - margin-top: 6px; - float: left; -} - -.slick-sort-indicator-desc { - background: url(images/sort-desc.gif); -} - -.slick-sort-indicator-asc { - background: url(images/sort-asc.gif); -} - -.slick-resizable-handle { - position: absolute; - font-size: 0.1px; - display: block; - cursor: col-resize; - width: 4px; - right: 0px; - top: 0; - height: 100%; -} - -.slick-sortable-placeholder { - background: silver; -} - -.grid-canvas { - position: relative; - outline: 0; -} - -.slick-row.ui-widget-content, .slick-row.ui-state-active { - position: absolute; - border: 0px; - width: 100%; -} - -.slick-cell, .slick-headerrow-column { - position: absolute; - border: 1px solid transparent; - border-right: 1px dotted silver; - border-bottom-color: silver; - overflow: hidden; - -o-text-overflow: ellipsis; - text-overflow: ellipsis; - vertical-align: middle; - z-index: 1; - padding: 1px 2px 2px 1px; - margin: 0; - white-space: nowrap; - cursor: default; -} - -.slick-group { -} - -.slick-group-toggle { - display: inline-block; -} - -.slick-cell.highlighted { - background: lightskyblue; - background: rgba(0, 0, 255, 0.2); - -webkit-transition: all 0.5s; - -moz-transition: all 0.5s; - -o-transition: all 0.5s; - transition: all 0.5s; -} - -.slick-cell.flashing { - border: 1px solid red !important; -} - -.slick-cell.editable { - z-index: 11; - overflow: visible; - background: white; - border-color: black; - border-style: solid; -} - -.slick-cell:focus { - outline: none; -} - -.slick-reorder-proxy { - display: inline-block; - background: blue; - opacity: 0.15; - filter: alpha(opacity = 15); - cursor: move; -} - -.slick-reorder-guide { - display: inline-block; - height: 2px; - background: blue; - opacity: 0.7; - filter: alpha(opacity = 70); -} - -.slick-selection { - z-index: 10; - position: absolute; - border: 2px dashed black; -} diff --git a/images/actions.gif b/images/actions.gif deleted file mode 100644 index 026dd10..0000000 Binary files a/images/actions.gif and /dev/null differ diff --git a/images/ajax-loader-small.gif b/images/ajax-loader-small.gif deleted file mode 100644 index 5b33f7e..0000000 Binary files a/images/ajax-loader-small.gif and /dev/null differ diff --git a/images/ajax-loader.gif b/images/ajax-loader.gif deleted file mode 100644 index 70235ac..0000000 Binary files a/images/ajax-loader.gif and /dev/null differ diff --git a/images/arrow_redo.png b/images/arrow_redo.png deleted file mode 100644 index 4f7f55d..0000000 Binary files a/images/arrow_redo.png and /dev/null differ diff --git a/images/arrow_refresh.png b/images/arrow_refresh.png deleted file mode 100644 index 0de2656..0000000 Binary files a/images/arrow_refresh.png and /dev/null differ diff --git a/images/arrow_right_peppermint.png b/images/arrow_right_peppermint.png deleted file mode 100644 index 8722567..0000000 Binary files a/images/arrow_right_peppermint.png and /dev/null differ diff --git a/images/arrow_right_spearmint.png b/images/arrow_right_spearmint.png deleted file mode 100644 index 277ddde..0000000 Binary files a/images/arrow_right_spearmint.png and /dev/null differ diff --git a/images/arrow_undo.png b/images/arrow_undo.png deleted file mode 100644 index bc9924a..0000000 Binary files a/images/arrow_undo.png and /dev/null differ diff --git a/images/bullet_blue.png b/images/bullet_blue.png deleted file mode 100644 index 79d978c..0000000 Binary files a/images/bullet_blue.png and /dev/null differ diff --git a/images/bullet_star.png b/images/bullet_star.png deleted file mode 100644 index 142ea48..0000000 Binary files a/images/bullet_star.png and /dev/null differ diff --git a/images/bullet_toggle_minus.png b/images/bullet_toggle_minus.png deleted file mode 100644 index f5aa045..0000000 Binary files a/images/bullet_toggle_minus.png and /dev/null differ diff --git a/images/bullet_toggle_plus.png b/images/bullet_toggle_plus.png deleted file mode 100644 index a965053..0000000 Binary files a/images/bullet_toggle_plus.png and /dev/null differ diff --git a/images/calendar.gif b/images/calendar.gif deleted file mode 100644 index 90fd2e1..0000000 Binary files a/images/calendar.gif and /dev/null differ diff --git a/images/collapse.gif b/images/collapse.gif deleted file mode 100644 index 01e6914..0000000 Binary files a/images/collapse.gif and /dev/null differ diff --git a/images/comment_yellow.gif b/images/comment_yellow.gif deleted file mode 100644 index df7158a..0000000 Binary files a/images/comment_yellow.gif and /dev/null differ diff --git a/images/dk_arrows.png b/images/dk_arrows.png deleted file mode 100644 index 9454513..0000000 Binary files a/images/dk_arrows.png and /dev/null differ diff --git a/images/dk_arrows_white.png b/images/dk_arrows_white.png deleted file mode 100644 index f1a31f0..0000000 Binary files a/images/dk_arrows_white.png and /dev/null differ diff --git a/images/down.gif b/images/down.gif deleted file mode 100644 index 9bd9447..0000000 Binary files a/images/down.gif and /dev/null differ diff --git a/images/drag-handle.png b/images/drag-handle.png deleted file mode 100644 index ad7531c..0000000 Binary files a/images/drag-handle.png and /dev/null differ diff --git a/images/drop.png b/images/drop.png deleted file mode 100644 index ad0ca7d..0000000 Binary files a/images/drop.png and /dev/null differ diff --git a/images/editor-helper-bg.gif b/images/editor-helper-bg.gif deleted file mode 100644 index 2daa973..0000000 Binary files a/images/editor-helper-bg.gif and /dev/null differ diff --git a/images/expand.gif b/images/expand.gif deleted file mode 100644 index 1b24ef1..0000000 Binary files a/images/expand.gif and /dev/null differ diff --git a/images/header-bg.gif b/images/header-bg.gif deleted file mode 100644 index fe7dd1c..0000000 Binary files a/images/header-bg.gif and /dev/null differ diff --git a/images/header-columns-bg.gif b/images/header-columns-bg.gif deleted file mode 100644 index 8d459a3..0000000 Binary files a/images/header-columns-bg.gif and /dev/null differ diff --git a/images/header-columns-over-bg.gif b/images/header-columns-over-bg.gif deleted file mode 100644 index f9c07af..0000000 Binary files a/images/header-columns-over-bg.gif and /dev/null differ diff --git a/images/help.png b/images/help.png deleted file mode 100644 index 85eca09..0000000 Binary files a/images/help.png and /dev/null differ diff --git a/images/info.gif b/images/info.gif deleted file mode 100644 index 5769434..0000000 Binary files a/images/info.gif and /dev/null differ diff --git a/images/lightbulb.png b/images/lightbulb.png deleted file mode 100644 index 25d7900..0000000 Binary files a/images/lightbulb.png and /dev/null differ diff --git a/images/listview.gif b/images/listview.gif deleted file mode 100644 index 3ec25ca..0000000 Binary files a/images/listview.gif and /dev/null differ diff --git a/images/pageminus.png b/images/pageminus.png deleted file mode 100644 index bdcbf04..0000000 Binary files a/images/pageminus.png and /dev/null differ diff --git a/images/pageplus.png b/images/pageplus.png deleted file mode 100644 index 46f5530..0000000 Binary files a/images/pageplus.png and /dev/null differ diff --git a/images/pencil.gif b/images/pencil.gif deleted file mode 100644 index 29f78f4..0000000 Binary files a/images/pencil.gif and /dev/null differ diff --git a/images/resultset_first.png b/images/resultset_first.png deleted file mode 100644 index b03eaf8..0000000 Binary files a/images/resultset_first.png and /dev/null differ diff --git a/images/resultset_last.png b/images/resultset_last.png deleted file mode 100644 index 8ec8947..0000000 Binary files a/images/resultset_last.png and /dev/null differ diff --git a/images/resultset_next.png b/images/resultset_next.png deleted file mode 100644 index e252606..0000000 Binary files a/images/resultset_next.png and /dev/null differ diff --git a/images/resultset_previous.png b/images/resultset_previous.png deleted file mode 100644 index 18f9cc1..0000000 Binary files a/images/resultset_previous.png and /dev/null differ diff --git a/images/row-over-bg.gif b/images/row-over-bg.gif deleted file mode 100644 index b288e38..0000000 Binary files a/images/row-over-bg.gif and /dev/null differ diff --git a/images/screen_adminvpn.png b/images/screen_adminvpn.png deleted file mode 100644 index 937f975..0000000 Binary files a/images/screen_adminvpn.png and /dev/null differ diff --git a/images/sort-asc.gif b/images/sort-asc.gif deleted file mode 100644 index 67a2a4c..0000000 Binary files a/images/sort-asc.gif and /dev/null differ diff --git a/images/sort-asc.png b/images/sort-asc.png deleted file mode 100644 index 8604ff4..0000000 Binary files a/images/sort-asc.png and /dev/null differ diff --git a/images/sort-desc.gif b/images/sort-desc.gif deleted file mode 100644 index 34db47c..0000000 Binary files a/images/sort-desc.gif and /dev/null differ diff --git a/images/sort-desc.png b/images/sort-desc.png deleted file mode 100644 index a2a6adf..0000000 Binary files a/images/sort-desc.png and /dev/null differ diff --git a/images/spacer.png b/images/spacer.png deleted file mode 100644 index 1c7c520..0000000 Binary files a/images/spacer.png and /dev/null differ diff --git a/images/stripes.png b/images/stripes.png deleted file mode 100644 index c3c4b28..0000000 Binary files a/images/stripes.png and /dev/null differ diff --git a/images/tag_red.png b/images/tag_red.png deleted file mode 100644 index d290fcd..0000000 Binary files a/images/tag_red.png and /dev/null differ diff --git a/images/tick.png b/images/tick.png deleted file mode 100644 index 3899d71..0000000 Binary files a/images/tick.png and /dev/null differ diff --git a/images/ui-bg_flat_0_aaaaaa_40x100.png b/images/ui-bg_flat_0_aaaaaa_40x100.png deleted file mode 100644 index 5b5dab2..0000000 Binary files a/images/ui-bg_flat_0_aaaaaa_40x100.png and /dev/null differ diff --git a/images/ui-bg_flat_75_ffffff_40x100.png b/images/ui-bg_flat_75_ffffff_40x100.png deleted file mode 100644 index ac8b229..0000000 Binary files a/images/ui-bg_flat_75_ffffff_40x100.png and /dev/null differ diff --git a/images/ui-bg_glass_55_fbf9ee_1x400.png b/images/ui-bg_glass_55_fbf9ee_1x400.png deleted file mode 100644 index ad3d634..0000000 Binary files a/images/ui-bg_glass_55_fbf9ee_1x400.png and /dev/null differ diff --git a/images/ui-bg_glass_65_ffffff_1x400.png b/images/ui-bg_glass_65_ffffff_1x400.png deleted file mode 100644 index 42ccba2..0000000 Binary files a/images/ui-bg_glass_65_ffffff_1x400.png and /dev/null differ diff --git a/images/ui-bg_glass_75_dadada_1x400.png b/images/ui-bg_glass_75_dadada_1x400.png deleted file mode 100644 index 5a46b47..0000000 Binary files a/images/ui-bg_glass_75_dadada_1x400.png and /dev/null differ diff --git a/images/ui-bg_glass_75_e6e6e6_1x400.png b/images/ui-bg_glass_75_e6e6e6_1x400.png deleted file mode 100644 index 86c2baa..0000000 Binary files a/images/ui-bg_glass_75_e6e6e6_1x400.png and /dev/null differ diff --git a/images/ui-bg_glass_95_fef1ec_1x400.png b/images/ui-bg_glass_95_fef1ec_1x400.png deleted file mode 100644 index 4443fdc..0000000 Binary files a/images/ui-bg_glass_95_fef1ec_1x400.png and /dev/null differ diff --git a/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/images/ui-bg_highlight-soft_75_cccccc_1x100.png deleted file mode 100644 index 7c9fa6c..0000000 Binary files a/images/ui-bg_highlight-soft_75_cccccc_1x100.png and /dev/null differ diff --git a/images/ui-icons_222222_256x240.png b/images/ui-icons_222222_256x240.png deleted file mode 100644 index b273ff1..0000000 Binary files a/images/ui-icons_222222_256x240.png and /dev/null differ diff --git a/images/ui-icons_2e83ff_256x240.png b/images/ui-icons_2e83ff_256x240.png deleted file mode 100644 index 09d1cdc..0000000 Binary files a/images/ui-icons_2e83ff_256x240.png and /dev/null differ diff --git a/images/ui-icons_454545_256x240.png b/images/ui-icons_454545_256x240.png deleted file mode 100644 index 59bd45b..0000000 Binary files a/images/ui-icons_454545_256x240.png and /dev/null differ diff --git a/images/ui-icons_888888_256x240.png b/images/ui-icons_888888_256x240.png deleted file mode 100644 index 6d02426..0000000 Binary files a/images/ui-icons_888888_256x240.png and /dev/null differ diff --git a/images/ui-icons_cd0a0a_256x240.png b/images/ui-icons_cd0a0a_256x240.png deleted file mode 100644 index 2ab019b..0000000 Binary files a/images/ui-icons_cd0a0a_256x240.png and /dev/null differ diff --git a/images/user_identity.gif b/images/user_identity.gif deleted file mode 100644 index 095831b..0000000 Binary files a/images/user_identity.gif and /dev/null differ diff --git a/images/user_identity_plus.gif b/images/user_identity_plus.gif deleted file mode 100644 index b276a81..0000000 Binary files a/images/user_identity_plus.gif and /dev/null differ diff --git a/include/ajax.php b/include/ajax.php deleted file mode 100644 index 515a5f1..0000000 --- a/include/ajax.php +++ /dev/null @@ -1,181 +0,0 @@ -prepare('SELECT * FROM user'); - $req->execute(); - - if($data = $req->fetch()) { - do{ - $list[] = array("user_id" => $data['user_id'], - "user_pass" => $data['user_pass'], - "user_mail" => $data['user_mail'], - "user_phone" => $data['user_phone'], - "user_online" => $data['user_online'], - "user_enable" => $data['user_enable'], - "user_start_date" => datefromsql($data['user_start_date']), - "user_end_date" => datefromsql($data['user_end_date'])); - } while($data = $req->fetch()); - - echo json_encode($list); - } - else{ - $list = array(); - echo json_encode($list); - } - } - // Log du VPN - else if($_POST['select'] == "log"){ - // Création du LIMIT de la requête SQL en fonction de la page - if(isset($_POST['pageIndex'], $_POST['pageSize'])) { - $page_actuelle = ($_POST['pageIndex']-1) * $_POST['pageSize']; - $page_max = $_POST['pageSize']; - $page = " LIMIT " . $page_actuelle . ", " . $page_max; - } - else { - $page = ""; - } - - // Sélection des logs - $string_requete = 'SELECT * FROM log ORDER BY log_id DESC' . $page; - $req = $bdd->prepare($string_requete); - $req->execute(); - - $list = array(); - - while($data = $req->fetch()) { - // C'est mieux exprimé en Mo ou Ko - $received = ($data['log_received'] > 100000) ? $data['log_received']/100000 . " Mo" : $data['log_received']/100 . " Ko"; - $sent = ($data['log_send'] > 100000) ? $data['log_send']/100000 . " Mo" : $data['log_send']/100 . " Ko"; - $start_time_array = explode(' ', $data['log_start_time']); - $start_time = datefromsql($start_time_array[0]) . ' ' . $start_time_array[1]; - $end_time_array = explode(' ', $data['log_end_time']); - $end_time = datefromsql($end_time_array[0]) . ' ' . $end_time_array[1]; - - // On ajoute à notre tableau la nouvelle ligne de log - array_push($list, array("log_id" => $data['log_id'], - "user_id" => $data['user_id'], - "log_trusted_ip" => $data['log_trusted_ip'], - "log_trusted_port" => $data['log_trusted_port'], - "log_remote_ip" => $data['log_remote_ip'], - "log_remote_port" => $data['log_remote_port'], - "log_start_time" => $start_time, - "log_end_time" => $end_time, - "log_received" => $received, - "log_send" => $sent)); - } - - // Récupération du nombre lignes de log - $req_nb = $bdd->prepare('SELECT COUNT(*) AS nb FROM log'); - $req_nb->execute(); - $data_nb = $req_nb->fetch()['nb']; - - // On affiche la réponse JSON - $result = array('Total' => $data_nb, 'Rows' => json_encode($list)); - - echo json_encode($result); - } - // Affichage des personnes pouvant se connecter à l'interface d'administration - else if($_POST['select'] == "admin"){ - $req = $bdd->prepare('SELECT * FROM admin'); - $req->execute(); - - if($data = $req->fetch()) { - do{ - $list[] = array("admin_id" => $data['admin_id'], - "admin_pass" => $data['admin_pass'], - ); - } while($data = $req->fetch()); - - echo json_encode($list); - } - else{ - $list = array(); - echo json_encode($list); - } - } - } - // Ajout d'un utilisateur du VPN - else if(isset($_POST['add_user'])){ - $id = $_POST['user_id']; - $pass = ""; - $mail = ""; - $phone = ""; - $online = 0; - $enable = 1; - $start = "0000-00-00"; - $end = "0000-00-00"; - - $req = $bdd->prepare('INSERT INTO user (user_id, user_pass, user_mail, user_phone, user_online, user_enable, user_start_date, user_end_date) - VALUES (?, ?, ?, ?, ?, ?, ?, ?)'); - $req->execute(array($id, $pass, $mail, $phone, $online, $enable, $start, $end)); - } - // Modification d'un utilisateur du VPN - else if(isset($_POST['set_user'])){ - $valid = array("user_id", "user_pass", "user_mail", "user_phone", "user_enable", "user_start_date", "user_end_date"); - $set_field = $set_value = array(); - - // Algo pour mettre à jour seulement ce qui a été modifié - foreach($_POST as $key => $value){ - if(in_array($key, $valid)){ - array_push($set_field, $key . "=?"); - - if($key == "user_pass") - if($value == "") - array_push($set_value, $value); - else - array_push($set_value, sha1($value)); - else if($key == "user_start_date" || $key == "user_end_date") - array_push($set_value, datetosql($value)); - else - array_push($set_value, $value); - } - } - // Construction de la requête - array_push($set_value, $_POST['set_user']); - - $req_string = 'UPDATE user SET ' . implode(',', $set_field) . ' WHERE user_id = ?'; - $req = $bdd->prepare($req_string); - $req->execute($set_value); - } - // Suppression d'un utilisateur du VPN - else if(isset($_POST['del_user_id'])){ - $req = $bdd->prepare('DELETE FROM user WHERE user_id = ?'); - $req->execute(array($_POST['del_user_id'])); - } - // Ajout d'un admin - else if(isset($_POST['add_admin'])){ - $req = $bdd->prepare('INSERT INTO admin(admin_id, admin_pass) VALUES (?, ?)'); - $req->execute(array($_POST['admin_id'], "")); - } - // Modification d'un admin - else if(isset($_POST['set_admin'])){ - $mdp = $_POST['admin_pass'] ? sha1($_POST['admin_pass']) : ""; - - $req = $bdd->prepare('UPDATE admin SET admin_id = ?, admin_pass = ? WHERE admin_id = ?'); - $req->execute(array($_POST['admin_id'], $mdp, $_POST['set_admin'])); - } - // Suppression d'un admin - else if(isset($_POST['del_admin_id'])){ - $req = $bdd->prepare('DELETE FROM admin WHERE admin_id = ?'); - $req->execute(array($_POST['del_admin_id'])); - } - -?> diff --git a/include/config.php b/include/config.php new file mode 100644 index 0000000..8d6a3de --- /dev/null +++ b/include/config.php @@ -0,0 +1,7 @@ + diff --git a/include/config.php.example b/include/config.php.example deleted file mode 100644 index 818ae45..0000000 --- a/include/config.php.example +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/include/connexion_bdd.php b/include/connect.php similarity index 55% rename from include/connexion_bdd.php rename to include/connect.php index 4d3ff8f..9808810 100644 --- a/include/connexion_bdd.php +++ b/include/connect.php @@ -2,5 +2,5 @@ require(dirname(__FILE__) . "/config.php"); $options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; - $bdd = new PDO("mysql:host=$hote;port=$port;dbname=$bd", $utilisateur, $mdp, $options); + $bdd = new PDO("mysql:host=$host;port=$port;dbname=$db", $user, $pass, $options); ?> diff --git a/include/functions.php b/include/functions.php new file mode 100644 index 0000000..7e7dd8b --- /dev/null +++ b/include/functions.php @@ -0,0 +1,37 @@ +' . $str . ''; + } + + function printSuccess($str) { + echo ''; + } + + function isInstalled($bdd) { + $req = $bdd->prepare("SHOW TABLES LIKE 'admin'"); + $req->execute(); + + if(!$req->fetch()) + return false; + + return true; + } + + function hashPass($pass) { + return password_hash($pass, PASSWORD_DEFAULT); + } + + function passEqual($pass, $hash) { + return password_verify($pass, $hash); + } + +?> \ No newline at end of file diff --git a/include/grids.php b/include/grids.php new file mode 100644 index 0000000..6313a96 --- /dev/null +++ b/include/grids.php @@ -0,0 +1,205 @@ +prepare('SELECT * FROM user'); + $req->execute(); + + if($data = $req->fetch()) { + do { + $list[] = array("user_id" => $data['user_id'], + "user_pass" => $data['user_pass'], + "user_mail" => $data['user_mail'], + "user_phone" => $data['user_phone'], + "user_online" => $data['user_online'], + "user_enable" => $data['user_enable'], + "user_start_date" => dateFromSql($data['user_start_date']), + "user_end_date" => dateFromSql($data['user_end_date'])); + } while($data = $req->fetch()); + + echo json_encode($list); + } + // If it is an empty answer, we need to encore an empty json object + else{ + $list = array(); + echo json_encode($list); + } + } + + // Select the logs + else if($_POST['select'] == "log"){ + // Creation of the LIMIT for build different pages + if(isset($_POST['pageIndex'], $_POST['pageSize'])) { + $actual_page = ($_POST['pageIndex']-1) * $_POST['pageSize']; + $max_page = $_POST['pageSize']; + $page = "LIMIT $actual_page, $max_page"; + } + else { + $page = ""; + } + + // Select the logs + $string_requete = "SELECT *, (SELECT COUNT(*) FROM log) AS nb FROM log ORDER BY log_id DESC $page"; + $req = $bdd->prepare($string_requete); + $req->execute(); + + $list = array(); + + $data = $req->fetch(); + + if($data) { + $nb = $data['nb']; + + do { + // Better in Kb or Mb + $received = ($data['log_received'] > 100000) ? $data['log_received']/100000 . " Mo" : $data['log_received']/100 . " Ko"; + $sent = ($data['log_send'] > 100000) ? $data['log_send']/100000 . " Mo" : $data['log_send']/100 . " Ko"; + $start_time_array = explode(' ', $data['log_start_time']); + $start_time = dateFromSql($start_time_array[0]) . ' ' . $start_time_array[1]; + $end_time_array = explode(' ', $data['log_end_time']); + $end_time = dateFromSql($end_time_array[0]) . ' ' . $end_time_array[1]; + + // We add to the array the new line of logs + array_push($list, array( + "log_id" => $data['log_id'], + "user_id" => $data['user_id'], + "log_trusted_ip" => $data['log_trusted_ip'], + "log_trusted_port" => $data['log_trusted_port'], + "log_remote_ip" => $data['log_remote_ip'], + "log_remote_port" => $data['log_remote_port'], + "log_start_time" => $start_time, + "log_end_time" => $end_time, + "log_received" => $received, + "log_send" => $sent)); + + + } while ($data = $req->fetch()); + } + else { + $nb = 0; + } + + // We finally print the result + $result = array('Total' => $nb, 'Rows' => json_encode($list)); + + echo json_encode($result); + } + + // Select the admins + else if($_POST['select'] == "admin"){ + $req = $bdd->prepare('SELECT * FROM admin'); + $req->execute(); + + if($data = $req->fetch()) { + do{ + $list[] = array( + "admin_id" => $data['admin_id'], + "admin_pass" => $data['admin_pass'] + ); + } while($data = $req->fetch()); + + echo json_encode($list); + } + else{ + $list = array(); + echo json_encode($list); + } + } + } + + // ---------------- ADD USER ---------------- + else if(isset($_POST['add_user'])){ + // Put some default values + $id = $_POST['user_id']; + $pass = ""; + $mail = ""; + $phone = ""; + $online = 0; + $enable = 1; + $start = "0000-00-00"; + $end = "0000-00-00"; + + $req = $bdd->prepare('INSERT INTO user (user_id, user_pass, user_mail, user_phone, user_online, user_enable, user_start_date, user_end_date) + VALUES (?, ?, ?, ?, ?, ?, ?, ?)'); + $req->execute(array($id, $pass, $mail, $phone, $online, $enable, $start, $end)); + + $res = array("user_id" => $id, + "user_pass" => $pass, + "user_mail" => $mail , + "user_phone" => $phone, + "user_online" => $online, + "user_enable" => $enable, + "user_start_date" => dateFromSql($start), + "user_end_date" => dateFromSql($end) + ); + + echo json_encode($res); + } + + // ---------------- UPDATE USER ---------------- + else if(isset($_POST['set_user'])){ + $valid = array("user_id", "user_pass", "user_mail", "user_phone", "user_enable", "user_start_date", "user_end_date"); + $set_field = $set_value = array(); + + // Only update what was modified + foreach($_POST as $key => $value){ + if(in_array($key, $valid)){ + array_push($set_field, $key . "=?"); + + if($key == "user_pass") + if($value == "") + array_push($set_value, $value); + else + array_push($set_value, hashPass($value)); + else if($key == "user_start_date" || $key == "user_end_date") + array_push($set_value, dateToSql($value)); + else + array_push($set_value, $value); + } + } + // Build the request + array_push($set_value, $_POST['set_user']); + + $req_string = 'UPDATE user SET ' . implode(',', $set_field) . ' WHERE user_id = ?'; + $req = $bdd->prepare($req_string); + $req->execute($set_value); + } + + // ---------------- REMOVE USER ---------------- + else if(isset($_POST['del_user_id'])){ + $req = $bdd->prepare('DELETE FROM user WHERE user_id = ?'); + $req->execute(array($_POST['del_user_id'])); + } + + // ---------------- ADD ADMIN ---------------- + else if(isset($_POST['add_admin'])){ + $req = $bdd->prepare('INSERT INTO admin(admin_id, admin_pass) VALUES (?, ?)'); + $req->execute(array($_POST['admin_id'], "")); + } + + // ---------------- UPDATE ADMIN ---------------- + else if(isset($_POST['set_admin'])){ + $mdp = $_POST['admin_pass'] ? hashPass($_POST['admin_pass']) : ""; + + $req = $bdd->prepare('UPDATE admin SET admin_id = ?, admin_pass = ? WHERE admin_id = ?'); + $req->execute(array($_POST['admin_id'], $mdp, $_POST['set_admin'])); + } + + // ---------------- REMOVE ADMIN ---------------- + else if(isset($_POST['del_admin_id'])){ + $req = $bdd->prepare('DELETE FROM admin WHERE admin_id = ?'); + $req->execute(array($_POST['del_admin_id'])); + } + +?> diff --git a/include/html/form/configuration.php b/include/html/form/configuration.php new file mode 100644 index 0000000..5079503 --- /dev/null +++ b/include/html/form/configuration.php @@ -0,0 +1,35 @@ +
+
+ +
+ +
+

Get the configuration files

+
+ +
+
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ +
+ +
+
\ No newline at end of file diff --git a/include/html/form/installation.php b/include/html/form/installation.php new file mode 100644 index 0000000..9a41250 --- /dev/null +++ b/include/html/form/installation.php @@ -0,0 +1,36 @@ +
+
+ +
+ +
+

Installation

+
+ +
+
+ + +
+ +

+ +
+ + +
+ +
+ + +
+ +

+ + +
+ +
+ +
+
\ No newline at end of file diff --git a/include/html/form/login.php b/include/html/form/login.php new file mode 100644 index 0000000..7ac06fb --- /dev/null +++ b/include/html/form/login.php @@ -0,0 +1,27 @@ +
+
+ +
+ +
+

Administrator

+
+ +
+
+ + +
+ +
+ + +
+ + +
+ +
+ +
+
\ No newline at end of file diff --git a/include/html/grids.php b/include/html/grids.php new file mode 100644 index 0000000..8d21d3c --- /dev/null +++ b/include/html/grids.php @@ -0,0 +1,41 @@ + +
+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + +
+
+ +
+
+
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/include/html/menu.php b/include/html/menu.php new file mode 100644 index 0000000..e95a7c9 --- /dev/null +++ b/include/html/menu.php @@ -0,0 +1,12 @@ +
+ +
\ No newline at end of file diff --git a/index.php b/index.php index ff64f45..2d215d5 100644 --- a/index.php +++ b/index.php @@ -1,119 +1,189 @@ prepare('SELECT * FROM user WHERE user_id = ?'); + $req->execute(array($_POST['configuration_username'])); + $data = $req->fetch(); - if(isset($_GET['deconnexion'])){ - session_destroy(); - header("Location: ."); + // Error ? + if($data && passEqual($_POST['configuration_pass'], $data['user_pass'])) { + // Thanks http://stackoverflow.com/questions/4914750/how-to-zip-a-whole-folder-using-php + if($_POST['configuration_os'] == "gnu_linux") { + $conf_dir = 'gnu-linux'; + } + else { + $conf_dir = 'windows'; + } + $rootPath = realpath("./client-conf/$conf_dir"); + + // Initialize archive object + $archive_name = "openvpn-$conf_dir.zip"; + $archive_path = "./client-conf/$archive_name"; + $zip = new ZipArchive(); + $zip->open($archive_path, ZipArchive::CREATE | ZipArchive::OVERWRITE); + + $files = new RecursiveIteratorIterator( + new RecursiveDirectoryIterator($rootPath), + RecursiveIteratorIterator::LEAVES_ONLY + ); + + foreach ($files as $name => $file) { + // Skip directories (they would be added automatically) + if (!$file->isDir()) { + // Get real and relative path for current file + $filePath = $file->getRealPath(); + $relativePath = substr($filePath, strlen($rootPath) + 1); + + // Add current file to archive + $zip->addFile($filePath, $relativePath); + } + } + + // Zip archive will be created only after closing object + $zip->close(); + + //then send the headers to foce download the zip file + header("Content-type: application/zip"); + header("Content-Disposition: attachment; filename=$archive_name"); + header("Pragma: no-cache"); + header("Expires: 0"); + readfile($archive_path); } + else { + $error = true; + } + } + + // Admin login attempt ? + else if(isset($_POST['admin_login'], $_POST['admin_username'], $_POST['admin_pass']) && !empty($_POST['admin_pass'])){ - // Tentative de connexion ? - if(isset($_POST['id'], $_POST['pass'])){ - require(dirname(__FILE__) . '/include/connexion_bdd.php'); - - $req = $bdd->prepare('SELECT * FROM admin WHERE admin_id = ? AND admin_pass = ?'); - $req->execute(array($_POST['id'], sha1($_POST['pass']))); - - if($data = $req->fetch()){ - $_SESSION['admin_id'] = $data['admin_id']; - header("Location: ."); - } - else { - $connexion_erreur = true; - } + $req = $bdd->prepare('SELECT * FROM admin WHERE admin_id = ?'); + $req->execute(array($_POST['admin_username'])); + $data = $req->fetch(); + + // Error ? + if($data && passEqual($_POST['admin_pass'], $data['admin_pass'])) { + $_SESSION['admin_id'] = $data['admin_id']; + header("Location: index.php?admin"); + exit -1; } + else { + $error = true; + } + } ?> - - + + + + + + + + + + + + + + + - - - - - --> + if($admin_pass != $admin_repeat_pass) { + printError('The passwords do not correspond.'); + exit -1; + } - - - - exec($sql); + } + catch (PDOException $e) { + printError($e->getMessage()); + exit -1; + } - // Si pas connecté on affiche le formulaire - if(!isset($_SESSION['admin_id'])){ - if($connexion_erreur) - echo "Erreur connexion"; - ?> -
-
- - - -

- - - - -

- - -
-
- -
- Administrateur : / Déconnexion ? -
- -
-
- -
-
-
- -
-
- -
-
- -
- -
-
- -
-
-
- - - - - - - - + // Generate the hash + $hash_pass = hashPass($admin_pass); + + // Insert the new admin + $req = $bdd->prepare('INSERT INTO admin (admin_id, admin_pass) VALUES (?, ?)'); + $req->execute(array($admin_username, $hash_pass)); + + unlink($sql_file); + rmdir(dirname(__FILE__) . '/sql'); + printSuccess('Well done, OpenVPN-Admin is installed.'); + } + // Print the installation form + else { + require(dirname(__FILE__) . '/include/html/menu.php'); + require(dirname(__FILE__) . '/include/html/form/installation.php'); + } + + exit -1; + } + + // --------------- CONFIGURATION --------------- + if(!isset($_GET['admin'])) { + if(isset($error) && $error == true) + printError('Login error'); + + require(dirname(__FILE__) . '/include/html/menu.php'); + require(dirname(__FILE__) . '/include/html/form/configuration.php'); + } + + + // --------------- LOGIN --------------- + else if(!isset($_SESSION['admin_id'])){ + if(isset($error) && $error == true) + printError('Login error'); + + require(dirname(__FILE__) . '/include/html/menu.php'); + require(dirname(__FILE__) . '/include/html/form/login.php'); + } + + // --------------- GRIDS --------------- + else{ + ?> + + + + diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..b8c17cc --- /dev/null +++ b/install.sh @@ -0,0 +1,200 @@ +#!/bin/bash + +print_help () { + echo -e "./install.sh www_basedir user group" + echo -e "\tbase_dir: The place where the web application will be put in" + echo -e "\tuser: User of the web application" + echo -e "\tgroup: Group of the web application" +} + +# Ensure to be root +if [ "$EUID" -ne 0 ]; then + echo "Please run as root" + exit +fi + +# Ensure there are enought arguments +if [ "$#" -ne 3 ]; then + print_help + exit +fi + +www=$1 +user=$2 +group=$3 +openvpn_admin="$www/openvpn-admin" + + +# Check the validity of the arguments +if [ ! -d "$www" ] || ! grep -q "$user" "/etc/passwd" || ! grep -q "$group" "/etc/group" ; then + print_help + exit +fi + +base_path=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) + +printf "\n################## Server informations ##################\n" + +echo -n "Server ip: " +read ip_server + + +# Get root pass (to create the database and the user) +mysql_root_pass="" +status_code=1 + +while [ $status_code -ne 0 ]; do + echo -n "Server MySQL root password: " + read mysql_root_pass + echo "SHOW DATABASES" | mysql -u root --password="$mysql_root_pass" &> /dev/null + status_code=$? +done + +sql_result=$(echo "SHOW DATABASES" | mysql -u root --password="$mysql_root_pass" | grep -e "^openvpn-admin$") +# Check if the database doesn't already exist +if [ "$sql_result" != "" ]; then + echo "The database openvpn-admin already exists." + exit +fi + +# Check if the user doesn't already exist +echo -n "Server MySQL openvpn-admin user (will be created): " +read mysql_user + +echo "SHOW GRANTS FOR $mysql_user@localhost" | mysql -u root --password="$mysql_root_pass" &> /dev/null +if [ $? -eq 0 ]; then + echo "The MySQL user already exists." + exit +fi + +echo -n "Server MySQL openvpn-admin user password: " +read mysql_pass + + +# TODO MySQL port & host ? + + +printf "\n################## Certificates informations ##################\n" +key_size="0" + +while [ "$key_size" != "1024" -a "$key_size" != "2048" -a "$key_size" != "4096" ]; do + echo -n "Key size (1024, 2048 or 4096): " + read key_size +done + +echo -n "Root certificate expiration (in days): " +read ca_expire + +echo -n "Certificate expiration (in days): " +read key_expire + +echo -n "Country: " +read key_country + +echo -n "Province: " +read key_province + +echo -n "City: " +read key_city + +echo -n "Organization: " +read key_org + +echo -n "Email: " +read key_email + + +printf "\n################## Creating the certificates ##################\n" + +# Get the rsa keys +mkdir /etc/openvpn/easy-rsa/ +wget https://github.com/OpenVPN/easy-rsa/archive/2.2.2.zip +unzip 2.2.2.zip +mv easy-rsa-2.2.2/easy-rsa/2.0/* /etc/openvpn/easy-rsa/ +rm -r 2.2.2.zip easy-rsa-2.2.2 +cd /etc/openvpn/easy-rsa + +source vars + +export KEY_SIZE=$key_size +export CA_EXPIRE=$ca_expire +export KEY_EXPIRE=$key_expire +export KEY_COUNTRY=$key_country +export KEY_PROVINCE=$key_province +export KEY_CITY=$key_city +export KEY_ORG=$key_org +export KEY_EMAIL=$key_email + +./clean-all +./build-dh +./pkitool --initca +./pkitool --server server +openvpn --genkey --secret keys/ta.key + + + +printf "\n################## Setup OpenVPN ##################\n" + +# Copy certificates and the server configuration in the openvpn directory +cp /etc/openvpn/easy-rsa/keys/{ca.crt,ta.key,server.crt,server.key,dh${KEY_SIZE}.pem} "/etc/openvpn/" +cp "$base_path/installation/server.conf" "/etc/openvpn/" + + +printf "\n################## Setup firewall ##################\n" + +# Make ip forwading and make it persistent +echo 1 > "/proc/sys/net/ipv4/ip_forward" +echo "net.ipv4.ip_forward = 1" >> "/etc/sysctl.conf" + +# Iptable rules +iptables -I FORWARD -i tun0 -j ACCEPT +iptables -I FORWARD -o tun0 -j ACCEPT +iptables -I OUTPUT -o tun0 -j ACCEPT + +iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT +iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE +iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE +iptables -t nat -A POSTROUTING -s 10.8.0.2/24 -o eth0 -j MASQUERADE + +printf "\n################## Setup MySQL database ##################\n" + +echo "CREATE DATABASE \`openvpn-admin\`" | mysql -u root --password="$mysql_root_pass" +echo "CREATE USER $mysql_user@localhost IDENTIFIED BY '$mysql_pass'" | mysql -u root --password="$mysql_root_pass" +echo "GRANT ALL PRIVILEGES ON \`openvpn-admin\`.* TO $mysql_user@localhost" | mysql -u root --password="$mysql_root_pass" +echo "FLUSH PRIVILEGES" | mysql -u root --password="$mysql_root_pass" + + +printf "\n################## Setup web application ##################\n" + +# Copy bash scripts (which will insert row in MySQL) +cp -r "$base_path/installation/scripts" "/etc/openvpn/" + +# Create the directory of the web application +mkdir "$openvpn_admin" +cp -r "$base_path/"{index.php,sql,bower.json,.bowerrc,js,include,css,installation/client-conf} "$openvpn_admin" + +# New workspace +cd "$openvpn_admin" + +# Replace config.php variables +sed -i "s/\$user = '';/\$user = '$mysql_user';/" "./include/config.php" +sed -i "s/\$pass = '';/\$pass = '$mysql_pass';/" "./include/config.php" + +# Replace in the client configurations with the ip of the server +sed -i "s/remote xxx\.xxx\.xxx\.xxx 443/remote $ip_server 443/" "./client-conf/gnu-linux/client.conf" +sed -i "s/remote xxx\.xxx\.xxx\.xxx 443/remote $ip_server 443/" "./client-conf/windows/client.conf" + +# Copy ta.key inside the client-conf directory +cp "/etc/openvpn/ta.key" "./client-conf/gnu-linux/" +cp "/etc/openvpn/ta.key" "./client-conf/windows/" + +# Install third parties +bower --allow-root install +chown -R "$user:$group" "$openvpn_admin" + + +printf "\n################## Finish ##################\n" + +echo "Congratulation, you have successfuly setup openvpn-admin. Please, finish the installation by configuring your web server (Apache, NGinx...) and install the web application by visiting http://your-installation/index.php?installation" +echo "Then, you will be able to run OpenVPN with systemctl start openvpn@server" +echo "Please, report any issues here https://github.com/Chocobozzz/OpenVPN-Admin" diff --git a/openvpn-conf/client/gnu-linux/client.conf b/installation/client-conf/gnu-linux/client.conf similarity index 90% rename from openvpn-conf/client/gnu-linux/client.conf rename to installation/client-conf/gnu-linux/client.conf index d1a300f..fc9ea4d 100644 --- a/openvpn-conf/client/gnu-linux/client.conf +++ b/installation/client-conf/gnu-linux/client.conf @@ -6,8 +6,8 @@ resolv-retry infinite cipher AES-256-CBC redirect-gateway -# Cles -# Prouver l'identité +# Keys +# Identity ca ca.crt tls-auth ta.key 1 key-direction 1 @@ -15,7 +15,7 @@ ns-cert-type server auth-user-pass auth-nocache -# Securite +# Security nobind persist-key persist-tun diff --git a/openvpn-conf/client/gnu-linux/update-resolv.sh b/installation/client-conf/gnu-linux/update-resolv.sh similarity index 100% rename from openvpn-conf/client/gnu-linux/update-resolv.sh rename to installation/client-conf/gnu-linux/update-resolv.sh diff --git a/openvpn-conf/client/windows/client.conf b/installation/client-conf/windows/client.conf similarity index 88% rename from openvpn-conf/client/windows/client.conf rename to installation/client-conf/windows/client.conf index cddb1a9..bc3ff7c 100644 --- a/openvpn-conf/client/windows/client.conf +++ b/installation/client-conf/windows/client.conf @@ -6,8 +6,8 @@ resolv-retry infinite cipher AES-256-CBC redirect-gateway -# Cles -# Prouver l'identité +# Keys +# Identity ca ca.crt tls-auth ta.key 1 key-direction 1 @@ -15,7 +15,7 @@ ns-cert-type server auth-user-pass auth-nocache -# Securite +# Security nobind persist-key persist-tun diff --git a/openvpn-conf/serveur/scripts/config.sh b/installation/scripts/config.sh similarity index 94% rename from openvpn-conf/serveur/scripts/config.sh rename to installation/scripts/config.sh index fa0db7d..0605c0a 100644 --- a/openvpn-conf/serveur/scripts/config.sh +++ b/installation/scripts/config.sh @@ -8,4 +8,4 @@ USER='vpn_user' # Password PASS='mdp' # Nom de la base de données -DB='vpn' +DB='vpn' \ No newline at end of file diff --git a/openvpn-conf/serveur/scripts/connect.sh b/installation/scripts/connect.sh similarity index 93% rename from openvpn-conf/serveur/scripts/connect.sh rename to installation/scripts/connect.sh index f966d02..473cb0d 100644 --- a/openvpn-conf/serveur/scripts/connect.sh +++ b/installation/scripts/connect.sh @@ -5,4 +5,4 @@ mysql -h$HOST -P$PORT -u$USER -p$PASS $DB -e "INSERT INTO log (log_id, user_id, log_trusted_ip, log_trusted_port, log_remote_ip, log_remote_port, log_start_time, log_end_time, log_received, log_send) VALUES(NULL, '$common_name','$trusted_ip', '$trusted_port','$ifconfig_pool_remote_ip', '$remote_port_1', now(),'0000-00-00 00:00:00', '$bytes_received', '$bytes_sent')" # On spécifie que l'utilisateur est en ligne -mysql -h$HOST -P$PORT -u$USER -p$PASS $DB -e "UPDATE user SET user_online=1 WHERE user_id='$common_name'" +mysql -h$HOST -P$PORT -u$USER -p$PASS $DB -e "UPDATE user SET user_online=1 WHERE user_id='$common_name'" \ No newline at end of file diff --git a/openvpn-conf/serveur/scripts/disconnect.sh b/installation/scripts/disconnect.sh similarity index 96% rename from openvpn-conf/serveur/scripts/disconnect.sh rename to installation/scripts/disconnect.sh index e1399f5..44efd30 100644 --- a/openvpn-conf/serveur/scripts/disconnect.sh +++ b/installation/scripts/disconnect.sh @@ -5,4 +5,4 @@ mysql -h$HOST -P$PORT -u$USER -p$PASS $DB -e "UPDATE user SET user_online=0 WHERE user_id='$common_name'" # On insert le datetime de déconnexion -mysql -h$HOST -P$PORT -u$USER -p$PASS $DB -e "UPDATE log SET log_end_time=now(), log_received='$bytes_received', log_send='$bytes_sent' WHERE log_trusted_ip='$trusted_ip' AND log_trusted_port='$trusted_port' AND user_id='$common_name' AND log_end_time='0000-00-00 00:00:00'" +mysql -h$HOST -P$PORT -u$USER -p$PASS $DB -e "UPDATE log SET log_end_time=now(), log_received='$bytes_received', log_send='$bytes_sent' WHERE log_trusted_ip='$trusted_ip' AND log_trusted_port='$trusted_port' AND user_id='$common_name' AND log_end_time='0000-00-00 00:00:00'" \ No newline at end of file diff --git a/openvpn-conf/serveur/scripts/login.sh b/installation/scripts/login.sh similarity index 94% rename from openvpn-conf/serveur/scripts/login.sh rename to installation/scripts/login.sh index 7c510d8..93317e6 100644 --- a/openvpn-conf/serveur/scripts/login.sh +++ b/installation/scripts/login.sh @@ -5,4 +5,4 @@ user_id=$(mysql -h$HOST -P$PORT -u$USER -p$PASS $DB -sN -e "SELECT user_id FROM user WHERE user_id = '$username' AND user_pass = SHA1('$password') AND user_enable=1 AND (TO_DAYS(now()) >= TO_DAYS(user_start_date) OR user_start_date='0000-00-00') AND (TO_DAYS(now()) <= TO_DAYS(user_end_date) OR user_end_date='0000-00-00')") # Vérification de l'utilisateur -[ "$user_id" != '' ] && [ "$user_id" = "$username" ] && echo "user : $username" && echo 'authentication ok.' && exit 0 || echo 'authentication failed.'; exit 1 +[ "$user_id" != '' ] && [ "$user_id" = "$username" ] && echo "user : $username" && echo 'authentication ok.' && exit 0 || echo 'authentication failed.'; exit 1 \ No newline at end of file diff --git a/installation/server.conf b/installation/server.conf new file mode 100644 index 0000000..c0a5266 --- /dev/null +++ b/installation/server.conf @@ -0,0 +1,90 @@ +## GENERAL ## + +# TCP, port 443, tunneling +mode server +proto tcp +port 443 +dev tun + +## KEY, CERTS AND NETWORK CONFIGURATION ## +# Identity +ca ca.crt +# Public key +cert server.crt +# Private key +key server.key +# Symmetric encryption +dh dh1024.pem +# Improve security (DDOS, port flooding...) +# 0 for the server, 1 for the client +tls-auth ta.key 0 +# Encryption protocol +cipher AES-256-CBC + +# Network +# Subnetwork, the server will be the 10.8.0.1 and clients will take the other ips +server 10.8.0.0 255.255.255.0 + +# Redirect all IP network traffic originating on client machines to pass through the OpenVPN server +push "redirect-gateway def1" + +# Alternatives DNS (FDN) +push "dhcp-option DNS 80.67.169.12" +push "dhcp-option DNS 80.67.169.40" + +# (OpenDNS) +# push "dhcp-option DNS 208.67.222.222" +# push "dhcp-option DNS 208.67.220.220" + +# (Google) +# push "dhcp-option DNS 8.8.8.8" +# push "dhcp-option DNS 8.8.4.4" + +# Ping every 10 seconds and if after 120 seconds the client doesn't respond we disconnect +keepalive 10 120 +# Regenerate key each 5 hours (disconnect the client) +reneg-sec 18000 + +## SECURITY ## + +# Downgrade privileges of the daemon +user nobody +group nogroup + +# Persist keys (because we are nobody, so we couldn't read them again) +persist-key +# Don't close and re open TUN/TAP device +persist-tun +# Enable compression +comp-lzo + +## LOG ## + +# Verbosity +# 3/4 for a normal utilisation +verb 3 +# Max 20 messages of the same category +mute 20 +# Log gile where we put the clients status +status openvpn-status.log +# Log file +log-append /var/log/openvpn.log +# Configuration directory of the clients +client-config-dir ccd + +## PASS ## + +# Autoriser l'exécution de scripts externes en passant les mots de passe via les variables d'environnement +script-security 3 system + +# Use the authenticated username as the common name, rather than the common name from the client cert +username-as-common-name +# Client certificate non requried +client-cert-not-required +# Use the connection script when a user wants to login +auth-user-pass-verify scripts/login.sh via-env +# Maximum of clients +max-clients 50 +# Run this scripts when the client connects/disconnects +client-connect scripts/connect.sh +client-disconnect scripts/disconnect.sh \ No newline at end of file diff --git a/js/grids.js b/js/grids.js new file mode 100644 index 0000000..faeb23e --- /dev/null +++ b/js/grids.js @@ -0,0 +1,365 @@ +$(function () { + "use strict"; + + // -------------------- USERS -------------------- + $.ajax({ + type: "POST", + url: "include/grids.php", + dataType: 'json', + data: "select=user", + success: function (json) { + // Button to format a cell and remove an user + function buttonFormatter(row, cell, value, columnDef, dataContext) { + var button = ""; + return button; + } + + var i; + var columns = [ + { id: "user_id", name: "ID", field: "user_id", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text }, + { id: "user_pass", name: "Pass", field: "user_pass", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text }, + { id: "user_mail", name: "Mail", field: "user_mail", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text }, + { id: "user_phone", name: "Phone", field: "user_phone", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text }, + { id: "user_online", name: "Online", field: "user_online", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text }, + { id: "user_enable", name: "Enabled", field: "user_enable", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text }, + { id: "user_start_date", name: "Start Date", field: "user_start_date", width: 120, cssClass: "cell-title", editor: Slick.Editors.Date }, + { id: "user_end_date", name: "End Date", field: "user_end_date", width: 120, cssClass: "cell-title", editor: Slick.Editors.Date }, + { id: "user_del", name: 'Delete', field: "user_del", width: 250, formatter: buttonFormatter } + ]; + + // Grid options + var options = { + editable: true, + enableAddRow: true, + enableCellNavigation: true, + asyncEditorLoading: false, + autoEdit: false, + autoHeight: true + }; + + var data = []; + + // Save the old user_id when the admin update an user + var save = null; + + var grid = null; + + // Action when we want to remove an user + $('#user-grid').on('click', '.del_user', function () { + + // Remove from the database + var me = $(this), id = me.attr('id'); + var data = grid.getData(); + + $.ajax({ + type: "POST", + url: "include/grids.php", + dataType: "json", + data: { del_user_id: id }, + success: function() { + // Remove the line + data.splice(me.attr('data-row'), 1); + grid.setData(data); + grid.render(); + }, + error: function () { + alert("Error: cannot update the database."); + } + }); + }); + + + for (i = 0; i < json.length; i += 1) { + data[i] = { + user_id: json[i].user_id, + user_pass: json[i].user_pass, + user_mail: json[i].user_mail, + user_phone: json[i].user_phone, + user_online: json[i].user_online, + user_enable: json[i].user_enable, + user_start_date: json[i].user_start_date, + user_end_date: json[i].user_end_date + }; + } + + // Grid of the users + grid = new Slick.Grid($("#grid_user"), data, columns, options); + + $("#grid_user").on('click', function () { + var $active = grid.getActiveCell(); + + if ($active && $active.cell === 0) { + save = $(grid.getActiveCellNode()).html(); + } else { + save = null; + } + }); + + // When we want to modify an user + grid.onCellChange.subscribe(function (e, args) { + var item = args.item; + + if (save) + item.set_user = save; + else + item.set_user = item.user_id; + + // Remove in the database + $.ajax({ + type: "POST", + url: "include/grids.php", + dataType: "json", + data: item, + success: function () { + // If we edited the password, hash it + if(args.cell === 1) { + grid.invalidateRow(args.row); + data[args.row][grid.getColumns()[args.cell].field] = sha1(data[args.row][grid.getColumns()[args.cell].field]); + grid.render(); + } + }, + error: function () { + alert("Error : cannot update the database."); + } + }); + + delete item.set_user; + }); + + // Add a new user + grid.onAddNewRow.subscribe(function (e, args) { + var item = args.item; + + // We only can add a new user if we specify his id + if (!item.user_id) + return; + + item.add_user = true; + + // Update the database + $.ajax({ + type: "POST", + url: "include/grids.php", + dataType: "json", + data: item, + success: function(res) { + // Update the grid + grid.invalidateRow(data.length); + data.push(res); + grid.updateRowCount(); + grid.render(); + }, + error: function () { + alert("Error : cannot update the database."); + } + }); + + delete item.add_user; + }); + + grid.autosizeColumns(); + }, + error: function () { + alert('Error : cannot get the data.'); + } + }); + + + // -------------------- ADMINISTRATORS -------------------- + $.ajax({ + type: "POST", + url: "include/grids.php", + dataType: 'json', + data: "select=admin", + success: function (json) { + // Create the button to remove an administrator + function buttonFormatter(row, cell, value, columnDef, dataContext) { + var button = ""; + return button; + } + + var i; + + // Header + var columns = [ + { id: "admin_id", name: "Admin ID", field: "admin_id", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text }, + { id: "admin_pass", name: "Admin Pass", field: "admin_pass", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text }, + { id: "admin_del", name: 'Delete', field: "admin_del", width: 250, formatter: buttonFormatter } + ]; + + // Grid options + var options = { + editable: true, + enableAddRow: true, + enableCellNavigation: true, + asyncEditorLoading: false, + autoEdit: false, + autoHeight: true + }; + + var data = []; + var grid = null; + + // Save the old admin id when we update one + var save = null; + + // When we want to remove an administrator + $('#admin-grid').on('click', '.del_admin', function () { + var me = $(this); + var id = me.attr('id'); + var data = grid.getData(); + + // Update the database + $.ajax({ + type: "POST", + url: "include/grids.php", + dataType: "json", + data: { del_admin_id: id }, + success: function() { + // Update the grid + data.splice(me.attr('data-row'), 1); + grid.setData(data); + grid.render(); + }, + error: function () { + alert("Error : cannot update the database."); + } + }); + }); + + + for (i = 0; i < json.length; i += 1) { + data[i] = { + admin_id: json[i].admin_id, + admin_pass: json[i].admin_pass + }; + } + + grid = new Slick.Grid($("#grid_admin"), data, columns, options); + + $("#grid_admin").on('click', function () { + var $active = grid.getActiveCell(); + + if ($active !== undefined && $active.cell === 0) + save = $(grid.getActiveCellNode()).html(); + else + save = null; + }); + + // When we update the administrator + grid.onCellChange.subscribe(function (e, args) { + var item = args.item; + + // We save the old admin id + if (save) + item.set_admin = save; + else + item.set_admin = item.admin_id; + + // Update the database + $.ajax({ + type: "POST", + url: "include/grids.php", + dataType: "json", + data: item, + success: function() { + // Hash the password + if(args.cell === 1) { + grid.invalidateRow(args.row); + data[args.row][grid.getColumns()[args.cell].field] = sha1(data[args.row][grid.getColumns()[args.cell].field]); + grid.render(); + } + }, + error: function () { + alert("Error : cannot update the database"); + } + }); + + delete item.set_admin; + }); + + // When we want to add a new administrator + grid.onAddNewRow.subscribe(function (e, args) { + var item = args.item; + + // We only add an administrator if we specify the ID + if (!item.admin_id) + return; + + item.add_admin = true; + + // Update the database + $.ajax({ + type: "POST", + url: "include/grids.php", + dataType: "json", + data: item, + success: function() { + // Update the grid + grid.invalidateRow(data.length); + data.push(item); + grid.updateRowCount(); + grid.render(); + }, + error: function () { + alert("Error : cannot update the database."); + } + }); + + delete item.add_admin; + + + }); + + grid.autosizeColumns(); + }, + error: function () { + alert('Erreur dans la récupération des données...'); + } + }); + + + + // -------------------- LOGS -------------------- + var i; + + // Headers + var columns = [ + { id: "log_id", name: "Log ID", field: "log_id", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text }, + { id: "user_id", name: "User ID", field: "user_id", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text }, + { id: "log_trusted_ip", name: "Trusted IP", field: "log_trusted_ip", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text }, + { id: "log_trusted_port", name: "Trusted Port", field: "log_trusted_port", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text }, + { id: "log_remote_ip", name: "Remote IP", field: "log_remote_ip", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text }, + { id: "log_remote_port", name: "Remote Port", field: "log_remote_port", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text }, + { id: "log_start_time", name: "Start Time", field: "log_start_time", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text }, + { id: "log_end_time", name: "End Time", field: "log_end_time", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text }, + { id: "log_received", name: "Receveid", field: "log_received", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text }, + { id: "log_send", name: "Sent", field: "log_send", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text } + ]; + + // Grid options + var options = { + editable: false, + enableAddRow: false, + enableCellNavigation: true, + asyncEditorLoading: false, + autoEdit: false, + autoHeight: true + }; + + var data = []; + + // Creation of the grid + var grid = new Slick.Grid($("#grid_log"), data, columns, options); + + var pager = new Slick.Controls.EnhancementPager({ + container: $("#pager"), + remoteUrl: "include/grids.php", + params: { select: "log" }, + datagrid: grid, + pagerType: "" + }); + + grid.autosizeColumns(); + +}); diff --git a/js/index.js b/js/index.js deleted file mode 100644 index ffbf18b..0000000 --- a/js/index.js +++ /dev/null @@ -1,366 +0,0 @@ -/*jslint browser: true*/ -/*global $, Slick, grid, jQuery, alert*/ - -$(function () { - "use strict"; - - // Selection des users - $.ajax({ - type: "POST", - url: "include/ajax.php", - dataType: 'json', - data: "select=user", - success: function (json) { - // Bouton pour formater la cellule pour supprimer un user - function buttonFormatter(row, cell, value, columnDef, dataContext) { - var button = ""; - return button; - } - - var - i, - columns = [ - {id: "user_id", name: "ID", field: "user_id", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text}, - {id: "user_pass", name: "Pass", field: "user_pass", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text}, - {id: "user_mail", name: "Mail", field: "user_mail", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text}, - {id: "user_phone", name: "Phone", field: "user_phone", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text}, - {id: "user_online", name: "Online", field: "user_online", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text}, - {id: "user_enable", name: "Enabled", field: "user_enable", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text}, - {id: "user_start_date", name: "Start Date", field: "user_start_date", width: 120, cssClass: "cell-title", editor: Slick.Editors.Date}, - {id: "user_end_date", name: "End Date", field: "user_end_date", width: 120, cssClass: "cell-title", editor: Slick.Editors.Date}, - {id: "user_del", name: 'Delete', field: "user_del", width: 250, formatter: buttonFormatter} - ], - - // Options de la grid - options = { - editable: true, - enableAddRow: true, - enableCellNavigation: true, - asyncEditorLoading: false, - autoEdit: false, - autoHeight: true - }, - - // Création des données - data = [], - - // Permet de sauvegarder l'ancien user_id lorsque l'admin modifie un utilisateur du VPN - save = null, - - grid = null; - - - - // Action lorsqu'on veut supprimer un user - $('.del_user').live('click', function () { - - // Suppression dans la bdd - var me = $(this), id = me.attr('id'), - data = grid.getData(); - - $.ajax({ - type: "POST", - url: "include/ajax.php", - dataType: "json", - data: {del_user_id: id}, - error: function () { - alert("Erreur dans la suppression de la donnée..."); - } - }); - - // Suppression de la ligne en question - data.splice(me.attr('data-row'), 1); - grid.setData(data); - grid.render(); - }); - - - for (i = 0; i < json.length; i += 1) { - data[i] = { - user_id: json[i].user_id, - user_pass: json[i].user_pass, - user_mail: json[i].user_mail, - user_phone: json[i].user_phone, - user_online: json[i].user_online, - user_enable: json[i].user_enable, - user_start_date: json[i].user_start_date, - user_end_date: json[i].user_end_date - }; - } - - // Grille des utilisateurs du VPN - grid = new Slick.Grid($("#grid_user"), data, columns, options); - - $("#grid_user").on('click', function () { - var $active = grid.getActiveCell(); - - if ($active !== undefined && $active.cell === 0) { - save = $(grid.getActiveCellNode()).html(); - } else { - save = null; - } - }); - - // Lorsqu'on modifie une cellule d'un utilisateur - grid.onCellChange.subscribe(function (e, args) { - var item = args.item; - - // On sauvegarde l'ancien user_id - if (save) { - item.set_user = save; - } else { - item.set_user = item.user_id; - } - - // Suppression dans la bdd - $.ajax({ - type: "POST", - url: "include/ajax.php", - dataType: "json", - data: item, - success: function () { - // Transformation en sha1 du mdp - if(args.cell == 1) { - grid.invalidateRow(args.row); - data[args.row][grid.getColumns()[args.cell].field] = hex_sha1(data[args.row][grid.getColumns()[args.cell].field]); - grid.render(); - } - }, - error: function () { - alert("Erreur dans la modification des données..."); - } - }); - - delete item.set_user; - }); - - // Ajout d'un nouvel utilisateur - grid.onAddNewRow.subscribe(function (e, args) { - var item = args.item; - - // On ne peut ajouter un utilisateur qu'en saisissant son id - if (!item.user_id) { - return; - } - - // Modification dans la bdd - item.add_user = true; - - $.ajax({ - type: "POST", - url: "include/ajax.php", - dataType: "json", - data: item, - error: function () { - alert("Erreur dans l'insertion des données..."); - } - }); - - delete item.add_user; - - // Maj de la grille - grid.invalidateRow(data.length); - data.push(item); - grid.updateRowCount(); - grid.render(); - }); - - grid.autosizeColumns(); - }, - error: function () { - alert('Erreur dans la récupération des données...'); - } - }); - - - // Selection des admins - $.ajax({ - type: "POST", - url: "include/ajax.php", - dataType: 'json', - data: "select=admin", - success: function (json) { - // Fonction créant la cellule pour supprimer un admin - function buttonFormatter(row, cell, value, columnDef, dataContext) { - var button = ""; - return button; - } - - var - i, - - // Header des colonnes - columns = [ - {id: "admin_id", name: "Admin ID", field: "admin_id", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text}, - {id: "admin_pass", name: "Admin Pass", field: "admin_pass", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text}, - {id: "admin_del", name: 'Delete', field: "admin_del", width: 250, formatter: buttonFormatter} - ], - - // Option de la grille - options = { - editable: true, - enableAddRow: true, - enableCellNavigation: true, - asyncEditorLoading: false, - autoEdit: false, - autoHeight: true - }, - - data = [], - grid = null, - - // Sauvegarder l'ancien admin_id lorsqu'on modifie un admin - save = null; - - - - // Lorsqu'on veut supprimer un admin - $('.del_admin').live('click', function () { - // Suppression dans la bdd - var me = $(this), id = me.attr('id'), data = grid.getData(); - $.ajax({ - type: "POST", - url: "include/ajax.php", - dataType: "json", - data: {del_admin_id: id}, - error: function () { - alert("Erreur dans la suppression de la donnée..."); - } - }); - - // Maj de la grille - data.splice(me.attr('data-row'), 1); - grid.setData(data); - grid.render(); - }); - - - for (i = 0; i < json.length; i += 1) { - data[i] = { - admin_id: json[i].admin_id, - admin_pass: json[i].admin_pass - }; - } - - grid = new Slick.Grid($("#grid_admin"), data, columns, options); - - $("#grid_admin").on('click', function () { - var $active = grid.getActiveCell(); - - if ($active !== undefined && $active.cell === 0) { - save = $(grid.getActiveCellNode()).html(); - } else { - save = null; - } - }); - - // Lorsqu'on modifie un admin - grid.onCellChange.subscribe(function (e, args) { - var item = args.item; - - // On stocke l'ancien admin_id - if (save) { - item.set_admin = save; - } else { - item.set_admin = item.admin_id; - } - - // Modification de la bdd - $.ajax({ - type: "POST", - url: "include/ajax.php", - dataType: "json", - data: item, - error: function () { - alert("Erreur dans la modification des données..."); - } - }); - - delete item.set_admin; - }); - - // Ajout d'un nouvel admin - grid.onAddNewRow.subscribe(function (e, args) { - var item = args.item; - - // On peut ajouter un admin seulement en ajoutant un ID - if (!item.admin_id) { - return; - } - - item.add_admin = true; - - // Maj de la bdd - $.ajax({ - type: "POST", - url: "include/ajax.php", - dataType: "json", - data: item, - error: function () { - alert("Erreur dans l'insertion des données..."); - } - }); - - delete item.add_admin; - - // Maj de la grille - grid.invalidateRow(data.length); - data.push(item); - grid.updateRowCount(); - grid.render(); - }); - - grid.autosizeColumns(); - }, - error: function () { - alert('Erreur dans la récupération des données...'); - } - }); - - - - // Sélection des logs - var - i, - - // Header des colonnes - columns = [ - {id: "log_id", name: "Log ID", field: "log_id", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text}, - {id: "user_id", name: "User ID", field: "user_id", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text}, - {id: "log_trusted_ip", name: "Trusted IP", field: "log_trusted_ip", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text}, - {id: "log_trusted_port", name: "Trusted Port", field: "log_trusted_port", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text}, - {id: "log_remote_ip", name: "Remote IP", field: "log_remote_ip", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text}, - {id: "log_remote_port", name: "Remote Port", field: "log_remote_port", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text}, - {id: "log_start_time", name: "Start Time", field: "log_start_time", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text}, - {id: "log_end_time", name: "End Time", field: "log_end_time", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text}, - {id: "log_received", name: "Receveid", field: "log_received", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text}, - {id: "log_send", name: "Sent", field: "log_send", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text} - ], - - // Options de la grille - options = { - editable: false, - enableAddRow: false, - enableCellNavigation: true, - asyncEditorLoading: false, - autoEdit: false, - autoHeight: true - }, - - data = [], - - // Création de la grille - grid = new Slick.Grid($("#grid_log"), data, columns, options), - - // Pagination - pager = new Slick.Controls.EnhancementPager({ - container: $("#pagination"), - remoteUrl: "include/ajax.php", - params: {select: "log"}, - datagrid: grid, - pagerType: "" - }); - - grid.autosizeColumns(); - -}); diff --git a/js/jquery-1.7.min.js b/js/jquery-1.7.min.js deleted file mode 100644 index 3ca5e0f..0000000 --- a/js/jquery-1.7.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v1.7 jquery.com | jquery.org/license */ -(function(a,b){function cA(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cx(a){if(!cm[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cn||(cn=c.createElement("iframe"),cn.frameBorder=cn.width=cn.height=0),b.appendChild(cn);if(!co||!cn.createElement)co=(cn.contentWindow||cn.contentDocument).document,co.write((c.compatMode==="CSS1Compat"?"":"")+""),co.close();d=co.createElement(a),co.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cn)}cm[a]=e}return cm[a]}function cw(a,b){var c={};f.each(cs.concat.apply([],cs.slice(0,b)),function(){c[this]=a});return c}function cv(){ct=b}function cu(){setTimeout(cv,0);return ct=f.now()}function cl(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ck(){try{return new a.XMLHttpRequest}catch(b){}}function ce(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bB(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function br(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bi,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bq(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bp(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bp)}function bp(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bo(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bn(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bm(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(){return!0}function M(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z]|[0-9])/ig,x=/^-ms-/,y=function(a,b){return(b+"").toUpperCase()},z=d.userAgent,A,B,C,D=Object.prototype.toString,E=Object.prototype.hasOwnProperty,F=Array.prototype.push,G=Array.prototype.slice,H=String.prototype.trim,I=Array.prototype.indexOf,J={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7",length:0,size:function(){return this.length},toArray:function(){return G.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?F.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),B.add(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(G.apply(this,arguments),"slice",G.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:F,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;B.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!B){B=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",C,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",C),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&K()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return a!=null&&m.test(a)&&!isNaN(a)},type:function(a){return a==null?String(a):J[D.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!E.call(a,"constructor")&&!E.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||E.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(x,"ms-").replace(w,y)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
a",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,unknownElems:!!a.getElementsByTagName("nav").length,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",enctype:!!c.createElement("form").enctype,submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.lastChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},m&&f.extend(p,{position:"absolute",left:"-999px",top:"-999px"});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;f(function(){var a,b,d,e,g,h,i=1,j="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",l="visibility:hidden;border:0;",n="style='"+j+"border:5px solid #000;padding:0;'",p="
"+""+"
";m=c.getElementsByTagName("body")[0];!m||(a=c.createElement("div"),a.style.cssText=l+"width:0;height:0;position:static;top:0;margin-top:"+i+"px",m.insertBefore(a,m.firstChild),o=c.createElement("div"),o.style.cssText=j+l,o.innerHTML=p,a.appendChild(o),b=o.firstChild,d=b.firstChild,g=b.nextSibling.firstChild.firstChild,h={doesNotAddBorder:d.offsetTop!==5,doesAddBorderForTableAndCells:g.offsetTop===5},d.style.position="fixed",d.style.top="20px",h.fixedPosition=d.offsetTop===20||d.offsetTop===15,d.style.position=d.style.top="",b.style.overflow="hidden",b.style.position="relative",h.subtractsBorderForOverflowNotVisible=d.offsetTop===-5,h.doesNotIncludeMarginInBodyOffset=m.offsetTop!==i,m.removeChild(a),o=a=null,f.extend(k,h))}),o.innerHTML="",n.removeChild(o),o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[f.expando]:a[f.expando]&&f.expando,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[f.expando]=n=++f.uuid:n=f.expando),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[f.expando]:f.expando;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)?b=b:b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" "));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];if(!arguments.length){if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}return b}e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!a||j===3||j===8||j===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g},removeAttr:function(a,b){var c,d,e,g,h=0;if(a.nodeType===1){d=(b||"").split(p),g=d.length;for(;h=0}})});var z=/\.(.*)$/,A=/^(?:textarea|input|select)$/i,B=/\./g,C=/ /g,D=/[^\w\s.|`]/g,E=/^([^\.]*)?(?:\.(.+))?$/,F=/\bhover(\.\S+)?/,G=/^key/,H=/^(?:mouse|contextmenu)|click/,I=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,J=function(a){var b=I.exec(a);b&& -(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},K=function(a,b){return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||a.id===b[2])&&(!b[3]||b[3].test(a.className))},L=function(a){return f.event.special.hover?a:a.replace(F,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=L(c).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"",(g||!e)&&c.preventDefault();if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,n=null;for(m=e.parentNode;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l=0:t===b&&(t=o[s]=r.quick?K(m,r.quick):f(m).is(s)),t&&q.push(r);q.length&&j.push({elem:m,matches:q})}d.length>e&&j.push({elem:this,matches:d.slice(e)});for(k=0;k0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),G.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),H.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var Y="abbr article aside audio canvas datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",Z=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,_=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,ba=/<([\w:]+)/,bb=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bk=X(c);bj.optgroup=bj.option,bj.tbody=bj.tfoot=bj.colgroup=bj.caption=bj.thead,bj.th=bj.td,f.support.htmlSerialize||(bj._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after" -,arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Z,""):null;if(typeof a=="string"&&!bd.test(a)&&(f.support.leadingWhitespace||!$.test(a))&&!bj[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(_,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bn(a,d),e=bo(a),g=bo(d);for(h=0;e[h];++h)g[h]&&bn(e[h],g[h])}if(b){bm(a,d);if(c){e=bo(a),g=bo(d);for(h=0;e[h];++h)bm(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!bc.test(k))k=b.createTextNode(k);else{k=k.replace(_,"<$1>");var l=(ba.exec(k)||["",""])[1].toLowerCase(),m=bj[l]||bj._default,n=m[0],o=b.createElement("div");b===c?bk.appendChild(o):X(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=bb.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&$.test(k)&&o.insertBefore(b.createTextNode($.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bt.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bs,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bs.test(g)?g.replace(bs,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bB(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bC=function(a,c){var d,e,g;c=c.replace(bu,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bD=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bv.test(f)&&bw.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bB=bC||bD,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bF=/%20/g,bG=/\[\]$/,bH=/\r?\n/g,bI=/#.*$/,bJ=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bK=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bL=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bM=/^(?:GET|HEAD)$/,bN=/^\/\//,bO=/\?/,bP=/)<[^<]*)*<\/script>/gi,bQ=/^(?:select|textarea)/i,bR=/\s+/,bS=/([?&])_=[^&]*/,bT=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bU=f.fn.load,bV={},bW={},bX,bY,bZ=["*/"]+["*"];try{bX=e.href}catch(b$){bX=c.createElement("a"),bX.href="",bX=bX.href}bY=bT.exec(bX.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bU)return bU.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bP,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bQ.test(this.nodeName)||bK.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bH,"\r\n")}}):{name:b.name,value:c.replace(bH,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?cb(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),cb(a,b);return a},ajaxSettings:{url:bX,isLocal:bL.test(bY[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bZ},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:b_(bV),ajaxTransport:b_(bW),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cd(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=ce(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bJ.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bI,"").replace(bN,bY[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bR),d.crossDomain==null&&(r=bT.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bY[1]&&r[2]==bY[2]&&(r[3]||(r[1]==="http:"?80:443))==(bY[3]||(bY[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),ca(bV,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bM.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bO.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bS,"$1_="+x);d.url=y+(y===d.url?(bO.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bZ+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=ca(bW,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){s<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)cc(g,a[g],c,e);return d.join("&").replace(bF,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cf=f.now(),cg=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cf++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cg.test(b.url)||e&&cg.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cg,l),b.url===j&&(e&&(k=k.replace(cg,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ch=a.ActiveXObject?function(){for(var a in cj)cj[a](0,1)}:!1,ci=0,cj;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ck()||cl()}:ck,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ch&&delete cj[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++ci,ch&&(cj||(cj={},f(a).unload(ch)),cj[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cm={},cn,co,cp=/^(?:toggle|show|hide)$/,cq=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cr,cs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],ct;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cw("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cz.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cz.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cA(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cA(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file diff --git a/js/jquery-ui-1.8.16.custom.min.js b/js/jquery-ui-1.8.16.custom.min.js deleted file mode 100644 index 7e3093a..0000000 --- a/js/jquery-ui-1.8.16.custom.min.js +++ /dev/null @@ -1,611 +0,0 @@ -/*! - * jQuery UI 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI - */ -(function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.16", -keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,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,WINDOWS:91}});c.fn.extend({propAttr:c.fn.prop||c.fn.attr,_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d= -this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this, -"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart": -"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight, -outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a, -"tabindex"),d=isNaN(b);return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&& -a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted= -false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); -;/* - * jQuery UI Position 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Position - */ -(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY, -left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+= -k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+(parseInt(c.curCSS(this,"marginRight",true))||0),w=m+q+(parseInt(c.curCSS(this,"marginBottom",true))||0),i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-= -m/2;i.left=Math.round(i.left);i.top=Math.round(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left= -d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+= -a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b), -g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery); -;/* - * jQuery UI Draggable 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Draggables - * - * Depends: - * jquery.ui.core.js - * jquery.ui.mouse.js - * jquery.ui.widget.js - */ -(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper== -"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b= -this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;if(b.iframeFix)d(b.iframeFix===true?"iframe":b.iframeFix).each(function(){d('
').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")});return true},_mouseStart:function(a){var b=this.options; -this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}); -this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions();d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);d.ui.ddmanager&&d.ui.ddmanager.dragStart(this,a);return true}, -_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.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";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b= -false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element,b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration, -10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},_mouseUp:function(a){this.options.iframeFix===true&&d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)});d.ui.ddmanager&&d.ui.ddmanager.dragStop(this,a);return d.ui.mouse.prototype._mouseUp.call(this,a)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle|| -!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone().removeAttr("id"):this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&& -a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent= -this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"), -10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"), -10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[a.containment=="document"?0:d(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a.containment=="document"?0:d(window).scrollTop()-this.offset.relative.top-this.offset.parent.top, -(a.containment=="document"?0:d(window).scrollLeft())+d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"?0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&a.containment.constructor!=Array){a=d(a.containment);var b=a[0];if(b){a.offset();var c=d(b).css("overflow")!= -"hidden";this.containment=[(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0),(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0),(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"), -10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom];this.relative_container=a}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+ -this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&& -!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,h=a.pageY;if(this.originalPosition){var g;if(this.containment){if(this.relative_container){g=this.relative_container.offset();g=[this.containment[0]+g.left,this.containment[1]+g.top,this.containment[2]+g.left,this.containment[3]+g.top]}else g=this.containment;if(a.pageX-this.offset.click.leftg[2])e=g[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>g[3])h=g[3]+this.offset.click.top}if(b.grid){h=b.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/b.grid[1])*b.grid[1]:this.originalPageY;h=g?!(h-this.offset.click.topg[3])?h:!(h-this.offset.click.topg[2])?e:!(e-this.offset.click.left=0;i--){var j=c.snapElements[i].left,l=j+c.snapElements[i].width,k=c.snapElements[i].top,m=k+c.snapElements[i].height;if(j-e=j&&f<=l||h>=j&&h<=l||fl)&&(e>= -i&&e<=k||g>=i&&g<=k||ek);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(), -top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle= -this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".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(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor== -String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,l);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection(); -this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){if(!a.disabled){e(this).removeClass("ui-resizable-autohide");b._handles.show()}},function(){if(!a.disabled)if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy(); -var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a= -false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"}); -this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff= -{width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio:this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis]; -if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize",b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false}, -_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height;f=f?0:c.sizeDiff.width;f={width:c.helper.width()-f,height:c.helper.height()-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f, -{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",b);this._helper&&this.helper.remove();return false},_updateVirtualBoundaries:function(b){var a=this.options,c,d,f;a={minWidth:k(a.minWidth)?a.minWidth:0,maxWidth:k(a.maxWidth)?a.maxWidth:Infinity,minHeight:k(a.minHeight)?a.minHeight:0,maxHeight:k(a.maxHeight)?a.maxHeight: -Infinity};if(this._aspectRatio||b){b=a.minHeight*this.aspectRatio;d=a.minWidth/this.aspectRatio;c=a.maxHeight*this.aspectRatio;f=a.maxWidth/this.aspectRatio;if(b>a.minWidth)a.minWidth=b;if(d>a.minHeight)a.minHeight=d;if(cb.width,h=k(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&l)b.left=i-a.minWidth;if(d&&l)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left= -null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+ -a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+ -c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]); -b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable,{version:"1.8.16"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(), -10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize,function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top- -f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var l=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:l.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n=(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(l.css("position"))){c._revertToRelativePosition=true;l.css({position:"absolute",top:"auto",left:"auto"})}l.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType? -e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition=false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a= -e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing, -step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement= -e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top","Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset; -var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset,f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left: -a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top- -d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition, -f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.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 a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b= -e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height= -d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery); -;/* - * jQuery UI Selectable 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Selectables - * - * Depends: - * jquery.ui.core.js - * jquery.ui.mouse.js - * jquery.ui.widget.js - */ -(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"), -selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("
")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX, -c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting", -c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=this;this.dragged=true;if(!this.options.disabled){var d= -this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.righti||a.bottomb&&a.rightg&&a.bottom *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){var a=this.options;this.containerCache={};this.element.addClass("ui-sortable"); -this.refresh();this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a=== -"disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&& -!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top, -left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]}; -this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!= -document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a); -return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0], -e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset(); -c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:b.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(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"): -this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null, -dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")}, -toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+jg&&b+la[this.floating?"width":"height"]?j:g0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith(); -if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), -this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h=0;b--){var c=this.items[b];if(!(c.instance!=this.currentContainer&&this.currentContainer&&c.item[0]!=this.currentItem[0])){var e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b= -this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f= -d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")|| -0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out", -a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h- -f)this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g- -this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])?g:!(g-this.offset.click.topthis.containment[2])?f:!(f-this.offset.click.left=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this, -this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop", -a,this._uiHash());for(e=0;e").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(b.range==="min"||b.range==="max"?" ui-slider-range-"+b.range:""))}for(var j=c.length;j"); -this.handles=c.add(d(e.join("")).appendTo(a.element));this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(g){g.preventDefault()}).hover(function(){b.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(b.disabled)d(this).blur();else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(g){d(this).data("index.ui-slider-handle", -g)});this.handles.keydown(function(g){var k=true,l=d(this).data("index.ui-slider-handle"),i,h,m;if(!a.options.disabled){switch(g.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:k=false;if(!a._keySliding){a._keySliding=true;d(this).addClass("ui-state-active");i=a._start(g,l);if(i===false)return}break}m=a.options.step;i=a.options.values&&a.options.values.length? -(h=a.values(l)):(h=a.value());switch(g.keyCode){case d.ui.keyCode.HOME:h=a._valueMin();break;case d.ui.keyCode.END:h=a._valueMax();break;case d.ui.keyCode.PAGE_UP:h=a._trimAlignValue(i+(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:h=a._trimAlignValue(i-(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(i===a._valueMax())return;h=a._trimAlignValue(i+m);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(i===a._valueMin())return;h=a._trimAlignValue(i- -m);break}a._slide(g,l,h);return k}}).keyup(function(g){var k=d(this).data("index.ui-slider-handle");if(a._keySliding){a._keySliding=false;a._stop(g,k);a._change(g,k);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy(); -return this},_mouseCapture:function(a){var b=this.options,c,f,e,j,g;if(b.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:a.pageX,y:a.pageY});f=this._valueMax()-this._valueMin()+1;j=this;this.handles.each(function(k){var l=Math.abs(c-j.values(k));if(f>l){f=l;e=d(this);g=k}});if(b.range===true&&this.values(1)===b.min){g+=1;e=d(this.handles[g])}if(this._start(a,g)===false)return false; -this._mouseSliding=true;j._handleIndex=g;e.addClass("ui-state-active").focus();b=e.offset();this._clickOffset=!d(a.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:a.pageX-b.left-e.width()/2,top:a.pageY-b.top-e.height()/2-(parseInt(e.css("borderTopWidth"),10)||0)-(parseInt(e.css("borderBottomWidth"),10)||0)+(parseInt(e.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(a,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(a){var b= -this._normValueFromMouse({x:a.pageX,y:a.pageY});this._slide(a,this._handleIndex,b);return false},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b;if(this.orientation==="horizontal"){b= -this.elementSize.width;a=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{b=this.elementSize.height;a=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}b=a/b;if(b>1)b=1;if(b<0)b=0;if(this.orientation==="vertical")b=1-b;a=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+b*a)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b); -c.values=this.values()}return this._trigger("start",a,c)},_slide:function(a,b,c){var f;if(this.options.values&&this.options.values.length){f=this.values(b?0:1);if(this.options.values.length===2&&this.options.range===true&&(b===0&&c>f||b===1&&c1){this.options.values[a]=this._trimAlignValue(b);this._refreshValue();this._change(null,a)}else if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;f=arguments[0];for(e=0;e=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b;a=a-c;if(Math.abs(c)*2>=b)a+=c>0?b:-b;return parseFloat(a.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var a= -this.options.range,b=this.options,c=this,f=!this._animateOff?b.animate:false,e,j={},g,k,l,i;if(this.options.values&&this.options.values.length)this.handles.each(function(h){e=(c.values(h)-c._valueMin())/(c._valueMax()-c._valueMin())*100;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";d(this).stop(1,1)[f?"animate":"css"](j,b.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(h===0)c.range.stop(1,1)[f?"animate":"css"]({left:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({width:e- -g+"%"},{queue:false,duration:b.animate})}else{if(h===0)c.range.stop(1,1)[f?"animate":"css"]({bottom:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({height:e-g+"%"},{queue:false,duration:b.animate})}g=e});else{k=this.value();l=this._valueMin();i=this._valueMax();e=i!==l?(k-l)/(i-l)*100:0;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[f?"animate":"css"](j,b.animate);if(a==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[f?"animate":"css"]({width:e+"%"}, -b.animate);if(a==="max"&&this.orientation==="horizontal")this.range[f?"animate":"css"]({width:100-e+"%"},{queue:false,duration:b.animate});if(a==="min"&&this.orientation==="vertical")this.range.stop(1,1)[f?"animate":"css"]({height:e+"%"},b.animate);if(a==="max"&&this.orientation==="vertical")this.range[f?"animate":"css"]({height:100-e+"%"},{queue:false,duration:b.animate})}}});d.extend(d.ui.slider,{version:"1.8.16"})})(jQuery); -;/* - * jQuery UI Datepicker 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Datepicker - * - * Depends: - * jquery.ui.core.js - */ -(function(d,C){function M(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._inDialog=this._datepickerShowing=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._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass= -"ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",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"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su", -"Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10", -minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false,disabled:false};d.extend(this._defaults,this.regional[""]);this.dpDiv=N(d('
'))}function N(a){return a.bind("mouseout", -function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");b.length&&b.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");if(!(d.datepicker._isDisabledDatepicker(J.inline?a.parent()[0]:J.input[0])||!b.length)){b.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"); -b.addClass("ui-state-hover");b.hasClass("ui-datepicker-prev")&&b.addClass("ui-datepicker-prev-hover");b.hasClass("ui-datepicker-next")&&b.addClass("ui-datepicker-next-hover")}})}function H(a,b){d.extend(a,b);for(var c in b)if(b[c]==null||b[c]==C)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.16"}});var B=(new Date).getTime(),J;d.extend(M.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv}, -setDefaults:function(a){H(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g, -"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:N(d('
'))}},_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker", -function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b);b.settings.disabled&&this._disableDatepicker(a)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&b.append.remove();if(c){b.append=d(''+c+"");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c== -"focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('').addClass(this._triggerClass).html(f==""?c:d("").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker(): -d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;gh){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a, -b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),true);this._updateDatepicker(b);this._updateAlternate(b);b.settings.disabled&&this._disableDatepicker(a);b.dpDiv.css("display","block")}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+= -1;this._dialogInput=d('');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}H(a.settings,e||{});b=b&&b.constructor==Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/ -2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b= -d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e= -a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().removeClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=d(a),c=d.data(a, -"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().addClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f== -a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;for(var b=0;b-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input", -a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);if(d.datepicker._curInst&&d.datepicker._curInst!=b){d.datepicker._datepickerShowing&&d.datepicker._triggerOnClose(d.datepicker._curInst);d.datepicker._curInst.dpDiv.stop(true,true)}var c=d.datepicker._get(b,"beforeShow");c=c?c.apply(a,[a,b]):{};if(c!==false){H(b.settings,c);b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value= -"";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b); -c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){var i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.datepicker._datepickerShowing= -true;d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}}},_updateDatepicker:function(a){this.maxRows=4;var b=d.datepicker._getBorders(a.dpDiv);J=a;a.dpDiv.empty().append(this._generateHTML(a));var c=a.dpDiv.find("iframe.ui-datepicker-cover");c.length&&c.css({left:-b[0],top:-b[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}); -a.dpDiv.find("."+this._dayOverClass+" a").mouseover();b=this._getNumberOfMonths(a);c=b[1];a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");c>1&&a.dpDiv.addClass("ui-datepicker-multi-"+c).css("width",17*c+"em");a.dpDiv[(b[0]!=1||b[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&& -!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var e=a.yearshtml;setTimeout(function(){e===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);e=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(), -h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b= -this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_triggerOnClose:function(a){var b=this._get(a,"onClose");if(b)b.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a])},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b); -this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();d.datepicker._triggerOnClose(b);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")}, -_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"): -0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e["selected"+(c=="M"? -"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a); -this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField"); -if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"? -b.toString():b+"";if(b=="")return null;var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=A+1-1){j=1;l=u;do{e=this._getDaysInMonth(c,j-1);if(l<=e)break;j++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,j-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=j||v.getDate()!=l)throw"Invalid date";return v},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",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames: -null)||this._defaults.monthNames;var i=function(o){(o=k+1 -12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||a.input&& -a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),j=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay? -new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),k=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=k&&nn;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-j,1)),this._getFormatConfig(a)); -n=this._canAdjustMonth(a,-1,m,g)?''+n+"":f?"":''+n+"";var s=this._get(a,"nextText");s=!h?s:this.formatDate(s,this._daylightSavingAdjust(new Date(m, -g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?''+s+"":f?"":''+s+"";j=this._get(a,"currentText");s=this._get(a,"gotoCurrent")&& -a.currentDay?u:b;j=!h?j:this.formatDate(j,s,this._getFormatConfig(a));h=!a.inline?'":"";e=e?'
'+(c?h:"")+(this._isInRange(a,s)?'":"")+(c?"":h)+"
":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");s=this._get(a,"dayNames");this._get(a,"dayNamesShort");var q=this._get(a,"dayNamesMin"),A=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),D=this._get(a,"showOtherMonths"),K=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var E=this._getDefaultDate(a),w="",x=0;x1)switch(G){case 0:y+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:y+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:y+=" ui-datepicker-group-middle";t="";break}y+='">'}y+='
'+(/all|left/.test(t)&& -x==0?c?f:n:"")+(/all|right/.test(t)&&x==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,x>0||G>0,A,v)+'
';var z=j?'":"";for(t=0;t<7;t++){var r=(t+h)%7;z+="=5?' class="ui-datepicker-week-end"':"")+'>'+q[r]+""}y+=z+"";z=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay, -z);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;z=Math.ceil((t+z)/7);this.maxRows=z=l?this.maxRows>z?this.maxRows:z:z;r=this._daylightSavingAdjust(new Date(m,g,1-t));for(var Q=0;Q";var R=!j?"":'";for(t=0;t<7;t++){var I=p?p.apply(a.input?a.input[0]:null,[r]):[true,""],F=r.getMonth()!=g,L=F&&!K||!I[0]||k&&ro;R+='";r.setDate(r.getDate()+1);r=this._daylightSavingAdjust(r)}y+=R+""}g++;if(g>11){g=0;m++}y+="
'+this._get(a,"weekHeader")+"
'+this._get(a,"calculateWeek")(r)+""+(F&&!D?" ":L?''+ -r.getDate()+"":''+r.getDate()+"")+"
"+(l?""+(i[0]>0&&G==i[1]-1?'
':""):"");O+=y}w+=O}w+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'': -"");a._keyEvent=false;return w},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='
',o="";if(h||!j)o+=''+i[b]+"";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='"}u||(k+=o+(h||!(j&&l)?" ":""));if(!a.yearshtml){a.yearshtml="";if(h||!l)k+=''+c+"";else{g=this._get(a,"yearRange").split(":");var s=(new Date).getFullYear();i=function(q){q=q.match(/c[+-].*/)?c+parseInt(q.substring(1),10):q.match(/[+-].*/)?s+parseInt(q,10):parseInt(q,10);return isNaN(q)?s:q};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b, -e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(a.yearshtml+='";k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?" ":"")+o;k+="
";return k},_adjustInstDate:function(a,b,c){var e=a.drawYear+(c=="Y"?b:0),f=a.drawMonth+ -(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&ba?a:b},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");if(b)b.apply(a.input? -a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);c=this._daylightSavingAdjust(new Date(c, -e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a, -"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=function(a){if(!this.length)return this; -if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));return this.each(function(){typeof a== -"string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new M;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.16";window["DP_jQuery_"+B]=d})(jQuery); -;/* - * jQuery UI Effects 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/ - */ -jQuery.effects||function(f,j){function m(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1], -16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return n.transparent;return n[f.trim(c).toLowerCase()]}function s(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return m(b)}function o(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle, -a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function p(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in t||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function u(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function k(c,a,b,d){if(typeof c=="object"){d= -a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}if(f.isFunction(b)){d=b;b=null}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:b in f.fx.speeds?f.fx.speeds[b]:f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}function l(c){if(!c||typeof c==="number"||f.fx.speeds[c])return true;if(typeof c==="string"&&!f.effects[c])return true;return false}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor", -"borderTopColor","borderColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=s(b.elem,a);b.end=m(b.end);b.colorInit=true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var n={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]},q=["add","remove","toggle"],t={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b, -d){if(f.isFunction(b)){d=b;b=null}return this.queue(function(){var e=f(this),g=e.attr("style")||" ",h=p(o.call(this)),r,v=e.attr("class");f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});r=p(o.call(this));e.attr("class",v);e.animate(u(h,r),{queue:false,duration:a,easing:b,complete:function(){f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments);f.dequeue(this)}})})}; -f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this, -[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.16",save:function(c,a){for(var b=0;b").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}), -d=document.activeElement;c.wrap(b);if(c[0]===d||f.contains(c[0],d))f(d).focus();b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(e,g){a[g]=c.css(g);if(isNaN(parseInt(a[g],10)))a[g]="auto"});c.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}return b.css(a).show()},removeWrapper:function(c){var a,b=document.activeElement; -if(c.parent().is(".ui-effects-wrapper")){a=c.parent().replaceWith(c);if(c[0]===b||f.contains(c[0],b))f(b).focus();return a}return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments),b={options:a[1],duration:a[2],callback:a[3]};a=b.options.mode;var d=f.effects[c];if(f.fx.off||!d)return a?this[a](b.duration,b.callback):this.each(function(){b.callback&&b.callback.call(this)}); -return d.call(this,b)},_show:f.fn.show,show:function(c){if(l(c))return this._show.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(l(c))return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(l(c)||typeof c==="boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this, -arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/ -2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b, -d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c, -a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b, -d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+ -e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery); -;/* - * jQuery UI Effects Fade 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Fade - * - * Depends: - * jquery.effects.core.js - */ -(function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery); -;/* - * jQuery UI Effects Fold 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Fold - * - * Depends: - * jquery.effects.core.js - */ -(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","bottom","left","right"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1], -10)/100*f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery); -;/* - * jQuery UI Effects Highlight 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Highlight - * - * Depends: - * jquery.effects.core.js - */ -(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&& -this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery); -;/* - * jQuery UI Effects Pulsate 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Pulsate - * - * Depends: - * jquery.effects.core.js - */ -(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments); -b.dequeue()})})}})(jQuery); -; \ No newline at end of file diff --git a/js/jquery.dropkick-1.0.0.js b/js/jquery.dropkick-1.0.0.js deleted file mode 100644 index aaffc4b..0000000 --- a/js/jquery.dropkick-1.0.0.js +++ /dev/null @@ -1,402 +0,0 @@ -/** - * DropKick - * - * Highly customizable element that gets dropkicked - lists = [], - - // Convenience keys for keyboard navigation - keyMap = { - 'left' : 37, - 'up' : 38, - 'right' : 39, - 'down' : 40, - 'enter' : 13 - }, - - // HTML template for the dropdowns - dropdownTemplate = [ - '
', - '', - '{{ label }}', - '', - '
', - '
    ', - '
', - '
', - '
' - ].join(''), - - // HTML template for dropdown options - optionTemplate = '
  • {{ text }}
  • ', - - // Some nice default values - defaults = { - startSpeed : 1000, // I recommend a high value here, I feel it makes the changes less noticeable to the user - theme : false, - change : false - }, - - // Make sure we only bind keydown on the document once - keysBound = false - ; - - // Called by using $('foo').dropkick(); - methods.init = function (settings) { - settings = $.extend({}, defaults, settings); - - return this.each(function () { - var - // The current list and place our new one in front of it - $select.before($dk); - - // Update the reference to $dk - $dk = $('#dk_container_' + id).fadeIn(settings.startSpeed); - - // Save the current theme - theme = settings.theme ? settings.theme : 'default'; - $dk.addClass('dk_theme_' + theme); - data.theme = theme; - - // Save the updated $dk reference into our data object - data.$dk = $dk; - - // Save the dropkick data onto the ";c=a.getElementsByTagName("*");b=a.getElementsByTagName("a")[0]; -if(!c||!c.length||!b)return{};e=u.createElement("select");g=e.appendChild(u.createElement("option"));c=a.getElementsByTagName("input")[0];h={leadingWhitespace:3===a.firstChild.nodeType,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(b.getAttribute("style")),hrefNormalized:"/a"===b.getAttribute("href"),opacity:/^0.55/.test(b.style.opacity),cssFloat:!!b.style.cssFloat,unknownElems:!!a.getElementsByTagName("nav").length,checkOn:"on"=== -c.value,optSelected:g.selected,getSetAttribute:"t"!==a.className,enctype:!!u.createElement("form").enctype,submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0};c.checked=!0;h.noCloneChecked=c.cloneNode(!0).checked;e.disabled=!0;h.optDisabled=!g.disabled;try{delete a.test}catch(r){h.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){h.noCloneEvent= -!1}),a.cloneNode(!0).fireEvent("onclick"));c=u.createElement("input");c.value="t";c.setAttribute("type","radio");h.radioValue="t"===c.value;c.setAttribute("checked","checked");a.appendChild(c);b=u.createDocumentFragment();b.appendChild(a.lastChild);h.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked;a.innerHTML="";a.style.width=a.style.paddingLeft="1px";l=u.getElementsByTagName("body")[0];m=u.createElement(l?"div":"body");b={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"}; -l&&k.extend(b,{position:"absolute",left:"-999px",top:"-999px"});for(n in b)m.style[n]=b[n];m.appendChild(a);d=l||d;d.insertBefore(m,d.firstChild);h.appendChecked=c.checked;h.boxModel=2===a.offsetWidth;"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,h.inlineBlockNeedsLayout=2===a.offsetWidth,a.style.display="",a.innerHTML="
    ",h.shrinkWrapBlocks=2!==a.offsetWidth);a.innerHTML="
    t
    "; -b=a.getElementsByTagName("td");c=0===b[0].offsetHeight;b[0].style.display="";b[1].style.display="none";h.reliableHiddenOffsets=c&&0===b[0].offsetHeight;a.innerHTML="";u.defaultView&&u.defaultView.getComputedStyle&&(f=u.createElement("div"),f.style.width="0",f.style.marginRight="0",a.appendChild(f),h.reliableMarginRight=0===(parseInt((u.defaultView.getComputedStyle(f,null)||{marginRight:0}).marginRight,10)||0));if(a.attachEvent)for(n in{submit:1,change:1,focusin:1})f="on"+n,(c=f in a)||(a.setAttribute(f, -"return;"),c="function"==typeof a[f]),h[n+"Bubbles"]=c;k(function(){var a,d,c,b,s;l=u.getElementsByTagName("body")[0];!l||(a=u.createElement("div"),a.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",l.insertBefore(a,l.firstChild),m=u.createElement("div"),m.style.cssText="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;visibility:hidden;border:0;",m.innerHTML="
    ", -a.appendChild(m),d=m.firstChild,c=d.firstChild,b=d.nextSibling.firstChild.firstChild,s={doesNotAddBorder:5!==c.offsetTop,doesAddBorderForTableAndCells:5===b.offsetTop},c.style.position="fixed",c.style.top="20px",s.fixedPosition=20===c.offsetTop||15===c.offsetTop,c.style.position=c.style.top="",d.style.overflow="hidden",d.style.position="relative",s.subtractsBorderForOverflowNotVisible=-5===c.offsetTop,s.doesNotIncludeMarginInBodyOffset=1!==l.offsetTop,l.removeChild(a),m=null,k.extend(h,s))});m.innerHTML= -"";d.removeChild(m);m=b=e=g=l=f=a=c=null;return h}();k.boxModel=k.support.boxModel;var I=/^(?:\{.*\}|\[.*\])$/,M=/([A-Z])/g;k.extend({cache:{},uuid:0,expando:"jQuery"+(k.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?k.cache[a[k.expando]]:a[k.expando];return!!a&&!ea(a)},data:function(a,d,b,e){if(k.acceptData(a)){var g,f,h="string"==typeof d,l=(g=a.nodeType)?k.cache:a,m=g?a[k.expando]:a[k.expando]&& -k.expando,n="events"===d;if(m&&l[m]&&(n||e||l[m].data)||!h||b!==c){m||(g?a[k.expando]=m=++k.uuid:m=k.expando);l[m]||(l[m]={},g||(l[m].toJSON=k.noop));if("object"==typeof d||"function"==typeof d)e?l[m]=k.extend(l[m],d):l[m].data=k.extend(l[m].data,d);a=g=l[m];e||(g.data||(g.data={}),g=g.data);b!==c&&(g[k.camelCase(d)]=b);if(n&&!g[d])return a.events;h?(f=g[d],null==f&&(f=g[k.camelCase(d)])):f=g;return f}}},removeData:function(a,d,c){if(k.acceptData(a)){var b,e,g,f=a.nodeType,h=f?k.cache:a,l=f?a[k.expando]: -k.expando;if(h[l]){if(d&&(b=c?h[l]:h[l].data)){k.isArray(d)||(d in b?d=[d]:(d=k.camelCase(d),d in b?d=[d]:d=d.split(" ")));e=0;for(g=d.length;eb)return null;a=f?b:0;for(c=f?b+1:g.length;af.indexOf(":")?"on"+f:"",!g&&e||d.preventDefault(),e){if(d.result=c,d.target||(d.target=e),b=null!=b?k.makeArray(b):[],b.unshift(d),l=k.event.special[f]||{},!l.trigger||!1!==l.trigger.apply(e,b)){p=[[e,l.bindType|| -f]];if(!g&&!l.noBubble&&!k.isWindow(e)){m=l.delegateType||f;n=null;for(g=e.parentNode;g;g=g.parentNode)p.push([g,m]),n=g;n&&n===e.ownerDocument&&p.push([n.defaultView||n.parentWindow||a,m])}for(m=0;me&&l.push({elem:this, -matches:b.slice(e)});for(m=0;m+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e="sizcache"+(Math.random()+"").replace(".",""),g=0,f=Object.prototype.toString,h=!1,l=!0,m=/\\/g,n=/\r\n/g,r=/\W/;[0,0].sort(function(){l=!1;return 0});var p=function(a,d,c,e){c=c|| -[];var g=d=d||u;if(1!==d.nodeType&&9!==d.nodeType)return[];if(!a||"string"!=typeof a)return c;var h,k,l,s,m,n,r=!0,R=p.isXML(d),t=[],Q=a;do if(b.exec(""),h=b.exec(Q))if(Q=h[3],t.push(h[1]),h[2]){s=h[3];break}while(h);if(1":function(a,d){var b,c="string"==typeof d,e=0,g=a.length;if(c&&!r.test(d))for(d=d.toLowerCase();ec[3]-0},nth:function(a,d,c){return c[3]-0===d},eq:function(a,d,c){return c[3]-0===d}},filter:{PSEUDO:function(a,d,c,b){var e=d[1],g=q.filters[e];if(g)return g(a,c,d,b);if("contains"===e)return 0<=(a.textContent||a.innerText|| -t([a])||"").indexOf(d[3]);if("not"===e){d=d[3];c=0;for(b=d.length;c";b.insertBefore(a,b.firstChild);u.getElementById(d)&&(q.find.ID=function(a,d,b){if("undefined"!=typeof d.getElementById&&!b)return(d=d.getElementById(a[1]))?d.id===a[1]||"undefined"!=typeof d.getAttributeNode&&d.getAttributeNode("id").nodeValue===a[1]?[d]:c:[]},q.filter.ID= -function(a,d){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return 1===a.nodeType&&c&&c.nodeValue===d});b.removeChild(a);b=a=null})();(function(){var a=u.createElement("div");a.appendChild(u.createComment(""));0

    ";if(!d.querySelectorAll||0!==d.querySelectorAll(".TEST").length){p=function(d,c,b,e){c=c||u;if(!e&&!p.isXML(c)){var g=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(d);if(g&&(1===c.nodeType||9===c.nodeType)){if(g[1])return v(c.getElementsByTagName(d),b);if(g[2]&&q.find.CLASS&&c.getElementsByClassName)return v(c.getElementsByClassName(g[2]), -b)}if(9===c.nodeType){if("body"===d&&c.body)return v([c.body],b);if(g&&g[3]){var f=c.getElementById(g[3]);if(!f||!f.parentNode)return v([],b);if(f.id===g[3])return v([f],b)}try{return v(c.querySelectorAll(d),b)}catch(h){}}else if(1===c.nodeType&&"object"!==c.nodeName.toLowerCase()){var g=c,l=(f=c.getAttribute("id"))||"__sizzle__",k=c.parentNode,s=/^\s*[+~]/.test(d);f?l=l.replace(/'/g,"\\$&"):c.setAttribute("id",l);s&&k&&(c=c.parentNode);try{if(!s||k)return v(c.querySelectorAll("[id='"+l+"'] "+d), -b)}catch(m){}finally{f||g.removeAttribute("id")}}}return a(d,c,b,e)};for(var c in a)p[c]=a[c];d=null}}();(function(){var a=u.documentElement,d=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(d){var c=!d.call(u.createElement("div"),"div"),b=!1;try{d.call(u.documentElement,"[test!='']:sizzle")}catch(e){b=!0}p.matchesSelector=function(a,e){e=e.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!p.isXML(a))try{if(b||!q.match.PSEUDO.test(e)&&!/!=/.test(e)){var g=d.call(a, -e);if(g||!c||a.document&&11!==a.document.nodeType)return g}}catch(f){}return 0
    ";a.getElementsByClassName&&0!==a.getElementsByClassName("e").length&&(a.lastChild.className="e",1!==a.getElementsByClassName("e").length&&(q.order.splice(1,0,"CLASS"),q.find.CLASS=function(a,d,c){if("undefined"!=typeof d.getElementsByClassName&&!c)return d.getElementsByClassName(a[1])}, -a=null))})();u.documentElement.contains?p.contains=function(a,d){return a!==d&&(a.contains?a.contains(d):!0)}:u.documentElement.compareDocumentPosition?p.contains=function(a,d){return!!(a.compareDocumentPosition(d)&16)}:p.contains=function(){return!1};p.isXML=function(a){return(a=(a?a.ownerDocument||a:0).documentElement)?"HTML"!==a.nodeName:!1};var C=function(a,d,c){var b,e=[],g="";for(d=d.nodeType?[d]:d;b=q.match.PSEUDO.exec(a);)g+=b[0],a=a.replace(q.match.PSEUDO,"");a=q.relative[a]?a+"*":a;b=0; -for(var f=d.length;b]*)\/>/ig,ac=/<([\w:]+)/,tc=/",""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2, -"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},db=z(u);da.optgroup=da.option;da.tbody=da.tfoot=da.colgroup=da.caption=da.thead;da.th=da.td;k.support.htmlSerialize||(da._default=[1,"div
    ","
    "]);k.fn.extend({text:function(a){return k.isFunction(a)?this.each(function(d){var c=k(this);c.text(a.call(this,d,c.text()))}):"object"!=typeof a&&a!== -c?this.empty().append((this[0]&&this[0].ownerDocument||u).createTextNode(a)):k.text(this)},wrapAll:function(a){if(k.isFunction(a))return this.each(function(d){k(this).wrapAll(a.call(this,d))});if(this[0]){var d=k(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&d.insertBefore(this[0]);d.map(function(){for(var a=this;a.firstChild&&1===a.firstChild.nodeType;)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return k.isFunction(a)?this.each(function(d){k(this).wrapInner(a.call(this, -d))}):this.each(function(){var d=k(this),c=d.contents();c.length?c.wrapAll(a):d.append(a)})},wrap:function(a){return this.each(function(){k(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){k.nodeName(this,"body")||k(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){1===this.nodeType&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){1===this.nodeType&&this.insertBefore(a,this.firstChild)})}, -before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=k(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,k(arguments[0]).toArray()); -return a}},remove:function(a,d){for(var c=0,b;null!=(b=this[c]);c++)if(!a||k.filter(a,[b]).length)!d&&1===b.nodeType&&(k.cleanData(b.getElementsByTagName("*")),k.cleanData([b])),b.parentNode&&b.parentNode.removeChild(b);return this},empty:function(){for(var a=0,d;null!=(d=this[a]);a++)for(1===d.nodeType&&k.cleanData(d.getElementsByTagName("*"));d.firstChild;)d.removeChild(d.firstChild);return this},clone:function(a,d){a=null==a?!1:a;d=null==d?a:d;return this.map(function(){return k.clone(this,a,d)})}, -html:function(a){if(a===c)return this[0]&&1===this[0].nodeType?this[0].innerHTML.replace(Zb,""):null;if("string"!=typeof a||vc.test(a)||!k.support.leadingWhitespace&&zb.test(a)||da[(ac.exec(a)||["",""])[1].toLowerCase()])k.isFunction(a)?this.each(function(d){var c=k(this);c.html(a.call(this,d,c.html()))}):this.empty().append(a);else{a=a.replace($b,"<$1>");try{for(var d=0,b=this.length;dh.length&&f===u&&"<"===h.charAt(0)&&!(wc.test(h)||!k.support.checkClone&&bc.test(h)||k.support.unknownElems)&&xc.test(h)&&(e=!0,g=k.fragments[h],g&&1!==g&&(b=g));b||(b=f.createDocumentFragment(),k.clean(a,f,b,c));e&&(k.fragments[h]= -g?b:1);return{fragment:b,cacheable:e}};k.fragments={};k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,d){k.fn[a]=function(c){var b=[];c=k(c);var e=1===this.length&&this[0].parentNode;if(e&&11===e.nodeType&&1===e.childNodes.length&&1===c.length)return c[d](this[0]),this;for(var e=0,g=c.length;e");g=(ac.exec(h)||["",""])[1].toLowerCase();var l=da[g]||da._default,m=l[0],n=d.createElement("div");d===u?db.appendChild(n):z(d).appendChild(n);for(n.innerHTML=l[1]+h+l[2];m--;)n=n.lastChild;if(!k.support.tbody)for(m=tc.test(h),l="table"!==g||m?""!==l[1]||m?[]:n.childNodes:n.firstChild&&n.firstChild.childNodes,g=l.length-1;0<=g;--g)k.nodeName(l[g],"tbody")&&!l[g].childNodes.length&&l[g].parentNode.removeChild(l[g]);!k.support.leadingWhitespace&&zb.test(h)&&n.insertBefore(d.createTextNode(zb.exec(h)[0]), -n.firstChild);h=n.childNodes}else h=d.createTextNode(h);var r;if(!k.support.appendChecked)if(h[0]&&"number"==typeof(r=h.length))for(g=0;g)<[^<]*)*<\/script>/gi,zc=/^(?:select|textarea)/i,Pb=/\s+/,Ac= -/([?&])_=[^&]*/,Gb=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,Hb=k.fn.load,Qa={},Ib={},Ga,Ha,Na=["*/"]+["*"];try{Ga=O.href}catch(pa){Ga=u.createElement("a"),Ga.href="",Ga=Ga.href}Ha=Gb.exec(Ga.toLowerCase())||[];k.fn.extend({load:function(a,d,b){if("string"!=typeof a&&Hb)return Hb.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(0<=e){var g=a.slice(e,a.length);a=a.slice(0,e)}e="GET";d&&(k.isFunction(d)?(b=d,d=c):"object"==typeof d&&(d=k.param(d,k.ajaxSettings.traditional), -e="POST"));var f=this;k.ajax({url:a,type:e,dataType:"html",data:d,complete:function(a,d,c){c=a.responseText;a.isResolved()&&(a.done(function(a){c=a}),f.html(g?k("
    ").append(c.replace(yc,"")).find(g):c));b&&f.each(b,[c,d,a])}});return this},serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?k.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||zc.test(this.nodeName)|| -Ma.test(this.type))}).map(function(a,d){var c=k(this).val();return null==c?null:k.isArray(c)?k.map(c,function(a,c){return{name:d.name,value:a.replace(Db,"\r\n")}}):{name:d.name,value:c.replace(Db,"\r\n")}}).get()}});k.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,d){k.fn[d]=function(a){return this.bind(d,a)}});k.each(["get","post"],function(a,d){k[d]=function(a,b,e,g){k.isFunction(b)&&(g=g||e,e=b,b=c);return k.ajax({type:d,url:a,data:b,success:e,dataType:g})}}); -k.extend({getScript:function(a,d){return k.get(a,c,d,"script")},getJSON:function(a,d,c){return k.get(a,d,c,"json")},ajaxSetup:function(a,d){d?m(a,k.ajaxSettings):(d=a,a=k.ajaxSettings);m(a,d);return a},ajaxSettings:{url:Ga,isLocal:/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/.test(Ha[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript", -"*":Na},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":k.parseJSON,"text xml":k.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:r(Qa),ajaxTransport:r(Ib),ajax:function(a,d){function b(a,d,r,p){if(2!==u){u=2;B&&clearTimeout(B);w=c;t=p||"";y.readyState=0a||304===a){if(e.ifModified){if(G=y.getResponseHeader("Last-Modified"))k.lastModified[n]=G;if(G=y.getResponseHeader("Etag"))k.etag[n]=G}if(304===a)p="notmodified",q=!0;else try{G=e;G.dataFilter&&(r=G.dataFilter(r, -G.dataType));var Aa=G.dataTypes;D={};var J,fa,K=Aa.length,ea,I=Aa[0],O,M,N,ga,P;for(J=1;Ja&&(a=0);y.status=a;y.statusText=""+(d||p);q?h.resolveWith(g,[s,p,y]):h.rejectWith(g,[y,p,x]);y.statusCode(m);m=c;A&&f.trigger("ajax"+(q?"Success":"Error"),[y,e,q?s:x]);l.fireWith(g,[y,p]);A&&(f.trigger("ajaxComplete",[y,e]),--k.active||k.event.trigger("ajaxStop"))}}"object"==typeof a&&(d=a,a=c);d=d||{};var e=k.ajaxSetup({},d),g=e.context||e,f=g!==e&&(g.nodeType||g instanceof k)?k(g):k.event,h=k.Deferred(),l=k.Callbacks("once memory"), -m=e.statusCode||{},n,r={},p={},t,x,w,B,v,u=0,A,z,y={readyState:0,setRequestHeader:function(a,d){if(!u){var c=a.toLowerCase();a=p[c]=p[c]||a;r[a]=d}return this},getAllResponseHeaders:function(){return 2===u?t:null},getResponseHeader:function(a){var d;if(2===u){if(!x)for(x={};d=fc.exec(t);)x[d[1].toLowerCase()]=d[2];d=x[a.toLowerCase()]}return d===c?null:d},overrideMimeType:function(a){u||(e.mimeType=a);return this},abort:function(a){a=a||"abort";w&&w.abort(a);b(0,a);return this}};h.promise(y);y.success= -y.done;y.error=y.fail;y.complete=l.add;y.statusCode=function(a){if(a){var d;if(2>u)for(d in a)m[d]=[m[d],a[d]];else d=a[y.status],y.then(d,d)}return this};e.url=((a||e.url)+"").replace(ec,"").replace(Eb,Ha[1]+"//");e.dataTypes=k.trim(e.dataType||"*").toLowerCase().split(Pb);null==e.crossDomain&&(v=Gb.exec(e.url.toLowerCase()),e.crossDomain=!(!v||v[1]==Ha[1]&&v[2]==Ha[2]&&(v[3]||("http:"===v[1]?80:443))==(Ha[3]||("http:"===Ha[1]?80:443))));e.data&&e.processData&&"string"!=typeof e.data&&(e.data=k.param(e.data, -e.traditional));q(Qa,e,d,y);if(2===u)return!1;A=e.global;e.type=e.type.toUpperCase();e.hasContent=!gc.test(e.type);A&&0===k.active++&&k.event.trigger("ajaxStart");if(!e.hasContent&&(e.data&&(e.url+=(Fb.test(e.url)?"&":"?")+e.data,delete e.data),n=e.url,!1===e.cache)){v=k.now();var C=e.url.replace(Ac,"$1_="+v);e.url=C+(C===e.url?(Fb.test(e.url)?"&":"?")+"_="+v:"")}(e.data&&e.hasContent&&!1!==e.contentType||d.contentType)&&y.setRequestHeader("Content-Type",e.contentType);e.ifModified&&(n=n||e.url,k.lastModified[n]&& -y.setRequestHeader("If-Modified-Since",k.lastModified[n]),k.etag[n]&&y.setRequestHeader("If-None-Match",k.etag[n]));y.setRequestHeader("Accept",e.dataTypes[0]&&e.accepts[e.dataTypes[0]]?e.accepts[e.dataTypes[0]]+("*"!==e.dataTypes[0]?", "+Na+"; q=0.01":""):e.accepts["*"]);for(z in e.headers)y.setRequestHeader(z,e.headers[z]);if(e.beforeSend&&(!1===e.beforeSend.call(g,y,e)||2===u))return y.abort(),!1;for(z in{success:1,error:1,complete:1})y[z](e[z]);if(w=q(Ib,e,d,y)){y.readyState=1;A&&f.trigger("ajaxSend", -[y,e]);e.async&&0u?b(-1,L):k.error(L)}}else b(-1,"No Transport");return y},param:function(a,d){var b=[],e=function(a,d){d=k.isFunction(d)?d():d;b[b.length]=encodeURIComponent(a)+"="+encodeURIComponent(d)};d===c&&(d=k.ajaxSettings.traditional);if(k.isArray(a)||a.jquery&&!k.isPlainObject(a))k.each(a,function(){e(this.name,this.value)});else for(var g in a)l(g,a[g],d,e);return b.join("&").replace(dc,"+")}}); -k.extend({active:0,lastModified:{},etag:{}});var qa=k.now(),fb=/(\=)\?(&|$)|\?\?/i;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return k.expando+"_"+qa++}});k.ajaxPrefilter("json jsonp",function(d,c,b){c="application/x-www-form-urlencoded"===d.contentType&&"string"==typeof d.data;if("jsonp"===d.dataTypes[0]||!1!==d.jsonp&&(fb.test(d.url)||c&&fb.test(d.data))){var e,g=d.jsonpCallback=k.isFunction(d.jsonpCallback)?d.jsonpCallback():d.jsonpCallback,f=a[g],h=d.url,l=d.data,m="$1"+g+"$2";!1!== -d.jsonp&&(h=h.replace(fb,m),d.url===h&&(c&&(l=l.replace(fb,m)),d.data===l&&(h+=(/\?/.test(h)?"&":"?")+d.jsonp+"="+g)));d.url=h;d.data=l;a[g]=function(a){e=[a]};b.always(function(){a[g]=f;e&&k.isFunction(f)&&a[g](e[0])});d.converters["script json"]=function(){e||k.error(g+" was not called");return e[0]};d.dataTypes[0]="json";return"script"}});k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/}, -converters:{"text script":function(a){k.globalEval(a);return a}}});k.ajaxPrefilter("script",function(a){a.cache===c&&(a.cache=!1);a.crossDomain&&(a.type="GET",a.global=!1)});k.ajaxTransport("script",function(a){if(a.crossDomain){var d,b=u.head||u.getElementsByTagName("head")[0]||u.documentElement;return{send:function(e,g){d=u.createElement("script");d.async="async";a.scriptCharset&&(d.charset=a.scriptCharset);d.src=a.url;d.onload=d.onreadystatechange=function(a,e){if(e||!d.readyState||/loaded|complete/.test(d.readyState))d.onload= -d.onreadystatechange=null,b&&d.parentNode&&b.removeChild(d),d=c,e||g(200,"success")};b.insertBefore(d,b.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ob=a.ActiveXObject?function(){for(var a in Va)Va[a](0,1)}:!1,Cc=0,Va;k.ajaxSettings.xhr=a.ActiveXObject?function(){var c;if(!(c=!this.isLocal&&d()))a:{try{c=new a.ActiveXObject("Microsoft.XMLHTTP");break a}catch(b){}c=void 0}return c}:d;(function(a){k.extend(k.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})})(k.ajaxSettings.xhr());k.support.ajax&& -k.ajaxTransport(function(d){if(!d.crossDomain||k.support.cors){var b;return{send:function(e,g){var f=d.xhr(),h,l;d.username?f.open(d.type,d.url,d.async,d.username,d.password):f.open(d.type,d.url,d.async);if(d.xhrFields)for(l in d.xhrFields)f[l]=d.xhrFields[l];d.mimeType&&f.overrideMimeType&&f.overrideMimeType(d.mimeType);d.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");try{for(l in e)f.setRequestHeader(l,e[l])}catch(m){}f.send(d.hasContent&&d.data||null);b=function(a, -e){var l,m,n,r,p;try{if(b&&(e||4===f.readyState))if(b=c,h&&(f.onreadystatechange=k.noop,ob&&delete Va[h]),e)4!==f.readyState&&f.abort();else{l=f.status;n=f.getAllResponseHeaders();r={};(p=f.responseXML)&&p.documentElement&&(r.xml=p);r.text=f.responseText;try{m=f.statusText}catch(t){m=""}l||!d.isLocal||d.crossDomain?1223===l&&(l=204):l=r.text?200:404}}catch(q){e||g(-1,q)}r&&g(l,m,r,n)};d.async&&4!==f.readyState?(h=++Cc,ob&&(Va||(Va={},k(a).unload(ob)),Va[h]=b),f.onreadystatechange=b):b()},abort:function(){b&& -b(0,1)}}}});var sb={},la,Pa,Kb=/^(?:toggle|show|hide)$/,ua=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,ha,Ia=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],xa;k.fn.extend({show:function(a,d,c){var b;if(a||0===a)return this.animate(g("show",3),a,d,c);d=0;for(c=this.length;d=f.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();f.animatedProperties[this.prop]=!0;for(d in f.animatedProperties)!0!== -f.animatedProperties[d]&&(e=!1);if(e){null!=f.overflow&&!k.support.shrinkWrapBlocks&&k.each(["","X","Y"],function(a,d){g.style["overflow"+d]=f.overflow[a]});f.hide&&k(g).hide();if(f.hide||f.show)for(d in f.animatedProperties)k.style(g,d,f.orig[d]),k.removeData(g,"fxshow"+d,!0),k.removeData(g,"toggle"+d,!0);(a=f.complete)&&(f.complete=!1,a.call(g))}return!1}Infinity==f.duration?this.now=b:(c=b-this.startTime,this.state=c/f.duration,this.pos=k.easing[f.animatedProperties[this.prop]](this.state,c,0, -1,f.duration),this.now=this.start+(this.end-this.start)*this.pos);this.update();return!0}};k.extend(k.fx,{tick:function(){for(var a,d=k.timers,c=0;cc&&a=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery); -(function(a){a.ui=a.ui||{};var c=/left|center|right/,b=/top|center|bottom/,e=a.fn.position,g=a.fn.offset;a.fn.position=function(g){if(!g||!g.of)return e.apply(this,arguments);g=a.extend({},g);var h=a(g.of),d=h[0],l=(g.collision||"flip").split(" "),m=g.offset?g.offset.split(" "):[0,0],q,r,n;9===d.nodeType?(q=h.width(),r=h.height(),n={top:0,left:0}):d.setTimeout?(q=h.width(),r=h.height(),n={top:h.scrollTop(),left:h.scrollLeft()}):d.preventDefault?(g.at="left top",q=r=0,n={top:g.of.pageY,left:g.of.pageX}): -(q=h.outerWidth(),r=h.outerHeight(),n=h.offset());a.each(["my","at"],function(){var a=(g[this]||"").split(" ");1===a.length&&(a=c.test(a[0])?a.concat(["center"]):b.test(a[0])?["center"].concat(a):["center","center"]);a[0]=c.test(a[0])?a[0]:"center";a[1]=b.test(a[1])?a[1]:"center";g[this]=a});1===l.length&&(l[1]=l[0]);m[0]=parseInt(m[0],10)||0;1===m.length&&(m[1]=m[0]);m[1]=parseInt(m[1],10)||0;"right"===g.at[0]?n.left+=q:"center"===g.at[0]&&(n.left+=q/2);"bottom"===g.at[1]?n.top+=r:"center"===g.at[1]&& -(n.top+=r/2);n.left+=m[0];n.top+=m[1];return this.each(function(){var d=a(this),c=d.outerWidth(),b=d.outerHeight(),e=parseInt(a.curCSS(this,"marginLeft",!0))||0,h=parseInt(a.curCSS(this,"marginTop",!0))||0,A=c+e+(parseInt(a.curCSS(this,"marginRight",!0))||0),y=b+h+(parseInt(a.curCSS(this,"marginBottom",!0))||0),z=a.extend({},n),v;"right"===g.my[0]?z.left-=c:"center"===g.my[0]&&(z.left-=c/2);"bottom"===g.my[1]?z.top-=b:"center"===g.my[1]&&(z.top-=b/2);z.left=Math.round(z.left);z.top=Math.round(z.top); -v={left:z.left-e,top:z.top-h};a.each(["left","top"],function(d,e){a.ui.position[l[d]]&&a.ui.position[l[d]][e](z,{targetWidth:q,targetHeight:r,elemWidth:c,elemHeight:b,collisionPosition:v,collisionWidth:A,collisionHeight:y,offset:m,my:g.my,at:g.at})});a.fn.bgiframe&&d.bgiframe();d.offset(a.extend(z,{using:g.using}))})};a.ui.position={fit:{left:function(c,b){var d=a(window),d=b.collisionPosition.left+b.collisionWidth-d.width()-d.scrollLeft();c.left=0b.collisionPosition.left?e+g+q:0b.collisionPosition.top?e+g+q:0
    ').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(a(this).offset()).appendTo("body")});return!0},_mouseStart:function(c){var b=this.options;this.helper=this._createHelper(c);this._cacheHelperProportions();a.ui.ddmanager&&(a.ui.ddmanager.current= -this);this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};a.extend(this.offset,{click:{left:c.pageX-this.offset.left,top:c.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this.position=this._generatePosition(c);this.originalPageX=c.pageX; -this.originalPageY=c.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(!1===this._trigger("start",c))return this._clear(),!1;this._cacheHelperProportions();a.ui.ddmanager&&!b.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,c);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(c,!0);a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,c);return!0},_mouseDrag:function(c,b){this.position=this._generatePosition(c);this.positionAbs=this._convertPositionTo("absolute"); -if(!b){b=this._uiHash();if(!1===this._trigger("drag",c,b))return this._mouseUp({}),!1;this.position=b.position}this.options.axis&&"y"==this.options.axis||(this.helper[0].style.left=this.position.left+"px");this.options.axis&&"x"==this.options.axis||(this.helper[0].style.top=this.position.top+"px");a.ui.ddmanager&&a.ui.ddmanager.drag(this,c);return!1},_mouseStop:function(c){var b=!1;a.ui.ddmanager&&!this.options.dropBehaviour&&(b=a.ui.ddmanager.drop(this,c));this.dropped&&(b=this.dropped,this.dropped= -!1);if(!(this.element[0]&&this.element[0].parentNode||"original"!=this.options.helper))return!1;if("invalid"==this.options.revert&&!b||"valid"==this.options.revert&&b||!0===this.options.revert||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,b)){var e=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){!1!==e._trigger("stop",c)&&e._clear()})}else!1!==this._trigger("stop",c)&&this._clear();return!1},_mouseUp:function(c){!0=== -this.options.iframeFix&&a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)});a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,c);return a.ui.mouse.prototype._mouseUp.call(this,c)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(c){var b=this.options.handle&&a(this.options.handle,this.element).length?!1:!0;a(this.options.handle,this.element).find("*").andSelf().each(function(){this==c.target&&(b= -!0)});return b},_createHelper:function(c){var b=this.options;c=a.isFunction(b.helper)?a(b.helper.apply(this.element[0],[c])):"clone"==b.helper?this.element.clone().removeAttr("id"):this.element;c.parents("body").length||c.appendTo("parent"==b.appendTo?this.element[0].parentNode:b.appendTo);c[0]!=this.element[0]&&!/(fixed|absolute)/.test(c.css("position"))&&c.css("position","absolute");return c},_adjustOffsetFromHelper:function(c){"string"==typeof c&&(c=c.split(" "));a.isArray(c)&&(c={left:+c[0],top:+c[1]|| -0});"left"in c&&(this.offset.click.left=c.left+this.margins.left);"right"in c&&(this.offset.click.left=this.helperProportions.width-c.right+this.margins.left);"top"in c&&(this.offset.click.top=c.top+this.margins.top);"bottom"in c&&(this.offset.click.top=this.helperProportions.height-c.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var c=this.offsetParent.offset();"absolute"==this.cssPosition&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0], -this.offsetParent[0])&&(c.left+=this.scrollParent.scrollLeft(),c.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&"html"==this.offsetParent[0].tagName.toLowerCase()&&a.browser.msie)c={top:0,left:0};return{top:c.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:c.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"==this.cssPosition){var a=this.element.position();return{top:a.top- -(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(), -height:this.helper.outerHeight()}},_setContainment:function(){var c=this.options;"parent"==c.containment&&(c.containment=this.helper[0].parentNode);if("document"==c.containment||"window"==c.containment)this.containment=["document"==c.containment?0:a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,"document"==c.containment?0:a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,("document"==c.containment?0:a(window).scrollLeft())+a("document"==c.containment?document: -window).width()-this.helperProportions.width-this.margins.left,("document"==c.containment?0:a(window).scrollTop())+(a("document"==c.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(/^(document|window|parent)$/.test(c.containment)||c.containment.constructor==Array)c.containment.constructor==Array&&(this.containment=c.containment);else{var c=a(c.containment),b=c[0];if(b){c.offset();var e="hidden"!=a(b).css("overflow");this.containment= -[(parseInt(a(b).css("borderLeftWidth"),10)||0)+(parseInt(a(b).css("paddingLeft"),10)||0),(parseInt(a(b).css("borderTopWidth"),10)||0)+(parseInt(a(b).css("paddingTop"),10)||0),(e?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(a(b).css("borderLeftWidth"),10)||0)-(parseInt(a(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(a(b).css("borderTopWidth"),10)||0)-(parseInt(a(b).css("paddingBottom"), -10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom];this.relative_container=c}}},_convertPositionTo:function(c,b){b||(b=this.position);c="absolute"==c?1:-1;var e="absolute"!=this.cssPosition||this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,g=/(html|body)/i.test(e[0].tagName);return{top:b.top+this.offset.relative.top*c+this.offset.parent.top*c-(a.browser.safari&&526>a.browser.version&&"fixed"==this.cssPosition? -0:("fixed"==this.cssPosition?-this.scrollParent.scrollTop():g?0:e.scrollTop())*c),left:b.left+this.offset.relative.left*c+this.offset.parent.left*c-(a.browser.safari&&526>a.browser.version&&"fixed"==this.cssPosition?0:("fixed"==this.cssPosition?-this.scrollParent.scrollLeft():g?0:e.scrollLeft())*c)}},_generatePosition:function(c){var b=this.options,e="absolute"!=this.cssPosition||this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent, -g=/(html|body)/i.test(e[0].tagName),f=c.pageX,h=c.pageY;if(this.originalPosition){var d;this.containment&&(this.relative_container?(d=this.relative_container.offset(),d=[this.containment[0]+d.left,this.containment[1]+d.top,this.containment[2]+d.left,this.containment[3]+d.top]):d=this.containment,c.pageX-this.offset.click.leftd[2]&&(f=d[2]+this.offset.click.left), -c.pageY-this.offset.click.top>d[3]&&(h=d[3]+this.offset.click.top));b.grid&&(h=b.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/b.grid[1])*b.grid[1]:this.originalPageY,h=d?h-this.offset.click.topd[3]?h-this.offset.click.topd[2]?f-this.offset.click.lefta.browser.version&&"fixed"==this.cssPosition?0:"fixed"==this.cssPosition?-this.scrollParent.scrollTop():g?0:e.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&526>a.browser.version&&"fixed"==this.cssPosition?0:"fixed"==this.cssPosition?-this.scrollParent.scrollLeft():g?0:e.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"); -this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove();this.helper=null;this.cancelHelperRemoval=!1},_trigger:function(c,b,e){e=e||this._uiHash();a.ui.plugin.call(this,c,[b,e]);"drag"==c&&(this.positionAbs=this._convertPositionTo("absolute"));return a.Widget.prototype._trigger.call(this,c,b,e)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}});a.extend(a.ui.draggable,{version:"1.8.16"}); -a.ui.plugin.add("draggable","connectToSortable",{start:function(c,b){var e=a(this).data("draggable"),g=e.options,f=a.extend({},b,{item:e.element});e.sortables=[];a(g.connectToSortable).each(function(){var b=a.data(this,"sortable");b&&!b.options.disabled&&(e.sortables.push({instance:b,shouldRevert:b.options.revert}),b.refreshPositions(),b._trigger("activate",c,f))})},stop:function(c,b){var e=a(this).data("draggable"),g=a.extend({},b,{item:e.element});a.each(e.sortables,function(){this.instance.isOver? -(this.instance.isOver=0,e.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=!0),this.instance._mouseStop(c),this.instance.options.helper=this.instance.options._helper,"original"==e.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",c,g))})},drag:function(c,b){var e=a(this).data("draggable"),g=this;a.each(e.sortables,function(){this.instance.positionAbs= -e.positionAbs;this.instance.helperProportions=e.helperProportions;this.instance.offset.click=e.offset.click;this.instance._intersectsWith(this.instance.containerCache)?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=a(g).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return b.helper[0]},c.target=this.instance.currentItem[0],this.instance._mouseCapture(c, -!0),this.instance._mouseStart(c,!0,!0),this.instance.offset.click.top=e.offset.click.top,this.instance.offset.click.left=e.offset.click.left,this.instance.offset.parent.left-=e.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=e.offset.parent.top-this.instance.offset.parent.top,e._trigger("toSortable",c),e.dropped=this.instance.element,e.currentItem=e.element,this.instance.fromOutside=e),this.instance.currentItem&&this.instance._mouseDrag(c)):this.instance.isOver&& -(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",c,this.instance._uiHash(this.instance)),this.instance._mouseStop(c,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),e._trigger("fromSortable",c),e.dropped=!1)})}});a.ui.plugin.add("draggable","cursor",{start:function(){var c=a("body"),b=a(this).data("draggable").options; -c.css("cursor")&&(b._cursor=c.css("cursor"));c.css("cursor",b.cursor)},stop:function(){var c=a(this).data("draggable").options;c._cursor&&a("body").css("cursor",c._cursor)}});a.ui.plugin.add("draggable","opacity",{start:function(c,b){c=a(b.helper);b=a(this).data("draggable").options;c.css("opacity")&&(b._opacity=c.css("opacity"));c.css("opacity",b.opacity)},stop:function(c,b){c=a(this).data("draggable").options;c._opacity&&a(b.helper).css("opacity",c._opacity)}});a.ui.plugin.add("draggable","scroll", -{start:function(){var c=a(this).data("draggable");c.scrollParent[0]!=document&&"HTML"!=c.scrollParent[0].tagName&&(c.overflowOffset=c.scrollParent.offset())},drag:function(c){var b=a(this).data("draggable"),e=b.options,g=!1;b.scrollParent[0]!=document&&"HTML"!=b.scrollParent[0].tagName?(e.axis&&"x"==e.axis||(b.overflowOffset.top+b.scrollParent[0].offsetHeight-c.pageY=q&&h<=r||d>=q&&d<=r||hr)&&(g>=l&&g<=m||f>=l&&f<=m||gm);default:return!1}}; -a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(c,b){var e=a.ui.ddmanager.droppables[c.options.scope]||[],g=b?b.type:null,f=(c.currentItem||c.element).find(":data(droppable)").andSelf(),h=0;a:for(;h').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})), -this.element=this.element.parent().data("resizable",this.element.data("resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize", -"none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize());this.handles=b.handles||(a(".ui-resizable-handle",this.element).length?{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"}:"e,s,se");if(this.handles.constructor==String){"all"== -this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw");var f=this.handles.split(",");this.handles={};for(var h=0;h');/sw|se|ne|nw/.test(d)&&l.css({zIndex:++b.zIndex});"se"==d&&l.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[d]=".ui-resizable-"+d;this.element.append(l)}}this._renderAxis=function(d){d=d||this.element;for(var c in this.handles){this.handles[c].constructor==String&&(this.handles[c]= -a(this.handles[c],this.element).show());if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var b=a(this.handles[c],this.element),e=0,e=/sw|ne|nw|se|n|s/.test(c)?b.outerHeight():b.outerWidth(),b=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join("");d.css(b,e);this._proportionallyResize()}a(this.handles[c])}};this._renderAxis(this.element);this._handles=a(".ui-resizable-handle",this.element).disableSelection(); -this._handles.mouseover(function(){if(!c.resizing){if(this.className)var a=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);c.axis=a&&a[1]?a[1]:"se"}});b.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").hover(function(){b.disabled||(a(this).removeClass("ui-resizable-autohide"),c._handles.show())},function(){b.disabled||c.resizing||(a(this).addClass("ui-resizable-autohide"),c._handles.hide())}));this._mouseInit()},destroy:function(){this._mouseDestroy(); -var c=function(c){a(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){c(this.element);var b=this.element;b.after(this.originalElement.css({position:b.css("position"),width:b.outerWidth(),height:b.outerHeight(),top:b.css("top"),left:b.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);c(this.originalElement);return this},_mouseCapture:function(c){var b= -!1,f;for(f in this.handles)a(this.handles[f])[0]==c.target&&(b=!0);return!this.options.disabled&&b},_mouseStart:function(b){var g=this.options,f=this.element.position(),h=this.element;this.resizing=!0;this.documentScroll={top:a(document).scrollTop(),left:a(document).scrollLeft()};(h.is(".ui-draggable")||/absolute/.test(h.css("position")))&&h.css({position:"absolute",top:f.top,left:f.left});a.browser.opera&&/relative/.test(h.css("position"))&&h.css({position:"relative",top:"auto",left:"auto"});this._renderProxy(); -var f=c(this.helper.css("left")),d=c(this.helper.css("top"));g.containment&&(f+=a(g.containment).scrollLeft()||0,d+=a(g.containment).scrollTop()||0);this.offset=this.helper.offset();this.position={left:f,top:d};this.size=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()};this.originalSize=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()};this.originalPosition={left:f,top:d};this.sizeDiff={width:h.outerWidth()- -h.width(),height:h.outerHeight()-h.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio="number"==typeof g.aspectRatio?g.aspectRatio:this.originalSize.width/this.originalSize.height||1;g=a(".ui-resizable-"+this.axis).css("cursor");a("body").css("cursor","auto"==g?this.axis+"-resize":g);h.addClass("ui-resizable-resizing");this._propagate("start",b);return!0},_mouseDrag:function(a){var c=this.helper,b=this.originalMousePosition,h=this._change[this.axis];if(!h)return!1;b= -h.apply(this,[a,a.pageX-b.left||0,a.pageY-b.top||0]);this._updateVirtualBoundaries(a.shiftKey);if(this._aspectRatio||a.shiftKey)b=this._updateRatio(b,a);b=this._respectSize(b,a);this._propagate("resize",a);c.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(b);this._trigger("resize",a,this.ui());return!1},_mouseStop:function(c){this.resizing= -!1;var b=this.options;if(this._helper){var f=this._proportionallyResizeElements,h=f.length&&/textarea/i.test(f[0].nodeName),f=h&&a.ui.hasScroll(f[0],"left")?0:this.sizeDiff.height,h=h?0:this.sizeDiff.width,h={width:this.helper.width()-h,height:this.helper.height()-f},f=parseInt(this.element.css("left"),10)+(this.position.left-this.originalPosition.left)||null,d=parseInt(this.element.css("top"),10)+(this.position.top-this.originalPosition.top)||null;b.animate||this.element.css(a.extend(h,{top:d,left:f})); -this.helper.height(this.size.height);this.helper.width(this.size.width);this._helper&&!b.animate&&this._proportionallyResize()}a("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",c);this._helper&&this.helper.remove();return!1},_updateVirtualBoundaries:function(a){var c=this.options,f,h,d,c={minWidth:b(c.minWidth)?c.minWidth:0,maxWidth:b(c.maxWidth)?c.maxWidth:Infinity,minHeight:b(c.minHeight)?c.minHeight:0,maxHeight:b(c.maxHeight)?c.maxHeight:Infinity}; -if(this._aspectRatio||a)a=c.minHeight*this.aspectRatio,h=c.minWidth/this.aspectRatio,f=c.maxHeight*this.aspectRatio,d=c.maxWidth/this.aspectRatio,a>c.minWidth&&(c.minWidth=a),h>c.minHeight&&(c.minHeight=h),fa.width,m=b(a.height)&&c.minHeight&&c.minHeight> -a.height;l&&(a.width=c.minWidth);m&&(a.height=c.minHeight);h&&(a.width=c.maxWidth);d&&(a.height=c.maxHeight);var q=this.originalPosition.left+this.originalSize.width,r=this.position.top+this.size.height,n=/sw|nw|w/.test(f),f=/nw|ne|n/.test(f);l&&n&&(a.left=q-c.minWidth);h&&n&&(a.left=q-c.maxWidth);m&&f&&(a.top=r-c.minHeight);d&&f&&(a.top=r-c.maxHeight);(c=!a.width&&!a.height)&&!a.left&&a.top?a.top=null:c&&!a.top&&a.left&&(a.left=null);return a},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var c= -this.helper||this.element,b=0;b');var b=a.browser.msie&&7>a.browser.version,f=b?1:0,b=b?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+b,height:this.element.outerHeight()+b,position:"absolute",left:this.elementOffset.left- -f+"px",top:this.elementOffset.top-f+"px",zIndex:++c.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(a,c){return{width:this.originalSize.width+c}},w:function(a,c){return{left:this.originalPosition.left+c,width:this.originalSize.width-c}},n:function(a,c,b){return{top:this.originalPosition.top+b,height:this.originalSize.height-b}},s:function(a,c,b){return{height:this.originalSize.height+b}},se:function(c,b,f){return a.extend(this._change.s.apply(this, -arguments),this._change.e.apply(this,[c,b,f]))},sw:function(c,b,f){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[c,b,f]))},ne:function(c,b,f){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[c,b,f]))},nw:function(c,b,f){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[c,b,f]))}},_propagate:function(c,b){a.ui.plugin.call(this,c,[b,this.ui()]);"resize"!=c&&this._trigger(c,b,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement, -element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});a.extend(a.ui.resizable,{version:"1.8.16"});a.ui.plugin.add("resizable","alsoResize",{start:function(){var c=a(this).data("resizable").options,b=function(c){a(c).each(function(){var c=a(this);c.data("resizable-alsoresize",{width:parseInt(c.width(),10),height:parseInt(c.height(),10),left:parseInt(c.css("left"),10),top:parseInt(c.css("top"),10),position:c.css("position")})})}; -"object"!=typeof c.alsoResize||c.alsoResize.parentNode?b(c.alsoResize):c.alsoResize.length?(c.alsoResize=c.alsoResize[0],b(c.alsoResize)):a.each(c.alsoResize,function(a){b(a)})},resize:function(c,b){var f=a(this).data("resizable");c=f.options;var h=f.originalSize,d=f.originalPosition,l={height:f.size.height-h.height||0,width:f.size.width-h.width||0,top:f.position.top-d.top||0,left:f.position.left-d.left||0},m=function(d,c){a(d).each(function(){var d=a(this),e=a(this).data("resizable-alsoresize"), -h={},m=c&&c.length?c:d.parents(b.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(m,function(a,d){(a=(e[d]||0)+(l[d]||0))&&0<=a&&(h[d]=a||null)});a.browser.opera&&/relative/.test(d.css("position"))&&(f._revertToRelativePosition=!0,d.css({position:"absolute",top:"auto",left:"auto"}));d.css(h)})};"object"!=typeof c.alsoResize||c.alsoResize.nodeType?m(c.alsoResize):a.each(c.alsoResize,function(a,d){m(a,d)})},stop:function(){var c=a(this).data("resizable"),b=c.options, -f=function(c){a(c).each(function(){var d=a(this);d.css({position:d.data("resizable-alsoresize").position})})};c._revertToRelativePosition&&(c._revertToRelativePosition=!1,"object"!=typeof b.alsoResize||b.alsoResize.nodeType?f(b.alsoResize):a.each(b.alsoResize,function(a){f(a)}));a(this).removeData("resizable-alsoresize")}});a.ui.plugin.add("resizable","animate",{stop:function(c){var b=a(this).data("resizable"),f=b.options,h=b._proportionallyResizeElements,d=h.length&&/textarea/i.test(h[0].nodeName), -l=d&&a.ui.hasScroll(h[0],"left")?0:b.sizeDiff.height,d={width:b.size.width-(d?0:b.sizeDiff.width),height:b.size.height-l},l=parseInt(b.element.css("left"),10)+(b.position.left-b.originalPosition.left)||null,m=parseInt(b.element.css("top"),10)+(b.position.top-b.originalPosition.top)||null;b.element.animate(a.extend(d,m&&l?{top:m,left:l}:{}),{duration:f.animateDuration,easing:f.animateEasing,step:function(){var d={width:parseInt(b.element.css("width"),10),height:parseInt(b.element.css("height"),10), -top:parseInt(b.element.css("top"),10),left:parseInt(b.element.css("left"),10)};h&&h.length&&a(h[0]).css({width:d.width,height:d.height});b._updateCache(d);b._propagate("resize",c)}})}});a.ui.plugin.add("resizable","containment",{start:function(){var b=a(this).data("resizable"),g=b.element,f=b.options.containment;if(g=f instanceof a?f.get(0):/parent/.test(f)?g.parent().get(0):f)if(b.containerElement=a(g),/document/.test(f)||f==document)b.containerOffset={left:0,top:0},b.containerPosition={left:0,top:0}, -b.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight};else{var h=a(g),d=[];a(["Top","Right","Left","Bottom"]).each(function(a,b){d[a]=c(h.css("padding"+b))});b.containerOffset=h.offset();b.containerPosition=h.position();b.containerSize={height:h.innerHeight()-d[3],width:h.innerWidth()-d[1]};var f=b.containerOffset,l=b.containerSize.height,m=b.containerSize.width,m=a.ui.hasScroll(g,"left")?g.scrollWidth:m,l=a.ui.hasScroll(g)? -g.scrollHeight:l;b.parentData={element:g,left:f.left,top:f.top,width:m,height:l}}},resize:function(c){var b=a(this).data("resizable"),f=b.options,h=b.containerOffset,d=b.position;c=b._aspectRatio||c.shiftKey;var l={top:0,left:0},m=b.containerElement;m[0]!=document&&/static/.test(m.css("position"))&&(l=h);d.left<(b._helper?h.left:0)&&(b.size.width+=b._helper?b.position.left-h.left:b.position.left-l.left,c&&(b.size.height=b.size.width/f.aspectRatio),b.position.left=f.helper?h.left:0);d.top<(b._helper? -h.top:0)&&(b.size.height+=b._helper?b.position.top-h.top:b.position.top,c&&(b.size.width=b.size.height*f.aspectRatio),b.position.top=b._helper?h.top:0);b.offset.left=b.parentData.left+b.position.left;b.offset.top=b.parentData.top+b.position.top;f=Math.abs(b.offset.left-l.left+b.sizeDiff.width);h=Math.abs((b._helper?b.offset.top-l.top:b.offset.top-h.top)+b.sizeDiff.height);d=b.containerElement.get(0)==b.element.parent().get(0);l=/relative|absolute/.test(b.containerElement.css("position"));d&&l&&(f-= -b.parentData.left);f+b.size.width>=b.parentData.width&&(b.size.width=b.parentData.width-f,c&&(b.size.height=b.size.width/b.aspectRatio));h+b.size.height>=b.parentData.height&&(b.size.height=b.parentData.height-h,c&&(b.size.width=b.size.height*b.aspectRatio))},stop:function(){var c=a(this).data("resizable"),b=c.options,f=c.containerOffset,h=c.containerPosition,d=c.containerElement,l=a(c.helper),m=l.offset(),q=l.outerWidth()-c.sizeDiff.width,l=l.outerHeight()-c.sizeDiff.height;c._helper&&!b.animate&& -/relative/.test(d.css("position"))&&a(this).css({left:m.left-h.left-f.left,width:q,height:l});c._helper&&!b.animate&&/static/.test(d.css("position"))&&a(this).css({left:m.left-h.left-f.left,width:q,height:l})}});a.ui.plugin.add("resizable","ghost",{start:function(){var c=a(this).data("resizable"),b=c.options,f=c.size;c.ghost=c.originalElement.clone();c.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"== -typeof b.ghost?b.ghost:"");c.ghost.appendTo(c.helper)},resize:function(){var c=a(this).data("resizable");c.ghost&&c.ghost.css({position:"relative",height:c.size.height,width:c.size.width})},stop:function(){var c=a(this).data("resizable");c.ghost&&c.helper&&c.helper.get(0).removeChild(c.ghost.get(0))}});a.ui.plugin.add("resizable","grid",{resize:function(){var c=a(this).data("resizable"),b=c.options,f=c.size,h=c.originalSize,d=c.originalPosition,l=c.axis;b.grid="number"==typeof b.grid?[b.grid,b.grid]: -b.grid;var m=Math.round((f.width-h.width)/(b.grid[0]||1))*(b.grid[0]||1),b=Math.round((f.height-h.height)/(b.grid[1]||1))*(b.grid[1]||1);/^(se|s|e)$/.test(l)?(c.size.width=h.width+m,c.size.height=h.height+b):/^(ne)$/.test(l)?(c.size.width=h.width+m,c.size.height=h.height+b,c.position.top=d.top-b):(/^(sw)$/.test(l)?(c.size.width=h.width+m,c.size.height=h.height+b):(c.size.width=h.width+m,c.size.height=h.height+b,c.position.top=d.top-b),c.position.left=d.left-m)}});var c=function(a){return parseInt(a, -10)||0},b=function(a){return!isNaN(parseInt(a,10))}})(jQuery); -(function(a){a.widget("ui.selectable",a.ui.mouse,{options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=!1;var b;this.refresh=function(){b=a(c.options.filter,c.element[0]);b.each(function(){var c=a(this),b=c.offset();a.data(this,"selectable-item",{element:this,$element:c,left:b.left,top:b.top,right:b.left+c.outerWidth(),bottom:b.top+c.outerHeight(),startselected:!1,selected:c.hasClass("ui-selected"), -selecting:c.hasClass("ui-selecting"),unselecting:c.hasClass("ui-unselecting")})})};this.refresh();this.selectees=b.addClass("ui-selectee");this._mouseInit();this.helper=a("
    ")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var b=this;this.opos=[c.pageX, -c.pageY];if(!this.options.disabled){var e=this.options;this.selectees=a(e.filter,this.element[0]);this._trigger("start",c);a(e.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});e.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var e=a.data(this,"selectable-item");e.startselected=!0;c.metaKey||(e.$element.removeClass("ui-selected"),e.selected=!1,e.$element.addClass("ui-unselecting"),e.unselecting=!0,b._trigger("unselecting", -c,{unselecting:e.element}))});a(c.target).parents().andSelf().each(function(){var e=a.data(this,"selectable-item");if(e){var f=!c.metaKey||!e.$element.hasClass("ui-selected");e.$element.removeClass(f?"ui-unselecting":"ui-selected").addClass(f?"ui-selecting":"ui-unselecting");e.unselecting=!f;e.selecting=f;(e.selected=f)?b._trigger("selecting",c,{selecting:e.element}):b._trigger("unselecting",c,{unselecting:e.element});return!1}})}},_mouseDrag:function(c){var b=this;this.dragged=!0;if(!this.options.disabled){var e= -this.options,g=this.opos[0],f=this.opos[1],h=c.pageX,d=c.pageY;if(g>h)var l=h,h=g,g=l;f>d&&(l=d,d=f,f=l);this.helper.css({left:g,top:f,width:h-g,height:d-f});this.selectees.each(function(){var l=a.data(this,"selectable-item");if(l&&l.element!=b.element[0]){var q=!1;"touch"==e.tolerance?q=!(l.left>h||l.rightd||l.bottomg&&l.rightf&&l.bottom *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){var a=this.options;this.containerCache={};this.element.addClass("ui-sortable");this.refresh(); -this.floating=this.items.length?"x"===a.axis||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):!1;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;0<=a;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(c,b){"disabled"===c?(this.options[c]= -b,this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")):a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(c,b){if(this.reverting||this.options.disabled||"static"==this.options.type)return!1;this._refreshItems(c);var e=null,g=this;a(c.target).parents().each(function(){if(a.data(this,"sortable-item")==g)return e=a(this),!1});a.data(c.target,"sortable-item")==g&&(e=a(c.target));if(!e)return!1;if(this.options.handle&&!b){var f=!1;a(this.options.handle,e).find("*").andSelf().each(function(){this== -c.target&&(f=!0)});if(!f)return!1}this.currentItem=e;this._removeCurrentsFromItems();return!0},_mouseStart:function(c,b,e){b=this.options;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(c);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition= -this.helper.css("position");a.extend(this.offset,{click:{left:c.pageX-this.offset.left,top:c.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(c);this.originalPageX=c.pageX;this.originalPageY=c.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder(); -b.containment&&this._setContainment();b.cursor&&(a("body").css("cursor")&&(this._storedCursor=a("body").css("cursor")),a("body").css("cursor",b.cursor));b.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",b.opacity));b.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",b.zIndex));this.scrollParent[0]!=document&&"HTML"!=this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()); -this._trigger("start",c,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!e)for(e=this.containers.length-1;0<=e;e--)this.containers[e]._trigger("activate",c,this._uiHash(this));a.ui.ddmanager&&(a.ui.ddmanager.current=this);a.ui.ddmanager&&!b.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,c);this.dragging=!0;this.helper.addClass("ui-sortable-helper");this._mouseDrag(c);return!0},_mouseDrag:function(c){this.position=this._generatePosition(c);this.positionAbs=this._convertPositionTo("absolute"); -this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs);if(this.options.scroll){var b=this.options,e=!1;this.scrollParent[0]!=document&&"HTML"!=this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-c.pageYa[this.floating?"width":"height"]?g+q>l&&g+qh&&b+rthis.containment[2]&&(f=this.containment[2]+this.offset.click.left),c.pageY-this.offset.click.top>this.containment[3]&&(h=this.containment[3]+this.offset.click.top)),b.grid&&(h=this.originalPageY+Math.round((h-this.originalPageY)/b.grid[1])*b.grid[1],h=this.containment?h-this.offset.click.topthis.containment[3]?h-this.offset.click.top< -this.containment[1]?h+b.grid[1]:h-b.grid[1]:h:h,f=this.originalPageX+Math.round((f-this.originalPageX)/b.grid[0])*b.grid[0],f=this.containment?f-this.offset.click.leftthis.containment[2]?f-this.offset.click.left").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+("min"===b.range||"max"===b.range?" ui-slider-range-"+b.range:"")));for(var h=e.length;h"); -this.handles=e.add(a(f.join("")).appendTo(c.element));this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(a){a.preventDefault()}).hover(function(){b.disabled||a(this).addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover")}).focus(function(){b.disabled?a(this).blur():(a(".ui-slider .ui-state-focus").removeClass("ui-state-focus"),a(this).addClass("ui-state-focus"))}).blur(function(){a(this).removeClass("ui-state-focus")});this.handles.each(function(d){a(this).data("index.ui-slider-handle", -d)});this.handles.keydown(function(d){var b=!0,e=a(this).data("index.ui-slider-handle"),f,g,h;if(!c.options.disabled){switch(d.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.PAGE_UP:case a.ui.keyCode.PAGE_DOWN:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(b=!1,!c._keySliding&&(c._keySliding=!0,a(this).addClass("ui-state-active"),f=c._start(d,e),!1===f))return}h=c.options.step;f=c.options.values&&c.options.values.length?g=c.values(e): -g=c.value();switch(d.keyCode){case a.ui.keyCode.HOME:g=c._valueMin();break;case a.ui.keyCode.END:g=c._valueMax();break;case a.ui.keyCode.PAGE_UP:g=c._trimAlignValue(f+(c._valueMax()-c._valueMin())/5);break;case a.ui.keyCode.PAGE_DOWN:g=c._trimAlignValue(f-(c._valueMax()-c._valueMin())/5);break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(f===c._valueMax())return;g=c._trimAlignValue(f+h);break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(f===c._valueMin())return;g=c._trimAlignValue(f-h)}c._slide(d, -e,g);return b}}).keyup(function(d){var b=a(this).data("index.ui-slider-handle");c._keySliding&&(c._keySliding=!1,c._stop(d,b),c._change(d,b),a(this).removeClass("ui-state-active"))});this._refreshValue();this._animateOff=!1},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy();return this},_mouseCapture:function(c){var b= -this.options,e,g,f,h,d;if(b.disabled)return!1;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();e=this._normValueFromMouse({x:c.pageX,y:c.pageY});g=this._valueMax()-this._valueMin()+1;h=this;this.handles.each(function(c){var b=Math.abs(e-h.values(c));g>b&&(g=b,f=a(this),d=c)});!0===b.range&&this.values(1)===b.min&&(d+=1,f=a(this.handles[d]));if(!1===this._start(c,d))return!1;this._mouseSliding=!0;h._handleIndex=d;f.addClass("ui-state-active").focus(); -b=f.offset();this._clickOffset=a(c.target).parents().andSelf().is(".ui-slider-handle")?{left:c.pageX-b.left-f.width()/2,top:c.pageY-b.top-f.height()/2-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)}:{left:0,top:0};this.handles.hasClass("ui-state-hover")||this._slide(c,d,e);return this._animateOff=!0},_mouseStart:function(){return!0},_mouseDrag:function(a){var b=this._normValueFromMouse({x:a.pageX,y:a.pageY});this._slide(a, -this._handleIndex,b);return!1},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=!1;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(a){var b;"horizontal"===this.orientation?(b=this.elementSize.width,a=a.x-this.elementOffset.left-(this._clickOffset? -this._clickOffset.left:0)):(b=this.elementSize.height,a=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0));b=a/b;1b&&(b=0);"vertical"===this.orientation&&(b=1-b);a=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+b*a)},_start:function(a,b){var e={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(e.value=this.values(b),e.values=this.values());return this._trigger("start",a,e)},_slide:function(a, -b,e){var g;this.options.values&&this.options.values.length?(g=this.values(b?0:1),2===this.options.values.length&&!0===this.options.range&&(0===b&&e>g||1===b&&e=this._valueMax())return this._valueMax();var b=0=b&&(a+=0'))}function e(d){return d.bind("mouseout",function(d){d=a(d.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a"); -d.length&&d.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(b){b=a(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");!a.datepicker._isDisabledDatepicker(h.inline?d.parent()[0]:h.input[0])&&b.length&&(b.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),b.addClass("ui-state-hover"),b.hasClass("ui-datepicker-prev")&&b.addClass("ui-datepicker-prev-hover"),b.hasClass("ui-datepicker-next")&& -b.addClass("ui-datepicker-next-hover"))})}function g(d,b){a.extend(d,b);for(var e in b)if(null==b[e]||b[e]==c)d[e]=b[e];return d}a.extend(a.ui,{datepicker:{version:"1.8.16"}});var f=(new Date).getTime(),h;a.extend(b.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){g(this._defaults,a||{});return this},_attachDatepicker:function(d,b){var c=null,e;for(e in this._defaults){var f= -d.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(g){c[e]=f}}}e=d.nodeName.toLowerCase();f="div"==e||"span"==e;d.id||(this.uuid+=1,d.id="dp"+this.uuid);var h=this._newInst(a(d),f);h.settings=a.extend({},b||{},c||{});"input"==e?this._connectDatepicker(d,h):f&&this._inlineDatepicker(d,h)},_newInst:function(d,b){return{id:d[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1"),input:d,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:b?e(a('
    ')):this.dpDiv}},_connectDatepicker:function(d,b){var c=a(d);b.append=a([]);b.trigger=a([]);c.hasClass(this.markerClassName)||(this._attachments(c,b),c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(a,d,c){b.settings[d]=c}).bind("getData.datepicker",function(a,d){return this._get(b,d)}),this._autoSize(b),a.data(d,"datepicker", -b),b.settings.disabled&&this._disableDatepicker(d))},_attachments:function(d,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&b.append.remove();c&&(b.append=a(''+c+""),d[e?"before":"after"](b.append));d.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");"focus"!=c&&"both"!=c||d.focus(this._showDatepicker);if("button"==c||"both"==c){var c=this._get(b,"buttonText"),f=this._get(b,"buttonImage");b.trigger= -a(this._get(b,"buttonImageOnly")?a("").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):a('').addClass(this._triggerClass).html(""==f?c:a("").attr({src:f,alt:c,title:c})));d[e?"before":"after"](b.trigger);b.trigger.click(function(){a.datepicker._datepickerShowing&&a.datepicker._lastInput==d[0]?a.datepicker._hideDatepicker():a.datepicker._showDatepicker(d[0]);return!1})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009, -11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(a){for(var d=0,b=0,c=0;cd&&(d=a[c].length,b=c);return b};b.setMonth(e(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(d,b){var c=a(d);c.hasClass(this.markerClassName)||(c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker", -function(a,d,c){b.settings[d]=c}).bind("getData.datepicker",function(a,d){return this._get(b,d)}),a.data(d,"datepicker",b),this._setDate(b,this._getDefaultDate(b),!0),this._updateDatepicker(b),this._updateAlternate(b),b.settings.disabled&&this._disableDatepicker(d),b.dpDiv.css("display","block"))},_dialogDatepicker:function(d,b,c,e,f){d=this._dialogInst;d||(this.uuid+=1,this._dialogInput=a(''), -this._dialogInput.keydown(this._doKeyDown),a("body").append(this._dialogInput),d=this._dialogInst=this._newInst(this._dialogInput,!1),d.settings={},a.data(this._dialogInput[0],"datepicker",d));g(d.settings,e||{});b=b&&b.constructor==Date?this._formatDate(d,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;this._pos||(this._pos=[document.documentElement.clientWidth/2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/ -2-150+(document.documentElement.scrollTop||document.body.scrollTop)]);this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");d.settings.onSelect=c;this._inDialog=!0;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);a.blockUI&&a.blockUI(this.dpDiv);a.data(this._dialogInput[0],"datepicker",d);return this},_destroyDatepicker:function(d){var b=a(d),c=a.data(d,"datepicker");if(b.hasClass(this.markerClassName)){var e=d.nodeName.toLowerCase();a.removeData(d, -"datepicker");"input"==e?(c.append.remove(),c.trigger.remove(),b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):"div"!=e&&"span"!=e||b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(d){var b=a(d),c=a.data(d,"datepicker");if(b.hasClass(this.markerClassName)){var e=d.nodeName.toLowerCase();if("input"==e)d.disabled=!1,c.trigger.filter("button").each(function(){this.disabled= -!1}).end().filter("img").css({opacity:"1.0",cursor:""});else if("div"==e||"span"==e)b=b.children("."+this._inlineClass),b.children().removeClass("ui-state-disabled"),b.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled");this._disabledInputs=a.map(this._disabledInputs,function(a){return a==d?null:a})}},_disableDatepicker:function(d){var b=a(d),c=a.data(d,"datepicker");if(b.hasClass(this.markerClassName)){var e=d.nodeName.toLowerCase();if("input"==e)d.disabled=!0,c.trigger.filter("button").each(function(){this.disabled= -!0}).end().filter("img").css({opacity:"0.5",cursor:"default"});else if("div"==e||"span"==e)b=b.children("."+this._inlineClass),b.children().addClass("ui-state-disabled"),b.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled");this._disabledInputs=a.map(this._disabledInputs,function(a){return a==d?null:a});this._disabledInputs[this._disabledInputs.length]=d}},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;be||!b||-1p&&p>e?Math.abs(b.left+e-p):0);b.top-=Math.min(b.top,b.top+f>x&&x>f?Math.abs(f+h):0);return b},_findPos:function(d){for(var b=this._get(this._getInst(d),"isRTL");d&&("hidden"==d.type||1!=d.nodeType||a.expr.filters.hidden(d));)d=d[b?"previousSibling":"nextSibling"];d=a(d).offset();return[d.left,d.top]},_triggerOnClose:function(a){var b= -this._get(a,"onClose");b&&b.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a])},_hideDatepicker:function(d){var b=this._curInst;if(b&&(!d||b==a.data(d,"datepicker"))&&this._datepickerShowing){d=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){a.datepicker._tidyDialog(b);this._curInst=null};a.effects&&a.effects[d]?b.dpDiv.hide(d,a.datepicker._get(b,"showOptions"),c,e):b.dpDiv["slideDown"==d?"slideUp":"fadeIn"==d?"fadeOut":"hide"](d?c:null,e);d||e();a.datepicker._triggerOnClose(b); -this._datepickerShowing=!1;this._lastInput=null;this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),a.blockUI&&(a.unblockUI(),a("body").append(this.dpDiv)));this._inDialog=!1}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(d){a.datepicker._curInst&&(d=a(d.target),d[0].id==a.datepicker._mainDivId||0!=d.parents("#"+a.datepicker._mainDivId).length||d.hasClass(a.datepicker.markerClassName)|| -d.hasClass(a.datepicker._triggerClass)||!a.datepicker._datepickerShowing||a.datepicker._inDialog&&a.blockUI||a.datepicker._hideDatepicker())},_adjustDate:function(d,b,c){d=a(d);var e=this._getInst(d[0]);this._isDisabledDatepicker(d[0])||(this._adjustInstDate(e,b+("M"==c?this._get(e,"showCurrentAtPos"):0),c),this._updateDatepicker(e))},_gotoToday:function(d){d=a(d);var b=this._getInst(d[0]);if(this._get(b,"gotoCurrent")&&b.currentDay)b.selectedDay=b.currentDay,b.drawMonth=b.selectedMonth=b.currentMonth, -b.drawYear=b.selectedYear=b.currentYear;else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(d)},_selectMonthYear:function(d,b,c){d=a(d);var e=this._getInst(d[0]);e["selected"+("M"==c?"Month":"Year")]=e["draw"+("M"==c?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(d)},_selectDay:function(d,b,c,e){var f=a(d);a(e).hasClass(this._unselectableClass)|| -this._isDisabledDatepicker(f[0])||(f=this._getInst(f[0]),f.selectedDay=f.currentDay=a("a",e).html(),f.selectedMonth=f.currentMonth=b,f.selectedYear=f.currentYear=c,this._selectDate(d,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear)))},_clearDate:function(d){d=a(d);this._getInst(d[0]);this._selectDate(d,"")},_selectDate:function(d,b){d=this._getInst(a(d)[0]);b=null!=b?b:this._formatDate(d);d.input&&d.input.val(b);this._updateAlternate(d);var c=this._get(d,"onSelect");c?c.apply(d.input? -d.input[0]:null,[b,d]):d.input&&d.input.trigger("change");d.inline?this._updateDatepicker(d):(this._hideDatepicker(),this._lastInput=d.input[0],"object"!=typeof d.input[0]&&d.input.focus(),this._lastInput=null)},_updateAlternate:function(d){var b=this._get(d,"altField");if(b){var c=this._get(d,"altFormat")||this._get(d,"dateFormat"),e=this._getDate(d),f=this.formatDate(c,e,this._getFormatConfig(d));a(b).each(function(){a(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[0a,""]},iso8601Week:function(a){a= -new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(d,b,c){if(null==d||null==b)throw"Invalid arguments";b="object"==typeof b?b.toString():b+"";if(""==b)return null;for(var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff,e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,g=(c?c.dayNames:null)|| -this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,p=(c?c.monthNames:null)||this._defaults.monthNames,x=c=-1,w=-1,B=-1,A=!1,y=function(a){(a=P+1c&&(c+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c<=e?0:-100));if(-1b.getYear()%100?"0":"")+b.getYear()%100;break;case "@":w+=b.getTime();break;case "!":w+=1E4*b.getTime()+this._ticksTo1970;break;case "'":h("'")?w+="'":B=!0;break; -default:w+=a.charAt(A)}return w},_possibleChars:function(a){for(var b="",c=!1,e=function(b){(b=f+1p&&(p+=12,z--);if(y)for(var v=this._daylightSavingAdjust(new Date(y.getFullYear(),y.getMonth()-t[0]*t[1]+1,y.getDate())),v=A&&vv;)p--,0>p&&(p=11,z--);b.drawMonth=p;b.drawYear=z;var v=this._get(b,"prevText"),v=n? -this.formatDate(v,this._daylightSavingAdjust(new Date(z,p-x,1)),this._getFormatConfig(b)):v,v=this._canAdjustMonth(b,-1,z,p)?''+v+"":h?"":''+v+"", -C=this._get(b,"nextText"),C=n?this.formatDate(C,this._daylightSavingAdjust(new Date(z,p+x,1)),this._getFormatConfig(b)):C,h=this._canAdjustMonth(b,1,z,p)?''+C+"":h?"":''+C+"",x=this._get(b,"currentText"),C=this._get(b,"gotoCurrent")&&b.currentDay?B:c,x=n?this.formatDate(x,C,this._getFormatConfig(b)):x,n=b.inline?"":'",g=g?'
    '+(e?n:"")+(this._isInRange(b,C)?'":"")+(e?"":n)+"
    ":"",n=parseInt(this._get(b,"firstDay"),10),n=isNaN(n)?0:n,x=this._get(b,"showWeek"),C=this._get(b,"dayNames");this._get(b,"dayNamesShort");var L=this._get(b,"dayNamesMin"),P=this._get(b,"monthNames"),S=this._get(b,"monthNamesShort"),ea=this._get(b,"beforeShowDay"),za=this._get(b,"showOtherMonths"),hb=this._get(b,"selectOtherMonths");this._get(b,"calculateWeek");for(var u=this._getDefaultDate(b),Da="",O=0;O'+ -(/all|left/.test(I)&&0==O?e?h:v:"")+(/all|right/.test(I)&&0==O?e?v:h:"")+this._generateMonthYearHeader(b,p,z,A,y,0
    '),X=x?'":"",I=0;7>I;I++)var K=(I+n)%7,X=X+("'+L[K]+"");M+=X+"";X=this._getDaysInMonth(z,p);z==b.selectedYear&&p==b.selectedMonth&&(b.selectedDay= -Math.min(b.selectedDay,X));I=(this._getFirstDayOfMonth(z,p)-n+7)%7;X=Math.ceil((I+X)/7);this.maxRows=X=w?this.maxRows>X?this.maxRows:X:X;for(var K=this._daylightSavingAdjust(new Date(z,p,1-I)),bb=0;bb",Sa=x?'":"",I=0;7>I;I++){var ia=ea?ea.apply(b.input?b.input[0]:null,[K]):[!0,""],na=K.getMonth()!=p,Ka=na&&!hb||!ia[0]||A&&Ky,Sa=Sa+('");K.setDate(K.getDate()+1);K=this._daylightSavingAdjust(K)}M+=Sa+""}p++;11
    '+this._get(b,"weekHeader")+"
    '+this._get(b,"calculateWeek")(K)+""+(na&&!za?" ":Ka?''+K.getDate()+"":''+K.getDate()+"")+"
    "+(w?""+(0': -""):"");k+=M}Da+=k}Da+=g+(a.browser.msie&&7>parseInt(a.browser.version,10)&&!b.inline?'':"");b._keyEvent=!1;return Da},_generateMonthYearHeader:function(a,b,c,e,g,h,t,p){var x=this._get(a,"changeMonth"),w=this._get(a,"changeYear"),B=this._get(a,"showMonthAfterYear"),A='
    ',y="";if(h||!x)y+=''+t[b]+"";else{t=e&&e.getFullYear()==c;for(var z=g&& -g.getFullYear()==c,y=y+('"}B||(A+=y+(!h&&x&&w?"":" "));if(!a.yearshtml)if(a.yearshtml="",h||!w)A+=''+c+"";else{p=this._get(a,"yearRange").split(":");var C=(new Date).getFullYear(); -t=function(a){a=a.match(/c[+-].*/)?c+parseInt(a.substring(1),10):a.match(/[+-].*/)?C+parseInt(a,10):parseInt(a,10);return isNaN(a)?C:a};b=t(p[0]);p=Math.max(b,t(p[1]||""));b=e?Math.max(b,e.getFullYear()):b;p=g?Math.min(p,g.getFullYear()):p;for(a.yearshtml+='";A+= -a.yearshtml;a.yearshtml=null}A+=this._get(a,"yearSuffix");B&&(A+=(!h&&x&&w?"":" ")+y);return A+"
    "},_adjustInstDate:function(a,b,c){var e=a.drawYear+("Y"==c?b:0),f=a.drawMonth+("M"==c?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+("D"==c?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();"M"!=c&&"Y"!=c||this._notifyChange(a)},_restrictMinMax:function(a, -b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&ba?a:b},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return null==a?[1,1]:"number"==typeof a?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a, -b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);c=this._daylightSavingAdjust(new Date(c,e+(0>b?b:f[0]*f[1]),1));0>b&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b= -this._get(a,"shortYearCutoff"),b="string"!=typeof b?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);b=b?"object"==typeof b?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear, -a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});a.fn.datepicker=function(b){if(!this.length)return this;a.datepicker.initialized||(a(document).mousedown(a.datepicker._checkExternalClick).find("body").append(a.datepicker.dpDiv),a.datepicker.initialized=!0);var c=Array.prototype.slice.call(arguments,1);return"string"==typeof b&&("isDisabled"==b||"getDate"==b||"widget"==b)||"option"==b&&2==arguments.length&&"string"==typeof arguments[1]?a.datepicker["_"+ -b+"Datepicker"].apply(a.datepicker,[this[0]].concat(c)):this.each(function(){"string"==typeof b?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this].concat(c)):a.datepicker._attachDatepicker(this,b)})};a.datepicker=new b;a.datepicker.initialized=!1;a.datepicker.uuid=(new Date).getTime();a.datepicker.version="1.8.16";window["DP_jQuery_"+f]=a})(jQuery); -jQuery.effects||function(a,c){function b(b){var c;return b&&b.constructor==Array&&3==b.length?b:(c=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(b))?[parseInt(c[1],10),parseInt(c[2],10),parseInt(c[3],10)]:(c=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(b))?[2.55*parseFloat(c[1]),2.55*parseFloat(c[2]),2.55*parseFloat(c[3])]:(c=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(b))?[parseInt(c[1],16),parseInt(c[2], -16),parseInt(c[3],16)]:(c=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(b))?[parseInt(c[1]+c[1],16),parseInt(c[2]+c[2],16),parseInt(c[3]+c[3],16)]:/rgba\(0, 0, 0, 0\)/.exec(b)?l.transparent:l[a.trim(b).toLowerCase()]}function e(){var a=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,b={},c,d;if(a&&a.length&&a[0]&&a[a[0]])for(var e=a.length;e--;)c=a[e],"string"==typeof a[c]&&(d=c.replace(/\-(\w)/g,function(a,b){return b.toUpperCase()}),b[d]=a[c]);else for(c in a)"string"=== -typeof a[c]&&(b[c]=a[c]);return b}function g(b){var c,d;for(c in b)d=b[c],(null==d||a.isFunction(d)||c in q||/scrollbar/.test(c)||!/color/i.test(c)&&isNaN(parseFloat(d)))&&delete b[c];return b}function f(a,b){var c={_:0},d;for(d in b)a[d]!=b[d]&&(c[d]=b[d]);return c}function h(b,c,d,e){"object"==typeof b&&(e=c,d=null,c=b,b=c.effect);a.isFunction(c)&&(e=c,d=null,c={});if("number"==typeof c||a.fx.speeds[c])e=d,d=c,c={};a.isFunction(d)&&(e=d,d=null);c=c||{};d=d||c.duration;d=a.fx.off?0:"number"==typeof d? -d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default;e=e||c.complete;return[b,c,d,e]}function d(b){return!b||"number"===typeof b||a.fx.speeds[b]||"string"===typeof b&&!a.effects[b]?!0:!1}a.effects={};a.each("backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor borderColor color outlineColor".split(" "),function(c,d){a.fx.step[d]=function(c){if(!c.colorInit){var e;e=c.elem;var f=d,g;do{g=a.curCSS(e,f);if(""!=g&&"transparent"!=g||a.nodeName(e,"body"))break;f="backgroundColor"}while(e= -e.parentNode);e=b(g);c.start=e;c.end=b(c.end);c.colorInit=!0}c.elem.style[d]="rgb("+Math.max(Math.min(parseInt(c.pos*(c.end[0]-c.start[0])+c.start[0],10),255),0)+","+Math.max(Math.min(parseInt(c.pos*(c.end[1]-c.start[1])+c.start[1],10),255),0)+","+Math.max(Math.min(parseInt(c.pos*(c.end[2]-c.start[2])+c.start[2],10),255),0)+")"}});var l={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]},m=["add","remove","toggle"],q={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.effects.animateClass=function(b,c,d,h){a.isFunction(d)&&(h=d,d=null);return this.queue(function(){var l=a(this),q=l.attr("style")|| -" ",B=g(e.call(this)),A,y=l.attr("class");a.each(m,function(a,c){b[c]&&l[c+"Class"](b[c])});A=g(e.call(this));l.attr("class",y);l.animate(f(B,A),{queue:!1,duration:c,easing:d,complete:function(){a.each(m,function(a,c){b[c]&&l[c+"Class"](b[c])});"object"==typeof l.attr("style")?(l.attr("style").cssText="",l.attr("style").cssText=q):l.attr("style",q);h&&h.apply(this,arguments);a.dequeue(this)}})})};a.fn.extend({_addClass:a.fn.addClass,addClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this, -[{add:b},c,d,e]):this._addClass(b)},_removeClass:a.fn.removeClass,removeClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{remove:b},c,d,e]):this._removeClass(b)},_toggleClass:a.fn.toggleClass,toggleClass:function(b,d,e,f,g){return"boolean"==typeof d||d===c?e?a.effects.animateClass.apply(this,[d?{add:b}:{remove:b},e,f,g]):this._toggleClass(b,d):a.effects.animateClass.apply(this,[{toggle:b},d,e,f])},switchClass:function(b,c,d,e,f){return a.effects.animateClass.apply(this,[{add:c, -remove:b},d,e,f])}});a.extend(a.effects,{version:"1.8.16",save:function(a,b){for(var c=0;c").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e=document.activeElement;b.wrap(d);(b[0]===e||a.contains(b[0],e))&&a(e).focus();d=b.parent();"static"==b.css("position")? -(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d);isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"}));return d.css(c).show()},removeWrapper:function(b){var c,d=document.activeElement;return b.parent().is(".ui-effects-wrapper")?(c=b.parent().replaceWith(b),(b[0]===d||a.contains(b[0],d))&&a(d).focus(), -c):b},setTransition:function(b,c,d,e){e=e||{};a.each(c,function(a,c){unit=b.cssUnit(c);0(b/=e/2)?d/2*b*b+c:-d/2*(--b*(b-2)-1)+c},easeInCubic:function(a,b,c,d,e){return d*(b/=e)*b*b+c},easeOutCubic:function(a,b,c,d,e){return d*((b= -b/e-1)*b*b+1)+c},easeInOutCubic:function(a,b,c,d,e){return 1>(b/=e/2)?d/2*b*b*b+c:d/2*((b-=2)*b*b+2)+c},easeInQuart:function(a,b,c,d,e){return d*(b/=e)*b*b*b+c},easeOutQuart:function(a,b,c,d,e){return-d*((b=b/e-1)*b*b*b-1)+c},easeInOutQuart:function(a,b,c,d,e){return 1>(b/=e/2)?d/2*b*b*b*b+c:-d/2*((b-=2)*b*b*b-2)+c},easeInQuint:function(a,b,c,d,e){return d*(b/=e)*b*b*b*b+c},easeOutQuint:function(a,b,c,d,e){return d*((b=b/e-1)*b*b*b*b+1)+c},easeInOutQuint:function(a,b,c,d,e){return 1>(b/=e/2)?d/2* -b*b*b*b*b+c:d/2*((b-=2)*b*b*b*b+2)+c},easeInSine:function(a,b,c,d,e){return-d*Math.cos(b/e*(Math.PI/2))+d+c},easeOutSine:function(a,b,c,d,e){return d*Math.sin(b/e*(Math.PI/2))+c},easeInOutSine:function(a,b,c,d,e){return-d/2*(Math.cos(Math.PI*b/e)-1)+c},easeInExpo:function(a,b,c,d,e){return 0==b?c:d*Math.pow(2,10*(b/e-1))+c},easeOutExpo:function(a,b,c,d,e){return b==e?c+d:d*(-Math.pow(2,-10*b/e)+1)+c},easeInOutExpo:function(a,b,c,d,e){return 0==b?c:b==e?c+d:1>(b/=e/2)?d/2*Math.pow(2,10*(b-1))+c:d/ -2*(-Math.pow(2,-10*--b)+2)+c},easeInCirc:function(a,b,c,d,e){return-d*(Math.sqrt(1-(b/=e)*b)-1)+c},easeOutCirc:function(a,b,c,d,e){return d*Math.sqrt(1-(b=b/e-1)*b)+c},easeInOutCirc:function(a,b,c,d,e){return 1>(b/=e/2)?-d/2*(Math.sqrt(1-b*b)-1)+c:d/2*(Math.sqrt(1-(b-=2)*b)+1)+c},easeInElastic:function(a,b,c,d,e){var f=0,g=d;if(0==b)return c;if(1==(b/=e))return c+d;f||(f=0.3*e);gb?-0.5*g*Math.pow(2,10*(b-=1))*Math.sin(2*(b*e-a)*Math.PI/f)+c:g*Math.pow(2,-10*(b-=1))*Math.sin(2*(b*e- -a)*Math.PI/f)*0.5+d+c},easeInBack:function(a,b,d,e,f,g){g==c&&(g=1.70158);return e*(b/=f)*b*((g+1)*b-g)+d},easeOutBack:function(a,b,d,e,f,g){g==c&&(g=1.70158);return e*((b=b/f-1)*b*((g+1)*b+g)+1)+d},easeInOutBack:function(a,b,d,e,f,g){g==c&&(g=1.70158);return 1>(b/=f/2)?e/2*b*b*(((g*=1.525)+1)*b-g)+d:e/2*((b-=2)*b*(((g*=1.525)+1)*b+g)+2)+d},easeInBounce:function(b,c,d,e,f){return e-a.easing.easeOutBounce(b,f-c,0,e,f)+d},easeOutBounce:function(a,b,c,d,e){return(b/=e)<1/2.75?7.5625*d*b*b+c:b<2/2.75? -d*(7.5625*(b-=1.5/2.75)*b+0.75)+c:b<2.5/2.75?d*(7.5625*(b-=2.25/2.75)*b+0.9375)+c:d*(7.5625*(b-=2.625/2.75)*b+0.984375)+c},easeInOutBounce:function(b,c,d,e,f){return c").css({position:"absolute",visibility:"visible",left:h/e*-m,top:d/b*-l}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/e,height:d/b,left:f.left+h/e*m+("show"==c.options.mode?h/e*(m-Math.floor(e/2)):0),top:f.top+d/b*l+("show"==c.options.mode?d/b*(l-Math.floor(b/2)):0),opacity:"show"==c.options.mode?0:1}).animate({left:f.left+h/e*m+("show"==c.options.mode?0:h/e*(m-Math.floor(e/2))),top:f.top+d/b*l+("show"== -c.options.mode?0:d/b*(l-Math.floor(b/2))),opacity:"show"==c.options.mode?1:0},c.duration||500);setTimeout(function(){"show"==c.options.mode?g.css({visibility:"visible"}):g.css({visibility:"visible"}).hide();c.callback&&c.callback.apply(g[0]);g.dequeue();a("div.ui-effects-explode").remove()},c.duration||500)})}})(jQuery); -(function(a){a.effects.fade=function(c){return this.queue(function(){var b=a(this),e=a.effects.setMode(b,c.options.mode||"hide");b.animate({opacity:e},{queue:!1,duration:c.duration,easing:c.options.easing,complete:function(){c.callback&&c.callback.apply(this,arguments);b.dequeue()}})})}})(jQuery); -(function(a){a.effects.fold=function(c){return this.queue(function(){var b=a(this),e=["position","top","bottom","left","right"],g=a.effects.setMode(b,c.options.mode||"hide"),f=c.options.size||15,h=!!c.options.horizFirst,d=c.duration?c.duration/2:a.fx.speeds._default/2;a.effects.save(b,e);b.show();var l=a.effects.createWrapper(b).css({overflow:"hidden"}),m="show"==g!=h,q=m?["width","height"]:["height","width"],m=m?[l.width(),l.height()]:[l.height(),l.width()],r=/([0-9]+)%/.exec(f);r&&(f=parseInt(r[1], -10)/100*m["hide"==g?0:1]);"show"==g&&l.css(h?{height:0,width:f}:{height:f,width:0});h={};r={};h[q[0]]="show"==g?m[0]:f;r[q[1]]="show"==g?m[1]:0;l.animate(h,d,c.options.easing).animate(r,d,c.options.easing,function(){"hide"==g&&b.hide();a.effects.restore(b,e);a.effects.removeWrapper(b);c.callback&&c.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery); -(function(a){a.effects.highlight=function(c){return this.queue(function(){var b=a(this),e=["backgroundImage","backgroundColor","opacity"],g=a.effects.setMode(b,c.options.mode||"show"),f={backgroundColor:b.css("backgroundColor")};"hide"==g&&(f.opacity=0);a.effects.save(b,e);b.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:!1,duration:c.duration,easing:c.options.easing,complete:function(){"hide"==g&&b.hide();a.effects.restore(b,e);"show"==g&&!a.support.opacity&& -this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);b.dequeue()}})})}})(jQuery); -(function(a){a.effects.pulsate=function(c){return this.queue(function(){var b=a(this),e=a.effects.setMode(b,c.options.mode||"show");times=2*(c.options.times||5)-1;duration=c.duration?c.duration/2:a.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;isVisible||(b.css("opacity",0).show(),animateTo=1);("hide"==e&&isVisible||"show"==e&&!isVisible)&×--;for(e=0;e').appendTo(document.body).addClass(c.options.className).css({top:g.top,left:g.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(e,c.duration,c.options.easing,function(){f.remove();c.callback&&c.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery); -(function(a,c,b){function e(a,b,c){var d,e;d=a.attr("data-dk-dropdown-value");a=a.text();e=b.data("dropkick");$select=e.$select;$select.val(d);b.find(".dk_label").text(a);e.settings.change&&!c&&e.settings.change.call($select,d,a)}function g(a,b){b.find(".dk_option_current").removeClass("dk_option_current");a.addClass("dk_option_current");var c=a.prevAll("li").outerHeight()*a.prevAll("li").length;b.find(".dk_options_inner").animate({scrollTop:c+"px"},0)}function f(a){a.data("dropkick");a.find(".dk_options").css({top:a.find(".dk_toggle").outerHeight()- -1});a.toggleClass("dk_open")}function h(b,c){var e,f=[];e=b.replace("{{ id }}",c.id);e=e.replace("{{ label }}",c.label);e=e.replace("{{ tabindex }}",c.tabindex);if(c.options&&c.options.length)for(var g=0,h=c.options.length;ga.browser.version.substr(0,1)?l=!0:b.documentElement.className+=" dk_fouc";var m={},q=[],r='
  • {{ text }}
  • ',n={startSpeed:1E3,theme:!1,change:!1};m.init=function(b){b=a.extend({},n,b);return this.each(function(){var c=a(this),e=c.find(":selected").first(),f=c.find("option"),g=c.data("dropkick")||{},l=c.attr("id")||c.attr("name"),m=b.width||c.outerWidth(),r=c.attr("tabindex")?c.attr("tabindex"):"", -n=!1;if(g.id)return c;g.settings=b;g.tabindex=r;g.id=l;g.$original=e;g.$select=c;g.value=d(c.val())||d(e.attr("value"));g.label=e.text();g.options=f;n=h('',g);n.find(".dk_toggle").css({width:m+"px"});c.before(n);n=a("#dk_container_"+l).fadeIn(b.startSpeed);e=b.theme?b.theme:"default";n.addClass("dk_theme_"+ -e);g.theme=e;g.$dk=n;c.data("dropkick",g);n.data("dropkick",g);q[q.length]=c;n.bind("focus.dropkick",function(a){n.addClass("dk_focus")}).bind("blur.dropkick",function(a){n.removeClass("dk_open dk_focus")});setTimeout(function(){c.hide()},0)})};m.theme=function(b){var c=a(this).data("dropkick");c.$dk.removeClass("dk_theme_"+c.theme).addClass("dk_theme_"+b);c.theme=b};m.reset=function(){for(var a=0,b=q.length;af&&(f="0"+f);10>h&&(h="0"+h);10>c&&(c="0"+c);10>l&&(l="0"+l);10>m&&(m="0"+m);100>b&&(b="0"+b);10>b&&(b="0"+b);return'"'+d+"-"+f+"-"+h+"T"+c+":"+l+":"+m+"."+b+'Z"'}if(b.constructor===Array){f=[];for(h=0;h=this.fromRow&&a<=this.toRow&&b>=this.fromCell&&b<=this.toCell};this.toString=function(){return this.isSingleCell()?"("+this.fromRow+":"+this.fromCell+")":"("+this.fromRow+":"+this.fromCell+" - "+this.toRow+":"+this.toCell+")"}},NonDataRow:b,Group:e,GroupTotals:g,EditorLock:f,GlobalEditorLock:new f}}); -e.prototype=new b;e.prototype.equals=function(a){return this.value===a.value&&this.count===a.count&&this.collapsed===a.collapsed&&this.title===a.title};g.prototype=new b})(jQuery); -(function(a){a.extend(!0,window,{Slick:{Editors:{Text:function(c){var b,e;this.init=function(){b=a("").appendTo(c.container).bind("keydown.nav",function(b){b.keyCode!==a.ui.keyCode.LEFT&&b.keyCode!==a.ui.keyCode.RIGHT||b.stopImmediatePropagation()}).focus().select()};this.destroy=function(){b.remove()};this.focus=function(){b.focus()};this.getValue=function(){return b.val()};this.setValue=function(a){b.val(a)};this.loadValue=function(a){e=a[c.column.field]|| -"";b.val(e);b[0].defaultValue=e;b.select()};this.serializeValue=function(){return b.val()};this.applyValue=function(a,b){a[c.column.field]=b};this.isValueChanged=function(){return!(""==b.val()&&null==e)&&b.val()!=e};this.validate=function(){if(c.column.validator){var a=c.column.validator(b.val());if(!a.valid)return a}return{valid:!0,msg:null}};this.init()},Integer:function(c){var b,e;this.init=function(){b=a("");b.bind("keydown.nav",function(b){b.keyCode!==a.ui.keyCode.LEFT&& -b.keyCode!==a.ui.keyCode.RIGHT||b.stopImmediatePropagation()});b.appendTo(c.container);b.focus().select()};this.destroy=function(){b.remove()};this.focus=function(){b.focus()};this.loadValue=function(a){e=a[c.column.field];b.val(e);b[0].defaultValue=e;b.select()};this.serializeValue=function(){return parseInt(b.val(),10)||0};this.applyValue=function(a,b){a[c.column.field]=b};this.isValueChanged=function(){return!(""==b.val()&&null==e)&&b.val()!=e};this.validate=function(){return isNaN(b.val())?{valid:!1, -msg:"Please enter a valid integer"}:{valid:!0,msg:null}};this.init()},Date:function(c){var b,e,g=!1;this.init=function(){b=a("");b.appendTo(c.container);b.focus().select();b.datepicker({showOn:"button",buttonImageOnly:!0,buttonImage:"../images/calendar.gif",beforeShow:function(){g=!0},onClose:function(){g=!1},dateFormat:"dd/mm/yy"});b.width(b.width()-18)};this.destroy=function(){a.datepicker.dpDiv.stop(!0,!0);b.datepicker("hide");b.datepicker("destroy");b.remove()}; -this.show=function(){g&&a.datepicker.dpDiv.stop(!0,!0).show()};this.hide=function(){g&&a.datepicker.dpDiv.stop(!0,!0).hide()};this.position=function(b){g&&a.datepicker.dpDiv.css("top",b.top+30).css("left",b.left)};this.focus=function(){b.focus()};this.loadValue=function(a){e=a[c.column.field];b.val(e);b[0].defaultValue=e;b.select()};this.serializeValue=function(){return b.val()};this.applyValue=function(a,b){a[c.column.field]=b};this.isValueChanged=function(){return!(""==b.val()&&null==e)&&b.val()!= -e};this.validate=function(){return{valid:!0,msg:null}};this.init()},YesNoSelect:function(c){var b,e;this.init=function(){b=a("");b.appendTo(c.container);b.focus()};this.destroy=function(){b.remove()};this.focus=function(){b.focus()};this.loadValue=function(a){b.val((e=a[c.column.field])?"yes":"no");b.select()};this.serializeValue=function(){return"yes"==b.val()};this.applyValue=function(a, -b){a[c.column.field]=b};this.isValueChanged=function(){return b.val()!=e};this.validate=function(){return{valid:!0,msg:null}};this.init()},Checkbox:function(c){var b,e;this.init=function(){b=a("");b.appendTo(c.container);b.focus()};this.destroy=function(){b.remove()};this.focus=function(){b.focus()};this.loadValue=function(a){(e=!!a[c.column.field])?b.prop("checked",!0):b.prop("checked",!1)};this.serializeValue=function(){return b.prop("checked")}; -this.applyValue=function(a,b){a[c.column.field]=b};this.isValueChanged=function(){return this.serializeValue()!==e};this.validate=function(){return{valid:!0,msg:null}};this.init()},PercentComplete:function(c){var b,e,g;this.init=function(){b=a("");b.width(a(c.container).innerWidth()-25);b.appendTo(c.container);e=a("
    ").appendTo(c.container);e.append("
    "); -e.find(".editor-percentcomplete-buttons").append("

    ");b.focus().select();e.find(".editor-percentcomplete-slider").slider({orientation:"vertical",range:"min",value:g,slide:function(a,c){b.val(c.value)}});e.find(".editor-percentcomplete-buttons button").bind("click",function(c){b.val(a(this).attr("val"));e.find(".editor-percentcomplete-slider").slider("value",a(this).attr("val"))})};this.destroy= -function(){b.remove();e.remove()};this.focus=function(){b.focus()};this.loadValue=function(a){b.val(g=a[c.column.field]);b.select()};this.serializeValue=function(){return parseInt(b.val(),10)||0};this.applyValue=function(a,b){a[c.column.field]=b};this.isValueChanged=function(){return!(""==b.val()&&null==g)&&(parseInt(b.val(),10)||0)!=g};this.validate=function(){return isNaN(parseInt(b.val(),10))?{valid:!1,msg:"Please enter a valid positive number"}:{valid:!0,msg:null}};this.init()},LongText:function(c){var b, -e,g,f=this;this.init=function(){var g=a("body");e=a("
    ").appendTo(g);b=a("